1// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2 3/dts-v1/; 4#include <dt-bindings/gpio/gpio.h> 5#include <dt-bindings/leds/common.h> 6#include <dt-bindings/pinctrl/rockchip.h> 7#include <dt-bindings/soc/rockchip,vop2.h> 8#include "rk3568.dtsi" 9 10/ { 11 model = "Radxa ROCK3 Model A"; 12 compatible = "radxa,rock3a", "rockchip,rk3568"; 13 14 aliases { 15 ethernet0 = &gmac1; 16 mmc0 = &sdhci; 17 mmc1 = &sdmmc0; 18 }; 19 20 chosen: chosen { 21 stdout-path = "serial2:1500000n8"; 22 }; 23 24 hdmi-con { 25 compatible = "hdmi-connector"; 26 type = "a"; 27 28 port { 29 hdmi_con_in: endpoint { 30 remote-endpoint = <&hdmi_out_con>; 31 }; 32 }; 33 }; 34 35 gmac1_clkin: external-gmac1-clock { 36 compatible = "fixed-clock"; 37 clock-frequency = <125000000>; 38 clock-output-names = "gmac1_clkin"; 39 #clock-cells = <0>; 40 }; 41 42 leds { 43 compatible = "gpio-leds"; 44 45 led_user: led-0 { 46 gpios = <&gpio0 RK_PB7 GPIO_ACTIVE_HIGH>; 47 function = LED_FUNCTION_HEARTBEAT; 48 color = <LED_COLOR_ID_BLUE>; 49 linux,default-trigger = "heartbeat"; 50 pinctrl-names = "default"; 51 pinctrl-0 = <&led_user_en>; 52 }; 53 }; 54 55 rk809-sound { 56 compatible = "simple-audio-card"; 57 simple-audio-card,format = "i2s"; 58 simple-audio-card,name = "Analog RK809"; 59 simple-audio-card,mclk-fs = <256>; 60 61 simple-audio-card,cpu { 62 sound-dai = <&i2s1_8ch>; 63 }; 64 65 simple-audio-card,codec { 66 sound-dai = <&rk809>; 67 }; 68 }; 69 70 sdio_pwrseq: sdio-pwrseq { 71 compatible = "mmc-pwrseq-simple"; 72 clocks = <&rk809 1>; 73 clock-names = "ext_clock"; 74 pinctrl-names = "default"; 75 pinctrl-0 = <&wifi_enable>; 76 post-power-on-delay-ms = <100>; 77 power-off-delay-us = <5000000>; 78 reset-gpios = <&gpio3 RK_PD4 GPIO_ACTIVE_LOW>; 79 }; 80 81 vcc12v_dcin: vcc12v-dcin-regulator { 82 compatible = "regulator-fixed"; 83 regulator-name = "vcc12v_dcin"; 84 regulator-always-on; 85 regulator-boot-on; 86 }; 87 88 pcie30_avdd0v9: pcie30-avdd0v9-regulator { 89 compatible = "regulator-fixed"; 90 regulator-name = "pcie30_avdd0v9"; 91 regulator-always-on; 92 regulator-boot-on; 93 regulator-min-microvolt = <900000>; 94 regulator-max-microvolt = <900000>; 95 vin-supply = <&vcc3v3_sys>; 96 }; 97 98 pcie30_avdd1v8: pcie30-avdd1v8-regulator { 99 compatible = "regulator-fixed"; 100 regulator-name = "pcie30_avdd1v8"; 101 regulator-always-on; 102 regulator-boot-on; 103 regulator-min-microvolt = <1800000>; 104 regulator-max-microvolt = <1800000>; 105 vin-supply = <&vcc3v3_sys>; 106 }; 107 108 /* pi6c pcie clock generator */ 109 vcc3v3_pi6c_03: vcc3v3-pi6c-03-regulator { 110 compatible = "regulator-fixed"; 111 regulator-name = "vcc3v3_pi6c_03"; 112 regulator-always-on; 113 regulator-boot-on; 114 regulator-min-microvolt = <3300000>; 115 regulator-max-microvolt = <3300000>; 116 vin-supply = <&vcc5v0_sys>; 117 }; 118 119 vcc3v3_pcie: vcc3v3-pcie-regulator { 120 compatible = "regulator-fixed"; 121 enable-active-high; 122 gpios = <&gpio0 RK_PD4 GPIO_ACTIVE_HIGH>; 123 pinctrl-names = "default"; 124 pinctrl-0 = <&pcie_enable_h>; 125 regulator-name = "vcc3v3_pcie"; 126 regulator-min-microvolt = <3300000>; 127 regulator-max-microvolt = <3300000>; 128 vin-supply = <&vcc5v0_sys>; 129 }; 130 131 vcc3v3_sys: vcc3v3-sys-regulator { 132 compatible = "regulator-fixed"; 133 regulator-name = "vcc3v3_sys"; 134 regulator-always-on; 135 regulator-boot-on; 136 regulator-min-microvolt = <3300000>; 137 regulator-max-microvolt = <3300000>; 138 vin-supply = <&vcc12v_dcin>; 139 }; 140 141 vcc5v0_sys: vcc5v0-sys-regulator { 142 compatible = "regulator-fixed"; 143 regulator-name = "vcc5v0_sys"; 144 regulator-always-on; 145 regulator-boot-on; 146 regulator-min-microvolt = <5000000>; 147 regulator-max-microvolt = <5000000>; 148 vin-supply = <&vcc12v_dcin>; 149 }; 150 151 vcc5v0_usb: vcc5v0-usb-regulator { 152 compatible = "regulator-fixed"; 153 regulator-name = "vcc5v0_usb"; 154 regulator-always-on; 155 regulator-boot-on; 156 regulator-min-microvolt = <5000000>; 157 regulator-max-microvolt = <5000000>; 158 vin-supply = <&vcc12v_dcin>; 159 }; 160 161 vcc5v0_usb_host: vcc5v0-usb-host-regulator { 162 compatible = "regulator-fixed"; 163 enable-active-high; 164 gpio = <&gpio0 RK_PA6 GPIO_ACTIVE_HIGH>; 165 pinctrl-names = "default"; 166 pinctrl-0 = <&vcc5v0_usb_host_en>; 167 regulator-name = "vcc5v0_usb_host"; 168 regulator-min-microvolt = <5000000>; 169 regulator-max-microvolt = <5000000>; 170 vin-supply = <&vcc5v0_usb>; 171 }; 172 173 vcc5v0_usb_hub: vcc5v0-usb-hub-regulator { 174 compatible = "regulator-fixed"; 175 enable-active-high; 176 gpio = <&gpio0 RK_PD5 GPIO_ACTIVE_HIGH>; 177 pinctrl-names = "default"; 178 pinctrl-0 = <&vcc5v0_usb_hub_en>; 179 regulator-name = "vcc5v0_usb_hub"; 180 regulator-always-on; 181 vin-supply = <&vcc5v0_usb>; 182 }; 183 184 vcc5v0_usb_otg: vcc5v0-usb-otg-regulator { 185 compatible = "regulator-fixed"; 186 enable-active-high; 187 gpio = <&gpio0 RK_PA5 GPIO_ACTIVE_HIGH>; 188 pinctrl-names = "default"; 189 pinctrl-0 = <&vcc5v0_usb_otg_en>; 190 regulator-name = "vcc5v0_usb_otg"; 191 regulator-min-microvolt = <5000000>; 192 regulator-max-microvolt = <5000000>; 193 vin-supply = <&vcc5v0_usb>; 194 }; 195 196 vcc_cam: vcc-cam-regulator { 197 compatible = "regulator-fixed"; 198 enable-active-high; 199 gpio = <&gpio1 RK_PB1 GPIO_ACTIVE_HIGH>; 200 pinctrl-names = "default"; 201 pinctrl-0 = <&vcc_cam_en>; 202 regulator-name = "vcc_cam"; 203 regulator-min-microvolt = <3300000>; 204 regulator-max-microvolt = <3300000>; 205 vin-supply = <&vcc3v3_sys>; 206 207 regulator-state-mem { 208 regulator-off-in-suspend; 209 }; 210 }; 211 212 vcc_mipi: vcc-mipi-regulator { 213 compatible = "regulator-fixed"; 214 enable-active-high; 215 gpio = <&gpio3 RK_PC0 GPIO_ACTIVE_HIGH>; 216 pinctrl-names = "default"; 217 pinctrl-0 = <&vcc_mipi_en>; 218 regulator-name = "vcc_mipi"; 219 regulator-min-microvolt = <3300000>; 220 regulator-max-microvolt = <3300000>; 221 vin-supply = <&vcc3v3_sys>; 222 223 regulator-state-mem { 224 regulator-off-in-suspend; 225 }; 226 }; 227}; 228 229&combphy0 { 230 status = "okay"; 231}; 232 233&combphy1 { 234 status = "okay"; 235}; 236 237&combphy2 { 238 status = "okay"; 239}; 240 241&cpu0 { 242 cpu-supply = <&vdd_cpu>; 243}; 244 245&cpu1 { 246 cpu-supply = <&vdd_cpu>; 247}; 248 249&cpu2 { 250 cpu-supply = <&vdd_cpu>; 251}; 252 253&cpu3 { 254 cpu-supply = <&vdd_cpu>; 255}; 256 257&gmac1 { 258 assigned-clocks = <&cru SCLK_GMAC1_RX_TX>, <&cru SCLK_GMAC1>; 259 assigned-clock-parents = <&cru SCLK_GMAC1_RGMII_SPEED>, <&gmac1_clkin>; 260 clock_in_out = "input"; 261 phy-handle = <&rgmii_phy1>; 262 phy-mode = "rgmii-id"; 263 phy-supply = <&vcc_3v3>; 264 pinctrl-names = "default"; 265 pinctrl-0 = <&gmac1m1_miim 266 &gmac1m1_tx_bus2 267 &gmac1m1_rx_bus2 268 &gmac1m1_rgmii_clk 269 &gmac1m1_clkinout 270 &gmac1m1_rgmii_bus>; 271 status = "okay"; 272}; 273 274&gpu { 275 mali-supply = <&vdd_gpu>; 276 status = "okay"; 277}; 278 279&hdmi { 280 avdd-0v9-supply = <&vdda0v9_image>; 281 avdd-1v8-supply = <&vcca1v8_image>; 282 pinctrl-names = "default"; 283 pinctrl-0 = <&hdmitx_scl &hdmitx_sda &hdmitxm1_cec>; 284 status = "okay"; 285}; 286 287&hdmi_in { 288 hdmi_in_vp0: endpoint { 289 remote-endpoint = <&vp0_out_hdmi>; 290 }; 291}; 292 293&hdmi_out { 294 hdmi_out_con: endpoint { 295 remote-endpoint = <&hdmi_con_in>; 296 }; 297}; 298 299&hdmi_sound { 300 status = "okay"; 301}; 302 303&i2c0 { 304 status = "okay"; 305 306 vdd_cpu: regulator@1c { 307 compatible = "tcs,tcs4525"; 308 reg = <0x1c>; 309 fcs,suspend-voltage-selector = <1>; 310 regulator-name = "vdd_cpu"; 311 regulator-always-on; 312 regulator-boot-on; 313 regulator-min-microvolt = <800000>; 314 regulator-max-microvolt = <1150000>; 315 regulator-ramp-delay = <2300>; 316 vin-supply = <&vcc5v0_sys>; 317 318 regulator-state-mem { 319 regulator-off-in-suspend; 320 }; 321 }; 322 323 rk809: pmic@20 { 324 compatible = "rockchip,rk809"; 325 reg = <0x20>; 326 interrupt-parent = <&gpio0>; 327 interrupts = <RK_PA3 IRQ_TYPE_LEVEL_LOW>; 328 assigned-clocks = <&cru I2S1_MCLKOUT_TX>; 329 assigned-clock-parents = <&cru CLK_I2S1_8CH_TX>; 330 #clock-cells = <1>; 331 clock-names = "mclk"; 332 clocks = <&cru I2S1_MCLKOUT_TX>; 333 pinctrl-names = "default"; 334 pinctrl-0 = <&pmic_int>, <&i2s1m0_mclk>; 335 rockchip,system-power-controller; 336 #sound-dai-cells = <0>; 337 vcc1-supply = <&vcc3v3_sys>; 338 vcc2-supply = <&vcc3v3_sys>; 339 vcc3-supply = <&vcc3v3_sys>; 340 vcc4-supply = <&vcc3v3_sys>; 341 vcc5-supply = <&vcc3v3_sys>; 342 vcc6-supply = <&vcc3v3_sys>; 343 vcc7-supply = <&vcc3v3_sys>; 344 vcc8-supply = <&vcc3v3_sys>; 345 vcc9-supply = <&vcc3v3_sys>; 346 wakeup-source; 347 348 regulators { 349 vdd_logic: DCDC_REG1 { 350 regulator-name = "vdd_logic"; 351 regulator-always-on; 352 regulator-boot-on; 353 regulator-initial-mode = <0x2>; 354 regulator-min-microvolt = <500000>; 355 regulator-max-microvolt = <1350000>; 356 regulator-ramp-delay = <6001>; 357 358 regulator-state-mem { 359 regulator-off-in-suspend; 360 }; 361 }; 362 363 vdd_gpu: DCDC_REG2 { 364 regulator-name = "vdd_gpu"; 365 regulator-always-on; 366 regulator-initial-mode = <0x2>; 367 regulator-min-microvolt = <500000>; 368 regulator-max-microvolt = <1350000>; 369 regulator-ramp-delay = <6001>; 370 371 regulator-state-mem { 372 regulator-off-in-suspend; 373 }; 374 }; 375 376 vcc_ddr: DCDC_REG3 { 377 regulator-name = "vcc_ddr"; 378 regulator-always-on; 379 regulator-boot-on; 380 regulator-initial-mode = <0x2>; 381 382 regulator-state-mem { 383 regulator-on-in-suspend; 384 }; 385 }; 386 387 vdd_npu: DCDC_REG4 { 388 regulator-name = "vdd_npu"; 389 regulator-initial-mode = <0x2>; 390 regulator-min-microvolt = <500000>; 391 regulator-max-microvolt = <1350000>; 392 regulator-ramp-delay = <6001>; 393 394 regulator-state-mem { 395 regulator-off-in-suspend; 396 }; 397 }; 398 399 vcc_1v8: DCDC_REG5 { 400 regulator-name = "vcc_1v8"; 401 regulator-always-on; 402 regulator-boot-on; 403 regulator-min-microvolt = <1800000>; 404 regulator-max-microvolt = <1800000>; 405 406 regulator-state-mem { 407 regulator-off-in-suspend; 408 }; 409 }; 410 411 vdda0v9_image: LDO_REG1 { 412 regulator-name = "vdda0v9_image"; 413 regulator-min-microvolt = <900000>; 414 regulator-max-microvolt = <900000>; 415 416 regulator-state-mem { 417 regulator-off-in-suspend; 418 }; 419 }; 420 421 vdda_0v9: LDO_REG2 { 422 regulator-name = "vdda_0v9"; 423 regulator-always-on; 424 regulator-boot-on; 425 regulator-min-microvolt = <900000>; 426 regulator-max-microvolt = <900000>; 427 428 regulator-state-mem { 429 regulator-off-in-suspend; 430 }; 431 }; 432 433 vdda0v9_pmu: LDO_REG3 { 434 regulator-name = "vdda0v9_pmu"; 435 regulator-always-on; 436 regulator-boot-on; 437 regulator-min-microvolt = <900000>; 438 regulator-max-microvolt = <900000>; 439 440 regulator-state-mem { 441 regulator-on-in-suspend; 442 regulator-suspend-microvolt = <900000>; 443 }; 444 }; 445 446 vccio_acodec: LDO_REG4 { 447 regulator-name = "vccio_acodec"; 448 regulator-always-on; 449 regulator-min-microvolt = <3300000>; 450 regulator-max-microvolt = <3300000>; 451 452 regulator-state-mem { 453 regulator-off-in-suspend; 454 }; 455 }; 456 457 vccio_sd: LDO_REG5 { 458 regulator-name = "vccio_sd"; 459 regulator-min-microvolt = <1800000>; 460 regulator-max-microvolt = <3300000>; 461 462 regulator-state-mem { 463 regulator-off-in-suspend; 464 }; 465 }; 466 467 vcc3v3_pmu: LDO_REG6 { 468 regulator-name = "vcc3v3_pmu"; 469 regulator-always-on; 470 regulator-boot-on; 471 regulator-min-microvolt = <3300000>; 472 regulator-max-microvolt = <3300000>; 473 474 regulator-state-mem { 475 regulator-on-in-suspend; 476 regulator-suspend-microvolt = <3300000>; 477 }; 478 }; 479 480 vcca_1v8: LDO_REG7 { 481 regulator-name = "vcca_1v8"; 482 regulator-always-on; 483 regulator-boot-on; 484 regulator-min-microvolt = <1800000>; 485 regulator-max-microvolt = <1800000>; 486 487 regulator-state-mem { 488 regulator-off-in-suspend; 489 }; 490 }; 491 492 vcca1v8_pmu: LDO_REG8 { 493 regulator-name = "vcca1v8_pmu"; 494 regulator-always-on; 495 regulator-boot-on; 496 regulator-min-microvolt = <1800000>; 497 regulator-max-microvolt = <1800000>; 498 499 regulator-state-mem { 500 regulator-on-in-suspend; 501 regulator-suspend-microvolt = <1800000>; 502 }; 503 }; 504 505 vcca1v8_image: LDO_REG9 { 506 regulator-name = "vcca1v8_image"; 507 regulator-min-microvolt = <1800000>; 508 regulator-max-microvolt = <1800000>; 509 510 regulator-state-mem { 511 regulator-off-in-suspend; 512 }; 513 }; 514 515 vcc_3v3: SWITCH_REG1 { 516 regulator-name = "vcc_3v3"; 517 regulator-always-on; 518 regulator-boot-on; 519 520 regulator-state-mem { 521 regulator-off-in-suspend; 522 }; 523 }; 524 525 vcc3v3_sd: SWITCH_REG2 { 526 regulator-name = "vcc3v3_sd"; 527 528 regulator-state-mem { 529 regulator-off-in-suspend; 530 }; 531 }; 532 }; 533 }; 534}; 535 536&i2c3 { 537 pinctrl-names = "default"; 538 pinctrl-0 = <&i2c3m1_xfer>; 539 status = "disabled"; 540}; 541 542&i2c4 { 543 pinctrl-names = "default"; 544 pinctrl-0 = <&i2c4m1_xfer>; 545 status = "disabled"; 546}; 547 548&i2c5 { 549 status = "okay"; 550 551 hym8563: rtc@51 { 552 compatible = "haoyu,hym8563"; 553 reg = <0x51>; 554 interrupt-parent = <&gpio0>; 555 interrupts = <RK_PD3 IRQ_TYPE_LEVEL_LOW>; 556 #clock-cells = <0>; 557 clock-output-names = "rtcic_32kout"; 558 pinctrl-names = "default"; 559 pinctrl-0 = <&hym8563_int>; 560 wakeup-source; 561 }; 562}; 563 564&i2s0_8ch { 565 status = "okay"; 566}; 567 568&i2s1_8ch { 569 pinctrl-names = "default"; 570 pinctrl-0 = <&i2s1m0_sclktx &i2s1m0_lrcktx &i2s1m0_sdi0 &i2s1m0_sdo0>; 571 rockchip,trcm-sync-tx-only; 572 status = "okay"; 573}; 574 575&i2s2_2ch { 576 rockchip,trcm-sync-tx-only; 577 status = "okay"; 578}; 579 580&mdio1 { 581 rgmii_phy1: ethernet-phy@0 { 582 compatible = "ethernet-phy-ieee802.3-c22"; 583 reg = <0x0>; 584 pinctrl-names = "default"; 585 pinctrl-0 = <ð_phy_rst>; 586 reset-assert-us = <20000>; 587 reset-deassert-us = <100000>; 588 reset-gpios = <&gpio3 RK_PB0 GPIO_ACTIVE_LOW>; 589 }; 590}; 591 592&pcie2x1 { 593 pinctrl-names = "default"; 594 pinctrl-0 = <&pcie_reset_h>; 595 reset-gpios = <&gpio3 RK_PC1 GPIO_ACTIVE_HIGH>; 596 vpcie3v3-supply = <&vcc3v3_pcie>; 597 status = "okay"; 598}; 599 600&pcie30phy { 601 phy-supply = <&vcc3v3_pi6c_03>; 602 status = "okay"; 603}; 604 605&pcie3x2 { 606 pinctrl-names = "default"; 607 pinctrl-0 = <&pcie30x2m1_pins>; 608 reset-gpios = <&gpio2 RK_PD6 GPIO_ACTIVE_HIGH>; 609 vpcie3v3-supply = <&vcc3v3_pcie>; 610 status = "okay"; 611}; 612 613&pinctrl { 614 cam { 615 vcc_cam_en: vcc_cam_en { 616 rockchip,pins = <1 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>; 617 }; 618 }; 619 620 display { 621 vcc_mipi_en: vcc_mipi_en { 622 rockchip,pins = <3 RK_PC0 RK_FUNC_GPIO &pcfg_pull_none>; 623 }; 624 }; 625 626 ethernet { 627 eth_phy_rst: eth_phy_rst { 628 rockchip,pins = <3 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>; 629 }; 630 }; 631 632 hym8563 { 633 hym8563_int: hym8563-int { 634 rockchip,pins = <0 RK_PD3 RK_FUNC_GPIO &pcfg_pull_up>; 635 }; 636 }; 637 638 leds { 639 led_user_en: led_user_en { 640 rockchip,pins = <0 RK_PB7 RK_FUNC_GPIO &pcfg_pull_none>; 641 }; 642 }; 643 644 pcie { 645 pcie_enable_h: pcie-enable-h { 646 rockchip,pins = <0 RK_PD4 RK_FUNC_GPIO &pcfg_pull_none>; 647 }; 648 649 pcie_reset_h: pcie-reset-h { 650 rockchip,pins = <3 RK_PC1 RK_FUNC_GPIO &pcfg_pull_none>; 651 }; 652 }; 653 654 pmic { 655 pmic_int: pmic_int { 656 rockchip,pins = 657 <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>; 658 }; 659 }; 660 661 usb { 662 vcc5v0_usb_host_en: vcc5v0_usb_host_en { 663 rockchip,pins = <0 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>; 664 }; 665 vcc5v0_usb_hub_en: vcc5v0_usb_hub_en { 666 rockchip,pins = <0 RK_PD5 RK_FUNC_GPIO &pcfg_pull_none>; 667 }; 668 vcc5v0_usb_otg_en: vcc5v0_usb_otg_en { 669 rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>; 670 }; 671 }; 672 673 bt { 674 bt_enable: bt-enable { 675 rockchip,pins = <4 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>; 676 }; 677 678 bt_host_wake: bt-host-wake { 679 rockchip,pins = <4 RK_PB4 RK_FUNC_GPIO &pcfg_pull_down>; 680 }; 681 682 bt_wake: bt-wake { 683 rockchip,pins = <4 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>; 684 }; 685 }; 686 687 sdio-pwrseq { 688 wifi_enable: wifi-enable { 689 rockchip,pins = <3 RK_PD4 RK_FUNC_GPIO &pcfg_pull_none>; 690 }; 691 }; 692}; 693 694&pmu_io_domains { 695 pmuio1-supply = <&vcc3v3_pmu>; 696 pmuio2-supply = <&vcc3v3_pmu>; 697 vccio1-supply = <&vccio_acodec>; 698 vccio2-supply = <&vcc_1v8>; 699 vccio3-supply = <&vccio_sd>; 700 vccio4-supply = <&vcc_1v8>; 701 vccio5-supply = <&vcc_3v3>; 702 vccio6-supply = <&vcc_1v8>; 703 vccio7-supply = <&vcc_3v3>; 704 status = "okay"; 705}; 706 707&saradc { 708 vref-supply = <&vcca_1v8>; 709 status = "okay"; 710}; 711 712&sdhci { 713 bus-width = <8>; 714 max-frequency = <200000000>; 715 non-removable; 716 pinctrl-names = "default"; 717 pinctrl-0 = <&emmc_bus8 &emmc_clk &emmc_cmd &emmc_datastrobe>; 718 vmmc-supply = <&vcc_3v3>; 719 vqmmc-supply = <&vcc_1v8>; 720 status = "okay"; 721}; 722 723&sdmmc0 { 724 bus-width = <4>; 725 cap-sd-highspeed; 726 cd-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_LOW>; 727 disable-wp; 728 pinctrl-names = "default"; 729 pinctrl-0 = <&sdmmc0_bus4 &sdmmc0_clk &sdmmc0_cmd &sdmmc0_det>; 730 sd-uhs-sdr50; 731 vmmc-supply = <&vcc3v3_sd>; 732 vqmmc-supply = <&vccio_sd>; 733 status = "okay"; 734}; 735 736&sdmmc2 { 737 bus-width = <4>; 738 disable-wp; 739 cap-sd-highspeed; 740 cap-sdio-irq; 741 keep-power-in-suspend; 742 mmc-pwrseq = <&sdio_pwrseq>; 743 non-removable; 744 pinctrl-names = "default"; 745 pinctrl-0 = <&sdmmc2m0_bus4 &sdmmc2m0_cmd &sdmmc2m0_clk>; 746 sd-uhs-sdr104; 747 vmmc-supply = <&vcc3v3_sys>; 748 vqmmc-supply = <&vcc_1v8>; 749 status = "okay"; 750}; 751 752&tsadc { 753 rockchip,hw-tshut-mode = <1>; 754 rockchip,hw-tshut-polarity = <0>; 755 status = "okay"; 756}; 757 758&uart1 { 759 pinctrl-names = "default"; 760 pinctrl-0 = <&uart1m0_xfer &uart1m0_ctsn &uart1m0_rtsn>; 761 uart-has-rtscts; 762 status = "okay"; 763 764 bluetooth { 765 compatible = "brcm,bcm43438-bt"; 766 clocks = <&rk809 1>; 767 clock-names = "lpo"; 768 device-wakeup-gpios = <&gpio4 RK_PB5 GPIO_ACTIVE_HIGH>; 769 host-wakeup-gpios = <&gpio4 RK_PB4 GPIO_ACTIVE_HIGH>; 770 shutdown-gpios = <&gpio4 RK_PB2 GPIO_ACTIVE_HIGH>; 771 pinctrl-names = "default"; 772 pinctrl-0 = <&bt_host_wake &bt_wake &bt_enable>; 773 vbat-supply = <&vcc3v3_sys>; 774 vddio-supply = <&vcc_1v8>; 775 /* vddio comes from regulator on module, use IO bank voltage instead */ 776 }; 777}; 778 779&uart2 { 780 status = "okay"; 781}; 782 783&usb_host0_ehci { 784 status = "okay"; 785}; 786 787&usb_host0_ohci { 788 status = "okay"; 789}; 790 791&usb_host0_xhci { 792 extcon = <&usb2phy0>; 793 status = "okay"; 794}; 795 796&usb_host1_ehci { 797 status = "okay"; 798}; 799 800&usb_host1_ohci { 801 status = "okay"; 802}; 803 804&usb_host1_xhci { 805 status = "okay"; 806}; 807 808&usb2phy0 { 809 status = "okay"; 810}; 811 812&usb2phy0_host { 813 phy-supply = <&vcc5v0_usb_host>; 814 status = "okay"; 815}; 816 817&usb2phy0_otg { 818 phy-supply = <&vcc5v0_usb_otg>; 819 status = "okay"; 820}; 821 822&usb2phy1 { 823 status = "okay"; 824}; 825 826&usb2phy1_host { 827 phy-supply = <&vcc5v0_usb_host>; 828 status = "okay"; 829}; 830 831&usb2phy1_otg { 832 phy-supply = <&vcc5v0_usb_host>; 833 status = "okay"; 834}; 835 836&vop { 837 assigned-clocks = <&cru DCLK_VOP0>, <&cru DCLK_VOP1>; 838 assigned-clock-parents = <&pmucru PLL_HPLL>, <&cru PLL_VPLL>; 839 status = "okay"; 840}; 841 842&vop_mmu { 843 status = "okay"; 844}; 845 846&vp0 { 847 vp0_out_hdmi: endpoint@ROCKCHIP_VOP2_EP_HDMI0 { 848 reg = <ROCKCHIP_VOP2_EP_HDMI0>; 849 remote-endpoint = <&hdmi_in_vp0>; 850 }; 851}; 852