0001 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
0002
0003 /dts-v1/;
0004
0005 #include <dt-bindings/gpio/gpio.h>
0006 #include <dt-bindings/pinctrl/rockchip.h>
0007 #include <dt-bindings/soc/rockchip,vop2.h>
0008 #include "rk3566.dtsi"
0009
0010 / {
0011 model = "Pine64 RK3566 Quartz64-A Board";
0012 compatible = "pine64,quartz64-a", "rockchip,rk3566";
0013
0014 aliases {
0015 ethernet0 = &gmac1;
0016 mmc0 = &sdmmc0;
0017 mmc1 = &sdhci;
0018 };
0019
0020 chosen: chosen {
0021 stdout-path = "serial2:1500000n8";
0022 };
0023
0024 gmac1_clkin: external-gmac1-clock {
0025 compatible = "fixed-clock";
0026 clock-frequency = <125000000>;
0027 clock-output-names = "gmac1_clkin";
0028 #clock-cells = <0>;
0029 };
0030
0031 fan: gpio_fan {
0032 compatible = "gpio-fan";
0033 gpios = <&gpio0 RK_PD5 GPIO_ACTIVE_HIGH>;
0034 gpio-fan,speed-map = <0 0
0035 4500 1>;
0036 pinctrl-names = "default";
0037 pinctrl-0 = <&fan_en_h>;
0038 #cooling-cells = <2>;
0039 };
0040
0041 hdmi-con {
0042 compatible = "hdmi-connector";
0043 type = "a";
0044
0045 port {
0046 hdmi_con_in: endpoint {
0047 remote-endpoint = <&hdmi_out_con>;
0048 };
0049 };
0050 };
0051
0052 leds {
0053 compatible = "gpio-leds";
0054
0055 led-work {
0056 label = "work-led";
0057 default-state = "off";
0058 gpios = <&gpio0 RK_PD3 GPIO_ACTIVE_HIGH>;
0059 pinctrl-names = "default";
0060 pinctrl-0 = <&work_led_enable_h>;
0061 retain-state-suspended;
0062 };
0063
0064 led-diy {
0065 label = "diy-led";
0066 default-state = "on";
0067 gpios = <&gpio0 RK_PD4 GPIO_ACTIVE_HIGH>;
0068 linux,default-trigger = "heartbeat";
0069 pinctrl-names = "default";
0070 pinctrl-0 = <&diy_led_enable_h>;
0071 retain-state-suspended;
0072 };
0073 };
0074
0075 rk817-sound {
0076 compatible = "simple-audio-card";
0077 simple-audio-card,format = "i2s";
0078 simple-audio-card,name = "Analog RK817";
0079 simple-audio-card,mclk-fs = <256>;
0080
0081 simple-audio-card,cpu {
0082 sound-dai = <&i2s1_8ch>;
0083 };
0084
0085 simple-audio-card,codec {
0086 sound-dai = <&rk817>;
0087 };
0088 };
0089
0090 sdio_pwrseq: sdio-pwrseq {
0091 compatible = "mmc-pwrseq-simple";
0092 clocks = <&rk817 1>;
0093 clock-names = "ext_clock";
0094 pinctrl-names = "default";
0095 pinctrl-0 = <&wifi_enable_h>;
0096 post-power-on-delay-ms = <100>;
0097 power-off-delay-us = <5000000>;
0098 reset-gpios = <&gpio2 RK_PC2 GPIO_ACTIVE_LOW>;
0099 };
0100
0101 spdif_dit: spdif-dit {
0102 compatible = "linux,spdif-dit";
0103 #sound-dai-cells = <0>;
0104 };
0105
0106 spdif_sound: spdif-sound {
0107 compatible = "simple-audio-card";
0108 simple-audio-card,name = "SPDIF";
0109
0110 simple-audio-card,cpu {
0111 sound-dai = <&spdif>;
0112 };
0113
0114 simple-audio-card,codec {
0115 sound-dai = <&spdif_dit>;
0116 };
0117 };
0118
0119 vcc12v_dcin: vcc12v_dcin {
0120 compatible = "regulator-fixed";
0121 regulator-name = "vcc12v_dcin";
0122 regulator-always-on;
0123 regulator-boot-on;
0124 regulator-min-microvolt = <12000000>;
0125 regulator-max-microvolt = <12000000>;
0126 };
0127
0128 /* vbus feeds the rk817 usb input.
0129 * With no battery attached, also feeds vcc_bat+
0130 * via ON/OFF_BAT jumper
0131 */
0132 vbus: vbus {
0133 compatible = "regulator-fixed";
0134 regulator-name = "vbus";
0135 regulator-always-on;
0136 regulator-boot-on;
0137 regulator-min-microvolt = <5000000>;
0138 regulator-max-microvolt = <5000000>;
0139 vin-supply = <&vcc12v_dcin>;
0140 };
0141
0142 vcc3v3_pcie_p: vcc3v3-pcie-p-regulator {
0143 compatible = "regulator-fixed";
0144 enable-active-high;
0145 gpio = <&gpio0 RK_PC6 GPIO_ACTIVE_HIGH>;
0146 pinctrl-names = "default";
0147 pinctrl-0 = <&pcie_enable_h>;
0148 regulator-name = "vcc3v3_pcie_p";
0149 regulator-min-microvolt = <3300000>;
0150 regulator-max-microvolt = <3300000>;
0151 vin-supply = <&vcc_3v3>;
0152 };
0153
0154 vcc5v0_usb: vcc5v0_usb {
0155 compatible = "regulator-fixed";
0156 regulator-name = "vcc5v0_usb";
0157 regulator-always-on;
0158 regulator-boot-on;
0159 regulator-min-microvolt = <5000000>;
0160 regulator-max-microvolt = <5000000>;
0161 vin-supply = <&vcc12v_dcin>;
0162 };
0163
0164 /* all four ports are controlled by one gpio
0165 * the host ports are sourced from vcc5v0_usb
0166 * the otg port is sourced from vcc5v0_midu
0167 */
0168 vcc5v0_usb20_host: vcc5v0_usb20_host {
0169 compatible = "regulator-fixed";
0170 enable-active-high;
0171 gpio = <&gpio4 RK_PB5 GPIO_ACTIVE_HIGH>;
0172 pinctrl-names = "default";
0173 pinctrl-0 = <&vcc5v0_usb20_host_en>;
0174 regulator-name = "vcc5v0_usb20_host";
0175 regulator-min-microvolt = <5000000>;
0176 regulator-max-microvolt = <5000000>;
0177 vin-supply = <&vcc5v0_usb>;
0178 };
0179
0180 vcc5v0_usb20_otg: vcc5v0_usb20_otg {
0181 compatible = "regulator-fixed";
0182 enable-active-high;
0183 gpio = <&gpio4 RK_PB5 GPIO_ACTIVE_HIGH>;
0184 regulator-name = "vcc5v0_usb20_otg";
0185 regulator-min-microvolt = <5000000>;
0186 regulator-max-microvolt = <5000000>;
0187 vin-supply = <&dcdc_boost>;
0188 };
0189
0190 vcc3v3_sd: vcc3v3_sd {
0191 compatible = "regulator-fixed";
0192 gpio = <&gpio0 RK_PA5 GPIO_ACTIVE_LOW>;
0193 pinctrl-names = "default";
0194 pinctrl-0 = <&vcc_sd_h>;
0195 regulator-boot-on;
0196 regulator-name = "vcc3v3_sd";
0197 regulator-min-microvolt = <3300000>;
0198 regulator-max-microvolt = <3300000>;
0199 vin-supply = <&vcc_3v3>;
0200 };
0201
0202 /* sourced from vbus and vcc_bat+ via rk817 sw5 */
0203 vcc_sys: vcc_sys {
0204 compatible = "regulator-fixed";
0205 regulator-name = "vcc_sys";
0206 regulator-always-on;
0207 regulator-boot-on;
0208 regulator-min-microvolt = <4400000>;
0209 regulator-max-microvolt = <4400000>;
0210 vin-supply = <&vbus>;
0211 };
0212
0213 /* sourced from vcc_sys, sdio module operates internally at 3.3v */
0214 vcc_wl: vcc_wl {
0215 compatible = "regulator-fixed";
0216 regulator-name = "vcc_wl";
0217 regulator-always-on;
0218 regulator-boot-on;
0219 regulator-min-microvolt = <3300000>;
0220 regulator-max-microvolt = <3300000>;
0221 vin-supply = <&vcc_sys>;
0222 };
0223 };
0224
0225 &combphy1 {
0226 status = "okay";
0227 };
0228
0229 &combphy2 {
0230 status = "okay";
0231 };
0232
0233 &cpu0 {
0234 cpu-supply = <&vdd_cpu>;
0235 };
0236
0237 &cpu1 {
0238 cpu-supply = <&vdd_cpu>;
0239 };
0240
0241 &cpu2 {
0242 cpu-supply = <&vdd_cpu>;
0243 };
0244
0245 &cpu3 {
0246 cpu-supply = <&vdd_cpu>;
0247 };
0248
0249 &cpu_thermal {
0250 trips {
0251 cpu_hot: cpu_hot {
0252 temperature = <55000>;
0253 hysteresis = <2000>;
0254 type = "active";
0255 };
0256 };
0257
0258 cooling-maps {
0259 map1 {
0260 trip = <&cpu_hot>;
0261 cooling-device = <&fan THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
0262 };
0263 };
0264 };
0265
0266 &gmac1 {
0267 assigned-clocks = <&cru SCLK_GMAC1_RX_TX>, <&cru SCLK_GMAC1_RGMII_SPEED>, <&cru SCLK_GMAC1>;
0268 assigned-clock-parents = <&cru SCLK_GMAC1_RGMII_SPEED>, <&cru SCLK_GMAC1>, <&gmac1_clkin>;
0269 clock_in_out = "input";
0270 phy-supply = <&vcc_3v3>;
0271 phy-mode = "rgmii";
0272 pinctrl-names = "default";
0273 pinctrl-0 = <&gmac1m0_miim
0274 &gmac1m0_tx_bus2
0275 &gmac1m0_rx_bus2
0276 &gmac1m0_rgmii_clk
0277 &gmac1m0_clkinout
0278 &gmac1m0_rgmii_bus>;
0279 snps,reset-gpio = <&gpio0 RK_PC3 GPIO_ACTIVE_LOW>;
0280 snps,reset-active-low;
0281 /* Reset time is 20ms, 100ms for rtl8211f */
0282 snps,reset-delays-us = <0 20000 100000>;
0283 tx_delay = <0x30>;
0284 rx_delay = <0x10>;
0285 phy-handle = <&rgmii_phy1>;
0286 status = "okay";
0287 };
0288
0289 &gpu {
0290 mali-supply = <&vdd_gpu>;
0291 status = "okay";
0292 };
0293
0294 &hdmi {
0295 avdd-0v9-supply = <&vdda_0v9>;
0296 avdd-1v8-supply = <&vcc_1v8>;
0297 status = "okay";
0298 };
0299
0300 &hdmi_in {
0301 hdmi_in_vp0: endpoint {
0302 remote-endpoint = <&vp0_out_hdmi>;
0303 };
0304 };
0305
0306 &hdmi_out {
0307 hdmi_out_con: endpoint {
0308 remote-endpoint = <&hdmi_con_in>;
0309 };
0310 };
0311
0312 &hdmi_sound {
0313 status = "okay";
0314 };
0315
0316 &i2c0 {
0317 status = "okay";
0318
0319 vdd_cpu: regulator@1c {
0320 compatible = "tcs,tcs4525";
0321 reg = <0x1c>;
0322 fcs,suspend-voltage-selector = <1>;
0323 regulator-name = "vdd_cpu";
0324 regulator-min-microvolt = <800000>;
0325 regulator-max-microvolt = <1150000>;
0326 regulator-ramp-delay = <2300>;
0327 regulator-always-on;
0328 regulator-boot-on;
0329 vin-supply = <&vcc_sys>;
0330
0331 regulator-state-mem {
0332 regulator-off-in-suspend;
0333 };
0334 };
0335
0336 rk817: pmic@20 {
0337 compatible = "rockchip,rk817";
0338 reg = <0x20>;
0339 interrupt-parent = <&gpio0>;
0340 interrupts = <RK_PA3 IRQ_TYPE_LEVEL_LOW>;
0341 assigned-clocks = <&cru I2S1_MCLKOUT_TX>;
0342 assigned-clock-parents = <&cru CLK_I2S1_8CH_TX>;
0343 clock-names = "mclk";
0344 clocks = <&cru I2S1_MCLKOUT_TX>;
0345 clock-output-names = "rk808-clkout1", "rk808-clkout2";
0346 #clock-cells = <1>;
0347 pinctrl-names = "default";
0348 pinctrl-0 = <&pmic_int_l>, <&i2s1m0_mclk>;
0349 rockchip,system-power-controller;
0350 #sound-dai-cells = <0>;
0351 wakeup-source;
0352
0353 vcc1-supply = <&vcc_sys>;
0354 vcc2-supply = <&vcc_sys>;
0355 vcc3-supply = <&vcc_sys>;
0356 vcc4-supply = <&vcc_sys>;
0357 vcc5-supply = <&vcc_sys>;
0358 vcc6-supply = <&vcc_sys>;
0359 vcc7-supply = <&vcc_sys>;
0360 vcc8-supply = <&vcc_sys>;
0361 vcc9-supply = <&dcdc_boost>;
0362
0363 regulators {
0364 vdd_logic: DCDC_REG1 {
0365 regulator-always-on;
0366 regulator-boot-on;
0367 regulator-min-microvolt = <500000>;
0368 regulator-max-microvolt = <1350000>;
0369 regulator-init-microvolt = <900000>;
0370 regulator-ramp-delay = <6001>;
0371 regulator-initial-mode = <0x2>;
0372 regulator-name = "vdd_logic";
0373 regulator-state-mem {
0374 regulator-on-in-suspend;
0375 regulator-suspend-microvolt = <900000>;
0376 };
0377 };
0378
0379 vdd_gpu: DCDC_REG2 {
0380 regulator-always-on;
0381 regulator-boot-on;
0382 regulator-min-microvolt = <500000>;
0383 regulator-max-microvolt = <1350000>;
0384 regulator-init-microvolt = <900000>;
0385 regulator-ramp-delay = <6001>;
0386 regulator-initial-mode = <0x2>;
0387 regulator-name = "vdd_gpu";
0388 regulator-state-mem {
0389 regulator-off-in-suspend;
0390 };
0391 };
0392
0393 vcc_ddr: DCDC_REG3 {
0394 regulator-always-on;
0395 regulator-boot-on;
0396 regulator-initial-mode = <0x2>;
0397 regulator-name = "vcc_ddr";
0398 regulator-state-mem {
0399 regulator-on-in-suspend;
0400 };
0401 };
0402
0403 vcc_3v3: DCDC_REG4 {
0404 regulator-always-on;
0405 regulator-boot-on;
0406 regulator-min-microvolt = <3300000>;
0407 regulator-max-microvolt = <3300000>;
0408 regulator-initial-mode = <0x2>;
0409 regulator-name = "vcc_3v3";
0410 regulator-state-mem {
0411 regulator-off-in-suspend;
0412 };
0413 };
0414
0415 vcca1v8_pmu: LDO_REG1 {
0416 regulator-always-on;
0417 regulator-boot-on;
0418 regulator-min-microvolt = <1800000>;
0419 regulator-max-microvolt = <1800000>;
0420 regulator-name = "vcca1v8_pmu";
0421 regulator-state-mem {
0422 regulator-on-in-suspend;
0423 regulator-suspend-microvolt = <1800000>;
0424 };
0425 };
0426
0427 vdda_0v9: LDO_REG2 {
0428 regulator-always-on;
0429 regulator-boot-on;
0430 regulator-min-microvolt = <900000>;
0431 regulator-max-microvolt = <900000>;
0432 regulator-name = "vdda_0v9";
0433 regulator-state-mem {
0434 regulator-off-in-suspend;
0435 };
0436 };
0437
0438 vdda0v9_pmu: LDO_REG3 {
0439 regulator-always-on;
0440 regulator-boot-on;
0441 regulator-min-microvolt = <900000>;
0442 regulator-max-microvolt = <900000>;
0443 regulator-name = "vdda0v9_pmu";
0444 regulator-state-mem {
0445 regulator-on-in-suspend;
0446 regulator-suspend-microvolt = <900000>;
0447 };
0448 };
0449
0450 vccio_acodec: LDO_REG4 {
0451 regulator-always-on;
0452 regulator-boot-on;
0453 regulator-min-microvolt = <3300000>;
0454 regulator-max-microvolt = <3300000>;
0455 regulator-name = "vccio_acodec";
0456 regulator-state-mem {
0457 regulator-off-in-suspend;
0458 };
0459 };
0460
0461 vccio_sd: LDO_REG5 {
0462 regulator-always-on;
0463 regulator-boot-on;
0464 regulator-min-microvolt = <1800000>;
0465 regulator-max-microvolt = <3300000>;
0466 regulator-name = "vccio_sd";
0467 regulator-state-mem {
0468 regulator-off-in-suspend;
0469 };
0470 };
0471
0472 vcc3v3_pmu: LDO_REG6 {
0473 regulator-always-on;
0474 regulator-boot-on;
0475 regulator-min-microvolt = <3300000>;
0476 regulator-max-microvolt = <3300000>;
0477 regulator-name = "vcc3v3_pmu";
0478 regulator-state-mem {
0479 regulator-on-in-suspend;
0480 regulator-suspend-microvolt = <3300000>;
0481 };
0482 };
0483
0484 vcc_1v8: LDO_REG7 {
0485 regulator-always-on;
0486 regulator-boot-on;
0487 regulator-min-microvolt = <1800000>;
0488 regulator-max-microvolt = <1800000>;
0489 regulator-name = "vcc_1v8";
0490 regulator-state-mem {
0491 regulator-off-in-suspend;
0492 };
0493 };
0494
0495 vcc1v8_dvp: LDO_REG8 {
0496 regulator-always-on;
0497 regulator-boot-on;
0498 regulator-min-microvolt = <1800000>;
0499 regulator-max-microvolt = <1800000>;
0500 regulator-name = "vcc1v8_dvp";
0501 regulator-state-mem {
0502 regulator-off-in-suspend;
0503 };
0504 };
0505
0506 vcc2v8_dvp: LDO_REG9 {
0507 regulator-always-on;
0508 regulator-boot-on;
0509 regulator-min-microvolt = <2800000>;
0510 regulator-max-microvolt = <2800000>;
0511 regulator-name = "vcc2v8_dvp";
0512 regulator-state-mem {
0513 regulator-off-in-suspend;
0514 };
0515 };
0516
0517 dcdc_boost: BOOST {
0518 regulator-always-on;
0519 regulator-boot-on;
0520 regulator-min-microvolt = <5000000>;
0521 regulator-max-microvolt = <5000000>;
0522 regulator-name = "boost";
0523 regulator-state-mem {
0524 regulator-off-in-suspend;
0525 };
0526 };
0527
0528 otg_switch: OTG_SWITCH {
0529 regulator-name = "otg_switch";
0530 regulator-state-mem {
0531 regulator-off-in-suspend;
0532 };
0533 };
0534 };
0535 };
0536 };
0537
0538 /* i2c3 is exposed on con40
0539 * pin 3 - i2c3_sda_m0, pullup to vcc_3v3
0540 * pin 5 - i2c3_scl_m0, pullup to vcc_3v3
0541 */
0542 &i2c3 {
0543 status = "okay";
0544 };
0545
0546 &i2s0_8ch {
0547 status = "okay";
0548 };
0549
0550 &i2s1_8ch {
0551 pinctrl-names = "default";
0552 pinctrl-0 = <&i2s1m0_sclktx
0553 &i2s1m0_lrcktx
0554 &i2s1m0_sdi0
0555 &i2s1m0_sdo0>;
0556 rockchip,trcm-sync-tx-only;
0557 status = "okay";
0558 };
0559
0560 &mdio1 {
0561 rgmii_phy1: ethernet-phy@0 {
0562 compatible = "ethernet-phy-ieee802.3-c22";
0563 reg = <0>;
0564 };
0565 };
0566
0567 &pcie2x1 {
0568 pinctrl-names = "default";
0569 pinctrl-0 = <&pcie_reset_h>;
0570 reset-gpios = <&gpio1 RK_PB2 GPIO_ACTIVE_HIGH>;
0571 vpcie3v3-supply = <&vcc3v3_pcie_p>;
0572 status = "okay";
0573 };
0574
0575 &pinctrl {
0576 bt {
0577 bt_enable_h: bt-enable-h {
0578 rockchip,pins = <2 RK_PB7 RK_FUNC_GPIO &pcfg_pull_none>;
0579 };
0580
0581 bt_host_wake_l: bt-host-wake-l {
0582 rockchip,pins = <2 RK_PC0 RK_FUNC_GPIO &pcfg_pull_down>;
0583 };
0584
0585 bt_wake_l: bt-wake-l {
0586 rockchip,pins = <2 RK_PC1 RK_FUNC_GPIO &pcfg_pull_none>;
0587 };
0588 };
0589
0590 fan {
0591 fan_en_h: fan-en-h {
0592 rockchip,pins = <0 RK_PD5 RK_FUNC_GPIO &pcfg_pull_none>;
0593 };
0594 };
0595
0596 leds {
0597 work_led_enable_h: work-led-enable-h {
0598 rockchip,pins = <0 RK_PD3 RK_FUNC_GPIO &pcfg_pull_none>;
0599 };
0600
0601 diy_led_enable_h: diy-led-enable-h {
0602 rockchip,pins = <0 RK_PD4 RK_FUNC_GPIO &pcfg_pull_none>;
0603 };
0604 };
0605
0606 pcie {
0607 pcie_enable_h: pcie-enable-h {
0608 rockchip,pins = <0 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>;
0609 };
0610
0611 pcie_reset_h: pcie-reset-h {
0612 rockchip,pins = <1 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>;
0613 };
0614 };
0615
0616 pmic {
0617 pmic_int_l: pmic-int-l {
0618 rockchip,pins = <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>;
0619 };
0620 };
0621
0622 usb2 {
0623 vcc5v0_usb20_host_en: vcc5v0-usb20-host-en {
0624 rockchip,pins = <4 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>;
0625 };
0626 };
0627
0628 sdio-pwrseq {
0629 wifi_enable_h: wifi-enable-h {
0630 rockchip,pins = <2 RK_PC2 RK_FUNC_GPIO &pcfg_pull_none>;
0631 };
0632 };
0633
0634 vcc_sd {
0635 vcc_sd_h: vcc-sd-h {
0636 rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>;
0637 };
0638 };
0639 };
0640
0641 &pmu_io_domains {
0642 pmuio1-supply = <&vcc3v3_pmu>;
0643 pmuio2-supply = <&vcc3v3_pmu>;
0644 vccio1-supply = <&vccio_acodec>;
0645 vccio2-supply = <&vcc_1v8>;
0646 vccio3-supply = <&vccio_sd>;
0647 vccio4-supply = <&vcc_1v8>;
0648 vccio5-supply = <&vcc_3v3>;
0649 vccio6-supply = <&vcc1v8_dvp>;
0650 vccio7-supply = <&vcc_3v3>;
0651 status = "okay";
0652 };
0653
0654 &sdhci {
0655 bus-width = <8>;
0656 mmc-hs200-1_8v;
0657 non-removable;
0658 vmmc-supply = <&vcc_3v3>;
0659 vqmmc-supply = <&vcc_1v8>;
0660 status = "okay";
0661 };
0662
0663 &sdmmc0 {
0664 bus-width = <4>;
0665 cap-sd-highspeed;
0666 cd-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_LOW>;
0667 disable-wp;
0668 pinctrl-names = "default";
0669 pinctrl-0 = <&sdmmc0_bus4 &sdmmc0_clk &sdmmc0_cmd &sdmmc0_det>;
0670 sd-uhs-sdr104;
0671 vmmc-supply = <&vcc3v3_sd>;
0672 vqmmc-supply = <&vccio_sd>;
0673 status = "okay";
0674 };
0675
0676 &sdmmc1 {
0677 bus-width = <4>;
0678 cap-sd-highspeed;
0679 cap-sdio-irq;
0680 keep-power-in-suspend;
0681 mmc-pwrseq = <&sdio_pwrseq>;
0682 non-removable;
0683 pinctrl-names = "default";
0684 pinctrl-0 = <&sdmmc1_bus4 &sdmmc1_cmd &sdmmc1_clk>;
0685 sd-uhs-sdr104;
0686 vmmc-supply = <&vcc_wl>;
0687 vqmmc-supply = <&vcc_1v8>;
0688 status = "okay";
0689 };
0690
0691 &sfc {
0692 pinctrl-0 = <&fspi_pins>;
0693 pinctrl-names = "default";
0694 #address-cells = <1>;
0695 #size-cells = <0>;
0696 status = "disabled";
0697
0698 flash@0 {
0699 compatible = "jedec,spi-nor";
0700 reg = <0>;
0701 spi-max-frequency = <24000000>;
0702 spi-rx-bus-width = <4>;
0703 spi-tx-bus-width = <1>;
0704 };
0705 };
0706
0707 /* spdif is exposed on con40 pin 18 */
0708 &spdif {
0709 status = "okay";
0710 };
0711
0712 /* spi1 is exposed on con40
0713 * pin 11 - spi1_mosi_m1
0714 * pin 13 - spi1_miso_m1
0715 * pin 15 - spi1_clk_m1
0716 * pin 17 - spi1_cs0_m1
0717 */
0718 &spi1 {
0719 pinctrl-names = "default";
0720 pinctrl-0 = <&spi1m1_cs0 &spi1m1_pins>;
0721 };
0722
0723 &tsadc {
0724 /* tshut mode 0:CRU 1:GPIO */
0725 rockchip,hw-tshut-mode = <1>;
0726 /* tshut polarity 0:LOW 1:HIGH */
0727 rockchip,hw-tshut-polarity = <0>;
0728 status = "okay";
0729 };
0730
0731 /* uart0 is exposed on con40
0732 * pin 12 - uart0_tx
0733 * pin 14 - uart0_rx
0734 */
0735 &uart0 {
0736 pinctrl-names = "default";
0737 pinctrl-0 = <&uart0_xfer>;
0738 status = "okay";
0739 };
0740
0741 &uart1 {
0742 pinctrl-names = "default";
0743 pinctrl-0 = <&uart1m0_xfer &uart1m0_ctsn>;
0744 status = "okay";
0745 uart-has-rtscts;
0746
0747 bluetooth {
0748 compatible = "brcm,bcm43438-bt";
0749 clocks = <&rk817 1>;
0750 clock-names = "lpo";
0751 device-wakeup-gpios = <&gpio2 RK_PC1 GPIO_ACTIVE_HIGH>;
0752 host-wakeup-gpios = <&gpio2 RK_PC0 GPIO_ACTIVE_HIGH>;
0753 shutdown-gpios = <&gpio2 RK_PB7 GPIO_ACTIVE_HIGH>;
0754 pinctrl-names = "default";
0755 pinctrl-0 = <&bt_host_wake_l &bt_wake_l &bt_enable_h>;
0756 vbat-supply = <&vcc_sys>;
0757 vddio-supply = <&vcca1v8_pmu>;
0758 };
0759 };
0760
0761 /* uart2 is exposed on con40
0762 * pin 8 - uart2_tx_m0_debug
0763 * pin 10 - uart2_rx_m0_debug
0764 */
0765 &uart2 {
0766 status = "okay";
0767 };
0768
0769 &usb_host0_ehci {
0770 status = "okay";
0771 };
0772
0773 &usb_host0_ohci {
0774 status = "okay";
0775 };
0776
0777 &usb_host1_ehci {
0778 status = "okay";
0779 };
0780
0781 &usb_host1_ohci {
0782 status = "okay";
0783 };
0784
0785 &usb_host0_xhci {
0786 dr_mode = "host";
0787 status = "okay";
0788 };
0789
0790 /* usb3 controller is muxed with sata1 */
0791 &usb_host1_xhci {
0792 status = "okay";
0793 };
0794
0795 &usb2phy0 {
0796 status = "okay";
0797 };
0798
0799 &usb2phy0_host {
0800 phy-supply = <&vcc5v0_usb20_host>;
0801 status = "okay";
0802 };
0803
0804 &usb2phy0_otg {
0805 phy-supply = <&vcc5v0_usb20_otg>;
0806 status = "okay";
0807 };
0808
0809 &usb2phy1 {
0810 status = "okay";
0811 };
0812
0813 &usb2phy1_host {
0814 phy-supply = <&vcc5v0_usb20_host>;
0815 status = "okay";
0816 };
0817
0818 &usb2phy1_otg {
0819 phy-supply = <&vcc5v0_usb20_host>;
0820 status = "okay";
0821 };
0822
0823 &vop {
0824 assigned-clocks = <&cru DCLK_VOP0>, <&cru DCLK_VOP1>;
0825 assigned-clock-parents = <&pmucru PLL_HPLL>, <&cru PLL_VPLL>;
0826 status = "okay";
0827 };
0828
0829 &vop_mmu {
0830 status = "okay";
0831 };
0832
0833 &vp0 {
0834 vp0_out_hdmi: endpoint@ROCKCHIP_VOP2_EP_HDMI0 {
0835 reg = <ROCKCHIP_VOP2_EP_HDMI0>;
0836 remote-endpoint = <&hdmi_in_vp0>;
0837 };
0838 };