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