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 clocks = <&cru I2S0_8CH_MCLKOUT>; 421 DVDD-supply = <&vcc_1v8_s3>; 422 HPVDD-supply = <&vcc_3v3_s3>; 423 PVDD-supply = <&vcc_1v8_s3>; 424 #sound-dai-cells = <0>; 425 426 port { 427 es8388_p0_0: endpoint { 428 remote-endpoint = <&i2s0_8ch_p0_0>; 429 }; 430 }; 431 }; 432}; 433 434&i2s0_8ch { 435 pinctrl-names = "default"; 436 pinctrl-0 = <&i2s0_lrck 437 &i2s0_mclk 438 &i2s0_sclk 439 &i2s0_sdi0 440 &i2s0_sdo0>; 441 status = "okay"; 442 443 i2s0_8ch_p0: port { 444 i2s0_8ch_p0_0: endpoint { 445 dai-format = "i2s"; 446 mclk-fs = <256>; 447 remote-endpoint = <&es8388_p0_0>; 448 }; 449 }; 450}; 451 452&pcie2x1l2 { 453 pinctrl-0 = <&rtl8111_perstb>; 454 pinctrl-names = "default"; 455 status = "okay"; 456}; 457 458&pinctrl { 459 bluetooth-pins { 460 bt_reset: bt-reset { 461 rockchip,pins = 462 <0 RK_PD4 RK_FUNC_GPIO &pcfg_pull_none>; 463 }; 464 465 bt_wake_dev: bt-wake-dev { 466 rockchip,pins = 467 <0 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>; 468 }; 469 470 bt_wake_host: bt-wake-host { 471 rockchip,pins = 472 <0 RK_PC5 RK_FUNC_GPIO &pcfg_pull_down>; 473 }; 474 }; 475 476 ethernet-pins { 477 rtl8111_perstb: rtl8111-perstb { 478 rockchip,pins = <3 RK_PD1 RK_FUNC_GPIO &pcfg_pull_up>; 479 }; 480 }; 481 482 hym8563 { 483 484 hym8563_int: hym8563-int { 485 rockchip,pins = 486 <0 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>; 487 }; 488 }; 489 490 sdio-pwrseq { 491 wifi_enable_h: wifi-enable-h { 492 rockchip,pins = 493 <0 RK_PC7 RK_FUNC_GPIO &pcfg_pull_none>; 494 }; 495 }; 496 497 usb-typec { 498 usbc0_int: usbc0-int { 499 rockchip,pins = 500 <0 RK_PC4 RK_FUNC_GPIO &pcfg_pull_up>; 501 }; 502 503 typec5v_pwren: typec5v-pwren { 504 rockchip,pins = 505 <4 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>; 506 }; 507 }; 508}; 509 510&saradc { 511 vref-supply = <&vcca_1v8_s0>; 512 status = "okay"; 513}; 514 515/* HS400 modes seemed to cause io errors. */ 516&sdhci { 517 bus-width = <8>; 518 no-mmc-hs400; 519 no-sd; 520 no-sdio; 521 non-removable; 522 vmmc-supply = <&vcc_3v3_s0>; 523 vqmmc-supply = <&vcc_1v8_s3>; 524 status = "okay"; 525}; 526 527&sdio { 528 bus-width = <4>; 529 cap-sd-highspeed; 530 cap-sdio-irq; 531 disable-wp; 532 keep-power-in-suspend; 533 max-frequency = <100000000>; 534 mmc-pwrseq = <&sdio_pwrseq>; 535 no-mmc; 536 no-sd; 537 non-removable; 538 sd-uhs-sdr104; 539 vmmc-supply = <&vcc_3v3_s3>; 540 vqmmc-supply = <&vcc_1v8_s3>; 541 status = "okay"; 542}; 543 544&sdmmc { 545 bus-width = <4>; 546 cap-mmc-highspeed; 547 cap-sd-highspeed; 548 disable-wp; 549 no-sdio; 550 no-mmc; 551 sd-uhs-sdr104; 552 vmmc-supply = <&vcc_3v3_s3>; 553 vqmmc-supply = <&vccio_sd_s0>; 554 status = "okay"; 555}; 556 557&spi2 { 558 #address-cells = <1>; 559 assigned-clocks = <&cru CLK_SPI2>; 560 assigned-clock-rates = <200000000>; 561 num-cs = <1>; 562 pinctrl-0 = <&spi2m2_pins>, <&spi2m2_cs0>; 563 pinctrl-names = "default"; 564 #size-cells = <0>; 565 status = "okay"; 566 567 pmic@0 { 568 compatible = "rockchip,rk806"; 569 reg = <0x0>; 570 #gpio-cells = <2>; 571 gpio-controller; 572 interrupt-parent = <&gpio0>; 573 interrupts = <RK_PA7 IRQ_TYPE_LEVEL_LOW>; 574 pinctrl-0 = <&pmic_pins>, <&rk806_dvs1_null>, 575 <&rk806_dvs2_null>, <&rk806_dvs3_null>; 576 pinctrl-names = "default"; 577 spi-max-frequency = <1000000>; 578 579 vcc1-supply = <&vcc5v0_sys>; 580 vcc2-supply = <&vcc5v0_sys>; 581 vcc3-supply = <&vcc5v0_sys>; 582 vcc4-supply = <&vcc5v0_sys>; 583 vcc5-supply = <&vcc5v0_sys>; 584 vcc6-supply = <&vcc5v0_sys>; 585 vcc7-supply = <&vcc5v0_sys>; 586 vcc8-supply = <&vcc5v0_sys>; 587 vcc9-supply = <&vcc5v0_sys>; 588 vcc10-supply = <&vcc5v0_sys>; 589 vcc11-supply = <&vcc_2v0_pldo_s3>; 590 vcc12-supply = <&vcc5v0_sys>; 591 vcc13-supply = <&vcc_1v1_nldo_s3>; 592 vcc14-supply = <&vcc_1v1_nldo_s3>; 593 vcca-supply = <&vcc5v0_sys>; 594 595 rk806_dvs1_null: dvs1-null-pins { 596 pins = "gpio_pwrctrl1"; 597 function = "pin_fun0"; 598 }; 599 600 rk806_dvs2_null: dvs2-null-pins { 601 pins = "gpio_pwrctrl2"; 602 function = "pin_fun0"; 603 }; 604 605 rk806_dvs3_null: dvs3-null-pins { 606 pins = "gpio_pwrctrl3"; 607 function = "pin_fun0"; 608 }; 609 610 regulators { 611 vdd_gpu_s0: dcdc-reg1 { 612 regulator-boot-on; 613 regulator-enable-ramp-delay = <400>; 614 regulator-max-microvolt = <950000>; 615 regulator-min-microvolt = <550000>; 616 regulator-name = "vdd_gpu_s0"; 617 regulator-ramp-delay = <12500>; 618 regulator-state-mem { 619 regulator-off-in-suspend; 620 }; 621 }; 622 623 vdd_cpu_lit_s0: dcdc-reg2 { 624 regulator-always-on; 625 regulator-boot-on; 626 regulator-max-microvolt = <950000>; 627 regulator-min-microvolt = <550000>; 628 regulator-ramp-delay = <12500>; 629 regulator-name = "vdd_cpu_lit_s0"; 630 regulator-state-mem { 631 regulator-off-in-suspend; 632 }; 633 }; 634 635 vdd_logic_s0: dcdc-reg3 { 636 regulator-always-on; 637 regulator-boot-on; 638 regulator-max-microvolt = <750000>; 639 regulator-min-microvolt = <675000>; 640 regulator-name = "vdd_logic_s0"; 641 regulator-ramp-delay = <12500>; 642 regulator-state-mem { 643 regulator-on-in-suspend; 644 regulator-suspend-microvolt = <750000>; 645 }; 646 }; 647 648 vdd_vdenc_s0: dcdc-reg4 { 649 regulator-always-on; 650 regulator-boot-on; 651 regulator-max-microvolt = <950000>; 652 regulator-min-microvolt = <550000>; 653 regulator-name = "vdd_vdenc_s0"; 654 regulator-ramp-delay = <12500>; 655 regulator-state-mem { 656 regulator-off-in-suspend; 657 }; 658 }; 659 660 vdd_ddr_s0: dcdc-reg5 { 661 regulator-always-on; 662 regulator-boot-on; 663 regulator-min-microvolt = <750000>; 664 regulator-max-microvolt = <850000>; 665 regulator-ramp-delay = <12500>; 666 regulator-name = "vdd_ddr_s0"; 667 regulator-state-mem { 668 regulator-off-in-suspend; 669 regulator-suspend-microvolt = <850000>; 670 }; 671 }; 672 673 vdd2_ddr_s3: dcdc-reg6 { 674 regulator-always-on; 675 regulator-boot-on; 676 regulator-max-microvolt = <1100000>; 677 regulator-min-microvolt = <1100000>; 678 regulator-name = "vdd2_ddr_s3"; 679 regulator-state-mem { 680 regulator-on-in-suspend; 681 }; 682 }; 683 684 vcc_2v0_pldo_s3: dcdc-reg7 { 685 regulator-always-on; 686 regulator-boot-on; 687 regulator-max-microvolt = <2000000>; 688 regulator-min-microvolt = <2000000>; 689 regulator-name = "vdd_2v0_pldo_s3"; 690 regulator-state-mem { 691 regulator-on-in-suspend; 692 regulator-suspend-microvolt = <2000000>; 693 }; 694 }; 695 696 vcc_3v3_s3: dcdc-reg8 { 697 regulator-always-on; 698 regulator-boot-on; 699 regulator-max-microvolt = <3300000>; 700 regulator-min-microvolt = <3300000>; 701 regulator-name = "vcc_3v3_s3"; 702 regulator-state-mem { 703 regulator-on-in-suspend; 704 regulator-suspend-microvolt = <3300000>; 705 }; 706 }; 707 708 vddq_ddr_s0: dcdc-reg9 { 709 regulator-always-on; 710 regulator-boot-on; 711 regulator-max-microvolt = <600000>; 712 regulator-min-microvolt = <600000>; 713 regulator-name = "vddq_ddr_s0"; 714 regulator-state-mem { 715 regulator-off-in-suspend; 716 }; 717 }; 718 719 vcc_1v8_s3: dcdc-reg10 { 720 regulator-always-on; 721 regulator-boot-on; 722 regulator-max-microvolt = <1800000>; 723 regulator-min-microvolt = <1800000>; 724 regulator-name = "vcc_1v8_s3"; 725 regulator-state-mem { 726 regulator-on-in-suspend; 727 regulator-suspend-microvolt = <1800000>; 728 }; 729 }; 730 731 vcc_1v8_s0: pldo-reg1 { 732 regulator-always-on; 733 regulator-boot-on; 734 regulator-max-microvolt = <1800000>; 735 regulator-min-microvolt = <1800000>; 736 regulator-name = "vcc_1v8_s0"; 737 regulator-state-mem { 738 regulator-off-in-suspend; 739 }; 740 }; 741 742 vcca_1v8_s0: pldo-reg2 { 743 regulator-always-on; 744 regulator-boot-on; 745 regulator-max-microvolt = <1800000>; 746 regulator-min-microvolt = <1800000>; 747 regulator-name = "vcca_1v8_s0"; 748 regulator-state-mem { 749 regulator-off-in-suspend; 750 regulator-suspend-microvolt = <1800000>; 751 }; 752 }; 753 754 vdda_1v2_s0: pldo-reg3 { 755 regulator-always-on; 756 regulator-boot-on; 757 regulator-max-microvolt = <1200000>; 758 regulator-min-microvolt = <1200000>; 759 regulator-name = "vdda_1v2_s0"; 760 regulator-state-mem { 761 regulator-off-in-suspend; 762 }; 763 }; 764 765 vcca_3v3_s0: pldo-reg4 { 766 regulator-always-on; 767 regulator-boot-on; 768 regulator-max-microvolt = <3300000>; 769 regulator-min-microvolt = <3300000>; 770 regulator-name = "vcca_3v3_s0"; 771 regulator-state-mem { 772 regulator-off-in-suspend; 773 }; 774 }; 775 776 vccio_sd_s0: pldo-reg5 { 777 regulator-always-on; 778 regulator-boot-on; 779 regulator-max-microvolt = <3300000>; 780 regulator-min-microvolt = <1800000>; 781 regulator-name = "vccio_sd_s0"; 782 regulator-state-mem { 783 regulator-off-in-suspend; 784 }; 785 }; 786 787 vcc_1v8_s3_pldo6: pldo-reg6 { 788 regulator-always-on; 789 regulator-boot-on; 790 regulator-max-microvolt = <1800000>; 791 regulator-min-microvolt = <1800000>; 792 regulator-name = "vcc_1v8_s3_pldo6"; 793 regulator-state-mem { 794 regulator-on-in-suspend; 795 regulator-suspend-microvolt = <1800000>; 796 }; 797 }; 798 799 vdd_0v75_s3: nldo-reg1 { 800 regulator-always-on; 801 regulator-boot-on; 802 regulator-max-microvolt = <750000>; 803 regulator-min-microvolt = <750000>; 804 regulator-name = "vdd_0v75_s3"; 805 regulator-state-mem { 806 regulator-on-in-suspend; 807 regulator-suspend-microvolt = <750000>; 808 }; 809 }; 810 811 vdda_ddr_pll_s0: nldo-reg2 { 812 regulator-always-on; 813 regulator-boot-on; 814 regulator-max-microvolt = <850000>; 815 regulator-min-microvolt = <850000>; 816 regulator-name = "vdda_ddr_pll_s0"; 817 regulator-state-mem { 818 regulator-off-in-suspend; 819 regulator-suspend-microvolt = <850000>; 820 }; 821 }; 822 823 avdd_0v75_s0: nldo-reg3 { 824 regulator-always-on; 825 regulator-boot-on; 826 regulator-max-microvolt = <750000>; 827 regulator-min-microvolt = <750000>; 828 regulator-name = "avdd_0v75_s0"; 829 regulator-state-mem { 830 regulator-off-in-suspend; 831 }; 832 }; 833 834 vdda_0v85_s0: nldo-reg4 { 835 regulator-always-on; 836 regulator-boot-on; 837 regulator-min-microvolt = <850000>; 838 regulator-max-microvolt = <850000>; 839 regulator-name = "vdda_0v85_s0"; 840 regulator-state-mem { 841 regulator-off-in-suspend; 842 }; 843 }; 844 845 /* Schematics show not in use */ 846 nldo-reg5 { 847 }; 848 }; 849 }; 850}; 851 852&tsadc { 853 status = "okay"; 854}; 855 856&u2phy0 { 857 status = "okay"; 858}; 859 860&u2phy0_otg { 861 status = "okay"; 862}; 863 864&u2phy2 { 865 status = "okay"; 866}; 867 868&u2phy2_host { 869 phy-supply = <&vcc5v0_usb>; 870 status = "okay"; 871}; 872 873&u2phy3 { 874 status = "okay"; 875}; 876 877&u2phy3_host { 878 phy-supply = <&vcc5v0_usb>; 879 status = "okay"; 880}; 881 882&uart2 { 883 pinctrl-0 = <&uart2m0_xfer>; 884 status = "okay"; 885}; 886 887/* DMA seems to interfere with bluetooth device normal operation. */ 888&uart9 { 889 pinctrl-0 = <&uart9m2_xfer>, <&uart9m2_ctsn>, <&uart9m2_rtsn>; 890 pinctrl-names = "default"; 891 /delete-property/ dma-names; 892 /delete-property/ dmas; 893 uart-has-rtscts; 894 status = "okay"; 895 896 bluetooth { 897 compatible = "realtek,rtl8821cs-bt", 898 "realtek,rtl8723bs-bt"; 899 device-wake-gpios = <&gpio0 RK_PC6 GPIO_ACTIVE_HIGH>; 900 enable-gpios = <&gpio0 RK_PD4 GPIO_ACTIVE_HIGH>; 901 host-wake-gpios = <&gpio0 RK_PC5 GPIO_ACTIVE_HIGH>; 902 pinctrl-0 = <&bt_reset>, <&bt_wake_dev>, <&bt_wake_host>; 903 pinctrl-names = "default"; 904 }; 905}; 906 907&usb_host0_ehci { 908 status = "okay"; 909}; 910 911&usb_host0_ohci { 912 status = "okay"; 913}; 914 915&usb_host0_xhci { 916 usb-role-switch; 917 status = "okay"; 918 919 port { 920 dwc3_0_role_switch: endpoint { 921 remote-endpoint = <&usbc0_role_sw>; 922 }; 923 }; 924}; 925 926&usb_host1_ehci { 927 status = "okay"; 928}; 929 930&usb_host1_ohci { 931 status = "okay"; 932}; 933 934&usb_host2_xhci { 935 status = "okay"; 936}; 937 938&usbdp_phy0 { 939 orientation-switch; 940 mode-switch; 941 sbu1-dc-gpios = <&gpio4 RK_PA0 GPIO_ACTIVE_HIGH>; 942 sbu2-dc-gpios = <&gpio4 RK_PA1 GPIO_ACTIVE_HIGH>; 943 rockchip,dp-lane-mux = <2 3>; 944 status = "okay"; 945 946 port { 947 #address-cells = <1>; 948 #size-cells = <0>; 949 950 usbdp_phy0_orientation_switch: endpoint@0 { 951 reg = <0>; 952 remote-endpoint = <&usbc0_orien_sw>; 953 }; 954 955 usbdp_phy0_dp_altmode_mux: endpoint@1 { 956 reg = <1>; 957 remote-endpoint = <&dp_altmode_mux>; 958 }; 959 }; 960}; 961 962&vop { 963 status = "okay"; 964}; 965 966&vop_mmu { 967 status = "okay"; 968}; 969 970&vp0 { 971 vp0_out_hdmi0: endpoint@ROCKCHIP_VOP2_EP_HDMI0 { 972 reg = <ROCKCHIP_VOP2_EP_HDMI0>; 973 remote-endpoint = <&hdmi0_in_vp0>; 974 }; 975}; 976