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