1 /*
2 
3 Copyright (c) 2010 - 2024, Nordic Semiconductor ASA All rights reserved.
4 
5 SPDX-License-Identifier: BSD-3-Clause
6 
7 Redistribution and use in source and binary forms, with or without
8 modification, are permitted provided that the following conditions are met:
9 
10 1. Redistributions of source code must retain the above copyright notice, this
11    list of conditions and the following disclaimer.
12 
13 2. Redistributions in binary form must reproduce the above copyright
14    notice, this list of conditions and the following disclaimer in the
15    documentation and/or other materials provided with the distribution.
16 
17 3. Neither the name of Nordic Semiconductor ASA nor the names of its
18    contributors may be used to endorse or promote products derived from this
19    software without specific prior written permission.
20 
21 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
22 AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23 IMPLIED WARRANTIES OF MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE
24 ARE DISCLAIMED. IN NO EVENT SHALL NORDIC SEMICONDUCTOR ASA OR CONTRIBUTORS BE
25 LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
26 CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
27 SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
28 INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
29 CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
30 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
31 POSSIBILITY OF SUCH DAMAGE.
32 
33 */
34 
35 #ifndef NRF54H20_ENGA_APPLICATION_H
36 #define NRF54H20_ENGA_APPLICATION_H
37 
38 #ifdef __cplusplus
39     extern "C" {
40 #endif
41 
42 
43 #ifdef NRF_APPLICATION                               /*!< Processor information is domain local.                               */
44 
45 
46 /* =========================================================================================================================== */
47 /* ================                                Interrupt Number Definition                                ================ */
48 /* =========================================================================================================================== */
49 
50 typedef enum {
51 /* ===================================================== Core Interrupts ===================================================== */
52   Reset_IRQn                             = -15,      /*!< -15 Reset Vector, invoked on Power up and warm reset                 */
53   NonMaskableInt_IRQn                    = -14,      /*!< -14 Non maskable Interrupt, cannot be stopped or preempted           */
54   HardFault_IRQn                         = -13,      /*!< -13 Hard Fault, all classes of Fault                                 */
55   MemoryManagement_IRQn                  = -12,      /*!< -12 Memory Management, MPU mismatch, including Access Violation and No
56                                                           Match*/
57   BusFault_IRQn                          = -11,      /*!< -11 Bus Fault, Pre-Fetch-, Memory Access Fault, other address/memory
58                                                           related Fault*/
59   UsageFault_IRQn                        = -10,      /*!< -10 Usage Fault, i.e. Undef Instruction, Illegal State Transition    */
60   SecureFault_IRQn                       = -9,       /*!<  -9 Secure Fault Handler                                             */
61   SVCall_IRQn                            = -5,       /*!<  -5 System Service Call via SVC instruction                          */
62   DebugMonitor_IRQn                      = -4,       /*!<  -4 Debug Monitor                                                    */
63   PendSV_IRQn                            = -2,       /*!<  -2 Pendable request for system service                              */
64   SysTick_IRQn                           = -1,       /*!<  -1 System Tick Timer                                                */
65 /* ============================================== Processor Specific Interrupts ============================================== */
66   SPU000_IRQn                            = 0,        /*!< 0 SPU000                                                             */
67   MPC_IRQn                               = 1,        /*!< 1 MPC                                                                */
68   MVDMA_IRQn                             = 3,        /*!< 3 MVDMA                                                              */
69   SPU010_IRQn                            = 16,       /*!< 16 SPU010                                                            */
70   WDT010_IRQn                            = 20,       /*!< 20 WDT010                                                            */
71   WDT011_IRQn                            = 21,       /*!< 21 WDT011                                                            */
72   IPCT_0_IRQn                            = 64,       /*!< 64 IPCT_0                                                            */
73   IPCT_1_IRQn                            = 65,       /*!< 65 IPCT_1                                                            */
74   BELLBOARD_0_IRQn                       = 96,       /*!< 96 BELLBOARD_0                                                       */
75   BELLBOARD_1_IRQn                       = 97,       /*!< 97 BELLBOARD_1                                                       */
76   BELLBOARD_2_IRQn                       = 98,       /*!< 98 BELLBOARD_2                                                       */
77   BELLBOARD_3_IRQn                       = 99,       /*!< 99 BELLBOARD_3                                                       */
78   GPIOTE130_0_IRQn                       = 104,      /*!< 104 GPIOTE130_0                                                      */
79   GPIOTE130_1_IRQn                       = 105,      /*!< 105 GPIOTE130_1                                                      */
80   GRTC_0_IRQn                            = 108,      /*!< 108 GRTC_0                                                           */
81   GRTC_1_IRQn                            = 109,      /*!< 109 GRTC_1                                                           */
82   TBM_IRQn                               = 127,      /*!< 127 TBM                                                              */
83   USBHS_IRQn                             = 134,      /*!< 134 USBHS                                                            */
84   EXMIF_IRQn                             = 149,      /*!< 149 EXMIF                                                            */
85   IPCT120_0_IRQn                         = 209,      /*!< 209 IPCT120_0                                                        */
86   I3C120_IRQn                            = 211,      /*!< 211 I3C120                                                           */
87   VPR121_IRQn                            = 212,      /*!< 212 VPR121                                                           */
88   CAN_IRQn                               = 216,      /*!< 216 CAN                                                              */
89   I3C121_IRQn                            = 222,      /*!< 222 I3C121                                                           */
90   TIMER120_IRQn                          = 226,      /*!< 226 TIMER120                                                         */
91   TIMER121_IRQn                          = 227,      /*!< 227 TIMER121                                                         */
92   PWM120_IRQn                            = 228,      /*!< 228 PWM120                                                           */
93   SPIS120_UARTE120_IRQn                  = 229,      /*!< 229 SPIS120_UARTE120                                                 */
94   SPIM120_IRQn                           = 230,      /*!< 230 SPIM120                                                          */
95   SPIM121_IRQn                           = 231,      /*!< 231 SPIM121                                                          */
96   VPR130_IRQn                            = 264,      /*!< 264 VPR130                                                           */
97   IPCT130_0_IRQn                         = 289,      /*!< 289 IPCT130_0                                                        */
98   RTC130_IRQn                            = 296,      /*!< 296 RTC130                                                           */
99   RTC131_IRQn                            = 297,      /*!< 297 RTC131                                                           */
100   WDT131_IRQn                            = 299,      /*!< 299 WDT131                                                           */
101   WDT132_IRQn                            = 300,      /*!< 300 WDT132                                                           */
102   SAADC_IRQn                             = 386,      /*!< 386 SAADC                                                            */
103   COMP_LPCOMP_IRQn                       = 387,      /*!< 387 COMP_LPCOMP                                                      */
104   TEMP_IRQn                              = 388,      /*!< 388 TEMP                                                             */
105   NFCT_IRQn                              = 389,      /*!< 389 NFCT                                                             */
106   I2S130_IRQn                            = 402,      /*!< 402 I2S130                                                           */
107   PDM_IRQn                               = 403,      /*!< 403 PDM                                                              */
108   QDEC130_IRQn                           = 404,      /*!< 404 QDEC130                                                          */
109   QDEC131_IRQn                           = 405,      /*!< 405 QDEC131                                                          */
110   I2S131_IRQn                            = 407,      /*!< 407 I2S131                                                           */
111   TIMER130_IRQn                          = 418,      /*!< 418 TIMER130                                                         */
112   TIMER131_IRQn                          = 419,      /*!< 419 TIMER131                                                         */
113   PWM130_IRQn                            = 420,      /*!< 420 PWM130                                                           */
114   SERIAL0_IRQn                           = 421,      /*!< 421 SERIAL0                                                          */
115   SERIAL1_IRQn                           = 422,      /*!< 422 SERIAL1                                                          */
116   TIMER132_IRQn                          = 434,      /*!< 434 TIMER132                                                         */
117   TIMER133_IRQn                          = 435,      /*!< 435 TIMER133                                                         */
118   PWM131_IRQn                            = 436,      /*!< 436 PWM131                                                           */
119   SERIAL2_IRQn                           = 437,      /*!< 437 SERIAL2                                                          */
120   SERIAL3_IRQn                           = 438,      /*!< 438 SERIAL3                                                          */
121   TIMER134_IRQn                          = 450,      /*!< 450 TIMER134                                                         */
122   TIMER135_IRQn                          = 451,      /*!< 451 TIMER135                                                         */
123   PWM132_IRQn                            = 452,      /*!< 452 PWM132                                                           */
124   SERIAL4_IRQn                           = 453,      /*!< 453 SERIAL4                                                          */
125   SERIAL5_IRQn                           = 454,      /*!< 454 SERIAL5                                                          */
126   TIMER136_IRQn                          = 466,      /*!< 466 TIMER136                                                         */
127   TIMER137_IRQn                          = 467,      /*!< 467 TIMER137                                                         */
128   PWM133_IRQn                            = 468,      /*!< 468 PWM133                                                           */
129   SERIAL6_IRQn                           = 469,      /*!< 469 SERIAL6                                                          */
130   SERIAL7_IRQn                           = 470,      /*!< 470 SERIAL7                                                          */
131 } IRQn_Type;
132 
133 /* ==================================================== Interrupt Aliases ==================================================== */
134 #define SPIS120_IRQn                  SPIS120_UARTE120_IRQn
135 #define SPIS120_IRQHandler            SPIS120_UARTE120_IRQHandler
136 #define UARTE120_IRQn                 SPIS120_UARTE120_IRQn
137 #define UARTE120_IRQHandler           SPIS120_UARTE120_IRQHandler
138 #define COMP_IRQn                     COMP_LPCOMP_IRQn
139 #define COMP_IRQHandler               COMP_LPCOMP_IRQHandler
140 #define LPCOMP_IRQn                   COMP_LPCOMP_IRQn
141 #define LPCOMP_IRQHandler             COMP_LPCOMP_IRQHandler
142 #define SPIM130_IRQn                  SERIAL0_IRQn
143 #define SPIM130_IRQHandler            SERIAL0_IRQHandler
144 #define SPIS130_IRQn                  SERIAL0_IRQn
145 #define SPIS130_IRQHandler            SERIAL0_IRQHandler
146 #define TWIM130_IRQn                  SERIAL0_IRQn
147 #define TWIM130_IRQHandler            SERIAL0_IRQHandler
148 #define TWIS130_IRQn                  SERIAL0_IRQn
149 #define TWIS130_IRQHandler            SERIAL0_IRQHandler
150 #define UARTE130_IRQn                 SERIAL0_IRQn
151 #define UARTE130_IRQHandler           SERIAL0_IRQHandler
152 #define SPIM131_IRQn                  SERIAL1_IRQn
153 #define SPIM131_IRQHandler            SERIAL1_IRQHandler
154 #define SPIS131_IRQn                  SERIAL1_IRQn
155 #define SPIS131_IRQHandler            SERIAL1_IRQHandler
156 #define TWIM131_IRQn                  SERIAL1_IRQn
157 #define TWIM131_IRQHandler            SERIAL1_IRQHandler
158 #define TWIS131_IRQn                  SERIAL1_IRQn
159 #define TWIS131_IRQHandler            SERIAL1_IRQHandler
160 #define UARTE131_IRQn                 SERIAL1_IRQn
161 #define UARTE131_IRQHandler           SERIAL1_IRQHandler
162 #define SPIM132_IRQn                  SERIAL2_IRQn
163 #define SPIM132_IRQHandler            SERIAL2_IRQHandler
164 #define SPIS132_IRQn                  SERIAL2_IRQn
165 #define SPIS132_IRQHandler            SERIAL2_IRQHandler
166 #define TWIM132_IRQn                  SERIAL2_IRQn
167 #define TWIM132_IRQHandler            SERIAL2_IRQHandler
168 #define TWIS132_IRQn                  SERIAL2_IRQn
169 #define TWIS132_IRQHandler            SERIAL2_IRQHandler
170 #define UARTE132_IRQn                 SERIAL2_IRQn
171 #define UARTE132_IRQHandler           SERIAL2_IRQHandler
172 #define SPIM133_IRQn                  SERIAL3_IRQn
173 #define SPIM133_IRQHandler            SERIAL3_IRQHandler
174 #define SPIS133_IRQn                  SERIAL3_IRQn
175 #define SPIS133_IRQHandler            SERIAL3_IRQHandler
176 #define TWIM133_IRQn                  SERIAL3_IRQn
177 #define TWIM133_IRQHandler            SERIAL3_IRQHandler
178 #define TWIS133_IRQn                  SERIAL3_IRQn
179 #define TWIS133_IRQHandler            SERIAL3_IRQHandler
180 #define UARTE133_IRQn                 SERIAL3_IRQn
181 #define UARTE133_IRQHandler           SERIAL3_IRQHandler
182 #define SPIM134_IRQn                  SERIAL4_IRQn
183 #define SPIM134_IRQHandler            SERIAL4_IRQHandler
184 #define SPIS134_IRQn                  SERIAL4_IRQn
185 #define SPIS134_IRQHandler            SERIAL4_IRQHandler
186 #define TWIM134_IRQn                  SERIAL4_IRQn
187 #define TWIM134_IRQHandler            SERIAL4_IRQHandler
188 #define TWIS134_IRQn                  SERIAL4_IRQn
189 #define TWIS134_IRQHandler            SERIAL4_IRQHandler
190 #define UARTE134_IRQn                 SERIAL4_IRQn
191 #define UARTE134_IRQHandler           SERIAL4_IRQHandler
192 #define SPIM135_IRQn                  SERIAL5_IRQn
193 #define SPIM135_IRQHandler            SERIAL5_IRQHandler
194 #define SPIS135_IRQn                  SERIAL5_IRQn
195 #define SPIS135_IRQHandler            SERIAL5_IRQHandler
196 #define TWIM135_IRQn                  SERIAL5_IRQn
197 #define TWIM135_IRQHandler            SERIAL5_IRQHandler
198 #define TWIS135_IRQn                  SERIAL5_IRQn
199 #define TWIS135_IRQHandler            SERIAL5_IRQHandler
200 #define UARTE135_IRQn                 SERIAL5_IRQn
201 #define UARTE135_IRQHandler           SERIAL5_IRQHandler
202 #define SPIM136_IRQn                  SERIAL6_IRQn
203 #define SPIM136_IRQHandler            SERIAL6_IRQHandler
204 #define SPIS136_IRQn                  SERIAL6_IRQn
205 #define SPIS136_IRQHandler            SERIAL6_IRQHandler
206 #define TWIM136_IRQn                  SERIAL6_IRQn
207 #define TWIM136_IRQHandler            SERIAL6_IRQHandler
208 #define TWIS136_IRQn                  SERIAL6_IRQn
209 #define TWIS136_IRQHandler            SERIAL6_IRQHandler
210 #define UARTE136_IRQn                 SERIAL6_IRQn
211 #define UARTE136_IRQHandler           SERIAL6_IRQHandler
212 #define SPIM137_IRQn                  SERIAL7_IRQn
213 #define SPIM137_IRQHandler            SERIAL7_IRQHandler
214 #define SPIS137_IRQn                  SERIAL7_IRQn
215 #define SPIS137_IRQHandler            SERIAL7_IRQHandler
216 #define TWIM137_IRQn                  SERIAL7_IRQn
217 #define TWIM137_IRQHandler            SERIAL7_IRQHandler
218 #define TWIS137_IRQn                  SERIAL7_IRQn
219 #define TWIS137_IRQHandler            SERIAL7_IRQHandler
220 #define UARTE137_IRQn                 SERIAL7_IRQn
221 #define UARTE137_IRQHandler           SERIAL7_IRQHandler
222 
223 /* =========================================================================================================================== */
224 /* ================                           Processor and Core Peripheral Section                           ================ */
225 /* =========================================================================================================================== */
226 
227 /* =========================== Configuration of the ARM Cortex-M33 Processor and Core Peripherals ============================ */
228 #define __CM33_REV                  r0p4             /*!< CM33 Core Revision                                                   */
229 #define __DSP_PRESENT                  1             /*!< DSP present or not                                                   */
230 #define __NVIC_PRIO_BITS               3             /*!< Number of Bits used for Priority Levels                              */
231 #define __VTOR_PRESENT                 1             /*!< CPU supports alternate Vector Table address                          */
232 #define __MPU_PRESENT                  1             /*!< MPU present                                                          */
233 #define __FPU_PRESENT                  1             /*!< FPU present                                                          */
234 #define __FPU_DP                       0             /*!< Double Precision FPU                                                 */
235 #define __INTERRUPTS_MAX             480             /*!< Size of interrupt vector table                                       */
236 #define __Vendor_SysTickConfig         0             /*!< Vendor SysTick Config implementation is used                         */
237 #define __SAUREGION_PRESENT            1             /*!< SAU present                                                          */
238 #define __NUM_SAUREGIONS               4             /*!< Number of regions                                                    */
239 
240 #include "core_cm33.h"                               /*!< ARM Cortex-M33 processor and core peripherals                        */
241 #include "system_nrf.h"                              /*!< nrf54h20_enga_application System Library                             */
242 
243 #endif                                               /*!< NRF_APPLICATION                                                      */
244 
245 
246 #ifdef NRF_APPLICATION
247 
248   #define NRF_DOMAIN                    NRF_DOMAIN_APPLICATION
249   #define NRF_PROCESSOR                 NRF_PROCESSOR_APPLICATION
250   #define NRF_OWNER                     NRF_OWNER_APPLICATION
251 
252 #endif                                               /*!< NRF_APPLICATION                                                      */
253 
254 
255 /* ========================================= Start of section using anonymous unions ========================================= */
256 
257 #include "compiler_abstraction.h"
258 
259 #if defined (__CC_ARM)
260   #pragma push
261   #pragma anon_unions
262 #elif defined (__ICCARM__)
263   #pragma language=extended
264 #elif defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050)
265   #pragma clang diagnostic push
266   #pragma clang diagnostic ignored "-Wc11-extensions"
267   #pragma clang diagnostic ignored "-Wreserved-id-macro"
268   #pragma clang diagnostic ignored "-Wgnu-anonymous-struct"
269   #pragma clang diagnostic ignored "-Wnested-anon-types"
270 #elif defined (__GNUC__)
271   /* anonymous unions are enabled by default */
272 #elif defined (__TMS470__)
273   /* anonymous unions are enabled by default */
274 #elif defined (__TASKING__)
275   #pragma warning 586
276 #elif defined (__CSMC__)
277   /* anonymous unions are enabled by default */
278 #else
279   #warning Unsupported compiler type
280 #endif
281 
282 /* =========================================================================================================================== */
283 /* ================                                  Peripheral Address Map                                  ================ */
284 /* =========================================================================================================================== */
285 
286 #define NRF_APPLICATION_UICR_NS_BASE      0x0FFF8000UL
287 #define NRF_APPLICATION_BICR_NS_BASE      0x0FFF87B0UL
288 #define NRF_APPLICATION_ICACHEDATA_S_BASE 0x12F00000UL
289 #define NRF_APPLICATION_ICACHEINFO_S_BASE 0x12F10000UL
290 #define NRF_APPLICATION_DCACHEDATA_S_BASE 0x32F00000UL
291 #define NRF_APPLICATION_DCACHEINFO_S_BASE 0x32F10000UL
292 #define NRF_APPLICATION_ETM_NS_BASE       0xE0041000UL
293 #define NRF_APPLICATION_CTI_S_BASE        0xE0042000UL
294 #define NRF_APPLICATION_CPUC_S_BASE       0xE0080000UL
295 #define NRF_APPLICATION_ICACHE_S_BASE     0xE0082000UL
296 #define NRF_APPLICATION_DCACHE_S_BASE     0xE0083000UL
297 #define NRF_APPLICATION_SPU000_S_BASE     0x52000000UL
298 #define NRF_APPLICATION_MPC_S_BASE        0x52001000UL
299 #define NRF_APPLICATION_MVDMA_NS_BASE     0x42003000UL
300 #define NRF_APPLICATION_MVDMA_S_BASE      0x52003000UL
301 #define NRF_APPLICATION_RAMC_NS_BASE      0x42004000UL
302 #define NRF_APPLICATION_RAMC_S_BASE       0x52004000UL
303 #define NRF_APPLICATION_HSFLL_S_BASE      0x5200D000UL
304 #define NRF_APPLICATION_LRCCONF000_S_BASE 0x5200E000UL
305 #define NRF_APPLICATION_SPU010_S_BASE     0x52010000UL
306 #define NRF_APPLICATION_MEMCONF_NS_BASE   0x42012000UL
307 #define NRF_APPLICATION_MEMCONF_S_BASE    0x52012000UL
308 #define NRF_APPLICATION_WDT010_NS_BASE    0x42014000UL
309 #define NRF_APPLICATION_WDT010_S_BASE     0x52014000UL
310 #define NRF_APPLICATION_WDT011_NS_BASE    0x42015000UL
311 #define NRF_APPLICATION_WDT011_S_BASE     0x52015000UL
312 #define NRF_APPLICATION_ABB_S_BASE        0x5201C000UL
313 #define NRF_APPLICATION_LRCCONF010_S_BASE 0x5201E000UL
314 #define NRF_APPLICATION_RESETINFO_S_BASE  0x5201E000UL
315 #define NRF_APPLICATION_IPCT_NS_BASE      0x42013000UL
316 #define NRF_APPLICATION_IPCT_S_BASE       0x52013000UL
317 #define NRF_APPLICATION_BELLBOARD_NS_BASE 0x4F09A000UL
318 #define NRF_APPLICATION_BELLBOARD_S_BASE  0x5F09A000UL
319 
320 /* =========================================================================================================================== */
321 /* ================                                  Peripheral Declaration                                  ================ */
322 /* =========================================================================================================================== */
323 
324 #define NRF_APPLICATION_UICR_NS           ((NRF_UICR_Type*)                     NRF_APPLICATION_UICR_NS_BASE)
325 #define NRF_APPLICATION_BICR_NS           ((NRF_BICR_Type*)                     NRF_APPLICATION_BICR_NS_BASE)
326 #define NRF_APPLICATION_ICACHEDATA_S      ((NRF_CACHEDATA_Type*)                NRF_APPLICATION_ICACHEDATA_S_BASE)
327 #define NRF_APPLICATION_ICACHEINFO_S      ((NRF_CACHEINFO_Type*)                NRF_APPLICATION_ICACHEINFO_S_BASE)
328 #define NRF_APPLICATION_DCACHEDATA_S      ((NRF_CACHEDATA_Type*)                NRF_APPLICATION_DCACHEDATA_S_BASE)
329 #define NRF_APPLICATION_DCACHEINFO_S      ((NRF_CACHEINFO_Type*)                NRF_APPLICATION_DCACHEINFO_S_BASE)
330 #define NRF_APPLICATION_ETM_NS            ((NRF_ETM_Type*)                      NRF_APPLICATION_ETM_NS_BASE)
331 #define NRF_APPLICATION_CTI_S             ((NRF_CTI_Type*)                      NRF_APPLICATION_CTI_S_BASE)
332 #define NRF_APPLICATION_CPUC_S            ((NRF_CM33SS_Type*)                   NRF_APPLICATION_CPUC_S_BASE)
333 #define NRF_APPLICATION_ICACHE_S          ((NRF_CACHE_Type*)                    NRF_APPLICATION_ICACHE_S_BASE)
334 #define NRF_APPLICATION_DCACHE_S          ((NRF_CACHE_Type*)                    NRF_APPLICATION_DCACHE_S_BASE)
335 #define NRF_APPLICATION_SPU000_S          ((NRF_SPU_Type*)                      NRF_APPLICATION_SPU000_S_BASE)
336 #define NRF_APPLICATION_MPC_S             ((NRF_MPC_Type*)                      NRF_APPLICATION_MPC_S_BASE)
337 #define NRF_APPLICATION_MVDMA_NS          ((NRF_MVDMA_Type*)                    NRF_APPLICATION_MVDMA_NS_BASE)
338 #define NRF_APPLICATION_MVDMA_S           ((NRF_MVDMA_Type*)                    NRF_APPLICATION_MVDMA_S_BASE)
339 #define NRF_APPLICATION_RAMC_NS           ((NRF_RAMC_Type*)                     NRF_APPLICATION_RAMC_NS_BASE)
340 #define NRF_APPLICATION_RAMC_S            ((NRF_RAMC_Type*)                     NRF_APPLICATION_RAMC_S_BASE)
341 #define NRF_APPLICATION_HSFLL_S           ((NRF_HSFLL_Type*)                    NRF_APPLICATION_HSFLL_S_BASE)
342 #define NRF_APPLICATION_LRCCONF000_S      ((NRF_LRCCONF_Type*)                  NRF_APPLICATION_LRCCONF000_S_BASE)
343 #define NRF_APPLICATION_SPU010_S          ((NRF_SPU_Type*)                      NRF_APPLICATION_SPU010_S_BASE)
344 #define NRF_APPLICATION_MEMCONF_NS        ((NRF_MEMCONF_Type*)                  NRF_APPLICATION_MEMCONF_NS_BASE)
345 #define NRF_APPLICATION_MEMCONF_S         ((NRF_MEMCONF_Type*)                  NRF_APPLICATION_MEMCONF_S_BASE)
346 #define NRF_APPLICATION_WDT010_NS         ((NRF_WDT_Type*)                      NRF_APPLICATION_WDT010_NS_BASE)
347 #define NRF_APPLICATION_WDT010_S          ((NRF_WDT_Type*)                      NRF_APPLICATION_WDT010_S_BASE)
348 #define NRF_APPLICATION_WDT011_NS         ((NRF_WDT_Type*)                      NRF_APPLICATION_WDT011_NS_BASE)
349 #define NRF_APPLICATION_WDT011_S          ((NRF_WDT_Type*)                      NRF_APPLICATION_WDT011_S_BASE)
350 #define NRF_APPLICATION_ABB_S             ((NRF_ABB_Type*)                      NRF_APPLICATION_ABB_S_BASE)
351 #define NRF_APPLICATION_LRCCONF010_S      ((NRF_LRCCONF_Type*)                  NRF_APPLICATION_LRCCONF010_S_BASE)
352 #define NRF_APPLICATION_RESETINFO_S       ((NRF_RESETINFO_Type*)                NRF_APPLICATION_RESETINFO_S_BASE)
353 #define NRF_APPLICATION_IPCT_NS           ((NRF_IPCT_Type*)                     NRF_APPLICATION_IPCT_NS_BASE)
354 #define NRF_APPLICATION_IPCT_S            ((NRF_IPCT_Type*)                     NRF_APPLICATION_IPCT_S_BASE)
355 #define NRF_APPLICATION_BELLBOARD_NS      ((NRF_BELLBOARD_Type*)                NRF_APPLICATION_BELLBOARD_NS_BASE)
356 #define NRF_APPLICATION_BELLBOARD_S       ((NRF_BELLBOARD_Type*)                NRF_APPLICATION_BELLBOARD_S_BASE)
357 
358 /* =========================================================================================================================== */
359 /* ================                                    TrustZone Remapping                                    ================ */
360 /* =========================================================================================================================== */
361 
362 #ifdef NRF_TRUSTZONE_NONSECURE                       /*!< Remap NRF_X_NS instances to NRF_X symbol for ease of use.            */
363   #define NRF_APPLICATION_UICR                    NRF_APPLICATION_UICR_NS
364   #define NRF_APPLICATION_BICR                    NRF_APPLICATION_BICR_NS
365   #define NRF_APPLICATION_ETM                     NRF_APPLICATION_ETM_NS
366   #define NRF_APPLICATION_MVDMA                   NRF_APPLICATION_MVDMA_NS
367   #define NRF_APPLICATION_RAMC                    NRF_APPLICATION_RAMC_NS
368   #define NRF_APPLICATION_MEMCONF                 NRF_APPLICATION_MEMCONF_NS
369   #define NRF_APPLICATION_WDT010                  NRF_APPLICATION_WDT010_NS
370   #define NRF_APPLICATION_WDT011                  NRF_APPLICATION_WDT011_NS
371   #define NRF_APPLICATION_IPCT                    NRF_APPLICATION_IPCT_NS
372   #define NRF_APPLICATION_BELLBOARD               NRF_APPLICATION_BELLBOARD_NS
373 #else                                                /*!< Remap NRF_X_S instances to NRF_X symbol for ease of use.             */
374   #define NRF_APPLICATION_UICR                    NRF_APPLICATION_UICR_NS
375   #define NRF_APPLICATION_BICR                    NRF_APPLICATION_BICR_NS
376   #define NRF_APPLICATION_ICACHEDATA              NRF_APPLICATION_ICACHEDATA_S
377   #define NRF_APPLICATION_ICACHEINFO              NRF_APPLICATION_ICACHEINFO_S
378   #define NRF_APPLICATION_DCACHEDATA              NRF_APPLICATION_DCACHEDATA_S
379   #define NRF_APPLICATION_DCACHEINFO              NRF_APPLICATION_DCACHEINFO_S
380   #define NRF_APPLICATION_ETM                     NRF_APPLICATION_ETM_NS
381   #define NRF_APPLICATION_CTI                     NRF_APPLICATION_CTI_S
382   #define NRF_APPLICATION_CPUC                    NRF_APPLICATION_CPUC_S
383   #define NRF_APPLICATION_ICACHE                  NRF_APPLICATION_ICACHE_S
384   #define NRF_APPLICATION_DCACHE                  NRF_APPLICATION_DCACHE_S
385   #define NRF_APPLICATION_SPU000                  NRF_APPLICATION_SPU000_S
386   #define NRF_APPLICATION_MPC                     NRF_APPLICATION_MPC_S
387   #define NRF_APPLICATION_MVDMA                   NRF_APPLICATION_MVDMA_S
388   #define NRF_APPLICATION_RAMC                    NRF_APPLICATION_RAMC_S
389   #define NRF_APPLICATION_HSFLL                   NRF_APPLICATION_HSFLL_S
390   #define NRF_APPLICATION_LRCCONF000              NRF_APPLICATION_LRCCONF000_S
391   #define NRF_APPLICATION_SPU010                  NRF_APPLICATION_SPU010_S
392   #define NRF_APPLICATION_MEMCONF                 NRF_APPLICATION_MEMCONF_S
393   #define NRF_APPLICATION_WDT010                  NRF_APPLICATION_WDT010_S
394   #define NRF_APPLICATION_WDT011                  NRF_APPLICATION_WDT011_S
395   #define NRF_APPLICATION_ABB                     NRF_APPLICATION_ABB_S
396   #define NRF_APPLICATION_LRCCONF010              NRF_APPLICATION_LRCCONF010_S
397   #define NRF_APPLICATION_RESETINFO               NRF_APPLICATION_RESETINFO_S
398   #define NRF_APPLICATION_IPCT                    NRF_APPLICATION_IPCT_S
399   #define NRF_APPLICATION_BELLBOARD               NRF_APPLICATION_BELLBOARD_S
400 #endif                                               /*!< NRF_TRUSTZONE_NONSECURE                                              */
401 
402 /* =========================================================================================================================== */
403 /* ================                                  Local Domain Remapping                                  ================ */
404 /* =========================================================================================================================== */
405 
406 #ifdef NRF_APPLICATION                               /*!< Remap NRF_DOMAIN_X instances to NRF_X symbol for ease of use.        */
407   #ifdef NRF_TRUSTZONE_NONSECURE                     /*!< Remap only nonsecure instances.                                      */
408     #define NRF_UICR                              NRF_APPLICATION_UICR
409     #define NRF_BICR                              NRF_APPLICATION_BICR
410     #define NRF_ETM                               NRF_APPLICATION_ETM
411     #define NRF_MVDMA                             NRF_APPLICATION_MVDMA
412     #define NRF_RAMC                              NRF_APPLICATION_RAMC
413     #define NRF_MEMCONF                           NRF_APPLICATION_MEMCONF
414     #define NRF_WDT010                            NRF_APPLICATION_WDT010
415     #define NRF_WDT011                            NRF_APPLICATION_WDT011
416     #define NRF_IPCT                              NRF_APPLICATION_IPCT
417     #define NRF_BELLBOARD                         NRF_APPLICATION_BELLBOARD
418   #else                                              /*!< Remap all instances.                                                 */
419     #define NRF_UICR                              NRF_APPLICATION_UICR
420     #define NRF_BICR                              NRF_APPLICATION_BICR
421     #define NRF_ICACHEDATA                        NRF_APPLICATION_ICACHEDATA
422     #define NRF_ICACHEINFO                        NRF_APPLICATION_ICACHEINFO
423     #define NRF_DCACHEDATA                        NRF_APPLICATION_DCACHEDATA
424     #define NRF_DCACHEINFO                        NRF_APPLICATION_DCACHEINFO
425     #define NRF_ETM                               NRF_APPLICATION_ETM
426     #define NRF_CTI                               NRF_APPLICATION_CTI
427     #define NRF_CPUC                              NRF_APPLICATION_CPUC
428     #define NRF_ICACHE                            NRF_APPLICATION_ICACHE
429     #define NRF_DCACHE                            NRF_APPLICATION_DCACHE
430     #define NRF_SPU000                            NRF_APPLICATION_SPU000
431     #define NRF_MPC                               NRF_APPLICATION_MPC
432     #define NRF_MVDMA                             NRF_APPLICATION_MVDMA
433     #define NRF_RAMC                              NRF_APPLICATION_RAMC
434     #define NRF_HSFLL                             NRF_APPLICATION_HSFLL
435     #define NRF_LRCCONF000                        NRF_APPLICATION_LRCCONF000
436     #define NRF_SPU010                            NRF_APPLICATION_SPU010
437     #define NRF_MEMCONF                           NRF_APPLICATION_MEMCONF
438     #define NRF_WDT010                            NRF_APPLICATION_WDT010
439     #define NRF_WDT011                            NRF_APPLICATION_WDT011
440     #define NRF_ABB                               NRF_APPLICATION_ABB
441     #define NRF_LRCCONF010                        NRF_APPLICATION_LRCCONF010
442     #define NRF_RESETINFO                         NRF_APPLICATION_RESETINFO
443     #define NRF_IPCT                              NRF_APPLICATION_IPCT
444     #define NRF_BELLBOARD                         NRF_APPLICATION_BELLBOARD
445   #endif                                             /*!< NRF_TRUSTZONE_NONSECURE                                              */
446 #endif                                               /*!< NRF_APPLICATION                                                      */
447 
448 /* ========================================== End of section using anonymous unions ========================================== */
449 
450 #if defined (__CC_ARM)
451   #pragma pop
452 #elif defined (__ICCARM__)
453   /* leave anonymous unions enabled */
454 #elif defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050)
455   #pragma clang diagnostic pop
456 #elif defined (__GNUC__)
457   /* anonymous unions are enabled by default */
458 #elif defined (__TMS470__)
459   /* anonymous unions are enabled by default */
460 #elif defined (__TASKING__)
461   #pragma warning restore
462 #elif defined (__CSMC__)
463   /* anonymous unions are enabled by default */
464 #endif
465 
466 
467 #ifdef __cplusplus
468 }
469 #endif
470 #endif /* NRF54H20_ENGA_APPLICATION_H */
471 
472