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