1/* SPDX-License-Identifier: Apache-2.0 */ 2 3#include <arm/armv6-m.dtsi> 4#include <nordic/nrf_common.dtsi> 5 6/ { 7 chosen { 8 zephyr,bt-hci = &bt_hci_controller; 9 zephyr,entropy = &rng; 10 zephyr,flash-controller = &flash_controller; 11 }; 12 13 cpus { 14 #address-cells = <1>; 15 #size-cells = <0>; 16 17 cpu@0 { 18 device_type = "cpu"; 19 compatible = "arm,cortex-m0"; 20 reg = <0>; 21 }; 22 }; 23 24 soc { 25 ficr: ficr@10000000 { 26 compatible = "nordic,nrf-ficr"; 27 reg = <0x10000000 0x1000>; 28 #nordic,ficr-cells = <1>; 29 status = "okay"; 30 }; 31 32 uicr: uicr@10001000 { 33 compatible = "nordic,nrf-uicr"; 34 reg = <0x10001000 0x1000>; 35 status = "okay"; 36 }; 37 38 sram0: memory@20000000 { 39 compatible = "mmio-sram"; 40 }; 41 42 power: power@40000000 { 43 compatible = "nordic,nrf-power"; 44 reg = <0x40000000 0x1000>; 45 interrupts = <0 NRF_DEFAULT_IRQ_PRIORITY>; 46 status = "okay"; 47 #address-cells = <1>; 48 #size-cells = <1>; 49 50 gpregret1: gpregret1@4000051c { 51 #address-cells = <1>; 52 #size-cells = <1>; 53 compatible = "nordic,nrf-gpregret"; 54 reg = <0x4000051c 0x1>; 55 status = "okay"; 56 }; 57 }; 58 59 clock: clock@40000000 { 60 compatible = "nordic,nrf-clock"; 61 reg = <0x40000000 0x1000>; 62 interrupts = <0 NRF_DEFAULT_IRQ_PRIORITY>; 63 status = "okay"; 64 }; 65 66 nrf_mpu: nrf-mpu@40000000 { 67 compatible = "nordic,nrf-mpu"; 68 reg = <0x40000000 0x1000>; 69 status = "okay"; 70 }; 71 72 radio: radio@40001000 { 73 compatible = "nordic,nrf-radio"; 74 reg = <0x40001000 0x1000>; 75 interrupts = <1 NRF_DEFAULT_IRQ_PRIORITY>; 76 status = "okay"; 77 78 bt_hci_controller: bt_hci_controller { 79 compatible = "zephyr,bt-hci-ll-sw-split"; 80 status = "okay"; 81 }; 82 }; 83 84 uart0: uart@40002000 { 85 compatible = "nordic,nrf-uart"; 86 reg = <0x40002000 0x1000>; 87 interrupts = <2 NRF_DEFAULT_IRQ_PRIORITY>; 88 status = "disabled"; 89 }; 90 91 spi0: spi@40003000 { 92 compatible = "nordic,nrf-spi"; 93 #address-cells = <1>; 94 #size-cells = <0>; 95 reg = <0x40003000 0x1000>; 96 interrupts = <3 NRF_DEFAULT_IRQ_PRIORITY>; 97 max-frequency = <DT_FREQ_M(8)>; 98 easydma-maxcnt-bits = <8>; 99 status = "disabled"; 100 }; 101 102 i2c0: i2c@40003000 { 103 compatible = "nordic,nrf-twi"; 104 #address-cells = <1>; 105 #size-cells = <0>; 106 reg = <0x40003000 0x1000>; 107 clock-frequency = <I2C_BITRATE_STANDARD>; 108 interrupts = <3 NRF_DEFAULT_IRQ_PRIORITY>; 109 easydma-maxcnt-bits = <8>; 110 status = "disabled"; 111 }; 112 113 spi1: spi@40004000 { 114 /* 115 * This spi node can be either SPI or SPIS, 116 * for the user to pick: 117 * compatible = "nordic,nrf-spi" or 118 * "nordic,nrf-spis". 119 */ 120 compatible = "nordic,nrf-spi"; 121 #address-cells = <1>; 122 #size-cells = <0>; 123 reg = <0x40004000 0x1000>; 124 interrupts = <4 NRF_DEFAULT_IRQ_PRIORITY>; 125 max-frequency = <DT_FREQ_M(8)>; 126 easydma-maxcnt-bits = <8>; 127 status = "disabled"; 128 }; 129 130 i2c1: i2c@40004000 { 131 compatible = "nordic,nrf-twi"; 132 #address-cells = <1>; 133 #size-cells = <0>; 134 reg = <0x40004000 0x1000>; 135 clock-frequency = <I2C_BITRATE_STANDARD>; 136 interrupts = <4 NRF_DEFAULT_IRQ_PRIORITY>; 137 easydma-maxcnt-bits = <8>; 138 status = "disabled"; 139 }; 140 141 gpiote: gpiote0: gpiote@40006000 { 142 compatible = "nordic,nrf-gpiote"; 143 reg = <0x40006000 0x1000>; 144 interrupts = <6 NRF_DEFAULT_IRQ_PRIORITY>; 145 status = "disabled"; 146 instance = <0>; 147 }; 148 149 adc: adc@40007000 { 150 compatible = "nordic,nrf-adc"; 151 reg = <0x40007000 0x1000>; 152 interrupts = <7 NRF_DEFAULT_IRQ_PRIORITY>; 153 status = "disabled"; 154 #io-channel-cells = <1>; 155 }; 156 157 timer0: timer@40008000 { 158 compatible = "nordic,nrf-timer"; 159 status = "disabled"; 160 reg = <0x40008000 0x1000>; 161 cc-num = <4>; 162 max-bit-width = <32>; 163 interrupts = <8 NRF_DEFAULT_IRQ_PRIORITY>; 164 prescaler = <0>; 165 }; 166 167 timer1: timer@40009000 { 168 compatible = "nordic,nrf-timer"; 169 status = "disabled"; 170 reg = <0x40009000 0x1000>; 171 cc-num = <4>; 172 max-bit-width = <16>; 173 interrupts = <9 NRF_DEFAULT_IRQ_PRIORITY>; 174 prescaler = <0>; 175 }; 176 177 timer2: timer@4000a000 { 178 compatible = "nordic,nrf-timer"; 179 status = "disabled"; 180 reg = <0x4000a000 0x1000>; 181 cc-num = <4>; 182 max-bit-width = <16>; 183 interrupts = <10 NRF_DEFAULT_IRQ_PRIORITY>; 184 prescaler = <0>; 185 }; 186 187 rtc0: rtc@4000b000 { 188 compatible = "nordic,nrf-rtc"; 189 reg = <0x4000b000 0x1000>; 190 cc-num = <3>; 191 interrupts = <11 NRF_DEFAULT_IRQ_PRIORITY>; 192 status = "disabled"; 193 clock-frequency = <32768>; 194 prescaler = <1>; 195 }; 196 197 temp: temp@4000c000 { 198 compatible = "nordic,nrf-temp"; 199 reg = <0x4000c000 0x1000>; 200 interrupts = <12 NRF_DEFAULT_IRQ_PRIORITY>; 201 status = "okay"; 202 }; 203 204 rng: random@4000d000 { 205 compatible = "nordic,nrf-rng"; 206 reg = <0x4000d000 0x1000>; 207 interrupts = <13 NRF_DEFAULT_IRQ_PRIORITY>; 208 status = "okay"; 209 }; 210 211 ecb: ecb@4000e000 { 212 compatible = "nordic,nrf-ecb"; 213 reg = <0x4000e000 0x1000>; 214 interrupts = <14 NRF_DEFAULT_IRQ_PRIORITY>; 215 status = "okay"; 216 }; 217 218 ccm: ccm@4000f000 { 219 compatible = "nordic,nrf-ccm"; 220 reg = <0x4000f000 0x1000>; 221 interrupts = <15 NRF_DEFAULT_IRQ_PRIORITY>; 222 status = "okay"; 223 }; 224 225 wdt: wdt0: watchdog@40010000 { 226 compatible = "nordic,nrf-wdt"; 227 reg = <0x40010000 0x1000>; 228 interrupts = <16 NRF_DEFAULT_IRQ_PRIORITY>; 229 status = "okay"; 230 }; 231 232 rtc1: rtc@40011000 { 233 compatible = "nordic,nrf-rtc"; 234 reg = <0x40011000 0x1000>; 235 cc-num = <4>; 236 interrupts = <17 NRF_DEFAULT_IRQ_PRIORITY>; 237 status = "disabled"; 238 clock-frequency = <32768>; 239 prescaler = <1>; 240 }; 241 242 qdec: qdec0: qdec@40012000 { 243 compatible = "nordic,nrf-qdec"; 244 reg = <0x40012000 0x1000>; 245 interrupts = <18 NRF_DEFAULT_IRQ_PRIORITY>; 246 status = "disabled"; 247 }; 248 249 comp: comparator@40013000 { 250 compatible = "nordic,nrf-lpcomp"; 251 reg = <0x40013000 0x1000>; 252 interrupts = <19 NRF_DEFAULT_IRQ_PRIORITY>; 253 status = "disabled"; 254 #io-channel-cells = <1>; 255 }; 256 257 swi0: swi@40014000 { 258 compatible = "nordic,nrf-swi"; 259 reg = <0x40014000 0x1000>; 260 interrupts = <20 NRF_DEFAULT_IRQ_PRIORITY>; 261 status = "okay"; 262 }; 263 264 swi1: swi@40015000 { 265 compatible = "nordic,nrf-swi"; 266 reg = <0x40015000 0x1000>; 267 interrupts = <21 NRF_DEFAULT_IRQ_PRIORITY>; 268 status = "okay"; 269 }; 270 271 swi2: swi@40016000 { 272 compatible = "nordic,nrf-swi"; 273 reg = <0x40016000 0x1000>; 274 interrupts = <22 NRF_DEFAULT_IRQ_PRIORITY>; 275 status = "okay"; 276 }; 277 278 swi3: swi@40017000 { 279 compatible = "nordic,nrf-swi"; 280 reg = <0x40017000 0x1000>; 281 interrupts = <23 NRF_DEFAULT_IRQ_PRIORITY>; 282 status = "okay"; 283 }; 284 285 swi4: swi@40018000 { 286 compatible = "nordic,nrf-swi"; 287 reg = <0x40018000 0x1000>; 288 interrupts = <24 NRF_DEFAULT_IRQ_PRIORITY>; 289 status = "okay"; 290 }; 291 292 swi5: swi@40019000 { 293 compatible = "nordic,nrf-swi"; 294 reg = <0x40019000 0x1000>; 295 interrupts = <25 NRF_DEFAULT_IRQ_PRIORITY>; 296 status = "okay"; 297 }; 298 299 flash_controller: flash-controller@4001e000 { 300 compatible = "nordic,nrf51-flash-controller"; 301 reg = <0x4001e000 0x1000>; 302 303 #address-cells = <1>; 304 #size-cells = <1>; 305 306 307 flash0: flash@0 { 308 compatible = "soc-nv-flash"; 309 erase-block-size = <1024>; 310 write-block-size = <4>; 311 }; 312 }; 313 314 ppi: ppi@4001f000 { 315 compatible = "nordic,nrf-ppi"; 316 reg = <0x4001f000 0x1000>; 317 status = "okay"; 318 }; 319 320 gpio0: gpio@50000000 { 321 compatible = "nordic,nrf-gpio"; 322 gpio-controller; 323 reg = <0x50000000 0x1000>; 324 #gpio-cells = <2>; 325 status = "disabled"; 326 port = <0>; 327 gpiote-instance = <&gpiote>; 328 }; 329 }; 330}; 331 332&nvic { 333 arm,num-irq-priority-bits = <2>; 334}; 335 336/delete-node/ &systick; 337