13222bcf5SVivek Unune// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 23222bcf5SVivek Unune/dts-v1/; 33222bcf5SVivek Unune#include <dt-bindings/pwm/pwm.h> 43222bcf5SVivek Unune#include <dt-bindings/input/input.h> 5c043dee9SKrzysztof Kozlowski#include <dt-bindings/interrupt-controller/irq.h> 63222bcf5SVivek Unune#include "rk3399.dtsi" 73222bcf5SVivek Unune 83222bcf5SVivek Unune/ { 93222bcf5SVivek Unune model = "Hugsun X99 TV BOX"; 103222bcf5SVivek Unune compatible = "hugsun,x99", "rockchip,rk3399"; 113222bcf5SVivek Unune 125dcbe7e3SHeiko Stuebner aliases { 135d90cb1eSDragan Simic ethernet0 = &gmac; 145dcbe7e3SHeiko Stuebner mmc0 = &sdio0; 155dcbe7e3SHeiko Stuebner mmc1 = &sdmmc; 165dcbe7e3SHeiko Stuebner mmc2 = &sdhci; 175dcbe7e3SHeiko Stuebner }; 185dcbe7e3SHeiko Stuebner 193222bcf5SVivek Unune chosen { 203222bcf5SVivek Unune stdout-path = "serial2:1500000n8"; 213222bcf5SVivek Unune }; 223222bcf5SVivek Unune 233222bcf5SVivek Unune clkin_gmac: external-gmac-clock { 243222bcf5SVivek Unune compatible = "fixed-clock"; 253222bcf5SVivek Unune clock-frequency = <125000000>; 263222bcf5SVivek Unune clock-output-names = "clkin_gmac"; 273222bcf5SVivek Unune #clock-cells = <0>; 283222bcf5SVivek Unune }; 293222bcf5SVivek Unune 30*5c96e633SJohan Jonker dc_5v: regulator-dc-5v { 313222bcf5SVivek Unune compatible = "regulator-fixed"; 323222bcf5SVivek Unune regulator-name = "dc_5v"; 333222bcf5SVivek Unune regulator-always-on; 343222bcf5SVivek Unune regulator-boot-on; 353222bcf5SVivek Unune regulator-min-microvolt = <5000000>; 363222bcf5SVivek Unune regulator-max-microvolt = <5000000>; 373222bcf5SVivek Unune }; 383222bcf5SVivek Unune 39cd2fd91eSVivek Unune ir-receiver { 40cd2fd91eSVivek Unune compatible = "gpio-ir-receiver"; 41cd2fd91eSVivek Unune gpios = <&gpio0 RK_PA6 GPIO_ACTIVE_LOW>; 42cd2fd91eSVivek Unune pinctrl-names = "default"; 43cd2fd91eSVivek Unune pinctrl-0 = <&ir_rx>; 44cd2fd91eSVivek Unune }; 45cd2fd91eSVivek Unune 4668c33366SVivek Unune leds { 4768c33366SVivek Unune compatible = "gpio-leds"; 4868c33366SVivek Unune pinctrl-names = "default"; 49e916d85bSJohan Jonker pinctrl-0 = <&power_led_pin>; 5068c33366SVivek Unune 51e916d85bSJohan Jonker power_led: led-0 { 5268c33366SVivek Unune label = "blue:power"; 5368c33366SVivek Unune gpios = <&gpio4 RK_PC2 GPIO_ACTIVE_HIGH>; 5468c33366SVivek Unune default-state = "on"; 5568c33366SVivek Unune linux,default-trigger = "default-on"; 5668c33366SVivek Unune }; 5768c33366SVivek Unune }; 5868c33366SVivek Unune 59*5c96e633SJohan Jonker vcc_sys: regulator-vcc-sys { 603222bcf5SVivek Unune compatible = "regulator-fixed"; 613222bcf5SVivek Unune regulator-name = "vcc_sys"; 623222bcf5SVivek Unune regulator-min-microvolt = <5000000>; 633222bcf5SVivek Unune regulator-max-microvolt = <5000000>; 643222bcf5SVivek Unune regulator-always-on; 653222bcf5SVivek Unune vin-supply = <&dc_5v>; 663222bcf5SVivek Unune }; 673222bcf5SVivek Unune 68*5c96e633SJohan Jonker vcc_phy: regulator-vcc-phy { 693222bcf5SVivek Unune compatible = "regulator-fixed"; 703222bcf5SVivek Unune regulator-name = "vcc_phy"; 713222bcf5SVivek Unune regulator-always-on; 723222bcf5SVivek Unune regulator-boot-on; 733222bcf5SVivek Unune }; 743222bcf5SVivek Unune 75*5c96e633SJohan Jonker vcc1v8_s0: regulator-vcc1v8-s0 { 763222bcf5SVivek Unune compatible = "regulator-fixed"; 773222bcf5SVivek Unune regulator-name = "vcc1v8_s0"; 783222bcf5SVivek Unune regulator-min-microvolt = <1800000>; 793222bcf5SVivek Unune regulator-max-microvolt = <1800000>; 803222bcf5SVivek Unune regulator-always-on; 813222bcf5SVivek Unune }; 823222bcf5SVivek Unune 83*5c96e633SJohan Jonker vcc3v3_sys: regulator-vcc3v3-sys { 843222bcf5SVivek Unune compatible = "regulator-fixed"; 853222bcf5SVivek Unune regulator-name = "vcc3v3_sys"; 863222bcf5SVivek Unune regulator-min-microvolt = <3300000>; 873222bcf5SVivek Unune regulator-max-microvolt = <3300000>; 883222bcf5SVivek Unune regulator-always-on; 893222bcf5SVivek Unune vin-supply = <&vcc_sys>; 903222bcf5SVivek Unune }; 913222bcf5SVivek Unune 92*5c96e633SJohan Jonker vcc5v0_host: regulator-vcc5v0-host { 933222bcf5SVivek Unune compatible = "regulator-fixed"; 943222bcf5SVivek Unune enable-active-high; 953222bcf5SVivek Unune gpio = <&gpio4 RK_PD2 GPIO_ACTIVE_HIGH>; 963222bcf5SVivek Unune pinctrl-names = "default"; 973222bcf5SVivek Unune pinctrl-0 = <&host_vbus_drv>; 983222bcf5SVivek Unune regulator-name = "vcc5v0_host"; 993222bcf5SVivek Unune regulator-always-on; 1003222bcf5SVivek Unune }; 1013222bcf5SVivek Unune 102*5c96e633SJohan Jonker vcc5v0_typec: regulator-vcc5v0-typec { 1033222bcf5SVivek Unune compatible = "regulator-fixed"; 1043222bcf5SVivek Unune enable-active-high; 1053222bcf5SVivek Unune gpio = <&gpio1 RK_PA3 GPIO_ACTIVE_HIGH>; 1063222bcf5SVivek Unune pinctrl-names = "default"; 1073222bcf5SVivek Unune pinctrl-0 = <&vcc5v0_typec_en>; 1083222bcf5SVivek Unune regulator-name = "vcc5v0_typec"; 1093222bcf5SVivek Unune regulator-always-on; 1103222bcf5SVivek Unune vin-supply = <&vcc5v0_usb>; 1113222bcf5SVivek Unune }; 1123222bcf5SVivek Unune 113*5c96e633SJohan Jonker vcc5v0_usb: regulator-vcc5v0-usb { 1143222bcf5SVivek Unune compatible = "regulator-fixed"; 1153222bcf5SVivek Unune regulator-name = "vcc5v0_usb"; 1163222bcf5SVivek Unune regulator-always-on; 1173222bcf5SVivek Unune regulator-boot-on; 1183222bcf5SVivek Unune regulator-min-microvolt = <5000000>; 1193222bcf5SVivek Unune regulator-max-microvolt = <5000000>; 1203222bcf5SVivek Unune vin-supply = <&dc_5v>; 1213222bcf5SVivek Unune }; 1223222bcf5SVivek Unune 123*5c96e633SJohan Jonker vdd_log: regulator-vdd-log { 1243222bcf5SVivek Unune compatible = "pwm-regulator"; 1253222bcf5SVivek Unune pwms = <&pwm2 0 25000 1>; 1263222bcf5SVivek Unune pwm-supply = <&vcc_sys>; 1273222bcf5SVivek Unune regulator-name = "vdd_log"; 1283222bcf5SVivek Unune regulator-min-microvolt = <800000>; 1293222bcf5SVivek Unune regulator-max-microvolt = <1400000>; 1303222bcf5SVivek Unune regulator-always-on; 1313222bcf5SVivek Unune regulator-boot-on; 1323222bcf5SVivek Unune }; 1333222bcf5SVivek Unune 1343222bcf5SVivek Unune sdio_pwrseq: sdio-pwrseq { 1353222bcf5SVivek Unune compatible = "mmc-pwrseq-simple"; 1363222bcf5SVivek Unune clocks = <&rk808 1>; 1373222bcf5SVivek Unune clock-names = "ext_clock"; 1383222bcf5SVivek Unune pinctrl-names = "default"; 1393222bcf5SVivek Unune pinctrl-0 = <&wifi_reg_on_h>; 1403222bcf5SVivek Unune reset-gpios = <&gpio0 RK_PB2 GPIO_ACTIVE_LOW>; 1413222bcf5SVivek Unune }; 1423222bcf5SVivek Unune 1433222bcf5SVivek Unune}; 1443222bcf5SVivek Unune 1453222bcf5SVivek Unune&cpu_l0 { 1463222bcf5SVivek Unune cpu-supply = <&vdd_cpu_l>; 1473222bcf5SVivek Unune}; 1483222bcf5SVivek Unune 1493222bcf5SVivek Unune&cpu_l1 { 1503222bcf5SVivek Unune cpu-supply = <&vdd_cpu_l>; 1513222bcf5SVivek Unune}; 1523222bcf5SVivek Unune 1533222bcf5SVivek Unune&cpu_l2 { 1543222bcf5SVivek Unune cpu-supply = <&vdd_cpu_l>; 1553222bcf5SVivek Unune}; 1563222bcf5SVivek Unune 1573222bcf5SVivek Unune&cpu_l3 { 1583222bcf5SVivek Unune cpu-supply = <&vdd_cpu_l>; 1593222bcf5SVivek Unune}; 1603222bcf5SVivek Unune 1613222bcf5SVivek Unune&cpu_b0 { 1623222bcf5SVivek Unune cpu-supply = <&vdd_cpu_b>; 1633222bcf5SVivek Unune}; 1643222bcf5SVivek Unune 1653222bcf5SVivek Unune&cpu_b1 { 1663222bcf5SVivek Unune cpu-supply = <&vdd_cpu_b>; 1673222bcf5SVivek Unune}; 1683222bcf5SVivek Unune 1693222bcf5SVivek Unune&emmc_phy { 1703222bcf5SVivek Unune status = "okay"; 1713222bcf5SVivek Unune}; 1723222bcf5SVivek Unune 1733222bcf5SVivek Unune&gmac { 1743222bcf5SVivek Unune assigned-clocks = <&cru SCLK_RMII_SRC>; 1753222bcf5SVivek Unune assigned-clock-parents = <&clkin_gmac>; 1763222bcf5SVivek Unune clock_in_out = "input"; 1773222bcf5SVivek Unune phy-supply = <&vcc_phy>; 1783222bcf5SVivek Unune phy-mode = "rgmii"; 1793222bcf5SVivek Unune pinctrl-names = "default"; 1803222bcf5SVivek Unune pinctrl-0 = <&rgmii_pins>; 1813222bcf5SVivek Unune snps,reset-gpio = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>; 1823222bcf5SVivek Unune snps,reset-active-low; 1833222bcf5SVivek Unune snps,reset-delays-us = <0 10000 50000>; 1843222bcf5SVivek Unune tx_delay = <0x28>; 1853222bcf5SVivek Unune rx_delay = <0x11>; 1863222bcf5SVivek Unune status = "okay"; 1873222bcf5SVivek Unune}; 1883222bcf5SVivek Unune 1893222bcf5SVivek Unune&gpu { 1903222bcf5SVivek Unune status = "okay"; 1913222bcf5SVivek Unune mali-supply = <&vdd_gpu>; 1923222bcf5SVivek Unune}; 1933222bcf5SVivek Unune 1943222bcf5SVivek Unune&hdmi { 1953222bcf5SVivek Unune ddc-i2c-bus = <&i2c3>; 1963222bcf5SVivek Unune pinctrl-names = "default"; 1973222bcf5SVivek Unune pinctrl-0 = <&hdmi_cec>; 1983222bcf5SVivek Unune status = "okay"; 1993222bcf5SVivek Unune}; 2003222bcf5SVivek Unune 2013222bcf5SVivek Unune&hdmi_sound { 2023222bcf5SVivek Unune status = "okay"; 2033222bcf5SVivek Unune}; 2043222bcf5SVivek Unune 2053222bcf5SVivek Unune&i2c0 { 2063222bcf5SVivek Unune status = "okay"; 2073222bcf5SVivek Unune i2c-scl-rising-time-ns = <180>; 2083222bcf5SVivek Unune i2c-scl-falling-time-ns = <30>; 2093222bcf5SVivek Unune clock-frequency = <400000>; 2103222bcf5SVivek Unune 2113222bcf5SVivek Unune vdd_cpu_b: syr827@40 { 2123222bcf5SVivek Unune compatible = "silergy,syr827"; 2133222bcf5SVivek Unune reg = <0x40>; 2142bc65fefSJohan Jonker pinctrl-0 = <&vsel1_pin>; 2153222bcf5SVivek Unune regulator-name = "vdd_cpu_b"; 2163222bcf5SVivek Unune regulator-min-microvolt = <712500>; 2173222bcf5SVivek Unune regulator-max-microvolt = <1500000>; 2183222bcf5SVivek Unune regulator-ramp-delay = <1000>; 2193222bcf5SVivek Unune fcs,suspend-voltage-selector = <1>; 2203222bcf5SVivek Unune regulator-always-on; 2213222bcf5SVivek Unune regulator-boot-on; 2223222bcf5SVivek Unune vin-supply = <&vcc_sys>; 2233222bcf5SVivek Unune regulator-state-mem { 2243222bcf5SVivek Unune regulator-off-in-suspend; 2253222bcf5SVivek Unune }; 2263222bcf5SVivek Unune }; 2273222bcf5SVivek Unune 2283222bcf5SVivek Unune vdd_gpu: syr828@41 { 2293222bcf5SVivek Unune compatible = "silergy,syr828"; 2303222bcf5SVivek Unune reg = <0x41>; 2312bc65fefSJohan Jonker pinctrl-0 = <&vsel2_pin>; 2323222bcf5SVivek Unune regulator-name = "vdd_gpu"; 2333222bcf5SVivek Unune regulator-min-microvolt = <712500>; 2343222bcf5SVivek Unune regulator-max-microvolt = <1500000>; 2353222bcf5SVivek Unune regulator-ramp-delay = <1000>; 2363222bcf5SVivek Unune fcs,suspend-voltage-selector = <1>; 2373222bcf5SVivek Unune regulator-always-on; 2383222bcf5SVivek Unune regulator-boot-on; 2393222bcf5SVivek Unune vin-supply = <&vcc_sys>; 2403222bcf5SVivek Unune regulator-initial-mode = <1>; 2413222bcf5SVivek Unune regulator-state-mem { 2423222bcf5SVivek Unune regulator-off-in-suspend; 2433222bcf5SVivek Unune }; 2443222bcf5SVivek Unune }; 2453222bcf5SVivek Unune 2463222bcf5SVivek Unune rk808: pmic@1b { 2473222bcf5SVivek Unune compatible = "rockchip,rk808"; 2483222bcf5SVivek Unune reg = <0x1b>; 2493222bcf5SVivek Unune interrupt-parent = <&gpio1>; 2503222bcf5SVivek Unune interrupts = <21 IRQ_TYPE_LEVEL_LOW>; 2513222bcf5SVivek Unune pinctrl-names = "default"; 2523222bcf5SVivek Unune pinctrl-0 = <&pmic_int_l>; 2535a49e05bSDiederik de Haas system-power-controller; 2543222bcf5SVivek Unune wakeup-source; 2553222bcf5SVivek Unune #clock-cells = <1>; 2563222bcf5SVivek Unune clock-output-names = "xin32k", "rtc_clko_wifi"; 2573222bcf5SVivek Unune 2583222bcf5SVivek Unune vcc1-supply = <&vcc_sys>; 2593222bcf5SVivek Unune vcc2-supply = <&vcc_sys>; 2603222bcf5SVivek Unune vcc3-supply = <&vcc_sys>; 2613222bcf5SVivek Unune vcc4-supply = <&vcc_sys>; 2623222bcf5SVivek Unune vcc6-supply = <&vcc_sys>; 2633222bcf5SVivek Unune vcc7-supply = <&vcc_sys>; 2643222bcf5SVivek Unune vcc8-supply = <&vcc3v3_sys>; 2653222bcf5SVivek Unune vcc9-supply = <&vcc_sys>; 2663222bcf5SVivek Unune vcc10-supply = <&vcc_sys>; 2673222bcf5SVivek Unune vcc11-supply = <&vcc_sys>; 2683222bcf5SVivek Unune vcc12-supply = <&vcc3v3_sys>; 2693222bcf5SVivek Unune vddio-supply = <&vcc_1v8>; 2703222bcf5SVivek Unune 2713222bcf5SVivek Unune regulators { 2723222bcf5SVivek Unune vdd_center: DCDC_REG1 { 2733222bcf5SVivek Unune regulator-name = "vdd_center"; 2743222bcf5SVivek Unune regulator-min-microvolt = <900000>; 2753222bcf5SVivek Unune regulator-max-microvolt = <900000>; 2763222bcf5SVivek Unune regulator-ramp-delay = <6001>; 2773222bcf5SVivek Unune regulator-always-on; 2783222bcf5SVivek Unune regulator-boot-on; 2793222bcf5SVivek Unune regulator-state-mem { 2803222bcf5SVivek Unune regulator-off-in-suspend; 2813222bcf5SVivek Unune }; 2823222bcf5SVivek Unune }; 2833222bcf5SVivek Unune 2843222bcf5SVivek Unune vdd_cpu_l: DCDC_REG2 { 2853222bcf5SVivek Unune regulator-name = "vdd_cpu_l"; 2863222bcf5SVivek Unune regulator-min-microvolt = <750000>; 2873222bcf5SVivek Unune regulator-max-microvolt = <1350000>; 2883222bcf5SVivek Unune regulator-ramp-delay = <6001>; 2893222bcf5SVivek Unune regulator-always-on; 2903222bcf5SVivek Unune regulator-boot-on; 2913222bcf5SVivek Unune regulator-state-mem { 2923222bcf5SVivek Unune regulator-off-in-suspend; 2933222bcf5SVivek Unune }; 2943222bcf5SVivek Unune }; 2953222bcf5SVivek Unune 2963222bcf5SVivek Unune vcc_ddr: DCDC_REG3 { 2973222bcf5SVivek Unune regulator-name = "vcc_ddr"; 2983222bcf5SVivek Unune regulator-always-on; 2993222bcf5SVivek Unune regulator-boot-on; 3003222bcf5SVivek Unune regulator-state-mem { 3013222bcf5SVivek Unune regulator-on-in-suspend; 3023222bcf5SVivek Unune }; 3033222bcf5SVivek Unune }; 3043222bcf5SVivek Unune 3053222bcf5SVivek Unune vcc_1v8: DCDC_REG4 { 3063222bcf5SVivek Unune regulator-name = "vcc_1v8"; 3073222bcf5SVivek Unune regulator-min-microvolt = <1800000>; 3083222bcf5SVivek Unune regulator-max-microvolt = <1800000>; 3093222bcf5SVivek Unune regulator-always-on; 3103222bcf5SVivek Unune regulator-boot-on; 3113222bcf5SVivek Unune regulator-state-mem { 3123222bcf5SVivek Unune regulator-on-in-suspend; 3133222bcf5SVivek Unune regulator-suspend-microvolt = <1800000>; 3143222bcf5SVivek Unune }; 3153222bcf5SVivek Unune }; 3163222bcf5SVivek Unune 3173222bcf5SVivek Unune vcc1v8_dvp: LDO_REG1 { 3183222bcf5SVivek Unune regulator-name = "vcc1v8_dvp"; 3193222bcf5SVivek Unune regulator-min-microvolt = <1800000>; 3203222bcf5SVivek Unune regulator-max-microvolt = <1800000>; 3213222bcf5SVivek Unune regulator-always-on; 3223222bcf5SVivek Unune regulator-boot-on; 3233222bcf5SVivek Unune regulator-state-mem { 3243222bcf5SVivek Unune regulator-on-in-suspend; 3253222bcf5SVivek Unune regulator-suspend-microvolt = <1800000>; 3263222bcf5SVivek Unune }; 3273222bcf5SVivek Unune }; 3283222bcf5SVivek Unune 3293222bcf5SVivek Unune vcca1v8_hdmi: LDO_REG2 { 3303222bcf5SVivek Unune regulator-name = "vcca1v8_hdmi"; 3313222bcf5SVivek Unune regulator-min-microvolt = <1800000>; 3323222bcf5SVivek Unune regulator-max-microvolt = <1800000>; 3333222bcf5SVivek Unune regulator-always-on; 3343222bcf5SVivek Unune regulator-boot-on; 3353222bcf5SVivek Unune regulator-state-mem { 3363222bcf5SVivek Unune regulator-on-in-suspend; 3373222bcf5SVivek Unune regulator-suspend-microvolt = <1800000>; 3383222bcf5SVivek Unune }; 3393222bcf5SVivek Unune }; 3403222bcf5SVivek Unune 3413222bcf5SVivek Unune vcca_1v8: LDO_REG3 { 3423222bcf5SVivek Unune regulator-name = "vcca_1v8"; 3433222bcf5SVivek Unune regulator-min-microvolt = <1800000>; 3443222bcf5SVivek Unune regulator-max-microvolt = <1800000>; 3453222bcf5SVivek Unune regulator-always-on; 3463222bcf5SVivek Unune regulator-boot-on; 3473222bcf5SVivek Unune regulator-state-mem { 3483222bcf5SVivek Unune regulator-on-in-suspend; 3493222bcf5SVivek Unune regulator-suspend-microvolt = <1800000>; 3503222bcf5SVivek Unune }; 3513222bcf5SVivek Unune }; 3523222bcf5SVivek Unune 3533222bcf5SVivek Unune vcc_sd: LDO_REG4 { 3543222bcf5SVivek Unune regulator-name = "vcc_sd"; 3553222bcf5SVivek Unune regulator-min-microvolt = <1800000>; 3563222bcf5SVivek Unune regulator-max-microvolt = <3300000>; 3573222bcf5SVivek Unune regulator-always-on; 3583222bcf5SVivek Unune regulator-boot-on; 3593222bcf5SVivek Unune regulator-state-mem { 3603222bcf5SVivek Unune regulator-on-in-suspend; 3613222bcf5SVivek Unune regulator-suspend-microvolt = <3300000>; 3623222bcf5SVivek Unune }; 3633222bcf5SVivek Unune }; 3643222bcf5SVivek Unune 3653222bcf5SVivek Unune vcc3v0_sd: LDO_REG5 { 3663222bcf5SVivek Unune regulator-name = "vcc3v0_sd"; 3673222bcf5SVivek Unune regulator-min-microvolt = <3000000>; 3683222bcf5SVivek Unune regulator-max-microvolt = <3000000>; 3693222bcf5SVivek Unune regulator-always-on; 3703222bcf5SVivek Unune regulator-boot-on; 3713222bcf5SVivek Unune regulator-state-mem { 3723222bcf5SVivek Unune regulator-on-in-suspend; 3733222bcf5SVivek Unune regulator-suspend-microvolt = <3000000>; 3743222bcf5SVivek Unune }; 3753222bcf5SVivek Unune }; 3763222bcf5SVivek Unune 3773222bcf5SVivek Unune vcc_1v5: LDO_REG6 { 3783222bcf5SVivek Unune regulator-name = "vcc_1v5"; 3793222bcf5SVivek Unune regulator-min-microvolt = <1500000>; 3803222bcf5SVivek Unune regulator-max-microvolt = <1500000>; 3813222bcf5SVivek Unune regulator-always-on; 3823222bcf5SVivek Unune regulator-boot-on; 3833222bcf5SVivek Unune regulator-state-mem { 3843222bcf5SVivek Unune regulator-on-in-suspend; 3853222bcf5SVivek Unune regulator-suspend-microvolt = <1500000>; 3863222bcf5SVivek Unune }; 3873222bcf5SVivek Unune }; 3883222bcf5SVivek Unune 3893222bcf5SVivek Unune vcca0v9_hdmi: LDO_REG7 { 3903222bcf5SVivek Unune regulator-name = "vcca0v9_hdmi"; 3913222bcf5SVivek Unune regulator-min-microvolt = <900000>; 3923222bcf5SVivek Unune regulator-max-microvolt = <900000>; 3933222bcf5SVivek Unune regulator-always-on; 3943222bcf5SVivek Unune regulator-boot-on; 3953222bcf5SVivek Unune regulator-state-mem { 3963222bcf5SVivek Unune regulator-on-in-suspend; 3973222bcf5SVivek Unune regulator-suspend-microvolt = <900000>; 3983222bcf5SVivek Unune }; 3993222bcf5SVivek Unune }; 4003222bcf5SVivek Unune 4013222bcf5SVivek Unune vcc_3v0: LDO_REG8 { 4023222bcf5SVivek Unune regulator-name = "vcc_3v0"; 4033222bcf5SVivek Unune regulator-min-microvolt = <3000000>; 4043222bcf5SVivek Unune regulator-max-microvolt = <3000000>; 4053222bcf5SVivek Unune regulator-always-on; 4063222bcf5SVivek Unune regulator-boot-on; 4073222bcf5SVivek Unune regulator-state-mem { 4083222bcf5SVivek Unune regulator-on-in-suspend; 4093222bcf5SVivek Unune regulator-suspend-microvolt = <3000000>; 4103222bcf5SVivek Unune }; 4113222bcf5SVivek Unune }; 4123222bcf5SVivek Unune 4133222bcf5SVivek Unune vcc3v3_s3: SWITCH_REG1 { 4143222bcf5SVivek Unune regulator-name = "vcc3v3_s3"; 4153222bcf5SVivek Unune regulator-always-on; 4163222bcf5SVivek Unune regulator-boot-on; 4173222bcf5SVivek Unune regulator-state-mem { 4183222bcf5SVivek Unune regulator-on-in-suspend; 4193222bcf5SVivek Unune }; 4203222bcf5SVivek Unune }; 4213222bcf5SVivek Unune 4223222bcf5SVivek Unune vcc3v3_s0: SWITCH_REG2 { 4233222bcf5SVivek Unune regulator-name = "vcc3v3_s0"; 4243222bcf5SVivek Unune regulator-always-on; 4253222bcf5SVivek Unune regulator-boot-on; 4263222bcf5SVivek Unune regulator-state-mem { 4273222bcf5SVivek Unune regulator-on-in-suspend; 4283222bcf5SVivek Unune }; 4293222bcf5SVivek Unune }; 4303222bcf5SVivek Unune }; 4313222bcf5SVivek Unune }; 4323222bcf5SVivek Unune}; 4333222bcf5SVivek Unune 4343222bcf5SVivek Unune&i2c1 { 4353222bcf5SVivek Unune i2c-scl-rising-time-ns = <300>; 4363222bcf5SVivek Unune i2c-scl-falling-time-ns = <15>; 4373222bcf5SVivek Unune status = "okay"; 4383222bcf5SVivek Unune}; 4393222bcf5SVivek Unune 4403222bcf5SVivek Unune&i2c3 { 4413222bcf5SVivek Unune i2c-scl-rising-time-ns = <450>; 4423222bcf5SVivek Unune i2c-scl-falling-time-ns = <15>; 4433222bcf5SVivek Unune status = "okay"; 4443222bcf5SVivek Unune}; 4453222bcf5SVivek Unune 4463222bcf5SVivek Unune&i2c4 { 4473222bcf5SVivek Unune i2c-scl-rising-time-ns = <600>; 4483222bcf5SVivek Unune i2c-scl-falling-time-ns = <40>; 4493222bcf5SVivek Unune status = "okay"; 4503222bcf5SVivek Unune 4513222bcf5SVivek Unune fusb0: typec-portc@22 { 4523222bcf5SVivek Unune compatible = "fcs,fusb302"; 4533222bcf5SVivek Unune reg = <0x22>; 4543222bcf5SVivek Unune interrupt-parent = <&gpio1>; 4553222bcf5SVivek Unune interrupts = <RK_PA2 IRQ_TYPE_LEVEL_LOW>; 4563222bcf5SVivek Unune pinctrl-names = "default"; 4573222bcf5SVivek Unune pinctrl-0 = <&fusb0_int>; 4583222bcf5SVivek Unune vbus-supply = <&vcc5v0_typec>; 4593222bcf5SVivek Unune status = "okay"; 4603222bcf5SVivek Unune }; 4613222bcf5SVivek Unune}; 4623222bcf5SVivek Unune 4633222bcf5SVivek Unune&i2c7 { 4643222bcf5SVivek Unune status = "okay"; 4653222bcf5SVivek Unune}; 4663222bcf5SVivek Unune 4673222bcf5SVivek Unune&i2s0 { 4683222bcf5SVivek Unune rockchip,playback-channels = <8>; 4693222bcf5SVivek Unune rockchip,capture-channels = <8>; 4703222bcf5SVivek Unune status = "okay"; 4713222bcf5SVivek Unune}; 4723222bcf5SVivek Unune 4733222bcf5SVivek Unune&i2s1 { 4743222bcf5SVivek Unune rockchip,playback-channels = <2>; 4753222bcf5SVivek Unune rockchip,capture-channels = <2>; 4763222bcf5SVivek Unune status = "okay"; 4773222bcf5SVivek Unune}; 4783222bcf5SVivek Unune 4793222bcf5SVivek Unune&i2s2 { 4803222bcf5SVivek Unune status = "okay"; 4813222bcf5SVivek Unune}; 4823222bcf5SVivek Unune 4833222bcf5SVivek Unune&io_domains { 4843222bcf5SVivek Unune status = "okay"; 4853222bcf5SVivek Unune audio-supply = <&vcc1v8_s0>; 4863222bcf5SVivek Unune bt656-supply = <&vcc1v8_s0>; 4873222bcf5SVivek Unune gpio1830-supply = <&vcc_3v0>; 4883222bcf5SVivek Unune sdmmc-supply = <&vcc_sd>; 4893222bcf5SVivek Unune}; 4903222bcf5SVivek Unune 4913222bcf5SVivek Unune&pmu_io_domains { 4923222bcf5SVivek Unune status = "okay"; 4933222bcf5SVivek Unune pmu1830-supply = <&vcc_1v8>; 4943222bcf5SVivek Unune}; 4953222bcf5SVivek Unune 4963222bcf5SVivek Unune&pinctrl { 4973222bcf5SVivek Unune fusb30x { 4983222bcf5SVivek Unune fusb0_int: fusb0-int { 4993222bcf5SVivek Unune rockchip,pins = 5003222bcf5SVivek Unune <1 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up>; 5013222bcf5SVivek Unune }; 5023222bcf5SVivek Unune }; 5033222bcf5SVivek Unune 5043222bcf5SVivek Unune gmac { 5053222bcf5SVivek Unune rgmii_sleep_pins: rgmii-sleep-pins { 5063222bcf5SVivek Unune rockchip,pins = 5073222bcf5SVivek Unune <3 RK_PB7 RK_FUNC_GPIO &pcfg_output_low>; 5083222bcf5SVivek Unune }; 5093222bcf5SVivek Unune }; 5103222bcf5SVivek Unune 511cd2fd91eSVivek Unune ir { 512cd2fd91eSVivek Unune ir_rx: ir-rx { 513cd2fd91eSVivek Unune rockchip,pins = <0 RK_PA6 1 &pcfg_pull_none>; 514cd2fd91eSVivek Unune }; 515cd2fd91eSVivek Unune }; 516cd2fd91eSVivek Unune 51768c33366SVivek Unune leds { 518e916d85bSJohan Jonker power_led_pin: power-led-pin { 51968c33366SVivek Unune rockchip,pins = <4 RK_PC2 RK_FUNC_GPIO &pcfg_pull_none>; 52068c33366SVivek Unune }; 52168c33366SVivek Unune }; 52268c33366SVivek Unune 5233222bcf5SVivek Unune pmic { 5243222bcf5SVivek Unune pmic_int_l: pmic-int-l { 5253222bcf5SVivek Unune rockchip,pins = 5263222bcf5SVivek Unune <1 RK_PC5 RK_FUNC_GPIO &pcfg_pull_up>; 5273222bcf5SVivek Unune }; 5283222bcf5SVivek Unune 5292bc65fefSJohan Jonker vsel1_pin: vsel1-pin { 5303222bcf5SVivek Unune rockchip,pins = 5313222bcf5SVivek Unune <1 RK_PC1 RK_FUNC_GPIO &pcfg_pull_down>; 5323222bcf5SVivek Unune }; 5333222bcf5SVivek Unune 5342bc65fefSJohan Jonker vsel2_pin: vsel2-pin { 5353222bcf5SVivek Unune rockchip,pins = 5363222bcf5SVivek Unune <1 RK_PB6 RK_FUNC_GPIO &pcfg_pull_down>; 5373222bcf5SVivek Unune }; 5383222bcf5SVivek Unune }; 5393222bcf5SVivek Unune 5403222bcf5SVivek Unune sdio { 5413222bcf5SVivek Unune bt_host_wake_l: bt-host-wake-l { 5423222bcf5SVivek Unune rockchip,pins = <0 RK_PA4 RK_FUNC_GPIO &pcfg_pull_none>; 5433222bcf5SVivek Unune }; 5443222bcf5SVivek Unune 5453222bcf5SVivek Unune bt_reg_on_h: bt-reg-on-h { 5463222bcf5SVivek Unune /* external pullup to VCC1V8_PMUPLL */ 5473222bcf5SVivek Unune rockchip,pins = <0 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>; 5483222bcf5SVivek Unune }; 5493222bcf5SVivek Unune 5503222bcf5SVivek Unune bt_wake_l: bt-wake-l { 5513222bcf5SVivek Unune rockchip,pins = <2 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>; 5523222bcf5SVivek Unune }; 5533222bcf5SVivek Unune 5543222bcf5SVivek Unune wifi_reg_on_h: wifi-reg_on-h { 5553222bcf5SVivek Unune rockchip,pins = <0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>; 5563222bcf5SVivek Unune }; 5573222bcf5SVivek Unune }; 5583222bcf5SVivek Unune 5593222bcf5SVivek Unune wifi { 5603222bcf5SVivek Unune wifi_host_wake_l: wifi-host-wake-l { 5613222bcf5SVivek Unune rockchip,pins = <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_none>; 5623222bcf5SVivek Unune }; 5633222bcf5SVivek Unune }; 5643222bcf5SVivek Unune 5653222bcf5SVivek Unune usb-typec { 5663222bcf5SVivek Unune vcc5v0_typec_en: vcc5v0_typec_en { 5673222bcf5SVivek Unune rockchip,pins = <1 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>; 5683222bcf5SVivek Unune }; 5693222bcf5SVivek Unune }; 5703222bcf5SVivek Unune 5713222bcf5SVivek Unune usb2 { 5723222bcf5SVivek Unune host_vbus_drv: host-vbus-drv { 5733222bcf5SVivek Unune rockchip,pins = 5743222bcf5SVivek Unune <4 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>; 5753222bcf5SVivek Unune }; 5763222bcf5SVivek Unune }; 5773222bcf5SVivek Unune}; 5783222bcf5SVivek Unune 5793222bcf5SVivek Unune&pwm2 { 5803222bcf5SVivek Unune status = "okay"; 5813222bcf5SVivek Unune pinctrl-0 = <&pwm2_pin_pull_down>; 5823222bcf5SVivek Unune}; 5833222bcf5SVivek Unune 5843222bcf5SVivek Unune&saradc { 5853222bcf5SVivek Unune vref-supply = <&vcc1v8_s0>; 5863222bcf5SVivek Unune status = "okay"; 5873222bcf5SVivek Unune}; 5883222bcf5SVivek Unune 5893222bcf5SVivek Unune&sdmmc { 5903222bcf5SVivek Unune clock-frequency = <150000000>; 591b6e62d37SJohan Jonker max-frequency = <150000000>; 5923222bcf5SVivek Unune bus-width = <4>; 5933222bcf5SVivek Unune cap-mmc-highspeed; 5943222bcf5SVivek Unune cap-sd-highspeed; 5953222bcf5SVivek Unune disable-wp; 5963222bcf5SVivek Unune vqmmc-supply = <&vcc_sd>; 5973222bcf5SVivek Unune pinctrl-names = "default"; 5983222bcf5SVivek Unune pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_cd &sdmmc_bus4>; 5993222bcf5SVivek Unune card-detect-delay = <800>; 6003222bcf5SVivek Unune status = "okay"; 6013222bcf5SVivek Unune}; 6023222bcf5SVivek Unune 6033222bcf5SVivek Unune&sdhci { 6043222bcf5SVivek Unune bus-width = <8>; 6053222bcf5SVivek Unune mmc-hs400-1_8v; 6063222bcf5SVivek Unune mmc-hs400-enhanced-strobe; 6073222bcf5SVivek Unune non-removable; 6083222bcf5SVivek Unune keep-power-in-suspend; 6093222bcf5SVivek Unune status = "okay"; 6103222bcf5SVivek Unune}; 6113222bcf5SVivek Unune 6123222bcf5SVivek Unune&sdio0 { 6133222bcf5SVivek Unune bus-width = <4>; 6143222bcf5SVivek Unune clock-frequency = <50000000>; 6153222bcf5SVivek Unune cap-sdio-irq; 6163222bcf5SVivek Unune cap-sd-highspeed; 6173222bcf5SVivek Unune keep-power-in-suspend; 6183222bcf5SVivek Unune mmc-pwrseq = <&sdio_pwrseq>; 6193222bcf5SVivek Unune non-removable; 6203222bcf5SVivek Unune pinctrl-names = "default"; 6213222bcf5SVivek Unune pinctrl-0 = <&sdio0_bus4 &sdio0_cmd &sdio0_clk>; 6223222bcf5SVivek Unune sd-uhs-sdr104; 6233222bcf5SVivek Unune #address-cells = <1>; 6243222bcf5SVivek Unune #size-cells = <0>; 6253222bcf5SVivek Unune status = "okay"; 6263222bcf5SVivek Unune 6273222bcf5SVivek Unune brcmf: wifi@1 { 6283222bcf5SVivek Unune compatible = "brcm,bcm4329-fmac"; 6293222bcf5SVivek Unune reg = <1>; 6303222bcf5SVivek Unune interrupt-parent = <&gpio0>; 631c043dee9SKrzysztof Kozlowski interrupts = <RK_PA3 IRQ_TYPE_LEVEL_HIGH>; 6323222bcf5SVivek Unune interrupt-names = "host-wake"; 6333222bcf5SVivek Unune pinctrl-names = "default"; 6343222bcf5SVivek Unune pinctrl-0 = <&wifi_host_wake_l>; 6353222bcf5SVivek Unune }; 6363222bcf5SVivek Unune}; 6373222bcf5SVivek Unune 6383222bcf5SVivek Unune&spdif { 6393222bcf5SVivek Unune status = "okay"; 6403222bcf5SVivek Unune pinctrl-0 = <&spdif_bus_1>; 6413222bcf5SVivek Unune}; 6423222bcf5SVivek Unune 6433222bcf5SVivek Unune&spi1 { 6443222bcf5SVivek Unune status = "okay"; 6453222bcf5SVivek Unune 6463222bcf5SVivek Unune flash@0 { 6473222bcf5SVivek Unune compatible = "jedec,spi-nor"; 6483222bcf5SVivek Unune #address-cells = <1>; 6493222bcf5SVivek Unune #size-cells = <1>; 6503222bcf5SVivek Unune reg = <0>; 6513222bcf5SVivek Unune spi-max-frequency = <10000000>; 6523222bcf5SVivek Unune }; 6533222bcf5SVivek Unune}; 6543222bcf5SVivek Unune 6553222bcf5SVivek Unune&tcphy0 { 6563222bcf5SVivek Unune status = "okay"; 6573222bcf5SVivek Unune}; 6583222bcf5SVivek Unune 6593222bcf5SVivek Unune&tcphy1 { 6603222bcf5SVivek Unune status = "okay"; 6613222bcf5SVivek Unune}; 6623222bcf5SVivek Unune 6633222bcf5SVivek Unune&tsadc { 6643222bcf5SVivek Unune /* tshut mode 0:CRU 1:GPIO */ 6653222bcf5SVivek Unune rockchip,hw-tshut-mode = <1>; 6663222bcf5SVivek Unune /* tshut polarity 0:LOW 1:HIGH */ 6673222bcf5SVivek Unune rockchip,hw-tshut-polarity = <1>; 6683222bcf5SVivek Unune rockchip,hw-tshut-temp = <110000>; 6693222bcf5SVivek Unune status = "okay"; 6703222bcf5SVivek Unune}; 6713222bcf5SVivek Unune 6723222bcf5SVivek Unune&u2phy0 { 6733222bcf5SVivek Unune status = "okay"; 6743222bcf5SVivek Unune 6753222bcf5SVivek Unune u2phy0_host: host-port { 676389206e8SVivek Unune phy-supply = <&vcc5v0_typec>; 6773222bcf5SVivek Unune status = "okay"; 6783222bcf5SVivek Unune }; 6793222bcf5SVivek Unune 6803222bcf5SVivek Unune u2phy0_otg: otg-port { 6813222bcf5SVivek Unune status = "okay"; 6823222bcf5SVivek Unune }; 6833222bcf5SVivek Unune}; 6843222bcf5SVivek Unune 6853222bcf5SVivek Unune&u2phy1 { 6863222bcf5SVivek Unune status = "okay"; 6873222bcf5SVivek Unune 6883222bcf5SVivek Unune u2phy1_host: host-port { 6893222bcf5SVivek Unune phy-supply = <&vcc5v0_host>; 6903222bcf5SVivek Unune status = "okay"; 6913222bcf5SVivek Unune }; 6923222bcf5SVivek Unune 6933222bcf5SVivek Unune u2phy1_otg: otg-port { 6943222bcf5SVivek Unune status = "okay"; 6953222bcf5SVivek Unune }; 6963222bcf5SVivek Unune}; 6973222bcf5SVivek Unune 6983222bcf5SVivek Unune&uart0 { 6993222bcf5SVivek Unune pinctrl-names = "default"; 7003222bcf5SVivek Unune pinctrl-0 = <&uart0_xfer &uart0_rts &uart0_cts>; 7013222bcf5SVivek Unune status = "okay"; 7023222bcf5SVivek Unune 7033222bcf5SVivek Unune bluetooth { 7043222bcf5SVivek Unune compatible = "brcm,bcm43438-bt"; 7053222bcf5SVivek Unune clocks = <&rk808 1>; 7063222bcf5SVivek Unune clock-names = "ext_clock"; 7073222bcf5SVivek Unune device-wakeup-gpios = <&gpio2 RK_PD2 GPIO_ACTIVE_HIGH>; 7083222bcf5SVivek Unune host-wakeup-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_HIGH>; 7093222bcf5SVivek Unune shutdown-gpios = <&gpio0 RK_PB1 GPIO_ACTIVE_HIGH>; 7103222bcf5SVivek Unune max-speed = <4000000>; 7113222bcf5SVivek Unune pinctrl-names = "default"; 7123222bcf5SVivek Unune pinctrl-0 = <&bt_reg_on_h &bt_host_wake_l &bt_wake_l>; 7133222bcf5SVivek Unune vbat-supply = <&vcc3v3_sys>; 7143222bcf5SVivek Unune vddio-supply = <&vcc_1v8>; 7153222bcf5SVivek Unune }; 7163222bcf5SVivek Unune}; 7173222bcf5SVivek Unune 7183222bcf5SVivek Unune&uart2 { 7193222bcf5SVivek Unune status = "okay"; 7203222bcf5SVivek Unune}; 7213222bcf5SVivek Unune 7223222bcf5SVivek Unune&usb_host0_ehci { 7233222bcf5SVivek Unune status = "okay"; 7243222bcf5SVivek Unune}; 7253222bcf5SVivek Unune 7263222bcf5SVivek Unune&usb_host0_ohci { 7273222bcf5SVivek Unune status = "okay"; 7283222bcf5SVivek Unune}; 7293222bcf5SVivek Unune 7303222bcf5SVivek Unune&usb_host1_ehci { 7313222bcf5SVivek Unune status = "okay"; 7323222bcf5SVivek Unune}; 7333222bcf5SVivek Unune 7343222bcf5SVivek Unune&usb_host1_ohci { 7353222bcf5SVivek Unune status = "okay"; 7363222bcf5SVivek Unune}; 7373222bcf5SVivek Unune 7383222bcf5SVivek Unune&usbdrd3_0 { 7393222bcf5SVivek Unune status = "okay"; 7403222bcf5SVivek Unune}; 7413222bcf5SVivek Unune 7423222bcf5SVivek Unune&usbdrd_dwc3_0 { 7433222bcf5SVivek Unune status = "okay"; 744389206e8SVivek Unune dr_mode = "host"; 7453222bcf5SVivek Unune}; 7463222bcf5SVivek Unune 7473222bcf5SVivek Unune&usbdrd3_1 { 7483222bcf5SVivek Unune status = "okay"; 7493222bcf5SVivek Unune}; 7503222bcf5SVivek Unune 7513222bcf5SVivek Unune&usbdrd_dwc3_1 { 7523222bcf5SVivek Unune status = "okay"; 7533222bcf5SVivek Unune dr_mode = "host"; 7543222bcf5SVivek Unune}; 7553222bcf5SVivek Unune 7563222bcf5SVivek Unune&vopb { 7573222bcf5SVivek Unune status = "okay"; 7583222bcf5SVivek Unune}; 7593222bcf5SVivek Unune 7603222bcf5SVivek Unune&vopb_mmu { 7613222bcf5SVivek Unune status = "okay"; 7623222bcf5SVivek Unune}; 763