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: regulator-pcie20-avdd0v85 { 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: regulator-pcie20-avdd1v8 { 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: regulator-pcie30-avdd0v75 { 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: regulator-pcie30-avdd1v8 { 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: regulator-vbus5v0-typec { 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: regulator-vcc12v-dcin { 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: regulator-vcc3v3-pcie30 { 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 vcc3v3_pciewl_vbat: regulator-vcc3v3-pciewl-vbat { 210 compatible = "regulator-fixed"; 211 regulator-always-on; 212 regulator-boot-on; 213 regulator-min-microvolt = <3300000>; 214 regulator-max-microvolt = <3300000>; 215 regulator-name = "wlan-vbat"; 216 vin-supply = <&vcc_3v3_s0>; 217 }; 218 219 vcc3v3_wlan: regulator-vcc3v3-wlan { 220 compatible = "regulator-fixed"; 221 enable-active-high; 222 gpios = <&gpio3 RK_PB1 GPIO_ACTIVE_HIGH>; 223 pinctrl-names = "default"; 224 pinctrl-0 = <&wifi_pwren>; 225 regulator-min-microvolt = <3300000>; 226 regulator-max-microvolt = <3300000>; 227 regulator-name = "wlan-en"; 228 vin-supply = <&vcc3v3_pciewl_vbat>; 229 }; 230 231 vcc5v0_host: regulator-vcc5v0-host { 232 compatible = "regulator-fixed"; 233 regulator-name = "vcc5v0_host"; 234 regulator-boot-on; 235 regulator-always-on; 236 regulator-min-microvolt = <5000000>; 237 regulator-max-microvolt = <5000000>; 238 enable-active-high; 239 gpio = <&gpio4 RK_PB0 GPIO_ACTIVE_HIGH>; 240 pinctrl-names = "default"; 241 pinctrl-0 = <&vcc5v0_host_en>; 242 vin-supply = <&vcc5v0_usb>; 243 }; 244 245 vcc5v0_sys: regulator-vcc5v0-sys { 246 compatible = "regulator-fixed"; 247 regulator-name = "vcc5v0_sys"; 248 regulator-always-on; 249 regulator-boot-on; 250 regulator-min-microvolt = <5000000>; 251 regulator-max-microvolt = <5000000>; 252 vin-supply = <&vcc12v_dcin>; 253 }; 254 255 vcc5v0_usbdcin: regulator-vcc5v0-usbdcin { 256 compatible = "regulator-fixed"; 257 regulator-name = "vcc5v0_usbdcin"; 258 regulator-always-on; 259 regulator-boot-on; 260 regulator-min-microvolt = <5000000>; 261 regulator-max-microvolt = <5000000>; 262 vin-supply = <&vcc12v_dcin>; 263 }; 264 265 vcc5v0_usb: regulator-vcc5v0-usb { 266 compatible = "regulator-fixed"; 267 regulator-name = "vcc5v0_usb"; 268 regulator-always-on; 269 regulator-boot-on; 270 regulator-min-microvolt = <5000000>; 271 regulator-max-microvolt = <5000000>; 272 vin-supply = <&vcc5v0_usbdcin>; 273 }; 274 275 vccio_wl: regulator-vccio-wl { 276 compatible = "regulator-fixed"; 277 regulator-always-on; 278 regulator-boot-on; 279 regulator-min-microvolt = <1800000>; 280 regulator-max-microvolt = <1800000>; 281 regulator-name = "wlan-vddio"; 282 vin-supply = <&vcc_1v8_s0>; 283 }; 284}; 285 286&combphy0_ps { 287 status = "okay"; 288}; 289 290&combphy1_ps { 291 status = "okay"; 292}; 293 294&combphy2_psu { 295 status = "okay"; 296}; 297 298&cpu_b0 { 299 cpu-supply = <&vdd_cpu_big0_s0>; 300}; 301 302&cpu_b1 { 303 cpu-supply = <&vdd_cpu_big0_s0>; 304}; 305 306&cpu_b2 { 307 cpu-supply = <&vdd_cpu_big1_s0>; 308}; 309 310&cpu_b3 { 311 cpu-supply = <&vdd_cpu_big1_s0>; 312}; 313 314&cpu_l0 { 315 cpu-supply = <&vdd_cpu_lit_s0>; 316}; 317 318&cpu_l1 { 319 cpu-supply = <&vdd_cpu_lit_s0>; 320}; 321 322&cpu_l2 { 323 cpu-supply = <&vdd_cpu_lit_s0>; 324}; 325 326&cpu_l3 { 327 cpu-supply = <&vdd_cpu_lit_s0>; 328}; 329 330&gmac0 { 331 clock_in_out = "output"; 332 phy-handle = <&rgmii_phy>; 333 phy-mode = "rgmii-rxid"; 334 pinctrl-0 = <&gmac0_miim 335 &gmac0_tx_bus2 336 &gmac0_rx_bus2 337 &gmac0_rgmii_clk 338 &gmac0_rgmii_bus>; 339 pinctrl-names = "default"; 340 rx_delay = <0x00>; 341 tx_delay = <0x43>; 342 status = "okay"; 343}; 344 345&gpu { 346 mali-supply = <&vdd_gpu_s0>; 347 sram-supply = <&vdd_gpu_mem_s0>; 348 status = "okay"; 349}; 350 351&hdmi0 { 352 status = "okay"; 353}; 354 355&hdmi0_in { 356 hdmi0_in_vp0: endpoint { 357 remote-endpoint = <&vp0_out_hdmi0>; 358 }; 359}; 360 361&hdmi0_out { 362 hdmi0_out_con: endpoint { 363 remote-endpoint = <&hdmi0_con_in>; 364 }; 365}; 366 367&hdptxphy_hdmi0 { 368 status = "okay"; 369}; 370 371&i2c2 { 372 status = "okay"; 373 374 usbc0: usb-typec@22 { 375 compatible = "fcs,fusb302"; 376 reg = <0x22>; 377 interrupt-parent = <&gpio3>; 378 interrupts = <RK_PB4 IRQ_TYPE_LEVEL_LOW>; 379 pinctrl-names = "default"; 380 pinctrl-0 = <&usbc0_int>; 381 vbus-supply = <&vbus5v0_typec>; 382 status = "okay"; 383 384 usb_con: connector { 385 compatible = "usb-c-connector"; 386 label = "USB-C"; 387 data-role = "dual"; 388 op-sink-microwatt = <1000000>; 389 power-role = "dual"; 390 sink-pdos = 391 <PDO_FIXED(5000, 1000, PDO_FIXED_USB_COMM)>; 392 source-pdos = 393 <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>; 394 try-power-role = "source"; 395 396 ports { 397 #address-cells = <1>; 398 #size-cells = <0>; 399 400 port@0 { 401 reg = <0>; 402 403 usbc0_orien_sw: endpoint { 404 remote-endpoint = <&usbdp_phy0_orientation_switch>; 405 }; 406 }; 407 408 port@1 { 409 reg = <1>; 410 411 usbc0_role_sw: endpoint { 412 remote-endpoint = <&dwc3_0_role_switch>; 413 }; 414 }; 415 416 port@2 { 417 reg = <2>; 418 419 dp_altmode_mux: endpoint { 420 remote-endpoint = <&usbdp_phy0_dp_altmode_mux>; 421 }; 422 }; 423 }; 424 }; 425 }; 426 427 hym8563: rtc@51 { 428 compatible = "haoyu,hym8563"; 429 reg = <0x51>; 430 #clock-cells = <0>; 431 clock-output-names = "hym8563"; 432 pinctrl-names = "default"; 433 pinctrl-0 = <&hym8563_int>; 434 interrupt-parent = <&gpio0>; 435 interrupts = <RK_PD4 IRQ_TYPE_LEVEL_LOW>; 436 wakeup-source; 437 }; 438}; 439 440&i2c7 { 441 status = "okay"; 442 443 es8388: audio-codec@11 { 444 compatible = "everest,es8388"; 445 reg = <0x11>; 446 clocks = <&cru I2S0_8CH_MCLKOUT>; 447 assigned-clocks = <&cru I2S0_8CH_MCLKOUT>; 448 assigned-clock-rates = <12288000>; 449 AVDD-supply = <&avcc_1v8_codec_s0>; 450 DVDD-supply = <&avcc_1v8_codec_s0>; 451 HPVDD-supply = <&vcc_3v3_s0>; 452 PVDD-supply = <&vcc_3v3_s0>; 453 #sound-dai-cells = <0>; 454 }; 455}; 456 457&i2s0_8ch { 458 pinctrl-0 = <&i2s0_lrck 459 &i2s0_mclk 460 &i2s0_sclk 461 &i2s0_sdi0 462 &i2s0_sdo0>; 463 status = "okay"; 464}; 465 466&mdio0 { 467 rgmii_phy: ethernet-phy@1 { 468 /* RTL8211F */ 469 compatible = "ethernet-phy-id001c.c916"; 470 reg = <0x1>; 471 pinctrl-names = "default"; 472 pinctrl-0 = <&rtl8211f_rst>; 473 reset-assert-us = <20000>; 474 reset-deassert-us = <100000>; 475 reset-gpios = <&gpio4 RK_PB3 GPIO_ACTIVE_LOW>; 476 }; 477}; 478 479&pcie2x1l0 { 480 pinctrl-names = "default"; 481 pinctrl-0 = <&pcie2_0_rst>, <&pcie2_0_wake>, <&pcie2_0_clkreq>, <&wifi_host_wake_irq>; 482 reset-gpios = <&gpio4 RK_PA5 GPIO_ACTIVE_HIGH>; 483 vpcie3v3-supply = <&vcc3v3_wlan>; 484 status = "okay"; 485 486 pcie@0,0 { 487 reg = <0x200000 0 0 0 0>; 488 #address-cells = <3>; 489 #size-cells = <2>; 490 ranges; 491 device_type = "pci"; 492 bus-range = <0x20 0x2f>; 493 494 wifi: wifi@0,0 { 495 compatible = "pci14e4,449d"; 496 reg = <0x210000 0 0 0 0>; 497 clocks = <&hym8563>; 498 clock-names = "lpo"; 499 }; 500 }; 501}; 502 503&pcie2x1l1 { 504 reset-gpios = <&gpio4 RK_PA2 GPIO_ACTIVE_HIGH>; 505 pinctrl-names = "default"; 506 pinctrl-0 = <&pcie2_1_rst>, <&rtl8111_isolate>; 507 status = "okay"; 508}; 509 510&pcie30phy { 511 status = "okay"; 512}; 513 514&pcie3x4 { 515 pinctrl-names = "default"; 516 pinctrl-0 = <&pcie3_reset>; 517 reset-gpios = <&gpio4 RK_PB6 GPIO_ACTIVE_HIGH>; 518 vpcie3v3-supply = <&vcc3v3_pcie30>; 519 status = "okay"; 520}; 521 522&pinctrl { 523 audio { 524 hp_detect: headphone-detect { 525 rockchip,pins = <1 RK_PD5 RK_FUNC_GPIO &pcfg_pull_none>; 526 }; 527 528 headphone_amplifier_en: headphone-amplifier-en { 529 rockchip,pins = <1 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>; 530 }; 531 532 speaker_amplifier_en: speaker-amplifier-en { 533 rockchip,pins = <1 RK_PD3 RK_FUNC_GPIO &pcfg_pull_none>; 534 }; 535 }; 536 537 rtl8111 { 538 rtl8111_isolate: rtl8111-isolate { 539 rockchip,pins = <1 RK_PA4 RK_FUNC_GPIO &pcfg_pull_up>; 540 }; 541 }; 542 543 rtl8211f { 544 rtl8211f_rst: rtl8211f-rst { 545 rockchip,pins = <4 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>; 546 }; 547 548 }; 549 550 hym8563 { 551 hym8563_int: hym8563-int { 552 rockchip,pins = <0 RK_PD4 RK_FUNC_GPIO &pcfg_pull_up>; 553 }; 554 }; 555 556 pcie2 { 557 pcie2_0_rst: pcie2-0-rst { 558 rockchip,pins = <4 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>; 559 }; 560 561 pcie2_0_wake: pcie2-0-wake { 562 rockchip,pins = <4 RK_PA4 4 &pcfg_pull_none>; 563 }; 564 565 pcie2_0_clkreq: pcie2-0-clkreq { 566 rockchip,pins = <4 RK_PA3 4 &pcfg_pull_none>; 567 }; 568 569 pcie2_1_rst: pcie2-1-rst { 570 rockchip,pins = <4 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>; 571 }; 572 }; 573 574 pcie3 { 575 pcie3_reset: pcie3-reset { 576 rockchip,pins = <4 RK_PB6 RK_FUNC_GPIO &pcfg_pull_none>; 577 }; 578 579 vcc3v3_pcie30_en: vcc3v3-pcie30-en { 580 rockchip,pins = <3 RK_PC3 RK_FUNC_GPIO &pcfg_pull_none>; 581 }; 582 }; 583 584 usb { 585 vcc5v0_host_en: vcc5v0-host-en { 586 rockchip,pins = <4 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>; 587 }; 588 }; 589 590 usb-typec { 591 typec5v_pwren: typec5v-pwren { 592 rockchip,pins = <4 RK_PD0 RK_FUNC_GPIO &pcfg_pull_none>; 593 }; 594 595 usbc0_int: usbc0-int { 596 rockchip,pins = <3 RK_PB4 RK_FUNC_GPIO &pcfg_pull_up>; 597 }; 598 }; 599 600 wlan { 601 wifi_host_wake_irq: wifi-host-wake-irq { 602 rockchip,pins = <3 RK_PA7 RK_FUNC_GPIO &pcfg_pull_down>; 603 }; 604 605 wifi_pwren: wifi-pwren { 606 rockchip,pins = <3 RK_PB1 RK_FUNC_GPIO &pcfg_pull_up>; 607 }; 608 }; 609}; 610 611&pwm2 { 612 status = "okay"; 613}; 614 615&saradc { 616 vref-supply = <&vcc_1v8_s0>; 617 status = "okay"; 618}; 619 620&sdhci { 621 bus-width = <8>; 622 no-sdio; 623 no-sd; 624 non-removable; 625 mmc-hs400-1_8v; 626 mmc-hs400-enhanced-strobe; 627 status = "okay"; 628}; 629 630&spi2 { 631 status = "okay"; 632 assigned-clocks = <&cru CLK_SPI2>; 633 assigned-clock-rates = <200000000>; 634 num-cs = <2>; 635 636 pmic@0 { 637 compatible = "rockchip,rk806"; 638 reg = <0x0>; 639 #gpio-cells = <2>; 640 gpio-controller; 641 interrupt-parent = <&gpio0>; 642 interrupts = <7 IRQ_TYPE_LEVEL_LOW>; 643 pinctrl-0 = <&pmic_pins>, <&rk806_dvs1_null>, 644 <&rk806_dvs2_null>, <&rk806_dvs3_null>; 645 pinctrl-names = "default"; 646 spi-max-frequency = <1000000>; 647 system-power-controller; 648 649 vcc1-supply = <&vcc5v0_sys>; 650 vcc2-supply = <&vcc5v0_sys>; 651 vcc3-supply = <&vcc5v0_sys>; 652 vcc4-supply = <&vcc5v0_sys>; 653 vcc5-supply = <&vcc5v0_sys>; 654 vcc6-supply = <&vcc5v0_sys>; 655 vcc7-supply = <&vcc5v0_sys>; 656 vcc8-supply = <&vcc5v0_sys>; 657 vcc9-supply = <&vcc5v0_sys>; 658 vcc10-supply = <&vcc5v0_sys>; 659 vcc11-supply = <&vcc_2v0_pldo_s3>; 660 vcc12-supply = <&vcc5v0_sys>; 661 vcc13-supply = <&vcc5v0_sys>; 662 vcc14-supply = <&vcc_1v1_nldo_s3>; 663 vcca-supply = <&vcc5v0_sys>; 664 665 rk806_dvs1_null: dvs1-null-pins { 666 pins = "gpio_pwrctrl1"; 667 function = "pin_fun0"; 668 }; 669 670 rk806_dvs2_null: dvs2-null-pins { 671 pins = "gpio_pwrctrl2"; 672 function = "pin_fun0"; 673 }; 674 675 rk806_dvs3_null: dvs3-null-pins { 676 pins = "gpio_pwrctrl3"; 677 function = "pin_fun0"; 678 }; 679 680 681 regulators { 682 vdd_gpu_s0: dcdc-reg1 { 683 /* regulator coupling requires always-on */ 684 regulator-always-on; 685 regulator-boot-on; 686 regulator-min-microvolt = <550000>; 687 regulator-max-microvolt = <950000>; 688 regulator-ramp-delay = <12500>; 689 regulator-name = "vdd_gpu_s0"; 690 regulator-enable-ramp-delay = <400>; 691 regulator-coupled-with = <&vdd_gpu_mem_s0>; 692 regulator-coupled-max-spread = <10000>; 693 regulator-state-mem { 694 regulator-off-in-suspend; 695 }; 696 }; 697 698 vdd_npu_s0: dcdc-reg2 { 699 regulator-always-on; 700 regulator-boot-on; 701 regulator-min-microvolt = <550000>; 702 regulator-max-microvolt = <950000>; 703 regulator-ramp-delay = <12500>; 704 regulator-name = "vdd_npu_s0"; 705 regulator-state-mem { 706 regulator-off-in-suspend; 707 }; 708 }; 709 710 vdd_log_s0: dcdc-reg3 { 711 regulator-always-on; 712 regulator-boot-on; 713 regulator-min-microvolt = <675000>; 714 regulator-max-microvolt = <750000>; 715 regulator-ramp-delay = <12500>; 716 regulator-name = "vdd_log_s0"; 717 regulator-state-mem { 718 regulator-off-in-suspend; 719 regulator-suspend-microvolt = <750000>; 720 }; 721 }; 722 723 vdd_vdenc_s0: dcdc-reg4 { 724 regulator-always-on; 725 regulator-boot-on; 726 regulator-min-microvolt = <550000>; 727 regulator-max-microvolt = <950000>; 728 regulator-ramp-delay = <12500>; 729 regulator-name = "vdd_vdenc_s0"; 730 regulator-state-mem { 731 regulator-off-in-suspend; 732 }; 733 734 }; 735 736 vdd_gpu_mem_s0: dcdc-reg5 { 737 /* regulator coupling requires always-on */ 738 regulator-always-on; 739 regulator-boot-on; 740 regulator-min-microvolt = <675000>; 741 regulator-max-microvolt = <950000>; 742 regulator-ramp-delay = <12500>; 743 regulator-enable-ramp-delay = <400>; 744 regulator-name = "vdd_gpu_mem_s0"; 745 regulator-coupled-with = <&vdd_gpu_s0>; 746 regulator-coupled-max-spread = <10000>; 747 regulator-state-mem { 748 regulator-off-in-suspend; 749 }; 750 751 }; 752 753 vdd_npu_mem_s0: dcdc-reg6 { 754 regulator-always-on; 755 regulator-boot-on; 756 regulator-min-microvolt = <675000>; 757 regulator-max-microvolt = <950000>; 758 regulator-ramp-delay = <12500>; 759 regulator-name = "vdd_npu_mem_s0"; 760 regulator-state-mem { 761 regulator-off-in-suspend; 762 }; 763 764 }; 765 766 vcc_2v0_pldo_s3: dcdc-reg7 { 767 regulator-always-on; 768 regulator-boot-on; 769 regulator-min-microvolt = <2000000>; 770 regulator-max-microvolt = <2000000>; 771 regulator-ramp-delay = <12500>; 772 regulator-name = "vdd_2v0_pldo_s3"; 773 regulator-state-mem { 774 regulator-on-in-suspend; 775 regulator-suspend-microvolt = <2000000>; 776 }; 777 }; 778 779 vdd_vdenc_mem_s0: dcdc-reg8 { 780 regulator-always-on; 781 regulator-boot-on; 782 regulator-min-microvolt = <675000>; 783 regulator-max-microvolt = <950000>; 784 regulator-ramp-delay = <12500>; 785 regulator-name = "vdd_vdenc_mem_s0"; 786 regulator-state-mem { 787 regulator-off-in-suspend; 788 }; 789 }; 790 791 vdd2_ddr_s3: dcdc-reg9 { 792 regulator-always-on; 793 regulator-boot-on; 794 regulator-name = "vdd2_ddr_s3"; 795 regulator-state-mem { 796 regulator-on-in-suspend; 797 }; 798 }; 799 800 vcc_1v1_nldo_s3: dcdc-reg10 { 801 regulator-always-on; 802 regulator-boot-on; 803 regulator-min-microvolt = <1100000>; 804 regulator-max-microvolt = <1100000>; 805 regulator-ramp-delay = <12500>; 806 regulator-name = "vcc_1v1_nldo_s3"; 807 regulator-state-mem { 808 regulator-on-in-suspend; 809 regulator-suspend-microvolt = <1100000>; 810 }; 811 }; 812 813 avcc_1v8_s0: pldo-reg1 { 814 regulator-always-on; 815 regulator-boot-on; 816 regulator-min-microvolt = <1800000>; 817 regulator-max-microvolt = <1800000>; 818 regulator-ramp-delay = <12500>; 819 regulator-name = "avcc_1v8_s0"; 820 regulator-state-mem { 821 regulator-off-in-suspend; 822 }; 823 }; 824 825 vdd1_1v8_ddr_s3: pldo-reg2 { 826 regulator-always-on; 827 regulator-boot-on; 828 regulator-min-microvolt = <1800000>; 829 regulator-max-microvolt = <1800000>; 830 regulator-ramp-delay = <12500>; 831 regulator-name = "vdd1_1v8_ddr_s3"; 832 regulator-state-mem { 833 regulator-on-in-suspend; 834 regulator-suspend-microvolt = <1800000>; 835 }; 836 }; 837 838 avcc_1v8_codec_s0: pldo-reg3 { 839 regulator-always-on; 840 regulator-boot-on; 841 regulator-min-microvolt = <1800000>; 842 regulator-max-microvolt = <1800000>; 843 regulator-ramp-delay = <12500>; 844 regulator-name = "avcc_1v8_codec_s0"; 845 regulator-state-mem { 846 regulator-off-in-suspend; 847 }; 848 }; 849 850 vcc_3v3_s3: pldo-reg4 { 851 regulator-always-on; 852 regulator-boot-on; 853 regulator-min-microvolt = <3300000>; 854 regulator-max-microvolt = <3300000>; 855 regulator-ramp-delay = <12500>; 856 regulator-name = "vcc_3v3_s3"; 857 regulator-state-mem { 858 regulator-on-in-suspend; 859 regulator-suspend-microvolt = <3300000>; 860 }; 861 }; 862 863 vccio_sd_s0: pldo-reg5 { 864 regulator-always-on; 865 regulator-boot-on; 866 regulator-min-microvolt = <1800000>; 867 regulator-max-microvolt = <3300000>; 868 regulator-ramp-delay = <12500>; 869 regulator-name = "vccio_sd_s0"; 870 regulator-state-mem { 871 regulator-off-in-suspend; 872 }; 873 }; 874 875 vccio_1v8_s3: pldo-reg6 { 876 regulator-always-on; 877 regulator-boot-on; 878 regulator-min-microvolt = <1800000>; 879 regulator-max-microvolt = <1800000>; 880 regulator-ramp-delay = <12500>; 881 regulator-name = "vccio_1v8_s3"; 882 regulator-state-mem { 883 regulator-on-in-suspend; 884 regulator-suspend-microvolt = <1800000>; 885 }; 886 }; 887 888 vdd_0v75_s3: nldo-reg1 { 889 regulator-always-on; 890 regulator-boot-on; 891 regulator-min-microvolt = <750000>; 892 regulator-max-microvolt = <750000>; 893 regulator-ramp-delay = <12500>; 894 regulator-name = "vdd_0v75_s3"; 895 regulator-state-mem { 896 regulator-on-in-suspend; 897 regulator-suspend-microvolt = <750000>; 898 }; 899 }; 900 901 vdd2l_0v9_ddr_s3: nldo-reg2 { 902 regulator-always-on; 903 regulator-boot-on; 904 regulator-min-microvolt = <900000>; 905 regulator-max-microvolt = <900000>; 906 regulator-name = "vdd2l_0v9_ddr_s3"; 907 regulator-state-mem { 908 regulator-on-in-suspend; 909 regulator-suspend-microvolt = <900000>; 910 }; 911 }; 912 913 vdd_0v75_hdmi_edp_s0: nldo-reg3 { 914 regulator-always-on; 915 regulator-boot-on; 916 regulator-min-microvolt = <750000>; 917 regulator-max-microvolt = <750000>; 918 regulator-name = "vdd_0v75_hdmi_edp_s0"; 919 regulator-state-mem { 920 regulator-off-in-suspend; 921 }; 922 }; 923 924 avdd_0v75_s0: nldo-reg4 { 925 regulator-always-on; 926 regulator-boot-on; 927 regulator-min-microvolt = <750000>; 928 regulator-max-microvolt = <750000>; 929 regulator-name = "avdd_0v75_s0"; 930 regulator-state-mem { 931 regulator-off-in-suspend; 932 }; 933 }; 934 935 vdd_0v85_s0: nldo-reg5 { 936 regulator-always-on; 937 regulator-boot-on; 938 regulator-min-microvolt = <850000>; 939 regulator-max-microvolt = <850000>; 940 regulator-name = "vdd_0v85_s0"; 941 regulator-state-mem { 942 regulator-off-in-suspend; 943 }; 944 }; 945 }; 946 }; 947 948 pmic@1 { 949 compatible = "rockchip,rk806"; 950 reg = <0x01>; 951 #gpio-cells = <2>; 952 gpio-controller; 953 interrupt-parent = <&gpio0>; 954 interrupts = <7 IRQ_TYPE_LEVEL_LOW>; 955 pinctrl-0 = <&rk806_slave_dvs1_null>, <&rk806_slave_dvs2_null>, 956 <&rk806_slave_dvs3_null>; 957 pinctrl-names = "default"; 958 spi-max-frequency = <1000000>; 959 960 vcc1-supply = <&vcc5v0_sys>; 961 vcc2-supply = <&vcc5v0_sys>; 962 vcc3-supply = <&vcc5v0_sys>; 963 vcc4-supply = <&vcc5v0_sys>; 964 vcc5-supply = <&vcc5v0_sys>; 965 vcc6-supply = <&vcc5v0_sys>; 966 vcc7-supply = <&vcc5v0_sys>; 967 vcc8-supply = <&vcc5v0_sys>; 968 vcc9-supply = <&vcc5v0_sys>; 969 vcc10-supply = <&vcc5v0_sys>; 970 vcc11-supply = <&vcc_2v0_pldo_s3>; 971 vcc12-supply = <&vcc5v0_sys>; 972 vcc13-supply = <&vcc_1v1_nldo_s3>; 973 vcc14-supply = <&vcc_2v0_pldo_s3>; 974 vcca-supply = <&vcc5v0_sys>; 975 976 rk806_slave_dvs1_null: dvs1-null-pins { 977 pins = "gpio_pwrctrl1"; 978 function = "pin_fun0"; 979 }; 980 981 rk806_slave_dvs2_null: dvs2-null-pins { 982 pins = "gpio_pwrctrl2"; 983 function = "pin_fun0"; 984 }; 985 986 rk806_slave_dvs3_null: dvs3-null-pins { 987 pins = "gpio_pwrctrl3"; 988 function = "pin_fun0"; 989 }; 990 991 regulators { 992 vdd_cpu_big1_s0: dcdc-reg1 { 993 regulator-always-on; 994 regulator-boot-on; 995 regulator-coupled-with = <&vdd_cpu_big1_mem_s0>; 996 regulator-coupled-max-spread = <10000>; 997 regulator-min-microvolt = <550000>; 998 regulator-max-microvolt = <1050000>; 999 regulator-ramp-delay = <12500>; 1000 regulator-name = "vdd_cpu_big1_s0"; 1001 regulator-state-mem { 1002 regulator-off-in-suspend; 1003 }; 1004 }; 1005 1006 vdd_cpu_big0_s0: dcdc-reg2 { 1007 regulator-always-on; 1008 regulator-boot-on; 1009 regulator-coupled-with = <&vdd_cpu_big0_mem_s0>; 1010 regulator-coupled-max-spread = <10000>; 1011 regulator-min-microvolt = <550000>; 1012 regulator-max-microvolt = <1050000>; 1013 regulator-ramp-delay = <12500>; 1014 regulator-name = "vdd_cpu_big0_s0"; 1015 regulator-state-mem { 1016 regulator-off-in-suspend; 1017 }; 1018 }; 1019 1020 vdd_cpu_lit_s0: dcdc-reg3 { 1021 regulator-always-on; 1022 regulator-boot-on; 1023 regulator-coupled-with = <&vdd_cpu_lit_mem_s0>; 1024 regulator-coupled-max-spread = <10000>; 1025 regulator-min-microvolt = <550000>; 1026 regulator-max-microvolt = <950000>; 1027 regulator-ramp-delay = <12500>; 1028 regulator-name = "vdd_cpu_lit_s0"; 1029 regulator-state-mem { 1030 regulator-off-in-suspend; 1031 }; 1032 }; 1033 1034 vcc_3v3_s0: dcdc-reg4 { 1035 regulator-always-on; 1036 regulator-boot-on; 1037 regulator-min-microvolt = <3300000>; 1038 regulator-max-microvolt = <3300000>; 1039 regulator-ramp-delay = <12500>; 1040 regulator-name = "vcc_3v3_s0"; 1041 regulator-state-mem { 1042 regulator-off-in-suspend; 1043 }; 1044 }; 1045 1046 vdd_cpu_big1_mem_s0: dcdc-reg5 { 1047 regulator-always-on; 1048 regulator-boot-on; 1049 regulator-coupled-with = <&vdd_cpu_big1_s0>; 1050 regulator-coupled-max-spread = <10000>; 1051 regulator-min-microvolt = <675000>; 1052 regulator-max-microvolt = <1050000>; 1053 regulator-ramp-delay = <12500>; 1054 regulator-name = "vdd_cpu_big1_mem_s0"; 1055 regulator-state-mem { 1056 regulator-off-in-suspend; 1057 }; 1058 }; 1059 1060 1061 vdd_cpu_big0_mem_s0: dcdc-reg6 { 1062 regulator-always-on; 1063 regulator-boot-on; 1064 regulator-coupled-with = <&vdd_cpu_big0_s0>; 1065 regulator-coupled-max-spread = <10000>; 1066 regulator-min-microvolt = <675000>; 1067 regulator-max-microvolt = <1050000>; 1068 regulator-ramp-delay = <12500>; 1069 regulator-name = "vdd_cpu_big0_mem_s0"; 1070 regulator-state-mem { 1071 regulator-off-in-suspend; 1072 }; 1073 }; 1074 1075 vcc_1v8_s0: dcdc-reg7 { 1076 regulator-always-on; 1077 regulator-boot-on; 1078 regulator-min-microvolt = <1800000>; 1079 regulator-max-microvolt = <1800000>; 1080 regulator-ramp-delay = <12500>; 1081 regulator-name = "vcc_1v8_s0"; 1082 regulator-state-mem { 1083 regulator-off-in-suspend; 1084 }; 1085 }; 1086 1087 vdd_cpu_lit_mem_s0: dcdc-reg8 { 1088 regulator-always-on; 1089 regulator-boot-on; 1090 regulator-coupled-with = <&vdd_cpu_lit_s0>; 1091 regulator-coupled-max-spread = <10000>; 1092 regulator-min-microvolt = <675000>; 1093 regulator-max-microvolt = <950000>; 1094 regulator-ramp-delay = <12500>; 1095 regulator-name = "vdd_cpu_lit_mem_s0"; 1096 regulator-state-mem { 1097 regulator-off-in-suspend; 1098 }; 1099 }; 1100 1101 vddq_ddr_s0: dcdc-reg9 { 1102 regulator-always-on; 1103 regulator-boot-on; 1104 regulator-name = "vddq_ddr_s0"; 1105 regulator-state-mem { 1106 regulator-off-in-suspend; 1107 }; 1108 }; 1109 1110 vdd_ddr_s0: dcdc-reg10 { 1111 regulator-always-on; 1112 regulator-boot-on; 1113 regulator-min-microvolt = <675000>; 1114 regulator-max-microvolt = <900000>; 1115 regulator-ramp-delay = <12500>; 1116 regulator-name = "vdd_ddr_s0"; 1117 regulator-state-mem { 1118 regulator-off-in-suspend; 1119 }; 1120 }; 1121 1122 vcc_1v8_cam_s0: pldo-reg1 { 1123 regulator-always-on; 1124 regulator-boot-on; 1125 regulator-min-microvolt = <1800000>; 1126 regulator-max-microvolt = <1800000>; 1127 regulator-ramp-delay = <12500>; 1128 regulator-name = "vcc_1v8_cam_s0"; 1129 regulator-state-mem { 1130 regulator-off-in-suspend; 1131 }; 1132 }; 1133 1134 avdd1v8_ddr_pll_s0: pldo-reg2 { 1135 regulator-always-on; 1136 regulator-boot-on; 1137 regulator-min-microvolt = <1800000>; 1138 regulator-max-microvolt = <1800000>; 1139 regulator-ramp-delay = <12500>; 1140 regulator-name = "avdd1v8_ddr_pll_s0"; 1141 regulator-state-mem { 1142 regulator-off-in-suspend; 1143 }; 1144 }; 1145 1146 vdd_1v8_pll_s0: pldo-reg3 { 1147 regulator-always-on; 1148 regulator-boot-on; 1149 regulator-min-microvolt = <1800000>; 1150 regulator-max-microvolt = <1800000>; 1151 regulator-ramp-delay = <12500>; 1152 regulator-name = "vdd_1v8_pll_s0"; 1153 regulator-state-mem { 1154 regulator-off-in-suspend; 1155 }; 1156 }; 1157 1158 vcc_3v3_sd_s0: pldo-reg4 { 1159 regulator-always-on; 1160 regulator-boot-on; 1161 regulator-min-microvolt = <3300000>; 1162 regulator-max-microvolt = <3300000>; 1163 regulator-ramp-delay = <12500>; 1164 regulator-name = "vcc_3v3_sd_s0"; 1165 regulator-state-mem { 1166 regulator-off-in-suspend; 1167 }; 1168 }; 1169 1170 vcc_2v8_cam_s0: pldo-reg5 { 1171 regulator-always-on; 1172 regulator-boot-on; 1173 regulator-min-microvolt = <2800000>; 1174 regulator-max-microvolt = <2800000>; 1175 regulator-ramp-delay = <12500>; 1176 regulator-name = "vcc_2v8_cam_s0"; 1177 regulator-state-mem { 1178 regulator-off-in-suspend; 1179 }; 1180 }; 1181 1182 pldo6_s3: pldo-reg6 { 1183 regulator-always-on; 1184 regulator-boot-on; 1185 regulator-min-microvolt = <1800000>; 1186 regulator-max-microvolt = <1800000>; 1187 regulator-name = "pldo6_s3"; 1188 regulator-state-mem { 1189 regulator-on-in-suspend; 1190 regulator-suspend-microvolt = <1800000>; 1191 }; 1192 }; 1193 1194 vdd_0v75_pll_s0: nldo-reg1 { 1195 regulator-always-on; 1196 regulator-boot-on; 1197 regulator-min-microvolt = <750000>; 1198 regulator-max-microvolt = <750000>; 1199 regulator-ramp-delay = <12500>; 1200 regulator-name = "vdd_0v75_pll_s0"; 1201 regulator-state-mem { 1202 regulator-off-in-suspend; 1203 }; 1204 }; 1205 1206 vdd_ddr_pll_s0: nldo-reg2 { 1207 regulator-always-on; 1208 regulator-boot-on; 1209 regulator-min-microvolt = <850000>; 1210 regulator-max-microvolt = <850000>; 1211 regulator-name = "vdd_ddr_pll_s0"; 1212 regulator-state-mem { 1213 regulator-off-in-suspend; 1214 }; 1215 }; 1216 1217 avdd_0v85_s0: nldo-reg3 { 1218 regulator-always-on; 1219 regulator-boot-on; 1220 regulator-min-microvolt = <850000>; 1221 regulator-max-microvolt = <850000>; 1222 regulator-ramp-delay = <12500>; 1223 regulator-name = "avdd_0v85_s0"; 1224 regulator-state-mem { 1225 regulator-off-in-suspend; 1226 }; 1227 }; 1228 1229 avdd_1v2_cam_s0: nldo-reg4 { 1230 regulator-always-on; 1231 regulator-boot-on; 1232 regulator-min-microvolt = <1200000>; 1233 regulator-max-microvolt = <1200000>; 1234 regulator-ramp-delay = <12500>; 1235 regulator-name = "avdd_1v2_cam_s0"; 1236 regulator-state-mem { 1237 regulator-off-in-suspend; 1238 }; 1239 }; 1240 1241 avdd_1v2_s0: nldo-reg5 { 1242 regulator-always-on; 1243 regulator-boot-on; 1244 regulator-min-microvolt = <1200000>; 1245 regulator-max-microvolt = <1200000>; 1246 regulator-ramp-delay = <12500>; 1247 regulator-name = "avdd_1v2_s0"; 1248 regulator-state-mem { 1249 regulator-off-in-suspend; 1250 }; 1251 }; 1252 }; 1253 }; 1254}; 1255 1256&sata0 { 1257 status = "okay"; 1258}; 1259 1260&tsadc { 1261 status = "okay"; 1262}; 1263 1264&u2phy0 { 1265 status = "okay"; 1266}; 1267 1268&u2phy0_otg { 1269 status = "okay"; 1270}; 1271 1272&u2phy1 { 1273 status = "okay"; 1274}; 1275 1276&u2phy1_otg { 1277 status = "okay"; 1278}; 1279 1280&u2phy2 { 1281 status = "okay"; 1282}; 1283 1284&u2phy2_host { 1285 phy-supply = <&vcc5v0_host>; 1286 status = "okay"; 1287}; 1288 1289&u2phy3 { 1290 status = "okay"; 1291}; 1292 1293&u2phy3_host { 1294 phy-supply = <&vcc5v0_host>; 1295 status = "okay"; 1296}; 1297 1298&uart2 { 1299 pinctrl-0 = <&uart2m0_xfer>; 1300 status = "okay"; 1301}; 1302 1303&usb_host0_ehci { 1304 status = "okay"; 1305}; 1306 1307&usb_host0_ohci { 1308 status = "okay"; 1309}; 1310 1311&usb_host1_ehci { 1312 status = "okay"; 1313}; 1314 1315&usb_host1_ohci { 1316 status = "okay"; 1317}; 1318 1319&usbdp_phy0 { 1320 mode-switch; 1321 orientation-switch; 1322 sbu1-dc-gpios = <&gpio4 RK_PA6 GPIO_ACTIVE_HIGH>; 1323 sbu2-dc-gpios = <&gpio4 RK_PA7 GPIO_ACTIVE_HIGH>; 1324 status = "okay"; 1325 1326 port { 1327 #address-cells = <1>; 1328 #size-cells = <0>; 1329 1330 usbdp_phy0_orientation_switch: endpoint@0 { 1331 reg = <0>; 1332 remote-endpoint = <&usbc0_orien_sw>; 1333 }; 1334 1335 usbdp_phy0_dp_altmode_mux: endpoint@1 { 1336 reg = <1>; 1337 remote-endpoint = <&dp_altmode_mux>; 1338 }; 1339 }; 1340}; 1341 1342&usbdp_phy1 { 1343 /* 1344 * USBDP PHY1 is wired to a female USB3 Type-A connector. Additionally 1345 * the differential pairs 2+3 and the aux channel are wired to a RTD2166, 1346 * which converts the DP signal into VGA. This is exposed on the 1347 * board via a female VGA connector. 1348 */ 1349 rockchip,dp-lane-mux = <2 3>; 1350 status = "okay"; 1351}; 1352 1353&usb_host0_xhci { 1354 dr_mode = "otg"; 1355 usb-role-switch; 1356 status = "okay"; 1357 1358 port { 1359 #address-cells = <1>; 1360 #size-cells = <0>; 1361 1362 dwc3_0_role_switch: endpoint@0 { 1363 reg = <0>; 1364 remote-endpoint = <&usbc0_role_sw>; 1365 }; 1366 }; 1367}; 1368 1369&usb_host1_xhci { 1370 dr_mode = "host"; 1371 status = "okay"; 1372}; 1373 1374&vop_mmu { 1375 status = "okay"; 1376}; 1377 1378&vop { 1379 status = "okay"; 1380}; 1381 1382&vp0 { 1383 vp0_out_hdmi0: endpoint@ROCKCHIP_VOP2_EP_HDMI0 { 1384 reg = <ROCKCHIP_VOP2_EP_HDMI0>; 1385 remote-endpoint = <&hdmi0_in_vp0>; 1386 }; 1387}; 1388