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