18bb878cfSLevin Du// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 28bb878cfSLevin Du/* 38bb878cfSLevin Du * Copyright (c) 2017 T-Chip Intelligent Technology Co., Ltd 48bb878cfSLevin Du */ 58bb878cfSLevin Du 68bb878cfSLevin Du/dts-v1/; 78bb878cfSLevin Du#include <dt-bindings/pwm/pwm.h> 88bb878cfSLevin Du#include "rk3399.dtsi" 98bb878cfSLevin Du#include "rk3399-opp.dtsi" 108bb878cfSLevin Du 118bb878cfSLevin Du/ { 128bb878cfSLevin Du model = "Firefly ROC-RK3399-PC Board"; 138bb878cfSLevin Du compatible = "firefly,roc-rk3399-pc", "rockchip,rk3399"; 148bb878cfSLevin Du 158bb878cfSLevin Du chosen { 168bb878cfSLevin Du stdout-path = "serial2:1500000n8"; 178bb878cfSLevin Du }; 188bb878cfSLevin Du 198bb878cfSLevin Du backlight: backlight { 208bb878cfSLevin Du compatible = "pwm-backlight"; 218bb878cfSLevin Du pwms = <&pwm0 0 25000 0>; 228bb878cfSLevin Du }; 238bb878cfSLevin Du 248bb878cfSLevin Du clkin_gmac: external-gmac-clock { 258bb878cfSLevin Du compatible = "fixed-clock"; 268bb878cfSLevin Du clock-frequency = <125000000>; 278bb878cfSLevin Du clock-output-names = "clkin_gmac"; 288bb878cfSLevin Du #clock-cells = <0>; 298bb878cfSLevin Du }; 308bb878cfSLevin Du 318bb878cfSLevin Du sdio_pwrseq: sdio-pwrseq { 328bb878cfSLevin Du compatible = "mmc-pwrseq-simple"; 338bb878cfSLevin Du clocks = <&rk808 1>; 348bb878cfSLevin Du clock-names = "ext_clock"; 358bb878cfSLevin Du pinctrl-names = "default"; 368bb878cfSLevin Du pinctrl-0 = <&wifi_enable_h>; 378bb878cfSLevin Du 388bb878cfSLevin Du /* 398bb878cfSLevin Du * On the module itself this is one of these (depending 408bb878cfSLevin Du * on the actual card populated): 418bb878cfSLevin Du * - SDIO_RESET_L_WL_REG_ON 428bb878cfSLevin Du * - PDN (power down when low) 438bb878cfSLevin Du */ 448bb878cfSLevin Du reset-gpios = <&gpio0 RK_PB2 GPIO_ACTIVE_LOW>; 458bb878cfSLevin Du }; 468bb878cfSLevin Du 478bb878cfSLevin Du vcc_vbus_typec0: vcc-vbus-typec0 { 488bb878cfSLevin Du compatible = "regulator-fixed"; 498bb878cfSLevin Du regulator-name = "vcc_vbus_typec0"; 508bb878cfSLevin Du regulator-always-on; 518bb878cfSLevin Du regulator-boot-on; 528bb878cfSLevin Du regulator-min-microvolt = <5000000>; 538bb878cfSLevin Du regulator-max-microvolt = <5000000>; 548bb878cfSLevin Du }; 558bb878cfSLevin Du 568bb878cfSLevin Du /* 578bb878cfSLevin Du * should be placed inside mp8859, but not until mp8859 has 588bb878cfSLevin Du * its own dt-binding. 598bb878cfSLevin Du */ 608bb878cfSLevin Du vcc12v_sys: mp8859-dcdc1 { 618bb878cfSLevin Du compatible = "regulator-fixed"; 628bb878cfSLevin Du regulator-name = "vcc12v_sys"; 638bb878cfSLevin Du regulator-always-on; 648bb878cfSLevin Du regulator-boot-on; 658bb878cfSLevin Du regulator-min-microvolt = <12000000>; 668bb878cfSLevin Du regulator-max-microvolt = <12000000>; 678bb878cfSLevin Du vin-supply = <&vcc_vbus_typec0>; 688bb878cfSLevin Du }; 698bb878cfSLevin Du 708bb878cfSLevin Du /* switched by pmic_sleep */ 718bb878cfSLevin Du vcc1v8_s3: vcca1v8_s3: vcc1v8-s3 { 728bb878cfSLevin Du compatible = "regulator-fixed"; 738bb878cfSLevin Du regulator-name = "vcc1v8_s3"; 748bb878cfSLevin Du regulator-always-on; 758bb878cfSLevin Du regulator-boot-on; 768bb878cfSLevin Du regulator-min-microvolt = <1800000>; 778bb878cfSLevin Du regulator-max-microvolt = <1800000>; 788bb878cfSLevin Du vin-supply = <&vcc_1v8>; 798bb878cfSLevin Du }; 808bb878cfSLevin Du 818bb878cfSLevin Du vcc3v3_sys: vcc3v3-sys { 828bb878cfSLevin Du compatible = "regulator-fixed"; 838bb878cfSLevin Du regulator-name = "vcc3v3_sys"; 848bb878cfSLevin Du regulator-always-on; 858bb878cfSLevin Du regulator-boot-on; 868bb878cfSLevin Du regulator-min-microvolt = <3300000>; 878bb878cfSLevin Du regulator-max-microvolt = <3300000>; 888bb878cfSLevin Du vin-supply = <&vcc12v_sys>; 898bb878cfSLevin Du }; 908bb878cfSLevin Du 918bb878cfSLevin Du /* Actually 3 regulators (host0, 1, 2) controlled by the same gpio */ 928bb878cfSLevin Du vcc5v0_host: vcc5v0-host-regulator { 938bb878cfSLevin Du compatible = "regulator-fixed"; 948bb878cfSLevin Du enable-active-high; 958bb878cfSLevin Du gpio = <&gpio1 RK_PA0 GPIO_ACTIVE_HIGH>; 968bb878cfSLevin Du pinctrl-names = "default"; 978bb878cfSLevin Du pinctrl-0 = <&vcc5v0_host_en &hub_rst>; 988bb878cfSLevin Du regulator-name = "vcc5v0_host"; 998bb878cfSLevin Du regulator-always-on; 1008bb878cfSLevin Du vin-supply = <&vcc_sys>; 1018bb878cfSLevin Du }; 1028bb878cfSLevin Du 1038bb878cfSLevin Du vcc_vbus_typec1: vcc-vbus-typec1 { 1048bb878cfSLevin Du compatible = "regulator-fixed"; 1058bb878cfSLevin Du enable-active-high; 1068bb878cfSLevin Du gpio = <&gpio1 RK_PB5 GPIO_ACTIVE_HIGH>; 1078bb878cfSLevin Du pinctrl-names = "default"; 1088bb878cfSLevin Du pinctrl-0 = <&vcc_vbus_typec1_en>; 1098bb878cfSLevin Du regulator-name = "vcc_vbus_typec1"; 1108bb878cfSLevin Du regulator-always-on; 1118bb878cfSLevin Du vin-supply = <&vcc_sys>; 1128bb878cfSLevin Du }; 1138bb878cfSLevin Du 1148bb878cfSLevin Du vcc_sys: vcc-sys { 1158bb878cfSLevin Du compatible = "regulator-fixed"; 1168bb878cfSLevin Du regulator-name = "vcc_sys"; 1178bb878cfSLevin Du regulator-always-on; 1188bb878cfSLevin Du regulator-boot-on; 1198bb878cfSLevin Du regulator-min-microvolt = <5000000>; 1208bb878cfSLevin Du regulator-max-microvolt = <5000000>; 1218bb878cfSLevin Du vin-supply = <&vcc12v_sys>; 1228bb878cfSLevin Du }; 1238bb878cfSLevin Du 1248bb878cfSLevin Du vdd_log: vdd-log { 1258bb878cfSLevin Du compatible = "pwm-regulator"; 1268bb878cfSLevin Du pwms = <&pwm2 0 25000 1>; 1278bb878cfSLevin Du regulator-name = "vdd_log"; 1288bb878cfSLevin Du regulator-always-on; 1298bb878cfSLevin Du regulator-boot-on; 1308bb878cfSLevin Du regulator-min-microvolt = <800000>; 1318bb878cfSLevin Du regulator-max-microvolt = <1400000>; 1328bb878cfSLevin Du vin-supply = <&vcc3v3_sys>; 1338bb878cfSLevin Du }; 1348bb878cfSLevin Du}; 1358bb878cfSLevin Du 1368bb878cfSLevin Du&cpu_l0 { 1378bb878cfSLevin Du cpu-supply = <&vdd_cpu_l>; 1388bb878cfSLevin Du}; 1398bb878cfSLevin Du 1408bb878cfSLevin Du&cpu_l1 { 1418bb878cfSLevin Du cpu-supply = <&vdd_cpu_l>; 1428bb878cfSLevin Du}; 1438bb878cfSLevin Du 1448bb878cfSLevin Du&cpu_l2 { 1458bb878cfSLevin Du cpu-supply = <&vdd_cpu_l>; 1468bb878cfSLevin Du}; 1478bb878cfSLevin Du 1488bb878cfSLevin Du&cpu_l3 { 1498bb878cfSLevin Du cpu-supply = <&vdd_cpu_l>; 1508bb878cfSLevin Du}; 1518bb878cfSLevin Du 1528bb878cfSLevin Du&cpu_b0 { 1538bb878cfSLevin Du cpu-supply = <&vdd_cpu_b>; 1548bb878cfSLevin Du}; 1558bb878cfSLevin Du 1568bb878cfSLevin Du&cpu_b1 { 1578bb878cfSLevin Du cpu-supply = <&vdd_cpu_b>; 1588bb878cfSLevin Du}; 1598bb878cfSLevin Du 1608bb878cfSLevin Du&emmc_phy { 1618bb878cfSLevin Du status = "okay"; 1628bb878cfSLevin Du}; 1638bb878cfSLevin Du 1648bb878cfSLevin Du&gmac { 1658bb878cfSLevin Du assigned-clocks = <&cru SCLK_RMII_SRC>; 1668bb878cfSLevin Du assigned-clock-parents = <&clkin_gmac>; 1678bb878cfSLevin Du clock_in_out = "input"; 1688bb878cfSLevin Du phy-supply = <&vcc_lan>; 1698bb878cfSLevin Du phy-mode = "rgmii"; 1708bb878cfSLevin Du pinctrl-names = "default"; 1718bb878cfSLevin Du pinctrl-0 = <&rgmii_pins>; 1728bb878cfSLevin Du snps,reset-gpio = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>; 1738bb878cfSLevin Du snps,reset-active-low; 1748bb878cfSLevin Du snps,reset-delays-us = <0 10000 50000>; 1758bb878cfSLevin Du tx_delay = <0x28>; 1768bb878cfSLevin Du rx_delay = <0x11>; 1778bb878cfSLevin Du status = "okay"; 1788bb878cfSLevin Du}; 1798bb878cfSLevin Du 1808bb878cfSLevin Du&hdmi { 1818bb878cfSLevin Du ddc-i2c-bus = <&i2c3>; 1828bb878cfSLevin Du pinctrl-names = "default"; 1838bb878cfSLevin Du pinctrl-0 = <&hdmi_cec>; 1848bb878cfSLevin Du status = "okay"; 1858bb878cfSLevin Du}; 1868bb878cfSLevin Du 1878bb878cfSLevin Du&i2c0 { 1888bb878cfSLevin Du clock-frequency = <400000>; 1898bb878cfSLevin Du i2c-scl-rising-time-ns = <168>; 1908bb878cfSLevin Du i2c-scl-falling-time-ns = <4>; 1918bb878cfSLevin Du status = "okay"; 1928bb878cfSLevin Du 1938bb878cfSLevin Du rk808: pmic@1b { 1948bb878cfSLevin Du compatible = "rockchip,rk808"; 1958bb878cfSLevin Du reg = <0x1b>; 1968bb878cfSLevin Du interrupt-parent = <&gpio1>; 1978bb878cfSLevin Du interrupts = <21 IRQ_TYPE_LEVEL_LOW>; 1988bb878cfSLevin Du #clock-cells = <1>; 1998bb878cfSLevin Du clock-output-names = "xin32k", "rk808-clkout2"; 2008bb878cfSLevin Du pinctrl-names = "default"; 2018bb878cfSLevin Du pinctrl-0 = <&pmic_int_l>; 2028bb878cfSLevin Du rockchip,system-power-controller; 2038bb878cfSLevin Du wakeup-source; 2048bb878cfSLevin Du 2058bb878cfSLevin Du vcc1-supply = <&vcc3v3_sys>; 2068bb878cfSLevin Du vcc2-supply = <&vcc3v3_sys>; 2078bb878cfSLevin Du vcc3-supply = <&vcc3v3_sys>; 2088bb878cfSLevin Du vcc4-supply = <&vcc3v3_sys>; 2098bb878cfSLevin Du vcc6-supply = <&vcc3v3_sys>; 2108bb878cfSLevin Du vcc7-supply = <&vcc3v3_sys>; 2118bb878cfSLevin Du vcc8-supply = <&vcc3v3_sys>; 2128bb878cfSLevin Du vcc9-supply = <&vcc3v3_sys>; 2138bb878cfSLevin Du vcc10-supply = <&vcc3v3_sys>; 2148bb878cfSLevin Du vcc11-supply = <&vcc3v3_sys>; 2158bb878cfSLevin Du vcc12-supply = <&vcc3v3_sys>; 2168bb878cfSLevin Du vddio-supply = <&vcc1v8_pmu>; 2178bb878cfSLevin Du 2188bb878cfSLevin Du regulators { 2198bb878cfSLevin Du vdd_center: DCDC_REG1 { 2208bb878cfSLevin Du regulator-name = "vdd_center"; 2218bb878cfSLevin Du regulator-always-on; 2228bb878cfSLevin Du regulator-boot-on; 2238bb878cfSLevin Du regulator-min-microvolt = <750000>; 2248bb878cfSLevin Du regulator-max-microvolt = <1350000>; 2258bb878cfSLevin Du regulator-ramp-delay = <6001>; 2268bb878cfSLevin Du regulator-state-mem { 2278bb878cfSLevin Du regulator-off-in-suspend; 2288bb878cfSLevin Du }; 2298bb878cfSLevin Du }; 2308bb878cfSLevin Du 2318bb878cfSLevin Du vdd_cpu_l: DCDC_REG2 { 2328bb878cfSLevin Du regulator-name = "vdd_cpu_l"; 2338bb878cfSLevin Du regulator-always-on; 2348bb878cfSLevin Du regulator-boot-on; 2358bb878cfSLevin Du regulator-min-microvolt = <750000>; 2368bb878cfSLevin Du regulator-max-microvolt = <1350000>; 2378bb878cfSLevin Du regulator-ramp-delay = <6001>; 2388bb878cfSLevin Du regulator-state-mem { 2398bb878cfSLevin Du regulator-off-in-suspend; 2408bb878cfSLevin Du }; 2418bb878cfSLevin Du }; 2428bb878cfSLevin Du 2438bb878cfSLevin Du vcc_ddr: DCDC_REG3 { 2448bb878cfSLevin Du regulator-name = "vcc_ddr"; 2458bb878cfSLevin Du regulator-always-on; 2468bb878cfSLevin Du regulator-boot-on; 2478bb878cfSLevin Du regulator-state-mem { 2488bb878cfSLevin Du regulator-on-in-suspend; 2498bb878cfSLevin Du }; 2508bb878cfSLevin Du }; 2518bb878cfSLevin Du 2528bb878cfSLevin Du vcc_1v8: DCDC_REG4 { 2538bb878cfSLevin Du regulator-name = "vcc_1v8"; 2548bb878cfSLevin Du regulator-always-on; 2558bb878cfSLevin Du regulator-boot-on; 2568bb878cfSLevin Du regulator-min-microvolt = <1800000>; 2578bb878cfSLevin Du regulator-max-microvolt = <1800000>; 2588bb878cfSLevin Du regulator-state-mem { 2598bb878cfSLevin Du regulator-on-in-suspend; 2608bb878cfSLevin Du regulator-suspend-microvolt = <1800000>; 2618bb878cfSLevin Du }; 2628bb878cfSLevin Du }; 2638bb878cfSLevin Du 2648bb878cfSLevin Du vcca1v8_codec: LDO_REG1 { 2658bb878cfSLevin Du regulator-name = "vcca1v8_codec"; 2668bb878cfSLevin Du regulator-always-on; 2678bb878cfSLevin Du regulator-boot-on; 2688bb878cfSLevin Du regulator-min-microvolt = <1800000>; 2698bb878cfSLevin Du regulator-max-microvolt = <1800000>; 2708bb878cfSLevin Du regulator-state-mem { 2718bb878cfSLevin Du regulator-off-in-suspend; 2728bb878cfSLevin Du }; 2738bb878cfSLevin Du }; 2748bb878cfSLevin Du 2758bb878cfSLevin Du vcc1v8_hdmi: LDO_REG2 { 2768bb878cfSLevin Du regulator-name = "vcc1v8_hdmi"; 2778bb878cfSLevin Du regulator-always-on; 2788bb878cfSLevin Du regulator-boot-on; 2798bb878cfSLevin Du regulator-min-microvolt = <1800000>; 2808bb878cfSLevin Du regulator-max-microvolt = <1800000>; 2818bb878cfSLevin Du regulator-state-mem { 2828bb878cfSLevin Du regulator-off-in-suspend; 2838bb878cfSLevin Du }; 2848bb878cfSLevin Du }; 2858bb878cfSLevin Du 2868bb878cfSLevin Du vcc1v8_pmu: LDO_REG3 { 2878bb878cfSLevin Du regulator-name = "vcc1v8_pmu"; 2888bb878cfSLevin Du regulator-always-on; 2898bb878cfSLevin Du regulator-boot-on; 2908bb878cfSLevin Du regulator-min-microvolt = <1800000>; 2918bb878cfSLevin Du regulator-max-microvolt = <1800000>; 2928bb878cfSLevin Du regulator-state-mem { 2938bb878cfSLevin Du regulator-on-in-suspend; 2948bb878cfSLevin Du regulator-suspend-microvolt = <1800000>; 2958bb878cfSLevin Du }; 2968bb878cfSLevin Du }; 2978bb878cfSLevin Du 2988bb878cfSLevin Du vcc_sdio: LDO_REG4 { 2998bb878cfSLevin Du regulator-name = "vcc_sdio"; 3008bb878cfSLevin Du regulator-always-on; 3018bb878cfSLevin Du regulator-boot-on; 3028bb878cfSLevin Du regulator-min-microvolt = <1800000>; 3038bb878cfSLevin Du regulator-max-microvolt = <3000000>; 3048bb878cfSLevin Du regulator-state-mem { 3058bb878cfSLevin Du regulator-on-in-suspend; 3068bb878cfSLevin Du regulator-suspend-microvolt = <3000000>; 3078bb878cfSLevin Du }; 3088bb878cfSLevin Du }; 3098bb878cfSLevin Du 3108bb878cfSLevin Du vcca3v0_codec: LDO_REG5 { 3118bb878cfSLevin Du regulator-name = "vcca3v0_codec"; 3128bb878cfSLevin Du regulator-always-on; 3138bb878cfSLevin Du regulator-boot-on; 3148bb878cfSLevin Du regulator-min-microvolt = <3000000>; 3158bb878cfSLevin Du regulator-max-microvolt = <3000000>; 3168bb878cfSLevin Du regulator-state-mem { 3178bb878cfSLevin Du regulator-off-in-suspend; 3188bb878cfSLevin Du }; 3198bb878cfSLevin Du }; 3208bb878cfSLevin Du 3218bb878cfSLevin Du vcc_1v5: LDO_REG6 { 3228bb878cfSLevin Du regulator-name = "vcc_1v5"; 3238bb878cfSLevin Du regulator-always-on; 3248bb878cfSLevin Du regulator-boot-on; 3258bb878cfSLevin Du regulator-min-microvolt = <1500000>; 3268bb878cfSLevin Du regulator-max-microvolt = <1500000>; 3278bb878cfSLevin Du regulator-state-mem { 3288bb878cfSLevin Du regulator-on-in-suspend; 3298bb878cfSLevin Du regulator-suspend-microvolt = <1500000>; 3308bb878cfSLevin Du }; 3318bb878cfSLevin Du }; 3328bb878cfSLevin Du 3338bb878cfSLevin Du vcca0v9_hdmi: LDO_REG7 { 3348bb878cfSLevin Du regulator-name = "vcca0v9_hdmi"; 3358bb878cfSLevin Du regulator-always-on; 3368bb878cfSLevin Du regulator-boot-on; 3378bb878cfSLevin Du regulator-min-microvolt = <900000>; 3388bb878cfSLevin Du regulator-max-microvolt = <900000>; 3398bb878cfSLevin Du regulator-state-mem { 3408bb878cfSLevin Du regulator-off-in-suspend; 3418bb878cfSLevin Du }; 3428bb878cfSLevin Du }; 3438bb878cfSLevin Du 3448bb878cfSLevin Du vcc_3v0: LDO_REG8 { 3458bb878cfSLevin Du regulator-name = "vcc_3v0"; 3468bb878cfSLevin Du regulator-always-on; 3478bb878cfSLevin Du regulator-boot-on; 3488bb878cfSLevin Du regulator-min-microvolt = <3000000>; 3498bb878cfSLevin Du regulator-max-microvolt = <3000000>; 3508bb878cfSLevin Du regulator-state-mem { 3518bb878cfSLevin Du regulator-on-in-suspend; 3528bb878cfSLevin Du regulator-suspend-microvolt = <3000000>; 3538bb878cfSLevin Du }; 3548bb878cfSLevin Du }; 3558bb878cfSLevin Du 3568bb878cfSLevin Du vcc3v3_s3: vcc_lan: SWITCH_REG1 { 3578bb878cfSLevin Du regulator-name = "vcc3v3_s3"; 3588bb878cfSLevin Du regulator-always-on; 3598bb878cfSLevin Du regulator-boot-on; 3608bb878cfSLevin Du regulator-state-mem { 3618bb878cfSLevin Du regulator-off-in-suspend; 3628bb878cfSLevin Du }; 3638bb878cfSLevin Du }; 3648bb878cfSLevin Du 3658bb878cfSLevin Du vcc3v3_s0: SWITCH_REG2 { 3668bb878cfSLevin Du regulator-name = "vcc3v3_s0"; 3678bb878cfSLevin Du regulator-always-on; 3688bb878cfSLevin Du regulator-boot-on; 3698bb878cfSLevin Du regulator-state-mem { 3708bb878cfSLevin Du regulator-off-in-suspend; 3718bb878cfSLevin Du }; 3728bb878cfSLevin Du }; 3738bb878cfSLevin Du }; 3748bb878cfSLevin Du }; 3758bb878cfSLevin Du 3768bb878cfSLevin Du vdd_cpu_b: regulator@40 { 3778bb878cfSLevin Du compatible = "silergy,syr827"; 3788bb878cfSLevin Du reg = <0x40>; 3798bb878cfSLevin Du fcs,suspend-voltage-selector = <1>; 3808bb878cfSLevin Du pinctrl-names = "default"; 3818bb878cfSLevin Du pinctrl-0 = <&vsel1_gpio>; 3828bb878cfSLevin Du regulator-name = "vdd_cpu_b"; 3838bb878cfSLevin Du regulator-min-microvolt = <712500>; 3848bb878cfSLevin Du regulator-max-microvolt = <1500000>; 3858bb878cfSLevin Du regulator-ramp-delay = <1000>; 3868bb878cfSLevin Du regulator-always-on; 3878bb878cfSLevin Du regulator-boot-on; 3888bb878cfSLevin Du vin-supply = <&vcc3v3_sys>; 3898bb878cfSLevin Du 3908bb878cfSLevin Du regulator-state-mem { 3918bb878cfSLevin Du regulator-off-in-suspend; 3928bb878cfSLevin Du }; 3938bb878cfSLevin Du }; 3948bb878cfSLevin Du 3958bb878cfSLevin Du vdd_gpu: regulator@41 { 3968bb878cfSLevin Du compatible = "silergy,syr828"; 3978bb878cfSLevin Du reg = <0x41>; 3988bb878cfSLevin Du fcs,suspend-voltage-selector = <1>; 3998bb878cfSLevin Du pinctrl-names = "default"; 4008bb878cfSLevin Du pinctrl-0 = <&vsel2_gpio>; 4018bb878cfSLevin Du regulator-name = "vdd_gpu"; 4028bb878cfSLevin Du regulator-min-microvolt = <712500>; 4038bb878cfSLevin Du regulator-max-microvolt = <1500000>; 4048bb878cfSLevin Du regulator-ramp-delay = <1000>; 4058bb878cfSLevin Du regulator-always-on; 4068bb878cfSLevin Du regulator-boot-on; 4078bb878cfSLevin Du vin-supply = <&vcc3v3_sys>; 4088bb878cfSLevin Du 4098bb878cfSLevin Du regulator-state-mem { 4108bb878cfSLevin Du regulator-off-in-suspend; 4118bb878cfSLevin Du }; 4128bb878cfSLevin Du }; 4138bb878cfSLevin Du}; 4148bb878cfSLevin Du 4158bb878cfSLevin Du&i2c1 { 4168bb878cfSLevin Du i2c-scl-rising-time-ns = <300>; 4178bb878cfSLevin Du i2c-scl-falling-time-ns = <15>; 4188bb878cfSLevin Du status = "okay"; 4198bb878cfSLevin Du}; 4208bb878cfSLevin Du 4218bb878cfSLevin Du&i2c3 { 4228bb878cfSLevin Du i2c-scl-rising-time-ns = <450>; 4238bb878cfSLevin Du i2c-scl-falling-time-ns = <15>; 4248bb878cfSLevin Du status = "okay"; 4258bb878cfSLevin Du}; 4268bb878cfSLevin Du 4278bb878cfSLevin Du&i2c4 { 4288bb878cfSLevin Du i2c-scl-rising-time-ns = <600>; 4298bb878cfSLevin Du i2c-scl-falling-time-ns = <20>; 4308bb878cfSLevin Du status = "okay"; 4318bb878cfSLevin Du 4328bb878cfSLevin Du fusb1: usb-typec@22 { 4338bb878cfSLevin Du compatible = "fcs,fusb302"; 4348bb878cfSLevin Du reg = <0x22>; 4358bb878cfSLevin Du interrupt-parent = <&gpio1>; 4368bb878cfSLevin Du interrupts = <1 IRQ_TYPE_LEVEL_LOW>; 4378bb878cfSLevin Du pinctrl-names = "default"; 4388bb878cfSLevin Du pinctrl-0 = <&fusb1_int>; 4398bb878cfSLevin Du vbus-supply = <&vcc_vbus_typec1>; 4408bb878cfSLevin Du status = "okay"; 4418bb878cfSLevin Du }; 4428bb878cfSLevin Du}; 4438bb878cfSLevin Du 4448bb878cfSLevin Du&i2c7 { 4458bb878cfSLevin Du i2c-scl-rising-time-ns = <600>; 4468bb878cfSLevin Du i2c-scl-falling-time-ns = <20>; 4478bb878cfSLevin Du status = "okay"; 4488bb878cfSLevin Du 4498bb878cfSLevin Du fusb0: usb-typec@22 { 4508bb878cfSLevin Du compatible = "fcs,fusb302"; 4518bb878cfSLevin Du reg = <0x22>; 4528bb878cfSLevin Du interrupt-parent = <&gpio1>; 4538bb878cfSLevin Du interrupts = <2 IRQ_TYPE_LEVEL_LOW>; 4548bb878cfSLevin Du pinctrl-names = "default"; 4558bb878cfSLevin Du pinctrl-0 = <&fusb0_int>; 4568bb878cfSLevin Du vbus-supply = <&vcc_vbus_typec0>; 4578bb878cfSLevin Du status = "okay"; 4588bb878cfSLevin Du }; 4598bb878cfSLevin Du}; 4608bb878cfSLevin Du 4618bb878cfSLevin Du&i2s0 { 4628bb878cfSLevin Du rockchip,playback-channels = <8>; 4638bb878cfSLevin Du rockchip,capture-channels = <8>; 4648bb878cfSLevin Du status = "okay"; 4658bb878cfSLevin Du}; 4668bb878cfSLevin Du 4678bb878cfSLevin Du&i2s1 { 4688bb878cfSLevin Du rockchip,playback-channels = <2>; 4698bb878cfSLevin Du rockchip,capture-channels = <2>; 4708bb878cfSLevin Du status = "okay"; 4718bb878cfSLevin Du}; 4728bb878cfSLevin Du 4738bb878cfSLevin Du&i2s2 { 4748bb878cfSLevin Du status = "okay"; 4758bb878cfSLevin Du}; 4768bb878cfSLevin Du 4778bb878cfSLevin Du&io_domains { 4788bb878cfSLevin Du audio-supply = <&vcca1v8_codec>; 4798bb878cfSLevin Du bt656-supply = <&vcc_3v0>; 4808bb878cfSLevin Du gpio1830-supply = <&vcc_3v0>; 4818bb878cfSLevin Du sdmmc-supply = <&vcc_sdio>; 4828bb878cfSLevin Du status = "okay"; 4838bb878cfSLevin Du}; 4848bb878cfSLevin Du 4858bb878cfSLevin Du&pmu_io_domains { 4868bb878cfSLevin Du pmu1830-supply = <&vcc_3v0>; 4878bb878cfSLevin Du status = "okay"; 4888bb878cfSLevin Du}; 4898bb878cfSLevin Du 4908bb878cfSLevin Du&pinctrl { 4918bb878cfSLevin Du lcd-panel { 4928bb878cfSLevin Du lcd_panel_reset: lcd-panel-reset { 4938bb878cfSLevin Du rockchip,pins = <4 RK_PD6 RK_FUNC_GPIO &pcfg_pull_up>; 4948bb878cfSLevin Du }; 4958bb878cfSLevin Du }; 4968bb878cfSLevin Du 4978bb878cfSLevin Du pmic { 4988bb878cfSLevin Du vsel1_gpio: vsel1-gpio { 4998bb878cfSLevin Du rockchip,pins = <1 RK_PC2 RK_FUNC_GPIO &pcfg_pull_down>; 5008bb878cfSLevin Du }; 5018bb878cfSLevin Du 5028bb878cfSLevin Du vsel2_gpio: vsel2-gpio { 5038bb878cfSLevin Du rockchip,pins = <1 RK_PB6 RK_FUNC_GPIO &pcfg_pull_down>; 5048bb878cfSLevin Du }; 5058bb878cfSLevin Du }; 5068bb878cfSLevin Du 5078bb878cfSLevin Du sdio-pwrseq { 5088bb878cfSLevin Du wifi_enable_h: wifi-enable-h { 5098bb878cfSLevin Du rockchip,pins = <0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>; 5108bb878cfSLevin Du }; 5118bb878cfSLevin Du }; 5128bb878cfSLevin Du 5138bb878cfSLevin Du pmic { 5148bb878cfSLevin Du pmic_int_l: pmic-int-l { 5158bb878cfSLevin Du rockchip,pins = <1 RK_PC5 RK_FUNC_GPIO &pcfg_pull_up>; 5168bb878cfSLevin Du }; 5178bb878cfSLevin Du }; 5188bb878cfSLevin Du 5198bb878cfSLevin Du usb2 { 5208bb878cfSLevin Du vcc5v0_host_en: vcc5v0-host-en { 5218bb878cfSLevin Du rockchip,pins = <1 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>; 5228bb878cfSLevin Du }; 5238bb878cfSLevin Du 5248bb878cfSLevin Du hub_rst: hub-rst { 5258bb878cfSLevin Du rockchip,pins = <2 RK_PA4 RK_FUNC_GPIO &pcfg_output_high>; 5268bb878cfSLevin Du }; 5278bb878cfSLevin Du }; 5288bb878cfSLevin Du 5298bb878cfSLevin Du usb-typec { 5308bb878cfSLevin Du vcc_vbus_typec1_en: vcc-vbus-typec1-en { 5318bb878cfSLevin Du rockchip,pins = <1 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>; 5328bb878cfSLevin Du }; 5338bb878cfSLevin Du }; 5348bb878cfSLevin Du 5358bb878cfSLevin Du fusb30x { 5368bb878cfSLevin Du fusb0_int: fusb0-int { 5378bb878cfSLevin Du rockchip,pins = <1 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up>; 5388bb878cfSLevin Du }; 5398bb878cfSLevin Du 5408bb878cfSLevin Du fusb1_int: fusb1-int { 5418bb878cfSLevin Du rockchip,pins = <1 RK_PA1 RK_FUNC_GPIO &pcfg_pull_up>; 5428bb878cfSLevin Du }; 5438bb878cfSLevin Du }; 5448bb878cfSLevin Du}; 5458bb878cfSLevin Du 5468bb878cfSLevin Du&pwm0 { 5478bb878cfSLevin Du status = "okay"; 5488bb878cfSLevin Du}; 5498bb878cfSLevin Du 5508bb878cfSLevin Du&pwm2 { 5518bb878cfSLevin Du status = "okay"; 5528bb878cfSLevin Du}; 5538bb878cfSLevin Du 5548bb878cfSLevin Du&saradc { 5558bb878cfSLevin Du vref-supply = <&vcca1v8_s3>; 5568bb878cfSLevin Du status = "okay"; 5578bb878cfSLevin Du}; 5588bb878cfSLevin Du 5598bb878cfSLevin Du&sdmmc { 5608bb878cfSLevin Du bus-width = <4>; 5618bb878cfSLevin Du cap-mmc-highspeed; 5628bb878cfSLevin Du cap-sd-highspeed; 5638bb878cfSLevin Du cd-gpios = <&gpio0 RK_PA7 GPIO_ACTIVE_LOW>; 5648bb878cfSLevin Du disable-wp; 5658bb878cfSLevin Du max-frequency = <150000000>; 5668bb878cfSLevin Du pinctrl-names = "default"; 5678bb878cfSLevin Du pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_bus4>; 5688bb878cfSLevin Du status = "okay"; 5698bb878cfSLevin Du}; 5708bb878cfSLevin Du 5718bb878cfSLevin Du&sdhci { 5728bb878cfSLevin Du bus-width = <8>; 5738bb878cfSLevin Du mmc-hs400-1_8v; 5748bb878cfSLevin Du mmc-hs400-enhanced-strobe; 5758bb878cfSLevin Du non-removable; 5768bb878cfSLevin Du status = "okay"; 5778bb878cfSLevin Du}; 5788bb878cfSLevin Du 5798bb878cfSLevin Du&tcphy0 { 5808bb878cfSLevin Du status = "okay"; 5818bb878cfSLevin Du}; 5828bb878cfSLevin Du 5838bb878cfSLevin Du&tcphy1 { 5848bb878cfSLevin Du status = "okay"; 5858bb878cfSLevin Du}; 5868bb878cfSLevin Du 5878bb878cfSLevin Du&tsadc { 5888bb878cfSLevin Du /* tshut mode 0:CRU 1:GPIO */ 5898bb878cfSLevin Du rockchip,hw-tshut-mode = <1>; 5908bb878cfSLevin Du /* tshut polarity 0:LOW 1:HIGH */ 5918bb878cfSLevin Du rockchip,hw-tshut-polarity = <1>; 5928bb878cfSLevin Du status = "okay"; 5938bb878cfSLevin Du}; 5948bb878cfSLevin Du 5958bb878cfSLevin Du&u2phy0 { 5968bb878cfSLevin Du status = "okay"; 5978bb878cfSLevin Du 5988bb878cfSLevin Du u2phy0_otg: otg-port { 5998bb878cfSLevin Du phy-supply = <&vcc_vbus_typec0>; 6008bb878cfSLevin Du status = "okay"; 6018bb878cfSLevin Du }; 6028bb878cfSLevin Du 6038bb878cfSLevin Du u2phy0_host: host-port { 6048bb878cfSLevin Du phy-supply = <&vcc5v0_host>; 6058bb878cfSLevin Du status = "okay"; 6068bb878cfSLevin Du }; 6078bb878cfSLevin Du}; 6088bb878cfSLevin Du 6098bb878cfSLevin Du&u2phy1 { 6108bb878cfSLevin Du status = "okay"; 6118bb878cfSLevin Du 6128bb878cfSLevin Du u2phy1_otg: otg-port { 6138bb878cfSLevin Du phy-supply = <&vcc_vbus_typec1>; 6148bb878cfSLevin Du status = "okay"; 6158bb878cfSLevin Du }; 6168bb878cfSLevin Du 6178bb878cfSLevin Du u2phy1_host: host-port { 6188bb878cfSLevin Du phy-supply = <&vcc5v0_host>; 6198bb878cfSLevin Du status = "okay"; 6208bb878cfSLevin Du }; 6218bb878cfSLevin Du}; 6228bb878cfSLevin Du 6238bb878cfSLevin Du&uart0 { 6248bb878cfSLevin Du pinctrl-names = "default"; 6258bb878cfSLevin Du pinctrl-0 = <&uart0_xfer &uart0_cts>; 6268bb878cfSLevin Du status = "okay"; 6278bb878cfSLevin Du}; 6288bb878cfSLevin Du 6298bb878cfSLevin Du&uart2 { 6308bb878cfSLevin Du status = "okay"; 6318bb878cfSLevin Du}; 6328bb878cfSLevin Du 6338bb878cfSLevin Du&usb_host0_ehci { 6348bb878cfSLevin Du status = "okay"; 6358bb878cfSLevin Du}; 6368bb878cfSLevin Du 6378bb878cfSLevin Du&usb_host0_ohci { 6388bb878cfSLevin Du status = "okay"; 6398bb878cfSLevin Du}; 6408bb878cfSLevin Du 6418bb878cfSLevin Du&usb_host1_ehci { 6428bb878cfSLevin Du status = "okay"; 6438bb878cfSLevin Du}; 6448bb878cfSLevin Du 6458bb878cfSLevin Du&usb_host1_ohci { 6468bb878cfSLevin Du status = "okay"; 6478bb878cfSLevin Du}; 6488bb878cfSLevin Du 6498bb878cfSLevin Du&usbdrd3_0 { 6508bb878cfSLevin Du status = "okay"; 6518bb878cfSLevin Du}; 6528bb878cfSLevin Du 6538bb878cfSLevin Du&usbdrd_dwc3_0 { 6548bb878cfSLevin Du status = "okay"; 6558bb878cfSLevin Du}; 6568bb878cfSLevin Du 6578bb878cfSLevin Du&usbdrd3_1 { 6588bb878cfSLevin Du status = "okay"; 6598bb878cfSLevin Du}; 6608bb878cfSLevin Du 6618bb878cfSLevin Du&usbdrd_dwc3_1 { 6628bb878cfSLevin Du status = "okay"; 6638bb878cfSLevin Du dr_mode = "host"; 6648bb878cfSLevin Du}; 6658bb878cfSLevin Du 6668bb878cfSLevin Du&vopb { 6678bb878cfSLevin Du status = "okay"; 6688bb878cfSLevin Du}; 6698bb878cfSLevin Du 6708bb878cfSLevin Du&vopb_mmu { 6718bb878cfSLevin Du status = "okay"; 6728bb878cfSLevin Du}; 6738bb878cfSLevin Du 6748bb878cfSLevin Du&vopl { 6758bb878cfSLevin Du status = "okay"; 6768bb878cfSLevin Du}; 6778bb878cfSLevin Du 6788bb878cfSLevin Du&vopl_mmu { 6798bb878cfSLevin Du status = "okay"; 6808bb878cfSLevin Du}; 681