1// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2/* 3 * Copyright (c) 2023 Theobroma Systems Design und Consulting GmbH 4 */ 5 6/dts-v1/; 7#include <dt-bindings/gpio/gpio.h> 8#include <dt-bindings/input/input.h> 9#include <dt-bindings/leds/common.h> 10#include <dt-bindings/pinctrl/rockchip.h> 11#include <dt-bindings/soc/rockchip,vop2.h> 12#include <dt-bindings/usb/pd.h> 13#include "rk3588.dtsi" 14 15/ { 16 model = "Theobroma Systems RK3588-SBC Jaguar"; 17 compatible = "tsd,rk3588-jaguar", "rockchip,rk3588"; 18 19 adc-keys { 20 compatible = "adc-keys"; 21 io-channels = <&saradc 0>; 22 io-channel-names = "buttons"; 23 keyup-threshold-microvolt = <1800000>; 24 poll-interval = <100>; 25 26 /* Can be controlled through SW2 but also GPIO1 on CP2102 on P20 */ 27 button-bios-disable { 28 label = "BIOS_DISABLE"; 29 linux,code = <KEY_VENDOR>; 30 press-threshold-microvolt = <0>; 31 }; 32 }; 33 34 aliases { 35 ethernet0 = &gmac0; 36 i2c10 = &i2c10; 37 mmc0 = &sdhci; 38 mmc1 = &sdmmc; 39 rtc0 = &rtc_twi; 40 }; 41 42 chosen { 43 stdout-path = "serial2:115200n8"; 44 }; 45 46 /* DCIN is 12-24V but standard is 12V */ 47 dc_12v: regulator-dc-12v { 48 compatible = "regulator-fixed"; 49 regulator-name = "dc_12v"; 50 regulator-always-on; 51 regulator-boot-on; 52 regulator-min-microvolt = <12000000>; 53 regulator-max-microvolt = <12000000>; 54 }; 55 56 emmc_pwrseq: emmc-pwrseq { 57 compatible = "mmc-pwrseq-emmc"; 58 pinctrl-0 = <&emmc_reset>; 59 pinctrl-names = "default"; 60 reset-gpios = <&gpio2 RK_PA3 GPIO_ACTIVE_HIGH>; 61 }; 62 63 hdmi-con { 64 compatible = "hdmi-connector"; 65 type = "a"; 66 67 port { 68 hdmi_con_in: endpoint { 69 remote-endpoint = <&hdmi0_out_con>; 70 }; 71 }; 72 }; 73 74 leds { 75 compatible = "gpio-leds"; 76 pinctrl-names = "default"; 77 pinctrl-0 = <&led1_pin>; 78 79 /* LED1 on PCB */ 80 led-1 { 81 gpios = <&gpio1 RK_PD4 GPIO_ACTIVE_HIGH>; 82 function = LED_FUNCTION_HEARTBEAT; 83 linux,default-trigger = "heartbeat"; 84 color = <LED_COLOR_ID_AMBER>; 85 }; 86 }; 87 88 /* 89 * 100MHz reference clock for PCIe peripherals from PI6C557-05BLE 90 * clock generator. 91 * The clock output is gated via the OE pin on the clock generator. 92 * This is modeled as a fixed-clock plus a gpio-gate-clock. 93 */ 94 pcie_refclk_gen: pcie-refclk-gen-clock { 95 compatible = "fixed-clock"; 96 #clock-cells = <0>; 97 clock-frequency = <100000000>; 98 }; 99 100 pcie_refclk: pcie-refclk-clock { 101 compatible = "gpio-gate-clock"; 102 clocks = <&pcie_refclk_gen>; 103 #clock-cells = <0>; 104 enable-gpios = <&gpio0 RK_PC6 GPIO_ACTIVE_LOW>; /* PCIE30X4_CLKREQN_M0 */ 105 pinctrl-names = "default"; 106 pinctrl-0 = <&pcie30x4_clkreqn_m0>; 107 }; 108 109 pps { 110 compatible = "pps-gpio"; 111 gpios = <&gpio0 RK_PD5 GPIO_ACTIVE_HIGH>; 112 }; 113 114 vcc_1v1_nldo_s3: regulator-vcc-1v1-nldo-s3 { 115 compatible = "regulator-fixed"; 116 regulator-name = "vcc_1v1_nldo_s3"; 117 regulator-always-on; 118 regulator-boot-on; 119 regulator-min-microvolt = <1100000>; 120 regulator-max-microvolt = <1100000>; 121 vin-supply = <&vcc5v0_sys>; 122 }; 123 124 vcc_1v2_s3: regulator-vcc-1v2-s3 { 125 compatible = "regulator-fixed"; 126 regulator-name = "vcc_1v2_s3"; 127 regulator-always-on; 128 regulator-boot-on; 129 regulator-min-microvolt = <1200000>; 130 regulator-max-microvolt = <1200000>; 131 vin-supply = <&vcc5v0_sys>; 132 }; 133 134 /* Exposed on P14 and P15 */ 135 vcc_2v8_s3: regulator-vcc-2v8-s3 { 136 compatible = "regulator-fixed"; 137 regulator-name = "vcc_2v8_s3"; 138 regulator-always-on; 139 regulator-boot-on; 140 regulator-min-microvolt = <2800000>; 141 regulator-max-microvolt = <2800000>; 142 vin-supply = <&vcc_3v3_s3>; 143 }; 144 145 vcc_5v0_usb_a: regulator-vcc-5v0-usb-a { 146 compatible = "regulator-fixed"; 147 regulator-name = "usb_a_vcc"; 148 regulator-min-microvolt = <5000000>; 149 regulator-max-microvolt = <5000000>; 150 vin-supply = <&vcc5v0_sys>; 151 gpio = <&gpio1 RK_PB4 GPIO_ACTIVE_HIGH>; 152 enable-active-high; 153 }; 154 155 vcc_5v0_usb_c1: regulator-vcc-5v0-usb-c1 { 156 compatible = "regulator-fixed"; 157 regulator-name = "5v_usbc1"; 158 regulator-min-microvolt = <5000000>; 159 regulator-max-microvolt = <5000000>; 160 vin-supply = <&vcc5v0_usb>; 161 gpio = <&gpio4 RK_PB5 GPIO_ACTIVE_HIGH>; 162 enable-active-high; 163 }; 164 165 vcc_5v0_usb_c2: regulator-vcc-5v0-usb-c2 { 166 compatible = "regulator-fixed"; 167 regulator-name = "5v_usbc2"; 168 regulator-min-microvolt = <5000000>; 169 regulator-max-microvolt = <5000000>; 170 vin-supply = <&vcc5v0_usb>; 171 gpio = <&gpio4 RK_PB6 GPIO_ACTIVE_HIGH>; 172 enable-active-high; 173 }; 174 175 vcc3v3_mdot2: regulator-vcc3v3-mdot2 { 176 compatible = "regulator-fixed"; 177 regulator-name = "vcc3v3_mdot2"; 178 regulator-always-on; 179 regulator-boot-on; 180 regulator-min-microvolt = <3300000>; 181 regulator-max-microvolt = <3300000>; 182 vin-supply = <&dc_12v>; 183 }; 184 185 vcc5v0_sys: regulator-vcc5v0-sys { 186 compatible = "regulator-fixed"; 187 regulator-name = "vcc5v0_sys"; 188 regulator-always-on; 189 regulator-boot-on; 190 regulator-min-microvolt = <5000000>; 191 regulator-max-microvolt = <5000000>; 192 vin-supply = <&dc_12v>; 193 }; 194 195 vcc5v0_usb: regulator-vcc5v0-usb { 196 compatible = "regulator-fixed"; 197 regulator-name = "vcc5v0_usb"; 198 regulator-always-on; 199 regulator-boot-on; 200 regulator-min-microvolt = <5000000>; 201 regulator-max-microvolt = <5000000>; 202 vin-supply = <&vcc5v0_sys>; 203 }; 204}; 205 206&combphy1_ps { 207 status = "okay"; 208}; 209 210&cpu_b0 { 211 cpu-supply = <&vdd_cpu_big0_s0>; 212}; 213 214&cpu_b1 { 215 cpu-supply = <&vdd_cpu_big0_s0>; 216}; 217 218&cpu_b2 { 219 cpu-supply = <&vdd_cpu_big1_s0>; 220}; 221 222&cpu_b3 { 223 cpu-supply = <&vdd_cpu_big1_s0>; 224}; 225 226&cpu_l0 { 227 cpu-supply = <&vdd_cpu_lit_s0>; 228}; 229 230&cpu_l1 { 231 cpu-supply = <&vdd_cpu_lit_s0>; 232}; 233 234&cpu_l2 { 235 cpu-supply = <&vdd_cpu_lit_s0>; 236}; 237 238&cpu_l3 { 239 cpu-supply = <&vdd_cpu_lit_s0>; 240}; 241 242&gmac0 { 243 clock_in_out = "output"; 244 phy-handle = <&rgmii_phy>; 245 phy-mode = "rgmii"; 246 phy-supply = <&vcc_1v2_s3>; 247 pinctrl-names = "default"; 248 pinctrl-0 = <&gmac0_miim 249 &gmac0_rx_bus2 250 &gmac0_tx_bus2 251 &gmac0_rgmii_clk 252 &gmac0_rgmii_bus 253 ð0_pins 254 ð_reset>; 255 tx_delay = <0x10>; 256 rx_delay = <0x10>; 257 snps,reset-gpio = <&gpio4 RK_PC3 GPIO_ACTIVE_LOW>; 258 snps,reset-active-low; 259 snps,reset-delays-us = <0 10000 100000>; 260 261 status = "okay"; 262}; 263 264&gpio1 { 265 mdot2e-w-disable1-n-hog { 266 gpios = <RK_PB1 GPIO_ACTIVE_LOW>; 267 output-low; 268 line-name = "m.2 E-key W_DISABLE1#"; 269 gpio-hog; 270 }; 271}; 272 273&gpio4 { 274 mdot2e-w-disable2-n-hog { 275 gpios = <RK_PC1 GPIO_ACTIVE_LOW>; 276 output-low; 277 line-name = "m.2 E-key W_DISABLE2#"; 278 gpio-hog; 279 }; 280}; 281 282&gpu { 283 mali-supply = <&vdd_gpu_s0>; 284 status = "okay"; 285}; 286 287&hdmi0 { 288 /* No CEC on Jaguar */ 289 pinctrl-names = "default"; 290 pinctrl-0 = <&hdmim0_tx0_hpd &hdmim0_tx0_scl &hdmim0_tx0_sda>; 291 status = "okay"; 292}; 293 294&hdmi0_in { 295 hdmi0_in_vp0: endpoint { 296 remote-endpoint = <&vp0_out_hdmi0>; 297 }; 298}; 299 300&hdmi0_out { 301 hdmi0_out_con: endpoint { 302 remote-endpoint = <&hdmi_con_in>; 303 }; 304}; 305 306&hdptxphy0 { 307 status = "okay"; 308}; 309 310&i2c0 { 311 pinctrl-0 = <&i2c0m2_xfer>; 312 status = "okay"; 313 314 fan@18 { 315 compatible = "tsd,mule", "ti,amc6821"; 316 reg = <0x18>; 317 318 i2c-mux { 319 compatible = "tsd,mule-i2c-mux"; 320 #address-cells = <1>; 321 #size-cells = <0>; 322 323 i2c10: i2c@0 { 324 reg = <0x0>; 325 #address-cells = <1>; 326 #size-cells = <0>; 327 328 rtc_twi: rtc@6f { 329 compatible = "isil,isl1208"; 330 reg = <0x6f>; 331 }; 332 }; 333 }; 334 }; 335 336 typec-portc@22 { 337 compatible = "fcs,fusb302"; 338 reg = <0x22>; 339 interrupt-parent = <&gpio4>; 340 interrupts = <RK_PA3 IRQ_TYPE_LEVEL_LOW>; 341 pinctrl-names = "default"; 342 pinctrl-0 = <&cc_int1>; 343 vbus-supply = <&vcc_5v0_usb_c1>; 344 345 connector { 346 compatible = "usb-c-connector"; 347 data-role = "dual"; 348 label = "USBC-1 P11"; 349 power-role = "source"; 350 self-powered; 351 source-pdos = 352 <PDO_FIXED(5000, 1500, PDO_FIXED_DATA_SWAP | PDO_FIXED_USB_COMM)>; 353 vbus-supply = <&vcc_5v0_usb_c1>; 354 355 ports { 356 #address-cells = <1>; 357 #size-cells = <0>; 358 359 port@0 { 360 reg = <0>; 361 362 usbc0_hs: endpoint { 363 remote-endpoint = <&usb_host0_xhci_drd_sw>; 364 }; 365 }; 366 367 port@1 { 368 reg = <1>; 369 370 usbc0_ss: endpoint { 371 remote-endpoint = <&usbdp_phy0_typec_ss>; 372 }; 373 }; 374 375 port@2 { 376 reg = <2>; 377 378 usbc0_sbu: endpoint { 379 remote-endpoint = <&usbdp_phy0_typec_sbu>; 380 }; 381 }; 382 }; 383 }; 384 }; 385 386 vdd_npu_s0: regulator@42 { 387 compatible = "rockchip,rk8602"; 388 reg = <0x42>; 389 fcs,suspend-voltage-selector = <1>; 390 regulator-name = "vdd_npu_s0"; 391 regulator-always-on; 392 regulator-boot-on; 393 regulator-min-microvolt = <550000>; 394 regulator-max-microvolt = <950000>; 395 regulator-ramp-delay = <2300>; 396 vin-supply = <&vcc5v0_sys>; 397 398 regulator-state-mem { 399 regulator-off-in-suspend; 400 }; 401 }; 402 403 vdd_cpu_big1_s0: regulator@43 { 404 compatible = "rockchip,rk8603", "rockchip,rk8602"; 405 reg = <0x43>; 406 fcs,suspend-voltage-selector = <1>; 407 regulator-name = "vdd_cpu_big1_s0"; 408 regulator-always-on; 409 regulator-boot-on; 410 regulator-min-microvolt = <550000>; 411 regulator-max-microvolt = <1050000>; 412 regulator-ramp-delay = <2300>; 413 vin-supply = <&vcc5v0_sys>; 414 415 regulator-state-mem { 416 regulator-off-in-suspend; 417 }; 418 }; 419}; 420 421&i2c1 { 422 pinctrl-0 = <&i2c1m4_xfer>; 423}; 424 425&i2c6 { 426 pinctrl-0 = <&i2c6m4_xfer>; 427}; 428 429&i2c7 { 430 status = "okay"; 431 432 /* SE050 Secure Element at 0x48; GPIO1_A4 for enable pin */ 433 434 /* Also on 0x55 */ 435 eeprom@54 { 436 compatible = "st,24c04", "atmel,24c04"; 437 reg = <0x54>; 438 pagesize = <16>; 439 vcc-supply = <&vcc_3v3_s3>; 440 }; 441}; 442 443&i2c8 { 444 pinctrl-0 = <&i2c8m2_xfer>; 445 status = "okay"; 446 447 typec-portc@22 { 448 compatible = "fcs,fusb302"; 449 reg = <0x22>; 450 interrupt-parent = <&gpio4>; 451 interrupts = <RK_PA4 IRQ_TYPE_LEVEL_LOW>; 452 pinctrl-names = "default"; 453 pinctrl-0 = <&cc_int2>; 454 vbus-supply = <&vcc_5v0_usb_c2>; 455 456 connector { 457 compatible = "usb-c-connector"; 458 data-role = "dual"; 459 label = "USBC-2 P12"; 460 power-role = "source"; 461 self-powered; 462 source-pdos = 463 <PDO_FIXED(5000, 1500, PDO_FIXED_DATA_SWAP | PDO_FIXED_USB_COMM)>; 464 vbus-supply = <&vcc_5v0_usb_c2>; 465 466 ports { 467 #address-cells = <1>; 468 #size-cells = <0>; 469 470 port@0 { 471 reg = <0>; 472 473 usbc1_hs: endpoint { 474 remote-endpoint = <&usb_host1_xhci_drd_sw>; 475 }; 476 }; 477 478 port@1 { 479 reg = <1>; 480 481 usbc1_ss: endpoint { 482 remote-endpoint = <&usbdp_phy1_typec_ss>; 483 }; 484 }; 485 486 port@2 { 487 reg = <2>; 488 489 usbc1_sbu: endpoint { 490 remote-endpoint = <&usbdp_phy1_typec_sbu>; 491 }; 492 }; 493 }; 494 }; 495 }; 496 497 vdd_cpu_big0_s0: regulator@42 { 498 compatible = "rockchip,rk8602"; 499 reg = <0x42>; 500 fcs,suspend-voltage-selector = <1>; 501 regulator-name = "vdd_cpu_big0_s0"; 502 regulator-always-on; 503 regulator-boot-on; 504 regulator-min-microvolt = <550000>; 505 regulator-max-microvolt = <1050000>; 506 regulator-ramp-delay = <2300>; 507 vin-supply = <&vcc5v0_sys>; 508 509 regulator-state-mem { 510 regulator-off-in-suspend; 511 }; 512 }; 513}; 514 515&mdio0 { 516 rgmii_phy: ethernet-phy@6 { 517 /* KSZ9031 or KSZ9131 */ 518 compatible = "ethernet-phy-ieee802.3-c22"; 519 reg = <0x6>; 520 clocks = <&cru REFCLKO25M_ETH0_OUT>; 521 }; 522}; 523 524&pcie2x1l0 { 525 reset-gpios = <&gpio4 RK_PB3 GPIO_ACTIVE_HIGH>; /* WIFI_PERST0# */ 526 vpcie3v3-supply = <&vcc3v3_mdot2>; 527 status = "okay"; 528}; 529 530&pcie30phy { 531 status = "okay"; 532}; 533 534&pcie3x4 { 535 /* 536 * The board has a gpio-controlled "pcie_refclk" generator, 537 * so add it to the list of clocks. 538 */ 539 clocks = <&cru ACLK_PCIE_4L_MSTR>, <&cru ACLK_PCIE_4L_SLV>, 540 <&cru ACLK_PCIE_4L_DBI>, <&cru PCLK_PCIE_4L>, 541 <&cru CLK_PCIE_AUX0>, <&cru CLK_PCIE4L_PIPE>, 542 <&pcie_refclk>; 543 clock-names = "aclk_mst", "aclk_slv", 544 "aclk_dbi", "pclk", 545 "aux", "pipe", 546 "ref"; 547 pinctrl-names = "default"; 548 pinctrl-0 = <&pcie30x4_waken_m0 &pcie30x4_perstn_m0>; 549 reset-gpios = <&gpio0 RK_PD0 GPIO_ACTIVE_HIGH>; /* PCIE30X4_PERSTN_M0 */ 550 vpcie3v3-supply = <&vcc3v3_mdot2>; 551 status = "okay"; 552}; 553 554&pd_gpu { 555 domain-supply = <&vdd_gpu_s0>; 556}; 557 558&pinctrl { 559 emmc { 560 emmc_reset: emmc-reset { 561 rockchip,pins = <2 RK_PA3 RK_FUNC_GPIO &pcfg_pull_none>; 562 }; 563 }; 564 565 ethernet { 566 eth_reset: eth-reset { 567 rockchip,pins = <4 RK_PC3 RK_FUNC_GPIO &pcfg_pull_none>; 568 }; 569 }; 570 571 leds { 572 led1_pin: led1-pin { 573 rockchip,pins = <1 RK_PD4 RK_FUNC_GPIO &pcfg_pull_none>; 574 }; 575 }; 576 577 pcie30x4 { 578 pcie30x4_clkreqn_m0: pcie30x4-clkreqn-m0 { 579 rockchip,pins = <0 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>; 580 }; 581 582 pcie30x4_perstn_m0: pcie30x4-perstn-m0 { 583 rockchip,pins = <0 RK_PD0 RK_FUNC_GPIO &pcfg_pull_none>; 584 }; 585 586 pcie30x4_waken_m0: pcie30x4-waken-m0 { 587 rockchip,pins = <0 RK_PC7 12 &pcfg_pull_none>; 588 }; 589 }; 590 591 usb3 { 592 cc_int1: cc-int1 { 593 rockchip,pins = <4 RK_PA3 RK_FUNC_GPIO &pcfg_pull_none>; 594 }; 595 596 cc_int2: cc-int2 { 597 rockchip,pins = <4 RK_PA4 RK_FUNC_GPIO &pcfg_pull_none>; 598 }; 599 600 typec0_sbu_dc_pins: typec0-sbu-dc-pins { 601 rockchip,pins = <4 RK_PB0 RK_FUNC_GPIO &pcfg_pull_down>, 602 <1 RK_PC3 RK_FUNC_GPIO &pcfg_pull_down>; 603 }; 604 605 typec1_sbu_dc_pins: typec1-sbu-dc-pins { 606 rockchip,pins = <0 RK_PD4 RK_FUNC_GPIO &pcfg_pull_down>, 607 <1 RK_PB5 RK_FUNC_GPIO &pcfg_pull_down>; 608 }; 609 }; 610}; 611 612&saradc { 613 vref-supply = <&vcc_1v8_s0>; 614 status = "okay"; 615}; 616 617&sdhci { 618 bus-width = <8>; 619 cap-mmc-highspeed; 620 mmc-ddr-1_8v; 621 mmc-hs200-1_8v; 622 mmc-hs400-1_8v; 623 mmc-hs400-enhanced-strobe; 624 mmc-pwrseq = <&emmc_pwrseq>; 625 no-sdio; 626 no-sd; 627 non-removable; 628 pinctrl-names = "default"; 629 pinctrl-0 = <&emmc_bus8 &emmc_cmd &emmc_clk &emmc_data_strobe>; 630 vmmc-supply = <&vcc_3v3_s3>; 631 vqmmc-supply = <&vcc_1v8_s3>; 632 status = "okay"; 633}; 634 635&sdmmc { 636 broken-cd; 637 bus-width = <4>; 638 cap-sd-highspeed; 639 disable-wp; 640 max-frequency = <150000000>; 641 pinctrl-names = "default"; 642 pinctrl-0 = <&sdmmc_bus4 &sdmmc_cmd &sdmmc_clk>; 643 sd-uhs-sdr12; 644 sd-uhs-sdr25; 645 sd-uhs-sdr50; 646 sd-uhs-ddr50; 647 sd-uhs-sdr104; 648 vmmc-supply = <&vcc_3v3_s3>; 649 vqmmc-supply = <&vccio_sd_s0>; 650 status = "okay"; 651}; 652 653&spi2 { 654 assigned-clocks = <&cru CLK_SPI2>; 655 assigned-clock-rates = <200000000>; 656 num-cs = <1>; 657 pinctrl-names = "default"; 658 pinctrl-0 = <&spi2m2_cs0 &spi2m2_pins>; 659 status = "okay"; 660 661 pmic@0 { 662 compatible = "rockchip,rk806"; 663 reg = <0x0>; 664 interrupt-parent = <&gpio0>; 665 interrupts = <7 IRQ_TYPE_LEVEL_LOW>; 666 gpio-controller; 667 #gpio-cells = <2>; 668 pinctrl-names = "default"; 669 pinctrl-0 = <&pmic_pins>, <&rk806_dvs1_null>, 670 <&rk806_dvs2_null>, <&rk806_dvs3_null>; 671 spi-max-frequency = <1000000>; 672 system-power-controller; 673 vcc1-supply = <&vcc5v0_sys>; 674 vcc2-supply = <&vcc5v0_sys>; 675 vcc3-supply = <&vcc5v0_sys>; 676 vcc4-supply = <&vcc5v0_sys>; 677 vcc5-supply = <&vcc5v0_sys>; 678 vcc6-supply = <&vcc5v0_sys>; 679 vcc7-supply = <&vcc5v0_sys>; 680 vcc8-supply = <&vcc5v0_sys>; 681 vcc9-supply = <&vcc5v0_sys>; 682 vcc10-supply = <&vcc5v0_sys>; 683 vcc11-supply = <&vcc_2v0_pldo_s3>; 684 vcc12-supply = <&vcc5v0_sys>; 685 vcc13-supply = <&vcc_1v1_nldo_s3>; 686 vcc14-supply = <&vcc_1v1_nldo_s3>; 687 vcca-supply = <&vcc5v0_sys>; 688 689 rk806_dvs1_null: dvs1-null-pins { 690 pins = "gpio_pwrctrl1"; 691 function = "pin_fun0"; 692 }; 693 694 rk806_dvs2_null: dvs2-null-pins { 695 pins = "gpio_pwrctrl2"; 696 function = "pin_fun0"; 697 }; 698 699 rk806_dvs3_null: dvs3-null-pins { 700 pins = "gpio_pwrctrl3"; 701 function = "pin_fun0"; 702 }; 703 704 regulators { 705 vdd_gpu_s0: dcdc-reg1 { 706 regulator-boot-on; 707 regulator-min-microvolt = <550000>; 708 regulator-max-microvolt = <950000>; 709 regulator-ramp-delay = <12500>; 710 regulator-name = "vdd_gpu_s0"; 711 regulator-enable-ramp-delay = <400>; 712 713 regulator-state-mem { 714 regulator-off-in-suspend; 715 }; 716 }; 717 718 vdd_cpu_lit_s0: dcdc-reg2 { 719 regulator-name = "vdd_cpu_lit_s0"; 720 regulator-always-on; 721 regulator-boot-on; 722 regulator-min-microvolt = <550000>; 723 regulator-max-microvolt = <950000>; 724 regulator-ramp-delay = <12500>; 725 726 regulator-state-mem { 727 regulator-off-in-suspend; 728 }; 729 }; 730 731 vdd_log_s0: dcdc-reg3 { 732 regulator-name = "vdd_log_s0"; 733 regulator-always-on; 734 regulator-boot-on; 735 regulator-min-microvolt = <675000>; 736 regulator-max-microvolt = <750000>; 737 regulator-ramp-delay = <12500>; 738 739 regulator-state-mem { 740 regulator-off-in-suspend; 741 regulator-suspend-microvolt = <750000>; 742 }; 743 }; 744 745 vdd_vdenc_s0: dcdc-reg4 { 746 regulator-name = "vdd_vdenc_s0"; 747 regulator-always-on; 748 regulator-boot-on; 749 regulator-min-microvolt = <550000>; 750 regulator-max-microvolt = <950000>; 751 regulator-ramp-delay = <12500>; 752 753 regulator-state-mem { 754 regulator-off-in-suspend; 755 }; 756 }; 757 758 vdd_ddr_s0: dcdc-reg5 { 759 regulator-name = "vdd_ddr_s0"; 760 regulator-always-on; 761 regulator-boot-on; 762 regulator-min-microvolt = <675000>; 763 regulator-max-microvolt = <900000>; 764 regulator-ramp-delay = <12500>; 765 766 regulator-state-mem { 767 regulator-off-in-suspend; 768 regulator-suspend-microvolt = <850000>; 769 }; 770 }; 771 772 vdd2_ddr_s3: dcdc-reg6 { 773 regulator-name = "vdd2_ddr_s3"; 774 regulator-always-on; 775 regulator-boot-on; 776 777 regulator-state-mem { 778 regulator-on-in-suspend; 779 }; 780 }; 781 782 vcc_2v0_pldo_s3: dcdc-reg7 { 783 regulator-name = "vdd_2v0_pldo_s3"; 784 regulator-always-on; 785 regulator-boot-on; 786 regulator-min-microvolt = <2000000>; 787 regulator-max-microvolt = <2000000>; 788 regulator-ramp-delay = <12500>; 789 790 regulator-state-mem { 791 regulator-on-in-suspend; 792 regulator-suspend-microvolt = <2000000>; 793 }; 794 }; 795 796 vcc_3v3_s3: dcdc-reg8 { 797 regulator-name = "vcc_3v3_s3"; 798 regulator-always-on; 799 regulator-boot-on; 800 regulator-min-microvolt = <3300000>; 801 regulator-max-microvolt = <3300000>; 802 803 regulator-state-mem { 804 regulator-on-in-suspend; 805 regulator-suspend-microvolt = <3300000>; 806 }; 807 }; 808 809 vddq_ddr_s0: dcdc-reg9 { 810 regulator-name = "vddq_ddr_s0"; 811 regulator-always-on; 812 regulator-boot-on; 813 814 regulator-state-mem { 815 regulator-off-in-suspend; 816 }; 817 }; 818 819 vcc_1v8_s3: dcdc-reg10 { 820 regulator-name = "vcc_1v8_s3"; 821 regulator-always-on; 822 regulator-boot-on; 823 regulator-min-microvolt = <1800000>; 824 regulator-max-microvolt = <1800000>; 825 826 regulator-state-mem { 827 regulator-on-in-suspend; 828 regulator-suspend-microvolt = <1800000>; 829 }; 830 }; 831 832 vcca_1v8_s0: pldo-reg1 { 833 regulator-name = "vcca_1v8_s0"; 834 regulator-always-on; 835 regulator-boot-on; 836 regulator-min-microvolt = <1800000>; 837 regulator-max-microvolt = <1800000>; 838 839 regulator-state-mem { 840 regulator-off-in-suspend; 841 }; 842 }; 843 844 vcc_1v8_s0: pldo-reg2 { 845 regulator-name = "vcc_1v8_s0"; 846 regulator-always-on; 847 regulator-boot-on; 848 regulator-min-microvolt = <1800000>; 849 regulator-max-microvolt = <1800000>; 850 851 regulator-state-mem { 852 regulator-off-in-suspend; 853 regulator-suspend-microvolt = <1800000>; 854 }; 855 }; 856 857 vdda_1v2_s0: pldo-reg3 { 858 regulator-name = "vdda_1v2_s0"; 859 regulator-always-on; 860 regulator-boot-on; 861 regulator-min-microvolt = <1200000>; 862 regulator-max-microvolt = <1200000>; 863 864 regulator-state-mem { 865 regulator-off-in-suspend; 866 }; 867 }; 868 869 vcca_3v3_s0: pldo-reg4 { 870 regulator-name = "vcca_3v3_s0"; 871 regulator-always-on; 872 regulator-boot-on; 873 regulator-min-microvolt = <3300000>; 874 regulator-max-microvolt = <3300000>; 875 regulator-ramp-delay = <12500>; 876 877 regulator-state-mem { 878 regulator-off-in-suspend; 879 }; 880 }; 881 882 vccio_sd_s0: pldo-reg5 { 883 regulator-name = "vccio_sd_s0"; 884 regulator-always-on; 885 regulator-boot-on; 886 regulator-min-microvolt = <1800000>; 887 regulator-max-microvolt = <3300000>; 888 regulator-ramp-delay = <12500>; 889 890 regulator-state-mem { 891 regulator-off-in-suspend; 892 }; 893 }; 894 895 pldo6_s3: pldo-reg6 { 896 regulator-name = "pldo6_s3"; 897 regulator-always-on; 898 regulator-boot-on; 899 regulator-min-microvolt = <1800000>; 900 regulator-max-microvolt = <1800000>; 901 902 regulator-state-mem { 903 regulator-on-in-suspend; 904 regulator-suspend-microvolt = <1800000>; 905 }; 906 }; 907 908 vdd_0v75_s3: nldo-reg1 { 909 regulator-name = "vdd_0v75_s3"; 910 regulator-always-on; 911 regulator-boot-on; 912 regulator-min-microvolt = <750000>; 913 regulator-max-microvolt = <750000>; 914 915 regulator-state-mem { 916 regulator-on-in-suspend; 917 regulator-suspend-microvolt = <750000>; 918 }; 919 }; 920 921 vdda_ddr_pll_s0: nldo-reg2 { 922 regulator-name = "vdda_ddr_pll_s0"; 923 regulator-always-on; 924 regulator-boot-on; 925 regulator-min-microvolt = <850000>; 926 regulator-max-microvolt = <850000>; 927 928 regulator-state-mem { 929 regulator-off-in-suspend; 930 regulator-suspend-microvolt = <850000>; 931 }; 932 }; 933 934 vdda_0v75_s0: nldo-reg3 { 935 regulator-name = "vdda_0v75_s0"; 936 regulator-always-on; 937 regulator-boot-on; 938 regulator-min-microvolt = <750000>; 939 regulator-max-microvolt = <750000>; 940 941 regulator-state-mem { 942 regulator-off-in-suspend; 943 }; 944 }; 945 946 vdda_0v85_s0: nldo-reg4 { 947 regulator-name = "vdda_0v85_s0"; 948 regulator-always-on; 949 regulator-boot-on; 950 regulator-min-microvolt = <850000>; 951 regulator-max-microvolt = <850000>; 952 953 regulator-state-mem { 954 regulator-off-in-suspend; 955 }; 956 }; 957 958 vdd_0v75_s0: nldo-reg5 { 959 regulator-name = "vdd_0v75_s0"; 960 regulator-always-on; 961 regulator-boot-on; 962 regulator-min-microvolt = <750000>; 963 regulator-max-microvolt = <750000>; 964 965 regulator-state-mem { 966 regulator-off-in-suspend; 967 }; 968 }; 969 }; 970 }; 971}; 972 973&tsadc { 974 status = "okay"; 975}; 976 977/* USB-C P11 connector */ 978&u2phy0 { 979 status = "okay"; 980}; 981 982&u2phy0_otg { 983 status = "okay"; 984}; 985 986/* USB-C P12 connector */ 987&u2phy1 { 988 status = "okay"; 989}; 990 991&u2phy1_otg { 992 status = "okay"; 993}; 994 995&u2phy2 { 996 status = "okay"; 997}; 998 999&u2phy2_host { 1000 phy-supply = <&vcc_5v0_usb_a>; 1001 status = "okay"; 1002}; 1003 1004&u2phy3 { 1005 status = "okay"; 1006}; 1007 1008&u2phy3_host { 1009 status = "okay"; 1010}; 1011 1012/* Mule-ATtiny debug UART; typically baudrate 9600 */ 1013&uart0 { 1014 pinctrl-0 = <&uart0m0_xfer>; 1015 status = "okay"; 1016}; 1017 1018/* Main debug interface on P20 micro-USB B port and P21 header */ 1019&uart2 { 1020 pinctrl-0 = <&uart2m0_xfer>; 1021 status = "okay"; 1022}; 1023 1024/* RS485 on P19 */ 1025&uart3 { 1026 pinctrl-0 = <&uart3m2_xfer &uart3_rtsn>; 1027 linux,rs485-enabled-at-boot-time; 1028 status = "okay"; 1029}; 1030 1031/* Mule-ATtiny UPDI flashing UART */ 1032&uart7 { 1033 pinctrl-0 = <&uart7m0_xfer>; 1034 status = "okay"; 1035}; 1036 1037/* Type-C on P11 */ 1038&usbdp_phy0 { 1039 orientation-switch; 1040 pinctrl-names = "default"; 1041 pinctrl-0 = <&typec0_sbu_dc_pins>; 1042 sbu1-dc-gpios = <&gpio4 RK_PB0 GPIO_ACTIVE_HIGH>; /* Q7_USB_C0_SBU1_DC */ 1043 sbu2-dc-gpios = <&gpio1 RK_PC3 GPIO_ACTIVE_HIGH>; /* Q7_USB_C0_SBU2_DC */ 1044 status = "okay"; 1045 1046 port { 1047 #address-cells = <1>; 1048 #size-cells = <0>; 1049 1050 usbdp_phy0_typec_ss: endpoint@0 { 1051 reg = <0>; 1052 remote-endpoint = <&usbc0_ss>; 1053 }; 1054 1055 usbdp_phy0_typec_sbu: endpoint@1 { 1056 reg = <1>; 1057 remote-endpoint = <&usbc0_sbu>; 1058 }; 1059 }; 1060}; 1061 1062/* Type-C on P12 */ 1063&usbdp_phy1 { 1064 orientation-switch; 1065 pinctrl-names = "default"; 1066 pinctrl-0 = <&typec1_sbu_dc_pins>; 1067 sbu1-dc-gpios = <&gpio0 RK_PD4 GPIO_ACTIVE_HIGH>; /* Q7_USB_C1_SBU1_DC */ 1068 sbu2-dc-gpios = <&gpio1 RK_PB5 GPIO_ACTIVE_HIGH>; /* Q7_USB_C1_SBU2_DC */ 1069 status = "okay"; 1070 1071 port { 1072 #address-cells = <1>; 1073 #size-cells = <0>; 1074 1075 usbdp_phy1_typec_ss: endpoint@0 { 1076 reg = <0>; 1077 remote-endpoint = <&usbc1_ss>; 1078 }; 1079 1080 usbdp_phy1_typec_sbu: endpoint@1 { 1081 reg = <1>; 1082 remote-endpoint = <&usbc1_sbu>; 1083 }; 1084 }; 1085}; 1086 1087/* host0 on P10 USB-A */ 1088&usb_host0_ehci { 1089 status = "okay"; 1090}; 1091 1092/* host0 on P10 USB-A */ 1093&usb_host0_ohci { 1094 status = "okay"; 1095}; 1096 1097/* host0 on P11 USB-C */ 1098&usb_host0_xhci { 1099 usb-role-switch; 1100 status = "okay"; 1101 1102 port { 1103 #address-cells = <1>; 1104 #size-cells = <0>; 1105 1106 usb_host0_xhci_drd_sw: endpoint { 1107 remote-endpoint = <&usbc0_hs>; 1108 }; 1109 }; 1110}; 1111 1112/* host1 on P12 USB-C */ 1113&usb_host1_xhci { 1114 usb-role-switch; 1115 status = "okay"; 1116 1117 port { 1118 #address-cells = <1>; 1119 #size-cells = <0>; 1120 1121 usb_host1_xhci_drd_sw: endpoint { 1122 remote-endpoint = <&usbc1_hs>; 1123 }; 1124 }; 1125}; 1126 1127/* host1 on M.2 E-key */ 1128&usb_host1_ehci { 1129 status = "okay"; 1130}; 1131 1132/* host1 on M.2 E-key */ 1133&usb_host1_ohci { 1134 status = "okay"; 1135}; 1136 1137&vop { 1138 status = "okay"; 1139}; 1140 1141&vop_mmu { 1142 status = "okay"; 1143}; 1144 1145&vp0 { 1146 vp0_out_hdmi0: endpoint@ROCKCHIP_VOP2_EP_HDMI0 { 1147 reg = <ROCKCHIP_VOP2_EP_HDMI0>; 1148 remote-endpoint = <&hdmi0_in_vp0>; 1149 }; 1150}; 1151