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