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 NRF54L15_GLOBAL_H 36 #define NRF54L15_GLOBAL_H 37 38 #ifdef __cplusplus 39 extern "C" { 40 #endif 41 42 43 /* ========================================= Start of section using anonymous unions ========================================= */ 44 45 #include "compiler_abstraction.h" 46 47 #if defined (__CC_ARM) 48 #pragma push 49 #pragma anon_unions 50 #elif defined (__ICCARM__) 51 #pragma language=extended 52 #elif defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) 53 #pragma clang diagnostic push 54 #pragma clang diagnostic ignored "-Wc11-extensions" 55 #pragma clang diagnostic ignored "-Wreserved-id-macro" 56 #pragma clang diagnostic ignored "-Wgnu-anonymous-struct" 57 #pragma clang diagnostic ignored "-Wnested-anon-types" 58 #elif defined (__GNUC__) 59 /* anonymous unions are enabled by default */ 60 #elif defined (__TMS470__) 61 /* anonymous unions are enabled by default */ 62 #elif defined (__TASKING__) 63 #pragma warning 586 64 #elif defined (__CSMC__) 65 /* anonymous unions are enabled by default */ 66 #else 67 #warning Unsupported compiler type 68 #endif 69 70 /* =========================================================================================================================== */ 71 /* ================ Peripheral Address Map ================ */ 72 /* =========================================================================================================================== */ 73 74 #define NRF_FICR_NS_BASE 0x00FFC000UL 75 #define NRF_UICR_S_BASE 0x00FFD000UL 76 #define NRF_SICR_S_BASE 0x00FFE000UL 77 #define NRF_CRACENCORE_S_BASE 0x51800000UL 78 #define NRF_SPU00_S_BASE 0x50040000UL 79 #define NRF_MPC00_S_BASE 0x50041000UL 80 #define NRF_DPPIC00_NS_BASE 0x40042000UL 81 #define NRF_DPPIC00_S_BASE 0x50042000UL 82 #define NRF_PPIB00_NS_BASE 0x40043000UL 83 #define NRF_PPIB00_S_BASE 0x50043000UL 84 #define NRF_PPIB01_NS_BASE 0x40044000UL 85 #define NRF_PPIB01_S_BASE 0x50044000UL 86 #define NRF_KMU_S_BASE 0x50045000UL 87 #define NRF_AAR00_NS_BASE 0x40046000UL 88 #define NRF_CCM00_NS_BASE 0x40046000UL 89 #define NRF_AAR00_S_BASE 0x50046000UL 90 #define NRF_CCM00_S_BASE 0x50046000UL 91 #define NRF_ECB00_NS_BASE 0x40047000UL 92 #define NRF_ECB00_S_BASE 0x50047000UL 93 #define NRF_CRACEN_S_BASE 0x50048000UL 94 #define NRF_SPIM00_NS_BASE 0x4004A000UL 95 #define NRF_SPIS00_NS_BASE 0x4004A000UL 96 #define NRF_UARTE00_NS_BASE 0x4004A000UL 97 #define NRF_SPIM00_S_BASE 0x5004A000UL 98 #define NRF_SPIS00_S_BASE 0x5004A000UL 99 #define NRF_UARTE00_S_BASE 0x5004A000UL 100 #define NRF_GLITCHDET_S_BASE 0x5004B000UL 101 #define NRF_RRAMC_S_BASE 0x5004B000UL 102 #define NRF_VPR00_NS_BASE 0x4004C000UL 103 #define NRF_VPR00_S_BASE 0x5004C000UL 104 #define NRF_P2_NS_BASE 0x40050400UL 105 #define NRF_P2_S_BASE 0x50050400UL 106 #define NRF_CTRLAP_NS_BASE 0x40052000UL 107 #define NRF_CTRLAP_S_BASE 0x50052000UL 108 #define NRF_TAD_NS_BASE 0x40053000UL 109 #define NRF_TAD_S_BASE 0x50053000UL 110 #define NRF_TIMER00_NS_BASE 0x40055000UL 111 #define NRF_TIMER00_S_BASE 0x50055000UL 112 #define NRF_SPU10_S_BASE 0x50080000UL 113 #define NRF_DPPIC10_NS_BASE 0x40082000UL 114 #define NRF_DPPIC10_S_BASE 0x50082000UL 115 #define NRF_PPIB10_NS_BASE 0x40083000UL 116 #define NRF_PPIB10_S_BASE 0x50083000UL 117 #define NRF_PPIB11_NS_BASE 0x40084000UL 118 #define NRF_PPIB11_S_BASE 0x50084000UL 119 #define NRF_TIMER10_NS_BASE 0x40085000UL 120 #define NRF_TIMER10_S_BASE 0x50085000UL 121 #define NRF_RTC10_NS_BASE 0x40086000UL 122 #define NRF_RTC10_S_BASE 0x50086000UL 123 #define NRF_EGU10_NS_BASE 0x40087000UL 124 #define NRF_EGU10_S_BASE 0x50087000UL 125 #define NRF_RADIO_NS_BASE 0x4008A000UL 126 #define NRF_RADIO_S_BASE 0x5008A000UL 127 #define NRF_SPU20_S_BASE 0x500C0000UL 128 #define NRF_DPPIC20_NS_BASE 0x400C2000UL 129 #define NRF_DPPIC20_S_BASE 0x500C2000UL 130 #define NRF_PPIB20_NS_BASE 0x400C3000UL 131 #define NRF_PPIB20_S_BASE 0x500C3000UL 132 #define NRF_PPIB21_NS_BASE 0x400C4000UL 133 #define NRF_PPIB21_S_BASE 0x500C4000UL 134 #define NRF_PPIB22_NS_BASE 0x400C5000UL 135 #define NRF_PPIB22_S_BASE 0x500C5000UL 136 #define NRF_SPIM20_NS_BASE 0x400C6000UL 137 #define NRF_SPIS20_NS_BASE 0x400C6000UL 138 #define NRF_TWIM20_NS_BASE 0x400C6000UL 139 #define NRF_TWIS20_NS_BASE 0x400C6000UL 140 #define NRF_UARTE20_NS_BASE 0x400C6000UL 141 #define NRF_SPIM20_S_BASE 0x500C6000UL 142 #define NRF_SPIS20_S_BASE 0x500C6000UL 143 #define NRF_TWIM20_S_BASE 0x500C6000UL 144 #define NRF_TWIS20_S_BASE 0x500C6000UL 145 #define NRF_UARTE20_S_BASE 0x500C6000UL 146 #define NRF_SPIM21_NS_BASE 0x400C7000UL 147 #define NRF_SPIS21_NS_BASE 0x400C7000UL 148 #define NRF_TWIM21_NS_BASE 0x400C7000UL 149 #define NRF_TWIS21_NS_BASE 0x400C7000UL 150 #define NRF_UARTE21_NS_BASE 0x400C7000UL 151 #define NRF_SPIM21_S_BASE 0x500C7000UL 152 #define NRF_SPIS21_S_BASE 0x500C7000UL 153 #define NRF_TWIM21_S_BASE 0x500C7000UL 154 #define NRF_TWIS21_S_BASE 0x500C7000UL 155 #define NRF_UARTE21_S_BASE 0x500C7000UL 156 #define NRF_SPIM22_NS_BASE 0x400C8000UL 157 #define NRF_SPIS22_NS_BASE 0x400C8000UL 158 #define NRF_TWIM22_NS_BASE 0x400C8000UL 159 #define NRF_TWIS22_NS_BASE 0x400C8000UL 160 #define NRF_UARTE22_NS_BASE 0x400C8000UL 161 #define NRF_SPIM22_S_BASE 0x500C8000UL 162 #define NRF_SPIS22_S_BASE 0x500C8000UL 163 #define NRF_TWIM22_S_BASE 0x500C8000UL 164 #define NRF_TWIS22_S_BASE 0x500C8000UL 165 #define NRF_UARTE22_S_BASE 0x500C8000UL 166 #define NRF_EGU20_NS_BASE 0x400C9000UL 167 #define NRF_EGU20_S_BASE 0x500C9000UL 168 #define NRF_TIMER20_NS_BASE 0x400CA000UL 169 #define NRF_TIMER20_S_BASE 0x500CA000UL 170 #define NRF_TIMER21_NS_BASE 0x400CB000UL 171 #define NRF_TIMER21_S_BASE 0x500CB000UL 172 #define NRF_TIMER22_NS_BASE 0x400CC000UL 173 #define NRF_TIMER22_S_BASE 0x500CC000UL 174 #define NRF_TIMER23_NS_BASE 0x400CD000UL 175 #define NRF_TIMER23_S_BASE 0x500CD000UL 176 #define NRF_TIMER24_NS_BASE 0x400CE000UL 177 #define NRF_TIMER24_S_BASE 0x500CE000UL 178 #define NRF_MEMCONF_NS_BASE 0x400CF000UL 179 #define NRF_MEMCONF_S_BASE 0x500CF000UL 180 #define NRF_PDM20_NS_BASE 0x400D0000UL 181 #define NRF_PDM20_S_BASE 0x500D0000UL 182 #define NRF_PDM21_NS_BASE 0x400D1000UL 183 #define NRF_PDM21_S_BASE 0x500D1000UL 184 #define NRF_PWM20_NS_BASE 0x400D2000UL 185 #define NRF_PWM20_S_BASE 0x500D2000UL 186 #define NRF_PWM21_NS_BASE 0x400D3000UL 187 #define NRF_PWM21_S_BASE 0x500D3000UL 188 #define NRF_PWM22_NS_BASE 0x400D4000UL 189 #define NRF_PWM22_S_BASE 0x500D4000UL 190 #define NRF_SAADC_NS_BASE 0x400D5000UL 191 #define NRF_SAADC_S_BASE 0x500D5000UL 192 #define NRF_NFCT_NS_BASE 0x400D6000UL 193 #define NRF_NFCT_S_BASE 0x500D6000UL 194 #define NRF_TEMP_NS_BASE 0x400D7000UL 195 #define NRF_TEMP_S_BASE 0x500D7000UL 196 #define NRF_P1_NS_BASE 0x400D8200UL 197 #define NRF_P1_S_BASE 0x500D8200UL 198 #define NRF_GPIOTE20_NS_BASE 0x400DA000UL 199 #define NRF_GPIOTE20_S_BASE 0x500DA000UL 200 #define NRF_TAMPC_S_BASE 0x500DC000UL 201 #define NRF_I2S20_NS_BASE 0x400DD000UL 202 #define NRF_I2S20_S_BASE 0x500DD000UL 203 #define NRF_QDEC20_NS_BASE 0x400E0000UL 204 #define NRF_QDEC20_S_BASE 0x500E0000UL 205 #define NRF_QDEC21_NS_BASE 0x400E1000UL 206 #define NRF_QDEC21_S_BASE 0x500E1000UL 207 #define NRF_GRTC_NS_BASE 0x400E2000UL 208 #define NRF_GRTC_S_BASE 0x500E2000UL 209 #define NRF_SPU30_S_BASE 0x50100000UL 210 #define NRF_DPPIC30_NS_BASE 0x40102000UL 211 #define NRF_DPPIC30_S_BASE 0x50102000UL 212 #define NRF_PPIB30_NS_BASE 0x40103000UL 213 #define NRF_PPIB30_S_BASE 0x50103000UL 214 #define NRF_SPIM30_NS_BASE 0x40104000UL 215 #define NRF_SPIS30_NS_BASE 0x40104000UL 216 #define NRF_TWIM30_NS_BASE 0x40104000UL 217 #define NRF_TWIS30_NS_BASE 0x40104000UL 218 #define NRF_UARTE30_NS_BASE 0x40104000UL 219 #define NRF_SPIM30_S_BASE 0x50104000UL 220 #define NRF_SPIS30_S_BASE 0x50104000UL 221 #define NRF_TWIM30_S_BASE 0x50104000UL 222 #define NRF_TWIS30_S_BASE 0x50104000UL 223 #define NRF_UARTE30_S_BASE 0x50104000UL 224 #define NRF_RTC30_NS_BASE 0x40105000UL 225 #define NRF_RTC30_S_BASE 0x50105000UL 226 #define NRF_COMP_NS_BASE 0x40106000UL 227 #define NRF_LPCOMP_NS_BASE 0x40106000UL 228 #define NRF_COMP_S_BASE 0x50106000UL 229 #define NRF_LPCOMP_S_BASE 0x50106000UL 230 #define NRF_WDT30_S_BASE 0x50108000UL 231 #define NRF_WDT31_NS_BASE 0x40109000UL 232 #define NRF_WDT31_S_BASE 0x50109000UL 233 #define NRF_P0_NS_BASE 0x4010A000UL 234 #define NRF_P0_S_BASE 0x5010A000UL 235 #define NRF_GPIOTE30_NS_BASE 0x4010C000UL 236 #define NRF_GPIOTE30_S_BASE 0x5010C000UL 237 #define NRF_CLOCK_NS_BASE 0x4010E000UL 238 #define NRF_POWER_NS_BASE 0x4010E000UL 239 #define NRF_RESET_NS_BASE 0x4010E000UL 240 #define NRF_CLOCK_S_BASE 0x5010E000UL 241 #define NRF_POWER_S_BASE 0x5010E000UL 242 #define NRF_RESET_S_BASE 0x5010E000UL 243 #define NRF_OSCILLATORS_NS_BASE 0x40120000UL 244 #define NRF_REGULATORS_NS_BASE 0x40120000UL 245 #define NRF_OSCILLATORS_S_BASE 0x50120000UL 246 #define NRF_REGULATORS_S_BASE 0x50120000UL 247 248 /* =========================================================================================================================== */ 249 /* ================ Peripheral Declaration ================ */ 250 /* =========================================================================================================================== */ 251 252 #define NRF_FICR_NS ((NRF_FICR_Type*) NRF_FICR_NS_BASE) 253 #define NRF_UICR_S ((NRF_UICR_Type*) NRF_UICR_S_BASE) 254 #define NRF_SICR_S ((NRF_SICR_Type*) NRF_SICR_S_BASE) 255 #define NRF_CRACENCORE_S ((NRF_CRACENCORE_Type*) NRF_CRACENCORE_S_BASE) 256 #define NRF_SPU00_S ((NRF_SPU_Type*) NRF_SPU00_S_BASE) 257 #define NRF_MPC00_S ((NRF_MPC_Type*) NRF_MPC00_S_BASE) 258 #define NRF_DPPIC00_NS ((NRF_DPPIC_Type*) NRF_DPPIC00_NS_BASE) 259 #define NRF_DPPIC00_S ((NRF_DPPIC_Type*) NRF_DPPIC00_S_BASE) 260 #define NRF_PPIB00_NS ((NRF_PPIB_Type*) NRF_PPIB00_NS_BASE) 261 #define NRF_PPIB00_S ((NRF_PPIB_Type*) NRF_PPIB00_S_BASE) 262 #define NRF_PPIB01_NS ((NRF_PPIB_Type*) NRF_PPIB01_NS_BASE) 263 #define NRF_PPIB01_S ((NRF_PPIB_Type*) NRF_PPIB01_S_BASE) 264 #define NRF_KMU_S ((NRF_KMU_Type*) NRF_KMU_S_BASE) 265 #define NRF_AAR00_NS ((NRF_AAR_Type*) NRF_AAR00_NS_BASE) 266 #define NRF_CCM00_NS ((NRF_CCM_Type*) NRF_CCM00_NS_BASE) 267 #define NRF_AAR00_S ((NRF_AAR_Type*) NRF_AAR00_S_BASE) 268 #define NRF_CCM00_S ((NRF_CCM_Type*) NRF_CCM00_S_BASE) 269 #define NRF_ECB00_NS ((NRF_ECB_Type*) NRF_ECB00_NS_BASE) 270 #define NRF_ECB00_S ((NRF_ECB_Type*) NRF_ECB00_S_BASE) 271 #define NRF_CRACEN_S ((NRF_CRACEN_Type*) NRF_CRACEN_S_BASE) 272 #define NRF_SPIM00_NS ((NRF_SPIM_Type*) NRF_SPIM00_NS_BASE) 273 #define NRF_SPIS00_NS ((NRF_SPIS_Type*) NRF_SPIS00_NS_BASE) 274 #define NRF_UARTE00_NS ((NRF_UARTE_Type*) NRF_UARTE00_NS_BASE) 275 #define NRF_SPIM00_S ((NRF_SPIM_Type*) NRF_SPIM00_S_BASE) 276 #define NRF_SPIS00_S ((NRF_SPIS_Type*) NRF_SPIS00_S_BASE) 277 #define NRF_UARTE00_S ((NRF_UARTE_Type*) NRF_UARTE00_S_BASE) 278 #define NRF_GLITCHDET_S ((NRF_GLITCHDET_Type*) NRF_GLITCHDET_S_BASE) 279 #define NRF_RRAMC_S ((NRF_RRAMC_Type*) NRF_RRAMC_S_BASE) 280 #define NRF_VPR00_NS ((NRF_VPR_Type*) NRF_VPR00_NS_BASE) 281 #define NRF_VPR00_S ((NRF_VPR_Type*) NRF_VPR00_S_BASE) 282 #define NRF_P2_NS ((NRF_GPIO_Type*) NRF_P2_NS_BASE) 283 #define NRF_P2_S ((NRF_GPIO_Type*) NRF_P2_S_BASE) 284 #define NRF_CTRLAP_NS ((NRF_CTRLAPPERI_Type*) NRF_CTRLAP_NS_BASE) 285 #define NRF_CTRLAP_S ((NRF_CTRLAPPERI_Type*) NRF_CTRLAP_S_BASE) 286 #define NRF_TAD_NS ((NRF_TAD_Type*) NRF_TAD_NS_BASE) 287 #define NRF_TAD_S ((NRF_TAD_Type*) NRF_TAD_S_BASE) 288 #define NRF_TIMER00_NS ((NRF_TIMER_Type*) NRF_TIMER00_NS_BASE) 289 #define NRF_TIMER00_S ((NRF_TIMER_Type*) NRF_TIMER00_S_BASE) 290 #define NRF_SPU10_S ((NRF_SPU_Type*) NRF_SPU10_S_BASE) 291 #define NRF_DPPIC10_NS ((NRF_DPPIC_Type*) NRF_DPPIC10_NS_BASE) 292 #define NRF_DPPIC10_S ((NRF_DPPIC_Type*) NRF_DPPIC10_S_BASE) 293 #define NRF_PPIB10_NS ((NRF_PPIB_Type*) NRF_PPIB10_NS_BASE) 294 #define NRF_PPIB10_S ((NRF_PPIB_Type*) NRF_PPIB10_S_BASE) 295 #define NRF_PPIB11_NS ((NRF_PPIB_Type*) NRF_PPIB11_NS_BASE) 296 #define NRF_PPIB11_S ((NRF_PPIB_Type*) NRF_PPIB11_S_BASE) 297 #define NRF_TIMER10_NS ((NRF_TIMER_Type*) NRF_TIMER10_NS_BASE) 298 #define NRF_TIMER10_S ((NRF_TIMER_Type*) NRF_TIMER10_S_BASE) 299 #define NRF_RTC10_NS ((NRF_RTC_Type*) NRF_RTC10_NS_BASE) 300 #define NRF_RTC10_S ((NRF_RTC_Type*) NRF_RTC10_S_BASE) 301 #define NRF_EGU10_NS ((NRF_EGU_Type*) NRF_EGU10_NS_BASE) 302 #define NRF_EGU10_S ((NRF_EGU_Type*) NRF_EGU10_S_BASE) 303 #define NRF_RADIO_NS ((NRF_RADIO_Type*) NRF_RADIO_NS_BASE) 304 #define NRF_RADIO_S ((NRF_RADIO_Type*) NRF_RADIO_S_BASE) 305 #define NRF_SPU20_S ((NRF_SPU_Type*) NRF_SPU20_S_BASE) 306 #define NRF_DPPIC20_NS ((NRF_DPPIC_Type*) NRF_DPPIC20_NS_BASE) 307 #define NRF_DPPIC20_S ((NRF_DPPIC_Type*) NRF_DPPIC20_S_BASE) 308 #define NRF_PPIB20_NS ((NRF_PPIB_Type*) NRF_PPIB20_NS_BASE) 309 #define NRF_PPIB20_S ((NRF_PPIB_Type*) NRF_PPIB20_S_BASE) 310 #define NRF_PPIB21_NS ((NRF_PPIB_Type*) NRF_PPIB21_NS_BASE) 311 #define NRF_PPIB21_S ((NRF_PPIB_Type*) NRF_PPIB21_S_BASE) 312 #define NRF_PPIB22_NS ((NRF_PPIB_Type*) NRF_PPIB22_NS_BASE) 313 #define NRF_PPIB22_S ((NRF_PPIB_Type*) NRF_PPIB22_S_BASE) 314 #define NRF_SPIM20_NS ((NRF_SPIM_Type*) NRF_SPIM20_NS_BASE) 315 #define NRF_SPIS20_NS ((NRF_SPIS_Type*) NRF_SPIS20_NS_BASE) 316 #define NRF_TWIM20_NS ((NRF_TWIM_Type*) NRF_TWIM20_NS_BASE) 317 #define NRF_TWIS20_NS ((NRF_TWIS_Type*) NRF_TWIS20_NS_BASE) 318 #define NRF_UARTE20_NS ((NRF_UARTE_Type*) NRF_UARTE20_NS_BASE) 319 #define NRF_SPIM20_S ((NRF_SPIM_Type*) NRF_SPIM20_S_BASE) 320 #define NRF_SPIS20_S ((NRF_SPIS_Type*) NRF_SPIS20_S_BASE) 321 #define NRF_TWIM20_S ((NRF_TWIM_Type*) NRF_TWIM20_S_BASE) 322 #define NRF_TWIS20_S ((NRF_TWIS_Type*) NRF_TWIS20_S_BASE) 323 #define NRF_UARTE20_S ((NRF_UARTE_Type*) NRF_UARTE20_S_BASE) 324 #define NRF_SPIM21_NS ((NRF_SPIM_Type*) NRF_SPIM21_NS_BASE) 325 #define NRF_SPIS21_NS ((NRF_SPIS_Type*) NRF_SPIS21_NS_BASE) 326 #define NRF_TWIM21_NS ((NRF_TWIM_Type*) NRF_TWIM21_NS_BASE) 327 #define NRF_TWIS21_NS ((NRF_TWIS_Type*) NRF_TWIS21_NS_BASE) 328 #define NRF_UARTE21_NS ((NRF_UARTE_Type*) NRF_UARTE21_NS_BASE) 329 #define NRF_SPIM21_S ((NRF_SPIM_Type*) NRF_SPIM21_S_BASE) 330 #define NRF_SPIS21_S ((NRF_SPIS_Type*) NRF_SPIS21_S_BASE) 331 #define NRF_TWIM21_S ((NRF_TWIM_Type*) NRF_TWIM21_S_BASE) 332 #define NRF_TWIS21_S ((NRF_TWIS_Type*) NRF_TWIS21_S_BASE) 333 #define NRF_UARTE21_S ((NRF_UARTE_Type*) NRF_UARTE21_S_BASE) 334 #define NRF_SPIM22_NS ((NRF_SPIM_Type*) NRF_SPIM22_NS_BASE) 335 #define NRF_SPIS22_NS ((NRF_SPIS_Type*) NRF_SPIS22_NS_BASE) 336 #define NRF_TWIM22_NS ((NRF_TWIM_Type*) NRF_TWIM22_NS_BASE) 337 #define NRF_TWIS22_NS ((NRF_TWIS_Type*) NRF_TWIS22_NS_BASE) 338 #define NRF_UARTE22_NS ((NRF_UARTE_Type*) NRF_UARTE22_NS_BASE) 339 #define NRF_SPIM22_S ((NRF_SPIM_Type*) NRF_SPIM22_S_BASE) 340 #define NRF_SPIS22_S ((NRF_SPIS_Type*) NRF_SPIS22_S_BASE) 341 #define NRF_TWIM22_S ((NRF_TWIM_Type*) NRF_TWIM22_S_BASE) 342 #define NRF_TWIS22_S ((NRF_TWIS_Type*) NRF_TWIS22_S_BASE) 343 #define NRF_UARTE22_S ((NRF_UARTE_Type*) NRF_UARTE22_S_BASE) 344 #define NRF_EGU20_NS ((NRF_EGU_Type*) NRF_EGU20_NS_BASE) 345 #define NRF_EGU20_S ((NRF_EGU_Type*) NRF_EGU20_S_BASE) 346 #define NRF_TIMER20_NS ((NRF_TIMER_Type*) NRF_TIMER20_NS_BASE) 347 #define NRF_TIMER20_S ((NRF_TIMER_Type*) NRF_TIMER20_S_BASE) 348 #define NRF_TIMER21_NS ((NRF_TIMER_Type*) NRF_TIMER21_NS_BASE) 349 #define NRF_TIMER21_S ((NRF_TIMER_Type*) NRF_TIMER21_S_BASE) 350 #define NRF_TIMER22_NS ((NRF_TIMER_Type*) NRF_TIMER22_NS_BASE) 351 #define NRF_TIMER22_S ((NRF_TIMER_Type*) NRF_TIMER22_S_BASE) 352 #define NRF_TIMER23_NS ((NRF_TIMER_Type*) NRF_TIMER23_NS_BASE) 353 #define NRF_TIMER23_S ((NRF_TIMER_Type*) NRF_TIMER23_S_BASE) 354 #define NRF_TIMER24_NS ((NRF_TIMER_Type*) NRF_TIMER24_NS_BASE) 355 #define NRF_TIMER24_S ((NRF_TIMER_Type*) NRF_TIMER24_S_BASE) 356 #define NRF_MEMCONF_NS ((NRF_MEMCONF_Type*) NRF_MEMCONF_NS_BASE) 357 #define NRF_MEMCONF_S ((NRF_MEMCONF_Type*) NRF_MEMCONF_S_BASE) 358 #define NRF_PDM20_NS ((NRF_PDM_Type*) NRF_PDM20_NS_BASE) 359 #define NRF_PDM20_S ((NRF_PDM_Type*) NRF_PDM20_S_BASE) 360 #define NRF_PDM21_NS ((NRF_PDM_Type*) NRF_PDM21_NS_BASE) 361 #define NRF_PDM21_S ((NRF_PDM_Type*) NRF_PDM21_S_BASE) 362 #define NRF_PWM20_NS ((NRF_PWM_Type*) NRF_PWM20_NS_BASE) 363 #define NRF_PWM20_S ((NRF_PWM_Type*) NRF_PWM20_S_BASE) 364 #define NRF_PWM21_NS ((NRF_PWM_Type*) NRF_PWM21_NS_BASE) 365 #define NRF_PWM21_S ((NRF_PWM_Type*) NRF_PWM21_S_BASE) 366 #define NRF_PWM22_NS ((NRF_PWM_Type*) NRF_PWM22_NS_BASE) 367 #define NRF_PWM22_S ((NRF_PWM_Type*) NRF_PWM22_S_BASE) 368 #define NRF_SAADC_NS ((NRF_SAADC_Type*) NRF_SAADC_NS_BASE) 369 #define NRF_SAADC_S ((NRF_SAADC_Type*) NRF_SAADC_S_BASE) 370 #define NRF_NFCT_NS ((NRF_NFCT_Type*) NRF_NFCT_NS_BASE) 371 #define NRF_NFCT_S ((NRF_NFCT_Type*) NRF_NFCT_S_BASE) 372 #define NRF_TEMP_NS ((NRF_TEMP_Type*) NRF_TEMP_NS_BASE) 373 #define NRF_TEMP_S ((NRF_TEMP_Type*) NRF_TEMP_S_BASE) 374 #define NRF_P1_NS ((NRF_GPIO_Type*) NRF_P1_NS_BASE) 375 #define NRF_P1_S ((NRF_GPIO_Type*) NRF_P1_S_BASE) 376 #define NRF_GPIOTE20_NS ((NRF_GPIOTE_Type*) NRF_GPIOTE20_NS_BASE) 377 #define NRF_GPIOTE20_S ((NRF_GPIOTE_Type*) NRF_GPIOTE20_S_BASE) 378 #define NRF_TAMPC_S ((NRF_TAMPC_Type*) NRF_TAMPC_S_BASE) 379 #define NRF_I2S20_NS ((NRF_I2S_Type*) NRF_I2S20_NS_BASE) 380 #define NRF_I2S20_S ((NRF_I2S_Type*) NRF_I2S20_S_BASE) 381 #define NRF_QDEC20_NS ((NRF_QDEC_Type*) NRF_QDEC20_NS_BASE) 382 #define NRF_QDEC20_S ((NRF_QDEC_Type*) NRF_QDEC20_S_BASE) 383 #define NRF_QDEC21_NS ((NRF_QDEC_Type*) NRF_QDEC21_NS_BASE) 384 #define NRF_QDEC21_S ((NRF_QDEC_Type*) NRF_QDEC21_S_BASE) 385 #define NRF_GRTC_NS ((NRF_GRTC_Type*) NRF_GRTC_NS_BASE) 386 #define NRF_GRTC_S ((NRF_GRTC_Type*) NRF_GRTC_S_BASE) 387 #define NRF_SPU30_S ((NRF_SPU_Type*) NRF_SPU30_S_BASE) 388 #define NRF_DPPIC30_NS ((NRF_DPPIC_Type*) NRF_DPPIC30_NS_BASE) 389 #define NRF_DPPIC30_S ((NRF_DPPIC_Type*) NRF_DPPIC30_S_BASE) 390 #define NRF_PPIB30_NS ((NRF_PPIB_Type*) NRF_PPIB30_NS_BASE) 391 #define NRF_PPIB30_S ((NRF_PPIB_Type*) NRF_PPIB30_S_BASE) 392 #define NRF_SPIM30_NS ((NRF_SPIM_Type*) NRF_SPIM30_NS_BASE) 393 #define NRF_SPIS30_NS ((NRF_SPIS_Type*) NRF_SPIS30_NS_BASE) 394 #define NRF_TWIM30_NS ((NRF_TWIM_Type*) NRF_TWIM30_NS_BASE) 395 #define NRF_TWIS30_NS ((NRF_TWIS_Type*) NRF_TWIS30_NS_BASE) 396 #define NRF_UARTE30_NS ((NRF_UARTE_Type*) NRF_UARTE30_NS_BASE) 397 #define NRF_SPIM30_S ((NRF_SPIM_Type*) NRF_SPIM30_S_BASE) 398 #define NRF_SPIS30_S ((NRF_SPIS_Type*) NRF_SPIS30_S_BASE) 399 #define NRF_TWIM30_S ((NRF_TWIM_Type*) NRF_TWIM30_S_BASE) 400 #define NRF_TWIS30_S ((NRF_TWIS_Type*) NRF_TWIS30_S_BASE) 401 #define NRF_UARTE30_S ((NRF_UARTE_Type*) NRF_UARTE30_S_BASE) 402 #define NRF_RTC30_NS ((NRF_RTC_Type*) NRF_RTC30_NS_BASE) 403 #define NRF_RTC30_S ((NRF_RTC_Type*) NRF_RTC30_S_BASE) 404 #define NRF_COMP_NS ((NRF_COMP_Type*) NRF_COMP_NS_BASE) 405 #define NRF_LPCOMP_NS ((NRF_LPCOMP_Type*) NRF_LPCOMP_NS_BASE) 406 #define NRF_COMP_S ((NRF_COMP_Type*) NRF_COMP_S_BASE) 407 #define NRF_LPCOMP_S ((NRF_LPCOMP_Type*) NRF_LPCOMP_S_BASE) 408 #define NRF_WDT30_S ((NRF_WDT_Type*) NRF_WDT30_S_BASE) 409 #define NRF_WDT31_NS ((NRF_WDT_Type*) NRF_WDT31_NS_BASE) 410 #define NRF_WDT31_S ((NRF_WDT_Type*) NRF_WDT31_S_BASE) 411 #define NRF_P0_NS ((NRF_GPIO_Type*) NRF_P0_NS_BASE) 412 #define NRF_P0_S ((NRF_GPIO_Type*) NRF_P0_S_BASE) 413 #define NRF_GPIOTE30_NS ((NRF_GPIOTE_Type*) NRF_GPIOTE30_NS_BASE) 414 #define NRF_GPIOTE30_S ((NRF_GPIOTE_Type*) NRF_GPIOTE30_S_BASE) 415 #define NRF_CLOCK_NS ((NRF_CLOCK_Type*) NRF_CLOCK_NS_BASE) 416 #define NRF_POWER_NS ((NRF_POWER_Type*) NRF_POWER_NS_BASE) 417 #define NRF_RESET_NS ((NRF_RESET_Type*) NRF_RESET_NS_BASE) 418 #define NRF_CLOCK_S ((NRF_CLOCK_Type*) NRF_CLOCK_S_BASE) 419 #define NRF_POWER_S ((NRF_POWER_Type*) NRF_POWER_S_BASE) 420 #define NRF_RESET_S ((NRF_RESET_Type*) NRF_RESET_S_BASE) 421 #define NRF_OSCILLATORS_NS ((NRF_OSCILLATORS_Type*) NRF_OSCILLATORS_NS_BASE) 422 #define NRF_REGULATORS_NS ((NRF_REGULATORS_Type*) NRF_REGULATORS_NS_BASE) 423 #define NRF_OSCILLATORS_S ((NRF_OSCILLATORS_Type*) NRF_OSCILLATORS_S_BASE) 424 #define NRF_REGULATORS_S ((NRF_REGULATORS_Type*) NRF_REGULATORS_S_BASE) 425 426 /* =========================================================================================================================== */ 427 /* ================ TrustZone Remapping ================ */ 428 /* =========================================================================================================================== */ 429 430 #ifdef NRF_TRUSTZONE_NONSECURE /*!< Remap NRF_X_NS instances to NRF_X symbol for ease of use. */ 431 #define NRF_FICR NRF_FICR_NS 432 #define NRF_DPPIC00 NRF_DPPIC00_NS 433 #define NRF_PPIB00 NRF_PPIB00_NS 434 #define NRF_PPIB01 NRF_PPIB01_NS 435 #define NRF_AAR00 NRF_AAR00_NS 436 #define NRF_CCM00 NRF_CCM00_NS 437 #define NRF_ECB00 NRF_ECB00_NS 438 #define NRF_SPIM00 NRF_SPIM00_NS 439 #define NRF_SPIS00 NRF_SPIS00_NS 440 #define NRF_UARTE00 NRF_UARTE00_NS 441 #define NRF_VPR00 NRF_VPR00_NS 442 #define NRF_P2 NRF_P2_NS 443 #define NRF_CTRLAP NRF_CTRLAP_NS 444 #define NRF_TAD NRF_TAD_NS 445 #define NRF_TIMER00 NRF_TIMER00_NS 446 #define NRF_DPPIC10 NRF_DPPIC10_NS 447 #define NRF_PPIB10 NRF_PPIB10_NS 448 #define NRF_PPIB11 NRF_PPIB11_NS 449 #define NRF_TIMER10 NRF_TIMER10_NS 450 #define NRF_RTC10 NRF_RTC10_NS 451 #define NRF_EGU10 NRF_EGU10_NS 452 #define NRF_RADIO NRF_RADIO_NS 453 #define NRF_DPPIC20 NRF_DPPIC20_NS 454 #define NRF_PPIB20 NRF_PPIB20_NS 455 #define NRF_PPIB21 NRF_PPIB21_NS 456 #define NRF_PPIB22 NRF_PPIB22_NS 457 #define NRF_SPIM20 NRF_SPIM20_NS 458 #define NRF_SPIS20 NRF_SPIS20_NS 459 #define NRF_TWIM20 NRF_TWIM20_NS 460 #define NRF_TWIS20 NRF_TWIS20_NS 461 #define NRF_UARTE20 NRF_UARTE20_NS 462 #define NRF_SPIM21 NRF_SPIM21_NS 463 #define NRF_SPIS21 NRF_SPIS21_NS 464 #define NRF_TWIM21 NRF_TWIM21_NS 465 #define NRF_TWIS21 NRF_TWIS21_NS 466 #define NRF_UARTE21 NRF_UARTE21_NS 467 #define NRF_SPIM22 NRF_SPIM22_NS 468 #define NRF_SPIS22 NRF_SPIS22_NS 469 #define NRF_TWIM22 NRF_TWIM22_NS 470 #define NRF_TWIS22 NRF_TWIS22_NS 471 #define NRF_UARTE22 NRF_UARTE22_NS 472 #define NRF_EGU20 NRF_EGU20_NS 473 #define NRF_TIMER20 NRF_TIMER20_NS 474 #define NRF_TIMER21 NRF_TIMER21_NS 475 #define NRF_TIMER22 NRF_TIMER22_NS 476 #define NRF_TIMER23 NRF_TIMER23_NS 477 #define NRF_TIMER24 NRF_TIMER24_NS 478 #define NRF_MEMCONF NRF_MEMCONF_NS 479 #define NRF_PDM20 NRF_PDM20_NS 480 #define NRF_PDM21 NRF_PDM21_NS 481 #define NRF_PWM20 NRF_PWM20_NS 482 #define NRF_PWM21 NRF_PWM21_NS 483 #define NRF_PWM22 NRF_PWM22_NS 484 #define NRF_SAADC NRF_SAADC_NS 485 #define NRF_NFCT NRF_NFCT_NS 486 #define NRF_TEMP NRF_TEMP_NS 487 #define NRF_P1 NRF_P1_NS 488 #define NRF_GPIOTE20 NRF_GPIOTE20_NS 489 #define NRF_I2S20 NRF_I2S20_NS 490 #define NRF_QDEC20 NRF_QDEC20_NS 491 #define NRF_QDEC21 NRF_QDEC21_NS 492 #define NRF_GRTC NRF_GRTC_NS 493 #define NRF_DPPIC30 NRF_DPPIC30_NS 494 #define NRF_PPIB30 NRF_PPIB30_NS 495 #define NRF_SPIM30 NRF_SPIM30_NS 496 #define NRF_SPIS30 NRF_SPIS30_NS 497 #define NRF_TWIM30 NRF_TWIM30_NS 498 #define NRF_TWIS30 NRF_TWIS30_NS 499 #define NRF_UARTE30 NRF_UARTE30_NS 500 #define NRF_RTC30 NRF_RTC30_NS 501 #define NRF_COMP NRF_COMP_NS 502 #define NRF_LPCOMP NRF_LPCOMP_NS 503 #define NRF_WDT31 NRF_WDT31_NS 504 #define NRF_P0 NRF_P0_NS 505 #define NRF_GPIOTE30 NRF_GPIOTE30_NS 506 #define NRF_CLOCK NRF_CLOCK_NS 507 #define NRF_POWER NRF_POWER_NS 508 #define NRF_RESET NRF_RESET_NS 509 #define NRF_OSCILLATORS NRF_OSCILLATORS_NS 510 #define NRF_REGULATORS NRF_REGULATORS_NS 511 #else /*!< Remap NRF_X_S instances to NRF_X symbol for ease of use. */ 512 #define NRF_FICR NRF_FICR_NS 513 #define NRF_UICR NRF_UICR_S 514 #define NRF_SICR NRF_SICR_S 515 #define NRF_CRACENCORE NRF_CRACENCORE_S 516 #define NRF_SPU00 NRF_SPU00_S 517 #define NRF_MPC00 NRF_MPC00_S 518 #define NRF_DPPIC00 NRF_DPPIC00_S 519 #define NRF_PPIB00 NRF_PPIB00_S 520 #define NRF_PPIB01 NRF_PPIB01_S 521 #define NRF_KMU NRF_KMU_S 522 #define NRF_AAR00 NRF_AAR00_S 523 #define NRF_CCM00 NRF_CCM00_S 524 #define NRF_ECB00 NRF_ECB00_S 525 #define NRF_CRACEN NRF_CRACEN_S 526 #define NRF_SPIM00 NRF_SPIM00_S 527 #define NRF_SPIS00 NRF_SPIS00_S 528 #define NRF_UARTE00 NRF_UARTE00_S 529 #define NRF_GLITCHDET NRF_GLITCHDET_S 530 #define NRF_RRAMC NRF_RRAMC_S 531 #define NRF_VPR00 NRF_VPR00_S 532 #define NRF_P2 NRF_P2_S 533 #define NRF_CTRLAP NRF_CTRLAP_S 534 #define NRF_TAD NRF_TAD_S 535 #define NRF_TIMER00 NRF_TIMER00_S 536 #define NRF_SPU10 NRF_SPU10_S 537 #define NRF_DPPIC10 NRF_DPPIC10_S 538 #define NRF_PPIB10 NRF_PPIB10_S 539 #define NRF_PPIB11 NRF_PPIB11_S 540 #define NRF_TIMER10 NRF_TIMER10_S 541 #define NRF_RTC10 NRF_RTC10_S 542 #define NRF_EGU10 NRF_EGU10_S 543 #define NRF_RADIO NRF_RADIO_S 544 #define NRF_SPU20 NRF_SPU20_S 545 #define NRF_DPPIC20 NRF_DPPIC20_S 546 #define NRF_PPIB20 NRF_PPIB20_S 547 #define NRF_PPIB21 NRF_PPIB21_S 548 #define NRF_PPIB22 NRF_PPIB22_S 549 #define NRF_SPIM20 NRF_SPIM20_S 550 #define NRF_SPIS20 NRF_SPIS20_S 551 #define NRF_TWIM20 NRF_TWIM20_S 552 #define NRF_TWIS20 NRF_TWIS20_S 553 #define NRF_UARTE20 NRF_UARTE20_S 554 #define NRF_SPIM21 NRF_SPIM21_S 555 #define NRF_SPIS21 NRF_SPIS21_S 556 #define NRF_TWIM21 NRF_TWIM21_S 557 #define NRF_TWIS21 NRF_TWIS21_S 558 #define NRF_UARTE21 NRF_UARTE21_S 559 #define NRF_SPIM22 NRF_SPIM22_S 560 #define NRF_SPIS22 NRF_SPIS22_S 561 #define NRF_TWIM22 NRF_TWIM22_S 562 #define NRF_TWIS22 NRF_TWIS22_S 563 #define NRF_UARTE22 NRF_UARTE22_S 564 #define NRF_EGU20 NRF_EGU20_S 565 #define NRF_TIMER20 NRF_TIMER20_S 566 #define NRF_TIMER21 NRF_TIMER21_S 567 #define NRF_TIMER22 NRF_TIMER22_S 568 #define NRF_TIMER23 NRF_TIMER23_S 569 #define NRF_TIMER24 NRF_TIMER24_S 570 #define NRF_MEMCONF NRF_MEMCONF_S 571 #define NRF_PDM20 NRF_PDM20_S 572 #define NRF_PDM21 NRF_PDM21_S 573 #define NRF_PWM20 NRF_PWM20_S 574 #define NRF_PWM21 NRF_PWM21_S 575 #define NRF_PWM22 NRF_PWM22_S 576 #define NRF_SAADC NRF_SAADC_S 577 #define NRF_NFCT NRF_NFCT_S 578 #define NRF_TEMP NRF_TEMP_S 579 #define NRF_P1 NRF_P1_S 580 #define NRF_GPIOTE20 NRF_GPIOTE20_S 581 #define NRF_TAMPC NRF_TAMPC_S 582 #define NRF_I2S20 NRF_I2S20_S 583 #define NRF_QDEC20 NRF_QDEC20_S 584 #define NRF_QDEC21 NRF_QDEC21_S 585 #define NRF_GRTC NRF_GRTC_S 586 #define NRF_SPU30 NRF_SPU30_S 587 #define NRF_DPPIC30 NRF_DPPIC30_S 588 #define NRF_PPIB30 NRF_PPIB30_S 589 #define NRF_SPIM30 NRF_SPIM30_S 590 #define NRF_SPIS30 NRF_SPIS30_S 591 #define NRF_TWIM30 NRF_TWIM30_S 592 #define NRF_TWIS30 NRF_TWIS30_S 593 #define NRF_UARTE30 NRF_UARTE30_S 594 #define NRF_RTC30 NRF_RTC30_S 595 #define NRF_COMP NRF_COMP_S 596 #define NRF_LPCOMP NRF_LPCOMP_S 597 #define NRF_WDT30 NRF_WDT30_S 598 #define NRF_WDT31 NRF_WDT31_S 599 #define NRF_P0 NRF_P0_S 600 #define NRF_GPIOTE30 NRF_GPIOTE30_S 601 #define NRF_CLOCK NRF_CLOCK_S 602 #define NRF_POWER NRF_POWER_S 603 #define NRF_RESET NRF_RESET_S 604 #define NRF_OSCILLATORS NRF_OSCILLATORS_S 605 #define NRF_REGULATORS NRF_REGULATORS_S 606 #endif /*!< NRF_TRUSTZONE_NONSECURE */ 607 608 /* ========================================== End of section using anonymous unions ========================================== */ 609 610 #if defined (__CC_ARM) 611 #pragma pop 612 #elif defined (__ICCARM__) 613 /* leave anonymous unions enabled */ 614 #elif defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) 615 #pragma clang diagnostic pop 616 #elif defined (__GNUC__) 617 /* anonymous unions are enabled by default */ 618 #elif defined (__TMS470__) 619 /* anonymous unions are enabled by default */ 620 #elif defined (__TASKING__) 621 #pragma warning restore 622 #elif defined (__CSMC__) 623 /* anonymous unions are enabled by default */ 624 #endif 625 626 627 #ifdef __cplusplus 628 } 629 #endif 630 #endif /* NRF54L15_GLOBAL_H */ 631 632