1// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2 3/dts-v1/; 4 5#include <dt-bindings/gpio/gpio.h> 6#include <dt-bindings/input/linux-event-codes.h> 7#include <dt-bindings/pinctrl/rockchip.h> 8#include <dt-bindings/usb/pd.h> 9#include "rk3588s.dtsi" 10 11/ { 12 model = "Indiedroid Nova"; 13 compatible = "indiedroid,nova", "rockchip,rk3588s"; 14 15 adc-keys-0 { 16 compatible = "adc-keys"; 17 io-channel-names = "buttons"; 18 io-channels = <&saradc 0>; 19 keyup-threshold-microvolt = <1800000>; 20 poll-interval = <100>; 21 22 button-boot { 23 label = "boot"; 24 linux,code = <KEY_PROG1>; 25 press-threshold-microvolt = <18000>; 26 }; 27 }; 28 29 adc-keys-1 { 30 compatible = "adc-keys"; 31 io-channel-names = "buttons"; 32 io-channels = <&saradc 1>; 33 keyup-threshold-microvolt = <1800000>; 34 poll-interval = <100>; 35 36 button-recovery { 37 label = "recovery"; 38 linux,code = <KEY_PROG2>; 39 press-threshold-microvolt = <18000>; 40 }; 41 }; 42 43 aliases { 44 mmc0 = &sdhci; 45 mmc1 = &sdmmc; 46 mmc2 = &sdio; 47 }; 48 49 chosen { 50 stdout-path = "serial2:1500000n8"; 51 }; 52 53 sdio_pwrseq: sdio-pwrseq { 54 compatible = "mmc-pwrseq-simple"; 55 clock-names = "ext_clock"; 56 clocks = <&rtc_hym8563>; 57 pinctrl-0 = <&wifi_enable_h>; 58 pinctrl-names = "default"; 59 post-power-on-delay-ms = <200>; 60 reset-gpios = <&gpio0 RK_PC7 GPIO_ACTIVE_LOW>; 61 }; 62 63 sound { 64 compatible = "audio-graph-card"; 65 label = "rockchip,es8388-codec"; 66 widgets = "Microphone", "Mic Jack", 67 "Headphone", "Headphones"; 68 routing = "LINPUT2", "Mic Jack", 69 "Headphones", "LOUT1", 70 "Headphones", "ROUT1"; 71 dais = <&i2s0_8ch_p0>; 72 }; 73 74 vbus5v0_typec: vbus5v0-typec-regulator { 75 compatible = "regulator-fixed"; 76 enable-active-high; 77 gpio = <&gpio4 RK_PA5 GPIO_ACTIVE_HIGH>; 78 pinctrl-0 = <&typec5v_pwren>; 79 pinctrl-names = "default"; 80 regulator-name = "vbus5v0_typec"; 81 regulator-min-microvolt = <5000000>; 82 regulator-max-microvolt = <5000000>; 83 vin-supply = <&vcc5v0_usb>; 84 }; 85 86 vcc_1v1_nldo_s3: vcc-1v1-nldo-s3-regulator { 87 compatible = "regulator-fixed"; 88 regulator-always-on; 89 regulator-boot-on; 90 regulator-max-microvolt = <1100000>; 91 regulator-min-microvolt = <1100000>; 92 regulator-name = "vcc_1v1_nldo_s3"; 93 vin-supply = <&vcc5v0_sys>; 94 }; 95 96 /* Regulator is enabled whenever vcc_1v8_s0 is above 1.6v */ 97 vcc_3v3_s0: vcc-3v3-s0-regulator { 98 compatible = "regulator-fixed"; 99 regulator-always-on; 100 regulator-boot-on; 101 regulator-max-microvolt = <3300000>; 102 regulator-min-microvolt = <3300000>; 103 regulator-name = "vcc_3v3_s0"; 104 vin-supply = <&vcc_3v3_s3>; 105 106 regulator-state-mem { 107 regulator-off-in-suspend; 108 }; 109 }; 110 111 vcc5v0_sys: vcc5v0-sys-regulator { 112 compatible = "regulator-fixed"; 113 regulator-always-on; 114 regulator-boot-on; 115 regulator-max-microvolt = <5000000>; 116 regulator-min-microvolt = <5000000>; 117 regulator-name = "vcc5v0_sys"; 118 }; 119 120 vcc5v0_usb: vcc5v0-usb-regulator { 121 compatible = "regulator-fixed"; 122 regulator-always-on; 123 regulator-boot-on; 124 regulator-max-microvolt = <5000000>; 125 regulator-min-microvolt = <5000000>; 126 regulator-name = "vcc5v0_usb"; 127 vin-supply = <&vcc5v0_usbdcin>; 128 }; 129 130 vcc5v0_usbdcin: vcc5v0-usbdcin-regulator { 131 compatible = "regulator-fixed"; 132 regulator-always-on; 133 regulator-boot-on; 134 regulator-max-microvolt = <5000000>; 135 regulator-min-microvolt = <5000000>; 136 regulator-name = "vcc5v0_usbdcin"; 137 }; 138}; 139 140&combphy0_ps { 141 status = "okay"; 142}; 143 144&combphy2_psu { 145 status = "okay"; 146}; 147 148&cpu_l0 { 149 cpu-supply = <&vdd_cpu_lit_s0>; 150}; 151 152&cpu_l1 { 153 cpu-supply = <&vdd_cpu_lit_s0>; 154}; 155 156&cpu_l2 { 157 cpu-supply = <&vdd_cpu_lit_s0>; 158}; 159 160&cpu_l3 { 161 cpu-supply = <&vdd_cpu_lit_s0>; 162}; 163 164&cpu_b0 { 165 cpu-supply = <&vdd_cpu_big0_s0>; 166}; 167 168&cpu_b1 { 169 cpu-supply = <&vdd_cpu_big0_s0>; 170}; 171 172&cpu_b2 { 173 cpu-supply = <&vdd_cpu_big1_s0>; 174}; 175 176&cpu_b3 { 177 cpu-supply = <&vdd_cpu_big1_s0>; 178}; 179 180/* 181 * Add labels for each GPIO pin exposed on the 40 pin header. Note that 182 * voltage of each GPIO pin could be either 3.3v or 1.8v (as noted by 183 * label). 184 */ 185&gpio0 { 186 gpio-line-names = /* GPIO0 A0-A7 */ 187 "", "", "", "", 188 "", "", "", "", 189 /* GPIO0 B0-B7 */ 190 "", "", "", "", 191 "", "", "", "", 192 /* GPIO0 C0-C7 */ 193 "", "", "", "", 194 "", "", "", "", 195 /* GPIO0 D0-D7 */ 196 "HEADER_12_1v8", "", "", "HEADER_24_1v8", 197 "", "", "", ""; 198}; 199 200&gpio1 { 201 gpio-line-names = /* GPIO1 A0-A7 */ 202 "HEADER_27_3v3", "", "", "", 203 "HEADER_29_1v8", "", "HEADER_7_1v8", "", 204 /* GPIO1 B0-B7 */ 205 "", "HEADER_31_1v8", "HEADER_33_1v8", "", 206 "HEADER_11_1v8", "HEADER_13_1v8", "", "", 207 /* GPIO1 C0-C7 */ 208 "", "HEADER_28_3v3", "", "", 209 "", "", "", "", 210 /* GPIO1 D0-D7 */ 211 "", "", "", "", 212 "", "", "HEADER_5_3v3", "HEADER_3_3v3"; 213}; 214 215&gpio3 { 216 gpio-line-names = /* GPIO3 A0-A7 */ 217 "", "", "", "", 218 "", "", "", "", 219 /* GPIO3 B0-B7 */ 220 "HEADER_16_1v8", "HEADER_18_1v8", "", "", 221 "", "", "", "HEADER_19_1v8", 222 /* GPIO3 C0-C7 */ 223 "HEADER_21_1v8", "HEADER_23_1v8", "", "HEADER_26_1v8", 224 "HEADER_15_1v8", "HEADER_22_1v8", "", "", 225 /* GPIO3 D0-D7 */ 226 "", "", "", "", 227 "", "", "", ""; 228}; 229 230&gpio4 { 231 gpio-line-names = /* GPIO4 A0-A7 */ 232 "", "", "HEADER_37_3v3", "HEADER_8_3v3", 233 "HEADER_10_3v3", "", "HEADER_32_3v3", "HEADER_35_3v3", 234 /* GPIO4 B0-B7 */ 235 "", "", "", "HEADER_40_3v3", 236 "HEADER_38_3v3", "HEADER_36_3v3", "", "", 237 /* GPIO4 C0-C7 */ 238 "", "", "", "", 239 "", "", "", "", 240 /* GPIO4 D0-D7 */ 241 "", "", "", "", 242 "", "", "", ""; 243}; 244 245&i2c0 { 246 pinctrl-0 = <&i2c0m2_xfer>; 247 pinctrl-names = "default"; 248 status = "okay"; 249 250 vdd_cpu_big0_s0: regulator@42 { 251 compatible = "rockchip,rk8602"; 252 reg = <0x42>; 253 regulator-always-on; 254 regulator-boot-on; 255 regulator-max-microvolt = <1050000>; 256 regulator-min-microvolt = <550000>; 257 regulator-name = "vdd_cpu_big0_s0"; 258 regulator-ramp-delay = <2300>; 259 fcs,suspend-voltage-selector = <1>; 260 vin-supply = <&vcc5v0_sys>; 261 262 regulator-state-mem { 263 regulator-off-in-suspend; 264 }; 265 }; 266 267 vdd_cpu_big1_s0: regulator@43 { 268 compatible = "rockchip,rk8603", "rockchip,rk8602"; 269 reg = <0x43>; 270 regulator-always-on; 271 regulator-boot-on; 272 regulator-max-microvolt = <1050000>; 273 regulator-min-microvolt = <550000>; 274 regulator-name = "vdd_cpu_big1_s0"; 275 regulator-ramp-delay = <2300>; 276 fcs,suspend-voltage-selector = <1>; 277 vin-supply = <&vcc5v0_sys>; 278 279 regulator-state-mem { 280 regulator-off-in-suspend; 281 }; 282 }; 283}; 284 285&i2c2 { 286 status = "okay"; 287 288 vdd_npu_s0: regulator@42 { 289 compatible = "rockchip,rk8602"; 290 reg = <0x42>; 291 regulator-always-on; 292 regulator-boot-on; 293 regulator-max-microvolt = <950000>; 294 regulator-min-microvolt = <550000>; 295 regulator-name = "vdd_npu_s0"; 296 regulator-ramp-delay = <2300>; 297 fcs,suspend-voltage-selector = <1>; 298 vin-supply = <&vcc5v0_sys>; 299 300 regulator-state-mem { 301 regulator-off-in-suspend; 302 }; 303 }; 304}; 305 306&i2c6 { 307 pinctrl-0 = <&i2c6m3_xfer>; 308 status = "okay"; 309 310 fusb302: typec-portc@22 { 311 compatible = "fcs,fusb302"; 312 reg = <0x22>; 313 interrupt-parent = <&gpio0>; 314 interrupts = <RK_PC4 IRQ_TYPE_LEVEL_LOW>; 315 pinctrl-0 = <&usbc0_int>; 316 pinctrl-names = "default"; 317 vbus-supply = <&vbus5v0_typec>; 318 319 usb_con: connector { 320 compatible = "usb-c-connector"; 321 data-role = "dual"; 322 label = "USB-C"; 323 power-role = "dual"; 324 try-power-role = "sink"; 325 source-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>; 326 sink-pdos = <PDO_FIXED(5000, 1000, PDO_FIXED_USB_COMM)>; 327 op-sink-microwatt = <1000000>; 328 329 ports { 330 #address-cells = <1>; 331 #size-cells = <0>; 332 333 port@0 { 334 reg = <0>; 335 usbc0_orien_sw: endpoint { 336 remote-endpoint = <&usbdp_phy0_orientation_switch>; 337 }; 338 }; 339 340 port@1 { 341 reg = <1>; 342 usbc0_role_sw: endpoint { 343 remote-endpoint = <&dwc3_0_role_switch>; 344 }; 345 }; 346 347 port@2 { 348 reg = <2>; 349 dp_altmode_mux: endpoint { 350 remote-endpoint = <&usbdp_phy0_dp_altmode_mux>; 351 }; 352 }; 353 }; 354 }; 355 }; 356 357 rtc_hym8563: rtc@51 { 358 compatible = "haoyu,hym8563"; 359 reg = <0x51>; 360 #clock-cells = <0>; 361 clock-output-names = "hym8563"; 362 interrupt-parent = <&gpio0>; 363 interrupts = <RK_PB0 IRQ_TYPE_LEVEL_LOW>; 364 pinctrl-0 = <&hym8563_int>; 365 pinctrl-names = "default"; 366 wakeup-source; 367 }; 368}; 369 370&i2c7 { 371 pinctrl-0 = <&i2c7m0_xfer>; 372 status = "okay"; 373 374 es8388: audio-codec@11 { 375 compatible = "everest,es8388"; 376 reg = <0x11>; 377 assigned-clock-rates = <12288000>; 378 assigned-clocks = <&cru I2S0_8CH_MCLKOUT>; 379 AVDD-supply = <&vcc_3v3_s3>; 380 clocks = <&cru I2S0_8CH_MCLKOUT>; 381 DVDD-supply = <&vcc_1v8_s3>; 382 HPVDD-supply = <&vcc_3v3_s3>; 383 PVDD-supply = <&vcc_1v8_s3>; 384 #sound-dai-cells = <0>; 385 386 port { 387 es8388_p0_0: endpoint { 388 remote-endpoint = <&i2s0_8ch_p0_0>; 389 }; 390 }; 391 }; 392}; 393 394&i2s0_8ch { 395 pinctrl-names = "default"; 396 pinctrl-0 = <&i2s0_lrck 397 &i2s0_mclk 398 &i2s0_sclk 399 &i2s0_sdi0 400 &i2s0_sdo0>; 401 status = "okay"; 402 403 i2s0_8ch_p0: port { 404 i2s0_8ch_p0_0: endpoint { 405 dai-format = "i2s"; 406 mclk-fs = <256>; 407 remote-endpoint = <&es8388_p0_0>; 408 }; 409 }; 410}; 411 412&pcie2x1l2 { 413 pinctrl-0 = <&rtl8111_perstb>; 414 pinctrl-names = "default"; 415 status = "okay"; 416}; 417 418&pinctrl { 419 bluetooth-pins { 420 bt_reset: bt-reset { 421 rockchip,pins = 422 <0 RK_PD4 RK_FUNC_GPIO &pcfg_pull_none>; 423 }; 424 425 bt_wake_dev: bt-wake-dev { 426 rockchip,pins = 427 <0 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>; 428 }; 429 430 bt_wake_host: bt-wake-host { 431 rockchip,pins = 432 <0 RK_PC5 RK_FUNC_GPIO &pcfg_pull_down>; 433 }; 434 }; 435 436 ethernet-pins { 437 rtl8111_perstb: rtl8111-perstb { 438 rockchip,pins = <3 RK_PD1 RK_FUNC_GPIO &pcfg_pull_up>; 439 }; 440 }; 441 442 hym8563 { 443 444 hym8563_int: hym8563-int { 445 rockchip,pins = 446 <0 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>; 447 }; 448 }; 449 450 sdio-pwrseq { 451 wifi_enable_h: wifi-enable-h { 452 rockchip,pins = 453 <0 RK_PC7 RK_FUNC_GPIO &pcfg_pull_none>; 454 }; 455 }; 456 457 usb-typec { 458 usbc0_int: usbc0-int { 459 rockchip,pins = 460 <0 RK_PC4 RK_FUNC_GPIO &pcfg_pull_up>; 461 }; 462 463 typec5v_pwren: typec5v-pwren { 464 rockchip,pins = 465 <4 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>; 466 }; 467 }; 468}; 469 470&saradc { 471 vref-supply = <&vcca_1v8_s0>; 472 status = "okay"; 473}; 474 475/* HS400 modes seemed to cause io errors. */ 476&sdhci { 477 bus-width = <8>; 478 no-mmc-hs400; 479 no-sd; 480 no-sdio; 481 non-removable; 482 vmmc-supply = <&vcc_3v3_s0>; 483 vqmmc-supply = <&vcc_1v8_s3>; 484 status = "okay"; 485}; 486 487&sdio { 488 bus-width = <4>; 489 cap-sd-highspeed; 490 cap-sdio-irq; 491 disable-wp; 492 keep-power-in-suspend; 493 max-frequency = <100000000>; 494 mmc-pwrseq = <&sdio_pwrseq>; 495 no-mmc; 496 no-sd; 497 non-removable; 498 sd-uhs-sdr104; 499 vmmc-supply = <&vcc_3v3_s3>; 500 vqmmc-supply = <&vcc_1v8_s3>; 501 status = "okay"; 502}; 503 504&sdmmc { 505 bus-width = <4>; 506 cap-mmc-highspeed; 507 cap-sd-highspeed; 508 disable-wp; 509 no-sdio; 510 no-mmc; 511 sd-uhs-sdr104; 512 vmmc-supply = <&vcc_3v3_s3>; 513 vqmmc-supply = <&vccio_sd_s0>; 514 status = "okay"; 515}; 516 517&spi2 { 518 #address-cells = <1>; 519 assigned-clocks = <&cru CLK_SPI2>; 520 assigned-clock-rates = <200000000>; 521 num-cs = <1>; 522 pinctrl-0 = <&spi2m2_pins>, <&spi2m2_cs0>; 523 pinctrl-names = "default"; 524 #size-cells = <0>; 525 status = "okay"; 526 527 pmic@0 { 528 compatible = "rockchip,rk806"; 529 reg = <0x0>; 530 #gpio-cells = <2>; 531 gpio-controller; 532 interrupt-parent = <&gpio0>; 533 interrupts = <RK_PA7 IRQ_TYPE_LEVEL_LOW>; 534 pinctrl-0 = <&pmic_pins>, <&rk806_dvs1_null>, 535 <&rk806_dvs2_null>, <&rk806_dvs3_null>; 536 pinctrl-names = "default"; 537 spi-max-frequency = <1000000>; 538 539 vcc1-supply = <&vcc5v0_sys>; 540 vcc2-supply = <&vcc5v0_sys>; 541 vcc3-supply = <&vcc5v0_sys>; 542 vcc4-supply = <&vcc5v0_sys>; 543 vcc5-supply = <&vcc5v0_sys>; 544 vcc6-supply = <&vcc5v0_sys>; 545 vcc7-supply = <&vcc5v0_sys>; 546 vcc8-supply = <&vcc5v0_sys>; 547 vcc9-supply = <&vcc5v0_sys>; 548 vcc10-supply = <&vcc5v0_sys>; 549 vcc11-supply = <&vcc_2v0_pldo_s3>; 550 vcc12-supply = <&vcc5v0_sys>; 551 vcc13-supply = <&vcc_1v1_nldo_s3>; 552 vcc14-supply = <&vcc_1v1_nldo_s3>; 553 vcca-supply = <&vcc5v0_sys>; 554 555 rk806_dvs1_null: dvs1-null-pins { 556 pins = "gpio_pwrctrl1"; 557 function = "pin_fun0"; 558 }; 559 560 rk806_dvs2_null: dvs2-null-pins { 561 pins = "gpio_pwrctrl2"; 562 function = "pin_fun0"; 563 }; 564 565 rk806_dvs3_null: dvs3-null-pins { 566 pins = "gpio_pwrctrl3"; 567 function = "pin_fun0"; 568 }; 569 570 regulators { 571 vdd_gpu_s0: dcdc-reg1 { 572 regulator-boot-on; 573 regulator-enable-ramp-delay = <400>; 574 regulator-max-microvolt = <950000>; 575 regulator-min-microvolt = <550000>; 576 regulator-name = "vdd_gpu_s0"; 577 regulator-ramp-delay = <12500>; 578 regulator-state-mem { 579 regulator-off-in-suspend; 580 }; 581 }; 582 583 vdd_cpu_lit_s0: dcdc-reg2 { 584 regulator-always-on; 585 regulator-boot-on; 586 regulator-max-microvolt = <950000>; 587 regulator-min-microvolt = <550000>; 588 regulator-ramp-delay = <12500>; 589 regulator-name = "vdd_cpu_lit_s0"; 590 regulator-state-mem { 591 regulator-off-in-suspend; 592 }; 593 }; 594 595 vdd_logic_s0: dcdc-reg3 { 596 regulator-always-on; 597 regulator-boot-on; 598 regulator-max-microvolt = <750000>; 599 regulator-min-microvolt = <675000>; 600 regulator-name = "vdd_logic_s0"; 601 regulator-ramp-delay = <12500>; 602 regulator-state-mem { 603 regulator-on-in-suspend; 604 regulator-suspend-microvolt = <750000>; 605 }; 606 }; 607 608 vdd_vdenc_s0: dcdc-reg4 { 609 regulator-always-on; 610 regulator-boot-on; 611 regulator-max-microvolt = <950000>; 612 regulator-min-microvolt = <550000>; 613 regulator-name = "vdd_vdenc_s0"; 614 regulator-ramp-delay = <12500>; 615 regulator-state-mem { 616 regulator-off-in-suspend; 617 }; 618 }; 619 620 vdd_ddr_s0: dcdc-reg5 { 621 regulator-always-on; 622 regulator-boot-on; 623 regulator-min-microvolt = <750000>; 624 regulator-max-microvolt = <850000>; 625 regulator-ramp-delay = <12500>; 626 regulator-name = "vdd_ddr_s0"; 627 regulator-state-mem { 628 regulator-off-in-suspend; 629 regulator-suspend-microvolt = <850000>; 630 }; 631 }; 632 633 vdd2_ddr_s3: dcdc-reg6 { 634 regulator-always-on; 635 regulator-boot-on; 636 regulator-max-microvolt = <1100000>; 637 regulator-min-microvolt = <1100000>; 638 regulator-name = "vdd2_ddr_s3"; 639 regulator-state-mem { 640 regulator-on-in-suspend; 641 }; 642 }; 643 644 vcc_2v0_pldo_s3: dcdc-reg7 { 645 regulator-always-on; 646 regulator-boot-on; 647 regulator-max-microvolt = <2000000>; 648 regulator-min-microvolt = <2000000>; 649 regulator-name = "vdd_2v0_pldo_s3"; 650 regulator-state-mem { 651 regulator-on-in-suspend; 652 regulator-suspend-microvolt = <2000000>; 653 }; 654 }; 655 656 vcc_3v3_s3: dcdc-reg8 { 657 regulator-always-on; 658 regulator-boot-on; 659 regulator-max-microvolt = <3300000>; 660 regulator-min-microvolt = <3300000>; 661 regulator-name = "vcc_3v3_s3"; 662 regulator-state-mem { 663 regulator-on-in-suspend; 664 regulator-suspend-microvolt = <3300000>; 665 }; 666 }; 667 668 vddq_ddr_s0: dcdc-reg9 { 669 regulator-always-on; 670 regulator-boot-on; 671 regulator-max-microvolt = <600000>; 672 regulator-min-microvolt = <600000>; 673 regulator-name = "vddq_ddr_s0"; 674 regulator-state-mem { 675 regulator-off-in-suspend; 676 }; 677 }; 678 679 vcc_1v8_s3: dcdc-reg10 { 680 regulator-always-on; 681 regulator-boot-on; 682 regulator-max-microvolt = <1800000>; 683 regulator-min-microvolt = <1800000>; 684 regulator-name = "vcc_1v8_s3"; 685 regulator-state-mem { 686 regulator-on-in-suspend; 687 regulator-suspend-microvolt = <1800000>; 688 }; 689 }; 690 691 vcc_1v8_s0: pldo-reg1 { 692 regulator-always-on; 693 regulator-boot-on; 694 regulator-max-microvolt = <1800000>; 695 regulator-min-microvolt = <1800000>; 696 regulator-name = "vcc_1v8_s0"; 697 regulator-state-mem { 698 regulator-off-in-suspend; 699 }; 700 }; 701 702 vcca_1v8_s0: pldo-reg2 { 703 regulator-always-on; 704 regulator-boot-on; 705 regulator-max-microvolt = <1800000>; 706 regulator-min-microvolt = <1800000>; 707 regulator-name = "vcca_1v8_s0"; 708 regulator-state-mem { 709 regulator-off-in-suspend; 710 regulator-suspend-microvolt = <1800000>; 711 }; 712 }; 713 714 vdda_1v2_s0: pldo-reg3 { 715 regulator-always-on; 716 regulator-boot-on; 717 regulator-max-microvolt = <1200000>; 718 regulator-min-microvolt = <1200000>; 719 regulator-name = "vdda_1v2_s0"; 720 regulator-state-mem { 721 regulator-off-in-suspend; 722 }; 723 }; 724 725 vcca_3v3_s0: pldo-reg4 { 726 regulator-always-on; 727 regulator-boot-on; 728 regulator-max-microvolt = <3300000>; 729 regulator-min-microvolt = <3300000>; 730 regulator-name = "vcca_3v3_s0"; 731 regulator-state-mem { 732 regulator-off-in-suspend; 733 }; 734 }; 735 736 vccio_sd_s0: pldo-reg5 { 737 regulator-always-on; 738 regulator-boot-on; 739 regulator-max-microvolt = <3300000>; 740 regulator-min-microvolt = <1800000>; 741 regulator-name = "vccio_sd_s0"; 742 regulator-state-mem { 743 regulator-off-in-suspend; 744 }; 745 }; 746 747 vcc_1v8_s3_pldo6: pldo-reg6 { 748 regulator-always-on; 749 regulator-boot-on; 750 regulator-max-microvolt = <1800000>; 751 regulator-min-microvolt = <1800000>; 752 regulator-name = "vcc_1v8_s3_pldo6"; 753 regulator-state-mem { 754 regulator-on-in-suspend; 755 regulator-suspend-microvolt = <1800000>; 756 }; 757 }; 758 759 vdd_0v75_s3: nldo-reg1 { 760 regulator-always-on; 761 regulator-boot-on; 762 regulator-max-microvolt = <750000>; 763 regulator-min-microvolt = <750000>; 764 regulator-name = "vdd_0v75_s3"; 765 regulator-state-mem { 766 regulator-on-in-suspend; 767 regulator-suspend-microvolt = <750000>; 768 }; 769 }; 770 771 vdda_ddr_pll_s0: nldo-reg2 { 772 regulator-always-on; 773 regulator-boot-on; 774 regulator-max-microvolt = <850000>; 775 regulator-min-microvolt = <850000>; 776 regulator-name = "vdda_ddr_pll_s0"; 777 regulator-state-mem { 778 regulator-off-in-suspend; 779 regulator-suspend-microvolt = <850000>; 780 }; 781 }; 782 783 avdd_0v75_s0: nldo-reg3 { 784 regulator-always-on; 785 regulator-boot-on; 786 regulator-max-microvolt = <750000>; 787 regulator-min-microvolt = <750000>; 788 regulator-name = "avdd_0v75_s0"; 789 regulator-state-mem { 790 regulator-off-in-suspend; 791 }; 792 }; 793 794 vdda_0v85_s0: nldo-reg4 { 795 regulator-always-on; 796 regulator-boot-on; 797 regulator-min-microvolt = <850000>; 798 regulator-max-microvolt = <850000>; 799 regulator-name = "vdda_0v85_s0"; 800 regulator-state-mem { 801 regulator-off-in-suspend; 802 }; 803 }; 804 805 /* Schematics show not in use */ 806 nldo-reg5 { 807 }; 808 }; 809 }; 810}; 811 812&tsadc { 813 status = "okay"; 814}; 815 816&u2phy0 { 817 status = "okay"; 818}; 819 820&u2phy0_otg { 821 status = "okay"; 822}; 823 824&u2phy2 { 825 status = "okay"; 826}; 827 828&u2phy2_host { 829 phy-supply = <&vcc5v0_usb>; 830 status = "okay"; 831}; 832 833&u2phy3 { 834 status = "okay"; 835}; 836 837&u2phy3_host { 838 phy-supply = <&vcc5v0_usb>; 839 status = "okay"; 840}; 841 842&uart2 { 843 pinctrl-0 = <&uart2m0_xfer>; 844 status = "okay"; 845}; 846 847/* DMA seems to interfere with bluetooth device normal operation. */ 848&uart9 { 849 pinctrl-0 = <&uart9m2_xfer>, <&uart9m2_ctsn>, <&uart9m2_rtsn>; 850 pinctrl-names = "default"; 851 /delete-property/ dma-names; 852 /delete-property/ dmas; 853 uart-has-rtscts; 854 status = "okay"; 855 856 bluetooth { 857 compatible = "realtek,rtl8821cs-bt", 858 "realtek,rtl8723bs-bt"; 859 device-wake-gpios = <&gpio0 RK_PC6 GPIO_ACTIVE_HIGH>; 860 enable-gpios = <&gpio0 RK_PD4 GPIO_ACTIVE_HIGH>; 861 host-wake-gpios = <&gpio0 RK_PC5 GPIO_ACTIVE_HIGH>; 862 pinctrl-0 = <&bt_reset>, <&bt_wake_dev>, <&bt_wake_host>; 863 pinctrl-names = "default"; 864 }; 865}; 866 867&usb_host0_ehci { 868 status = "okay"; 869}; 870 871&usb_host0_ohci { 872 status = "okay"; 873}; 874 875&usb_host0_xhci { 876 usb-role-switch; 877 status = "okay"; 878 879 port { 880 dwc3_0_role_switch: endpoint { 881 remote-endpoint = <&usbc0_role_sw>; 882 }; 883 }; 884}; 885 886&usb_host1_ehci { 887 status = "okay"; 888}; 889 890&usb_host1_ohci { 891 status = "okay"; 892}; 893 894&usb_host2_xhci { 895 status = "okay"; 896}; 897 898&usbdp_phy0 { 899 orientation-switch; 900 mode-switch; 901 sbu1-dc-gpios = <&gpio4 RK_PA0 GPIO_ACTIVE_HIGH>; 902 sbu2-dc-gpios = <&gpio4 RK_PA1 GPIO_ACTIVE_HIGH>; 903 rockchip,dp-lane-mux = <2 3>; 904 status = "okay"; 905 906 port { 907 #address-cells = <1>; 908 #size-cells = <0>; 909 910 usbdp_phy0_orientation_switch: endpoint@0 { 911 reg = <0>; 912 remote-endpoint = <&usbc0_orien_sw>; 913 }; 914 915 usbdp_phy0_dp_altmode_mux: endpoint@1 { 916 reg = <1>; 917 remote-endpoint = <&dp_altmode_mux>; 918 }; 919 }; 920}; 921