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