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_APPLICATION_H
36 #define NRF54H20_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   CPUC_IRQn                              = 2,        /*!< 2 CPUC                                                               */
69   MVDMA_IRQn                             = 3,        /*!< 3 MVDMA                                                              */
70   SPU010_IRQn                            = 16,       /*!< 16 SPU010                                                            */
71   WDT010_IRQn                            = 20,       /*!< 20 WDT010                                                            */
72   WDT011_IRQn                            = 21,       /*!< 21 WDT011                                                            */
73   IPCT_0_IRQn                            = 64,       /*!< 64 IPCT_0                                                            */
74   IPCT_1_IRQn                            = 65,       /*!< 65 IPCT_1                                                            */
75   SWI0_IRQn                              = 88,       /*!< 88 SWI0                                                              */
76   SWI1_IRQn                              = 89,       /*!< 89 SWI1                                                              */
77   SWI2_IRQn                              = 90,       /*!< 90 SWI2                                                              */
78   SWI3_IRQn                              = 91,       /*!< 91 SWI3                                                              */
79   SWI4_IRQn                              = 92,       /*!< 92 SWI4                                                              */
80   SWI5_IRQn                              = 93,       /*!< 93 SWI5                                                              */
81   SWI6_IRQn                              = 94,       /*!< 94 SWI6                                                              */
82   SWI7_IRQn                              = 95,       /*!< 95 SWI7                                                              */
83   BELLBOARD_0_IRQn                       = 96,       /*!< 96 BELLBOARD_0                                                       */
84   BELLBOARD_1_IRQn                       = 97,       /*!< 97 BELLBOARD_1                                                       */
85   BELLBOARD_2_IRQn                       = 98,       /*!< 98 BELLBOARD_2                                                       */
86   BELLBOARD_3_IRQn                       = 99,       /*!< 99 BELLBOARD_3                                                       */
87   GPIOTE130_0_IRQn                       = 104,      /*!< 104 GPIOTE130_0                                                      */
88   GPIOTE130_1_IRQn                       = 105,      /*!< 105 GPIOTE130_1                                                      */
89   GRTC_0_IRQn                            = 108,      /*!< 108 GRTC_0                                                           */
90   GRTC_1_IRQn                            = 109,      /*!< 109 GRTC_1                                                           */
91   GRTC_2_IRQn                            = 110,      /*!< 110 GRTC_2                                                           */
92   TBM_IRQn                               = 127,      /*!< 127 TBM                                                              */
93   USBHS_IRQn                             = 134,      /*!< 134 USBHS                                                            */
94   EXMIF_IRQn                             = 149,      /*!< 149 EXMIF                                                            */
95   IPCT120_0_IRQn                         = 209,      /*!< 209 IPCT120_0                                                        */
96   I3C120_IRQn                            = 211,      /*!< 211 I3C120                                                           */
97   VPR121_IRQn                            = 212,      /*!< 212 VPR121                                                           */
98   CAN120_IRQn                            = 216,      /*!< 216 CAN120                                                           */
99   MVDMA120_IRQn                          = 217,      /*!< 217 MVDMA120                                                         */
100   I3C121_IRQn                            = 222,      /*!< 222 I3C121                                                           */
101   TIMER120_IRQn                          = 226,      /*!< 226 TIMER120                                                         */
102   TIMER121_IRQn                          = 227,      /*!< 227 TIMER121                                                         */
103   PWM120_IRQn                            = 228,      /*!< 228 PWM120                                                           */
104   SPIS120_IRQn                           = 229,      /*!< 229 SPIS120                                                          */
105   SPIM120_UARTE120_IRQn                  = 230,      /*!< 230 SPIM120_UARTE120                                                 */
106   SPIM121_IRQn                           = 231,      /*!< 231 SPIM121                                                          */
107   VPR130_IRQn                            = 264,      /*!< 264 VPR130                                                           */
108   IPCT130_0_IRQn                         = 289,      /*!< 289 IPCT130_0                                                        */
109   RTC130_IRQn                            = 296,      /*!< 296 RTC130                                                           */
110   RTC131_IRQn                            = 297,      /*!< 297 RTC131                                                           */
111   WDT131_IRQn                            = 299,      /*!< 299 WDT131                                                           */
112   WDT132_IRQn                            = 300,      /*!< 300 WDT132                                                           */
113   EGU130_IRQn                            = 301,      /*!< 301 EGU130                                                           */
114   SAADC_IRQn                             = 386,      /*!< 386 SAADC                                                            */
115   COMP_LPCOMP_IRQn                       = 387,      /*!< 387 COMP_LPCOMP                                                      */
116   TEMP_IRQn                              = 388,      /*!< 388 TEMP                                                             */
117   NFCT_IRQn                              = 389,      /*!< 389 NFCT                                                             */
118   TDM130_IRQn                            = 402,      /*!< 402 TDM130                                                           */
119   PDM_IRQn                               = 403,      /*!< 403 PDM                                                              */
120   QDEC130_IRQn                           = 404,      /*!< 404 QDEC130                                                          */
121   QDEC131_IRQn                           = 405,      /*!< 405 QDEC131                                                          */
122   SIMIF130_IRQn                          = 406,      /*!< 406 SIMIF130                                                         */
123   TDM131_IRQn                            = 407,      /*!< 407 TDM131                                                           */
124   TIMER130_IRQn                          = 418,      /*!< 418 TIMER130                                                         */
125   TIMER131_IRQn                          = 419,      /*!< 419 TIMER131                                                         */
126   PWM130_IRQn                            = 420,      /*!< 420 PWM130                                                           */
127   SERIAL0_IRQn                           = 421,      /*!< 421 SERIAL0                                                          */
128   SERIAL1_IRQn                           = 422,      /*!< 422 SERIAL1                                                          */
129   TIMER132_IRQn                          = 434,      /*!< 434 TIMER132                                                         */
130   TIMER133_IRQn                          = 435,      /*!< 435 TIMER133                                                         */
131   PWM131_IRQn                            = 436,      /*!< 436 PWM131                                                           */
132   SERIAL2_IRQn                           = 437,      /*!< 437 SERIAL2                                                          */
133   SERIAL3_IRQn                           = 438,      /*!< 438 SERIAL3                                                          */
134   TIMER134_IRQn                          = 450,      /*!< 450 TIMER134                                                         */
135   TIMER135_IRQn                          = 451,      /*!< 451 TIMER135                                                         */
136   PWM132_IRQn                            = 452,      /*!< 452 PWM132                                                           */
137   SERIAL4_IRQn                           = 453,      /*!< 453 SERIAL4                                                          */
138   SERIAL5_IRQn                           = 454,      /*!< 454 SERIAL5                                                          */
139   TIMER136_IRQn                          = 466,      /*!< 466 TIMER136                                                         */
140   TIMER137_IRQn                          = 467,      /*!< 467 TIMER137                                                         */
141   PWM133_IRQn                            = 468,      /*!< 468 PWM133                                                           */
142   SERIAL6_IRQn                           = 469,      /*!< 469 SERIAL6                                                          */
143   SERIAL7_IRQn                           = 470,      /*!< 470 SERIAL7                                                          */
144 } IRQn_Type;
145 
146 /* ==================================================== Interrupt Aliases ==================================================== */
147 #define SPIM120_IRQn                  SPIM120_UARTE120_IRQn
148 #define SPIM120_IRQHandler            SPIM120_UARTE120_IRQHandler
149 #define UARTE120_IRQn                 SPIM120_UARTE120_IRQn
150 #define UARTE120_IRQHandler           SPIM120_UARTE120_IRQHandler
151 #define COMP_IRQn                     COMP_LPCOMP_IRQn
152 #define COMP_IRQHandler               COMP_LPCOMP_IRQHandler
153 #define LPCOMP_IRQn                   COMP_LPCOMP_IRQn
154 #define LPCOMP_IRQHandler             COMP_LPCOMP_IRQHandler
155 #define SPIM130_IRQn                  SERIAL0_IRQn
156 #define SPIM130_IRQHandler            SERIAL0_IRQHandler
157 #define SPIS130_IRQn                  SERIAL0_IRQn
158 #define SPIS130_IRQHandler            SERIAL0_IRQHandler
159 #define TWIM130_IRQn                  SERIAL0_IRQn
160 #define TWIM130_IRQHandler            SERIAL0_IRQHandler
161 #define TWIS130_IRQn                  SERIAL0_IRQn
162 #define TWIS130_IRQHandler            SERIAL0_IRQHandler
163 #define UARTE130_IRQn                 SERIAL0_IRQn
164 #define UARTE130_IRQHandler           SERIAL0_IRQHandler
165 #define SPIM131_IRQn                  SERIAL1_IRQn
166 #define SPIM131_IRQHandler            SERIAL1_IRQHandler
167 #define SPIS131_IRQn                  SERIAL1_IRQn
168 #define SPIS131_IRQHandler            SERIAL1_IRQHandler
169 #define TWIM131_IRQn                  SERIAL1_IRQn
170 #define TWIM131_IRQHandler            SERIAL1_IRQHandler
171 #define TWIS131_IRQn                  SERIAL1_IRQn
172 #define TWIS131_IRQHandler            SERIAL1_IRQHandler
173 #define UARTE131_IRQn                 SERIAL1_IRQn
174 #define UARTE131_IRQHandler           SERIAL1_IRQHandler
175 #define SPIM132_IRQn                  SERIAL2_IRQn
176 #define SPIM132_IRQHandler            SERIAL2_IRQHandler
177 #define SPIS132_IRQn                  SERIAL2_IRQn
178 #define SPIS132_IRQHandler            SERIAL2_IRQHandler
179 #define TWIM132_IRQn                  SERIAL2_IRQn
180 #define TWIM132_IRQHandler            SERIAL2_IRQHandler
181 #define TWIS132_IRQn                  SERIAL2_IRQn
182 #define TWIS132_IRQHandler            SERIAL2_IRQHandler
183 #define UARTE132_IRQn                 SERIAL2_IRQn
184 #define UARTE132_IRQHandler           SERIAL2_IRQHandler
185 #define SPIM133_IRQn                  SERIAL3_IRQn
186 #define SPIM133_IRQHandler            SERIAL3_IRQHandler
187 #define SPIS133_IRQn                  SERIAL3_IRQn
188 #define SPIS133_IRQHandler            SERIAL3_IRQHandler
189 #define TWIM133_IRQn                  SERIAL3_IRQn
190 #define TWIM133_IRQHandler            SERIAL3_IRQHandler
191 #define TWIS133_IRQn                  SERIAL3_IRQn
192 #define TWIS133_IRQHandler            SERIAL3_IRQHandler
193 #define UARTE133_IRQn                 SERIAL3_IRQn
194 #define UARTE133_IRQHandler           SERIAL3_IRQHandler
195 #define SPIM134_IRQn                  SERIAL4_IRQn
196 #define SPIM134_IRQHandler            SERIAL4_IRQHandler
197 #define SPIS134_IRQn                  SERIAL4_IRQn
198 #define SPIS134_IRQHandler            SERIAL4_IRQHandler
199 #define TWIM134_IRQn                  SERIAL4_IRQn
200 #define TWIM134_IRQHandler            SERIAL4_IRQHandler
201 #define TWIS134_IRQn                  SERIAL4_IRQn
202 #define TWIS134_IRQHandler            SERIAL4_IRQHandler
203 #define UARTE134_IRQn                 SERIAL4_IRQn
204 #define UARTE134_IRQHandler           SERIAL4_IRQHandler
205 #define SPIM135_IRQn                  SERIAL5_IRQn
206 #define SPIM135_IRQHandler            SERIAL5_IRQHandler
207 #define SPIS135_IRQn                  SERIAL5_IRQn
208 #define SPIS135_IRQHandler            SERIAL5_IRQHandler
209 #define TWIM135_IRQn                  SERIAL5_IRQn
210 #define TWIM135_IRQHandler            SERIAL5_IRQHandler
211 #define TWIS135_IRQn                  SERIAL5_IRQn
212 #define TWIS135_IRQHandler            SERIAL5_IRQHandler
213 #define UARTE135_IRQn                 SERIAL5_IRQn
214 #define UARTE135_IRQHandler           SERIAL5_IRQHandler
215 #define SPIM136_IRQn                  SERIAL6_IRQn
216 #define SPIM136_IRQHandler            SERIAL6_IRQHandler
217 #define SPIS136_IRQn                  SERIAL6_IRQn
218 #define SPIS136_IRQHandler            SERIAL6_IRQHandler
219 #define TWIM136_IRQn                  SERIAL6_IRQn
220 #define TWIM136_IRQHandler            SERIAL6_IRQHandler
221 #define TWIS136_IRQn                  SERIAL6_IRQn
222 #define TWIS136_IRQHandler            SERIAL6_IRQHandler
223 #define UARTE136_IRQn                 SERIAL6_IRQn
224 #define UARTE136_IRQHandler           SERIAL6_IRQHandler
225 #define SPIM137_IRQn                  SERIAL7_IRQn
226 #define SPIM137_IRQHandler            SERIAL7_IRQHandler
227 #define SPIS137_IRQn                  SERIAL7_IRQn
228 #define SPIS137_IRQHandler            SERIAL7_IRQHandler
229 #define TWIM137_IRQn                  SERIAL7_IRQn
230 #define TWIM137_IRQHandler            SERIAL7_IRQHandler
231 #define TWIS137_IRQn                  SERIAL7_IRQn
232 #define TWIS137_IRQHandler            SERIAL7_IRQHandler
233 #define UARTE137_IRQn                 SERIAL7_IRQn
234 #define UARTE137_IRQHandler           SERIAL7_IRQHandler
235 
236 /* =========================================================================================================================== */
237 /* ================                           Processor and Core Peripheral Section                           ================ */
238 /* =========================================================================================================================== */
239 
240 /* =========================== Configuration of the ARM Cortex-M33 Processor and Core Peripherals ============================ */
241 #define __CM33_REV                  r0p4             /*!< CM33 Core Revision                                                   */
242 #define __DSP_PRESENT                  1             /*!< DSP present or not                                                   */
243 #define __NVIC_PRIO_BITS               3             /*!< Number of Bits used for Priority Levels                              */
244 #define __VTOR_PRESENT                 1             /*!< CPU supports alternate Vector Table address                          */
245 #define __MPU_PRESENT                  1             /*!< MPU present                                                          */
246 #define __FPU_PRESENT                  1             /*!< FPU present                                                          */
247 #define __FPU_DP                       0             /*!< Double Precision FPU                                                 */
248 #define __INTERRUPTS_MAX             480             /*!< Size of interrupt vector table                                       */
249 #define __Vendor_SysTickConfig         0             /*!< Vendor SysTick Config implementation is used                         */
250 #define __SAUREGION_PRESENT            1             /*!< SAU present                                                          */
251 #define __NUM_SAUREGIONS               8             /*!< Number of regions                                                    */
252 
253 #include "core_cm33.h"                               /*!< ARM Cortex-M33 processor and core peripherals                        */
254 #include "system_nrf.h"                              /*!< nrf54h20_application System Library                                  */
255 
256 #endif                                               /*!< NRF_APPLICATION                                                      */
257 
258 
259 #ifdef NRF_APPLICATION
260 
261   #define NRF_DOMAIN                    NRF_DOMAIN_APPLICATION
262   #define NRF_PROCESSOR                 NRF_PROCESSOR_APPLICATION
263   #define NRF_OWNER                     NRF_OWNER_APPLICATION
264 
265 #endif                                               /*!< NRF_APPLICATION                                                      */
266 
267 
268 /* ========================================= Start of section using anonymous unions ========================================= */
269 
270 #include "compiler_abstraction.h"
271 
272 #if defined (__CC_ARM)
273   #pragma push
274   #pragma anon_unions
275 #elif defined (__ICCARM__)
276   #pragma language=extended
277 #elif defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050)
278   #pragma clang diagnostic push
279   #pragma clang diagnostic ignored "-Wc11-extensions"
280   #pragma clang diagnostic ignored "-Wreserved-id-macro"
281   #pragma clang diagnostic ignored "-Wgnu-anonymous-struct"
282   #pragma clang diagnostic ignored "-Wnested-anon-types"
283 #elif defined (__GNUC__)
284   /* anonymous unions are enabled by default */
285 #elif defined (__TMS470__)
286   /* anonymous unions are enabled by default */
287 #elif defined (__TASKING__)
288   #pragma warning 586
289 #elif defined (__CSMC__)
290   /* anonymous unions are enabled by default */
291 #else
292   #warning Unsupported compiler type
293 #endif
294 
295 /* =========================================================================================================================== */
296 /* ================                                  Peripheral Address Map                                  ================ */
297 /* =========================================================================================================================== */
298 
299 #define NRF_APPLICATION_UICREXTENDED_NS_BASE 0x00000000UL
300 #define NRF_APPLICATION_ICACHEDATA_S_BASE 0x02F00000UL
301 #define NRF_APPLICATION_ICACHEINFO_S_BASE 0x02F10000UL
302 #define NRF_APPLICATION_UICR_NS_BASE      0x0FFF8000UL
303 #define NRF_APPLICATION_BICR_NS_BASE      0x0FFF87B0UL
304 #define NRF_APPLICATION_DCACHEDATA_S_BASE 0x22F00000UL
305 #define NRF_APPLICATION_DCACHEINFO_S_BASE 0x22F10000UL
306 #define NRF_APPLICATION_ETM_NS_BASE       0xE0041000UL
307 #define NRF_APPLICATION_CTI_S_BASE        0xE0042000UL
308 #define NRF_APPLICATION_ICACHE_S_BASE     0xE0082000UL
309 #define NRF_APPLICATION_DCACHE_S_BASE     0xE0083000UL
310 #define NRF_APPLICATION_SPU000_S_BASE     0x52000000UL
311 #define NRF_APPLICATION_MPC_S_BASE        0x52001000UL
312 #define NRF_APPLICATION_CPUC_S_BASE       0xE0080000UL
313 #define NRF_APPLICATION_MVDMA_NS_BASE     0x42003000UL
314 #define NRF_APPLICATION_MVDMA_S_BASE      0x52003000UL
315 #define NRF_APPLICATION_RAMC_NS_BASE      0x42004000UL
316 #define NRF_APPLICATION_RAMC_S_BASE       0x52004000UL
317 #define NRF_APPLICATION_HSFLL_S_BASE      0x5200D000UL
318 #define NRF_APPLICATION_LRCCONF000_S_BASE 0x5200E000UL
319 #define NRF_APPLICATION_SPU010_S_BASE     0x52010000UL
320 #define NRF_APPLICATION_MEMCONF_NS_BASE   0x42012000UL
321 #define NRF_APPLICATION_MEMCONF_S_BASE    0x52012000UL
322 #define NRF_APPLICATION_WDT010_NS_BASE    0x42014000UL
323 #define NRF_APPLICATION_WDT010_S_BASE     0x52014000UL
324 #define NRF_APPLICATION_WDT011_NS_BASE    0x42015000UL
325 #define NRF_APPLICATION_WDT011_S_BASE     0x52015000UL
326 #define NRF_APPLICATION_ABB_S_BASE        0x5201C000UL
327 #define NRF_APPLICATION_LRCCONF010_S_BASE 0x5201E000UL
328 #define NRF_APPLICATION_RESETINFO_S_BASE  0x5201E000UL
329 #define NRF_APPLICATION_IPCT_NS_BASE      0x42013000UL
330 #define NRF_APPLICATION_IPCT_S_BASE       0x52013000UL
331 #define NRF_APPLICATION_SWI0_NS_BASE      0x42058000UL
332 #define NRF_APPLICATION_SWI1_NS_BASE      0x42059000UL
333 #define NRF_APPLICATION_SWI2_NS_BASE      0x4205A000UL
334 #define NRF_APPLICATION_SWI3_NS_BASE      0x4205B000UL
335 #define NRF_APPLICATION_SWI4_NS_BASE      0x4205C000UL
336 #define NRF_APPLICATION_SWI5_NS_BASE      0x4205D000UL
337 #define NRF_APPLICATION_SWI6_NS_BASE      0x4205E000UL
338 #define NRF_APPLICATION_SWI7_NS_BASE      0x4205F000UL
339 #define NRF_APPLICATION_BELLBOARD_NS_BASE 0x4F09A000UL
340 #define NRF_APPLICATION_BELLBOARD_S_BASE  0x5F09A000UL
341 
342 /* =========================================================================================================================== */
343 /* ================                                  Peripheral Declaration                                  ================ */
344 /* =========================================================================================================================== */
345 
346 #define NRF_APPLICATION_UICREXTENDED_NS   ((NRF_UICREXTENDED_Type*)             NRF_APPLICATION_UICREXTENDED_NS_BASE)
347 #define NRF_APPLICATION_ICACHEDATA_S      ((NRF_ICACHEDATA_Type*)               NRF_APPLICATION_ICACHEDATA_S_BASE)
348 #define NRF_APPLICATION_ICACHEINFO_S      ((NRF_ICACHEINFO_Type*)               NRF_APPLICATION_ICACHEINFO_S_BASE)
349 #define NRF_APPLICATION_UICR_NS           ((NRF_UICR_Type*)                     NRF_APPLICATION_UICR_NS_BASE)
350 #define NRF_APPLICATION_BICR_NS           ((NRF_BICR_Type*)                     NRF_APPLICATION_BICR_NS_BASE)
351 #define NRF_APPLICATION_DCACHEDATA_S      ((NRF_DCACHEDATA_Type*)               NRF_APPLICATION_DCACHEDATA_S_BASE)
352 #define NRF_APPLICATION_DCACHEINFO_S      ((NRF_DCACHEINFO_Type*)               NRF_APPLICATION_DCACHEINFO_S_BASE)
353 #define NRF_APPLICATION_ETM_NS            ((NRF_ETM_Type*)                      NRF_APPLICATION_ETM_NS_BASE)
354 #define NRF_APPLICATION_CTI_S             ((NRF_CTI_Type*)                      NRF_APPLICATION_CTI_S_BASE)
355 #define NRF_APPLICATION_ICACHE_S          ((NRF_CACHE_Type*)                    NRF_APPLICATION_ICACHE_S_BASE)
356 #define NRF_APPLICATION_DCACHE_S          ((NRF_CACHE_Type*)                    NRF_APPLICATION_DCACHE_S_BASE)
357 #define NRF_APPLICATION_SPU000_S          ((NRF_SPU_Type*)                      NRF_APPLICATION_SPU000_S_BASE)
358 #define NRF_APPLICATION_MPC_S             ((NRF_MPC_Type*)                      NRF_APPLICATION_MPC_S_BASE)
359 #define NRF_APPLICATION_CPUC_S            ((NRF_CM33SS_Type*)                   NRF_APPLICATION_CPUC_S_BASE)
360 #define NRF_APPLICATION_MVDMA_NS          ((NRF_MVDMA_Type*)                    NRF_APPLICATION_MVDMA_NS_BASE)
361 #define NRF_APPLICATION_MVDMA_S           ((NRF_MVDMA_Type*)                    NRF_APPLICATION_MVDMA_S_BASE)
362 #define NRF_APPLICATION_RAMC_NS           ((NRF_RAMC_Type*)                     NRF_APPLICATION_RAMC_NS_BASE)
363 #define NRF_APPLICATION_RAMC_S            ((NRF_RAMC_Type*)                     NRF_APPLICATION_RAMC_S_BASE)
364 #define NRF_APPLICATION_HSFLL_S           ((NRF_HSFLL_Type*)                    NRF_APPLICATION_HSFLL_S_BASE)
365 #define NRF_APPLICATION_LRCCONF000_S      ((NRF_LRCCONF_Type*)                  NRF_APPLICATION_LRCCONF000_S_BASE)
366 #define NRF_APPLICATION_SPU010_S          ((NRF_SPU_Type*)                      NRF_APPLICATION_SPU010_S_BASE)
367 #define NRF_APPLICATION_MEMCONF_NS        ((NRF_MEMCONF_Type*)                  NRF_APPLICATION_MEMCONF_NS_BASE)
368 #define NRF_APPLICATION_MEMCONF_S         ((NRF_MEMCONF_Type*)                  NRF_APPLICATION_MEMCONF_S_BASE)
369 #define NRF_APPLICATION_WDT010_NS         ((NRF_WDT_Type*)                      NRF_APPLICATION_WDT010_NS_BASE)
370 #define NRF_APPLICATION_WDT010_S          ((NRF_WDT_Type*)                      NRF_APPLICATION_WDT010_S_BASE)
371 #define NRF_APPLICATION_WDT011_NS         ((NRF_WDT_Type*)                      NRF_APPLICATION_WDT011_NS_BASE)
372 #define NRF_APPLICATION_WDT011_S          ((NRF_WDT_Type*)                      NRF_APPLICATION_WDT011_S_BASE)
373 #define NRF_APPLICATION_ABB_S             ((NRF_ABB_Type*)                      NRF_APPLICATION_ABB_S_BASE)
374 #define NRF_APPLICATION_LRCCONF010_S      ((NRF_LRCCONF_Type*)                  NRF_APPLICATION_LRCCONF010_S_BASE)
375 #define NRF_APPLICATION_RESETINFO_S       ((NRF_RESETINFO_Type*)                NRF_APPLICATION_RESETINFO_S_BASE)
376 #define NRF_APPLICATION_IPCT_NS           ((NRF_IPCT_Type*)                     NRF_APPLICATION_IPCT_NS_BASE)
377 #define NRF_APPLICATION_IPCT_S            ((NRF_IPCT_Type*)                     NRF_APPLICATION_IPCT_S_BASE)
378 #define NRF_APPLICATION_SWI0_NS           ((NRF_SWI_Type*)                      NRF_APPLICATION_SWI0_NS_BASE)
379 #define NRF_APPLICATION_SWI1_NS           ((NRF_SWI_Type*)                      NRF_APPLICATION_SWI1_NS_BASE)
380 #define NRF_APPLICATION_SWI2_NS           ((NRF_SWI_Type*)                      NRF_APPLICATION_SWI2_NS_BASE)
381 #define NRF_APPLICATION_SWI3_NS           ((NRF_SWI_Type*)                      NRF_APPLICATION_SWI3_NS_BASE)
382 #define NRF_APPLICATION_SWI4_NS           ((NRF_SWI_Type*)                      NRF_APPLICATION_SWI4_NS_BASE)
383 #define NRF_APPLICATION_SWI5_NS           ((NRF_SWI_Type*)                      NRF_APPLICATION_SWI5_NS_BASE)
384 #define NRF_APPLICATION_SWI6_NS           ((NRF_SWI_Type*)                      NRF_APPLICATION_SWI6_NS_BASE)
385 #define NRF_APPLICATION_SWI7_NS           ((NRF_SWI_Type*)                      NRF_APPLICATION_SWI7_NS_BASE)
386 #define NRF_APPLICATION_BELLBOARD_NS      ((NRF_BELLBOARD_Type*)                NRF_APPLICATION_BELLBOARD_NS_BASE)
387 #define NRF_APPLICATION_BELLBOARD_S       ((NRF_BELLBOARD_Type*)                NRF_APPLICATION_BELLBOARD_S_BASE)
388 
389 /* =========================================================================================================================== */
390 /* ================                                    TrustZone Remapping                                    ================ */
391 /* =========================================================================================================================== */
392 
393 #ifdef NRF_TRUSTZONE_NONSECURE                       /*!< Remap NRF_X_NS instances to NRF_X symbol for ease of use.            */
394   #define NRF_APPLICATION_UICREXTENDED            NRF_APPLICATION_UICREXTENDED_NS
395   #define NRF_APPLICATION_UICR                    NRF_APPLICATION_UICR_NS
396   #define NRF_APPLICATION_BICR                    NRF_APPLICATION_BICR_NS
397   #define NRF_APPLICATION_ETM                     NRF_APPLICATION_ETM_NS
398   #define NRF_APPLICATION_MVDMA                   NRF_APPLICATION_MVDMA_NS
399   #define NRF_APPLICATION_RAMC                    NRF_APPLICATION_RAMC_NS
400   #define NRF_APPLICATION_MEMCONF                 NRF_APPLICATION_MEMCONF_NS
401   #define NRF_APPLICATION_WDT010                  NRF_APPLICATION_WDT010_NS
402   #define NRF_APPLICATION_WDT011                  NRF_APPLICATION_WDT011_NS
403   #define NRF_APPLICATION_IPCT                    NRF_APPLICATION_IPCT_NS
404   #define NRF_APPLICATION_SWI0                    NRF_APPLICATION_SWI0_NS
405   #define NRF_APPLICATION_SWI1                    NRF_APPLICATION_SWI1_NS
406   #define NRF_APPLICATION_SWI2                    NRF_APPLICATION_SWI2_NS
407   #define NRF_APPLICATION_SWI3                    NRF_APPLICATION_SWI3_NS
408   #define NRF_APPLICATION_SWI4                    NRF_APPLICATION_SWI4_NS
409   #define NRF_APPLICATION_SWI5                    NRF_APPLICATION_SWI5_NS
410   #define NRF_APPLICATION_SWI6                    NRF_APPLICATION_SWI6_NS
411   #define NRF_APPLICATION_SWI7                    NRF_APPLICATION_SWI7_NS
412   #define NRF_APPLICATION_BELLBOARD               NRF_APPLICATION_BELLBOARD_NS
413 #else                                                /*!< Remap NRF_X_S instances to NRF_X symbol for ease of use.             */
414   #define NRF_APPLICATION_UICREXTENDED            NRF_APPLICATION_UICREXTENDED_NS
415   #define NRF_APPLICATION_ICACHEDATA              NRF_APPLICATION_ICACHEDATA_S
416   #define NRF_APPLICATION_ICACHEINFO              NRF_APPLICATION_ICACHEINFO_S
417   #define NRF_APPLICATION_UICR                    NRF_APPLICATION_UICR_NS
418   #define NRF_APPLICATION_BICR                    NRF_APPLICATION_BICR_NS
419   #define NRF_APPLICATION_DCACHEDATA              NRF_APPLICATION_DCACHEDATA_S
420   #define NRF_APPLICATION_DCACHEINFO              NRF_APPLICATION_DCACHEINFO_S
421   #define NRF_APPLICATION_ETM                     NRF_APPLICATION_ETM_NS
422   #define NRF_APPLICATION_CTI                     NRF_APPLICATION_CTI_S
423   #define NRF_APPLICATION_ICACHE                  NRF_APPLICATION_ICACHE_S
424   #define NRF_APPLICATION_DCACHE                  NRF_APPLICATION_DCACHE_S
425   #define NRF_APPLICATION_SPU000                  NRF_APPLICATION_SPU000_S
426   #define NRF_APPLICATION_MPC                     NRF_APPLICATION_MPC_S
427   #define NRF_APPLICATION_CPUC                    NRF_APPLICATION_CPUC_S
428   #define NRF_APPLICATION_MVDMA                   NRF_APPLICATION_MVDMA_S
429   #define NRF_APPLICATION_RAMC                    NRF_APPLICATION_RAMC_S
430   #define NRF_APPLICATION_HSFLL                   NRF_APPLICATION_HSFLL_S
431   #define NRF_APPLICATION_LRCCONF000              NRF_APPLICATION_LRCCONF000_S
432   #define NRF_APPLICATION_SPU010                  NRF_APPLICATION_SPU010_S
433   #define NRF_APPLICATION_MEMCONF                 NRF_APPLICATION_MEMCONF_S
434   #define NRF_APPLICATION_WDT010                  NRF_APPLICATION_WDT010_S
435   #define NRF_APPLICATION_WDT011                  NRF_APPLICATION_WDT011_S
436   #define NRF_APPLICATION_ABB                     NRF_APPLICATION_ABB_S
437   #define NRF_APPLICATION_LRCCONF010              NRF_APPLICATION_LRCCONF010_S
438   #define NRF_APPLICATION_RESETINFO               NRF_APPLICATION_RESETINFO_S
439   #define NRF_APPLICATION_IPCT                    NRF_APPLICATION_IPCT_S
440   #define NRF_APPLICATION_SWI0                    NRF_APPLICATION_SWI0_NS
441   #define NRF_APPLICATION_SWI1                    NRF_APPLICATION_SWI1_NS
442   #define NRF_APPLICATION_SWI2                    NRF_APPLICATION_SWI2_NS
443   #define NRF_APPLICATION_SWI3                    NRF_APPLICATION_SWI3_NS
444   #define NRF_APPLICATION_SWI4                    NRF_APPLICATION_SWI4_NS
445   #define NRF_APPLICATION_SWI5                    NRF_APPLICATION_SWI5_NS
446   #define NRF_APPLICATION_SWI6                    NRF_APPLICATION_SWI6_NS
447   #define NRF_APPLICATION_SWI7                    NRF_APPLICATION_SWI7_NS
448   #define NRF_APPLICATION_BELLBOARD               NRF_APPLICATION_BELLBOARD_S
449 #endif                                               /*!< NRF_TRUSTZONE_NONSECURE                                              */
450 
451 /* =========================================================================================================================== */
452 /* ================                                  Local Domain Remapping                                  ================ */
453 /* =========================================================================================================================== */
454 
455 #ifdef NRF_APPLICATION                               /*!< Remap NRF_DOMAIN_X instances to NRF_X symbol for ease of use.        */
456   #ifdef NRF_TRUSTZONE_NONSECURE                     /*!< Remap only nonsecure instances.                                      */
457     #define NRF_UICREXTENDED                      NRF_APPLICATION_UICREXTENDED
458     #define NRF_UICR                              NRF_APPLICATION_UICR
459     #define NRF_BICR                              NRF_APPLICATION_BICR
460     #define NRF_ETM                               NRF_APPLICATION_ETM
461     #define NRF_MVDMA                             NRF_APPLICATION_MVDMA
462     #define NRF_RAMC                              NRF_APPLICATION_RAMC
463     #define NRF_MEMCONF                           NRF_APPLICATION_MEMCONF
464     #define NRF_WDT010                            NRF_APPLICATION_WDT010
465     #define NRF_WDT011                            NRF_APPLICATION_WDT011
466     #define NRF_IPCT                              NRF_APPLICATION_IPCT
467     #define NRF_SWI0                              NRF_APPLICATION_SWI0
468     #define NRF_SWI1                              NRF_APPLICATION_SWI1
469     #define NRF_SWI2                              NRF_APPLICATION_SWI2
470     #define NRF_SWI3                              NRF_APPLICATION_SWI3
471     #define NRF_SWI4                              NRF_APPLICATION_SWI4
472     #define NRF_SWI5                              NRF_APPLICATION_SWI5
473     #define NRF_SWI6                              NRF_APPLICATION_SWI6
474     #define NRF_SWI7                              NRF_APPLICATION_SWI7
475     #define NRF_BELLBOARD                         NRF_APPLICATION_BELLBOARD
476   #else                                              /*!< Remap all instances.                                                 */
477     #define NRF_UICREXTENDED                      NRF_APPLICATION_UICREXTENDED
478     #define NRF_ICACHEDATA                        NRF_APPLICATION_ICACHEDATA
479     #define NRF_ICACHEINFO                        NRF_APPLICATION_ICACHEINFO
480     #define NRF_UICR                              NRF_APPLICATION_UICR
481     #define NRF_BICR                              NRF_APPLICATION_BICR
482     #define NRF_DCACHEDATA                        NRF_APPLICATION_DCACHEDATA
483     #define NRF_DCACHEINFO                        NRF_APPLICATION_DCACHEINFO
484     #define NRF_ETM                               NRF_APPLICATION_ETM
485     #define NRF_CTI                               NRF_APPLICATION_CTI
486     #define NRF_ICACHE                            NRF_APPLICATION_ICACHE
487     #define NRF_DCACHE                            NRF_APPLICATION_DCACHE
488     #define NRF_SPU000                            NRF_APPLICATION_SPU000
489     #define NRF_MPC                               NRF_APPLICATION_MPC
490     #define NRF_CPUC                              NRF_APPLICATION_CPUC
491     #define NRF_MVDMA                             NRF_APPLICATION_MVDMA
492     #define NRF_RAMC                              NRF_APPLICATION_RAMC
493     #define NRF_HSFLL                             NRF_APPLICATION_HSFLL
494     #define NRF_LRCCONF000                        NRF_APPLICATION_LRCCONF000
495     #define NRF_SPU010                            NRF_APPLICATION_SPU010
496     #define NRF_MEMCONF                           NRF_APPLICATION_MEMCONF
497     #define NRF_WDT010                            NRF_APPLICATION_WDT010
498     #define NRF_WDT011                            NRF_APPLICATION_WDT011
499     #define NRF_ABB                               NRF_APPLICATION_ABB
500     #define NRF_LRCCONF010                        NRF_APPLICATION_LRCCONF010
501     #define NRF_RESETINFO                         NRF_APPLICATION_RESETINFO
502     #define NRF_IPCT                              NRF_APPLICATION_IPCT
503     #define NRF_SWI0                              NRF_APPLICATION_SWI0
504     #define NRF_SWI1                              NRF_APPLICATION_SWI1
505     #define NRF_SWI2                              NRF_APPLICATION_SWI2
506     #define NRF_SWI3                              NRF_APPLICATION_SWI3
507     #define NRF_SWI4                              NRF_APPLICATION_SWI4
508     #define NRF_SWI5                              NRF_APPLICATION_SWI5
509     #define NRF_SWI6                              NRF_APPLICATION_SWI6
510     #define NRF_SWI7                              NRF_APPLICATION_SWI7
511     #define NRF_BELLBOARD                         NRF_APPLICATION_BELLBOARD
512   #endif                                             /*!< NRF_TRUSTZONE_NONSECURE                                              */
513 #endif                                               /*!< NRF_APPLICATION                                                      */
514 
515 /* ========================================== End of section using anonymous unions ========================================== */
516 
517 #if defined (__CC_ARM)
518   #pragma pop
519 #elif defined (__ICCARM__)
520   /* leave anonymous unions enabled */
521 #elif defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050)
522   #pragma clang diagnostic pop
523 #elif defined (__GNUC__)
524   /* anonymous unions are enabled by default */
525 #elif defined (__TMS470__)
526   /* anonymous unions are enabled by default */
527 #elif defined (__TASKING__)
528   #pragma warning restore
529 #elif defined (__CSMC__)
530   /* anonymous unions are enabled by default */
531 #endif
532 
533 
534 #ifdef __cplusplus
535 }
536 #endif
537 #endif /* NRF54H20_APPLICATION_H */
538 
539