1// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2/* 3 * Copyright (c) 2021 Rockchip Electronics Co., Ltd. 4 * 5 */ 6 7/dts-v1/; 8 9#include <dt-bindings/gpio/gpio.h> 10#include <dt-bindings/input/input.h> 11#include <dt-bindings/pinctrl/rockchip.h> 12#include <dt-bindings/soc/rockchip,vop2.h> 13#include <dt-bindings/usb/pd.h> 14#include "rk3588.dtsi" 15 16/ { 17 model = "Rockchip RK3588 EVB1 V10 Board"; 18 compatible = "rockchip,rk3588-evb1-v10", "rockchip,rk3588"; 19 20 aliases { 21 ethernet0 = &gmac0; 22 mmc0 = &sdhci; 23 }; 24 25 chosen { 26 stdout-path = "serial2:1500000n8"; 27 }; 28 29 adc-keys { 30 compatible = "adc-keys"; 31 io-channels = <&saradc 1>; 32 io-channel-names = "buttons"; 33 keyup-threshold-microvolt = <1800000>; 34 poll-interval = <100>; 35 36 button-vol-up { 37 label = "Volume Up"; 38 linux,code = <KEY_VOLUMEUP>; 39 press-threshold-microvolt = <17000>; 40 }; 41 42 button-vol-down { 43 label = "Volume Down"; 44 linux,code = <KEY_VOLUMEDOWN>; 45 press-threshold-microvolt = <417000>; 46 }; 47 48 button-menu { 49 label = "Menu"; 50 linux,code = <KEY_MENU>; 51 press-threshold-microvolt = <890000>; 52 }; 53 54 button-escape { 55 label = "Escape"; 56 linux,code = <KEY_ESC>; 57 press-threshold-microvolt = <1235000>; 58 }; 59 }; 60 61 analog-sound { 62 compatible = "simple-audio-card"; 63 pinctrl-names = "default"; 64 pinctrl-0 = <&hp_detect>; 65 simple-audio-card,name = "RK3588 EVB1 Audio"; 66 simple-audio-card,aux-devs = <&_headphone>, <&_speaker>; 67 simple-audio-card,bitclock-master = <&masterdai>; 68 simple-audio-card,format = "i2s"; 69 simple-audio-card,frame-master = <&masterdai>; 70 simple-audio-card,hp-det-gpios = <&gpio1 RK_PD5 GPIO_ACTIVE_LOW>; 71 simple-audio-card,mclk-fs = <256>; 72 simple-audio-card,pin-switches = "Headphones", "Speaker"; 73 simple-audio-card,routing = 74 "Speaker Amplifier INL", "LOUT2", 75 "Speaker Amplifier INR", "ROUT2", 76 "Speaker", "Speaker Amplifier OUTL", 77 "Speaker", "Speaker Amplifier OUTR", 78 "Headphones Amplifier INL", "LOUT1", 79 "Headphones Amplifier INR", "ROUT1", 80 "Headphones", "Headphones Amplifier OUTL", 81 "Headphones", "Headphones Amplifier OUTR", 82 "LINPUT1", "Onboard Microphone", 83 "RINPUT1", "Onboard Microphone", 84 "LINPUT2", "Microphone Jack", 85 "RINPUT2", "Microphone Jack"; 86 simple-audio-card,widgets = 87 "Microphone", "Microphone Jack", 88 "Microphone", "Onboard Microphone", 89 "Headphone", "Headphones", 90 "Speaker", "Speaker"; 91 92 simple-audio-card,cpu { 93 sound-dai = <&i2s0_8ch>; 94 }; 95 96 masterdai: simple-audio-card,codec { 97 sound-dai = <&es8388>; 98 system-clock-frequency = <12288000>; 99 }; 100 }; 101 102 amp_headphone: headphone-amplifier { 103 compatible = "simple-audio-amplifier"; 104 enable-gpios = <&gpio1 RK_PD2 GPIO_ACTIVE_HIGH>; 105 pinctrl-names = "default"; 106 pinctrl-0 = <&headphone_amplifier_en>; 107 sound-name-prefix = "Headphones Amplifier"; 108 }; 109 110 amp_speaker: speaker-amplifier { 111 compatible = "simple-audio-amplifier"; 112 enable-gpios = <&gpio1 RK_PD3 GPIO_ACTIVE_HIGH>; 113 pinctrl-names = "default"; 114 pinctrl-0 = <&speaker_amplifier_en>; 115 sound-name-prefix = "Speaker Amplifier"; 116 }; 117 118 backlight: backlight { 119 compatible = "pwm-backlight"; 120 power-supply = <&vcc12v_dcin>; 121 pwms = <&pwm2 0 25000 0>; 122 }; 123 124 hdmi0-con { 125 compatible = "hdmi-connector"; 126 type = "a"; 127 128 port { 129 hdmi0_con_in: endpoint { 130 remote-endpoint = <&hdmi0_out_con>; 131 }; 132 }; 133 }; 134 135 pcie20_avdd0v85: pcie20-avdd0v85-regulator { 136 compatible = "regulator-fixed"; 137 regulator-name = "pcie20_avdd0v85"; 138 regulator-always-on; 139 regulator-boot-on; 140 regulator-min-microvolt = <850000>; 141 regulator-max-microvolt = <850000>; 142 vin-supply = <&avdd_0v85_s0>; 143 }; 144 145 pcie20_avdd1v8: pcie20-avdd1v8-regulator { 146 compatible = "regulator-fixed"; 147 regulator-name = "pcie20_avdd1v8"; 148 regulator-always-on; 149 regulator-boot-on; 150 regulator-min-microvolt = <1800000>; 151 regulator-max-microvolt = <1800000>; 152 vin-supply = <&avcc_1v8_s0>; 153 }; 154 155 pcie30_avdd0v75: pcie30-avdd0v75-regulator { 156 compatible = "regulator-fixed"; 157 regulator-name = "pcie30_avdd0v75"; 158 regulator-always-on; 159 regulator-boot-on; 160 regulator-min-microvolt = <750000>; 161 regulator-max-microvolt = <750000>; 162 vin-supply = <&avdd_0v75_s0>; 163 }; 164 165 pcie30_avdd1v8: pcie30-avdd1v8-regulator { 166 compatible = "regulator-fixed"; 167 regulator-name = "pcie30_avdd1v8"; 168 regulator-always-on; 169 regulator-boot-on; 170 regulator-min-microvolt = <1800000>; 171 regulator-max-microvolt = <1800000>; 172 vin-supply = <&avcc_1v8_s0>; 173 }; 174 175 vbus5v0_typec: vbus5v0-typec-regulator { 176 compatible = "regulator-fixed"; 177 enable-active-high; 178 gpio = <&gpio4 RK_PD0 GPIO_ACTIVE_HIGH>; 179 pinctrl-names = "default"; 180 pinctrl-0 = <&typec5v_pwren>; 181 regulator-name = "vbus5v0_typec"; 182 regulator-min-microvolt = <5000000>; 183 regulator-max-microvolt = <5000000>; 184 vin-supply = <&vcc5v0_usb>; 185 }; 186 187 vcc12v_dcin: vcc12v-dcin-regulator { 188 compatible = "regulator-fixed"; 189 regulator-name = "vcc12v_dcin"; 190 regulator-always-on; 191 regulator-boot-on; 192 regulator-min-microvolt = <12000000>; 193 regulator-max-microvolt = <12000000>; 194 }; 195 196 vcc3v3_pcie30: vcc3v3-pcie30-regulator { 197 compatible = "regulator-fixed"; 198 regulator-name = "vcc3v3_pcie30"; 199 regulator-min-microvolt = <3300000>; 200 regulator-max-microvolt = <3300000>; 201 enable-active-high; 202 gpios = <&gpio3 RK_PC3 GPIO_ACTIVE_HIGH>; 203 startup-delay-us = <5000>; 204 vin-supply = <&vcc12v_dcin>; 205 pinctrl-names = "default"; 206 pinctrl-0 = <&vcc3v3_pcie30_en>; 207 }; 208 209 vcc5v0_host: vcc5v0-host-regulator { 210 compatible = "regulator-fixed"; 211 regulator-name = "vcc5v0_host"; 212 regulator-boot-on; 213 regulator-always-on; 214 regulator-min-microvolt = <5000000>; 215 regulator-max-microvolt = <5000000>; 216 enable-active-high; 217 gpio = <&gpio4 RK_PB0 GPIO_ACTIVE_HIGH>; 218 pinctrl-names = "default"; 219 pinctrl-0 = <&vcc5v0_host_en>; 220 vin-supply = <&vcc5v0_usb>; 221 }; 222 223 vcc5v0_sys: vcc5v0-sys-regulator { 224 compatible = "regulator-fixed"; 225 regulator-name = "vcc5v0_sys"; 226 regulator-always-on; 227 regulator-boot-on; 228 regulator-min-microvolt = <5000000>; 229 regulator-max-microvolt = <5000000>; 230 vin-supply = <&vcc12v_dcin>; 231 }; 232 233 vcc5v0_usbdcin: vcc5v0-usbdcin-regulator { 234 compatible = "regulator-fixed"; 235 regulator-name = "vcc5v0_usbdcin"; 236 regulator-always-on; 237 regulator-boot-on; 238 regulator-min-microvolt = <5000000>; 239 regulator-max-microvolt = <5000000>; 240 vin-supply = <&vcc12v_dcin>; 241 }; 242 243 vcc5v0_usb: vcc5v0-usb-regulator { 244 compatible = "regulator-fixed"; 245 regulator-name = "vcc5v0_usb"; 246 regulator-always-on; 247 regulator-boot-on; 248 regulator-min-microvolt = <5000000>; 249 regulator-max-microvolt = <5000000>; 250 vin-supply = <&vcc5v0_usbdcin>; 251 }; 252}; 253 254&combphy0_ps { 255 status = "okay"; 256}; 257 258&combphy2_psu { 259 status = "okay"; 260}; 261 262&cpu_b0 { 263 cpu-supply = <&vdd_cpu_big0_s0>; 264}; 265 266&cpu_b1 { 267 cpu-supply = <&vdd_cpu_big0_s0>; 268}; 269 270&cpu_b2 { 271 cpu-supply = <&vdd_cpu_big1_s0>; 272}; 273 274&cpu_b3 { 275 cpu-supply = <&vdd_cpu_big1_s0>; 276}; 277 278&cpu_l0 { 279 cpu-supply = <&vdd_cpu_lit_s0>; 280}; 281 282&cpu_l1 { 283 cpu-supply = <&vdd_cpu_lit_s0>; 284}; 285 286&cpu_l2 { 287 cpu-supply = <&vdd_cpu_lit_s0>; 288}; 289 290&cpu_l3 { 291 cpu-supply = <&vdd_cpu_lit_s0>; 292}; 293 294&gmac0 { 295 clock_in_out = "output"; 296 phy-handle = <&rgmii_phy>; 297 phy-mode = "rgmii-rxid"; 298 pinctrl-0 = <&gmac0_miim 299 &gmac0_tx_bus2 300 &gmac0_rx_bus2 301 &gmac0_rgmii_clk 302 &gmac0_rgmii_bus>; 303 pinctrl-names = "default"; 304 rx_delay = <0x00>; 305 tx_delay = <0x43>; 306 status = "okay"; 307}; 308 309&gpu { 310 mali-supply = <&vdd_gpu_s0>; 311 sram-supply = <&vdd_gpu_mem_s0>; 312 status = "okay"; 313}; 314 315&hdmi0 { 316 status = "okay"; 317}; 318 319&hdmi0_in { 320 hdmi0_in_vp0: endpoint { 321 remote-endpoint = <&vp0_out_hdmi0>; 322 }; 323}; 324 325&hdmi0_out { 326 hdmi0_out_con: endpoint { 327 remote-endpoint = <&hdmi0_con_in>; 328 }; 329}; 330 331&hdptxphy_hdmi0 { 332 status = "okay"; 333}; 334 335&i2c2 { 336 status = "okay"; 337 338 usbc0: usb-typec@22 { 339 compatible = "fcs,fusb302"; 340 reg = <0x22>; 341 interrupt-parent = <&gpio3>; 342 interrupts = <RK_PB4 IRQ_TYPE_LEVEL_LOW>; 343 pinctrl-names = "default"; 344 pinctrl-0 = <&usbc0_int>; 345 vbus-supply = <&vbus5v0_typec>; 346 status = "okay"; 347 348 usb_con: connector { 349 compatible = "usb-c-connector"; 350 label = "USB-C"; 351 data-role = "dual"; 352 op-sink-microwatt = <1000000>; 353 power-role = "dual"; 354 sink-pdos = 355 <PDO_FIXED(5000, 1000, PDO_FIXED_USB_COMM)>; 356 source-pdos = 357 <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>; 358 try-power-role = "source"; 359 360 ports { 361 #address-cells = <1>; 362 #size-cells = <0>; 363 364 port@0 { 365 reg = <0>; 366 367 usbc0_orien_sw: endpoint { 368 remote-endpoint = <&usbdp_phy0_orientation_switch>; 369 }; 370 }; 371 372 port@1 { 373 reg = <1>; 374 375 usbc0_role_sw: endpoint { 376 remote-endpoint = <&dwc3_0_role_switch>; 377 }; 378 }; 379 380 port@2 { 381 reg = <2>; 382 383 dp_altmode_mux: endpoint { 384 remote-endpoint = <&usbdp_phy0_dp_altmode_mux>; 385 }; 386 }; 387 }; 388 }; 389 }; 390 391 hym8563: rtc@51 { 392 compatible = "haoyu,hym8563"; 393 reg = <0x51>; 394 #clock-cells = <0>; 395 clock-output-names = "hym8563"; 396 pinctrl-names = "default"; 397 pinctrl-0 = <&hym8563_int>; 398 interrupt-parent = <&gpio0>; 399 interrupts = <RK_PD4 IRQ_TYPE_LEVEL_LOW>; 400 wakeup-source; 401 }; 402}; 403 404&i2c7 { 405 status = "okay"; 406 407 es8388: audio-codec@11 { 408 compatible = "everest,es8388"; 409 reg = <0x11>; 410 clocks = <&cru I2S0_8CH_MCLKOUT>; 411 assigned-clocks = <&cru I2S0_8CH_MCLKOUT>; 412 assigned-clock-rates = <12288000>; 413 AVDD-supply = <&avcc_1v8_codec_s0>; 414 DVDD-supply = <&avcc_1v8_codec_s0>; 415 HPVDD-supply = <&vcc_3v3_s0>; 416 PVDD-supply = <&vcc_3v3_s0>; 417 #sound-dai-cells = <0>; 418 }; 419}; 420 421&i2s0_8ch { 422 pinctrl-0 = <&i2s0_lrck 423 &i2s0_mclk 424 &i2s0_sclk 425 &i2s0_sdi0 426 &i2s0_sdo0>; 427 status = "okay"; 428}; 429 430&mdio0 { 431 rgmii_phy: ethernet-phy@1 { 432 /* RTL8211F */ 433 compatible = "ethernet-phy-id001c.c916"; 434 reg = <0x1>; 435 pinctrl-names = "default"; 436 pinctrl-0 = <&rtl8211f_rst>; 437 reset-assert-us = <20000>; 438 reset-deassert-us = <100000>; 439 reset-gpios = <&gpio4 RK_PB3 GPIO_ACTIVE_LOW>; 440 }; 441}; 442 443&pcie2x1l1 { 444 reset-gpios = <&gpio4 RK_PA2 GPIO_ACTIVE_HIGH>; 445 pinctrl-names = "default"; 446 pinctrl-0 = <&pcie2_1_rst>, <&rtl8111_isolate>; 447 status = "okay"; 448}; 449 450&pcie30phy { 451 status = "okay"; 452}; 453 454&pcie3x4 { 455 pinctrl-names = "default"; 456 pinctrl-0 = <&pcie3_reset>; 457 reset-gpios = <&gpio4 RK_PB6 GPIO_ACTIVE_HIGH>; 458 vpcie3v3-supply = <&vcc3v3_pcie30>; 459 status = "okay"; 460}; 461 462&pinctrl { 463 audio { 464 hp_detect: headphone-detect { 465 rockchip,pins = <1 RK_PD5 RK_FUNC_GPIO &pcfg_pull_none>; 466 }; 467 468 headphone_amplifier_en: headphone-amplifier-en { 469 rockchip,pins = <1 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>; 470 }; 471 472 speaker_amplifier_en: speaker-amplifier-en { 473 rockchip,pins = <1 RK_PD3 RK_FUNC_GPIO &pcfg_pull_none>; 474 }; 475 }; 476 477 rtl8111 { 478 rtl8111_isolate: rtl8111-isolate { 479 rockchip,pins = <1 RK_PA4 RK_FUNC_GPIO &pcfg_pull_up>; 480 }; 481 }; 482 483 rtl8211f { 484 rtl8211f_rst: rtl8211f-rst { 485 rockchip,pins = <4 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>; 486 }; 487 488 }; 489 490 hym8563 { 491 hym8563_int: hym8563-int { 492 rockchip,pins = <0 RK_PD4 RK_FUNC_GPIO &pcfg_pull_up>; 493 }; 494 }; 495 496 pcie2 { 497 pcie2_1_rst: pcie2-1-rst { 498 rockchip,pins = <4 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>; 499 }; 500 }; 501 502 pcie3 { 503 pcie3_reset: pcie3-reset { 504 rockchip,pins = <4 RK_PB6 RK_FUNC_GPIO &pcfg_pull_none>; 505 }; 506 507 vcc3v3_pcie30_en: vcc3v3-pcie30-en { 508 rockchip,pins = <3 RK_PC3 RK_FUNC_GPIO &pcfg_pull_none>; 509 }; 510 }; 511 512 usb { 513 vcc5v0_host_en: vcc5v0-host-en { 514 rockchip,pins = <4 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>; 515 }; 516 }; 517 518 usb-typec { 519 typec5v_pwren: typec5v-pwren { 520 rockchip,pins = <4 RK_PD0 RK_FUNC_GPIO &pcfg_pull_none>; 521 }; 522 523 usbc0_int: usbc0-int { 524 rockchip,pins = <3 RK_PB4 RK_FUNC_GPIO &pcfg_pull_up>; 525 }; 526 }; 527}; 528 529&pwm2 { 530 status = "okay"; 531}; 532 533&saradc { 534 vref-supply = <&vcc_1v8_s0>; 535 status = "okay"; 536}; 537 538&sdhci { 539 bus-width = <8>; 540 no-sdio; 541 no-sd; 542 non-removable; 543 mmc-hs400-1_8v; 544 mmc-hs400-enhanced-strobe; 545 status = "okay"; 546}; 547 548&spi2 { 549 status = "okay"; 550 assigned-clocks = <&cru CLK_SPI2>; 551 assigned-clock-rates = <200000000>; 552 num-cs = <2>; 553 554 pmic@0 { 555 compatible = "rockchip,rk806"; 556 reg = <0x0>; 557 #gpio-cells = <2>; 558 gpio-controller; 559 interrupt-parent = <&gpio0>; 560 interrupts = <7 IRQ_TYPE_LEVEL_LOW>; 561 pinctrl-0 = <&pmic_pins>, <&rk806_dvs1_null>, 562 <&rk806_dvs2_null>, <&rk806_dvs3_null>; 563 pinctrl-names = "default"; 564 spi-max-frequency = <1000000>; 565 system-power-controller; 566 567 vcc1-supply = <&vcc5v0_sys>; 568 vcc2-supply = <&vcc5v0_sys>; 569 vcc3-supply = <&vcc5v0_sys>; 570 vcc4-supply = <&vcc5v0_sys>; 571 vcc5-supply = <&vcc5v0_sys>; 572 vcc6-supply = <&vcc5v0_sys>; 573 vcc7-supply = <&vcc5v0_sys>; 574 vcc8-supply = <&vcc5v0_sys>; 575 vcc9-supply = <&vcc5v0_sys>; 576 vcc10-supply = <&vcc5v0_sys>; 577 vcc11-supply = <&vcc_2v0_pldo_s3>; 578 vcc12-supply = <&vcc5v0_sys>; 579 vcc13-supply = <&vcc5v0_sys>; 580 vcc14-supply = <&vcc_1v1_nldo_s3>; 581 vcca-supply = <&vcc5v0_sys>; 582 583 rk806_dvs1_null: dvs1-null-pins { 584 pins = "gpio_pwrctrl1"; 585 function = "pin_fun0"; 586 }; 587 588 rk806_dvs2_null: dvs2-null-pins { 589 pins = "gpio_pwrctrl2"; 590 function = "pin_fun0"; 591 }; 592 593 rk806_dvs3_null: dvs3-null-pins { 594 pins = "gpio_pwrctrl3"; 595 function = "pin_fun0"; 596 }; 597 598 599 regulators { 600 vdd_gpu_s0: dcdc-reg1 { 601 /* regulator coupling requires always-on */ 602 regulator-always-on; 603 regulator-boot-on; 604 regulator-min-microvolt = <550000>; 605 regulator-max-microvolt = <950000>; 606 regulator-ramp-delay = <12500>; 607 regulator-name = "vdd_gpu_s0"; 608 regulator-enable-ramp-delay = <400>; 609 regulator-coupled-with = <&vdd_gpu_mem_s0>; 610 regulator-coupled-max-spread = <10000>; 611 regulator-state-mem { 612 regulator-off-in-suspend; 613 }; 614 }; 615 616 vdd_npu_s0: dcdc-reg2 { 617 regulator-always-on; 618 regulator-boot-on; 619 regulator-min-microvolt = <550000>; 620 regulator-max-microvolt = <950000>; 621 regulator-ramp-delay = <12500>; 622 regulator-name = "vdd_npu_s0"; 623 regulator-state-mem { 624 regulator-off-in-suspend; 625 }; 626 }; 627 628 vdd_log_s0: dcdc-reg3 { 629 regulator-always-on; 630 regulator-boot-on; 631 regulator-min-microvolt = <675000>; 632 regulator-max-microvolt = <750000>; 633 regulator-ramp-delay = <12500>; 634 regulator-name = "vdd_log_s0"; 635 regulator-state-mem { 636 regulator-off-in-suspend; 637 regulator-suspend-microvolt = <750000>; 638 }; 639 }; 640 641 vdd_vdenc_s0: dcdc-reg4 { 642 regulator-always-on; 643 regulator-boot-on; 644 regulator-min-microvolt = <550000>; 645 regulator-max-microvolt = <950000>; 646 regulator-ramp-delay = <12500>; 647 regulator-name = "vdd_vdenc_s0"; 648 regulator-state-mem { 649 regulator-off-in-suspend; 650 }; 651 652 }; 653 654 vdd_gpu_mem_s0: dcdc-reg5 { 655 /* regulator coupling requires always-on */ 656 regulator-always-on; 657 regulator-boot-on; 658 regulator-min-microvolt = <675000>; 659 regulator-max-microvolt = <950000>; 660 regulator-ramp-delay = <12500>; 661 regulator-enable-ramp-delay = <400>; 662 regulator-name = "vdd_gpu_mem_s0"; 663 regulator-coupled-with = <&vdd_gpu_s0>; 664 regulator-coupled-max-spread = <10000>; 665 regulator-state-mem { 666 regulator-off-in-suspend; 667 }; 668 669 }; 670 671 vdd_npu_mem_s0: dcdc-reg6 { 672 regulator-always-on; 673 regulator-boot-on; 674 regulator-min-microvolt = <675000>; 675 regulator-max-microvolt = <950000>; 676 regulator-ramp-delay = <12500>; 677 regulator-name = "vdd_npu_mem_s0"; 678 regulator-state-mem { 679 regulator-off-in-suspend; 680 }; 681 682 }; 683 684 vcc_2v0_pldo_s3: dcdc-reg7 { 685 regulator-always-on; 686 regulator-boot-on; 687 regulator-min-microvolt = <2000000>; 688 regulator-max-microvolt = <2000000>; 689 regulator-ramp-delay = <12500>; 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 vdd_vdenc_mem_s0: dcdc-reg8 { 698 regulator-always-on; 699 regulator-boot-on; 700 regulator-min-microvolt = <675000>; 701 regulator-max-microvolt = <950000>; 702 regulator-ramp-delay = <12500>; 703 regulator-name = "vdd_vdenc_mem_s0"; 704 regulator-state-mem { 705 regulator-off-in-suspend; 706 }; 707 }; 708 709 vdd2_ddr_s3: dcdc-reg9 { 710 regulator-always-on; 711 regulator-boot-on; 712 regulator-name = "vdd2_ddr_s3"; 713 regulator-state-mem { 714 regulator-on-in-suspend; 715 }; 716 }; 717 718 vcc_1v1_nldo_s3: dcdc-reg10 { 719 regulator-always-on; 720 regulator-boot-on; 721 regulator-min-microvolt = <1100000>; 722 regulator-max-microvolt = <1100000>; 723 regulator-ramp-delay = <12500>; 724 regulator-name = "vcc_1v1_nldo_s3"; 725 regulator-state-mem { 726 regulator-on-in-suspend; 727 regulator-suspend-microvolt = <1100000>; 728 }; 729 }; 730 731 avcc_1v8_s0: pldo-reg1 { 732 regulator-always-on; 733 regulator-boot-on; 734 regulator-min-microvolt = <1800000>; 735 regulator-max-microvolt = <1800000>; 736 regulator-ramp-delay = <12500>; 737 regulator-name = "avcc_1v8_s0"; 738 regulator-state-mem { 739 regulator-off-in-suspend; 740 }; 741 }; 742 743 vdd1_1v8_ddr_s3: pldo-reg2 { 744 regulator-always-on; 745 regulator-boot-on; 746 regulator-min-microvolt = <1800000>; 747 regulator-max-microvolt = <1800000>; 748 regulator-ramp-delay = <12500>; 749 regulator-name = "vdd1_1v8_ddr_s3"; 750 regulator-state-mem { 751 regulator-on-in-suspend; 752 regulator-suspend-microvolt = <1800000>; 753 }; 754 }; 755 756 avcc_1v8_codec_s0: pldo-reg3 { 757 regulator-always-on; 758 regulator-boot-on; 759 regulator-min-microvolt = <1800000>; 760 regulator-max-microvolt = <1800000>; 761 regulator-ramp-delay = <12500>; 762 regulator-name = "avcc_1v8_codec_s0"; 763 regulator-state-mem { 764 regulator-off-in-suspend; 765 }; 766 }; 767 768 vcc_3v3_s3: pldo-reg4 { 769 regulator-always-on; 770 regulator-boot-on; 771 regulator-min-microvolt = <3300000>; 772 regulator-max-microvolt = <3300000>; 773 regulator-ramp-delay = <12500>; 774 regulator-name = "vcc_3v3_s3"; 775 regulator-state-mem { 776 regulator-on-in-suspend; 777 regulator-suspend-microvolt = <3300000>; 778 }; 779 }; 780 781 vccio_sd_s0: pldo-reg5 { 782 regulator-always-on; 783 regulator-boot-on; 784 regulator-min-microvolt = <1800000>; 785 regulator-max-microvolt = <3300000>; 786 regulator-ramp-delay = <12500>; 787 regulator-name = "vccio_sd_s0"; 788 regulator-state-mem { 789 regulator-off-in-suspend; 790 }; 791 }; 792 793 vccio_1v8_s3: pldo-reg6 { 794 regulator-always-on; 795 regulator-boot-on; 796 regulator-min-microvolt = <1800000>; 797 regulator-max-microvolt = <1800000>; 798 regulator-ramp-delay = <12500>; 799 regulator-name = "vccio_1v8_s3"; 800 regulator-state-mem { 801 regulator-on-in-suspend; 802 regulator-suspend-microvolt = <1800000>; 803 }; 804 }; 805 806 vdd_0v75_s3: nldo-reg1 { 807 regulator-always-on; 808 regulator-boot-on; 809 regulator-min-microvolt = <750000>; 810 regulator-max-microvolt = <750000>; 811 regulator-ramp-delay = <12500>; 812 regulator-name = "vdd_0v75_s3"; 813 regulator-state-mem { 814 regulator-on-in-suspend; 815 regulator-suspend-microvolt = <750000>; 816 }; 817 }; 818 819 vdd2l_0v9_ddr_s3: nldo-reg2 { 820 regulator-always-on; 821 regulator-boot-on; 822 regulator-min-microvolt = <900000>; 823 regulator-max-microvolt = <900000>; 824 regulator-name = "vdd2l_0v9_ddr_s3"; 825 regulator-state-mem { 826 regulator-on-in-suspend; 827 regulator-suspend-microvolt = <900000>; 828 }; 829 }; 830 831 vdd_0v75_hdmi_edp_s0: nldo-reg3 { 832 regulator-always-on; 833 regulator-boot-on; 834 regulator-min-microvolt = <750000>; 835 regulator-max-microvolt = <750000>; 836 regulator-name = "vdd_0v75_hdmi_edp_s0"; 837 regulator-state-mem { 838 regulator-off-in-suspend; 839 }; 840 }; 841 842 avdd_0v75_s0: nldo-reg4 { 843 regulator-always-on; 844 regulator-boot-on; 845 regulator-min-microvolt = <750000>; 846 regulator-max-microvolt = <750000>; 847 regulator-name = "avdd_0v75_s0"; 848 regulator-state-mem { 849 regulator-off-in-suspend; 850 }; 851 }; 852 853 vdd_0v85_s0: nldo-reg5 { 854 regulator-always-on; 855 regulator-boot-on; 856 regulator-min-microvolt = <850000>; 857 regulator-max-microvolt = <850000>; 858 regulator-name = "vdd_0v85_s0"; 859 regulator-state-mem { 860 regulator-off-in-suspend; 861 }; 862 }; 863 }; 864 }; 865 866 pmic@1 { 867 compatible = "rockchip,rk806"; 868 reg = <0x01>; 869 #gpio-cells = <2>; 870 gpio-controller; 871 interrupt-parent = <&gpio0>; 872 interrupts = <7 IRQ_TYPE_LEVEL_LOW>; 873 pinctrl-0 = <&rk806_slave_dvs1_null>, <&rk806_slave_dvs2_null>, 874 <&rk806_slave_dvs3_null>; 875 pinctrl-names = "default"; 876 spi-max-frequency = <1000000>; 877 878 vcc1-supply = <&vcc5v0_sys>; 879 vcc2-supply = <&vcc5v0_sys>; 880 vcc3-supply = <&vcc5v0_sys>; 881 vcc4-supply = <&vcc5v0_sys>; 882 vcc5-supply = <&vcc5v0_sys>; 883 vcc6-supply = <&vcc5v0_sys>; 884 vcc7-supply = <&vcc5v0_sys>; 885 vcc8-supply = <&vcc5v0_sys>; 886 vcc9-supply = <&vcc5v0_sys>; 887 vcc10-supply = <&vcc5v0_sys>; 888 vcc11-supply = <&vcc_2v0_pldo_s3>; 889 vcc12-supply = <&vcc5v0_sys>; 890 vcc13-supply = <&vcc_1v1_nldo_s3>; 891 vcc14-supply = <&vcc_2v0_pldo_s3>; 892 vcca-supply = <&vcc5v0_sys>; 893 894 rk806_slave_dvs1_null: dvs1-null-pins { 895 pins = "gpio_pwrctrl1"; 896 function = "pin_fun0"; 897 }; 898 899 rk806_slave_dvs2_null: dvs2-null-pins { 900 pins = "gpio_pwrctrl2"; 901 function = "pin_fun0"; 902 }; 903 904 rk806_slave_dvs3_null: dvs3-null-pins { 905 pins = "gpio_pwrctrl3"; 906 function = "pin_fun0"; 907 }; 908 909 regulators { 910 vdd_cpu_big1_s0: dcdc-reg1 { 911 regulator-always-on; 912 regulator-boot-on; 913 regulator-coupled-with = <&vdd_cpu_big1_mem_s0>; 914 regulator-coupled-max-spread = <10000>; 915 regulator-min-microvolt = <550000>; 916 regulator-max-microvolt = <1050000>; 917 regulator-ramp-delay = <12500>; 918 regulator-name = "vdd_cpu_big1_s0"; 919 regulator-state-mem { 920 regulator-off-in-suspend; 921 }; 922 }; 923 924 vdd_cpu_big0_s0: dcdc-reg2 { 925 regulator-always-on; 926 regulator-boot-on; 927 regulator-coupled-with = <&vdd_cpu_big0_mem_s0>; 928 regulator-coupled-max-spread = <10000>; 929 regulator-min-microvolt = <550000>; 930 regulator-max-microvolt = <1050000>; 931 regulator-ramp-delay = <12500>; 932 regulator-name = "vdd_cpu_big0_s0"; 933 regulator-state-mem { 934 regulator-off-in-suspend; 935 }; 936 }; 937 938 vdd_cpu_lit_s0: dcdc-reg3 { 939 regulator-always-on; 940 regulator-boot-on; 941 regulator-coupled-with = <&vdd_cpu_lit_mem_s0>; 942 regulator-coupled-max-spread = <10000>; 943 regulator-min-microvolt = <550000>; 944 regulator-max-microvolt = <950000>; 945 regulator-ramp-delay = <12500>; 946 regulator-name = "vdd_cpu_lit_s0"; 947 regulator-state-mem { 948 regulator-off-in-suspend; 949 }; 950 }; 951 952 vcc_3v3_s0: dcdc-reg4 { 953 regulator-always-on; 954 regulator-boot-on; 955 regulator-min-microvolt = <3300000>; 956 regulator-max-microvolt = <3300000>; 957 regulator-ramp-delay = <12500>; 958 regulator-name = "vcc_3v3_s0"; 959 regulator-state-mem { 960 regulator-off-in-suspend; 961 }; 962 }; 963 964 vdd_cpu_big1_mem_s0: dcdc-reg5 { 965 regulator-always-on; 966 regulator-boot-on; 967 regulator-coupled-with = <&vdd_cpu_big1_s0>; 968 regulator-coupled-max-spread = <10000>; 969 regulator-min-microvolt = <675000>; 970 regulator-max-microvolt = <1050000>; 971 regulator-ramp-delay = <12500>; 972 regulator-name = "vdd_cpu_big1_mem_s0"; 973 regulator-state-mem { 974 regulator-off-in-suspend; 975 }; 976 }; 977 978 979 vdd_cpu_big0_mem_s0: dcdc-reg6 { 980 regulator-always-on; 981 regulator-boot-on; 982 regulator-coupled-with = <&vdd_cpu_big0_s0>; 983 regulator-coupled-max-spread = <10000>; 984 regulator-min-microvolt = <675000>; 985 regulator-max-microvolt = <1050000>; 986 regulator-ramp-delay = <12500>; 987 regulator-name = "vdd_cpu_big0_mem_s0"; 988 regulator-state-mem { 989 regulator-off-in-suspend; 990 }; 991 }; 992 993 vcc_1v8_s0: dcdc-reg7 { 994 regulator-always-on; 995 regulator-boot-on; 996 regulator-min-microvolt = <1800000>; 997 regulator-max-microvolt = <1800000>; 998 regulator-ramp-delay = <12500>; 999 regulator-name = "vcc_1v8_s0"; 1000 regulator-state-mem { 1001 regulator-off-in-suspend; 1002 }; 1003 }; 1004 1005 vdd_cpu_lit_mem_s0: dcdc-reg8 { 1006 regulator-always-on; 1007 regulator-boot-on; 1008 regulator-coupled-with = <&vdd_cpu_lit_s0>; 1009 regulator-coupled-max-spread = <10000>; 1010 regulator-min-microvolt = <675000>; 1011 regulator-max-microvolt = <950000>; 1012 regulator-ramp-delay = <12500>; 1013 regulator-name = "vdd_cpu_lit_mem_s0"; 1014 regulator-state-mem { 1015 regulator-off-in-suspend; 1016 }; 1017 }; 1018 1019 vddq_ddr_s0: dcdc-reg9 { 1020 regulator-always-on; 1021 regulator-boot-on; 1022 regulator-name = "vddq_ddr_s0"; 1023 regulator-state-mem { 1024 regulator-off-in-suspend; 1025 }; 1026 }; 1027 1028 vdd_ddr_s0: dcdc-reg10 { 1029 regulator-always-on; 1030 regulator-boot-on; 1031 regulator-min-microvolt = <675000>; 1032 regulator-max-microvolt = <900000>; 1033 regulator-ramp-delay = <12500>; 1034 regulator-name = "vdd_ddr_s0"; 1035 regulator-state-mem { 1036 regulator-off-in-suspend; 1037 }; 1038 }; 1039 1040 vcc_1v8_cam_s0: pldo-reg1 { 1041 regulator-always-on; 1042 regulator-boot-on; 1043 regulator-min-microvolt = <1800000>; 1044 regulator-max-microvolt = <1800000>; 1045 regulator-ramp-delay = <12500>; 1046 regulator-name = "vcc_1v8_cam_s0"; 1047 regulator-state-mem { 1048 regulator-off-in-suspend; 1049 }; 1050 }; 1051 1052 avdd1v8_ddr_pll_s0: pldo-reg2 { 1053 regulator-always-on; 1054 regulator-boot-on; 1055 regulator-min-microvolt = <1800000>; 1056 regulator-max-microvolt = <1800000>; 1057 regulator-ramp-delay = <12500>; 1058 regulator-name = "avdd1v8_ddr_pll_s0"; 1059 regulator-state-mem { 1060 regulator-off-in-suspend; 1061 }; 1062 }; 1063 1064 vdd_1v8_pll_s0: pldo-reg3 { 1065 regulator-always-on; 1066 regulator-boot-on; 1067 regulator-min-microvolt = <1800000>; 1068 regulator-max-microvolt = <1800000>; 1069 regulator-ramp-delay = <12500>; 1070 regulator-name = "vdd_1v8_pll_s0"; 1071 regulator-state-mem { 1072 regulator-off-in-suspend; 1073 }; 1074 }; 1075 1076 vcc_3v3_sd_s0: pldo-reg4 { 1077 regulator-always-on; 1078 regulator-boot-on; 1079 regulator-min-microvolt = <3300000>; 1080 regulator-max-microvolt = <3300000>; 1081 regulator-ramp-delay = <12500>; 1082 regulator-name = "vcc_3v3_sd_s0"; 1083 regulator-state-mem { 1084 regulator-off-in-suspend; 1085 }; 1086 }; 1087 1088 vcc_2v8_cam_s0: pldo-reg5 { 1089 regulator-always-on; 1090 regulator-boot-on; 1091 regulator-min-microvolt = <2800000>; 1092 regulator-max-microvolt = <2800000>; 1093 regulator-ramp-delay = <12500>; 1094 regulator-name = "vcc_2v8_cam_s0"; 1095 regulator-state-mem { 1096 regulator-off-in-suspend; 1097 }; 1098 }; 1099 1100 pldo6_s3: pldo-reg6 { 1101 regulator-always-on; 1102 regulator-boot-on; 1103 regulator-min-microvolt = <1800000>; 1104 regulator-max-microvolt = <1800000>; 1105 regulator-name = "pldo6_s3"; 1106 regulator-state-mem { 1107 regulator-on-in-suspend; 1108 regulator-suspend-microvolt = <1800000>; 1109 }; 1110 }; 1111 1112 vdd_0v75_pll_s0: nldo-reg1 { 1113 regulator-always-on; 1114 regulator-boot-on; 1115 regulator-min-microvolt = <750000>; 1116 regulator-max-microvolt = <750000>; 1117 regulator-ramp-delay = <12500>; 1118 regulator-name = "vdd_0v75_pll_s0"; 1119 regulator-state-mem { 1120 regulator-off-in-suspend; 1121 }; 1122 }; 1123 1124 vdd_ddr_pll_s0: nldo-reg2 { 1125 regulator-always-on; 1126 regulator-boot-on; 1127 regulator-min-microvolt = <850000>; 1128 regulator-max-microvolt = <850000>; 1129 regulator-name = "vdd_ddr_pll_s0"; 1130 regulator-state-mem { 1131 regulator-off-in-suspend; 1132 }; 1133 }; 1134 1135 avdd_0v85_s0: nldo-reg3 { 1136 regulator-always-on; 1137 regulator-boot-on; 1138 regulator-min-microvolt = <850000>; 1139 regulator-max-microvolt = <850000>; 1140 regulator-ramp-delay = <12500>; 1141 regulator-name = "avdd_0v85_s0"; 1142 regulator-state-mem { 1143 regulator-off-in-suspend; 1144 }; 1145 }; 1146 1147 avdd_1v2_cam_s0: nldo-reg4 { 1148 regulator-always-on; 1149 regulator-boot-on; 1150 regulator-min-microvolt = <1200000>; 1151 regulator-max-microvolt = <1200000>; 1152 regulator-ramp-delay = <12500>; 1153 regulator-name = "avdd_1v2_cam_s0"; 1154 regulator-state-mem { 1155 regulator-off-in-suspend; 1156 }; 1157 }; 1158 1159 avdd_1v2_s0: nldo-reg5 { 1160 regulator-always-on; 1161 regulator-boot-on; 1162 regulator-min-microvolt = <1200000>; 1163 regulator-max-microvolt = <1200000>; 1164 regulator-ramp-delay = <12500>; 1165 regulator-name = "avdd_1v2_s0"; 1166 regulator-state-mem { 1167 regulator-off-in-suspend; 1168 }; 1169 }; 1170 }; 1171 }; 1172}; 1173 1174&sata0 { 1175 status = "okay"; 1176}; 1177 1178&tsadc { 1179 status = "okay"; 1180}; 1181 1182&u2phy0 { 1183 status = "okay"; 1184}; 1185 1186&u2phy0_otg { 1187 status = "okay"; 1188}; 1189 1190&u2phy1 { 1191 status = "okay"; 1192}; 1193 1194&u2phy1_otg { 1195 status = "okay"; 1196}; 1197 1198&u2phy2 { 1199 status = "okay"; 1200}; 1201 1202&u2phy2_host { 1203 phy-supply = <&vcc5v0_host>; 1204 status = "okay"; 1205}; 1206 1207&u2phy3 { 1208 status = "okay"; 1209}; 1210 1211&u2phy3_host { 1212 phy-supply = <&vcc5v0_host>; 1213 status = "okay"; 1214}; 1215 1216&uart2 { 1217 pinctrl-0 = <&uart2m0_xfer>; 1218 status = "okay"; 1219}; 1220 1221&usb_host0_ehci { 1222 status = "okay"; 1223}; 1224 1225&usb_host0_ohci { 1226 status = "okay"; 1227}; 1228 1229&usb_host1_ehci { 1230 status = "okay"; 1231}; 1232 1233&usb_host1_ohci { 1234 status = "okay"; 1235}; 1236 1237&usbdp_phy0 { 1238 mode-switch; 1239 orientation-switch; 1240 sbu1-dc-gpios = <&gpio4 RK_PA6 GPIO_ACTIVE_HIGH>; 1241 sbu2-dc-gpios = <&gpio4 RK_PA7 GPIO_ACTIVE_HIGH>; 1242 status = "okay"; 1243 1244 port { 1245 #address-cells = <1>; 1246 #size-cells = <0>; 1247 1248 usbdp_phy0_orientation_switch: endpoint@0 { 1249 reg = <0>; 1250 remote-endpoint = <&usbc0_orien_sw>; 1251 }; 1252 1253 usbdp_phy0_dp_altmode_mux: endpoint@1 { 1254 reg = <1>; 1255 remote-endpoint = <&dp_altmode_mux>; 1256 }; 1257 }; 1258}; 1259 1260&usbdp_phy1 { 1261 /* 1262 * USBDP PHY1 is wired to a female USB3 Type-A connector. Additionally 1263 * the differential pairs 2+3 and the aux channel are wired to a RTD2166, 1264 * which converts the DP signal into VGA. This is exposed on the 1265 * board via a female VGA connector. 1266 */ 1267 rockchip,dp-lane-mux = <2 3>; 1268 status = "okay"; 1269}; 1270 1271&usb_host0_xhci { 1272 dr_mode = "otg"; 1273 usb-role-switch; 1274 status = "okay"; 1275 1276 port { 1277 #address-cells = <1>; 1278 #size-cells = <0>; 1279 1280 dwc3_0_role_switch: endpoint@0 { 1281 reg = <0>; 1282 remote-endpoint = <&usbc0_role_sw>; 1283 }; 1284 }; 1285}; 1286 1287&usb_host1_xhci { 1288 dr_mode = "host"; 1289 status = "okay"; 1290}; 1291 1292&vop_mmu { 1293 status = "okay"; 1294}; 1295 1296&vop { 1297 status = "okay"; 1298}; 1299 1300&vp0 { 1301 vp0_out_hdmi0: endpoint@ROCKCHIP_VOP2_EP_HDMI0 { 1302 reg = <ROCKCHIP_VOP2_EP_HDMI0>; 1303 remote-endpoint = <&hdmi0_in_vp0>; 1304 }; 1305}; 1306