1/* 2 * Copyright (c) 2019 Nordic Semiconductor ASA 3 * 4 * SPDX-License-Identifier: Apache-2.0 5 */ 6 7#include <zephyr/dt-bindings/regulator/nrf5x.h> 8 9dcnf: dcnf@0 { 10 compatible = "nordic,nrf-dcnf"; 11 reg = <0x0 0x1000>; 12 status = "okay"; 13}; 14 15oscillators: clock-controller@4000 { 16 compatible = "nordic,nrf53-oscillators"; 17 reg = <0x4000 0x1000>; 18 19 lfxo: lfxo { 20 compatible = "nordic,nrf53-lfxo"; 21 #clock-cells = <0>; 22 clock-frequency = <32768>; 23 }; 24 25 hfxo: hfxo { 26 compatible = "nordic,nrf53-hfxo"; 27 #clock-cells = <0>; 28 clock-frequency = <DT_FREQ_M(32)>; 29 }; 30}; 31 32regulators: regulator@4000 { 33 compatible = "nordic,nrf53x-regulators"; 34 reg = <0x4000 0x1000>; 35 status = "okay"; 36 #address-cells = <1>; 37 #size-cells = <1>; 38 39 vregmain: regulator@4704 { 40 compatible = "nordic,nrf5x-regulator"; 41 reg = <0x4704 0x1>; 42 status = "okay"; 43 regulator-name = "VREGMAIN"; 44 regulator-initial-mode = <NRF5X_REG_MODE_LDO>; 45 }; 46 47 vregradio: regulator@4904 { 48 compatible = "nordic,nrf5x-regulator"; 49 reg = <0x4904 0x1>; 50 status = "okay"; 51 regulator-name = "VREGRADIO"; 52 regulator-initial-mode = <NRF5X_REG_MODE_LDO>; 53 }; 54 55 vregh: regulator@4b00 { 56 compatible = "nordic,nrf53x-regulator-hv"; 57 reg = <0x4b00 0x44>; 58 status = "disabled"; 59 regulator-name = "VREGH"; 60 }; 61}; 62 63clock: clock@5000 { 64 compatible = "nordic,nrf-clock"; 65 reg = <0x5000 0x1000>; 66 interrupts = <5 NRF_DEFAULT_IRQ_PRIORITY>; 67 status = "okay"; 68}; 69 70power: power@5000 { 71 compatible = "nordic,nrf-power"; 72 reg = <0x5000 0x1000>; 73 ranges = <0x0 0x5000 0x1000>; 74 interrupts = <5 NRF_DEFAULT_IRQ_PRIORITY>; 75 status = "okay"; 76 #address-cells = <1>; 77 #size-cells = <1>; 78 79 gpregret1: gpregret1@51c { 80 #address-cells = <1>; 81 #size-cells = <1>; 82 compatible = "nordic,nrf-gpregret"; 83 reg = <0x51c 0x1>; 84 status = "okay"; 85 }; 86 87 gpregret2: gpregret2@520 { 88 #address-cells = <1>; 89 #size-cells = <1>; 90 compatible = "nordic,nrf-gpregret"; 91 reg = <0x520 0x1>; 92 status = "okay"; 93 }; 94}; 95 96reset: reset-controller@5000 { 97 compatible = "nordic,nrf-reset"; 98 reg = <0x5000 0x1000>; 99 status = "okay"; 100}; 101 102ctrlap: ctrlap@6000 { 103 compatible = "nordic,nrf-ctrlapperi"; 104 reg = <0x6000 0x1000>; 105 status = "okay"; 106}; 107 108i2c0: i2c@8000 { 109 /* 110 * This i2c node can be either TWIM or TWIS, for the user to pick: 111 * compatible = "nordic,nrf-twim" or 112 * "nordic,nrf-twis". 113 */ 114 compatible = "nordic,nrf-twim"; 115 #address-cells = <1>; 116 #size-cells = <0>; 117 reg = <0x8000 0x1000>; 118 interrupts = <8 NRF_DEFAULT_IRQ_PRIORITY>; 119 easydma-maxcnt-bits = <16>; 120 status = "disabled"; 121 zephyr,pm-device-runtime-auto; 122}; 123 124spi0: spi@8000 { 125 /* 126 * This spi node can be either SPIM or SPIS, 127 * for the user to pick: 128 * compatible = "nordic,nrf-spim" or 129 * "nordic,nrf-spis". 130 */ 131 compatible = "nordic,nrf-spim"; 132 #address-cells = <1>; 133 #size-cells = <0>; 134 reg = <0x8000 0x1000>; 135 interrupts = <8 NRF_DEFAULT_IRQ_PRIORITY>; 136 max-frequency = <DT_FREQ_M(8)>; 137 easydma-maxcnt-bits = <16>; 138 status = "disabled"; 139}; 140 141uart0: uart@8000 { 142 compatible = "nordic,nrf-uarte"; 143 reg = <0x8000 0x1000>; 144 interrupts = <8 NRF_DEFAULT_IRQ_PRIORITY>; 145 status = "disabled"; 146}; 147 148i2c1: i2c@9000 { 149 /* 150 * This i2c node can be TWIM or TWIS, 151 * for the user to pick: 152 * compatible = "nordic,nrf-twim" or 153 * "nordic,nrf-twis". 154 */ 155 compatible = "nordic,nrf-twim"; 156 #address-cells = <1>; 157 #size-cells = <0>; 158 reg = <0x9000 0x1000>; 159 interrupts = <9 NRF_DEFAULT_IRQ_PRIORITY>; 160 easydma-maxcnt-bits = <16>; 161 status = "disabled"; 162 zephyr,pm-device-runtime-auto; 163}; 164 165spi1: spi@9000 { 166 /* 167 * This spi node can be either SPIM or SPIS, 168 * for the user to pick: 169 * compatible = "nordic,nrf-spim" or 170 * "nordic,nrf-spis". 171 */ 172 compatible = "nordic,nrf-spim"; 173 #address-cells = <1>; 174 #size-cells = <0>; 175 reg = <0x9000 0x1000>; 176 interrupts = <9 NRF_DEFAULT_IRQ_PRIORITY>; 177 max-frequency = <DT_FREQ_M(8)>; 178 easydma-maxcnt-bits = <16>; 179 status = "disabled"; 180}; 181 182uart1: uart@9000 { 183 compatible = "nordic,nrf-uarte"; 184 reg = <0x9000 0x1000>; 185 interrupts = <9 NRF_DEFAULT_IRQ_PRIORITY>; 186 status = "disabled"; 187}; 188 189spi4: spi@a000 { 190 compatible = "nordic,nrf-spim"; 191 #address-cells = <1>; 192 #size-cells = <0>; 193 reg = <0xa000 0x1000>; 194 interrupts = <10 NRF_DEFAULT_IRQ_PRIORITY>; 195 max-frequency = <DT_FREQ_M(32)>; 196 easydma-maxcnt-bits = <16>; 197 rx-delay-supported; 198 rx-delay = <2>; 199 status = "disabled"; 200}; 201 202i2c2: i2c@b000 { 203 /* 204 * This i2c node can be TWIM or TWIS, 205 * for the user to pick: 206 * compatible = "nordic,nrf-twim" or 207 * "nordic,nrf-twis". 208 */ 209 compatible = "nordic,nrf-twim"; 210 #address-cells = <1>; 211 #size-cells = <0>; 212 reg = <0xb000 0x1000>; 213 interrupts = <11 NRF_DEFAULT_IRQ_PRIORITY>; 214 easydma-maxcnt-bits = <16>; 215 status = "disabled"; 216 zephyr,pm-device-runtime-auto; 217}; 218 219spi2: spi@b000 { 220 /* 221 * This spi node can be either SPIM or SPIS, 222 * for the user to pick: 223 * compatible = "nordic,nrf-spim" or 224 * "nordic,nrf-spis". 225 */ 226 compatible = "nordic,nrf-spim"; 227 #address-cells = <1>; 228 #size-cells = <0>; 229 reg = <0xb000 0x1000>; 230 interrupts = <11 NRF_DEFAULT_IRQ_PRIORITY>; 231 max-frequency = <DT_FREQ_M(8)>; 232 easydma-maxcnt-bits = <16>; 233 status = "disabled"; 234}; 235 236uart2: uart@b000 { 237 compatible = "nordic,nrf-uarte"; 238 reg = <0xb000 0x1000>; 239 interrupts = <11 NRF_DEFAULT_IRQ_PRIORITY>; 240 status = "disabled"; 241}; 242 243i2c3: i2c@c000 { 244 /* 245 * This i2c node can be TWIM or TWIS, 246 * for the user to pick: 247 * compatible = "nordic,nrf-twim" or 248 * "nordic,nrf-twis". 249 */ 250 compatible = "nordic,nrf-twim"; 251 #address-cells = <1>; 252 #size-cells = <0>; 253 reg = <0xc000 0x1000>; 254 interrupts = <12 NRF_DEFAULT_IRQ_PRIORITY>; 255 easydma-maxcnt-bits = <16>; 256 status = "disabled"; 257 zephyr,pm-device-runtime-auto; 258}; 259 260spi3: spi@c000 { 261 /* 262 * This spi node can be either SPIM or SPIS, 263 * for the user to pick: 264 * compatible = "nordic,nrf-spim" or 265 * "nordic,nrf-spis". 266 */ 267 compatible = "nordic,nrf-spim"; 268 #address-cells = <1>; 269 #size-cells = <0>; 270 reg = <0xc000 0x1000>; 271 interrupts = <12 NRF_DEFAULT_IRQ_PRIORITY>; 272 max-frequency = <DT_FREQ_M(8)>; 273 easydma-maxcnt-bits = <16>; 274 status = "disabled"; 275}; 276 277uart3: uart@c000 { 278 compatible = "nordic,nrf-uarte"; 279 reg = <0xc000 0x1000>; 280 interrupts = <12 NRF_DEFAULT_IRQ_PRIORITY>; 281 status = "disabled"; 282}; 283 284adc: adc@e000 { 285 compatible = "nordic,nrf-saadc"; 286 reg = <0xe000 0x1000>; 287 interrupts = <14 NRF_DEFAULT_IRQ_PRIORITY>; 288 status = "disabled"; 289 #io-channel-cells = <1>; 290 zephyr,pm-device-runtime-auto; 291}; 292 293timer0: timer@f000 { 294 compatible = "nordic,nrf-timer"; 295 status = "disabled"; 296 reg = <0xf000 0x1000>; 297 cc-num = <6>; 298 max-bit-width = <32>; 299 interrupts = <15 NRF_DEFAULT_IRQ_PRIORITY>; 300 prescaler = <0>; 301}; 302 303timer1: timer@10000 { 304 compatible = "nordic,nrf-timer"; 305 status = "disabled"; 306 reg = <0x10000 0x1000>; 307 cc-num = <6>; 308 max-bit-width = <32>; 309 interrupts = <16 NRF_DEFAULT_IRQ_PRIORITY>; 310 prescaler = <0>; 311}; 312 313timer2: timer@11000 { 314 compatible = "nordic,nrf-timer"; 315 status = "disabled"; 316 reg = <0x11000 0x1000>; 317 cc-num = <6>; 318 max-bit-width = <32>; 319 interrupts = <17 NRF_DEFAULT_IRQ_PRIORITY>; 320 prescaler = <0>; 321}; 322 323rtc0: rtc@14000 { 324 compatible = "nordic,nrf-rtc"; 325 reg = <0x14000 0x1000>; 326 cc-num = <4>; 327 interrupts = <20 NRF_DEFAULT_IRQ_PRIORITY>; 328 status = "disabled"; 329 clock-frequency = <32768>; 330 prescaler = <1>; 331}; 332 333rtc1: rtc@15000 { 334 compatible = "nordic,nrf-rtc"; 335 reg = <0x15000 0x1000>; 336 cc-num = <4>; 337 interrupts = <21 NRF_DEFAULT_IRQ_PRIORITY>; 338 status = "disabled"; 339 clock-frequency = <32768>; 340 prescaler = <1>; 341}; 342 343dppic0: dppic: dppic@17000 { 344 compatible = "nordic,nrf-dppic"; 345 reg = <0x17000 0x1000>; 346 status = "okay"; 347}; 348 349wdt: wdt0: watchdog@18000 { 350 compatible = "nordic,nrf-wdt"; 351 reg = <0x18000 0x1000>; 352 interrupts = <24 NRF_DEFAULT_IRQ_PRIORITY>; 353 status = "okay"; 354}; 355 356wdt1: watchdog@19000 { 357 compatible = "nordic,nrf-wdt"; 358 reg = <0x19000 0x1000>; 359 interrupts = <25 NRF_DEFAULT_IRQ_PRIORITY>; 360 status = "disabled"; 361}; 362 363comp: comparator@1a000 { 364 /* 365 * Use compatible "nordic,nrf-comp" to configure as COMP 366 * Use compatible "nordic,nrf-lpcomp" to configure as LPCOMP 367 */ 368 compatible = "nordic,nrf-comp"; 369 reg = <0x1a000 0x1000>; 370 interrupts = <26 NRF_DEFAULT_IRQ_PRIORITY>; 371 status = "disabled"; 372}; 373 374egu0: egu@1b000 { 375 compatible = "nordic,nrf-egu"; 376 reg = <0x1b000 0x1000>; 377 interrupts = <27 NRF_DEFAULT_IRQ_PRIORITY>; 378 status = "okay"; 379}; 380 381egu1: egu@1c000 { 382 compatible = "nordic,nrf-egu"; 383 reg = <0x1c000 0x1000>; 384 interrupts = <28 NRF_DEFAULT_IRQ_PRIORITY>; 385 status = "okay"; 386}; 387 388egu2: egu@1d000 { 389 compatible = "nordic,nrf-egu"; 390 reg = <0x1d000 0x1000>; 391 interrupts = <29 NRF_DEFAULT_IRQ_PRIORITY>; 392 status = "okay"; 393}; 394 395egu3: egu@1e000 { 396 compatible = "nordic,nrf-egu"; 397 reg = <0x1e000 0x1000>; 398 interrupts = <30 NRF_DEFAULT_IRQ_PRIORITY>; 399 status = "okay"; 400}; 401 402egu4: egu@1f000 { 403 compatible = "nordic,nrf-egu"; 404 reg = <0x1f000 0x1000>; 405 interrupts = <31 NRF_DEFAULT_IRQ_PRIORITY>; 406 status = "okay"; 407}; 408 409egu5: egu@20000 { 410 compatible = "nordic,nrf-egu"; 411 reg = <0x20000 0x1000>; 412 interrupts = <32 NRF_DEFAULT_IRQ_PRIORITY>; 413 status = "okay"; 414}; 415 416pwm0: pwm@21000 { 417 compatible = "nordic,nrf-pwm"; 418 reg = <0x21000 0x1000>; 419 interrupts = <33 NRF_DEFAULT_IRQ_PRIORITY>; 420 status = "disabled"; 421 #pwm-cells = <3>; 422}; 423 424pwm1: pwm@22000 { 425 compatible = "nordic,nrf-pwm"; 426 reg = <0x22000 0x1000>; 427 interrupts = <34 NRF_DEFAULT_IRQ_PRIORITY>; 428 status = "disabled"; 429 #pwm-cells = <3>; 430}; 431 432pwm2: pwm@23000 { 433 compatible = "nordic,nrf-pwm"; 434 reg = <0x23000 0x1000>; 435 interrupts = <35 NRF_DEFAULT_IRQ_PRIORITY>; 436 status = "disabled"; 437 #pwm-cells = <3>; 438}; 439 440pwm3: pwm@24000 { 441 compatible = "nordic,nrf-pwm"; 442 reg = <0x24000 0x1000>; 443 interrupts = <36 NRF_DEFAULT_IRQ_PRIORITY>; 444 status = "disabled"; 445 #pwm-cells = <3>; 446}; 447 448pdm0: pdm@26000 { 449 compatible = "nordic,nrf-pdm"; 450 reg = <0x26000 0x1000>; 451 interrupts = <38 NRF_DEFAULT_IRQ_PRIORITY>; 452 status = "disabled"; 453}; 454 455i2s0: i2s@28000 { 456 compatible = "nordic,nrf-i2s"; 457 #address-cells = <1>; 458 #size-cells = <0>; 459 reg = <0x28000 0x1000>; 460 interrupts = <40 NRF_DEFAULT_IRQ_PRIORITY>; 461 status = "disabled"; 462}; 463 464mbox: ipc: mbox@2a000 { 465 compatible = "nordic,mbox-nrf-ipc", "nordic,nrf-ipc"; 466 reg = <0x2a000 0x1000>; 467 tx-mask = <0x0000ffff>; 468 rx-mask = <0x0000ffff>; 469 interrupts = <42 NRF_DEFAULT_IRQ_PRIORITY>; 470 #mbox-cells = <1>; 471 status = "okay"; 472}; 473 474qspi: qspi@2b000 { 475 compatible = "nordic,nrf-qspi"; 476 #address-cells = <1>; 477 #size-cells = <0>; 478 reg = <0x2b000 0x1000>, <0x10000000 0x10000000>; 479 reg-names = "qspi", "qspi_mm"; 480 interrupts = <43 NRF_DEFAULT_IRQ_PRIORITY>; 481 status = "disabled"; 482}; 483 484nfct: nfct@2d000 { 485 compatible = "nordic,nrf-nfct"; 486 reg = <0x2d000 0x1000>; 487 interrupts = <45 NRF_DEFAULT_IRQ_PRIORITY>; 488 status = "disabled"; 489}; 490 491mutex: mutex@30000 { 492 compatible = "nordic,nrf-mutex"; 493 reg = <0x30000 0x1000>; 494 status = "okay"; 495}; 496 497qdec0: qdec@33000 { 498 compatible = "nordic,nrf-qdec"; 499 reg = <0x33000 0x1000>; 500 interrupts = <51 NRF_DEFAULT_IRQ_PRIORITY>; 501 status = "disabled"; 502}; 503 504qdec1: qdec@34000 { 505 compatible = "nordic,nrf-qdec"; 506 reg = <0x34000 0x1000>; 507 interrupts = <52 NRF_DEFAULT_IRQ_PRIORITY>; 508 status = "disabled"; 509}; 510 511usbd: usbd@36000 { 512 compatible = "nordic,nrf-usbd"; 513 reg = <0x36000 0x1000>; 514 interrupts = <54 NRF_DEFAULT_IRQ_PRIORITY>; 515 num-bidir-endpoints = <1>; 516 num-in-endpoints = <7>; 517 num-out-endpoints = <7>; 518 num-isoin-endpoints = <1>; 519 num-isoout-endpoints = <1>; 520 status = "disabled"; 521}; 522 523usbreg: regulator@37000 { 524 compatible = "nordic,nrf-usbreg"; 525 reg = <0x37000 0x1000>; 526 interrupts = <55 NRF_DEFAULT_IRQ_PRIORITY>; 527 status = "okay"; 528}; 529 530flash_controller: flash-controller@39000 { 531 compatible = "nordic,nrf53-flash-controller"; 532 reg = <0x39000 0x1000>; 533 partial-erase; 534 535 #address-cells = <1>; 536 #size-cells = <1>; 537 538 539 flash0: flash@0 { 540 compatible = "soc-nv-flash"; 541 erase-block-size = <4096>; 542 write-block-size = <4>; 543 }; 544}; 545 546kmu: kmu@39000 { 547 compatible = "nordic,nrf-kmu"; 548 reg = <0x39000 0x1000>; 549 interrupts = <57 NRF_DEFAULT_IRQ_PRIORITY>; 550 status = "okay"; 551}; 552 553vmc: vmc@81000 { 554 compatible = "nordic,nrf-vmc"; 555 reg = <0x81000 0x1000>; 556 status = "okay"; 557}; 558 559gpio0: gpio@842500 { 560 compatible = "nordic,nrf-gpio"; 561 gpio-controller; 562 reg = <0x842500 0x300>; 563 #gpio-cells = <2>; 564 status = "disabled"; 565 port = <0>; 566 gpiote-instance = <&gpiote>; 567}; 568 569gpio1: gpio@842800 { 570 compatible = "nordic,nrf-gpio"; 571 gpio-controller; 572 reg = <0x842800 0x300>; 573 #gpio-cells = <2>; 574 ngpios = <16>; 575 status = "disabled"; 576 port = <1>; 577 gpiote-instance = <&gpiote>; 578}; 579 580ieee802154: ieee802154 { 581 compatible = "nordic,nrf-ieee802154"; 582 status = "disabled"; 583}; 584