Hardware peripherals

SoftDevice access types are used to indicate the availability of hardware peripherals to the application. The availability varies per hardware peripheral and depends on whether the SoftDevice is enabled or disabled.

Table 1. Hardware access type definitions
Access type Definition
Restricted The hardware peripheral is used by the SoftDevice. When the SoftDevice is enabled, it shall only be accessed through the SoftDevice API. Through this Application Programming Interface (API), the application has limited access. The S112 SoftDevice will not prevent the application from accessing the peripheral directly. Doing so will lead to undefined behavior.
Blocked The hardware peripheral is used by the SoftDevice and must never be accessed by the application. Doing so will lead to undefined behavior.

Interrupts from blocked peripherals are forwarded to the SoftDevice by the MBR and are not available to the application, even inside a Radio Timeslot API timeslot.

Open The hardware peripheral is not used by the SoftDevice.

The application has full access.

Table 2. Peripheral protection and usage by SoftDevice
ID Base address Instance

Access

SoftDevice enabled

Access

SoftDevice disabled

0 0x40000000 CLOCK Restricted Open
0 0x40000000 POWER Restricted Open
0 0x40000000 BPROT Restricted Open
1 0x40001000 RADIO Blocked3 Open
2 0x40002000 UARTE0 Open Open
3 0x40003000 TWIM0/TWIS0/SPIM08/SPIS08 Open Open
4 0x40004000 SPIS07/SPIM07/TWIS18/SPIM18/TWIM18/SPIS18 Open Open
...
6 0x40006000 GPIOTE Open Open
7 0x40007000 SAADC Open Open
8 0x40008000 TIMER0 Blocked3 Open
9 0x40009000 TIMER1 Open Open
10 0x4000A000 TIMER2 Open Open
11 0x4000B000 RTC0 Blocked Open
12 0x4000C000 TEMP Restricted Open
13 0x4000D000 RNG Restricted Open
14 0x4000E000 ECB Restricted Open
15 0x4000F000 CCM Blocked4 Open
15 0x4000F000 AAR Blocked4 Open
16 0x40010000 WDT Open Open
17 0x40011000 RTC1 Open Open
18 0x40012000 QDEC Open Open
19 0x40013000 LPCOMP8/COMP Open Open
20 0x40014000 EGU0/SWI0 Open Open
21 0x40015000 EGU1/SWI1/Radio Notification Restricted5 Open
22 0x40016000 EGU28/SWI2/SoftDevice Event Open6 Open
23 0x40017000 EGU38/SWI3 Open Open
24 0x40018000 EGU48/SWI4 Open Open
25 0x40019000 EGU58/SWI5 Blocked Open
...
26 0x4001A000 TIMER38 Open Open
27 0x4001B000 TIMER48 Open Open
28 0x4001C000 PWM0 Open Open
29 0x4001D000 PDM Open Open
30 0x4001E000 NVMC Restricted Open
31 0x4001F000 PPI Open1 Open
32 0x40020000 MWU8 Open Open
33 0x40021000 PWM18 Open Open
34 0x40022000 PWM28 Open Open
35 0x40023000 SPIS28/SPIM28 Open Open
36 0x40024000 RTC28 Open Open
37 0x40025000 I2S8 Open Open
38 0x40026000 FPU8 Open Open
NA 0x10000000 FICR Blocked Blocked
NA 0x10001000 UICR Restricted Open
NA 0x50000000 GPIO P0 Open Open
NA 0xE000E100 NVIC Restricted2 Open
1 See section Programmable peripheral interconnect for limitations on the use of PPI when the SoftDevice is enabled.
2 Not protected. For robust system function, the application program must comply with the restriction and use the NVIC API for configuration when the SoftDevice is enabled.
3 The peripheral is available to the application through the Radio Timeslot API. See Concurrent multiprotocol implementation using the Radio Timeslot API. When inside a timeslot, interrupts from these peripherals are forwarded to the application through the application provided callback functions.
4 The peripheral is available to the application during a Radio Timeslot API timeslot. See Concurrent multiprotocol implementation using the Radio Timeslot API.
5 Blocked only when Radio Notification signal is enabled. See Application signals – software interrupts for SWI allocation.
6 Interrupt will be set to pending state by the SoftDevice on SoftDevice Event Notification, but the application may also set it to pending state.
7 Only available on nRF52810.
8 Only available on nRF52832.