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