1 /*
2 Copyright (c) 2010 - 2025, Nordic Semiconductor ASA All rights reserved.
3 
4 SPDX-License-Identifier: BSD-3-Clause
5 
6 Redistribution and use in source and binary forms, with or without
7 modification, are permitted provided that the following conditions are met:
8 
9 1. Redistributions of source code must retain the above copyright notice, this
10    list of conditions and the following disclaimer.
11 
12 2. Redistributions in binary form must reproduce the above copyright
13    notice, this list of conditions and the following disclaimer in the
14    documentation and/or other materials provided with the distribution.
15 
16 3. Neither the name of Nordic Semiconductor ASA nor the names of its
17    contributors may be used to endorse or promote products derived from this
18    software without specific prior written permission.
19 
20 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
21 AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22 IMPLIED WARRANTIES OF MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE
23 ARE DISCLAIMED. IN NO EVENT SHALL NORDIC SEMICONDUCTOR ASA OR CONTRIBUTORS BE
24 LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
25 CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
26 SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
27 INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
28 CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
29 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
30 POSSIBILITY OF SUCH DAMAGE.
31  *
32  * @file     nrf5340_network.h
33  * @brief    CMSIS HeaderFile
34  * @version  1
35  * @date     07. January 2025
36  * @note     Generated by SVDConv V3.3.35 on Tuesday, 07.01.2025 15:34:28
37  *           from File 'nrf5340_network.svd',
38  *           last modified on Friday, 13.12.2024 08:41:10
39  */
40 
41 
42 
43 /** @addtogroup Nordic Semiconductor
44   * @{
45   */
46 
47 
48 /** @addtogroup nrf5340_network
49   * @{
50   */
51 
52 
53 #ifndef NRF5340_NETWORK_H
54 #define NRF5340_NETWORK_H
55 
56 #ifdef __cplusplus
57 extern "C" {
58 #endif
59 
60 
61 /** @addtogroup Configuration_of_CMSIS
62   * @{
63   */
64 
65 
66 
67 /* =========================================================================================================================== */
68 /* ================                                Interrupt Number Definition                                ================ */
69 /* =========================================================================================================================== */
70 
71 typedef enum {
72 /* =======================================  ARM Cortex-M33 Specific Interrupt Numbers  ======================================= */
73   Reset_IRQn                = -15,              /*!< -15  Reset Vector, invoked on Power up and warm reset                     */
74   NonMaskableInt_IRQn       = -14,              /*!< -14  Non maskable Interrupt, cannot be stopped or preempted               */
75   HardFault_IRQn            = -13,              /*!< -13  Hard Fault, all classes of Fault                                     */
76   MemoryManagement_IRQn     = -12,              /*!< -12  Memory Management, MPU mismatch, including Access Violation
77                                                      and No Match                                                              */
78   BusFault_IRQn             = -11,              /*!< -11  Bus Fault, Pre-Fetch-, Memory Access Fault, other address/memory
79                                                      related Fault                                                             */
80   UsageFault_IRQn           = -10,              /*!< -10  Usage Fault, i.e. Undef Instruction, Illegal State Transition        */
81   SecureFault_IRQn          =  -9,              /*!< -9 Secure Fault Handler                                                   */
82   SVCall_IRQn               =  -5,              /*!< -5 System Service Call via SVC instruction                                */
83   DebugMonitor_IRQn         =  -4,              /*!< -4 Debug Monitor                                                          */
84   PendSV_IRQn               =  -2,              /*!< -2 Pendable request for system service                                    */
85   SysTick_IRQn              =  -1,              /*!< -1 System Tick Timer                                                      */
86 /* ======================================  nrf5340_network Specific Interrupt Numbers  ======================================= */
87   CLOCK_POWER_IRQn          =   5,              /*!< 5  CLOCK_POWER                                                            */
88   RADIO_IRQn                =   8,              /*!< 8  RADIO                                                                  */
89   RNG_IRQn                  =   9,              /*!< 9  RNG                                                                    */
90   GPIOTE_IRQn               =  10,              /*!< 10 GPIOTE                                                                 */
91   WDT_IRQn                  =  11,              /*!< 11 WDT                                                                    */
92   TIMER0_IRQn               =  12,              /*!< 12 TIMER0                                                                 */
93   ECB_IRQn                  =  13,              /*!< 13 ECB                                                                    */
94   AAR_CCM_IRQn              =  14,              /*!< 14 AAR_CCM                                                                */
95   TEMP_IRQn                 =  16,              /*!< 16 TEMP                                                                   */
96   RTC0_IRQn                 =  17,              /*!< 17 RTC0                                                                   */
97   IPC_IRQn                  =  18,              /*!< 18 IPC                                                                    */
98   SERIAL0_IRQn              =  19,              /*!< 19 SERIAL0                                                                */
99   EGU0_IRQn                 =  20,              /*!< 20 EGU0                                                                   */
100   RTC1_IRQn                 =  22,              /*!< 22 RTC1                                                                   */
101   TIMER1_IRQn               =  24,              /*!< 24 TIMER1                                                                 */
102   TIMER2_IRQn               =  25,              /*!< 25 TIMER2                                                                 */
103   SWI0_IRQn                 =  26,              /*!< 26 SWI0                                                                   */
104   SWI1_IRQn                 =  27,              /*!< 27 SWI1                                                                   */
105   SWI2_IRQn                 =  28,              /*!< 28 SWI2                                                                   */
106   SWI3_IRQn                 =  29               /*!< 29 SWI3                                                                   */
107 } IRQn_Type;
108 
109 
110 
111 /* =========================================================================================================================== */
112 /* ================                           Processor and Core Peripheral Section                           ================ */
113 /* =========================================================================================================================== */
114 
115 /* ==========================  Configuration of the ARM Cortex-M33 Processor and Core Peripherals  =========================== */
116 #define __CM33_REV                 0x0004U      /*!< CM33 Core Revision                                                        */
117 #define __INTERRUPTS_MAX                   129        /*!< Top interrupt number                                                      */
118 #define __DSP_PRESENT                  0        /*!< DSP present or not                                                        */
119 #define __NVIC_PRIO_BITS               3        /*!< Number of Bits used for Priority Levels                                   */
120 #define __Vendor_SysTickConfig         0        /*!< Set to 1 if different SysTick Config is used                              */
121 #define __VTOR_PRESENT                 1        /*!< Set to 1 if CPU supports Vector Table Offset Register                     */
122 #define __MPU_PRESENT                  1        /*!< MPU present                                                               */
123 #define __FPU_PRESENT                  0        /*!< FPU present                                                               */
124 #define __FPU_DP                       0        /*!< unused, Device has no FPU                                                 */
125 #define __SAUREGION_PRESENT            0        /*!< SAU region present                                                        */
126 
127 
128 /** @} */ /* End of group Configuration_of_CMSIS */
129 
130 #include "core_cm33.h"                          /*!< ARM Cortex-M33 processor and core peripherals                             */
131 #include "system_nrf5340_network.h"             /*!< nrf5340_network System                                                    */
132 
133 #ifndef __IM                                    /*!< Fallback for older CMSIS versions                                         */
134   #define __IM   __I
135 #endif
136 #ifndef __OM                                    /*!< Fallback for older CMSIS versions                                         */
137   #define __OM   __O
138 #endif
139 #ifndef __IOM                                   /*!< Fallback for older CMSIS versions                                         */
140   #define __IOM  __IO
141 #endif
142 
143 
144 /* =========================================================================================================================== */
145 /* ================                              Device Specific Cluster Section                              ================ */
146 /* =========================================================================================================================== */
147 
148 
149 /** @addtogroup Device_Peripheral_clusters
150   * @{
151   */
152 
153 
154 /**
155   * @brief FICR_INFO [INFO] (Device info)
156   */
157 typedef struct {
158   __IM  uint32_t  CONFIGID;                     /*!< (@ 0x00000000) Configuration identifier                                   */
159   __IM  uint32_t  DEVICEID[2];                  /*!< (@ 0x00000004) Description collection: Device identifier                  */
160   __IM  uint32_t  PART;                         /*!< (@ 0x0000000C) Part code                                                  */
161   __IM  uint32_t  VARIANT;                      /*!< (@ 0x00000010) Part Variant, Hardware version and Production
162                                                                     configuration                                              */
163   __IM  uint32_t  PACKAGE;                      /*!< (@ 0x00000014) Package option                                             */
164   __IM  uint32_t  RAM;                          /*!< (@ 0x00000018) RAM variant                                                */
165   __IM  uint32_t  FLASH;                        /*!< (@ 0x0000001C) Flash variant                                              */
166   __IM  uint32_t  CODEPAGESIZE;                 /*!< (@ 0x00000020) Code memory page size in bytes                             */
167   __IM  uint32_t  CODESIZE;                     /*!< (@ 0x00000024) Code memory size                                           */
168   __IM  uint32_t  DEVICETYPE;                   /*!< (@ 0x00000028) Device type                                                */
169 } FICR_INFO_Type;                               /*!< Size = 44 (0x2c)                                                          */
170 
171 
172 /**
173   * @brief FICR_TRIMCNF [TRIMCNF] (Unspecified)
174   */
175 typedef struct {
176   __IM  uint32_t  ADDR;                         /*!< (@ 0x00000000) Description cluster: Address                               */
177   __IM  uint32_t  DATA;                         /*!< (@ 0x00000004) Description cluster: Data                                  */
178 } FICR_TRIMCNF_Type;                            /*!< Size = 8 (0x8)                                                            */
179 
180 
181 /**
182   * @brief VREQCTRL_VREGRADIO [VREGRADIO] (Unspecified)
183   */
184 typedef struct {
185   __IOM uint32_t  VREQH;                        /*!< (@ 0x00000000) Request high voltage on RADIO After requesting
186                                                                     high voltage, the user must wait until VREQHREADY
187                                                                     is set to Ready                                            */
188   __IM  uint32_t  RESERVED;
189   __IM  uint32_t  VREQHREADY;                   /*!< (@ 0x00000008) High voltage on RADIO is ready                             */
190 } VREQCTRL_VREGRADIO_Type;                      /*!< Size = 12 (0xc)                                                           */
191 
192 
193 /**
194   * @brief CTRLAPPERI_MAILBOX [MAILBOX] (Unspecified)
195   */
196 typedef struct {
197   __IM  uint32_t  RXDATA;                       /*!< (@ 0x00000000) Data sent from the debugger to the CPU.                    */
198   __IM  uint32_t  RXSTATUS;                     /*!< (@ 0x00000004) This register shows a status that indicates if
199                                                                     data sent from the debugger to the CPU has
200                                                                     been read.                                                 */
201   __IM  uint32_t  RESERVED[30];
202   __IOM uint32_t  TXDATA;                       /*!< (@ 0x00000080) Data sent from the CPU to the debugger.                    */
203   __IM  uint32_t  TXSTATUS;                     /*!< (@ 0x00000084) This register shows a status that indicates if
204                                                                     the data sent from the CPU to the debugger
205                                                                     has been read.                                             */
206 } CTRLAPPERI_MAILBOX_Type;                      /*!< Size = 136 (0x88)                                                         */
207 
208 
209 /**
210   * @brief CTRLAPPERI_ERASEPROTECT [ERASEPROTECT] (Unspecified)
211   */
212 typedef struct {
213   __IOM uint32_t  LOCK;                         /*!< (@ 0x00000000) This register locks the ERASEPROTECT.DISABLE
214                                                                     register from being written until next reset.              */
215   __IOM uint32_t  DISABLE;                      /*!< (@ 0x00000004) This register disables the ERASEPROTECT register
216                                                                     and performs an ERASEALL operation.                        */
217 } CTRLAPPERI_ERASEPROTECT_Type;                 /*!< Size = 8 (0x8)                                                            */
218 
219 
220 /**
221   * @brief CTRLAPPERI_APPROTECT [APPROTECT] (Unspecified)
222   */
223 typedef struct {
224   __IOM uint32_t  LOCK;                         /*!< (@ 0x00000000) This register locks the APPROTECT.DISABLE register
225                                                                     from being written to until next reset.                    */
226   __IOM uint32_t  DISABLE;                      /*!< (@ 0x00000004) This register disables the APPROTECT register
227                                                                     and enables debug access to non-secure mode.               */
228 } CTRLAPPERI_APPROTECT_Type;                    /*!< Size = 8 (0x8)                                                            */
229 
230 
231 /**
232   * @brief RADIO_PSEL [PSEL] (Unspecified)
233   */
234 typedef struct {
235   __IOM uint32_t  DFEGPIO[8];                   /*!< (@ 0x00000000) Description collection: Pin select for DFE pin
236                                                                     n                                                          */
237 } RADIO_PSEL_Type;                              /*!< Size = 32 (0x20)                                                          */
238 
239 
240 /**
241   * @brief RADIO_DFEPACKET [DFEPACKET] (DFE packet EasyDMA channel)
242   */
243 typedef struct {
244   __IOM uint32_t  PTR;                          /*!< (@ 0x00000000) Data pointer                                               */
245   __IOM uint32_t  MAXCNT;                       /*!< (@ 0x00000004) Maximum number of buffer words to transfer                 */
246   __IM  uint32_t  AMOUNT;                       /*!< (@ 0x00000008) Number of samples transferred in the last transaction      */
247 } RADIO_DFEPACKET_Type;                         /*!< Size = 12 (0xc)                                                           */
248 
249 
250 /**
251   * @brief DPPIC_TASKS_CHG [TASKS_CHG] (Channel group tasks)
252   */
253 typedef struct {
254   __OM  uint32_t  EN;                           /*!< (@ 0x00000000) Description cluster: Enable channel group n                */
255   __OM  uint32_t  DIS;                          /*!< (@ 0x00000004) Description cluster: Disable channel group n               */
256 } DPPIC_TASKS_CHG_Type;                         /*!< Size = 8 (0x8)                                                            */
257 
258 
259 /**
260   * @brief DPPIC_SUBSCRIBE_CHG [SUBSCRIBE_CHG] (Subscribe configuration for tasks)
261   */
262 typedef struct {
263   __IOM uint32_t  EN;                           /*!< (@ 0x00000000) Description cluster: Subscribe configuration
264                                                                     for task CHG[n].EN                                         */
265   __IOM uint32_t  DIS;                          /*!< (@ 0x00000004) Description cluster: Subscribe configuration
266                                                                     for task CHG[n].DIS                                        */
267 } DPPIC_SUBSCRIBE_CHG_Type;                     /*!< Size = 8 (0x8)                                                            */
268 
269 
270 /**
271   * @brief SPIM_PSEL [PSEL] (Unspecified)
272   */
273 typedef struct {
274   __IOM uint32_t  SCK;                          /*!< (@ 0x00000000) Pin select for SCK                                         */
275   __IOM uint32_t  MOSI;                         /*!< (@ 0x00000004) Pin select for MOSI signal                                 */
276   __IOM uint32_t  MISO;                         /*!< (@ 0x00000008) Pin select for MISO signal                                 */
277   __IOM uint32_t  CSN;                          /*!< (@ 0x0000000C) Pin select for CSN                                         */
278 } SPIM_PSEL_Type;                               /*!< Size = 16 (0x10)                                                          */
279 
280 
281 /**
282   * @brief SPIM_RXD [RXD] (RXD EasyDMA channel)
283   */
284 typedef struct {
285   __IOM uint32_t  PTR;                          /*!< (@ 0x00000000) Data pointer                                               */
286   __IOM uint32_t  MAXCNT;                       /*!< (@ 0x00000004) Maximum number of bytes in receive buffer                  */
287   __IM  uint32_t  AMOUNT;                       /*!< (@ 0x00000008) Number of bytes transferred in the last transaction        */
288   __IOM uint32_t  LIST;                         /*!< (@ 0x0000000C) EasyDMA list type                                          */
289 } SPIM_RXD_Type;                                /*!< Size = 16 (0x10)                                                          */
290 
291 
292 /**
293   * @brief SPIM_TXD [TXD] (TXD EasyDMA channel)
294   */
295 typedef struct {
296   __IOM uint32_t  PTR;                          /*!< (@ 0x00000000) Data pointer                                               */
297   __IOM uint32_t  MAXCNT;                       /*!< (@ 0x00000004) Number of bytes in transmit buffer                         */
298   __IM  uint32_t  AMOUNT;                       /*!< (@ 0x00000008) Number of bytes transferred in the last transaction        */
299   __IOM uint32_t  LIST;                         /*!< (@ 0x0000000C) EasyDMA list type                                          */
300 } SPIM_TXD_Type;                                /*!< Size = 16 (0x10)                                                          */
301 
302 
303 /**
304   * @brief SPIM_IFTIMING [IFTIMING] (Unspecified)
305   */
306 typedef struct {
307   __IOM uint32_t  RXDELAY;                      /*!< (@ 0x00000000) Sample delay for input serial data on MISO                 */
308   __IOM uint32_t  CSNDUR;                       /*!< (@ 0x00000004) Minimum duration between edge of CSN and edge
309                                                                     of SCK. When SHORTS.END_START is used, this
310                                                                     is also the minimum duration CSN must stay
311                                                                     high between transactions.                                 */
312 } SPIM_IFTIMING_Type;                           /*!< Size = 8 (0x8)                                                            */
313 
314 
315 /**
316   * @brief SPIS_PSEL [PSEL] (Unspecified)
317   */
318 typedef struct {
319   __IOM uint32_t  SCK;                          /*!< (@ 0x00000000) Pin select for SCK                                         */
320   __IOM uint32_t  MISO;                         /*!< (@ 0x00000004) Pin select for MISO signal                                 */
321   __IOM uint32_t  MOSI;                         /*!< (@ 0x00000008) Pin select for MOSI signal                                 */
322   __IOM uint32_t  CSN;                          /*!< (@ 0x0000000C) Pin select for CSN signal                                  */
323 } SPIS_PSEL_Type;                               /*!< Size = 16 (0x10)                                                          */
324 
325 
326 /**
327   * @brief SPIS_RXD [RXD] (Unspecified)
328   */
329 typedef struct {
330   __IOM uint32_t  PTR;                          /*!< (@ 0x00000000) RXD data pointer                                           */
331   __IOM uint32_t  MAXCNT;                       /*!< (@ 0x00000004) Maximum number of bytes in receive buffer                  */
332   __IM  uint32_t  AMOUNT;                       /*!< (@ 0x00000008) Number of bytes received in last granted transaction       */
333   __IOM uint32_t  LIST;                         /*!< (@ 0x0000000C) EasyDMA list type                                          */
334 } SPIS_RXD_Type;                                /*!< Size = 16 (0x10)                                                          */
335 
336 
337 /**
338   * @brief SPIS_TXD [TXD] (Unspecified)
339   */
340 typedef struct {
341   __IOM uint32_t  PTR;                          /*!< (@ 0x00000000) TXD data pointer                                           */
342   __IOM uint32_t  MAXCNT;                       /*!< (@ 0x00000004) Maximum number of bytes in transmit buffer                 */
343   __IM  uint32_t  AMOUNT;                       /*!< (@ 0x00000008) Number of bytes transmitted in last granted transaction    */
344   __IOM uint32_t  LIST;                         /*!< (@ 0x0000000C) EasyDMA list type                                          */
345 } SPIS_TXD_Type;                                /*!< Size = 16 (0x10)                                                          */
346 
347 
348 /**
349   * @brief TWIM_PSEL [PSEL] (Unspecified)
350   */
351 typedef struct {
352   __IOM uint32_t  SCL;                          /*!< (@ 0x00000000) Pin select for SCL signal                                  */
353   __IOM uint32_t  SDA;                          /*!< (@ 0x00000004) Pin select for SDA signal                                  */
354 } TWIM_PSEL_Type;                               /*!< Size = 8 (0x8)                                                            */
355 
356 
357 /**
358   * @brief TWIM_RXD [RXD] (RXD EasyDMA channel)
359   */
360 typedef struct {
361   __IOM uint32_t  PTR;                          /*!< (@ 0x00000000) Data pointer                                               */
362   __IOM uint32_t  MAXCNT;                       /*!< (@ 0x00000004) Maximum number of bytes in receive buffer                  */
363   __IM  uint32_t  AMOUNT;                       /*!< (@ 0x00000008) Number of bytes transferred in the last transaction        */
364   __IOM uint32_t  LIST;                         /*!< (@ 0x0000000C) EasyDMA list type                                          */
365 } TWIM_RXD_Type;                                /*!< Size = 16 (0x10)                                                          */
366 
367 
368 /**
369   * @brief TWIM_TXD [TXD] (TXD EasyDMA channel)
370   */
371 typedef struct {
372   __IOM uint32_t  PTR;                          /*!< (@ 0x00000000) Data pointer                                               */
373   __IOM uint32_t  MAXCNT;                       /*!< (@ 0x00000004) Maximum number of bytes in transmit buffer                 */
374   __IM  uint32_t  AMOUNT;                       /*!< (@ 0x00000008) Number of bytes transferred in the last transaction        */
375   __IOM uint32_t  LIST;                         /*!< (@ 0x0000000C) EasyDMA list type                                          */
376 } TWIM_TXD_Type;                                /*!< Size = 16 (0x10)                                                          */
377 
378 
379 /**
380   * @brief TWIS_PSEL [PSEL] (Unspecified)
381   */
382 typedef struct {
383   __IOM uint32_t  SCL;                          /*!< (@ 0x00000000) Pin select for SCL signal                                  */
384   __IOM uint32_t  SDA;                          /*!< (@ 0x00000004) Pin select for SDA signal                                  */
385 } TWIS_PSEL_Type;                               /*!< Size = 8 (0x8)                                                            */
386 
387 
388 /**
389   * @brief TWIS_RXD [RXD] (RXD EasyDMA channel)
390   */
391 typedef struct {
392   __IOM uint32_t  PTR;                          /*!< (@ 0x00000000) RXD Data pointer                                           */
393   __IOM uint32_t  MAXCNT;                       /*!< (@ 0x00000004) Maximum number of bytes in RXD buffer                      */
394   __IM  uint32_t  AMOUNT;                       /*!< (@ 0x00000008) Number of bytes transferred in the last RXD transaction    */
395   __IOM uint32_t  LIST;                         /*!< (@ 0x0000000C) EasyDMA list type                                          */
396 } TWIS_RXD_Type;                                /*!< Size = 16 (0x10)                                                          */
397 
398 
399 /**
400   * @brief TWIS_TXD [TXD] (TXD EasyDMA channel)
401   */
402 typedef struct {
403   __IOM uint32_t  PTR;                          /*!< (@ 0x00000000) TXD Data pointer                                           */
404   __IOM uint32_t  MAXCNT;                       /*!< (@ 0x00000004) Maximum number of bytes in TXD buffer                      */
405   __IM  uint32_t  AMOUNT;                       /*!< (@ 0x00000008) Number of bytes transferred in the last TXD transaction    */
406   __IOM uint32_t  LIST;                         /*!< (@ 0x0000000C) EasyDMA list type                                          */
407 } TWIS_TXD_Type;                                /*!< Size = 16 (0x10)                                                          */
408 
409 
410 /**
411   * @brief UARTE_PSEL [PSEL] (Unspecified)
412   */
413 typedef struct {
414   __IOM uint32_t  RTS;                          /*!< (@ 0x00000000) Pin select for RTS signal                                  */
415   __IOM uint32_t  TXD;                          /*!< (@ 0x00000004) Pin select for TXD signal                                  */
416   __IOM uint32_t  CTS;                          /*!< (@ 0x00000008) Pin select for CTS signal                                  */
417   __IOM uint32_t  RXD;                          /*!< (@ 0x0000000C) Pin select for RXD signal                                  */
418 } UARTE_PSEL_Type;                              /*!< Size = 16 (0x10)                                                          */
419 
420 
421 /**
422   * @brief UARTE_RXD [RXD] (RXD EasyDMA channel)
423   */
424 typedef struct {
425   __IOM uint32_t  PTR;                          /*!< (@ 0x00000000) Data pointer                                               */
426   __IOM uint32_t  MAXCNT;                       /*!< (@ 0x00000004) Maximum number of bytes in receive buffer                  */
427   __IM  uint32_t  AMOUNT;                       /*!< (@ 0x00000008) Number of bytes transferred in the last transaction        */
428 } UARTE_RXD_Type;                               /*!< Size = 12 (0xc)                                                           */
429 
430 
431 /**
432   * @brief UARTE_TXD [TXD] (TXD EasyDMA channel)
433   */
434 typedef struct {
435   __IOM uint32_t  PTR;                          /*!< (@ 0x00000000) Data pointer                                               */
436   __IOM uint32_t  MAXCNT;                       /*!< (@ 0x00000004) Maximum number of bytes in transmit buffer                 */
437   __IM  uint32_t  AMOUNT;                       /*!< (@ 0x00000008) Number of bytes transferred in the last transaction        */
438 } UARTE_TXD_Type;                               /*!< Size = 12 (0xc)                                                           */
439 
440 
441 /**
442   * @brief ACL_ACL [ACL] (Unspecified)
443   */
444 typedef struct {
445   __IOM uint32_t  ADDR;                         /*!< (@ 0x00000000) Description cluster: Start address of region
446                                                                     to protect. The start address must be word-aligned.        */
447   __IOM uint32_t  SIZE;                         /*!< (@ 0x00000004) Description cluster: Size of region to protect
448                                                                     counting from address ACL[n].ADDR. Writing
449                                                                     a '0' has no effect.                                       */
450   __IOM uint32_t  PERM;                         /*!< (@ 0x00000008) Description cluster: Access permissions for region
451                                                                     n as defined by start address ACL[n].ADDR
452                                                                     and size ACL[n].SIZE                                       */
453   __IM  uint32_t  RESERVED;
454 } ACL_ACL_Type;                                 /*!< Size = 16 (0x10)                                                          */
455 
456 
457 /**
458   * @brief VMC_RAM [RAM] (Unspecified)
459   */
460 typedef struct {
461   __IOM uint32_t  POWER;                        /*!< (@ 0x00000000) Description cluster: RAM[n] power control register         */
462   __IOM uint32_t  POWERSET;                     /*!< (@ 0x00000004) Description cluster: RAM[n] power control set
463                                                                     register                                                   */
464   __IOM uint32_t  POWERCLR;                     /*!< (@ 0x00000008) Description cluster: RAM[n] power control clear
465                                                                     register                                                   */
466   __IM  uint32_t  RESERVED;
467 } VMC_RAM_Type;                                 /*!< Size = 16 (0x10)                                                          */
468 
469 
470 /** @} */ /* End of group Device_Peripheral_clusters */
471 
472 
473 /* =========================================================================================================================== */
474 /* ================                            Device Specific Peripheral Section                             ================ */
475 /* =========================================================================================================================== */
476 
477 
478 /** @addtogroup Device_Peripheral_peripherals
479   * @{
480   */
481 
482 
483 
484 /* =========================================================================================================================== */
485 /* ================                                          FICR_NS                                          ================ */
486 /* =========================================================================================================================== */
487 
488 
489 /**
490   * @brief Factory Information Configuration Registers (FICR_NS)
491   */
492 
493 typedef struct {                                /*!< (@ 0x01FF0000) FICR_NS Structure                                          */
494   __IM  uint32_t  RESERVED[128];
495   __IOM FICR_INFO_Type INFO;                    /*!< (@ 0x00000200) Device info                                                */
496   __IM  uint32_t  RESERVED1[21];
497   __IM  uint32_t  ER[4];                        /*!< (@ 0x00000280) Description collection: Encryption Root, word
498                                                                     n                                                          */
499   __IM  uint32_t  IR[4];                        /*!< (@ 0x00000290) Description collection: Identity Root, word n              */
500   __IM  uint32_t  DEVICEADDRTYPE;               /*!< (@ 0x000002A0) Device address type                                        */
501   __IM  uint32_t  DEVICEADDR[2];                /*!< (@ 0x000002A4) Description collection: Device address n                   */
502   __IM  uint32_t  RESERVED2[21];
503   __IOM FICR_TRIMCNF_Type TRIMCNF[32];          /*!< (@ 0x00000300) Unspecified                                                */
504 } NRF_FICR_Type;                                /*!< Size = 1024 (0x400)                                                       */
505 
506 
507 
508 /* =========================================================================================================================== */
509 /* ================                                          UICR_NS                                          ================ */
510 /* =========================================================================================================================== */
511 
512 
513 /**
514   * @brief User Information Configuration Registers (UICR_NS)
515   */
516 
517 typedef struct {                                /*!< (@ 0x01FF8000) UICR_NS Structure                                          */
518   __IOM uint32_t  APPROTECT;                    /*!< (@ 0x00000000) Access port protection                                     */
519   __IOM uint32_t  ERASEPROTECT;                 /*!< (@ 0x00000004) Erase protection                                           */
520   __IM  uint32_t  RESERVED[126];
521   __IOM uint32_t  NRFFW[32];                    /*!< (@ 0x00000200) Description collection: Reserved for Nordic firmware
522                                                                     design                                                     */
523   __IM  uint32_t  RESERVED1[32];
524   __IOM uint32_t  CUSTOMER[32];                 /*!< (@ 0x00000300) Description collection: Reserved for customer              */
525 } NRF_UICR_Type;                                /*!< Size = 896 (0x380)                                                        */
526 
527 
528 
529 /* =========================================================================================================================== */
530 /* ================                                          CTI_NS                                           ================ */
531 /* =========================================================================================================================== */
532 
533 
534 /**
535   * @brief Cross-Trigger Interface control. NOTE: this is not a separate peripheral, but describes CM33 functionality. (CTI_NS)
536   */
537 
538 typedef struct {                                /*!< (@ 0xE0042000) CTI_NS Structure                                           */
539   __IOM uint32_t  CTICONTROL;                   /*!< (@ 0x00000000) CTI Control register                                       */
540   __IM  uint32_t  RESERVED[3];
541   __OM  uint32_t  CTIINTACK;                    /*!< (@ 0x00000010) CTI Interrupt Acknowledge register                         */
542   __IOM uint32_t  CTIAPPSET;                    /*!< (@ 0x00000014) CTI Application Trigger Set register                       */
543   __OM  uint32_t  CTIAPPCLEAR;                  /*!< (@ 0x00000018) CTI Application Trigger Clear register                     */
544   __OM  uint32_t  CTIAPPPULSE;                  /*!< (@ 0x0000001C) CTI Application Pulse register                             */
545   __IOM uint32_t  CTIINEN[8];                   /*!< (@ 0x00000020) Description collection: CTI Trigger to Channel
546                                                                     Enable register                                            */
547   __IM  uint32_t  RESERVED1[24];
548   __IOM uint32_t  CTIOUTEN[8];                  /*!< (@ 0x000000A0) Description collection: CTI Channel to Trigger
549                                                                     Enable register                                            */
550   __IM  uint32_t  RESERVED2[28];
551   __IM  uint32_t  CTITRIGINSTATUS;              /*!< (@ 0x00000130) CTI Trigger In Status register                             */
552   __IM  uint32_t  CTITRIGOUTSTATUS;             /*!< (@ 0x00000134) CTI Trigger Out Status register                            */
553   __IM  uint32_t  CTICHINSTATUS;                /*!< (@ 0x00000138) CTI Channel In Status register                             */
554   __IM  uint32_t  RESERVED3;
555   __IOM uint32_t  CTIGATE;                      /*!< (@ 0x00000140) Enable CTI Channel Gate register                           */
556   __IM  uint32_t  RESERVED4[926];
557   __IM  uint32_t  DEVARCH;                      /*!< (@ 0x00000FBC) Device Architecture register                               */
558   __IM  uint32_t  RESERVED5[2];
559   __IM  uint32_t  DEVID;                        /*!< (@ 0x00000FC8) Device Configuration register                              */
560   __IM  uint32_t  DEVTYPE;                      /*!< (@ 0x00000FCC) Device Type Identifier register                            */
561   __IM  uint32_t  PIDR4;                        /*!< (@ 0x00000FD0) Peripheral ID4 Register                                    */
562   __IM  uint32_t  PIDR5;                        /*!< (@ 0x00000FD4) Peripheral ID5 register                                    */
563   __IM  uint32_t  PIDR6;                        /*!< (@ 0x00000FD8) Peripheral ID6 register                                    */
564   __IM  uint32_t  PIDR7;                        /*!< (@ 0x00000FDC) Peripheral ID7 register                                    */
565   __IM  uint32_t  PIDR0;                        /*!< (@ 0x00000FE0) Peripheral ID0 Register                                    */
566   __IM  uint32_t  PIDR1;                        /*!< (@ 0x00000FE4) Peripheral ID1 Register                                    */
567   __IM  uint32_t  PIDR2;                        /*!< (@ 0x00000FE8) Peripheral ID2 Register                                    */
568   __IM  uint32_t  PIDR3;                        /*!< (@ 0x00000FEC) Peripheral ID3 Register                                    */
569   __IM  uint32_t  CIDR0;                        /*!< (@ 0x00000FF0) Component ID0 Register                                     */
570   __IM  uint32_t  CIDR1;                        /*!< (@ 0x00000FF4) Component ID1 Register                                     */
571   __IM  uint32_t  CIDR2;                        /*!< (@ 0x00000FF8) Component ID2 Register                                     */
572   __IM  uint32_t  CIDR3;                        /*!< (@ 0x00000FFC) Component ID3 Register                                     */
573 } NRF_CTI_Type;                                 /*!< Size = 4096 (0x1000)                                                      */
574 
575 
576 
577 /* =========================================================================================================================== */
578 /* ================                                          DCNF_NS                                          ================ */
579 /* =========================================================================================================================== */
580 
581 
582 /**
583   * @brief Domain configuration management (DCNF_NS)
584   */
585 
586 typedef struct {                                /*!< (@ 0x41000000) DCNF_NS Structure                                          */
587   __IM  uint32_t  RESERVED[264];
588   __IM  uint32_t  CPUID;                        /*!< (@ 0x00000420) CPU ID of this subsystem                                   */
589 } NRF_DCNF_Type;                                /*!< Size = 1060 (0x424)                                                       */
590 
591 
592 
593 /* =========================================================================================================================== */
594 /* ================                                        VREQCTRL_NS                                        ================ */
595 /* =========================================================================================================================== */
596 
597 
598 /**
599   * @brief Voltage request control (VREQCTRL_NS)
600   */
601 
602 typedef struct {                                /*!< (@ 0x41004000) VREQCTRL_NS Structure                                      */
603   __IM  uint32_t  RESERVED[320];
604   __IOM VREQCTRL_VREGRADIO_Type VREGRADIO;      /*!< (@ 0x00000500) Unspecified                                                */
605 } NRF_VREQCTRL_Type;                            /*!< Size = 1292 (0x50c)                                                       */
606 
607 
608 
609 /* =========================================================================================================================== */
610 /* ================                                         CLOCK_NS                                          ================ */
611 /* =========================================================================================================================== */
612 
613 
614 /**
615   * @brief Clock management (CLOCK_NS)
616   */
617 
618 typedef struct {                                /*!< (@ 0x41005000) CLOCK_NS Structure                                         */
619   __OM  uint32_t  TASKS_HFCLKSTART;             /*!< (@ 0x00000000) Start HFCLK128M/HFCLK64M source as selected in
620                                                                     HFCLKSRC                                                   */
621   __OM  uint32_t  TASKS_HFCLKSTOP;              /*!< (@ 0x00000004) Stop HFCLK128M/HFCLK64M source                             */
622   __OM  uint32_t  TASKS_LFCLKSTART;             /*!< (@ 0x00000008) Start LFCLK source as selected in LFCLKSRC                 */
623   __OM  uint32_t  TASKS_LFCLKSTOP;              /*!< (@ 0x0000000C) Stop LFCLK source                                          */
624   __OM  uint32_t  TASKS_CAL;                    /*!< (@ 0x00000010) Start calibration of LFRC oscillator                       */
625   __IM  uint32_t  RESERVED[27];
626   __IOM uint32_t  SUBSCRIBE_HFCLKSTART;         /*!< (@ 0x00000080) Subscribe configuration for task HFCLKSTART                */
627   __IOM uint32_t  SUBSCRIBE_HFCLKSTOP;          /*!< (@ 0x00000084) Subscribe configuration for task HFCLKSTOP                 */
628   __IOM uint32_t  SUBSCRIBE_LFCLKSTART;         /*!< (@ 0x00000088) Subscribe configuration for task LFCLKSTART                */
629   __IOM uint32_t  SUBSCRIBE_LFCLKSTOP;          /*!< (@ 0x0000008C) Subscribe configuration for task LFCLKSTOP                 */
630   __IOM uint32_t  SUBSCRIBE_CAL;                /*!< (@ 0x00000090) Subscribe configuration for task CAL                       */
631   __IM  uint32_t  RESERVED1[27];
632   __IOM uint32_t  EVENTS_HFCLKSTARTED;          /*!< (@ 0x00000100) HFCLK128M/HFCLK64M source started                          */
633   __IOM uint32_t  EVENTS_LFCLKSTARTED;          /*!< (@ 0x00000104) LFCLK source started                                       */
634   __IM  uint32_t  RESERVED2[5];
635   __IOM uint32_t  EVENTS_DONE;                  /*!< (@ 0x0000011C) Calibration of LFRC oscillator complete event              */
636   __IM  uint32_t  RESERVED3[24];
637   __IOM uint32_t  PUBLISH_HFCLKSTARTED;         /*!< (@ 0x00000180) Publish configuration for event HFCLKSTARTED               */
638   __IOM uint32_t  PUBLISH_LFCLKSTARTED;         /*!< (@ 0x00000184) Publish configuration for event LFCLKSTARTED               */
639   __IM  uint32_t  RESERVED4[5];
640   __IOM uint32_t  PUBLISH_DONE;                 /*!< (@ 0x0000019C) Publish configuration for event DONE                       */
641   __IM  uint32_t  RESERVED5[88];
642   __IOM uint32_t  INTEN;                        /*!< (@ 0x00000300) Enable or disable interrupt                                */
643   __IOM uint32_t  INTENSET;                     /*!< (@ 0x00000304) Enable interrupt                                           */
644   __IOM uint32_t  INTENCLR;                     /*!< (@ 0x00000308) Disable interrupt                                          */
645   __IM  uint32_t  INTPEND;                      /*!< (@ 0x0000030C) Pending interrupts                                         */
646   __IM  uint32_t  RESERVED6[62];
647   __IM  uint32_t  HFCLKRUN;                     /*!< (@ 0x00000408) Status indicating that HFCLKSTART task has been
648                                                                     triggered                                                  */
649   __IM  uint32_t  HFCLKSTAT;                    /*!< (@ 0x0000040C) Status indicating which HFCLK128M/HFCLK64M source
650                                                                     is running This register value in any CLOCK
651                                                                     instance reflects status only due to configurations/action
652                                                                     in that CLOCK instance.                                    */
653   __IM  uint32_t  RESERVED7;
654   __IM  uint32_t  LFCLKRUN;                     /*!< (@ 0x00000414) Status indicating that LFCLKSTART task has been
655                                                                     triggered                                                  */
656   __IM  uint32_t  LFCLKSTAT;                    /*!< (@ 0x00000418) Status indicating which LFCLK source is running
657                                                                     This register value in any CLOCK instance
658                                                                     reflects status only due to configurations/actions
659                                                                     in that CLOCK instance.                                    */
660   __IM  uint32_t  LFCLKSRCCOPY;                 /*!< (@ 0x0000041C) Copy of LFCLKSRC register, set when LFCLKSTART
661                                                                     task was triggered                                         */
662   __IM  uint32_t  RESERVED8[61];
663   __IOM uint32_t  HFCLKSRC;                     /*!< (@ 0x00000514) Clock source for HFCLK128M/HFCLK64M                        */
664   __IOM uint32_t  LFCLKSRC;                     /*!< (@ 0x00000518) Clock source for LFCLK                                     */
665   __IM  uint32_t  RESERVED9[15];
666   __IOM uint32_t  HFCLKCTRL;                    /*!< (@ 0x00000558) HFCLK128M frequency configuration                          */
667   __IM  uint32_t  RESERVED10[5];
668   __IOM uint32_t  HFCLKALWAYSRUN;               /*!< (@ 0x00000570) Automatic or manual control of HFCLK128M/HFCLK64M          */
669   __IOM uint32_t  LFCLKALWAYSRUN;               /*!< (@ 0x00000574) Automatic or manual control of LFCLK                       */
670 } NRF_CLOCK_Type;                               /*!< Size = 1400 (0x578)                                                       */
671 
672 
673 
674 /* =========================================================================================================================== */
675 /* ================                                         POWER_NS                                          ================ */
676 /* =========================================================================================================================== */
677 
678 
679 /**
680   * @brief Power control (POWER_NS)
681   */
682 
683 typedef struct {                                /*!< (@ 0x41005000) POWER_NS Structure                                         */
684   __IM  uint32_t  RESERVED[30];
685   __OM  uint32_t  TASKS_CONSTLAT;               /*!< (@ 0x00000078) Enable Constant Latency mode                               */
686   __OM  uint32_t  TASKS_LOWPWR;                 /*!< (@ 0x0000007C) Enable Low-Power mode (variable latency)                   */
687   __IM  uint32_t  RESERVED1[30];
688   __IOM uint32_t  SUBSCRIBE_CONSTLAT;           /*!< (@ 0x000000F8) Subscribe configuration for task CONSTLAT                  */
689   __IOM uint32_t  SUBSCRIBE_LOWPWR;             /*!< (@ 0x000000FC) Subscribe configuration for task LOWPWR                    */
690   __IM  uint32_t  RESERVED2[2];
691   __IOM uint32_t  EVENTS_POFWARN;               /*!< (@ 0x00000108) Power failure warning                                      */
692   __IM  uint32_t  RESERVED3[2];
693   __IOM uint32_t  EVENTS_SLEEPENTER;            /*!< (@ 0x00000114) CPU entered WFI/WFE sleep                                  */
694   __IOM uint32_t  EVENTS_SLEEPEXIT;             /*!< (@ 0x00000118) CPU exited WFI/WFE sleep                                   */
695   __IM  uint32_t  RESERVED4[27];
696   __IOM uint32_t  PUBLISH_POFWARN;              /*!< (@ 0x00000188) Publish configuration for event POFWARN                    */
697   __IM  uint32_t  RESERVED5[2];
698   __IOM uint32_t  PUBLISH_SLEEPENTER;           /*!< (@ 0x00000194) Publish configuration for event SLEEPENTER                 */
699   __IOM uint32_t  PUBLISH_SLEEPEXIT;            /*!< (@ 0x00000198) Publish configuration for event SLEEPEXIT                  */
700   __IM  uint32_t  RESERVED6[89];
701   __IOM uint32_t  INTEN;                        /*!< (@ 0x00000300) Enable or disable interrupt                                */
702   __IOM uint32_t  INTENSET;                     /*!< (@ 0x00000304) Enable interrupt                                           */
703   __IOM uint32_t  INTENCLR;                     /*!< (@ 0x00000308) Disable interrupt                                          */
704   __IM  uint32_t  RESERVED7[132];
705   __IOM uint32_t  GPREGRET[2];                  /*!< (@ 0x0000051C) Description collection: General purpose retention
706                                                                     register                                                   */
707 } NRF_POWER_Type;                               /*!< Size = 1316 (0x524)                                                       */
708 
709 
710 
711 /* =========================================================================================================================== */
712 /* ================                                         RESET_NS                                          ================ */
713 /* =========================================================================================================================== */
714 
715 
716 /**
717   * @brief Reset control (RESET_NS)
718   */
719 
720 typedef struct {                                /*!< (@ 0x41005000) RESET_NS Structure                                         */
721   __IM  uint32_t  RESERVED[256];
722   __IOM uint32_t  RESETREAS;                    /*!< (@ 0x00000400) Reset reason                                               */
723 } NRF_RESET_Type;                               /*!< Size = 1028 (0x404)                                                       */
724 
725 
726 
727 /* =========================================================================================================================== */
728 /* ================                                         CTRLAP_NS                                         ================ */
729 /* =========================================================================================================================== */
730 
731 
732 /**
733   * @brief Control access port (CTRLAP_NS)
734   */
735 
736 typedef struct {                                /*!< (@ 0x41006000) CTRLAP_NS Structure                                        */
737   __IM  uint32_t  RESERVED[256];
738   __IOM CTRLAPPERI_MAILBOX_Type MAILBOX;        /*!< (@ 0x00000400) Unspecified                                                */
739   __IM  uint32_t  RESERVED1[30];
740   __IOM CTRLAPPERI_ERASEPROTECT_Type ERASEPROTECT;/*!< (@ 0x00000500) Unspecified                                              */
741   __IM  uint32_t  RESERVED2[14];
742   __IOM CTRLAPPERI_APPROTECT_Type APPROTECT;    /*!< (@ 0x00000540) Unspecified                                                */
743   __IM  uint32_t  RESERVED3[46];
744   __IM  uint32_t  STATUS;                       /*!< (@ 0x00000600) Status bits for CTRL-AP peripheral.                        */
745 } NRF_CTRLAPPERI_Type;                          /*!< Size = 1540 (0x604)                                                       */
746 
747 
748 
749 /* =========================================================================================================================== */
750 /* ================                                         RADIO_NS                                          ================ */
751 /* =========================================================================================================================== */
752 
753 
754 /**
755   * @brief 2.4 GHz radio (RADIO_NS)
756   */
757 
758 typedef struct {                                /*!< (@ 0x41008000) RADIO_NS Structure                                         */
759   __OM  uint32_t  TASKS_TXEN;                   /*!< (@ 0x00000000) Enable RADIO in TX mode                                    */
760   __OM  uint32_t  TASKS_RXEN;                   /*!< (@ 0x00000004) Enable RADIO in RX mode                                    */
761   __OM  uint32_t  TASKS_START;                  /*!< (@ 0x00000008) Start RADIO                                                */
762   __OM  uint32_t  TASKS_STOP;                   /*!< (@ 0x0000000C) Stop RADIO                                                 */
763   __OM  uint32_t  TASKS_DISABLE;                /*!< (@ 0x00000010) Disable RADIO                                              */
764   __OM  uint32_t  TASKS_RSSISTART;              /*!< (@ 0x00000014) Start the RSSI and take one single sample of
765                                                                     the receive signal strength                                */
766   __OM  uint32_t  TASKS_RSSISTOP;               /*!< (@ 0x00000018) Stop the RSSI measurement                                  */
767   __OM  uint32_t  TASKS_BCSTART;                /*!< (@ 0x0000001C) Start the bit counter                                      */
768   __OM  uint32_t  TASKS_BCSTOP;                 /*!< (@ 0x00000020) Stop the bit counter                                       */
769   __OM  uint32_t  TASKS_EDSTART;                /*!< (@ 0x00000024) Start the energy detect measurement used in IEEE
770                                                                     802.15.4 mode                                              */
771   __OM  uint32_t  TASKS_EDSTOP;                 /*!< (@ 0x00000028) Stop the energy detect measurement                         */
772   __OM  uint32_t  TASKS_CCASTART;               /*!< (@ 0x0000002C) Start the clear channel assessment used in IEEE
773                                                                     802.15.4 mode                                              */
774   __OM  uint32_t  TASKS_CCASTOP;                /*!< (@ 0x00000030) Stop the clear channel assessment                          */
775   __IM  uint32_t  RESERVED[19];
776   __IOM uint32_t  SUBSCRIBE_TXEN;               /*!< (@ 0x00000080) Subscribe configuration for task TXEN                      */
777   __IOM uint32_t  SUBSCRIBE_RXEN;               /*!< (@ 0x00000084) Subscribe configuration for task RXEN                      */
778   __IOM uint32_t  SUBSCRIBE_START;              /*!< (@ 0x00000088) Subscribe configuration for task START                     */
779   __IOM uint32_t  SUBSCRIBE_STOP;               /*!< (@ 0x0000008C) Subscribe configuration for task STOP                      */
780   __IOM uint32_t  SUBSCRIBE_DISABLE;            /*!< (@ 0x00000090) Subscribe configuration for task DISABLE                   */
781   __IOM uint32_t  SUBSCRIBE_RSSISTART;          /*!< (@ 0x00000094) Subscribe configuration for task RSSISTART                 */
782   __IOM uint32_t  SUBSCRIBE_RSSISTOP;           /*!< (@ 0x00000098) Subscribe configuration for task RSSISTOP                  */
783   __IOM uint32_t  SUBSCRIBE_BCSTART;            /*!< (@ 0x0000009C) Subscribe configuration for task BCSTART                   */
784   __IOM uint32_t  SUBSCRIBE_BCSTOP;             /*!< (@ 0x000000A0) Subscribe configuration for task BCSTOP                    */
785   __IOM uint32_t  SUBSCRIBE_EDSTART;            /*!< (@ 0x000000A4) Subscribe configuration for task EDSTART                   */
786   __IOM uint32_t  SUBSCRIBE_EDSTOP;             /*!< (@ 0x000000A8) Subscribe configuration for task EDSTOP                    */
787   __IOM uint32_t  SUBSCRIBE_CCASTART;           /*!< (@ 0x000000AC) Subscribe configuration for task CCASTART                  */
788   __IOM uint32_t  SUBSCRIBE_CCASTOP;            /*!< (@ 0x000000B0) Subscribe configuration for task CCASTOP                   */
789   __IM  uint32_t  RESERVED1[19];
790   __IOM uint32_t  EVENTS_READY;                 /*!< (@ 0x00000100) RADIO has ramped up and is ready to be started             */
791   __IOM uint32_t  EVENTS_ADDRESS;               /*!< (@ 0x00000104) Address sent or received                                   */
792   __IOM uint32_t  EVENTS_PAYLOAD;               /*!< (@ 0x00000108) Packet payload sent or received                            */
793   __IOM uint32_t  EVENTS_END;                   /*!< (@ 0x0000010C) Packet sent or received                                    */
794   __IOM uint32_t  EVENTS_DISABLED;              /*!< (@ 0x00000110) RADIO has been disabled                                    */
795   __IOM uint32_t  EVENTS_DEVMATCH;              /*!< (@ 0x00000114) A device address match occurred on the last received
796                                                                     packet                                                     */
797   __IOM uint32_t  EVENTS_DEVMISS;               /*!< (@ 0x00000118) No device address match occurred on the last
798                                                                     received packet                                            */
799   __IOM uint32_t  EVENTS_RSSIEND;               /*!< (@ 0x0000011C) Sampling of receive signal strength complete               */
800   __IM  uint32_t  RESERVED2[2];
801   __IOM uint32_t  EVENTS_BCMATCH;               /*!< (@ 0x00000128) Bit counter reached bit count value                        */
802   __IM  uint32_t  RESERVED3;
803   __IOM uint32_t  EVENTS_CRCOK;                 /*!< (@ 0x00000130) Packet received with CRC ok                                */
804   __IOM uint32_t  EVENTS_CRCERROR;              /*!< (@ 0x00000134) Packet received with CRC error                             */
805   __IOM uint32_t  EVENTS_FRAMESTART;            /*!< (@ 0x00000138) IEEE 802.15.4 length field received                        */
806   __IOM uint32_t  EVENTS_EDEND;                 /*!< (@ 0x0000013C) Sampling of energy detection complete. A new
807                                                                     ED sample is ready for readout from the
808                                                                     RADIO.EDSAMPLE register.                                   */
809   __IOM uint32_t  EVENTS_EDSTOPPED;             /*!< (@ 0x00000140) The sampling of energy detection has stopped               */
810   __IOM uint32_t  EVENTS_CCAIDLE;               /*!< (@ 0x00000144) Wireless medium in idle - clear to send                    */
811   __IOM uint32_t  EVENTS_CCABUSY;               /*!< (@ 0x00000148) Wireless medium busy - do not send                         */
812   __IOM uint32_t  EVENTS_CCASTOPPED;            /*!< (@ 0x0000014C) The CCA has stopped                                        */
813   __IOM uint32_t  EVENTS_RATEBOOST;             /*!< (@ 0x00000150) Ble_LR CI field received, receive mode is changed
814                                                                     from Ble_LR125Kbit to Ble_LR500Kbit.                       */
815   __IOM uint32_t  EVENTS_TXREADY;               /*!< (@ 0x00000154) RADIO has ramped up and is ready to be started
816                                                                     TX path                                                    */
817   __IOM uint32_t  EVENTS_RXREADY;               /*!< (@ 0x00000158) RADIO has ramped up and is ready to be started
818                                                                     RX path                                                    */
819   __IOM uint32_t  EVENTS_MHRMATCH;              /*!< (@ 0x0000015C) MAC header match found                                     */
820   __IM  uint32_t  RESERVED4[2];
821   __IOM uint32_t  EVENTS_SYNC;                  /*!< (@ 0x00000168) Preamble indicator                                         */
822   __IOM uint32_t  EVENTS_PHYEND;                /*!< (@ 0x0000016C) Generated when last bit is sent on air, or received
823                                                                     from air                                                   */
824   __IOM uint32_t  EVENTS_CTEPRESENT;            /*!< (@ 0x00000170) CTE is present (early warning right after receiving
825                                                                     CTEInfo byte)                                              */
826   __IM  uint32_t  RESERVED5[3];
827   __IOM uint32_t  PUBLISH_READY;                /*!< (@ 0x00000180) Publish configuration for event READY                      */
828   __IOM uint32_t  PUBLISH_ADDRESS;              /*!< (@ 0x00000184) Publish configuration for event ADDRESS                    */
829   __IOM uint32_t  PUBLISH_PAYLOAD;              /*!< (@ 0x00000188) Publish configuration for event PAYLOAD                    */
830   __IOM uint32_t  PUBLISH_END;                  /*!< (@ 0x0000018C) Publish configuration for event END                        */
831   __IOM uint32_t  PUBLISH_DISABLED;             /*!< (@ 0x00000190) Publish configuration for event DISABLED                   */
832   __IOM uint32_t  PUBLISH_DEVMATCH;             /*!< (@ 0x00000194) Publish configuration for event DEVMATCH                   */
833   __IOM uint32_t  PUBLISH_DEVMISS;              /*!< (@ 0x00000198) Publish configuration for event DEVMISS                    */
834   __IOM uint32_t  PUBLISH_RSSIEND;              /*!< (@ 0x0000019C) Publish configuration for event RSSIEND                    */
835   __IM  uint32_t  RESERVED6[2];
836   __IOM uint32_t  PUBLISH_BCMATCH;              /*!< (@ 0x000001A8) Publish configuration for event BCMATCH                    */
837   __IM  uint32_t  RESERVED7;
838   __IOM uint32_t  PUBLISH_CRCOK;                /*!< (@ 0x000001B0) Publish configuration for event CRCOK                      */
839   __IOM uint32_t  PUBLISH_CRCERROR;             /*!< (@ 0x000001B4) Publish configuration for event CRCERROR                   */
840   __IOM uint32_t  PUBLISH_FRAMESTART;           /*!< (@ 0x000001B8) Publish configuration for event FRAMESTART                 */
841   __IOM uint32_t  PUBLISH_EDEND;                /*!< (@ 0x000001BC) Publish configuration for event EDEND                      */
842   __IOM uint32_t  PUBLISH_EDSTOPPED;            /*!< (@ 0x000001C0) Publish configuration for event EDSTOPPED                  */
843   __IOM uint32_t  PUBLISH_CCAIDLE;              /*!< (@ 0x000001C4) Publish configuration for event CCAIDLE                    */
844   __IOM uint32_t  PUBLISH_CCABUSY;              /*!< (@ 0x000001C8) Publish configuration for event CCABUSY                    */
845   __IOM uint32_t  PUBLISH_CCASTOPPED;           /*!< (@ 0x000001CC) Publish configuration for event CCASTOPPED                 */
846   __IOM uint32_t  PUBLISH_RATEBOOST;            /*!< (@ 0x000001D0) Publish configuration for event RATEBOOST                  */
847   __IOM uint32_t  PUBLISH_TXREADY;              /*!< (@ 0x000001D4) Publish configuration for event TXREADY                    */
848   __IOM uint32_t  PUBLISH_RXREADY;              /*!< (@ 0x000001D8) Publish configuration for event RXREADY                    */
849   __IOM uint32_t  PUBLISH_MHRMATCH;             /*!< (@ 0x000001DC) Publish configuration for event MHRMATCH                   */
850   __IM  uint32_t  RESERVED8[2];
851   __IOM uint32_t  PUBLISH_SYNC;                 /*!< (@ 0x000001E8) Publish configuration for event SYNC                       */
852   __IOM uint32_t  PUBLISH_PHYEND;               /*!< (@ 0x000001EC) Publish configuration for event PHYEND                     */
853   __IOM uint32_t  PUBLISH_CTEPRESENT;           /*!< (@ 0x000001F0) Publish configuration for event CTEPRESENT                 */
854   __IM  uint32_t  RESERVED9[3];
855   __IOM uint32_t  SHORTS;                       /*!< (@ 0x00000200) Shortcuts between local events and tasks                   */
856   __IM  uint32_t  RESERVED10[64];
857   __IOM uint32_t  INTENSET;                     /*!< (@ 0x00000304) Enable interrupt                                           */
858   __IOM uint32_t  INTENCLR;                     /*!< (@ 0x00000308) Disable interrupt                                          */
859   __IM  uint32_t  RESERVED11[61];
860   __IM  uint32_t  CRCSTATUS;                    /*!< (@ 0x00000400) CRC status                                                 */
861   __IM  uint32_t  RESERVED12;
862   __IM  uint32_t  RXMATCH;                      /*!< (@ 0x00000408) Received address                                           */
863   __IM  uint32_t  RXCRC;                        /*!< (@ 0x0000040C) CRC field of previously received packet                    */
864   __IM  uint32_t  DAI;                          /*!< (@ 0x00000410) Device address match index                                 */
865   __IM  uint32_t  PDUSTAT;                      /*!< (@ 0x00000414) Payload status                                             */
866   __IM  uint32_t  RESERVED13[13];
867   __IM  uint32_t  CTESTATUS;                    /*!< (@ 0x0000044C) CTEInfo parsed from received packet                        */
868   __IM  uint32_t  RESERVED14[2];
869   __IM  uint32_t  DFESTATUS;                    /*!< (@ 0x00000458) DFE status information                                     */
870   __IM  uint32_t  RESERVED15[42];
871   __IOM uint32_t  PACKETPTR;                    /*!< (@ 0x00000504) Packet pointer                                             */
872   __IOM uint32_t  FREQUENCY;                    /*!< (@ 0x00000508) Frequency                                                  */
873   __IOM uint32_t  TXPOWER;                      /*!< (@ 0x0000050C) Output power                                               */
874   __IOM uint32_t  MODE;                         /*!< (@ 0x00000510) Data rate and modulation                                   */
875   __IOM uint32_t  PCNF0;                        /*!< (@ 0x00000514) Packet configuration register 0                            */
876   __IOM uint32_t  PCNF1;                        /*!< (@ 0x00000518) Packet configuration register 1                            */
877   __IOM uint32_t  BASE0;                        /*!< (@ 0x0000051C) Base address 0                                             */
878   __IOM uint32_t  BASE1;                        /*!< (@ 0x00000520) Base address 1                                             */
879   __IOM uint32_t  PREFIX0;                      /*!< (@ 0x00000524) Prefixes bytes for logical addresses 0-3                   */
880   __IOM uint32_t  PREFIX1;                      /*!< (@ 0x00000528) Prefixes bytes for logical addresses 4-7                   */
881   __IOM uint32_t  TXADDRESS;                    /*!< (@ 0x0000052C) Transmit address select                                    */
882   __IOM uint32_t  RXADDRESSES;                  /*!< (@ 0x00000530) Receive address select                                     */
883   __IOM uint32_t  CRCCNF;                       /*!< (@ 0x00000534) CRC configuration                                          */
884   __IOM uint32_t  CRCPOLY;                      /*!< (@ 0x00000538) CRC polynomial                                             */
885   __IOM uint32_t  CRCINIT;                      /*!< (@ 0x0000053C) CRC initial value                                          */
886   __IM  uint32_t  RESERVED16;
887   __IOM uint32_t  TIFS;                         /*!< (@ 0x00000544) Interframe spacing in us                                   */
888   __IM  uint32_t  RSSISAMPLE;                   /*!< (@ 0x00000548) RSSI sample                                                */
889   __IM  uint32_t  RESERVED17;
890   __IM  uint32_t  STATE;                        /*!< (@ 0x00000550) Current radio state                                        */
891   __IOM uint32_t  DATAWHITEIV;                  /*!< (@ 0x00000554) Data whitening initial value                               */
892   __IM  uint32_t  RESERVED18[2];
893   __IOM uint32_t  BCC;                          /*!< (@ 0x00000560) Bit counter compare                                        */
894   __IM  uint32_t  RESERVED19[39];
895   __IOM uint32_t  DAB[8];                       /*!< (@ 0x00000600) Description collection: Device address base segment
896                                                                     n                                                          */
897   __IOM uint32_t  DAP[8];                       /*!< (@ 0x00000620) Description collection: Device address prefix
898                                                                     n                                                          */
899   __IOM uint32_t  DACNF;                        /*!< (@ 0x00000640) Device address match configuration                         */
900   __IOM uint32_t  MHRMATCHCONF;                 /*!< (@ 0x00000644) Search pattern configuration                               */
901   __IOM uint32_t  MHRMATCHMAS;                  /*!< (@ 0x00000648) Pattern mask                                               */
902   __IM  uint32_t  RESERVED20;
903   __IOM uint32_t  MODECNF0;                     /*!< (@ 0x00000650) Radio mode configuration register 0                        */
904   __IM  uint32_t  RESERVED21[3];
905   __IOM uint32_t  SFD;                          /*!< (@ 0x00000660) IEEE 802.15.4 start of frame delimiter                     */
906   __IOM uint32_t  EDCNT;                        /*!< (@ 0x00000664) IEEE 802.15.4 energy detect loop count                     */
907   __IM  uint32_t  EDSAMPLE;                     /*!< (@ 0x00000668) IEEE 802.15.4 energy detect level                          */
908   __IOM uint32_t  CCACTRL;                      /*!< (@ 0x0000066C) IEEE 802.15.4 clear channel assessment control             */
909   __IM  uint32_t  RESERVED22[164];
910   __IOM uint32_t  DFEMODE;                      /*!< (@ 0x00000900) Whether to use Angle-of-Arrival (AOA) or Angle-of-Departure
911                                                                     (AOD)                                                      */
912   __IOM uint32_t  CTEINLINECONF;                /*!< (@ 0x00000904) Configuration for CTE inline mode                          */
913   __IM  uint32_t  RESERVED23[2];
914   __IOM uint32_t  DFECTRL1;                     /*!< (@ 0x00000910) Various configuration for Direction finding                */
915   __IOM uint32_t  DFECTRL2;                     /*!< (@ 0x00000914) Start offset for Direction finding                         */
916   __IM  uint32_t  RESERVED24[4];
917   __IOM uint32_t  SWITCHPATTERN;                /*!< (@ 0x00000928) GPIO patterns to be used for each antenna                  */
918   __IOM uint32_t  CLEARPATTERN;                 /*!< (@ 0x0000092C) Clear the GPIO pattern array for antenna control           */
919   __IOM RADIO_PSEL_Type PSEL;                   /*!< (@ 0x00000930) Unspecified                                                */
920   __IOM RADIO_DFEPACKET_Type DFEPACKET;         /*!< (@ 0x00000950) DFE packet EasyDMA channel                                 */
921   __IM  uint32_t  RESERVED25[424];
922   __IOM uint32_t  POWER;                        /*!< (@ 0x00000FFC) Peripheral power control                                   */
923 } NRF_RADIO_Type;                               /*!< Size = 4096 (0x1000)                                                      */
924 
925 
926 
927 /* =========================================================================================================================== */
928 /* ================                                          RNG_NS                                           ================ */
929 /* =========================================================================================================================== */
930 
931 
932 /**
933   * @brief Random Number Generator (RNG_NS)
934   */
935 
936 typedef struct {                                /*!< (@ 0x41009000) RNG_NS Structure                                           */
937   __OM  uint32_t  TASKS_START;                  /*!< (@ 0x00000000) Task starting the random number generator                  */
938   __OM  uint32_t  TASKS_STOP;                   /*!< (@ 0x00000004) Task stopping the random number generator                  */
939   __IM  uint32_t  RESERVED[30];
940   __IOM uint32_t  SUBSCRIBE_START;              /*!< (@ 0x00000080) Subscribe configuration for task START                     */
941   __IOM uint32_t  SUBSCRIBE_STOP;               /*!< (@ 0x00000084) Subscribe configuration for task STOP                      */
942   __IM  uint32_t  RESERVED1[30];
943   __IOM uint32_t  EVENTS_VALRDY;                /*!< (@ 0x00000100) Event being generated for every new random number
944                                                                     written to the VALUE register                              */
945   __IM  uint32_t  RESERVED2[31];
946   __IOM uint32_t  PUBLISH_VALRDY;               /*!< (@ 0x00000180) Publish configuration for event VALRDY                     */
947   __IM  uint32_t  RESERVED3[31];
948   __IOM uint32_t  SHORTS;                       /*!< (@ 0x00000200) Shortcuts between local events and tasks                   */
949   __IM  uint32_t  RESERVED4[64];
950   __IOM uint32_t  INTENSET;                     /*!< (@ 0x00000304) Enable interrupt                                           */
951   __IOM uint32_t  INTENCLR;                     /*!< (@ 0x00000308) Disable interrupt                                          */
952   __IM  uint32_t  RESERVED5[126];
953   __IOM uint32_t  CONFIG;                       /*!< (@ 0x00000504) Configuration register                                     */
954   __IM  uint32_t  VALUE;                        /*!< (@ 0x00000508) Output random number                                       */
955 } NRF_RNG_Type;                                 /*!< Size = 1292 (0x50c)                                                       */
956 
957 
958 
959 /* =========================================================================================================================== */
960 /* ================                                         GPIOTE_NS                                         ================ */
961 /* =========================================================================================================================== */
962 
963 
964 /**
965   * @brief GPIO Tasks and Events (GPIOTE_NS)
966   */
967 
968 typedef struct {                                /*!< (@ 0x4100A000) GPIOTE_NS Structure                                        */
969   __OM  uint32_t  TASKS_OUT[8];                 /*!< (@ 0x00000000) Description collection: Task for writing to pin
970                                                                     specified in CONFIG[n].PSEL. Action on pin
971                                                                     is configured in CONFIG[n].POLARITY.                       */
972   __IM  uint32_t  RESERVED[4];
973   __OM  uint32_t  TASKS_SET[8];                 /*!< (@ 0x00000030) Description collection: Task for writing to pin
974                                                                     specified in CONFIG[n].PSEL. Action on pin
975                                                                     is to set it high.                                         */
976   __IM  uint32_t  RESERVED1[4];
977   __OM  uint32_t  TASKS_CLR[8];                 /*!< (@ 0x00000060) Description collection: Task for writing to pin
978                                                                     specified in CONFIG[n].PSEL. Action on pin
979                                                                     is to set it low.                                          */
980   __IOM uint32_t  SUBSCRIBE_OUT[8];             /*!< (@ 0x00000080) Description collection: Subscribe configuration
981                                                                     for task OUT[n]                                            */
982   __IM  uint32_t  RESERVED2[4];
983   __IOM uint32_t  SUBSCRIBE_SET[8];             /*!< (@ 0x000000B0) Description collection: Subscribe configuration
984                                                                     for task SET[n]                                            */
985   __IM  uint32_t  RESERVED3[4];
986   __IOM uint32_t  SUBSCRIBE_CLR[8];             /*!< (@ 0x000000E0) Description collection: Subscribe configuration
987                                                                     for task CLR[n]                                            */
988   __IOM uint32_t  EVENTS_IN[8];                 /*!< (@ 0x00000100) Description collection: Event generated from
989                                                                     pin specified in CONFIG[n].PSEL                            */
990   __IM  uint32_t  RESERVED4[23];
991   __IOM uint32_t  EVENTS_PORT;                  /*!< (@ 0x0000017C) Event generated from multiple input GPIO pins
992                                                                     with SENSE mechanism enabled                               */
993   __IOM uint32_t  PUBLISH_IN[8];                /*!< (@ 0x00000180) Description collection: Publish configuration
994                                                                     for event IN[n]                                            */
995   __IM  uint32_t  RESERVED5[23];
996   __IOM uint32_t  PUBLISH_PORT;                 /*!< (@ 0x000001FC) Publish configuration for event PORT                       */
997   __IM  uint32_t  RESERVED6[65];
998   __IOM uint32_t  INTENSET;                     /*!< (@ 0x00000304) Enable interrupt                                           */
999   __IOM uint32_t  INTENCLR;                     /*!< (@ 0x00000308) Disable interrupt                                          */
1000   __IM  uint32_t  RESERVED7[126];
1001   __IOM uint32_t  LATENCY;                      /*!< (@ 0x00000504) Latency selection for Event mode (MODE=Event)
1002                                                                     with rising or falling edge detection on
1003                                                                     the pin.                                                   */
1004   __IM  uint32_t  RESERVED8[2];
1005   __IOM uint32_t  CONFIG[8];                    /*!< (@ 0x00000510) Description collection: Configuration for OUT[n],
1006                                                                     SET[n], and CLR[n] tasks and IN[n] event                   */
1007 } NRF_GPIOTE_Type;                              /*!< Size = 1328 (0x530)                                                       */
1008 
1009 
1010 
1011 /* =========================================================================================================================== */
1012 /* ================                                          WDT_NS                                           ================ */
1013 /* =========================================================================================================================== */
1014 
1015 
1016 /**
1017   * @brief Watchdog Timer (WDT_NS)
1018   */
1019 
1020 typedef struct {                                /*!< (@ 0x4100B000) WDT_NS Structure                                           */
1021   __OM  uint32_t  TASKS_START;                  /*!< (@ 0x00000000) Start WDT                                                  */
1022   __OM  uint32_t  TASKS_STOP;                   /*!< (@ 0x00000004) Stop WDT                                                   */
1023   __IM  uint32_t  RESERVED[30];
1024   __IOM uint32_t  SUBSCRIBE_START;              /*!< (@ 0x00000080) Subscribe configuration for task START                     */
1025   __IOM uint32_t  SUBSCRIBE_STOP;               /*!< (@ 0x00000084) Subscribe configuration for task STOP                      */
1026   __IM  uint32_t  RESERVED1[30];
1027   __IOM uint32_t  EVENTS_TIMEOUT;               /*!< (@ 0x00000100) Watchdog timeout                                           */
1028   __IOM uint32_t  EVENTS_STOPPED;               /*!< (@ 0x00000104) Watchdog stopped                                           */
1029   __IM  uint32_t  RESERVED2[30];
1030   __IOM uint32_t  PUBLISH_TIMEOUT;              /*!< (@ 0x00000180) Publish configuration for event TIMEOUT                    */
1031   __IOM uint32_t  PUBLISH_STOPPED;              /*!< (@ 0x00000184) Publish configuration for event STOPPED                    */
1032   __IM  uint32_t  RESERVED3[95];
1033   __IOM uint32_t  INTENSET;                     /*!< (@ 0x00000304) Enable interrupt                                           */
1034   __IOM uint32_t  INTENCLR;                     /*!< (@ 0x00000308) Disable interrupt                                          */
1035   __IM  uint32_t  RESERVED4[6];
1036   __IOM uint32_t  NMIENSET;                     /*!< (@ 0x00000324) Enable interrupt                                           */
1037   __IOM uint32_t  NMIENCLR;                     /*!< (@ 0x00000328) Disable interrupt                                          */
1038   __IM  uint32_t  RESERVED5[53];
1039   __IM  uint32_t  RUNSTATUS;                    /*!< (@ 0x00000400) Run status                                                 */
1040   __IM  uint32_t  REQSTATUS;                    /*!< (@ 0x00000404) Request status                                             */
1041   __IM  uint32_t  RESERVED6[63];
1042   __IOM uint32_t  CRV;                          /*!< (@ 0x00000504) Counter reload value                                       */
1043   __IOM uint32_t  RREN;                         /*!< (@ 0x00000508) Enable register for reload request registers               */
1044   __IOM uint32_t  CONFIG;                       /*!< (@ 0x0000050C) Configuration register                                     */
1045   __IM  uint32_t  RESERVED7[4];
1046   __OM  uint32_t  TSEN;                         /*!< (@ 0x00000520) Task stop enable                                           */
1047   __IM  uint32_t  RESERVED8[55];
1048   __OM  uint32_t  RR[8];                        /*!< (@ 0x00000600) Description collection: Reload request n                   */
1049 } NRF_WDT_Type;                                 /*!< Size = 1568 (0x620)                                                       */
1050 
1051 
1052 
1053 /* =========================================================================================================================== */
1054 /* ================                                         TIMER0_NS                                         ================ */
1055 /* =========================================================================================================================== */
1056 
1057 
1058 /**
1059   * @brief Timer/Counter 0 (TIMER0_NS)
1060   */
1061 
1062 typedef struct {                                /*!< (@ 0x4100C000) TIMER0_NS Structure                                        */
1063   __OM  uint32_t  TASKS_START;                  /*!< (@ 0x00000000) Start Timer                                                */
1064   __OM  uint32_t  TASKS_STOP;                   /*!< (@ 0x00000004) Stop Timer                                                 */
1065   __OM  uint32_t  TASKS_COUNT;                  /*!< (@ 0x00000008) Increment Timer (Counter mode only)                        */
1066   __OM  uint32_t  TASKS_CLEAR;                  /*!< (@ 0x0000000C) Clear time                                                 */
1067   __OM  uint32_t  TASKS_SHUTDOWN;               /*!< (@ 0x00000010) Deprecated register - Shut down timer                      */
1068   __IM  uint32_t  RESERVED[11];
1069   __OM  uint32_t  TASKS_CAPTURE[8];             /*!< (@ 0x00000040) Description collection: Capture Timer value to
1070                                                                     CC[n] register                                             */
1071   __IM  uint32_t  RESERVED1[8];
1072   __IOM uint32_t  SUBSCRIBE_START;              /*!< (@ 0x00000080) Subscribe configuration for task START                     */
1073   __IOM uint32_t  SUBSCRIBE_STOP;               /*!< (@ 0x00000084) Subscribe configuration for task STOP                      */
1074   __IOM uint32_t  SUBSCRIBE_COUNT;              /*!< (@ 0x00000088) Subscribe configuration for task COUNT                     */
1075   __IOM uint32_t  SUBSCRIBE_CLEAR;              /*!< (@ 0x0000008C) Subscribe configuration for task CLEAR                     */
1076   __IOM uint32_t  SUBSCRIBE_SHUTDOWN;           /*!< (@ 0x00000090) Deprecated register - Subscribe configuration
1077                                                                     for task SHUTDOWN                                          */
1078   __IM  uint32_t  RESERVED2[11];
1079   __IOM uint32_t  SUBSCRIBE_CAPTURE[8];         /*!< (@ 0x000000C0) Description collection: Subscribe configuration
1080                                                                     for task CAPTURE[n]                                        */
1081   __IM  uint32_t  RESERVED3[24];
1082   __IOM uint32_t  EVENTS_COMPARE[8];            /*!< (@ 0x00000140) Description collection: Compare event on CC[n]
1083                                                                     match                                                      */
1084   __IM  uint32_t  RESERVED4[24];
1085   __IOM uint32_t  PUBLISH_COMPARE[8];           /*!< (@ 0x000001C0) Description collection: Publish configuration
1086                                                                     for event COMPARE[n]                                       */
1087   __IM  uint32_t  RESERVED5[8];
1088   __IOM uint32_t  SHORTS;                       /*!< (@ 0x00000200) Shortcuts between local events and tasks                   */
1089   __IM  uint32_t  RESERVED6[63];
1090   __IOM uint32_t  INTEN;                        /*!< (@ 0x00000300) Enable or disable interrupt                                */
1091   __IOM uint32_t  INTENSET;                     /*!< (@ 0x00000304) Enable interrupt                                           */
1092   __IOM uint32_t  INTENCLR;                     /*!< (@ 0x00000308) Disable interrupt                                          */
1093   __IM  uint32_t  RESERVED7[126];
1094   __IOM uint32_t  MODE;                         /*!< (@ 0x00000504) Timer mode selection                                       */
1095   __IOM uint32_t  BITMODE;                      /*!< (@ 0x00000508) Configure the number of bits used by the TIMER             */
1096   __IM  uint32_t  RESERVED8;
1097   __IOM uint32_t  PRESCALER;                    /*!< (@ 0x00000510) Timer prescaler register                                   */
1098   __IM  uint32_t  RESERVED9[11];
1099   __IOM uint32_t  CC[8];                        /*!< (@ 0x00000540) Description collection: Capture/Compare register
1100                                                                     n                                                          */
1101   __IM  uint32_t  RESERVED10[8];
1102   __IOM uint32_t  ONESHOTEN[8];                 /*!< (@ 0x00000580) Description collection: Enable one-shot operation
1103                                                                     for Capture/Compare channel n                              */
1104 } NRF_TIMER_Type;                               /*!< Size = 1440 (0x5a0)                                                       */
1105 
1106 
1107 
1108 /* =========================================================================================================================== */
1109 /* ================                                          ECB_NS                                           ================ */
1110 /* =========================================================================================================================== */
1111 
1112 
1113 /**
1114   * @brief AES ECB Mode Encryption (ECB_NS)
1115   */
1116 
1117 typedef struct {                                /*!< (@ 0x4100D000) ECB_NS Structure                                           */
1118   __OM  uint32_t  TASKS_STARTECB;               /*!< (@ 0x00000000) Start ECB block encrypt                                    */
1119   __OM  uint32_t  TASKS_STOPECB;                /*!< (@ 0x00000004) Abort a possible executing ECB operation                   */
1120   __IM  uint32_t  RESERVED[30];
1121   __IOM uint32_t  SUBSCRIBE_STARTECB;           /*!< (@ 0x00000080) Subscribe configuration for task STARTECB                  */
1122   __IOM uint32_t  SUBSCRIBE_STOPECB;            /*!< (@ 0x00000084) Subscribe configuration for task STOPECB                   */
1123   __IM  uint32_t  RESERVED1[30];
1124   __IOM uint32_t  EVENTS_ENDECB;                /*!< (@ 0x00000100) ECB block encrypt complete                                 */
1125   __IOM uint32_t  EVENTS_ERRORECB;              /*!< (@ 0x00000104) ECB block encrypt aborted because of a STOPECB
1126                                                                     task or due to an error                                    */
1127   __IM  uint32_t  RESERVED2[30];
1128   __IOM uint32_t  PUBLISH_ENDECB;               /*!< (@ 0x00000180) Publish configuration for event ENDECB                     */
1129   __IOM uint32_t  PUBLISH_ERRORECB;             /*!< (@ 0x00000184) Publish configuration for event ERRORECB                   */
1130   __IM  uint32_t  RESERVED3[95];
1131   __IOM uint32_t  INTENSET;                     /*!< (@ 0x00000304) Enable interrupt                                           */
1132   __IOM uint32_t  INTENCLR;                     /*!< (@ 0x00000308) Disable interrupt                                          */
1133   __IM  uint32_t  RESERVED4[126];
1134   __IOM uint32_t  ECBDATAPTR;                   /*!< (@ 0x00000504) ECB block encrypt memory pointers                          */
1135 } NRF_ECB_Type;                                 /*!< Size = 1288 (0x508)                                                       */
1136 
1137 
1138 
1139 /* =========================================================================================================================== */
1140 /* ================                                          AAR_NS                                           ================ */
1141 /* =========================================================================================================================== */
1142 
1143 
1144 /**
1145   * @brief Accelerated Address Resolver (AAR_NS)
1146   */
1147 
1148 typedef struct {                                /*!< (@ 0x4100E000) AAR_NS Structure                                           */
1149   __OM  uint32_t  TASKS_START;                  /*!< (@ 0x00000000) Start resolving addresses based on IRKs specified
1150                                                                     in the IRK data structure                                  */
1151   __IM  uint32_t  RESERVED;
1152   __OM  uint32_t  TASKS_STOP;                   /*!< (@ 0x00000008) Stop resolving addresses                                   */
1153   __IM  uint32_t  RESERVED1[29];
1154   __IOM uint32_t  SUBSCRIBE_START;              /*!< (@ 0x00000080) Subscribe configuration for task START                     */
1155   __IM  uint32_t  RESERVED2;
1156   __IOM uint32_t  SUBSCRIBE_STOP;               /*!< (@ 0x00000088) Subscribe configuration for task STOP                      */
1157   __IM  uint32_t  RESERVED3[29];
1158   __IOM uint32_t  EVENTS_END;                   /*!< (@ 0x00000100) Address resolution procedure complete                      */
1159   __IOM uint32_t  EVENTS_RESOLVED;              /*!< (@ 0x00000104) Address resolved                                           */
1160   __IOM uint32_t  EVENTS_NOTRESOLVED;           /*!< (@ 0x00000108) Address not resolved                                       */
1161   __IM  uint32_t  RESERVED4[29];
1162   __IOM uint32_t  PUBLISH_END;                  /*!< (@ 0x00000180) Publish configuration for event END                        */
1163   __IOM uint32_t  PUBLISH_RESOLVED;             /*!< (@ 0x00000184) Publish configuration for event RESOLVED                   */
1164   __IOM uint32_t  PUBLISH_NOTRESOLVED;          /*!< (@ 0x00000188) Publish configuration for event NOTRESOLVED                */
1165   __IM  uint32_t  RESERVED5[94];
1166   __IOM uint32_t  INTENSET;                     /*!< (@ 0x00000304) Enable interrupt                                           */
1167   __IOM uint32_t  INTENCLR;                     /*!< (@ 0x00000308) Disable interrupt                                          */
1168   __IM  uint32_t  RESERVED6[61];
1169   __IM  uint32_t  STATUS;                       /*!< (@ 0x00000400) Resolution status                                          */
1170   __IM  uint32_t  RESERVED7[63];
1171   __IOM uint32_t  ENABLE;                       /*!< (@ 0x00000500) Enable AAR                                                 */
1172   __IOM uint32_t  NIRK;                         /*!< (@ 0x00000504) Number of IRKs                                             */
1173   __IOM uint32_t  IRKPTR;                       /*!< (@ 0x00000508) Pointer to IRK data structure                              */
1174   __IM  uint32_t  RESERVED8;
1175   __IOM uint32_t  ADDRPTR;                      /*!< (@ 0x00000510) Pointer to the resolvable address                          */
1176   __IOM uint32_t  SCRATCHPTR;                   /*!< (@ 0x00000514) Pointer to data area used for temporary storage            */
1177 } NRF_AAR_Type;                                 /*!< Size = 1304 (0x518)                                                       */
1178 
1179 
1180 
1181 /* =========================================================================================================================== */
1182 /* ================                                          CCM_NS                                           ================ */
1183 /* =========================================================================================================================== */
1184 
1185 
1186 /**
1187   * @brief AES CCM mode encryption (CCM_NS)
1188   */
1189 
1190 typedef struct {                                /*!< (@ 0x4100E000) CCM_NS Structure                                           */
1191   __OM  uint32_t  TASKS_KSGEN;                  /*!< (@ 0x00000000) Start generation of keystream. This operation
1192                                                                     will stop by itself when completed.                        */
1193   __OM  uint32_t  TASKS_CRYPT;                  /*!< (@ 0x00000004) Start encryption/decryption. This operation will
1194                                                                     stop by itself when completed.                             */
1195   __OM  uint32_t  TASKS_STOP;                   /*!< (@ 0x00000008) Stop encryption/decryption                                 */
1196   __OM  uint32_t  TASKS_RATEOVERRIDE;           /*!< (@ 0x0000000C) Override DATARATE setting in MODE register with
1197                                                                     the contents of the RATEOVERRIDE register
1198                                                                     for any ongoing encryption/decryption                      */
1199   __IM  uint32_t  RESERVED[28];
1200   __IOM uint32_t  SUBSCRIBE_KSGEN;              /*!< (@ 0x00000080) Subscribe configuration for task KSGEN                     */
1201   __IOM uint32_t  SUBSCRIBE_CRYPT;              /*!< (@ 0x00000084) Subscribe configuration for task CRYPT                     */
1202   __IOM uint32_t  SUBSCRIBE_STOP;               /*!< (@ 0x00000088) Subscribe configuration for task STOP                      */
1203   __IOM uint32_t  SUBSCRIBE_RATEOVERRIDE;       /*!< (@ 0x0000008C) Subscribe configuration for task RATEOVERRIDE              */
1204   __IM  uint32_t  RESERVED1[28];
1205   __IOM uint32_t  EVENTS_ENDKSGEN;              /*!< (@ 0x00000100) Keystream generation complete                              */
1206   __IOM uint32_t  EVENTS_ENDCRYPT;              /*!< (@ 0x00000104) Encrypt/decrypt complete                                   */
1207   __IOM uint32_t  EVENTS_ERROR;                 /*!< (@ 0x00000108) Deprecated register - CCM error event                      */
1208   __IM  uint32_t  RESERVED2[29];
1209   __IOM uint32_t  PUBLISH_ENDKSGEN;             /*!< (@ 0x00000180) Publish configuration for event ENDKSGEN                   */
1210   __IOM uint32_t  PUBLISH_ENDCRYPT;             /*!< (@ 0x00000184) Publish configuration for event ENDCRYPT                   */
1211   __IOM uint32_t  PUBLISH_ERROR;                /*!< (@ 0x00000188) Deprecated register - Publish configuration for
1212                                                                     event ERROR                                                */
1213   __IM  uint32_t  RESERVED3[29];
1214   __IOM uint32_t  SHORTS;                       /*!< (@ 0x00000200) Shortcuts between local events and tasks                   */
1215   __IM  uint32_t  RESERVED4[64];
1216   __IOM uint32_t  INTENSET;                     /*!< (@ 0x00000304) Enable interrupt                                           */
1217   __IOM uint32_t  INTENCLR;                     /*!< (@ 0x00000308) Disable interrupt                                          */
1218   __IM  uint32_t  RESERVED5[61];
1219   __IM  uint32_t  MICSTATUS;                    /*!< (@ 0x00000400) MIC check result                                           */
1220   __IM  uint32_t  RESERVED6[63];
1221   __IOM uint32_t  ENABLE;                       /*!< (@ 0x00000500) Enable                                                     */
1222   __IOM uint32_t  MODE;                         /*!< (@ 0x00000504) Operation mode                                             */
1223   __IOM uint32_t  CNFPTR;                       /*!< (@ 0x00000508) Pointer to data structure holding the AES key
1224                                                                     and the NONCE vector                                       */
1225   __IOM uint32_t  INPTR;                        /*!< (@ 0x0000050C) Input pointer                                              */
1226   __IOM uint32_t  OUTPTR;                       /*!< (@ 0x00000510) Output pointer                                             */
1227   __IOM uint32_t  SCRATCHPTR;                   /*!< (@ 0x00000514) Pointer to data area used for temporary storage            */
1228   __IOM uint32_t  MAXPACKETSIZE;                /*!< (@ 0x00000518) Length of keystream generated when MODE.LENGTH
1229                                                                     = Extended                                                 */
1230   __IOM uint32_t  RATEOVERRIDE;                 /*!< (@ 0x0000051C) Data rate override setting.                                */
1231   __IOM uint32_t  HEADERMASK;                   /*!< (@ 0x00000520) Header (S0) mask.                                          */
1232 } NRF_CCM_Type;                                 /*!< Size = 1316 (0x524)                                                       */
1233 
1234 
1235 
1236 /* =========================================================================================================================== */
1237 /* ================                                         DPPIC_NS                                          ================ */
1238 /* =========================================================================================================================== */
1239 
1240 
1241 /**
1242   * @brief Distributed programmable peripheral interconnect controller (DPPIC_NS)
1243   */
1244 
1245 typedef struct {                                /*!< (@ 0x4100F000) DPPIC_NS Structure                                         */
1246   __OM  DPPIC_TASKS_CHG_Type TASKS_CHG[6];      /*!< (@ 0x00000000) Channel group tasks                                        */
1247   __IM  uint32_t  RESERVED[20];
1248   __IOM DPPIC_SUBSCRIBE_CHG_Type SUBSCRIBE_CHG[6];/*!< (@ 0x00000080) Subscribe configuration for tasks                        */
1249   __IM  uint32_t  RESERVED1[276];
1250   __IOM uint32_t  CHEN;                         /*!< (@ 0x00000500) Channel enable register                                    */
1251   __IOM uint32_t  CHENSET;                      /*!< (@ 0x00000504) Channel enable set register                                */
1252   __IOM uint32_t  CHENCLR;                      /*!< (@ 0x00000508) Channel enable clear register                              */
1253   __IM  uint32_t  RESERVED2[189];
1254   __IOM uint32_t  CHG[6];                       /*!< (@ 0x00000800) Description collection: Channel group n Note:
1255                                                                     Writes to this register are ignored if either
1256                                                                     SUBSCRIBE_CHG[n].EN or SUBSCRIBE_CHG[n].DIS
1257                                                                     is enabled                                                 */
1258 } NRF_DPPIC_Type;                               /*!< Size = 2072 (0x818)                                                       */
1259 
1260 
1261 
1262 /* =========================================================================================================================== */
1263 /* ================                                          TEMP_NS                                          ================ */
1264 /* =========================================================================================================================== */
1265 
1266 
1267 /**
1268   * @brief Temperature Sensor (TEMP_NS)
1269   */
1270 
1271 typedef struct {                                /*!< (@ 0x41010000) TEMP_NS Structure                                          */
1272   __OM  uint32_t  TASKS_START;                  /*!< (@ 0x00000000) Start temperature measurement                              */
1273   __OM  uint32_t  TASKS_STOP;                   /*!< (@ 0x00000004) Stop temperature measurement                               */
1274   __IM  uint32_t  RESERVED[30];
1275   __IOM uint32_t  SUBSCRIBE_START;              /*!< (@ 0x00000080) Subscribe configuration for task START                     */
1276   __IOM uint32_t  SUBSCRIBE_STOP;               /*!< (@ 0x00000084) Subscribe configuration for task STOP                      */
1277   __IM  uint32_t  RESERVED1[30];
1278   __IOM uint32_t  EVENTS_DATARDY;               /*!< (@ 0x00000100) Temperature measurement complete, data ready               */
1279   __IM  uint32_t  RESERVED2[31];
1280   __IOM uint32_t  PUBLISH_DATARDY;              /*!< (@ 0x00000180) Publish configuration for event DATARDY                    */
1281   __IM  uint32_t  RESERVED3[96];
1282   __IOM uint32_t  INTENSET;                     /*!< (@ 0x00000304) Enable interrupt                                           */
1283   __IOM uint32_t  INTENCLR;                     /*!< (@ 0x00000308) Disable interrupt                                          */
1284   __IM  uint32_t  RESERVED4[127];
1285   __IM  int32_t   TEMP;                         /*!< (@ 0x00000508) Temperature in degC (0.25deg steps)                        */
1286   __IM  uint32_t  RESERVED5[5];
1287   __IOM uint32_t  A0;                           /*!< (@ 0x00000520) Slope of first piecewise linear function                   */
1288   __IOM uint32_t  A1;                           /*!< (@ 0x00000524) Slope of second piecewise linear function                  */
1289   __IOM uint32_t  A2;                           /*!< (@ 0x00000528) Slope of third piecewise linear function                   */
1290   __IOM uint32_t  A3;                           /*!< (@ 0x0000052C) Slope of fourth piecewise linear function                  */
1291   __IOM uint32_t  A4;                           /*!< (@ 0x00000530) Slope of fifth piecewise linear function                   */
1292   __IOM uint32_t  A5;                           /*!< (@ 0x00000534) Slope of sixth piecewise linear function                   */
1293   __IM  uint32_t  RESERVED6[2];
1294   __IOM uint32_t  B0;                           /*!< (@ 0x00000540) y-intercept of first piecewise linear function             */
1295   __IOM uint32_t  B1;                           /*!< (@ 0x00000544) y-intercept of second piecewise linear function            */
1296   __IOM uint32_t  B2;                           /*!< (@ 0x00000548) y-intercept of third piecewise linear function             */
1297   __IOM uint32_t  B3;                           /*!< (@ 0x0000054C) y-intercept of fourth piecewise linear function            */
1298   __IOM uint32_t  B4;                           /*!< (@ 0x00000550) y-intercept of fifth piecewise linear function             */
1299   __IOM uint32_t  B5;                           /*!< (@ 0x00000554) y-intercept of sixth piecewise linear function             */
1300   __IM  uint32_t  RESERVED7[2];
1301   __IOM uint32_t  T0;                           /*!< (@ 0x00000560) Endpoint of first piecewise linear function                */
1302   __IOM uint32_t  T1;                           /*!< (@ 0x00000564) Endpoint of second piecewise linear function               */
1303   __IOM uint32_t  T2;                           /*!< (@ 0x00000568) Endpoint of third piecewise linear function                */
1304   __IOM uint32_t  T3;                           /*!< (@ 0x0000056C) Endpoint of fourth piecewise linear function               */
1305   __IOM uint32_t  T4;                           /*!< (@ 0x00000570) Endpoint of fifth piecewise linear function                */
1306 } NRF_TEMP_Type;                                /*!< Size = 1396 (0x574)                                                       */
1307 
1308 
1309 
1310 /* =========================================================================================================================== */
1311 /* ================                                          RTC0_NS                                          ================ */
1312 /* =========================================================================================================================== */
1313 
1314 
1315 /**
1316   * @brief Real-time counter 0 (RTC0_NS)
1317   */
1318 
1319 typedef struct {                                /*!< (@ 0x41011000) RTC0_NS Structure                                          */
1320   __OM  uint32_t  TASKS_START;                  /*!< (@ 0x00000000) Start RTC counter                                          */
1321   __OM  uint32_t  TASKS_STOP;                   /*!< (@ 0x00000004) Stop RTC counter                                           */
1322   __OM  uint32_t  TASKS_CLEAR;                  /*!< (@ 0x00000008) Clear RTC counter                                          */
1323   __OM  uint32_t  TASKS_TRIGOVRFLW;             /*!< (@ 0x0000000C) Set counter to 0xFFFFF0                                    */
1324   __IM  uint32_t  RESERVED[12];
1325   __OM  uint32_t  TASKS_CAPTURE[4];             /*!< (@ 0x00000040) Description collection: Capture RTC counter to
1326                                                                     CC[n] register                                             */
1327   __IM  uint32_t  RESERVED1[12];
1328   __IOM uint32_t  SUBSCRIBE_START;              /*!< (@ 0x00000080) Subscribe configuration for task START                     */
1329   __IOM uint32_t  SUBSCRIBE_STOP;               /*!< (@ 0x00000084) Subscribe configuration for task STOP                      */
1330   __IOM uint32_t  SUBSCRIBE_CLEAR;              /*!< (@ 0x00000088) Subscribe configuration for task CLEAR                     */
1331   __IOM uint32_t  SUBSCRIBE_TRIGOVRFLW;         /*!< (@ 0x0000008C) Subscribe configuration for task TRIGOVRFLW                */
1332   __IM  uint32_t  RESERVED2[12];
1333   __IOM uint32_t  SUBSCRIBE_CAPTURE[4];         /*!< (@ 0x000000C0) Description collection: Subscribe configuration
1334                                                                     for task CAPTURE[n]                                        */
1335   __IM  uint32_t  RESERVED3[12];
1336   __IOM uint32_t  EVENTS_TICK;                  /*!< (@ 0x00000100) Event on counter increment                                 */
1337   __IOM uint32_t  EVENTS_OVRFLW;                /*!< (@ 0x00000104) Event on counter overflow                                  */
1338   __IM  uint32_t  RESERVED4[14];
1339   __IOM uint32_t  EVENTS_COMPARE[4];            /*!< (@ 0x00000140) Description collection: Compare event on CC[n]
1340                                                                     match                                                      */
1341   __IM  uint32_t  RESERVED5[12];
1342   __IOM uint32_t  PUBLISH_TICK;                 /*!< (@ 0x00000180) Publish configuration for event TICK                       */
1343   __IOM uint32_t  PUBLISH_OVRFLW;               /*!< (@ 0x00000184) Publish configuration for event OVRFLW                     */
1344   __IM  uint32_t  RESERVED6[14];
1345   __IOM uint32_t  PUBLISH_COMPARE[4];           /*!< (@ 0x000001C0) Description collection: Publish configuration
1346                                                                     for event COMPARE[n]                                       */
1347   __IM  uint32_t  RESERVED7[12];
1348   __IOM uint32_t  SHORTS;                       /*!< (@ 0x00000200) Shortcuts between local events and tasks                   */
1349   __IM  uint32_t  RESERVED8[64];
1350   __IOM uint32_t  INTENSET;                     /*!< (@ 0x00000304) Enable interrupt                                           */
1351   __IOM uint32_t  INTENCLR;                     /*!< (@ 0x00000308) Disable interrupt                                          */
1352   __IM  uint32_t  RESERVED9[13];
1353   __IOM uint32_t  EVTEN;                        /*!< (@ 0x00000340) Enable or disable event routing                            */
1354   __IOM uint32_t  EVTENSET;                     /*!< (@ 0x00000344) Enable event routing                                       */
1355   __IOM uint32_t  EVTENCLR;                     /*!< (@ 0x00000348) Disable event routing                                      */
1356   __IM  uint32_t  RESERVED10[110];
1357   __IM  uint32_t  COUNTER;                      /*!< (@ 0x00000504) Current counter value                                      */
1358   __IOM uint32_t  PRESCALER;                    /*!< (@ 0x00000508) 12-bit prescaler for counter frequency (32768
1359                                                                     / (PRESCALER + 1)). Must be written when
1360                                                                     RTC is stopped.                                            */
1361   __IM  uint32_t  RESERVED11[13];
1362   __IOM uint32_t  CC[4];                        /*!< (@ 0x00000540) Description collection: Compare register n                 */
1363 } NRF_RTC_Type;                                 /*!< Size = 1360 (0x550)                                                       */
1364 
1365 
1366 
1367 /* =========================================================================================================================== */
1368 /* ================                                          IPC_NS                                           ================ */
1369 /* =========================================================================================================================== */
1370 
1371 
1372 /**
1373   * @brief Interprocessor communication (IPC_NS)
1374   */
1375 
1376 typedef struct {                                /*!< (@ 0x41012000) IPC_NS Structure                                           */
1377   __OM  uint32_t  TASKS_SEND[16];               /*!< (@ 0x00000000) Description collection: Trigger events on IPC
1378                                                                     channel enabled in SEND_CNF[n]                             */
1379   __IM  uint32_t  RESERVED[16];
1380   __IOM uint32_t  SUBSCRIBE_SEND[16];           /*!< (@ 0x00000080) Description collection: Subscribe configuration
1381                                                                     for task SEND[n]                                           */
1382   __IM  uint32_t  RESERVED1[16];
1383   __IOM uint32_t  EVENTS_RECEIVE[16];           /*!< (@ 0x00000100) Description collection: Event received on one
1384                                                                     or more of the enabled IPC channels in RECEIVE_CNF[n]      */
1385   __IM  uint32_t  RESERVED2[16];
1386   __IOM uint32_t  PUBLISH_RECEIVE[16];          /*!< (@ 0x00000180) Description collection: Publish configuration
1387                                                                     for event RECEIVE[n]                                       */
1388   __IM  uint32_t  RESERVED3[80];
1389   __IOM uint32_t  INTEN;                        /*!< (@ 0x00000300) Enable or disable interrupt                                */
1390   __IOM uint32_t  INTENSET;                     /*!< (@ 0x00000304) Enable interrupt                                           */
1391   __IOM uint32_t  INTENCLR;                     /*!< (@ 0x00000308) Disable interrupt                                          */
1392   __IM  uint32_t  INTPEND;                      /*!< (@ 0x0000030C) Pending interrupts                                         */
1393   __IM  uint32_t  RESERVED4[128];
1394   __IOM uint32_t  SEND_CNF[16];                 /*!< (@ 0x00000510) Description collection: Send event configuration
1395                                                                     for TASKS_SEND[n]                                          */
1396   __IM  uint32_t  RESERVED5[16];
1397   __IOM uint32_t  RECEIVE_CNF[16];              /*!< (@ 0x00000590) Description collection: Receive event configuration
1398                                                                     for EVENTS_RECEIVE[n]                                      */
1399   __IM  uint32_t  RESERVED6[16];
1400   __IOM uint32_t  GPMEM[2];                     /*!< (@ 0x00000610) Description collection: General purpose memory             */
1401 } NRF_IPC_Type;                                 /*!< Size = 1560 (0x618)                                                       */
1402 
1403 
1404 
1405 /* =========================================================================================================================== */
1406 /* ================                                         SPIM0_NS                                          ================ */
1407 /* =========================================================================================================================== */
1408 
1409 
1410 /**
1411   * @brief Serial Peripheral Interface Master with EasyDMA (SPIM0_NS)
1412   */
1413 
1414 typedef struct {                                /*!< (@ 0x41013000) SPIM0_NS Structure                                         */
1415   __IM  uint32_t  RESERVED[4];
1416   __OM  uint32_t  TASKS_START;                  /*!< (@ 0x00000010) Start SPI transaction                                      */
1417   __OM  uint32_t  TASKS_STOP;                   /*!< (@ 0x00000014) Stop SPI transaction                                       */
1418   __IM  uint32_t  RESERVED1;
1419   __OM  uint32_t  TASKS_SUSPEND;                /*!< (@ 0x0000001C) Suspend SPI transaction                                    */
1420   __OM  uint32_t  TASKS_RESUME;                 /*!< (@ 0x00000020) Resume SPI transaction                                     */
1421   __IM  uint32_t  RESERVED2[27];
1422   __IOM uint32_t  SUBSCRIBE_START;              /*!< (@ 0x00000090) Subscribe configuration for task START                     */
1423   __IOM uint32_t  SUBSCRIBE_STOP;               /*!< (@ 0x00000094) Subscribe configuration for task STOP                      */
1424   __IM  uint32_t  RESERVED3;
1425   __IOM uint32_t  SUBSCRIBE_SUSPEND;            /*!< (@ 0x0000009C) Subscribe configuration for task SUSPEND                   */
1426   __IOM uint32_t  SUBSCRIBE_RESUME;             /*!< (@ 0x000000A0) Subscribe configuration for task RESUME                    */
1427   __IM  uint32_t  RESERVED4[24];
1428   __IOM uint32_t  EVENTS_STOPPED;               /*!< (@ 0x00000104) SPI transaction has stopped                                */
1429   __IM  uint32_t  RESERVED5[2];
1430   __IOM uint32_t  EVENTS_ENDRX;                 /*!< (@ 0x00000110) End of RXD buffer reached                                  */
1431   __IM  uint32_t  RESERVED6;
1432   __IOM uint32_t  EVENTS_END;                   /*!< (@ 0x00000118) End of RXD buffer and TXD buffer reached                   */
1433   __IM  uint32_t  RESERVED7;
1434   __IOM uint32_t  EVENTS_ENDTX;                 /*!< (@ 0x00000120) End of TXD buffer reached                                  */
1435   __IM  uint32_t  RESERVED8[10];
1436   __IOM uint32_t  EVENTS_STARTED;               /*!< (@ 0x0000014C) Transaction started                                        */
1437   __IM  uint32_t  RESERVED9[13];
1438   __IOM uint32_t  PUBLISH_STOPPED;              /*!< (@ 0x00000184) Publish configuration for event STOPPED                    */
1439   __IM  uint32_t  RESERVED10[2];
1440   __IOM uint32_t  PUBLISH_ENDRX;                /*!< (@ 0x00000190) Publish configuration for event ENDRX                      */
1441   __IM  uint32_t  RESERVED11;
1442   __IOM uint32_t  PUBLISH_END;                  /*!< (@ 0x00000198) Publish configuration for event END                        */
1443   __IM  uint32_t  RESERVED12;
1444   __IOM uint32_t  PUBLISH_ENDTX;                /*!< (@ 0x000001A0) Publish configuration for event ENDTX                      */
1445   __IM  uint32_t  RESERVED13[10];
1446   __IOM uint32_t  PUBLISH_STARTED;              /*!< (@ 0x000001CC) Publish configuration for event STARTED                    */
1447   __IM  uint32_t  RESERVED14[12];
1448   __IOM uint32_t  SHORTS;                       /*!< (@ 0x00000200) Shortcuts between local events and tasks                   */
1449   __IM  uint32_t  RESERVED15[64];
1450   __IOM uint32_t  INTENSET;                     /*!< (@ 0x00000304) Enable interrupt                                           */
1451   __IOM uint32_t  INTENCLR;                     /*!< (@ 0x00000308) Disable interrupt                                          */
1452   __IM  uint32_t  RESERVED16[61];
1453   __IOM uint32_t  STALLSTAT;                    /*!< (@ 0x00000400) Stall status for EasyDMA RAM accesses. The fields
1454                                                                     in this register are set to STALL by hardware
1455                                                                     whenever a stall occurres and can be cleared
1456                                                                     (set to NOSTALL) by the CPU.                               */
1457   __IM  uint32_t  RESERVED17[63];
1458   __IOM uint32_t  ENABLE;                       /*!< (@ 0x00000500) Enable SPIM                                                */
1459   __IM  uint32_t  RESERVED18;
1460   __IOM SPIM_PSEL_Type PSEL;                    /*!< (@ 0x00000508) Unspecified                                                */
1461   __IM  uint32_t  RESERVED19[3];
1462   __IOM uint32_t  FREQUENCY;                    /*!< (@ 0x00000524) SPI frequency. Accuracy depends on the HFCLK
1463                                                                     source selected.                                           */
1464   __IM  uint32_t  RESERVED20[3];
1465   __IOM SPIM_RXD_Type RXD;                      /*!< (@ 0x00000534) RXD EasyDMA channel                                        */
1466   __IOM SPIM_TXD_Type TXD;                      /*!< (@ 0x00000544) TXD EasyDMA channel                                        */
1467   __IOM uint32_t  CONFIG;                       /*!< (@ 0x00000554) Configuration register                                     */
1468   __IM  uint32_t  RESERVED21[2];
1469   __IOM SPIM_IFTIMING_Type IFTIMING;            /*!< (@ 0x00000560) Unspecified                                                */
1470   __IOM uint32_t  CSNPOL;                       /*!< (@ 0x00000568) Polarity of CSN output                                     */
1471   __IOM uint32_t  PSELDCX;                      /*!< (@ 0x0000056C) Pin select for DCX signal                                  */
1472   __IOM uint32_t  DCXCNT;                       /*!< (@ 0x00000570) DCX configuration                                          */
1473   __IM  uint32_t  RESERVED22[19];
1474   __IOM uint32_t  ORC;                          /*!< (@ 0x000005C0) Byte transmitted after TXD.MAXCNT bytes have
1475                                                                     been transmitted in the case when RXD.MAXCNT
1476                                                                     is greater than TXD.MAXCNT                                 */
1477 } NRF_SPIM_Type;                                /*!< Size = 1476 (0x5c4)                                                       */
1478 
1479 
1480 
1481 /* =========================================================================================================================== */
1482 /* ================                                         SPIS0_NS                                          ================ */
1483 /* =========================================================================================================================== */
1484 
1485 
1486 /**
1487   * @brief SPI Slave (SPIS0_NS)
1488   */
1489 
1490 typedef struct {                                /*!< (@ 0x41013000) SPIS0_NS Structure                                         */
1491   __IM  uint32_t  RESERVED[9];
1492   __OM  uint32_t  TASKS_ACQUIRE;                /*!< (@ 0x00000024) Acquire SPI semaphore                                      */
1493   __OM  uint32_t  TASKS_RELEASE;                /*!< (@ 0x00000028) Release SPI semaphore, enabling the SPI slave
1494                                                                     to acquire it                                              */
1495   __IM  uint32_t  RESERVED1[30];
1496   __IOM uint32_t  SUBSCRIBE_ACQUIRE;            /*!< (@ 0x000000A4) Subscribe configuration for task ACQUIRE                   */
1497   __IOM uint32_t  SUBSCRIBE_RELEASE;            /*!< (@ 0x000000A8) Subscribe configuration for task RELEASE                   */
1498   __IM  uint32_t  RESERVED2[22];
1499   __IOM uint32_t  EVENTS_END;                   /*!< (@ 0x00000104) Granted transaction completed                              */
1500   __IM  uint32_t  RESERVED3[2];
1501   __IOM uint32_t  EVENTS_ENDRX;                 /*!< (@ 0x00000110) End of RXD buffer reached                                  */
1502   __IM  uint32_t  RESERVED4[5];
1503   __IOM uint32_t  EVENTS_ACQUIRED;              /*!< (@ 0x00000128) Semaphore acquired                                         */
1504   __IM  uint32_t  RESERVED5[22];
1505   __IOM uint32_t  PUBLISH_END;                  /*!< (@ 0x00000184) Publish configuration for event END                        */
1506   __IM  uint32_t  RESERVED6[2];
1507   __IOM uint32_t  PUBLISH_ENDRX;                /*!< (@ 0x00000190) Publish configuration for event ENDRX                      */
1508   __IM  uint32_t  RESERVED7[5];
1509   __IOM uint32_t  PUBLISH_ACQUIRED;             /*!< (@ 0x000001A8) Publish configuration for event ACQUIRED                   */
1510   __IM  uint32_t  RESERVED8[21];
1511   __IOM uint32_t  SHORTS;                       /*!< (@ 0x00000200) Shortcuts between local events and tasks                   */
1512   __IM  uint32_t  RESERVED9[64];
1513   __IOM uint32_t  INTENSET;                     /*!< (@ 0x00000304) Enable interrupt                                           */
1514   __IOM uint32_t  INTENCLR;                     /*!< (@ 0x00000308) Disable interrupt                                          */
1515   __IM  uint32_t  RESERVED10[61];
1516   __IM  uint32_t  SEMSTAT;                      /*!< (@ 0x00000400) Semaphore status register                                  */
1517   __IM  uint32_t  RESERVED11[15];
1518   __IOM uint32_t  STATUS;                       /*!< (@ 0x00000440) Status from last transaction                               */
1519   __IM  uint32_t  RESERVED12[47];
1520   __IOM uint32_t  ENABLE;                       /*!< (@ 0x00000500) Enable SPI slave                                           */
1521   __IM  uint32_t  RESERVED13;
1522   __IOM SPIS_PSEL_Type PSEL;                    /*!< (@ 0x00000508) Unspecified                                                */
1523   __IM  uint32_t  RESERVED14[7];
1524   __IOM SPIS_RXD_Type RXD;                      /*!< (@ 0x00000534) Unspecified                                                */
1525   __IOM SPIS_TXD_Type TXD;                      /*!< (@ 0x00000544) Unspecified                                                */
1526   __IOM uint32_t  CONFIG;                       /*!< (@ 0x00000554) Configuration register                                     */
1527   __IM  uint32_t  RESERVED15;
1528   __IOM uint32_t  DEF;                          /*!< (@ 0x0000055C) Default character. Character clocked out in case
1529                                                                     of an ignored transaction.                                 */
1530   __IM  uint32_t  RESERVED16[24];
1531   __IOM uint32_t  ORC;                          /*!< (@ 0x000005C0) Over-read character                                        */
1532 } NRF_SPIS_Type;                                /*!< Size = 1476 (0x5c4)                                                       */
1533 
1534 
1535 
1536 /* =========================================================================================================================== */
1537 /* ================                                         TWIM0_NS                                          ================ */
1538 /* =========================================================================================================================== */
1539 
1540 
1541 /**
1542   * @brief I2C compatible Two-Wire Master Interface with EasyDMA (TWIM0_NS)
1543   */
1544 
1545 typedef struct {                                /*!< (@ 0x41013000) TWIM0_NS Structure                                         */
1546   __OM  uint32_t  TASKS_STARTRX;                /*!< (@ 0x00000000) Start TWI receive sequence                                 */
1547   __IM  uint32_t  RESERVED;
1548   __OM  uint32_t  TASKS_STARTTX;                /*!< (@ 0x00000008) Start TWI transmit sequence                                */
1549   __IM  uint32_t  RESERVED1[2];
1550   __OM  uint32_t  TASKS_STOP;                   /*!< (@ 0x00000014) Stop TWI transaction. Must be issued while the
1551                                                                     TWI master is not suspended.                               */
1552   __IM  uint32_t  RESERVED2;
1553   __OM  uint32_t  TASKS_SUSPEND;                /*!< (@ 0x0000001C) Suspend TWI transaction                                    */
1554   __OM  uint32_t  TASKS_RESUME;                 /*!< (@ 0x00000020) Resume TWI transaction                                     */
1555   __IM  uint32_t  RESERVED3[23];
1556   __IOM uint32_t  SUBSCRIBE_STARTRX;            /*!< (@ 0x00000080) Subscribe configuration for task STARTRX                   */
1557   __IM  uint32_t  RESERVED4;
1558   __IOM uint32_t  SUBSCRIBE_STARTTX;            /*!< (@ 0x00000088) Subscribe configuration for task STARTTX                   */
1559   __IM  uint32_t  RESERVED5[2];
1560   __IOM uint32_t  SUBSCRIBE_STOP;               /*!< (@ 0x00000094) Subscribe configuration for task STOP                      */
1561   __IM  uint32_t  RESERVED6;
1562   __IOM uint32_t  SUBSCRIBE_SUSPEND;            /*!< (@ 0x0000009C) Subscribe configuration for task SUSPEND                   */
1563   __IOM uint32_t  SUBSCRIBE_RESUME;             /*!< (@ 0x000000A0) Subscribe configuration for task RESUME                    */
1564   __IM  uint32_t  RESERVED7[24];
1565   __IOM uint32_t  EVENTS_STOPPED;               /*!< (@ 0x00000104) TWI stopped                                                */
1566   __IM  uint32_t  RESERVED8[7];
1567   __IOM uint32_t  EVENTS_ERROR;                 /*!< (@ 0x00000124) TWI error                                                  */
1568   __IM  uint32_t  RESERVED9[8];
1569   __IOM uint32_t  EVENTS_SUSPENDED;             /*!< (@ 0x00000148) SUSPEND task has been issued, TWI traffic is
1570                                                                     now suspended.                                             */
1571   __IOM uint32_t  EVENTS_RXSTARTED;             /*!< (@ 0x0000014C) Receive sequence started                                   */
1572   __IOM uint32_t  EVENTS_TXSTARTED;             /*!< (@ 0x00000150) Transmit sequence started                                  */
1573   __IM  uint32_t  RESERVED10[2];
1574   __IOM uint32_t  EVENTS_LASTRX;                /*!< (@ 0x0000015C) Byte boundary, starting to receive the last byte           */
1575   __IOM uint32_t  EVENTS_LASTTX;                /*!< (@ 0x00000160) Byte boundary, starting to transmit the last
1576                                                                     byte                                                       */
1577   __IM  uint32_t  RESERVED11[8];
1578   __IOM uint32_t  PUBLISH_STOPPED;              /*!< (@ 0x00000184) Publish configuration for event STOPPED                    */
1579   __IM  uint32_t  RESERVED12[7];
1580   __IOM uint32_t  PUBLISH_ERROR;                /*!< (@ 0x000001A4) Publish configuration for event ERROR                      */
1581   __IM  uint32_t  RESERVED13[8];
1582   __IOM uint32_t  PUBLISH_SUSPENDED;            /*!< (@ 0x000001C8) Publish configuration for event SUSPENDED                  */
1583   __IOM uint32_t  PUBLISH_RXSTARTED;            /*!< (@ 0x000001CC) Publish configuration for event RXSTARTED                  */
1584   __IOM uint32_t  PUBLISH_TXSTARTED;            /*!< (@ 0x000001D0) Publish configuration for event TXSTARTED                  */
1585   __IM  uint32_t  RESERVED14[2];
1586   __IOM uint32_t  PUBLISH_LASTRX;               /*!< (@ 0x000001DC) Publish configuration for event LASTRX                     */
1587   __IOM uint32_t  PUBLISH_LASTTX;               /*!< (@ 0x000001E0) Publish configuration for event LASTTX                     */
1588   __IM  uint32_t  RESERVED15[7];
1589   __IOM uint32_t  SHORTS;                       /*!< (@ 0x00000200) Shortcuts between local events and tasks                   */
1590   __IM  uint32_t  RESERVED16[63];
1591   __IOM uint32_t  INTEN;                        /*!< (@ 0x00000300) Enable or disable interrupt                                */
1592   __IOM uint32_t  INTENSET;                     /*!< (@ 0x00000304) Enable interrupt                                           */
1593   __IOM uint32_t  INTENCLR;                     /*!< (@ 0x00000308) Disable interrupt                                          */
1594   __IM  uint32_t  RESERVED17[110];
1595   __IOM uint32_t  ERRORSRC;                     /*!< (@ 0x000004C4) Error source                                               */
1596   __IM  uint32_t  RESERVED18[14];
1597   __IOM uint32_t  ENABLE;                       /*!< (@ 0x00000500) Enable TWIM                                                */
1598   __IM  uint32_t  RESERVED19;
1599   __IOM TWIM_PSEL_Type PSEL;                    /*!< (@ 0x00000508) Unspecified                                                */
1600   __IM  uint32_t  RESERVED20[5];
1601   __IOM uint32_t  FREQUENCY;                    /*!< (@ 0x00000524) TWI frequency. Accuracy depends on the HFCLK
1602                                                                     source selected.                                           */
1603   __IM  uint32_t  RESERVED21[3];
1604   __IOM TWIM_RXD_Type RXD;                      /*!< (@ 0x00000534) RXD EasyDMA channel                                        */
1605   __IOM TWIM_TXD_Type TXD;                      /*!< (@ 0x00000544) TXD EasyDMA channel                                        */
1606   __IM  uint32_t  RESERVED22[13];
1607   __IOM uint32_t  ADDRESS;                      /*!< (@ 0x00000588) Address used in the TWI transfer                           */
1608 } NRF_TWIM_Type;                                /*!< Size = 1420 (0x58c)                                                       */
1609 
1610 
1611 
1612 /* =========================================================================================================================== */
1613 /* ================                                         TWIS0_NS                                          ================ */
1614 /* =========================================================================================================================== */
1615 
1616 
1617 /**
1618   * @brief I2C compatible Two-Wire Slave Interface with EasyDMA (TWIS0_NS)
1619   */
1620 
1621 typedef struct {                                /*!< (@ 0x41013000) TWIS0_NS Structure                                         */
1622   __IM  uint32_t  RESERVED[5];
1623   __OM  uint32_t  TASKS_STOP;                   /*!< (@ 0x00000014) Stop TWI transaction                                       */
1624   __IM  uint32_t  RESERVED1;
1625   __OM  uint32_t  TASKS_SUSPEND;                /*!< (@ 0x0000001C) Suspend TWI transaction                                    */
1626   __OM  uint32_t  TASKS_RESUME;                 /*!< (@ 0x00000020) Resume TWI transaction                                     */
1627   __IM  uint32_t  RESERVED2[3];
1628   __OM  uint32_t  TASKS_PREPARERX;              /*!< (@ 0x00000030) Prepare the TWI slave to respond to a write command        */
1629   __OM  uint32_t  TASKS_PREPARETX;              /*!< (@ 0x00000034) Prepare the TWI slave to respond to a read command         */
1630   __IM  uint32_t  RESERVED3[23];
1631   __IOM uint32_t  SUBSCRIBE_STOP;               /*!< (@ 0x00000094) Subscribe configuration for task STOP                      */
1632   __IM  uint32_t  RESERVED4;
1633   __IOM uint32_t  SUBSCRIBE_SUSPEND;            /*!< (@ 0x0000009C) Subscribe configuration for task SUSPEND                   */
1634   __IOM uint32_t  SUBSCRIBE_RESUME;             /*!< (@ 0x000000A0) Subscribe configuration for task RESUME                    */
1635   __IM  uint32_t  RESERVED5[3];
1636   __IOM uint32_t  SUBSCRIBE_PREPARERX;          /*!< (@ 0x000000B0) Subscribe configuration for task PREPARERX                 */
1637   __IOM uint32_t  SUBSCRIBE_PREPARETX;          /*!< (@ 0x000000B4) Subscribe configuration for task PREPARETX                 */
1638   __IM  uint32_t  RESERVED6[19];
1639   __IOM uint32_t  EVENTS_STOPPED;               /*!< (@ 0x00000104) TWI stopped                                                */
1640   __IM  uint32_t  RESERVED7[7];
1641   __IOM uint32_t  EVENTS_ERROR;                 /*!< (@ 0x00000124) TWI error                                                  */
1642   __IM  uint32_t  RESERVED8[9];
1643   __IOM uint32_t  EVENTS_RXSTARTED;             /*!< (@ 0x0000014C) Receive sequence started                                   */
1644   __IOM uint32_t  EVENTS_TXSTARTED;             /*!< (@ 0x00000150) Transmit sequence started                                  */
1645   __IM  uint32_t  RESERVED9[4];
1646   __IOM uint32_t  EVENTS_WRITE;                 /*!< (@ 0x00000164) Write command received                                     */
1647   __IOM uint32_t  EVENTS_READ;                  /*!< (@ 0x00000168) Read command received                                      */
1648   __IM  uint32_t  RESERVED10[6];
1649   __IOM uint32_t  PUBLISH_STOPPED;              /*!< (@ 0x00000184) Publish configuration for event STOPPED                    */
1650   __IM  uint32_t  RESERVED11[7];
1651   __IOM uint32_t  PUBLISH_ERROR;                /*!< (@ 0x000001A4) Publish configuration for event ERROR                      */
1652   __IM  uint32_t  RESERVED12[9];
1653   __IOM uint32_t  PUBLISH_RXSTARTED;            /*!< (@ 0x000001CC) Publish configuration for event RXSTARTED                  */
1654   __IOM uint32_t  PUBLISH_TXSTARTED;            /*!< (@ 0x000001D0) Publish configuration for event TXSTARTED                  */
1655   __IM  uint32_t  RESERVED13[4];
1656   __IOM uint32_t  PUBLISH_WRITE;                /*!< (@ 0x000001E4) Publish configuration for event WRITE                      */
1657   __IOM uint32_t  PUBLISH_READ;                 /*!< (@ 0x000001E8) Publish configuration for event READ                       */
1658   __IM  uint32_t  RESERVED14[5];
1659   __IOM uint32_t  SHORTS;                       /*!< (@ 0x00000200) Shortcuts between local events and tasks                   */
1660   __IM  uint32_t  RESERVED15[63];
1661   __IOM uint32_t  INTEN;                        /*!< (@ 0x00000300) Enable or disable interrupt                                */
1662   __IOM uint32_t  INTENSET;                     /*!< (@ 0x00000304) Enable interrupt                                           */
1663   __IOM uint32_t  INTENCLR;                     /*!< (@ 0x00000308) Disable interrupt                                          */
1664   __IM  uint32_t  RESERVED16[113];
1665   __IOM uint32_t  ERRORSRC;                     /*!< (@ 0x000004D0) Error source                                               */
1666   __IM  uint32_t  MATCH;                        /*!< (@ 0x000004D4) Status register indicating which address had
1667                                                                     a match                                                    */
1668   __IM  uint32_t  RESERVED17[10];
1669   __IOM uint32_t  ENABLE;                       /*!< (@ 0x00000500) Enable TWIS                                                */
1670   __IM  uint32_t  RESERVED18;
1671   __IOM TWIS_PSEL_Type PSEL;                    /*!< (@ 0x00000508) Unspecified                                                */
1672   __IM  uint32_t  RESERVED19[9];
1673   __IOM TWIS_RXD_Type RXD;                      /*!< (@ 0x00000534) RXD EasyDMA channel                                        */
1674   __IOM TWIS_TXD_Type TXD;                      /*!< (@ 0x00000544) TXD EasyDMA channel                                        */
1675   __IM  uint32_t  RESERVED20[13];
1676   __IOM uint32_t  ADDRESS[2];                   /*!< (@ 0x00000588) Description collection: TWI slave address n                */
1677   __IM  uint32_t  RESERVED21;
1678   __IOM uint32_t  CONFIG;                       /*!< (@ 0x00000594) Configuration register for the address match
1679                                                                     mechanism                                                  */
1680   __IM  uint32_t  RESERVED22[10];
1681   __IOM uint32_t  ORC;                          /*!< (@ 0x000005C0) Over-read character. Character sent out in case
1682                                                                     of an over-read of the transmit buffer.                    */
1683 } NRF_TWIS_Type;                                /*!< Size = 1476 (0x5c4)                                                       */
1684 
1685 
1686 
1687 /* =========================================================================================================================== */
1688 /* ================                                         UARTE0_NS                                         ================ */
1689 /* =========================================================================================================================== */
1690 
1691 
1692 /**
1693   * @brief UART with EasyDMA (UARTE0_NS)
1694   */
1695 
1696 typedef struct {                                /*!< (@ 0x41013000) UARTE0_NS Structure                                        */
1697   __OM  uint32_t  TASKS_STARTRX;                /*!< (@ 0x00000000) Start UART receiver                                        */
1698   __OM  uint32_t  TASKS_STOPRX;                 /*!< (@ 0x00000004) Stop UART receiver                                         */
1699   __OM  uint32_t  TASKS_STARTTX;                /*!< (@ 0x00000008) Start UART transmitter                                     */
1700   __OM  uint32_t  TASKS_STOPTX;                 /*!< (@ 0x0000000C) Stop UART transmitter                                      */
1701   __IM  uint32_t  RESERVED[7];
1702   __OM  uint32_t  TASKS_FLUSHRX;                /*!< (@ 0x0000002C) Flush RX FIFO into RX buffer                               */
1703   __IM  uint32_t  RESERVED1[20];
1704   __IOM uint32_t  SUBSCRIBE_STARTRX;            /*!< (@ 0x00000080) Subscribe configuration for task STARTRX                   */
1705   __IOM uint32_t  SUBSCRIBE_STOPRX;             /*!< (@ 0x00000084) Subscribe configuration for task STOPRX                    */
1706   __IOM uint32_t  SUBSCRIBE_STARTTX;            /*!< (@ 0x00000088) Subscribe configuration for task STARTTX                   */
1707   __IOM uint32_t  SUBSCRIBE_STOPTX;             /*!< (@ 0x0000008C) Subscribe configuration for task STOPTX                    */
1708   __IM  uint32_t  RESERVED2[7];
1709   __IOM uint32_t  SUBSCRIBE_FLUSHRX;            /*!< (@ 0x000000AC) Subscribe configuration for task FLUSHRX                   */
1710   __IM  uint32_t  RESERVED3[20];
1711   __IOM uint32_t  EVENTS_CTS;                   /*!< (@ 0x00000100) CTS is activated (set low). Clear To Send.                 */
1712   __IOM uint32_t  EVENTS_NCTS;                  /*!< (@ 0x00000104) CTS is deactivated (set high). Not Clear To Send.          */
1713   __IOM uint32_t  EVENTS_RXDRDY;                /*!< (@ 0x00000108) Data received in RXD (but potentially not yet
1714                                                                     transferred to Data RAM)                                   */
1715   __IM  uint32_t  RESERVED4;
1716   __IOM uint32_t  EVENTS_ENDRX;                 /*!< (@ 0x00000110) Receive buffer is filled up                                */
1717   __IM  uint32_t  RESERVED5[2];
1718   __IOM uint32_t  EVENTS_TXDRDY;                /*!< (@ 0x0000011C) Data sent from TXD                                         */
1719   __IOM uint32_t  EVENTS_ENDTX;                 /*!< (@ 0x00000120) Last TX byte transmitted                                   */
1720   __IOM uint32_t  EVENTS_ERROR;                 /*!< (@ 0x00000124) Error detected                                             */
1721   __IM  uint32_t  RESERVED6[7];
1722   __IOM uint32_t  EVENTS_RXTO;                  /*!< (@ 0x00000144) Receiver timeout                                           */
1723   __IM  uint32_t  RESERVED7;
1724   __IOM uint32_t  EVENTS_RXSTARTED;             /*!< (@ 0x0000014C) UART receiver has started                                  */
1725   __IOM uint32_t  EVENTS_TXSTARTED;             /*!< (@ 0x00000150) UART transmitter has started                               */
1726   __IM  uint32_t  RESERVED8;
1727   __IOM uint32_t  EVENTS_TXSTOPPED;             /*!< (@ 0x00000158) Transmitter stopped                                        */
1728   __IM  uint32_t  RESERVED9[9];
1729   __IOM uint32_t  PUBLISH_CTS;                  /*!< (@ 0x00000180) Publish configuration for event CTS                        */
1730   __IOM uint32_t  PUBLISH_NCTS;                 /*!< (@ 0x00000184) Publish configuration for event NCTS                       */
1731   __IOM uint32_t  PUBLISH_RXDRDY;               /*!< (@ 0x00000188) Publish configuration for event RXDRDY                     */
1732   __IM  uint32_t  RESERVED10;
1733   __IOM uint32_t  PUBLISH_ENDRX;                /*!< (@ 0x00000190) Publish configuration for event ENDRX                      */
1734   __IM  uint32_t  RESERVED11[2];
1735   __IOM uint32_t  PUBLISH_TXDRDY;               /*!< (@ 0x0000019C) Publish configuration for event TXDRDY                     */
1736   __IOM uint32_t  PUBLISH_ENDTX;                /*!< (@ 0x000001A0) Publish configuration for event ENDTX                      */
1737   __IOM uint32_t  PUBLISH_ERROR;                /*!< (@ 0x000001A4) Publish configuration for event ERROR                      */
1738   __IM  uint32_t  RESERVED12[7];
1739   __IOM uint32_t  PUBLISH_RXTO;                 /*!< (@ 0x000001C4) Publish configuration for event RXTO                       */
1740   __IM  uint32_t  RESERVED13;
1741   __IOM uint32_t  PUBLISH_RXSTARTED;            /*!< (@ 0x000001CC) Publish configuration for event RXSTARTED                  */
1742   __IOM uint32_t  PUBLISH_TXSTARTED;            /*!< (@ 0x000001D0) Publish configuration for event TXSTARTED                  */
1743   __IM  uint32_t  RESERVED14;
1744   __IOM uint32_t  PUBLISH_TXSTOPPED;            /*!< (@ 0x000001D8) Publish configuration for event TXSTOPPED                  */
1745   __IM  uint32_t  RESERVED15[9];
1746   __IOM uint32_t  SHORTS;                       /*!< (@ 0x00000200) Shortcuts between local events and tasks                   */
1747   __IM  uint32_t  RESERVED16[63];
1748   __IOM uint32_t  INTEN;                        /*!< (@ 0x00000300) Enable or disable interrupt                                */
1749   __IOM uint32_t  INTENSET;                     /*!< (@ 0x00000304) Enable interrupt                                           */
1750   __IOM uint32_t  INTENCLR;                     /*!< (@ 0x00000308) Disable interrupt                                          */
1751   __IM  uint32_t  RESERVED17[93];
1752   __IOM uint32_t  ERRORSRC;                     /*!< (@ 0x00000480) Error source                                               */
1753   __IM  uint32_t  RESERVED18[31];
1754   __IOM uint32_t  ENABLE;                       /*!< (@ 0x00000500) Enable UART                                                */
1755   __IM  uint32_t  RESERVED19;
1756   __IOM UARTE_PSEL_Type PSEL;                   /*!< (@ 0x00000508) Unspecified                                                */
1757   __IM  uint32_t  RESERVED20[3];
1758   __IOM uint32_t  BAUDRATE;                     /*!< (@ 0x00000524) Baud rate. Accuracy depends on the HFCLK source
1759                                                                     selected.                                                  */
1760   __IM  uint32_t  RESERVED21[3];
1761   __IOM UARTE_RXD_Type RXD;                     /*!< (@ 0x00000534) RXD EasyDMA channel                                        */
1762   __IM  uint32_t  RESERVED22;
1763   __IOM UARTE_TXD_Type TXD;                     /*!< (@ 0x00000544) TXD EasyDMA channel                                        */
1764   __IM  uint32_t  RESERVED23[7];
1765   __IOM uint32_t  CONFIG;                       /*!< (@ 0x0000056C) Configuration of parity and hardware flow control          */
1766 } NRF_UARTE_Type;                               /*!< Size = 1392 (0x570)                                                       */
1767 
1768 
1769 
1770 /* =========================================================================================================================== */
1771 /* ================                                          EGU0_NS                                          ================ */
1772 /* =========================================================================================================================== */
1773 
1774 
1775 /**
1776   * @brief Event generator unit (EGU0_NS)
1777   */
1778 
1779 typedef struct {                                /*!< (@ 0x41014000) EGU0_NS Structure                                          */
1780   __OM  uint32_t  TASKS_TRIGGER[16];            /*!< (@ 0x00000000) Description collection: Trigger n for triggering
1781                                                                     the corresponding TRIGGERED[n] event                       */
1782   __IM  uint32_t  RESERVED[16];
1783   __IOM uint32_t  SUBSCRIBE_TRIGGER[16];        /*!< (@ 0x00000080) Description collection: Subscribe configuration
1784                                                                     for task TRIGGER[n]                                        */
1785   __IM  uint32_t  RESERVED1[16];
1786   __IOM uint32_t  EVENTS_TRIGGERED[16];         /*!< (@ 0x00000100) Description collection: Event number n generated
1787                                                                     by triggering the corresponding TRIGGER[n]
1788                                                                     task                                                       */
1789   __IM  uint32_t  RESERVED2[16];
1790   __IOM uint32_t  PUBLISH_TRIGGERED[16];        /*!< (@ 0x00000180) Description collection: Publish configuration
1791                                                                     for event TRIGGERED[n]                                     */
1792   __IM  uint32_t  RESERVED3[80];
1793   __IOM uint32_t  INTEN;                        /*!< (@ 0x00000300) Enable or disable interrupt                                */
1794   __IOM uint32_t  INTENSET;                     /*!< (@ 0x00000304) Enable interrupt                                           */
1795   __IOM uint32_t  INTENCLR;                     /*!< (@ 0x00000308) Disable interrupt                                          */
1796 } NRF_EGU_Type;                                 /*!< Size = 780 (0x30c)                                                        */
1797 
1798 
1799 
1800 /* =========================================================================================================================== */
1801 /* ================                                          SWI0_NS                                          ================ */
1802 /* =========================================================================================================================== */
1803 
1804 
1805 /**
1806   * @brief Software interrupt 0 (SWI0_NS)
1807   */
1808 
1809 typedef struct {                                /*!< (@ 0x4101A000) SWI0_NS Structure                                          */
1810   __IM  uint32_t  UNUSED;                       /*!< (@ 0x00000000) Unused.                                                    */
1811 } NRF_SWI_Type;                                 /*!< Size = 4 (0x4)                                                            */
1812 
1813 
1814 
1815 /* =========================================================================================================================== */
1816 /* ================                                        APPMUTEX_NS                                        ================ */
1817 /* =========================================================================================================================== */
1818 
1819 
1820 /**
1821   * @brief MUTEX 0 (APPMUTEX_NS)
1822   */
1823 
1824 typedef struct {                                /*!< (@ 0x40030000) APPMUTEX_NS Structure                                      */
1825   __IM  uint32_t  RESERVED[256];
1826   __IOM uint32_t  MUTEX[16];                    /*!< (@ 0x00000400) Description collection: Mutex register                     */
1827 } NRF_MUTEX_Type;                               /*!< Size = 1088 (0x440)                                                       */
1828 
1829 
1830 
1831 /* =========================================================================================================================== */
1832 /* ================                                          ACL_NS                                           ================ */
1833 /* =========================================================================================================================== */
1834 
1835 
1836 /**
1837   * @brief Access control lists (ACL_NS)
1838   */
1839 
1840 typedef struct {                                /*!< (@ 0x41080000) ACL_NS Structure                                           */
1841   __IM  uint32_t  RESERVED[512];
1842   __IOM ACL_ACL_Type ACL[8];                    /*!< (@ 0x00000800) Unspecified                                                */
1843 } NRF_ACL_Type;                                 /*!< Size = 2176 (0x880)                                                       */
1844 
1845 
1846 
1847 /* =========================================================================================================================== */
1848 /* ================                                          NVMC_NS                                          ================ */
1849 /* =========================================================================================================================== */
1850 
1851 
1852 /**
1853   * @brief Non-volatile memory controller (NVMC_NS)
1854   */
1855 
1856 typedef struct {                                /*!< (@ 0x41080000) NVMC_NS Structure                                          */
1857   __IM  uint32_t  RESERVED[256];
1858   __IM  uint32_t  READY;                        /*!< (@ 0x00000400) Ready flag                                                 */
1859   __IM  uint32_t  RESERVED1;
1860   __IM  uint32_t  READYNEXT;                    /*!< (@ 0x00000408) Ready flag                                                 */
1861   __IM  uint32_t  RESERVED2[62];
1862   __IOM uint32_t  CONFIG;                       /*!< (@ 0x00000504) Configuration register                                     */
1863   __IM  uint32_t  RESERVED3;
1864   __OM  uint32_t  ERASEALL;                     /*!< (@ 0x0000050C) Register for erasing all non-volatile user memory          */
1865   __IM  uint32_t  RESERVED4[3];
1866   __IOM uint32_t  ERASEPAGEPARTIALCFG;          /*!< (@ 0x0000051C) Register for partial erase configuration                   */
1867   __IM  uint32_t  RESERVED5[8];
1868   __IOM uint32_t  ICACHECNF;                    /*!< (@ 0x00000540) I-code cache configuration register                        */
1869   __IM  uint32_t  RESERVED6;
1870   __IOM uint32_t  IHIT;                         /*!< (@ 0x00000548) I-code cache hit counter                                   */
1871   __IOM uint32_t  IMISS;                        /*!< (@ 0x0000054C) I-code cache miss counter                                  */
1872 } NRF_NVMC_Type;                                /*!< Size = 1360 (0x550)                                                       */
1873 
1874 
1875 
1876 /* =========================================================================================================================== */
1877 /* ================                                          VMC_NS                                           ================ */
1878 /* =========================================================================================================================== */
1879 
1880 
1881 /**
1882   * @brief Volatile Memory controller (VMC_NS)
1883   */
1884 
1885 typedef struct {                                /*!< (@ 0x41081000) VMC_NS Structure                                           */
1886   __IM  uint32_t  RESERVED[384];
1887   __IOM VMC_RAM_Type RAM[4];                    /*!< (@ 0x00000600) Unspecified                                                */
1888 } NRF_VMC_Type;                                 /*!< Size = 1600 (0x640)                                                       */
1889 
1890 
1891 
1892 /* =========================================================================================================================== */
1893 /* ================                                           P0_NS                                           ================ */
1894 /* =========================================================================================================================== */
1895 
1896 
1897 /**
1898   * @brief GPIO Port 0 (P0_NS)
1899   */
1900 
1901 typedef struct {                                /*!< (@ 0x418C0500) P0_NS Structure                                            */
1902   __IM  uint32_t  RESERVED;
1903   __IOM uint32_t  OUT;                          /*!< (@ 0x00000004) Write GPIO port                                            */
1904   __IOM uint32_t  OUTSET;                       /*!< (@ 0x00000008) Set individual bits in GPIO port                           */
1905   __IOM uint32_t  OUTCLR;                       /*!< (@ 0x0000000C) Clear individual bits in GPIO port                         */
1906   __IM  uint32_t  IN;                           /*!< (@ 0x00000010) Read GPIO port                                             */
1907   __IOM uint32_t  DIR;                          /*!< (@ 0x00000014) Direction of GPIO pins                                     */
1908   __IOM uint32_t  DIRSET;                       /*!< (@ 0x00000018) DIR set register                                           */
1909   __IOM uint32_t  DIRCLR;                       /*!< (@ 0x0000001C) DIR clear register                                         */
1910   __IOM uint32_t  LATCH;                        /*!< (@ 0x00000020) Latch register indicating what GPIO pins that
1911                                                                     have met the criteria set in the PIN_CNF[n].SENSE
1912                                                                     registers                                                  */
1913   __IOM uint32_t  DETECTMODE;                   /*!< (@ 0x00000024) Select between default DETECT signal behavior
1914                                                                     and LDETECT mode                                           */
1915   __IOM uint32_t  DETECTMODE_SEC;               /*!< (@ 0x00000028) Select between default DETECT signal behavior
1916                                                                     and LDETECT mode                                           */
1917   __IM  uint32_t  RESERVED1[117];
1918   __IOM uint32_t  PIN_CNF[32];                  /*!< (@ 0x00000200) Description collection: Configuration of GPIO
1919                                                                     pins                                                       */
1920 } NRF_GPIO_Type;                                /*!< Size = 640 (0x280)                                                        */
1921 
1922 
1923 /** @} */ /* End of group Device_Peripheral_peripherals */
1924 
1925 
1926 /* =========================================================================================================================== */
1927 /* ================                          Device Specific Peripheral Address Map                           ================ */
1928 /* =========================================================================================================================== */
1929 
1930 
1931 /** @addtogroup Device_Peripheral_peripheralAddr
1932   * @{
1933   */
1934 
1935 #define NRF_FICR_NS_BASE            0x01FF0000UL
1936 #define NRF_UICR_NS_BASE            0x01FF8000UL
1937 #define NRF_CTI_NS_BASE             0xE0042000UL
1938 #define NRF_DCNF_NS_BASE            0x41000000UL
1939 #define NRF_VREQCTRL_NS_BASE        0x41004000UL
1940 #define NRF_CLOCK_NS_BASE           0x41005000UL
1941 #define NRF_POWER_NS_BASE           0x41005000UL
1942 #define NRF_RESET_NS_BASE           0x41005000UL
1943 #define NRF_CTRLAP_NS_BASE          0x41006000UL
1944 #define NRF_RADIO_NS_BASE           0x41008000UL
1945 #define NRF_RNG_NS_BASE             0x41009000UL
1946 #define NRF_GPIOTE_NS_BASE          0x4100A000UL
1947 #define NRF_WDT_NS_BASE             0x4100B000UL
1948 #define NRF_TIMER0_NS_BASE          0x4100C000UL
1949 #define NRF_ECB_NS_BASE             0x4100D000UL
1950 #define NRF_AAR_NS_BASE             0x4100E000UL
1951 #define NRF_CCM_NS_BASE             0x4100E000UL
1952 #define NRF_DPPIC_NS_BASE           0x4100F000UL
1953 #define NRF_TEMP_NS_BASE            0x41010000UL
1954 #define NRF_RTC0_NS_BASE            0x41011000UL
1955 #define NRF_IPC_NS_BASE             0x41012000UL
1956 #define NRF_SPIM0_NS_BASE           0x41013000UL
1957 #define NRF_SPIS0_NS_BASE           0x41013000UL
1958 #define NRF_TWIM0_NS_BASE           0x41013000UL
1959 #define NRF_TWIS0_NS_BASE           0x41013000UL
1960 #define NRF_UARTE0_NS_BASE          0x41013000UL
1961 #define NRF_EGU0_NS_BASE            0x41014000UL
1962 #define NRF_RTC1_NS_BASE            0x41016000UL
1963 #define NRF_TIMER1_NS_BASE          0x41018000UL
1964 #define NRF_TIMER2_NS_BASE          0x41019000UL
1965 #define NRF_SWI0_NS_BASE            0x4101A000UL
1966 #define NRF_SWI1_NS_BASE            0x4101B000UL
1967 #define NRF_SWI2_NS_BASE            0x4101C000UL
1968 #define NRF_SWI3_NS_BASE            0x4101D000UL
1969 #define NRF_APPMUTEX_NS_BASE        0x40030000UL
1970 #define NRF_APPMUTEX_S_BASE         0x50030000UL
1971 #define NRF_ACL_NS_BASE             0x41080000UL
1972 #define NRF_NVMC_NS_BASE            0x41080000UL
1973 #define NRF_VMC_NS_BASE             0x41081000UL
1974 #define NRF_P0_NS_BASE              0x418C0500UL
1975 #define NRF_P1_NS_BASE              0x418C0800UL
1976 
1977 /** @} */ /* End of group Device_Peripheral_peripheralAddr */
1978 
1979 
1980 /* =========================================================================================================================== */
1981 /* ================                                  Peripheral declaration                                   ================ */
1982 /* =========================================================================================================================== */
1983 
1984 
1985 /** @addtogroup Device_Peripheral_declaration
1986   * @{
1987   */
1988 
1989 #define NRF_FICR_NS                 ((NRF_FICR_Type*)          NRF_FICR_NS_BASE)
1990 #define NRF_UICR_NS                 ((NRF_UICR_Type*)          NRF_UICR_NS_BASE)
1991 #define NRF_CTI_NS                  ((NRF_CTI_Type*)           NRF_CTI_NS_BASE)
1992 #define NRF_DCNF_NS                 ((NRF_DCNF_Type*)          NRF_DCNF_NS_BASE)
1993 #define NRF_VREQCTRL_NS             ((NRF_VREQCTRL_Type*)      NRF_VREQCTRL_NS_BASE)
1994 #define NRF_CLOCK_NS                ((NRF_CLOCK_Type*)         NRF_CLOCK_NS_BASE)
1995 #define NRF_POWER_NS                ((NRF_POWER_Type*)         NRF_POWER_NS_BASE)
1996 #define NRF_RESET_NS                ((NRF_RESET_Type*)         NRF_RESET_NS_BASE)
1997 #define NRF_CTRLAP_NS               ((NRF_CTRLAPPERI_Type*)    NRF_CTRLAP_NS_BASE)
1998 #define NRF_RADIO_NS                ((NRF_RADIO_Type*)         NRF_RADIO_NS_BASE)
1999 #define NRF_RNG_NS                  ((NRF_RNG_Type*)           NRF_RNG_NS_BASE)
2000 #define NRF_GPIOTE_NS               ((NRF_GPIOTE_Type*)        NRF_GPIOTE_NS_BASE)
2001 #define NRF_WDT_NS                  ((NRF_WDT_Type*)           NRF_WDT_NS_BASE)
2002 #define NRF_TIMER0_NS               ((NRF_TIMER_Type*)         NRF_TIMER0_NS_BASE)
2003 #define NRF_ECB_NS                  ((NRF_ECB_Type*)           NRF_ECB_NS_BASE)
2004 #define NRF_AAR_NS                  ((NRF_AAR_Type*)           NRF_AAR_NS_BASE)
2005 #define NRF_CCM_NS                  ((NRF_CCM_Type*)           NRF_CCM_NS_BASE)
2006 #define NRF_DPPIC_NS                ((NRF_DPPIC_Type*)         NRF_DPPIC_NS_BASE)
2007 #define NRF_TEMP_NS                 ((NRF_TEMP_Type*)          NRF_TEMP_NS_BASE)
2008 #define NRF_RTC0_NS                 ((NRF_RTC_Type*)           NRF_RTC0_NS_BASE)
2009 #define NRF_IPC_NS                  ((NRF_IPC_Type*)           NRF_IPC_NS_BASE)
2010 #define NRF_SPIM0_NS                ((NRF_SPIM_Type*)          NRF_SPIM0_NS_BASE)
2011 #define NRF_SPIS0_NS                ((NRF_SPIS_Type*)          NRF_SPIS0_NS_BASE)
2012 #define NRF_TWIM0_NS                ((NRF_TWIM_Type*)          NRF_TWIM0_NS_BASE)
2013 #define NRF_TWIS0_NS                ((NRF_TWIS_Type*)          NRF_TWIS0_NS_BASE)
2014 #define NRF_UARTE0_NS               ((NRF_UARTE_Type*)         NRF_UARTE0_NS_BASE)
2015 #define NRF_EGU0_NS                 ((NRF_EGU_Type*)           NRF_EGU0_NS_BASE)
2016 #define NRF_RTC1_NS                 ((NRF_RTC_Type*)           NRF_RTC1_NS_BASE)
2017 #define NRF_TIMER1_NS               ((NRF_TIMER_Type*)         NRF_TIMER1_NS_BASE)
2018 #define NRF_TIMER2_NS               ((NRF_TIMER_Type*)         NRF_TIMER2_NS_BASE)
2019 #define NRF_SWI0_NS                 ((NRF_SWI_Type*)           NRF_SWI0_NS_BASE)
2020 #define NRF_SWI1_NS                 ((NRF_SWI_Type*)           NRF_SWI1_NS_BASE)
2021 #define NRF_SWI2_NS                 ((NRF_SWI_Type*)           NRF_SWI2_NS_BASE)
2022 #define NRF_SWI3_NS                 ((NRF_SWI_Type*)           NRF_SWI3_NS_BASE)
2023 #define NRF_APPMUTEX_NS             ((NRF_MUTEX_Type*)         NRF_APPMUTEX_NS_BASE)
2024 #define NRF_APPMUTEX_S              ((NRF_MUTEX_Type*)         NRF_APPMUTEX_S_BASE)
2025 #define NRF_ACL_NS                  ((NRF_ACL_Type*)           NRF_ACL_NS_BASE)
2026 #define NRF_NVMC_NS                 ((NRF_NVMC_Type*)          NRF_NVMC_NS_BASE)
2027 #define NRF_VMC_NS                  ((NRF_VMC_Type*)           NRF_VMC_NS_BASE)
2028 #define NRF_P0_NS                   ((NRF_GPIO_Type*)          NRF_P0_NS_BASE)
2029 #define NRF_P1_NS                   ((NRF_GPIO_Type*)          NRF_P1_NS_BASE)
2030 
2031 /** @} */ /* End of group Device_Peripheral_declaration */
2032 
2033 
2034 #ifdef __cplusplus
2035 }
2036 #endif
2037 
2038 #endif /* NRF5340_NETWORK_H */
2039 
2040 
2041 /** @} */ /* End of group nrf5340_network */
2042 
2043 /** @} */ /* End of group Nordic Semiconductor */
2044