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