1// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2/* 3 * Copyright (c) 2026 LCKFB 4 */ 5 6/dts-v1/; 7 8#include <dt-bindings/gpio/gpio.h> 9#include <dt-bindings/input/input.h> 10#include <dt-bindings/interrupt-controller/irq.h> 11#include <dt-bindings/leds/common.h> 12#include <dt-bindings/pinctrl/rockchip.h> 13#include <dt-bindings/soc/rockchip,vop2.h> 14#include <dt-bindings/usb/pd.h> 15#include "rk3576.dtsi" 16 17/ { 18 model = "LCKFB TaishanPi 3M"; 19 compatible = "lckfb,tspi-3m-rk3576", "rockchip,rk3576"; 20 21 aliases { 22 mmc0 = &sdhci; 23 mmc1 = &sdmmc; 24 }; 25 26 chosen { 27 stdout-path = "serial0:1500000n8"; 28 }; 29 30 adc-keys { 31 compatible = "adc-keys"; 32 io-channels = <&saradc 1>; 33 io-channel-names = "buttons"; 34 keyup-threshold-microvolt = <1800000>; 35 poll-interval = <100>; 36 37 button-recovery { 38 label = "Recovery"; 39 linux,code = <KEY_VENDOR>; 40 press-threshold-microvolt = <18000>; 41 }; 42 }; 43 44 leds { 45 compatible = "gpio-leds"; 46 47 led-0 { 48 color = <LED_COLOR_ID_GREEN>; 49 function = LED_FUNCTION_HEARTBEAT; 50 gpios = <&gpio0 RK_PA0 GPIO_ACTIVE_LOW>; 51 linux,default-trigger = "heartbeat"; 52 }; 53 }; 54 55 hdmi-con { 56 compatible = "hdmi-connector"; 57 type = "a"; 58 59 port { 60 hdmi_con_in: endpoint { 61 remote-endpoint = <&hdmi_out_con>; 62 }; 63 }; 64 }; 65 66 vcc_5v0_usb2_host: regulator-vcc-5v0-usb2-host { 67 compatible = "regulator-fixed"; 68 enable-active-high; 69 gpio = <&gpio2 RK_PB5 GPIO_ACTIVE_HIGH>; 70 pinctrl-names = "default"; 71 pinctrl-0 = <&usb2_host_pwren>; 72 regulator-max-microvolt = <5000000>; 73 regulator-min-microvolt = <5000000>; 74 regulator-name = "vcc_5v0_usb2_host"; 75 vin-supply = <&vcc_5v0_sys>; 76 }; 77 78 vcc_5v0_usb3_host: regulator-vcc-5v0-usb3-host { 79 compatible = "regulator-fixed"; 80 enable-active-high; 81 gpio = <&gpio0 RK_PC3 GPIO_ACTIVE_HIGH>; 82 pinctrl-names = "default"; 83 pinctrl-0 = <&usb3_host_pwren>; 84 regulator-max-microvolt = <5000000>; 85 regulator-min-microvolt = <5000000>; 86 regulator-name = "vcc_5v0_usb3_host"; 87 vin-supply = <&vcc_5v0_sys>; 88 }; 89 90 vcc_5v0_typec: regulator-vcc-5v0-typec { 91 compatible = "regulator-fixed"; 92 enable-active-high; 93 gpio = <&gpio0 RK_PB6 GPIO_ACTIVE_HIGH>; 94 pinctrl-names = "default"; 95 pinctrl-0 = <&typec_vbus_en>; 96 regulator-max-microvolt = <5000000>; 97 regulator-min-microvolt = <5000000>; 98 regulator-name = "vcc_5v0_typec"; 99 vin-supply = <&vcc_5v0_sys>; 100 }; 101 102 vcc_5v0_sys: regulator-vcc-5v0-sys { 103 compatible = "regulator-fixed"; 104 regulator-name = "vcc_5v0_sys"; 105 regulator-always-on; 106 regulator-boot-on; 107 regulator-min-microvolt = <5000000>; 108 regulator-max-microvolt = <5000000>; 109 }; 110 111 vcc_1v1_nldo_s3: regulator-vcc-1v1-nldo-s3 { 112 compatible = "regulator-fixed"; 113 regulator-name = "vcc_1v1_nldo_s3"; 114 regulator-always-on; 115 regulator-boot-on; 116 regulator-min-microvolt = <1100000>; 117 regulator-max-microvolt = <1100000>; 118 vin-supply = <&vcc_5v0_sys>; 119 }; 120 121 vcc_2v0_pldo_s3: regulator-vcc-2v0-pldo-s3 { 122 compatible = "regulator-fixed"; 123 regulator-name = "vcc_2v0_pldo_s3"; 124 regulator-always-on; 125 regulator-boot-on; 126 regulator-min-microvolt = <2000000>; 127 regulator-max-microvolt = <2000000>; 128 vin-supply = <&vcc_5v0_sys>; 129 }; 130 131 vcc_3v3_minipcie: regulator-vcc-3v3-minipcie { 132 compatible = "regulator-fixed"; 133 enable-active-high; 134 gpio = <&gpio1 RK_PD5 GPIO_ACTIVE_HIGH>; 135 pinctrl-names = "default"; 136 pinctrl-0 = <&minipcie_pwren>; 137 regulator-boot-on; 138 regulator-max-microvolt = <3300000>; 139 regulator-min-microvolt = <3300000>; 140 regulator-name = "vcc_3v3_minipcie"; 141 startup-delay-us = <5000>; 142 vin-supply = <&vcc_5v0_sys>; 143 }; 144 145 vcc_3v3_wl: regulator-3v3-wl { 146 compatible = "regulator-fixed"; 147 gpio = <&gpio0 RK_PD1 GPIO_ACTIVE_LOW>; 148 pinctrl-names = "default"; 149 pinctrl-0 = <&wifi_pwren_l>; 150 regulator-boot-on; 151 regulator-max-microvolt = <3300000>; 152 regulator-min-microvolt = <3300000>; 153 regulator-name = "vcc_3v3_wl"; 154 vin-supply = <&vcc_3v3_s0>; 155 }; 156 157 vcc_3v3_s0: regulator-vcc-3v3-s0 { 158 compatible = "regulator-fixed"; 159 regulator-name = "vcc_3v3_s0"; 160 regulator-always-on; 161 regulator-boot-on; 162 regulator-min-microvolt = <3300000>; 163 regulator-max-microvolt = <3300000>; 164 vin-supply = <&vcc_3v3_s3>; 165 }; 166 167 sdio_pwrseq: sdio-pwrseq { 168 compatible = "mmc-pwrseq-simple"; 169 clock-names = "ext_clock"; 170 clocks = <&hym8563>; 171 pinctrl-names = "default"; 172 pinctrl-0 = <&wifi_reg_on_h>; 173 post-power-on-delay-ms = <200>; 174 reset-gpios = <&gpio1 RK_PC6 GPIO_ACTIVE_LOW>; 175 }; 176 177 usb_a_3_0: usb-a-connector-0 { 178 compatible = "usb-a-connector"; 179 label = "USB 3.0 Type-A"; 180 vbus-supply = <&vcc_5v0_usb3_host>; 181 182 ports { 183 #address-cells = <1>; 184 #size-cells = <0>; 185 186 port@0 { 187 reg = <0>; 188 189 usb_a_3_0_hs: endpoint { 190 remote-endpoint = <&usb_hub_port1>; 191 }; 192 }; 193 194 port@1 { 195 reg = <1>; 196 197 usb_a_3_0_ss: endpoint { 198 remote-endpoint = <&usb_drd1_ss>; 199 }; 200 }; 201 }; 202 }; 203 204 usb_a_2_0_1: usb-a-connector-1 { 205 compatible = "usb-a-connector"; 206 label = "USB 2.0 Type-A 1"; 207 vbus-supply = <&vcc_5v0_usb3_host>; 208 209 port { 210 usb_a_2_0_1_hs: endpoint { 211 remote-endpoint = <&usb_hub_port2>; 212 }; 213 }; 214 }; 215 216 usb_a_2_0_2: usb-a-connector-2 { 217 compatible = "usb-a-connector"; 218 label = "USB 2.0 Type-A 2"; 219 vbus-supply = <&vcc_5v0_usb2_host>; 220 221 port { 222 usb_a_2_0_2_hs: endpoint { 223 remote-endpoint = <&usb_hub_port3>; 224 }; 225 }; 226 }; 227 228 usb_a_2_0_3: usb-a-connector-3 { 229 compatible = "usb-a-connector"; 230 label = "USB 2.0 Type-A 3"; 231 vbus-supply = <&vcc_5v0_usb2_host>; 232 233 port { 234 usb_a_2_0_3_hs: endpoint { 235 remote-endpoint = <&usb_hub_port4>; 236 }; 237 }; 238 }; 239}; 240 241&combphy0_ps { 242 status = "okay"; 243}; 244 245&combphy1_psu { 246 status = "okay"; 247}; 248 249&cpu_b0 { 250 cpu-supply = <&vdd_cpu_big_s0>; 251}; 252 253&cpu_b1 { 254 cpu-supply = <&vdd_cpu_big_s0>; 255}; 256 257&cpu_b2 { 258 cpu-supply = <&vdd_cpu_big_s0>; 259}; 260 261&cpu_b3 { 262 cpu-supply = <&vdd_cpu_big_s0>; 263}; 264 265&cpu_l0 { 266 cpu-supply = <&vdd_cpu_lit_s0>; 267}; 268 269&cpu_l1 { 270 cpu-supply = <&vdd_cpu_lit_s0>; 271}; 272 273&cpu_l2 { 274 cpu-supply = <&vdd_cpu_lit_s0>; 275}; 276 277&cpu_l3 { 278 cpu-supply = <&vdd_cpu_lit_s0>; 279}; 280 281&gmac0 { 282 clock_in_out = "input"; 283 phy-handle = <&rgmii_phy0>; 284 /* RX delay is added by the PHY, TX delay by the GMAC. */ 285 phy-mode = "rgmii-rxid"; 286 pinctrl-names = "default"; 287 pinctrl-0 = <ð0m0_miim 288 ð0m0_tx_bus2 289 ð0m0_rx_bus2 290 ð0m0_rgmii_clk 291 ð0m0_rgmii_bus 292 ð0m0_mclk>; 293 tx_delay = <0x24>; 294 status = "okay"; 295}; 296 297&hdmi { 298 /* The external level shifters must be on for TMDS operation. */ 299 frl-enable-gpios = <&gpio4 RK_PC6 GPIO_ACTIVE_LOW>; 300 status = "okay"; 301}; 302 303&hdmi_in { 304 hdmi_in_vp0: endpoint { 305 remote-endpoint = <&vp0_out_hdmi>; 306 }; 307}; 308 309&hdmi_out { 310 hdmi_out_con: endpoint { 311 remote-endpoint = <&hdmi_con_in>; 312 }; 313}; 314 315&hdmi_sound { 316 simple-audio-card,mclk-fs = <128>; 317 status = "okay"; 318 319 simple-audio-card,cpu { 320 dai-tdm-slot-num = <2>; 321 dai-tdm-slot-width = <32>; 322 }; 323}; 324 325&hdptxphy { 326 status = "okay"; 327}; 328 329&i2c1 { 330 status = "okay"; 331 332 pmic@23 { 333 compatible = "rockchip,rk806"; 334 reg = <0x23>; 335 #gpio-cells = <2>; 336 gpio-controller; 337 interrupt-parent = <&gpio0>; 338 interrupts = <6 IRQ_TYPE_LEVEL_LOW>; 339 pinctrl-names = "default"; 340 pinctrl-0 = <&pmic_pins 341 &rk806_dvs1_null 342 &rk806_dvs2_null 343 &rk806_dvs3_null>; 344 system-power-controller; 345 vcc1-supply = <&vcc_5v0_sys>; 346 vcc2-supply = <&vcc_5v0_sys>; 347 vcc3-supply = <&vcc_5v0_sys>; 348 vcc4-supply = <&vcc_5v0_sys>; 349 vcc5-supply = <&vcc_5v0_sys>; 350 vcc6-supply = <&vcc_5v0_sys>; 351 vcc7-supply = <&vcc_5v0_sys>; 352 vcc8-supply = <&vcc_5v0_sys>; 353 vcc9-supply = <&vcc_5v0_sys>; 354 vcc10-supply = <&vcc_5v0_sys>; 355 vcc11-supply = <&vcc_2v0_pldo_s3>; 356 vcc12-supply = <&vcc_5v0_sys>; 357 vcc13-supply = <&vcc_1v1_nldo_s3>; 358 vcc14-supply = <&vcc_1v1_nldo_s3>; 359 vcca-supply = <&vcc_5v0_sys>; 360 361 rk806_dvs1_null: dvs1-null-pins { 362 pins = "gpio_pwrctrl1"; 363 function = "pin_fun0"; 364 }; 365 366 rk806_dvs2_null: dvs2-null-pins { 367 pins = "gpio_pwrctrl2"; 368 function = "pin_fun0"; 369 }; 370 371 rk806_dvs3_null: dvs3-null-pins { 372 pins = "gpio_pwrctrl3"; 373 function = "pin_fun0"; 374 }; 375 376 regulators { 377 vdd_cpu_big_s0: dcdc-reg1 { 378 regulator-always-on; 379 regulator-boot-on; 380 regulator-enable-ramp-delay = <400>; 381 regulator-min-microvolt = <550000>; 382 regulator-max-microvolt = <950000>; 383 regulator-name = "vdd_cpu_big_s0"; 384 regulator-ramp-delay = <12500>; 385 386 regulator-state-mem { 387 regulator-off-in-suspend; 388 }; 389 }; 390 391 vdd_npu_s0: dcdc-reg2 { 392 regulator-boot-on; 393 regulator-enable-ramp-delay = <400>; 394 regulator-min-microvolt = <550000>; 395 regulator-max-microvolt = <950000>; 396 regulator-name = "vdd_npu_s0"; 397 regulator-ramp-delay = <12500>; 398 399 regulator-state-mem { 400 regulator-off-in-suspend; 401 }; 402 }; 403 404 vdd_cpu_lit_s0: dcdc-reg3 { 405 regulator-always-on; 406 regulator-boot-on; 407 regulator-min-microvolt = <550000>; 408 regulator-max-microvolt = <950000>; 409 regulator-name = "vdd_cpu_lit_s0"; 410 regulator-ramp-delay = <12500>; 411 412 regulator-state-mem { 413 regulator-off-in-suspend; 414 }; 415 }; 416 417 vcc_3v3_s3: dcdc-reg4 { 418 regulator-always-on; 419 regulator-boot-on; 420 regulator-min-microvolt = <3300000>; 421 regulator-max-microvolt = <3300000>; 422 regulator-name = "vcc_3v3_s3"; 423 424 regulator-state-mem { 425 regulator-on-in-suspend; 426 }; 427 }; 428 429 vdd_gpu_s0: dcdc-reg5 { 430 regulator-boot-on; 431 regulator-enable-ramp-delay = <400>; 432 regulator-min-microvolt = <550000>; 433 regulator-max-microvolt = <900000>; 434 regulator-name = "vdd_gpu_s0"; 435 regulator-ramp-delay = <12500>; 436 437 regulator-state-mem { 438 regulator-off-in-suspend; 439 }; 440 }; 441 442 vddq_ddr_s0: dcdc-reg6 { 443 regulator-always-on; 444 regulator-boot-on; 445 regulator-name = "vddq_ddr_s0"; 446 447 regulator-state-mem { 448 regulator-off-in-suspend; 449 }; 450 }; 451 452 vdd_logic_s0: dcdc-reg7 { 453 regulator-always-on; 454 regulator-boot-on; 455 regulator-min-microvolt = <550000>; 456 regulator-max-microvolt = <800000>; 457 regulator-name = "vdd_logic_s0"; 458 459 regulator-state-mem { 460 regulator-off-in-suspend; 461 }; 462 }; 463 464 vcc_1v8_s3: dcdc-reg8 { 465 regulator-always-on; 466 regulator-boot-on; 467 regulator-min-microvolt = <1800000>; 468 regulator-max-microvolt = <1800000>; 469 regulator-name = "vcc_1v8_s3"; 470 471 regulator-state-mem { 472 regulator-on-in-suspend; 473 }; 474 }; 475 476 vdd2_ddr_s3: dcdc-reg9 { 477 regulator-always-on; 478 regulator-boot-on; 479 regulator-name = "vdd2_ddr_s3"; 480 481 regulator-state-mem { 482 regulator-on-in-suspend; 483 }; 484 }; 485 486 vdd_ddr_s0: dcdc-reg10 { 487 regulator-always-on; 488 regulator-boot-on; 489 regulator-min-microvolt = <550000>; 490 regulator-max-microvolt = <1200000>; 491 regulator-name = "vdd_ddr_s0"; 492 493 regulator-state-mem { 494 regulator-off-in-suspend; 495 }; 496 }; 497 498 vcca_1v8_s0: pldo-reg1 { 499 regulator-always-on; 500 regulator-boot-on; 501 regulator-min-microvolt = <1800000>; 502 regulator-max-microvolt = <1800000>; 503 regulator-name = "vcca_1v8_s0"; 504 505 regulator-state-mem { 506 regulator-off-in-suspend; 507 }; 508 }; 509 510 vcca1v8_pldo2_s0: pldo-reg2 { 511 regulator-always-on; 512 regulator-boot-on; 513 regulator-min-microvolt = <1800000>; 514 regulator-max-microvolt = <1800000>; 515 regulator-name = "vcca1v8_pldo2_s0"; 516 517 regulator-state-mem { 518 regulator-off-in-suspend; 519 }; 520 }; 521 522 vdda_1v2_s0: pldo-reg3 { 523 regulator-always-on; 524 regulator-boot-on; 525 regulator-min-microvolt = <1200000>; 526 regulator-max-microvolt = <1200000>; 527 regulator-name = "vdda_1v2_s0"; 528 529 regulator-state-mem { 530 regulator-off-in-suspend; 531 }; 532 }; 533 534 vcca_3v3_s0: pldo-reg4 { 535 regulator-always-on; 536 regulator-boot-on; 537 regulator-min-microvolt = <3300000>; 538 regulator-max-microvolt = <3300000>; 539 regulator-name = "vcca_3v3_s0"; 540 541 regulator-state-mem { 542 regulator-off-in-suspend; 543 }; 544 }; 545 546 vccio_sd_s0: pldo-reg5 { 547 regulator-always-on; 548 regulator-boot-on; 549 regulator-min-microvolt = <1800000>; 550 regulator-max-microvolt = <3300000>; 551 regulator-name = "vccio_sd_s0"; 552 553 regulator-state-mem { 554 regulator-off-in-suspend; 555 }; 556 }; 557 558 vcca1v8_pldo6_s3: pldo-reg6 { 559 regulator-always-on; 560 regulator-boot-on; 561 regulator-min-microvolt = <1800000>; 562 regulator-max-microvolt = <1800000>; 563 regulator-name = "vcca1v8_pldo6_s3"; 564 565 regulator-state-mem { 566 regulator-on-in-suspend; 567 }; 568 }; 569 570 vdd_0v75_s3: nldo-reg1 { 571 regulator-always-on; 572 regulator-boot-on; 573 regulator-min-microvolt = <750000>; 574 regulator-max-microvolt = <750000>; 575 regulator-name = "vdd_0v75_s3"; 576 577 regulator-state-mem { 578 regulator-on-in-suspend; 579 }; 580 }; 581 582 vdda_ddr_pll_s0: nldo-reg2 { 583 regulator-always-on; 584 regulator-boot-on; 585 regulator-min-microvolt = <850000>; 586 regulator-max-microvolt = <850000>; 587 regulator-name = "vdda_ddr_pll_s0"; 588 589 regulator-state-mem { 590 regulator-off-in-suspend; 591 }; 592 }; 593 594 vdda_hdmi_s0: nldo-reg3 { 595 regulator-always-on; 596 regulator-boot-on; 597 regulator-min-microvolt = <837500>; 598 regulator-max-microvolt = <837500>; 599 regulator-name = "vdda_hdmi_s0"; 600 601 regulator-state-mem { 602 regulator-off-in-suspend; 603 }; 604 }; 605 606 vdda_0v85_s0: nldo-reg4 { 607 regulator-always-on; 608 regulator-boot-on; 609 regulator-min-microvolt = <850000>; 610 regulator-max-microvolt = <850000>; 611 regulator-name = "vdda_0v85_s0"; 612 613 regulator-state-mem { 614 regulator-off-in-suspend; 615 }; 616 }; 617 618 vdda_0v75_s0: nldo-reg5 { 619 regulator-always-on; 620 regulator-boot-on; 621 regulator-min-microvolt = <750000>; 622 regulator-max-microvolt = <750000>; 623 regulator-name = "vdda_0v75_s0"; 624 625 regulator-state-mem { 626 regulator-off-in-suspend; 627 }; 628 }; 629 }; 630 }; 631}; 632 633&i2c2 { 634 status = "okay"; 635 636 typec@22 { 637 compatible = "fcs,fusb302"; 638 reg = <0x22>; 639 interrupt-parent = <&gpio0>; 640 interrupts = <RK_PB4 IRQ_TYPE_LEVEL_LOW>; 641 pinctrl-names = "default"; 642 pinctrl-0 = <&fusb302_int>; 643 vbus-supply = <&vcc_5v0_typec>; 644 645 connector { 646 compatible = "usb-c-connector"; 647 data-role = "host"; 648 label = "USB-C"; 649 power-role = "source"; 650 source-pdos = <PDO_FIXED(5000, 500, PDO_FIXED_USB_COMM)>; 651 652 ports { 653 #address-cells = <1>; 654 #size-cells = <0>; 655 656 port@0 { 657 reg = <0>; 658 659 usb_c_hs: endpoint { 660 remote-endpoint = <&usb_drd0_hs>; 661 }; 662 }; 663 664 port@1 { 665 reg = <1>; 666 667 usb_c_ss: endpoint { 668 remote-endpoint = <&usbdp_phy_ep>; 669 }; 670 }; 671 }; 672 }; 673 }; 674 675 hym8563: rtc@51 { 676 compatible = "haoyu,hym8563"; 677 reg = <0x51>; 678 #clock-cells = <0>; 679 clock-output-names = "hym8563"; 680 interrupt-parent = <&gpio0>; 681 interrupts = <RK_PA5 IRQ_TYPE_LEVEL_LOW>; 682 pinctrl-names = "default"; 683 pinctrl-0 = <&rtc_int_l>; 684 wakeup-source; 685 }; 686}; 687 688&mdio0 { 689 rgmii_phy0: ethernet-phy@1 { 690 compatible = "ethernet-phy-id7b74.4412"; 691 reg = <0x1>; 692 pinctrl-names = "default"; 693 pinctrl-0 = <&gmac0_phy_reset>; 694 reset-assert-us = <20000>; 695 reset-deassert-us = <100000>; 696 reset-gpios = <&gpio2 RK_PB3 GPIO_ACTIVE_LOW>; 697 }; 698}; 699 700&pinctrl { 701 ethernet { 702 gmac0_phy_reset: gmac0-phy-reset { 703 rockchip,pins = <2 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>; 704 }; 705 }; 706 707 minipcie { 708 minipcie_pwren: minipcie-pwren { 709 rockchip,pins = <1 RK_PD5 RK_FUNC_GPIO &pcfg_pull_none>; 710 }; 711 }; 712 713 rtc { 714 rtc_int_l: rtc-int-l { 715 rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>; 716 }; 717 }; 718 719 wireless-bluetooth { 720 bt_host_wake_h: bt-host-wake-h { 721 rockchip,pins = <0 RK_PB1 RK_FUNC_GPIO &pcfg_pull_down>; 722 }; 723 724 bt_reg_on_h: bt-reg-on-h { 725 rockchip,pins = <1 RK_PC7 RK_FUNC_GPIO &pcfg_pull_none>; 726 }; 727 728 bt_wake_h: bt-wake-h { 729 rockchip,pins = <1 RK_PD4 RK_FUNC_GPIO &pcfg_pull_none>; 730 }; 731 }; 732 733 wireless-wlan { 734 wifi_host_wake_h: wifi-host-wake-h { 735 rockchip,pins = <0 RK_PB0 RK_FUNC_GPIO &pcfg_pull_down>; 736 }; 737 738 wifi_pwren_l: wifi-pwren-l { 739 rockchip,pins = <0 RK_PD1 RK_FUNC_GPIO &pcfg_pull_up>; 740 }; 741 742 wifi_reg_on_h: wifi-reg-on-h { 743 rockchip,pins = <1 RK_PC6 RK_FUNC_GPIO &pcfg_pull_up>; 744 }; 745 }; 746 747 sdmmc { 748 sdmmc0_det_l: sdmmc0-det-l { 749 rockchip,pins = <0 RK_PA7 RK_FUNC_GPIO &pcfg_pull_up>; 750 }; 751 }; 752 753 usb-host { 754 usb2_host_pwren: usb2-host-pwren { 755 rockchip,pins = <2 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>; 756 }; 757 758 usb3_host_pwren: usb3-host-pwren { 759 rockchip,pins = <0 RK_PC3 RK_FUNC_GPIO &pcfg_pull_none>; 760 }; 761 }; 762 763 usb-typec { 764 fusb302_int: fusb302-int { 765 rockchip,pins = <0 RK_PB4 RK_FUNC_GPIO &pcfg_pull_up>; 766 }; 767 768 typec_vbus_en: typec-vbus-en { 769 rockchip,pins = <0 RK_PB6 RK_FUNC_GPIO &pcfg_pull_none>; 770 }; 771 }; 772}; 773 774&sai6 { 775 rockchip,sai-tx-route = <0>; 776 status = "okay"; 777}; 778 779&saradc { 780 vref-supply = <&vcca1v8_pldo2_s0>; 781 status = "okay"; 782}; 783 784&sata0 { 785 target-supply = <&vcc_3v3_minipcie>; 786 status = "okay"; 787}; 788 789&sdio { 790 bus-width = <4>; 791 cap-sd-highspeed; 792 cap-sdio-irq; 793 keep-power-in-suspend; 794 max-frequency = <100000000>; 795 mmc-pwrseq = <&sdio_pwrseq>; 796 no-mmc; 797 no-sd; 798 non-removable; 799 sd-uhs-sdr104; 800 vmmc-supply = <&vcc_3v3_wl>; 801 #address-cells = <1>; 802 #size-cells = <0>; 803 status = "okay"; 804 805 wifi@1 { 806 compatible = "brcm,bcm43456-fmac", "brcm,bcm4329-fmac"; 807 reg = <1>; 808 interrupt-parent = <&gpio0>; 809 interrupts = <RK_PB0 IRQ_TYPE_LEVEL_HIGH>; 810 interrupt-names = "host-wake"; 811 pinctrl-names = "default"; 812 pinctrl-0 = <&wifi_host_wake_h>; 813 }; 814}; 815 816&sdmmc { 817 bus-width = <4>; 818 cap-sd-highspeed; 819 cd-gpios = <&gpio0 RK_PA7 GPIO_ACTIVE_LOW>; 820 disable-wp; 821 max-frequency = <50000000>; 822 no-mmc; 823 no-sdio; 824 pinctrl-names = "default"; 825 /* GPIO0_B6/SDMMC0_PWREN is not connected on this board. */ 826 pinctrl-0 = <&sdmmc0_clk &sdmmc0_cmd &sdmmc0_det_l &sdmmc0_bus4>; 827 vmmc-supply = <&vcc_3v3_s0>; 828 vqmmc-supply = <&vccio_sd_s0>; 829 status = "okay"; 830}; 831 832&sdhci { 833 bus-width = <8>; 834 full-pwr-cycle-in-suspend; 835 mmc-hs400-1_8v; 836 mmc-hs400-enhanced-strobe; 837 no-sd; 838 no-sdio; 839 non-removable; 840 vmmc-supply = <&vcc_3v3_s3>; 841 vqmmc-supply = <&vcc_1v8_s3>; 842 status = "okay"; 843}; 844 845&tsadc { 846 status = "okay"; 847}; 848 849&uart0 { 850 status = "okay"; 851}; 852 853&uart6 { 854 pinctrl-names = "default"; 855 pinctrl-0 = <&uart6m1_xfer &uart6m1_ctsn &uart6m1_rtsn>; 856 uart-has-rtscts; 857 status = "okay"; 858 859 bluetooth { 860 compatible = "brcm,bcm4345c5"; 861 clocks = <&hym8563>; 862 clock-names = "lpo"; 863 device-wakeup-gpios = <&gpio1 RK_PD4 GPIO_ACTIVE_HIGH>; 864 interrupt-parent = <&gpio0>; 865 interrupts = <RK_PB1 IRQ_TYPE_LEVEL_HIGH>; 866 interrupt-names = "host-wakeup"; 867 max-speed = <1500000>; 868 pinctrl-names = "default"; 869 pinctrl-0 = <&bt_host_wake_h &bt_reg_on_h &bt_wake_h>; 870 shutdown-gpios = <&gpio1 RK_PC7 GPIO_ACTIVE_HIGH>; 871 vbat-supply = <&vcc_3v3_wl>; 872 }; 873}; 874 875&u2phy0 { 876 status = "okay"; 877}; 878 879&u2phy0_otg { 880 status = "okay"; 881}; 882 883&u2phy1 { 884 status = "okay"; 885}; 886 887&u2phy1_otg { 888 status = "okay"; 889}; 890 891&usbdp_phy { 892 mode-switch; 893 orientation-switch; 894 status = "okay"; 895 896 port { 897 usbdp_phy_ep: endpoint { 898 remote-endpoint = <&usb_c_ss>; 899 }; 900 }; 901}; 902 903&usb_drd0_dwc3 { 904 usb-role-switch; 905 status = "okay"; 906 907 ports { 908 #address-cells = <1>; 909 #size-cells = <0>; 910 911 port@0 { 912 reg = <0>; 913 914 usb_drd0_hs: endpoint { 915 remote-endpoint = <&usb_c_hs>; 916 }; 917 }; 918 }; 919}; 920 921&usb_drd1_dwc3 { 922 #address-cells = <1>; 923 #size-cells = <0>; 924 925 dr_mode = "host"; 926 status = "okay"; 927 928 usb_hub: hub@1 { 929 compatible = "usb1a40,0201"; 930 reg = <1>; 931 932 ports { 933 #address-cells = <1>; 934 #size-cells = <0>; 935 936 port@1 { 937 reg = <1>; 938 939 usb_hub_port1: endpoint { 940 remote-endpoint = <&usb_a_3_0_hs>; 941 }; 942 }; 943 944 port@2 { 945 reg = <2>; 946 947 usb_hub_port2: endpoint { 948 remote-endpoint = <&usb_a_2_0_1_hs>; 949 }; 950 }; 951 952 port@3 { 953 reg = <3>; 954 955 usb_hub_port3: endpoint { 956 remote-endpoint = <&usb_a_2_0_2_hs>; 957 }; 958 }; 959 960 port@4 { 961 reg = <4>; 962 963 usb_hub_port4: endpoint { 964 remote-endpoint = <&usb_a_2_0_3_hs>; 965 }; 966 }; 967 }; 968 }; 969 970 ports { 971 #address-cells = <1>; 972 #size-cells = <0>; 973 974 port@1 { 975 reg = <1>; 976 977 usb_drd1_ss: endpoint { 978 remote-endpoint = <&usb_a_3_0_ss>; 979 }; 980 }; 981 }; 982}; 983 984&vop { 985 status = "okay"; 986}; 987 988&vop_mmu { 989 status = "okay"; 990}; 991 992&vp0 { 993 vp0_out_hdmi: endpoint@ROCKCHIP_VOP2_EP_HDMI0 { 994 reg = <ROCKCHIP_VOP2_EP_HDMI0>; 995 remote-endpoint = <&hdmi_in_vp0>; 996 }; 997}; 998