1 /*
2 
3 Copyright (c) 2010 - 2023, 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_RADIOCORE_H
36 #define NRF54H20_ENGA_RADIOCORE_H
37 
38 #ifdef __cplusplus
39     extern "C" {
40 #endif
41 
42 
43 #ifdef NRF_RADIOCORE                                 /*!< 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                            = 19,       /*!< 19 WDT010                                                            */
71   WDT011_IRQn                            = 20,       /*!< 20 WDT011                                                            */
72   SPU020_IRQn                            = 32,       /*!< 32 SPU020                                                            */
73   EGU020_IRQn                            = 37,       /*!< 37 EGU020                                                            */
74   AAR020_CCM020_IRQn                     = 38,       /*!< 38 AAR020_CCM020                                                     */
75   ECB020_IRQn                            = 39,       /*!< 39 ECB020                                                            */
76   TIMER020_IRQn                          = 40,       /*!< 40 TIMER020                                                          */
77   TIMER021_IRQn                          = 41,       /*!< 41 TIMER021                                                          */
78   TIMER022_IRQn                          = 42,       /*!< 42 TIMER022                                                          */
79   RTC_IRQn                               = 43,       /*!< 43 RTC                                                               */
80   RADIO_0_IRQn                           = 44,       /*!< 44 RADIO_0                                                           */
81   RADIO_1_IRQn                           = 45,       /*!< 45 RADIO_1                                                           */
82   SPU030_IRQn                            = 48,       /*!< 48 SPU030                                                            */
83   VPR_IRQn                               = 52,       /*!< 52 VPR                                                               */
84   AAR030_CCM030_IRQn                     = 58,       /*!< 58 AAR030_CCM030                                                     */
85   ECB030_IRQn                            = 59,       /*!< 59 ECB030                                                            */
86   IPCT_0_IRQn                            = 64,       /*!< 64 IPCT_0                                                            */
87   IPCT_1_IRQn                            = 65,       /*!< 65 IPCT_1                                                            */
88   BELLBOARD_0_IRQn                       = 96,       /*!< 96 BELLBOARD_0                                                       */
89   BELLBOARD_1_IRQn                       = 97,       /*!< 97 BELLBOARD_1                                                       */
90   BELLBOARD_2_IRQn                       = 98,       /*!< 98 BELLBOARD_2                                                       */
91   BELLBOARD_3_IRQn                       = 99,       /*!< 99 BELLBOARD_3                                                       */
92   GPIOTE130_0_IRQn                       = 104,      /*!< 104 GPIOTE130_0                                                      */
93   GPIOTE130_1_IRQn                       = 105,      /*!< 105 GPIOTE130_1                                                      */
94   GRTC_0_IRQn                            = 108,      /*!< 108 GRTC_0                                                           */
95   GRTC_1_IRQn                            = 109,      /*!< 109 GRTC_1                                                           */
96   TBM_IRQn                               = 127,      /*!< 127 TBM                                                              */
97   USBHS_IRQn                             = 134,      /*!< 134 USBHS                                                            */
98   EXMIF_IRQn                             = 149,      /*!< 149 EXMIF                                                            */
99   IPCT120_0_IRQn                         = 209,      /*!< 209 IPCT120_0                                                        */
100   I3C120_IRQn                            = 211,      /*!< 211 I3C120                                                           */
101   VPR121_IRQn                            = 212,      /*!< 212 VPR121                                                           */
102   CAN_IRQn                               = 216,      /*!< 216 CAN                                                              */
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_UARTE120_IRQn                  = 229,      /*!< 229 SPIS120_UARTE120                                                 */
108   SPIM120_IRQn                           = 230,      /*!< 230 SPIM120                                                          */
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   SAADC_IRQn                             = 386,      /*!< 386 SAADC                                                            */
117   COMP_LPCOMP_IRQn                       = 387,      /*!< 387 COMP_LPCOMP                                                      */
118   TEMP_IRQn                              = 388,      /*!< 388 TEMP                                                             */
119   NFCT_IRQn                              = 389,      /*!< 389 NFCT                                                             */
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 
148 /* =========================================================================================================================== */
149 /* ================                           Processor and Core Peripheral Section                           ================ */
150 /* =========================================================================================================================== */
151 
152 /* =========================== Configuration of the ARM Cortex-M33 Processor and Core Peripherals ============================ */
153 #define __CM33_REV                  r0p4             /*!< CM33 Core Revision                                                   */
154 #define __DSP_PRESENT                  1             /*!< DSP present or not                                                   */
155 #define __NVIC_PRIO_BITS               3             /*!< Number of Bits used for Priority Levels                              */
156 #define __VTOR_PRESENT                 1             /*!< CPU supports alternate Vector Table address                          */
157 #define __MPU_PRESENT                  1             /*!< MPU present                                                          */
158 #define __FPU_PRESENT                  1             /*!< FPU present                                                          */
159 #define __FPU_DP                       0             /*!< Double Precision FPU                                                 */
160 #define __INTERRUPTS_MAX             480             /*!< Size of interrupt vector table                                       */
161 #define __Vendor_SysTickConfig         0             /*!< Vendor SysTick Config implementation is used                         */
162 #define __SAUREGION_PRESENT            1             /*!< SAU present                                                          */
163 #define __NUM_SAUREGIONS               4             /*!< Number of regions                                                    */
164 
165 #include "core_cm33.h"                               /*!< ARM Cortex-M33 processor and core peripherals                        */
166 #include "system_nrf.h"                              /*!< nrf54h20_enga_radiocore System Library                               */
167 
168 #endif                                               /*!< NRF_RADIOCORE                                                        */
169 
170 
171 /* ========================================= Start of section using anonymous unions ========================================= */
172 
173 #include "compiler_abstraction.h"
174 
175 #if defined (__CC_ARM)
176   #pragma push
177   #pragma anon_unions
178 #elif defined (__ICCARM__)
179   #pragma language=extended
180 #elif defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050)
181   #pragma clang diagnostic push
182   #pragma clang diagnostic ignored "-Wc11-extensions"
183   #pragma clang diagnostic ignored "-Wreserved-id-macro"
184   #pragma clang diagnostic ignored "-Wgnu-anonymous-struct"
185   #pragma clang diagnostic ignored "-Wnested-anon-types"
186 #elif defined (__GNUC__)
187   /* anonymous unions are enabled by default */
188 #elif defined (__TMS470__)
189   /* anonymous unions are enabled by default */
190 #elif defined (__TASKING__)
191   #pragma warning 586
192 #elif defined (__CSMC__)
193   /* anonymous unions are enabled by default */
194 #else
195   #warning Unsupported compiler type
196 #endif
197 
198 /* =========================================================================================================================== */
199 /* ================                                  Peripheral Address Map                                  ================ */
200 /* =========================================================================================================================== */
201 
202 #define NRF_RADIOCORE_UICR_NS_BASE        0x0FFFA000UL
203 #define NRF_RADIOCORE_ICACHEDATA_S_BASE   0x13F00000UL
204 #define NRF_RADIOCORE_ICACHEINFO_S_BASE   0x13F10000UL
205 #define NRF_RADIOCORE_DCACHEDATA_S_BASE   0x33F00000UL
206 #define NRF_RADIOCORE_DCACHEINFO_S_BASE   0x33F10000UL
207 #define NRF_RADIOCORE_ETM_NS_BASE         0xE0041000UL
208 #define NRF_RADIOCORE_CTI_S_BASE          0xE0042000UL
209 #define NRF_RADIOCORE_CPUC_S_BASE         0xE0080000UL
210 #define NRF_RADIOCORE_ICACHE_S_BASE       0xE0082000UL
211 #define NRF_RADIOCORE_DCACHE_S_BASE       0xE0083000UL
212 #define NRF_RADIOCORE_SPU000_S_BASE       0x53000000UL
213 #define NRF_RADIOCORE_MPC_S_BASE          0x53001000UL
214 #define NRF_RADIOCORE_MVDMA_NS_BASE       0x43003000UL
215 #define NRF_RADIOCORE_MVDMA_S_BASE        0x53003000UL
216 #define NRF_RADIOCORE_RAMC000_NS_BASE     0x43004000UL
217 #define NRF_RADIOCORE_RAMC000_S_BASE      0x53004000UL
218 #define NRF_RADIOCORE_HSFLL_S_BASE        0x5300D000UL
219 #define NRF_RADIOCORE_LRCCONF000_S_BASE   0x5300E000UL
220 #define NRF_RADIOCORE_SPU010_S_BASE       0x53010000UL
221 #define NRF_RADIOCORE_MEMCONF_NS_BASE     0x43012000UL
222 #define NRF_RADIOCORE_MEMCONF_S_BASE      0x53012000UL
223 #define NRF_RADIOCORE_WDT010_NS_BASE      0x43013000UL
224 #define NRF_RADIOCORE_WDT010_S_BASE       0x53013000UL
225 #define NRF_RADIOCORE_WDT011_NS_BASE      0x43014000UL
226 #define NRF_RADIOCORE_WDT011_S_BASE       0x53014000UL
227 #define NRF_RADIOCORE_LRCCONF010_S_BASE   0x5301E000UL
228 #define NRF_RADIOCORE_RESETINFO_S_BASE    0x5301E000UL
229 #define NRF_RADIOCORE_SPU020_S_BASE       0x53020000UL
230 #define NRF_RADIOCORE_DPPIC020_NS_BASE    0x43022000UL
231 #define NRF_RADIOCORE_DPPIC020_S_BASE     0x53022000UL
232 #define NRF_RADIOCORE_PPIB020_S_BASE      0x53023000UL
233 #define NRF_RADIOCORE_EGU020_NS_BASE      0x43025000UL
234 #define NRF_RADIOCORE_EGU020_S_BASE       0x53025000UL
235 #define NRF_RADIOCORE_AAR020_NS_BASE      0x43026000UL
236 #define NRF_RADIOCORE_CCM020_NS_BASE      0x43026000UL
237 #define NRF_RADIOCORE_AAR020_S_BASE       0x53026000UL
238 #define NRF_RADIOCORE_CCM020_S_BASE       0x53026000UL
239 #define NRF_RADIOCORE_ECB020_NS_BASE      0x43027000UL
240 #define NRF_RADIOCORE_ECB020_S_BASE       0x53027000UL
241 #define NRF_RADIOCORE_TIMER020_NS_BASE    0x43028000UL
242 #define NRF_RADIOCORE_TIMER020_S_BASE     0x53028000UL
243 #define NRF_RADIOCORE_TIMER021_NS_BASE    0x43029000UL
244 #define NRF_RADIOCORE_TIMER021_S_BASE     0x53029000UL
245 #define NRF_RADIOCORE_TIMER022_NS_BASE    0x4302A000UL
246 #define NRF_RADIOCORE_TIMER022_S_BASE     0x5302A000UL
247 #define NRF_RADIOCORE_RTC_NS_BASE         0x4302B000UL
248 #define NRF_RADIOCORE_RTC_S_BASE          0x5302B000UL
249 #define NRF_RADIOCORE_RADIO_NS_BASE       0x4302C000UL
250 #define NRF_RADIOCORE_RADIO_S_BASE        0x5302C000UL
251 #define NRF_RADIOCORE_LRCCONF020_S_BASE   0x5302E000UL
252 #define NRF_RADIOCORE_SPU030_S_BASE       0x53030000UL
253 #define NRF_RADIOCORE_PPIB030_S_BASE      0x53031000UL
254 #define NRF_RADIOCORE_VPR_NS_BASE         0x43034000UL
255 #define NRF_RADIOCORE_VPR_S_BASE          0x53034000UL
256 #define NRF_RADIOCORE_RAMC001_NS_BASE     0x43038000UL
257 #define NRF_RADIOCORE_RAMC001_S_BASE      0x53038000UL
258 #define NRF_RADIOCORE_AAR030_NS_BASE      0x4303A000UL
259 #define NRF_RADIOCORE_CCM030_NS_BASE      0x4303A000UL
260 #define NRF_RADIOCORE_AAR030_S_BASE       0x5303A000UL
261 #define NRF_RADIOCORE_CCM030_S_BASE       0x5303A000UL
262 #define NRF_RADIOCORE_ECB030_NS_BASE      0x4303B000UL
263 #define NRF_RADIOCORE_ECB030_S_BASE       0x5303B000UL
264 #define NRF_RADIOCORE_IPCT_NS_BASE        0x43024000UL
265 #define NRF_RADIOCORE_IPCT_S_BASE         0x53024000UL
266 #define NRF_RADIOCORE_BELLBOARD_NS_BASE   0x4F09B000UL
267 #define NRF_RADIOCORE_BELLBOARD_S_BASE    0x5F09B000UL
268 
269 /* =========================================================================================================================== */
270 /* ================                                  Peripheral Declaration                                  ================ */
271 /* =========================================================================================================================== */
272 
273 #define NRF_RADIOCORE_UICR_NS             ((NRF_UICR_Type*)                     NRF_RADIOCORE_UICR_NS_BASE)
274 #define NRF_RADIOCORE_ICACHEDATA_S        ((NRF_CACHEDATA_Type*)                NRF_RADIOCORE_ICACHEDATA_S_BASE)
275 #define NRF_RADIOCORE_ICACHEINFO_S        ((NRF_CACHEINFO_Type*)                NRF_RADIOCORE_ICACHEINFO_S_BASE)
276 #define NRF_RADIOCORE_DCACHEDATA_S        ((NRF_CACHEDATA_Type*)                NRF_RADIOCORE_DCACHEDATA_S_BASE)
277 #define NRF_RADIOCORE_DCACHEINFO_S        ((NRF_CACHEINFO_Type*)                NRF_RADIOCORE_DCACHEINFO_S_BASE)
278 #define NRF_RADIOCORE_ETM_NS              ((NRF_ETM_Type*)                      NRF_RADIOCORE_ETM_NS_BASE)
279 #define NRF_RADIOCORE_CTI_S               ((NRF_CTI_Type*)                      NRF_RADIOCORE_CTI_S_BASE)
280 #define NRF_RADIOCORE_CPUC_S              ((NRF_CM33SS_Type*)                   NRF_RADIOCORE_CPUC_S_BASE)
281 #define NRF_RADIOCORE_ICACHE_S            ((NRF_CACHE_Type*)                    NRF_RADIOCORE_ICACHE_S_BASE)
282 #define NRF_RADIOCORE_DCACHE_S            ((NRF_CACHE_Type*)                    NRF_RADIOCORE_DCACHE_S_BASE)
283 #define NRF_RADIOCORE_SPU000_S            ((NRF_SPU_Type*)                      NRF_RADIOCORE_SPU000_S_BASE)
284 #define NRF_RADIOCORE_MPC_S               ((NRF_MPC_Type*)                      NRF_RADIOCORE_MPC_S_BASE)
285 #define NRF_RADIOCORE_MVDMA_NS            ((NRF_MVDMA_Type*)                    NRF_RADIOCORE_MVDMA_NS_BASE)
286 #define NRF_RADIOCORE_MVDMA_S             ((NRF_MVDMA_Type*)                    NRF_RADIOCORE_MVDMA_S_BASE)
287 #define NRF_RADIOCORE_RAMC000_NS          ((NRF_RAMC_Type*)                     NRF_RADIOCORE_RAMC000_NS_BASE)
288 #define NRF_RADIOCORE_RAMC000_S           ((NRF_RAMC_Type*)                     NRF_RADIOCORE_RAMC000_S_BASE)
289 #define NRF_RADIOCORE_HSFLL_S             ((NRF_HSFLL_Type*)                    NRF_RADIOCORE_HSFLL_S_BASE)
290 #define NRF_RADIOCORE_LRCCONF000_S        ((NRF_LRCCONF_Type*)                  NRF_RADIOCORE_LRCCONF000_S_BASE)
291 #define NRF_RADIOCORE_SPU010_S            ((NRF_SPU_Type*)                      NRF_RADIOCORE_SPU010_S_BASE)
292 #define NRF_RADIOCORE_MEMCONF_NS          ((NRF_MEMCONF_Type*)                  NRF_RADIOCORE_MEMCONF_NS_BASE)
293 #define NRF_RADIOCORE_MEMCONF_S           ((NRF_MEMCONF_Type*)                  NRF_RADIOCORE_MEMCONF_S_BASE)
294 #define NRF_RADIOCORE_WDT010_NS           ((NRF_WDT_Type*)                      NRF_RADIOCORE_WDT010_NS_BASE)
295 #define NRF_RADIOCORE_WDT010_S            ((NRF_WDT_Type*)                      NRF_RADIOCORE_WDT010_S_BASE)
296 #define NRF_RADIOCORE_WDT011_NS           ((NRF_WDT_Type*)                      NRF_RADIOCORE_WDT011_NS_BASE)
297 #define NRF_RADIOCORE_WDT011_S            ((NRF_WDT_Type*)                      NRF_RADIOCORE_WDT011_S_BASE)
298 #define NRF_RADIOCORE_LRCCONF010_S        ((NRF_LRCCONF_Type*)                  NRF_RADIOCORE_LRCCONF010_S_BASE)
299 #define NRF_RADIOCORE_RESETINFO_S         ((NRF_RESETINFO_Type*)                NRF_RADIOCORE_RESETINFO_S_BASE)
300 #define NRF_RADIOCORE_SPU020_S            ((NRF_SPU_Type*)                      NRF_RADIOCORE_SPU020_S_BASE)
301 #define NRF_RADIOCORE_DPPIC020_NS         ((NRF_DPPIC_Type*)                    NRF_RADIOCORE_DPPIC020_NS_BASE)
302 #define NRF_RADIOCORE_DPPIC020_S          ((NRF_DPPIC_Type*)                    NRF_RADIOCORE_DPPIC020_S_BASE)
303 #define NRF_RADIOCORE_PPIB020_S           ((NRF_PPIB_Type*)                     NRF_RADIOCORE_PPIB020_S_BASE)
304 #define NRF_RADIOCORE_EGU020_NS           ((NRF_EGU_Type*)                      NRF_RADIOCORE_EGU020_NS_BASE)
305 #define NRF_RADIOCORE_EGU020_S            ((NRF_EGU_Type*)                      NRF_RADIOCORE_EGU020_S_BASE)
306 #define NRF_RADIOCORE_AAR020_NS           ((NRF_AAR_Type*)                      NRF_RADIOCORE_AAR020_NS_BASE)
307 #define NRF_RADIOCORE_CCM020_NS           ((NRF_CCM_Type*)                      NRF_RADIOCORE_CCM020_NS_BASE)
308 #define NRF_RADIOCORE_AAR020_S            ((NRF_AAR_Type*)                      NRF_RADIOCORE_AAR020_S_BASE)
309 #define NRF_RADIOCORE_CCM020_S            ((NRF_CCM_Type*)                      NRF_RADIOCORE_CCM020_S_BASE)
310 #define NRF_RADIOCORE_ECB020_NS           ((NRF_ECB_Type*)                      NRF_RADIOCORE_ECB020_NS_BASE)
311 #define NRF_RADIOCORE_ECB020_S            ((NRF_ECB_Type*)                      NRF_RADIOCORE_ECB020_S_BASE)
312 #define NRF_RADIOCORE_TIMER020_NS         ((NRF_TIMER_Type*)                    NRF_RADIOCORE_TIMER020_NS_BASE)
313 #define NRF_RADIOCORE_TIMER020_S          ((NRF_TIMER_Type*)                    NRF_RADIOCORE_TIMER020_S_BASE)
314 #define NRF_RADIOCORE_TIMER021_NS         ((NRF_TIMER_Type*)                    NRF_RADIOCORE_TIMER021_NS_BASE)
315 #define NRF_RADIOCORE_TIMER021_S          ((NRF_TIMER_Type*)                    NRF_RADIOCORE_TIMER021_S_BASE)
316 #define NRF_RADIOCORE_TIMER022_NS         ((NRF_TIMER_Type*)                    NRF_RADIOCORE_TIMER022_NS_BASE)
317 #define NRF_RADIOCORE_TIMER022_S          ((NRF_TIMER_Type*)                    NRF_RADIOCORE_TIMER022_S_BASE)
318 #define NRF_RADIOCORE_RTC_NS              ((NRF_RTC_Type*)                      NRF_RADIOCORE_RTC_NS_BASE)
319 #define NRF_RADIOCORE_RTC_S               ((NRF_RTC_Type*)                      NRF_RADIOCORE_RTC_S_BASE)
320 #define NRF_RADIOCORE_RADIO_NS            ((NRF_RADIO_Type*)                    NRF_RADIOCORE_RADIO_NS_BASE)
321 #define NRF_RADIOCORE_RADIO_S             ((NRF_RADIO_Type*)                    NRF_RADIOCORE_RADIO_S_BASE)
322 #define NRF_RADIOCORE_LRCCONF020_S        ((NRF_LRCCONF_Type*)                  NRF_RADIOCORE_LRCCONF020_S_BASE)
323 #define NRF_RADIOCORE_SPU030_S            ((NRF_SPU_Type*)                      NRF_RADIOCORE_SPU030_S_BASE)
324 #define NRF_RADIOCORE_PPIB030_S           ((NRF_PPIB_Type*)                     NRF_RADIOCORE_PPIB030_S_BASE)
325 #define NRF_RADIOCORE_VPR_NS              ((NRF_VPR_Type*)                      NRF_RADIOCORE_VPR_NS_BASE)
326 #define NRF_RADIOCORE_VPR_S               ((NRF_VPR_Type*)                      NRF_RADIOCORE_VPR_S_BASE)
327 #define NRF_RADIOCORE_RAMC001_NS          ((NRF_RAMC_Type*)                     NRF_RADIOCORE_RAMC001_NS_BASE)
328 #define NRF_RADIOCORE_RAMC001_S           ((NRF_RAMC_Type*)                     NRF_RADIOCORE_RAMC001_S_BASE)
329 #define NRF_RADIOCORE_AAR030_NS           ((NRF_AAR_Type*)                      NRF_RADIOCORE_AAR030_NS_BASE)
330 #define NRF_RADIOCORE_CCM030_NS           ((NRF_CCM_Type*)                      NRF_RADIOCORE_CCM030_NS_BASE)
331 #define NRF_RADIOCORE_AAR030_S            ((NRF_AAR_Type*)                      NRF_RADIOCORE_AAR030_S_BASE)
332 #define NRF_RADIOCORE_CCM030_S            ((NRF_CCM_Type*)                      NRF_RADIOCORE_CCM030_S_BASE)
333 #define NRF_RADIOCORE_ECB030_NS           ((NRF_ECB_Type*)                      NRF_RADIOCORE_ECB030_NS_BASE)
334 #define NRF_RADIOCORE_ECB030_S            ((NRF_ECB_Type*)                      NRF_RADIOCORE_ECB030_S_BASE)
335 #define NRF_RADIOCORE_IPCT_NS             ((NRF_IPCT_Type*)                     NRF_RADIOCORE_IPCT_NS_BASE)
336 #define NRF_RADIOCORE_IPCT_S              ((NRF_IPCT_Type*)                     NRF_RADIOCORE_IPCT_S_BASE)
337 #define NRF_RADIOCORE_BELLBOARD_NS        ((NRF_BELLBOARD_Type*)                NRF_RADIOCORE_BELLBOARD_NS_BASE)
338 #define NRF_RADIOCORE_BELLBOARD_S         ((NRF_BELLBOARD_Type*)                NRF_RADIOCORE_BELLBOARD_S_BASE)
339 
340 /* =========================================================================================================================== */
341 /* ================                                    TrustZone Remapping                                    ================ */
342 /* =========================================================================================================================== */
343 
344 #ifdef NRF_TRUSTZONE_NONSECURE                       /*!< Remap NRF_X_NS instances to NRF_X symbol for ease of use.            */
345   #define NRF_RADIOCORE_UICR                      NRF_RADIOCORE_UICR_NS
346   #define NRF_RADIOCORE_ETM                       NRF_RADIOCORE_ETM_NS
347   #define NRF_RADIOCORE_MVDMA                     NRF_RADIOCORE_MVDMA_NS
348   #define NRF_RADIOCORE_RAMC000                   NRF_RADIOCORE_RAMC000_NS
349   #define NRF_RADIOCORE_MEMCONF                   NRF_RADIOCORE_MEMCONF_NS
350   #define NRF_RADIOCORE_WDT010                    NRF_RADIOCORE_WDT010_NS
351   #define NRF_RADIOCORE_WDT011                    NRF_RADIOCORE_WDT011_NS
352   #define NRF_RADIOCORE_DPPIC020                  NRF_RADIOCORE_DPPIC020_NS
353   #define NRF_RADIOCORE_EGU020                    NRF_RADIOCORE_EGU020_NS
354   #define NRF_RADIOCORE_AAR020                    NRF_RADIOCORE_AAR020_NS
355   #define NRF_RADIOCORE_CCM020                    NRF_RADIOCORE_CCM020_NS
356   #define NRF_RADIOCORE_ECB020                    NRF_RADIOCORE_ECB020_NS
357   #define NRF_RADIOCORE_TIMER020                  NRF_RADIOCORE_TIMER020_NS
358   #define NRF_RADIOCORE_TIMER021                  NRF_RADIOCORE_TIMER021_NS
359   #define NRF_RADIOCORE_TIMER022                  NRF_RADIOCORE_TIMER022_NS
360   #define NRF_RADIOCORE_RTC                       NRF_RADIOCORE_RTC_NS
361   #define NRF_RADIOCORE_RADIO                     NRF_RADIOCORE_RADIO_NS
362   #define NRF_RADIOCORE_VPR                       NRF_RADIOCORE_VPR_NS
363   #define NRF_RADIOCORE_RAMC001                   NRF_RADIOCORE_RAMC001_NS
364   #define NRF_RADIOCORE_AAR030                    NRF_RADIOCORE_AAR030_NS
365   #define NRF_RADIOCORE_CCM030                    NRF_RADIOCORE_CCM030_NS
366   #define NRF_RADIOCORE_ECB030                    NRF_RADIOCORE_ECB030_NS
367   #define NRF_RADIOCORE_IPCT                      NRF_RADIOCORE_IPCT_NS
368   #define NRF_RADIOCORE_BELLBOARD                 NRF_RADIOCORE_BELLBOARD_NS
369 #else                                                /*!< Remap NRF_X_S instances to NRF_X symbol for ease of use.             */
370   #define NRF_RADIOCORE_UICR                      NRF_RADIOCORE_UICR_NS
371   #define NRF_RADIOCORE_ICACHEDATA                NRF_RADIOCORE_ICACHEDATA_S
372   #define NRF_RADIOCORE_ICACHEINFO                NRF_RADIOCORE_ICACHEINFO_S
373   #define NRF_RADIOCORE_DCACHEDATA                NRF_RADIOCORE_DCACHEDATA_S
374   #define NRF_RADIOCORE_DCACHEINFO                NRF_RADIOCORE_DCACHEINFO_S
375   #define NRF_RADIOCORE_ETM                       NRF_RADIOCORE_ETM_NS
376   #define NRF_RADIOCORE_CTI                       NRF_RADIOCORE_CTI_S
377   #define NRF_RADIOCORE_CPUC                      NRF_RADIOCORE_CPUC_S
378   #define NRF_RADIOCORE_ICACHE                    NRF_RADIOCORE_ICACHE_S
379   #define NRF_RADIOCORE_DCACHE                    NRF_RADIOCORE_DCACHE_S
380   #define NRF_RADIOCORE_SPU000                    NRF_RADIOCORE_SPU000_S
381   #define NRF_RADIOCORE_MPC                       NRF_RADIOCORE_MPC_S
382   #define NRF_RADIOCORE_MVDMA                     NRF_RADIOCORE_MVDMA_S
383   #define NRF_RADIOCORE_RAMC000                   NRF_RADIOCORE_RAMC000_S
384   #define NRF_RADIOCORE_HSFLL                     NRF_RADIOCORE_HSFLL_S
385   #define NRF_RADIOCORE_LRCCONF000                NRF_RADIOCORE_LRCCONF000_S
386   #define NRF_RADIOCORE_SPU010                    NRF_RADIOCORE_SPU010_S
387   #define NRF_RADIOCORE_MEMCONF                   NRF_RADIOCORE_MEMCONF_S
388   #define NRF_RADIOCORE_WDT010                    NRF_RADIOCORE_WDT010_S
389   #define NRF_RADIOCORE_WDT011                    NRF_RADIOCORE_WDT011_S
390   #define NRF_RADIOCORE_LRCCONF010                NRF_RADIOCORE_LRCCONF010_S
391   #define NRF_RADIOCORE_RESETINFO                 NRF_RADIOCORE_RESETINFO_S
392   #define NRF_RADIOCORE_SPU020                    NRF_RADIOCORE_SPU020_S
393   #define NRF_RADIOCORE_DPPIC020                  NRF_RADIOCORE_DPPIC020_S
394   #define NRF_RADIOCORE_PPIB020                   NRF_RADIOCORE_PPIB020_S
395   #define NRF_RADIOCORE_EGU020                    NRF_RADIOCORE_EGU020_S
396   #define NRF_RADIOCORE_AAR020                    NRF_RADIOCORE_AAR020_S
397   #define NRF_RADIOCORE_CCM020                    NRF_RADIOCORE_CCM020_S
398   #define NRF_RADIOCORE_ECB020                    NRF_RADIOCORE_ECB020_S
399   #define NRF_RADIOCORE_TIMER020                  NRF_RADIOCORE_TIMER020_S
400   #define NRF_RADIOCORE_TIMER021                  NRF_RADIOCORE_TIMER021_S
401   #define NRF_RADIOCORE_TIMER022                  NRF_RADIOCORE_TIMER022_S
402   #define NRF_RADIOCORE_RTC                       NRF_RADIOCORE_RTC_S
403   #define NRF_RADIOCORE_RADIO                     NRF_RADIOCORE_RADIO_S
404   #define NRF_RADIOCORE_LRCCONF020                NRF_RADIOCORE_LRCCONF020_S
405   #define NRF_RADIOCORE_SPU030                    NRF_RADIOCORE_SPU030_S
406   #define NRF_RADIOCORE_PPIB030                   NRF_RADIOCORE_PPIB030_S
407   #define NRF_RADIOCORE_VPR                       NRF_RADIOCORE_VPR_S
408   #define NRF_RADIOCORE_RAMC001                   NRF_RADIOCORE_RAMC001_S
409   #define NRF_RADIOCORE_AAR030                    NRF_RADIOCORE_AAR030_S
410   #define NRF_RADIOCORE_CCM030                    NRF_RADIOCORE_CCM030_S
411   #define NRF_RADIOCORE_ECB030                    NRF_RADIOCORE_ECB030_S
412   #define NRF_RADIOCORE_IPCT                      NRF_RADIOCORE_IPCT_S
413   #define NRF_RADIOCORE_BELLBOARD                 NRF_RADIOCORE_BELLBOARD_S
414 #endif                                               /*!<  NRF_TRUSTZONE_NONSECURE                                             */
415 
416 /* =========================================================================================================================== */
417 /* ================                                  Local Domain Remapping                                  ================ */
418 /* =========================================================================================================================== */
419 
420 #ifdef NRF_RADIOCORE                                 /*!< Remap NRF_DOMAIN instances to NRF_X symbol for ease of use.          */
421   #define NRF_UICR                                NRF_RADIOCORE_UICR
422   #define NRF_ICACHEDATA                          NRF_RADIOCORE_ICACHEDATA
423   #define NRF_ICACHEINFO                          NRF_RADIOCORE_ICACHEINFO
424   #define NRF_DCACHEDATA                          NRF_RADIOCORE_DCACHEDATA
425   #define NRF_DCACHEINFO                          NRF_RADIOCORE_DCACHEINFO
426   #define NRF_ETM                                 NRF_RADIOCORE_ETM
427   #define NRF_CTI                                 NRF_RADIOCORE_CTI
428   #define NRF_CPUC                                NRF_RADIOCORE_CPUC
429   #define NRF_ICACHE                              NRF_RADIOCORE_ICACHE
430   #define NRF_DCACHE                              NRF_RADIOCORE_DCACHE
431   #define NRF_SPU000                              NRF_RADIOCORE_SPU000
432   #define NRF_MPC                                 NRF_RADIOCORE_MPC
433   #define NRF_MVDMA                               NRF_RADIOCORE_MVDMA
434   #define NRF_RAMC000                             NRF_RADIOCORE_RAMC000
435   #define NRF_HSFLL                               NRF_RADIOCORE_HSFLL
436   #define NRF_LRCCONF000                          NRF_RADIOCORE_LRCCONF000
437   #define NRF_SPU010                              NRF_RADIOCORE_SPU010
438   #define NRF_MEMCONF                             NRF_RADIOCORE_MEMCONF
439   #define NRF_WDT010                              NRF_RADIOCORE_WDT010
440   #define NRF_WDT011                              NRF_RADIOCORE_WDT011
441   #define NRF_LRCCONF010                          NRF_RADIOCORE_LRCCONF010
442   #define NRF_RESETINFO                           NRF_RADIOCORE_RESETINFO
443   #define NRF_SPU020                              NRF_RADIOCORE_SPU020
444   #define NRF_DPPIC020                            NRF_RADIOCORE_DPPIC020
445   #define NRF_PPIB020                             NRF_RADIOCORE_PPIB020
446   #define NRF_EGU020                              NRF_RADIOCORE_EGU020
447   #define NRF_AAR020                              NRF_RADIOCORE_AAR020
448   #define NRF_CCM020                              NRF_RADIOCORE_CCM020
449   #define NRF_ECB020                              NRF_RADIOCORE_ECB020
450   #define NRF_TIMER020                            NRF_RADIOCORE_TIMER020
451   #define NRF_TIMER021                            NRF_RADIOCORE_TIMER021
452   #define NRF_TIMER022                            NRF_RADIOCORE_TIMER022
453   #define NRF_RTC                                 NRF_RADIOCORE_RTC
454   #define NRF_RADIO                               NRF_RADIOCORE_RADIO
455   #define NRF_LRCCONF020                          NRF_RADIOCORE_LRCCONF020
456   #define NRF_SPU030                              NRF_RADIOCORE_SPU030
457   #define NRF_PPIB030                             NRF_RADIOCORE_PPIB030
458   #define NRF_VPR                                 NRF_RADIOCORE_VPR
459   #define NRF_RAMC001                             NRF_RADIOCORE_RAMC001
460   #define NRF_AAR030                              NRF_RADIOCORE_AAR030
461   #define NRF_CCM030                              NRF_RADIOCORE_CCM030
462   #define NRF_ECB030                              NRF_RADIOCORE_ECB030
463   #define NRF_IPCT                                NRF_RADIOCORE_IPCT
464   #define NRF_BELLBOARD                           NRF_RADIOCORE_BELLBOARD
465 #endif                                               /*!< NRF_RADIOCORE                                                        */
466 
467 /* ========================================== End of section using anonymous unions ========================================== */
468 
469 #if defined (__CC_ARM)
470   #pragma pop
471 #elif defined (__ICCARM__)
472   /* leave anonymous unions enabled */
473 #elif defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050)
474   #pragma clang diagnostic pop
475 #elif defined (__GNUC__)
476   /* anonymous unions are enabled by default */
477 #elif defined (__TMS470__)
478   /* anonymous unions are enabled by default */
479 #elif defined (__TASKING__)
480   #pragma warning restore
481 #elif defined (__CSMC__)
482   /* anonymous unions are enabled by default */
483 #endif
484 
485 
486 #ifdef __cplusplus
487 }
488 #endif
489 #endif /* NRF54H20_ENGA_RADIOCORE_H */
490 
491