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}; 291 292timer0: timer@f000 { 293 compatible = "nordic,nrf-timer"; 294 status = "disabled"; 295 reg = <0xf000 0x1000>; 296 cc-num = <6>; 297 max-bit-width = <32>; 298 interrupts = <15 NRF_DEFAULT_IRQ_PRIORITY>; 299 prescaler = <0>; 300}; 301 302timer1: timer@10000 { 303 compatible = "nordic,nrf-timer"; 304 status = "disabled"; 305 reg = <0x10000 0x1000>; 306 cc-num = <6>; 307 max-bit-width = <32>; 308 interrupts = <16 NRF_DEFAULT_IRQ_PRIORITY>; 309 prescaler = <0>; 310}; 311 312timer2: timer@11000 { 313 compatible = "nordic,nrf-timer"; 314 status = "disabled"; 315 reg = <0x11000 0x1000>; 316 cc-num = <6>; 317 max-bit-width = <32>; 318 interrupts = <17 NRF_DEFAULT_IRQ_PRIORITY>; 319 prescaler = <0>; 320}; 321 322rtc0: rtc@14000 { 323 compatible = "nordic,nrf-rtc"; 324 reg = <0x14000 0x1000>; 325 cc-num = <4>; 326 interrupts = <20 NRF_DEFAULT_IRQ_PRIORITY>; 327 status = "disabled"; 328 clock-frequency = <32768>; 329 prescaler = <1>; 330}; 331 332rtc1: rtc@15000 { 333 compatible = "nordic,nrf-rtc"; 334 reg = <0x15000 0x1000>; 335 cc-num = <4>; 336 interrupts = <21 NRF_DEFAULT_IRQ_PRIORITY>; 337 status = "disabled"; 338 clock-frequency = <32768>; 339 prescaler = <1>; 340}; 341 342dppic0: dppic: dppic@17000 { 343 compatible = "nordic,nrf-dppic"; 344 reg = <0x17000 0x1000>; 345 status = "okay"; 346}; 347 348wdt: wdt0: watchdog@18000 { 349 compatible = "nordic,nrf-wdt"; 350 reg = <0x18000 0x1000>; 351 interrupts = <24 NRF_DEFAULT_IRQ_PRIORITY>; 352 status = "okay"; 353}; 354 355wdt1: watchdog@19000 { 356 compatible = "nordic,nrf-wdt"; 357 reg = <0x19000 0x1000>; 358 interrupts = <25 NRF_DEFAULT_IRQ_PRIORITY>; 359 status = "disabled"; 360}; 361 362comp: comparator@1a000 { 363 /* 364 * Use compatible "nordic,nrf-comp" to configure as COMP 365 * Use compatible "nordic,nrf-lpcomp" to configure as LPCOMP 366 */ 367 compatible = "nordic,nrf-comp"; 368 reg = <0x1a000 0x1000>; 369 interrupts = <26 NRF_DEFAULT_IRQ_PRIORITY>; 370 status = "disabled"; 371}; 372 373egu0: egu@1b000 { 374 compatible = "nordic,nrf-egu"; 375 reg = <0x1b000 0x1000>; 376 interrupts = <27 NRF_DEFAULT_IRQ_PRIORITY>; 377 status = "okay"; 378}; 379 380egu1: egu@1c000 { 381 compatible = "nordic,nrf-egu"; 382 reg = <0x1c000 0x1000>; 383 interrupts = <28 NRF_DEFAULT_IRQ_PRIORITY>; 384 status = "okay"; 385}; 386 387egu2: egu@1d000 { 388 compatible = "nordic,nrf-egu"; 389 reg = <0x1d000 0x1000>; 390 interrupts = <29 NRF_DEFAULT_IRQ_PRIORITY>; 391 status = "okay"; 392}; 393 394egu3: egu@1e000 { 395 compatible = "nordic,nrf-egu"; 396 reg = <0x1e000 0x1000>; 397 interrupts = <30 NRF_DEFAULT_IRQ_PRIORITY>; 398 status = "okay"; 399}; 400 401egu4: egu@1f000 { 402 compatible = "nordic,nrf-egu"; 403 reg = <0x1f000 0x1000>; 404 interrupts = <31 NRF_DEFAULT_IRQ_PRIORITY>; 405 status = "okay"; 406}; 407 408egu5: egu@20000 { 409 compatible = "nordic,nrf-egu"; 410 reg = <0x20000 0x1000>; 411 interrupts = <32 NRF_DEFAULT_IRQ_PRIORITY>; 412 status = "okay"; 413}; 414 415pwm0: pwm@21000 { 416 compatible = "nordic,nrf-pwm"; 417 reg = <0x21000 0x1000>; 418 interrupts = <33 NRF_DEFAULT_IRQ_PRIORITY>; 419 status = "disabled"; 420 #pwm-cells = <3>; 421}; 422 423pwm1: pwm@22000 { 424 compatible = "nordic,nrf-pwm"; 425 reg = <0x22000 0x1000>; 426 interrupts = <34 NRF_DEFAULT_IRQ_PRIORITY>; 427 status = "disabled"; 428 #pwm-cells = <3>; 429}; 430 431pwm2: pwm@23000 { 432 compatible = "nordic,nrf-pwm"; 433 reg = <0x23000 0x1000>; 434 interrupts = <35 NRF_DEFAULT_IRQ_PRIORITY>; 435 status = "disabled"; 436 #pwm-cells = <3>; 437}; 438 439pwm3: pwm@24000 { 440 compatible = "nordic,nrf-pwm"; 441 reg = <0x24000 0x1000>; 442 interrupts = <36 NRF_DEFAULT_IRQ_PRIORITY>; 443 status = "disabled"; 444 #pwm-cells = <3>; 445}; 446 447pdm0: pdm@26000 { 448 compatible = "nordic,nrf-pdm"; 449 reg = <0x26000 0x1000>; 450 interrupts = <38 NRF_DEFAULT_IRQ_PRIORITY>; 451 status = "disabled"; 452}; 453 454i2s0: i2s@28000 { 455 compatible = "nordic,nrf-i2s"; 456 #address-cells = <1>; 457 #size-cells = <0>; 458 reg = <0x28000 0x1000>; 459 interrupts = <40 NRF_DEFAULT_IRQ_PRIORITY>; 460 status = "disabled"; 461}; 462 463mbox: ipc: mbox@2a000 { 464 compatible = "nordic,mbox-nrf-ipc", "nordic,nrf-ipc"; 465 reg = <0x2a000 0x1000>; 466 tx-mask = <0x0000ffff>; 467 rx-mask = <0x0000ffff>; 468 interrupts = <42 NRF_DEFAULT_IRQ_PRIORITY>; 469 #mbox-cells = <1>; 470 status = "okay"; 471}; 472 473qspi: qspi@2b000 { 474 compatible = "nordic,nrf-qspi"; 475 #address-cells = <1>; 476 #size-cells = <0>; 477 reg = <0x2b000 0x1000>, <0x10000000 0x10000000>; 478 reg-names = "qspi", "qspi_mm"; 479 interrupts = <43 NRF_DEFAULT_IRQ_PRIORITY>; 480 status = "disabled"; 481}; 482 483nfct: nfct@2d000 { 484 compatible = "nordic,nrf-nfct"; 485 reg = <0x2d000 0x1000>; 486 interrupts = <45 NRF_DEFAULT_IRQ_PRIORITY>; 487 status = "disabled"; 488}; 489 490mutex: mutex@30000 { 491 compatible = "nordic,nrf-mutex"; 492 reg = <0x30000 0x1000>; 493 status = "okay"; 494}; 495 496qdec0: qdec@33000 { 497 compatible = "nordic,nrf-qdec"; 498 reg = <0x33000 0x1000>; 499 interrupts = <51 NRF_DEFAULT_IRQ_PRIORITY>; 500 status = "disabled"; 501}; 502 503qdec1: qdec@34000 { 504 compatible = "nordic,nrf-qdec"; 505 reg = <0x34000 0x1000>; 506 interrupts = <52 NRF_DEFAULT_IRQ_PRIORITY>; 507 status = "disabled"; 508}; 509 510usbd: usbd@36000 { 511 compatible = "nordic,nrf-usbd"; 512 reg = <0x36000 0x1000>; 513 interrupts = <54 NRF_DEFAULT_IRQ_PRIORITY>; 514 num-bidir-endpoints = <1>; 515 num-in-endpoints = <7>; 516 num-out-endpoints = <7>; 517 num-isoin-endpoints = <1>; 518 num-isoout-endpoints = <1>; 519 status = "disabled"; 520}; 521 522usbreg: regulator@37000 { 523 compatible = "nordic,nrf-usbreg"; 524 reg = <0x37000 0x1000>; 525 interrupts = <55 NRF_DEFAULT_IRQ_PRIORITY>; 526 status = "okay"; 527}; 528 529flash_controller: flash-controller@39000 { 530 compatible = "nordic,nrf53-flash-controller"; 531 reg = <0x39000 0x1000>; 532 partial-erase; 533 534 #address-cells = <1>; 535 #size-cells = <1>; 536 537 538 flash0: flash@0 { 539 compatible = "soc-nv-flash"; 540 erase-block-size = <4096>; 541 write-block-size = <4>; 542 }; 543}; 544 545kmu: kmu@39000 { 546 compatible = "nordic,nrf-kmu"; 547 reg = <0x39000 0x1000>; 548 interrupts = <57 NRF_DEFAULT_IRQ_PRIORITY>; 549 status = "okay"; 550}; 551 552vmc: vmc@81000 { 553 compatible = "nordic,nrf-vmc"; 554 reg = <0x81000 0x1000>; 555 status = "okay"; 556}; 557 558gpio0: gpio@842500 { 559 compatible = "nordic,nrf-gpio"; 560 gpio-controller; 561 reg = <0x842500 0x300>; 562 #gpio-cells = <2>; 563 status = "disabled"; 564 port = <0>; 565 gpiote-instance = <&gpiote>; 566}; 567 568gpio1: gpio@842800 { 569 compatible = "nordic,nrf-gpio"; 570 gpio-controller; 571 reg = <0x842800 0x300>; 572 #gpio-cells = <2>; 573 ngpios = <16>; 574 status = "disabled"; 575 port = <1>; 576 gpiote-instance = <&gpiote>; 577}; 578 579ieee802154: ieee802154 { 580 compatible = "nordic,nrf-ieee802154"; 581 status = "disabled"; 582}; 583