124645034SJagan Teki// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 224645034SJagan Teki/* 324645034SJagan Teki * Copyright (c) 2019 Fuzhou Rockchip Electronics Co., Ltd 424645034SJagan Teki * Copyright (c) 2019 Radxa Limited 524645034SJagan Teki * Copyright (c) 2022 Amarula Solutions(India) 624645034SJagan Teki */ 724645034SJagan Teki 824645034SJagan Teki/dts-v1/; 9*6cbd7675SFUKAUMI Naoki#include <dt-bindings/leds/common.h> 1024645034SJagan Teki#include "rk3399.dtsi" 1124645034SJagan Teki#include "rk3399-t-opp.dtsi" 1224645034SJagan Teki 1324645034SJagan Teki/ { 1424645034SJagan Teki model = "Radxa ROCK 4C+"; 1524645034SJagan Teki compatible = "radxa,rock-4c-plus", "rockchip,rk3399"; 1624645034SJagan Teki 1724645034SJagan Teki aliases { 1824645034SJagan Teki mmc0 = &sdmmc; 1924645034SJagan Teki mmc1 = &sdhci; 2024645034SJagan Teki }; 2124645034SJagan Teki 2224645034SJagan Teki chosen { 2324645034SJagan Teki stdout-path = "serial2:1500000n8"; 2424645034SJagan Teki }; 2524645034SJagan Teki 2624645034SJagan Teki sdio_pwrseq: sdio-pwrseq { 2724645034SJagan Teki compatible = "mmc-pwrseq-simple"; 2824645034SJagan Teki clocks = <&rk809 1>; 2924645034SJagan Teki clock-names = "ext_clock"; 3024645034SJagan Teki pinctrl-names = "default"; 3124645034SJagan Teki pinctrl-0 = <&wifi_enable_h>; 3224645034SJagan Teki reset-gpios = <&gpio0 RK_PB2 GPIO_ACTIVE_LOW>; 3324645034SJagan Teki }; 3424645034SJagan Teki 3524645034SJagan Teki clkin_gmac: external-gmac-clock { 3624645034SJagan Teki compatible = "fixed-clock"; 3724645034SJagan Teki clock-frequency = <125000000>; 3824645034SJagan Teki clock-output-names = "clkin_gmac"; 3924645034SJagan Teki #clock-cells = <0>; 4024645034SJagan Teki }; 4124645034SJagan Teki 42*6cbd7675SFUKAUMI Naoki leds { 43*6cbd7675SFUKAUMI Naoki compatible = "gpio-leds"; 44*6cbd7675SFUKAUMI Naoki pinctrl-names = "default"; 45*6cbd7675SFUKAUMI Naoki pinctrl-0 = <&user_led1 &user_led2>; 46*6cbd7675SFUKAUMI Naoki 47*6cbd7675SFUKAUMI Naoki /* USER_LED1 */ 48*6cbd7675SFUKAUMI Naoki led-0 { 49*6cbd7675SFUKAUMI Naoki function = LED_FUNCTION_POWER; 50*6cbd7675SFUKAUMI Naoki color = <LED_COLOR_ID_GREEN>; 51*6cbd7675SFUKAUMI Naoki gpios = <&gpio3 RK_PD4 GPIO_ACTIVE_LOW>; 52*6cbd7675SFUKAUMI Naoki linux,default-trigger = "default-on"; 53*6cbd7675SFUKAUMI Naoki }; 54*6cbd7675SFUKAUMI Naoki 55*6cbd7675SFUKAUMI Naoki /* USER_LED2 */ 56*6cbd7675SFUKAUMI Naoki led-1 { 57*6cbd7675SFUKAUMI Naoki function = LED_FUNCTION_STATUS; 58*6cbd7675SFUKAUMI Naoki color = <LED_COLOR_ID_BLUE>; 59*6cbd7675SFUKAUMI Naoki gpios = <&gpio3 RK_PD5 GPIO_ACTIVE_HIGH>; 60*6cbd7675SFUKAUMI Naoki linux,default-trigger = "heartbeat"; 61*6cbd7675SFUKAUMI Naoki }; 62*6cbd7675SFUKAUMI Naoki }; 63*6cbd7675SFUKAUMI Naoki 6424645034SJagan Teki vcc5v0_sys: vcc5v0-sys-regulator { 6524645034SJagan Teki compatible = "regulator-fixed"; 6624645034SJagan Teki regulator-name = "vcc5v0_sys"; 6724645034SJagan Teki regulator-always-on; 6824645034SJagan Teki regulator-boot-on; 6924645034SJagan Teki regulator-min-microvolt = <5000000>; 7024645034SJagan Teki regulator-max-microvolt = <5000000>; 7124645034SJagan Teki }; 7224645034SJagan Teki 7324645034SJagan Teki vcc5v0_host1: vcc5v0-host-regulator { 7424645034SJagan Teki compatible = "regulator-fixed"; 7524645034SJagan Teki enable-active-high; 7624645034SJagan Teki gpio = <&gpio3 RK_PD6 GPIO_ACTIVE_HIGH>; 7724645034SJagan Teki pinctrl-names = "default"; 7824645034SJagan Teki pinctrl-0 = <&vcc5v0_host_en>; 7924645034SJagan Teki regulator-name = "vcc5v0_host1"; 8024645034SJagan Teki regulator-always-on; 8124645034SJagan Teki regulator-boot-on; 8224645034SJagan Teki vin-supply = <&vcc5v0_host0_s0>; 8324645034SJagan Teki }; 8424645034SJagan Teki 8524645034SJagan Teki vcc5v0_typec: vcc5v0-typec-regulator { 8624645034SJagan Teki compatible = "regulator-fixed"; 8724645034SJagan Teki enable-active-high; 8824645034SJagan Teki gpio = <&gpio1 RK_PA3 GPIO_ACTIVE_HIGH>; 8924645034SJagan Teki pinctrl-names = "default"; 9024645034SJagan Teki pinctrl-0 = <&vcc5v0_typec0_en>; 9124645034SJagan Teki regulator-name = "vcc5v0_typec"; 9224645034SJagan Teki regulator-always-on; 9324645034SJagan Teki regulator-boot-on; 9424645034SJagan Teki vin-supply = <&vcc5v0_sys>; 9524645034SJagan Teki }; 9624645034SJagan Teki 9724645034SJagan Teki vcc_lan: vcc3v3-phy-regulator { 9824645034SJagan Teki compatible = "regulator-fixed"; 9924645034SJagan Teki regulator-name = "vcc_lan"; 10024645034SJagan Teki regulator-always-on; 10124645034SJagan Teki regulator-boot-on; 10224645034SJagan Teki regulator-min-microvolt = <3300000>; 10324645034SJagan Teki regulator-max-microvolt = <3300000>; 10424645034SJagan Teki }; 10524645034SJagan Teki}; 10624645034SJagan Teki 10724645034SJagan Teki&cpu_l0 { 10824645034SJagan Teki cpu-supply = <&vdd_cpu_l>; 10924645034SJagan Teki}; 11024645034SJagan Teki 11124645034SJagan Teki&cpu_l1 { 11224645034SJagan Teki cpu-supply = <&vdd_cpu_l>; 11324645034SJagan Teki}; 11424645034SJagan Teki 11524645034SJagan Teki&cpu_l2 { 11624645034SJagan Teki cpu-supply = <&vdd_cpu_l>; 11724645034SJagan Teki}; 11824645034SJagan Teki 11924645034SJagan Teki&cpu_l3 { 12024645034SJagan Teki cpu-supply = <&vdd_cpu_l>; 12124645034SJagan Teki}; 12224645034SJagan Teki 12324645034SJagan Teki&cpu_b0 { 12424645034SJagan Teki cpu-supply = <&vdd_cpu_b>; 12524645034SJagan Teki}; 12624645034SJagan Teki 12724645034SJagan Teki&cpu_b1 { 12824645034SJagan Teki cpu-supply = <&vdd_cpu_b>; 12924645034SJagan Teki}; 13024645034SJagan Teki 13124645034SJagan Teki&emmc_phy { 13224645034SJagan Teki status = "okay"; 13324645034SJagan Teki}; 13424645034SJagan Teki 13524645034SJagan Teki&gmac { 13624645034SJagan Teki assigned-clocks = <&cru SCLK_RMII_SRC>; 13724645034SJagan Teki assigned-clock-parents = <&clkin_gmac>; 13824645034SJagan Teki clock_in_out = "input"; 13924645034SJagan Teki phy-supply = <&vcc_lan>; 14024645034SJagan Teki phy-mode = "rgmii"; 14124645034SJagan Teki pinctrl-names = "default"; 14224645034SJagan Teki pinctrl-0 = <&rgmii_pins>; 14324645034SJagan Teki snps,reset-gpio = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>; 14424645034SJagan Teki snps,reset-active-low; 14524645034SJagan Teki snps,reset-delays-us = <0 10000 50000>; 14624645034SJagan Teki tx_delay = <0x2a>; 14724645034SJagan Teki rx_delay = <0x21>; 14824645034SJagan Teki status = "okay"; 14924645034SJagan Teki}; 15024645034SJagan Teki 15124645034SJagan Teki&gpu { 15224645034SJagan Teki mali-supply = <&vdd_gpu>; 15324645034SJagan Teki status = "okay"; 15424645034SJagan Teki}; 15524645034SJagan Teki 15624645034SJagan Teki&hdmi { 15724645034SJagan Teki ddc-i2c-bus = <&i2c3>; 15824645034SJagan Teki pinctrl-names = "default"; 15924645034SJagan Teki pinctrl-0 = <&hdmi_cec>; 16024645034SJagan Teki status = "okay"; 16124645034SJagan Teki}; 16224645034SJagan Teki 16324645034SJagan Teki&hdmi_sound { 16424645034SJagan Teki status = "okay"; 16524645034SJagan Teki}; 16624645034SJagan Teki 16724645034SJagan Teki&i2c0 { 16824645034SJagan Teki status = "okay"; 16924645034SJagan Teki i2c-scl-falling-time-ns = <30>; 17024645034SJagan Teki i2c-scl-rising-time-ns = <180>; 17124645034SJagan Teki clock-frequency = <400000>; 17224645034SJagan Teki 17324645034SJagan Teki rk809: pmic@20 { 17424645034SJagan Teki compatible = "rockchip,rk809"; 17524645034SJagan Teki reg = <0x20>; 17624645034SJagan Teki interrupt-parent = <&gpio1>; 17724645034SJagan Teki interrupts = <RK_PC5 IRQ_TYPE_LEVEL_LOW>; 17824645034SJagan Teki #clock-cells = <1>; 17924645034SJagan Teki clock-output-names = "rk808-clkout1", "rk808-clkout2"; 18024645034SJagan Teki pinctrl-names = "default"; 18124645034SJagan Teki pinctrl-0 = <&pmic_int_l>; 18224645034SJagan Teki rockchip,system-power-controller; 18324645034SJagan Teki wakeup-source; 18424645034SJagan Teki 18524645034SJagan Teki vcc1-supply = <&vcc5v0_sys>; 18624645034SJagan Teki vcc2-supply = <&vcc5v0_sys>; 18724645034SJagan Teki vcc3-supply = <&vcc5v0_sys>; 18824645034SJagan Teki vcc4-supply = <&vcc5v0_sys>; 18924645034SJagan Teki vcc5-supply = <&vcc_buck5>; 19024645034SJagan Teki vcc6-supply = <&vcc_buck5>; 19124645034SJagan Teki vcc7-supply = <&vcc5v0_sys>; 19224645034SJagan Teki vcc8-supply = <&vcc3v3_sys>; 19324645034SJagan Teki vcc9-supply = <&vcc5v0_sys>; 19424645034SJagan Teki 19524645034SJagan Teki regulators { 19624645034SJagan Teki vdd_log: DCDC_REG1 { 19724645034SJagan Teki regulator-always-on; 19824645034SJagan Teki regulator-boot-on; 19924645034SJagan Teki regulator-min-microvolt = <750000>; 20024645034SJagan Teki regulator-max-microvolt = <1350000>; 20124645034SJagan Teki regulator-initial-mode = <0x2>; 20224645034SJagan Teki regulator-name = "vdd_log"; 20324645034SJagan Teki regulator-state-mem { 20424645034SJagan Teki regulator-off-in-suspend; 20524645034SJagan Teki regulator-suspend-microvolt = <900000>; 20624645034SJagan Teki }; 20724645034SJagan Teki }; 20824645034SJagan Teki 20924645034SJagan Teki vdd_cpu_l: DCDC_REG2 { 21024645034SJagan Teki regulator-always-on; 21124645034SJagan Teki regulator-boot-on; 21224645034SJagan Teki regulator-min-microvolt = <750000>; 21324645034SJagan Teki regulator-max-microvolt = <1350000>; 21424645034SJagan Teki regulator-ramp-delay = <6001>; 21524645034SJagan Teki regulator-initial-mode = <0x2>; 21624645034SJagan Teki regulator-name = "vdd_cpu_l"; 21724645034SJagan Teki regulator-state-mem { 21824645034SJagan Teki regulator-off-in-suspend; 21924645034SJagan Teki }; 22024645034SJagan Teki }; 22124645034SJagan Teki 22224645034SJagan Teki vcc_ddr: DCDC_REG3 { 22324645034SJagan Teki regulator-always-on; 22424645034SJagan Teki regulator-boot-on; 22524645034SJagan Teki regulator-name = "vcc_ddr"; 22624645034SJagan Teki regulator-initial-mode = <0x2>; 22724645034SJagan Teki regulator-state-mem { 22824645034SJagan Teki regulator-on-in-suspend; 22924645034SJagan Teki }; 23024645034SJagan Teki }; 23124645034SJagan Teki 23224645034SJagan Teki vcc3v3_sys: DCDC_REG4 { 23324645034SJagan Teki regulator-always-on; 23424645034SJagan Teki regulator-boot-on; 23524645034SJagan Teki regulator-min-microvolt = <3300000>; 23624645034SJagan Teki regulator-max-microvolt = <3300000>; 23724645034SJagan Teki regulator-initial-mode = <0x2>; 23824645034SJagan Teki regulator-name = "vcc3v3_sys"; 23924645034SJagan Teki regulator-state-mem { 24024645034SJagan Teki regulator-on-in-suspend; 24124645034SJagan Teki regulator-suspend-microvolt = <3300000>; 24224645034SJagan Teki }; 24324645034SJagan Teki }; 24424645034SJagan Teki 24524645034SJagan Teki vcc_buck5: DCDC_REG5 { 24624645034SJagan Teki regulator-always-on; 24724645034SJagan Teki regulator-boot-on; 24824645034SJagan Teki regulator-min-microvolt = <3300000>; 24924645034SJagan Teki regulator-max-microvolt = <3300000>; 25024645034SJagan Teki regulator-name = "vcc_buck5"; 25124645034SJagan Teki regulator-state-mem { 25224645034SJagan Teki regulator-on-in-suspend; 25324645034SJagan Teki regulator-suspend-microvolt = <3300000>; 25424645034SJagan Teki }; 25524645034SJagan Teki }; 25624645034SJagan Teki 25724645034SJagan Teki vcca_0v9: LDO_REG1 { 25824645034SJagan Teki regulator-always-on; 25924645034SJagan Teki regulator-boot-on; 26024645034SJagan Teki regulator-min-microvolt = <900000>; 26124645034SJagan Teki regulator-max-microvolt = <900000>; 26224645034SJagan Teki regulator-name = "vcca_0v9"; 26324645034SJagan Teki regulator-state-mem { 26424645034SJagan Teki regulator-off-in-suspend; 26524645034SJagan Teki }; 26624645034SJagan Teki }; 26724645034SJagan Teki 26824645034SJagan Teki vcc_1v8: LDO_REG2 { 26924645034SJagan Teki regulator-always-on; 27024645034SJagan Teki regulator-boot-on; 27124645034SJagan Teki regulator-min-microvolt = <1800000>; 27224645034SJagan Teki regulator-max-microvolt = <1800000>; 27324645034SJagan Teki regulator-name = "vcc_1v8"; 27424645034SJagan Teki regulator-state-mem { 27524645034SJagan Teki regulator-on-in-suspend; 27624645034SJagan Teki regulator-suspend-microvolt = <1800000>; 27724645034SJagan Teki }; 27824645034SJagan Teki }; 27924645034SJagan Teki 28024645034SJagan Teki vcc0v9_soc: LDO_REG3 { 28124645034SJagan Teki regulator-always-on; 28224645034SJagan Teki regulator-boot-on; 28324645034SJagan Teki regulator-min-microvolt = <900000>; 28424645034SJagan Teki regulator-max-microvolt = <900000>; 28524645034SJagan Teki regulator-name = "vcc0v9_soc"; 28624645034SJagan Teki regulator-state-mem { 28724645034SJagan Teki regulator-on-in-suspend; 28824645034SJagan Teki regulator-suspend-microvolt = <900000>; 28924645034SJagan Teki }; 29024645034SJagan Teki }; 29124645034SJagan Teki 29224645034SJagan Teki vcca_1v8: LDO_REG4 { 29324645034SJagan Teki regulator-always-on; 29424645034SJagan Teki regulator-boot-on; 29524645034SJagan Teki regulator-min-microvolt = <1800000>; 29624645034SJagan Teki regulator-max-microvolt = <1800000>; 29724645034SJagan Teki regulator-name = "vcca_1v8"; 29824645034SJagan Teki regulator-state-mem { 29924645034SJagan Teki regulator-off-in-suspend; 30024645034SJagan Teki }; 30124645034SJagan Teki }; 30224645034SJagan Teki 30324645034SJagan Teki vcc_mipi: LDO_REG5 { 30424645034SJagan Teki regulator-always-on; 30524645034SJagan Teki regulator-boot-on; 30624645034SJagan Teki regulator-min-microvolt = <3000000>; 30724645034SJagan Teki regulator-max-microvolt = <3000000>; 30824645034SJagan Teki regulator-name = "vcc_mipi"; 30924645034SJagan Teki regulator-state-mem { 31024645034SJagan Teki regulator-off-in-suspend; 31124645034SJagan Teki }; 31224645034SJagan Teki }; 31324645034SJagan Teki 31424645034SJagan Teki vcc_1v5: LDO_REG6 { 31524645034SJagan Teki regulator-always-on; 31624645034SJagan Teki regulator-boot-on; 31724645034SJagan Teki regulator-min-microvolt = <1500000>; 31824645034SJagan Teki regulator-max-microvolt = <1500000>; 31924645034SJagan Teki regulator-name = "vcc_1v5"; 32024645034SJagan Teki regulator-state-mem { 32124645034SJagan Teki regulator-off-in-suspend; 32224645034SJagan Teki }; 32324645034SJagan Teki }; 32424645034SJagan Teki 32524645034SJagan Teki vcc_3v0: LDO_REG7 { 32624645034SJagan Teki regulator-always-on; 32724645034SJagan Teki regulator-boot-on; 32824645034SJagan Teki regulator-min-microvolt = <3000000>; 32924645034SJagan Teki regulator-max-microvolt = <3000000>; 33024645034SJagan Teki regulator-name = "vcc_3v0"; 33124645034SJagan Teki regulator-state-mem { 33224645034SJagan Teki regulator-off-in-suspend; 33324645034SJagan Teki }; 33424645034SJagan Teki }; 33524645034SJagan Teki 33624645034SJagan Teki vccio_sd: LDO_REG8 { 33724645034SJagan Teki regulator-always-on; 33824645034SJagan Teki regulator-boot-on; 33924645034SJagan Teki regulator-min-microvolt = <1800000>; 34024645034SJagan Teki regulator-max-microvolt = <3300000>; 34124645034SJagan Teki regulator-name = "vccio_sd"; 34224645034SJagan Teki regulator-state-mem { 34324645034SJagan Teki regulator-off-in-suspend; 34424645034SJagan Teki }; 34524645034SJagan Teki }; 34624645034SJagan Teki 34724645034SJagan Teki vcc_cam: LDO_REG9 { 34824645034SJagan Teki regulator-always-on; 34924645034SJagan Teki regulator-boot-on; 35024645034SJagan Teki regulator-min-microvolt = <3300000>; 35124645034SJagan Teki regulator-max-microvolt = <3300000>; 35224645034SJagan Teki regulator-name = "vcc_cam"; 35324645034SJagan Teki regulator-state-mem { 35424645034SJagan Teki regulator-off-in-suspend; 35524645034SJagan Teki }; 35624645034SJagan Teki }; 35724645034SJagan Teki 35824645034SJagan Teki vcc5v0_host0_s0: SWITCH_REG1 { 35924645034SJagan Teki regulator-always-on; 36024645034SJagan Teki regulator-boot-on; 36124645034SJagan Teki regulator-name = "vcc5v0_host0_s0"; 36224645034SJagan Teki regulator-state-mem { 36324645034SJagan Teki regulator-on-in-suspend; 36424645034SJagan Teki }; 36524645034SJagan Teki }; 36624645034SJagan Teki 36724645034SJagan Teki lcd_3v3: SWITCH_REG2 { 36824645034SJagan Teki regulator-always-on; 36924645034SJagan Teki regulator-boot-on; 37024645034SJagan Teki regulator-name = "lcd_3v3"; 37124645034SJagan Teki regulator-state-mem { 37224645034SJagan Teki regulator-off-in-suspend; 37324645034SJagan Teki }; 37424645034SJagan Teki }; 37524645034SJagan Teki }; 37624645034SJagan Teki }; 37724645034SJagan Teki 37824645034SJagan Teki vdd_cpu_b: regulator@40 { 37924645034SJagan Teki compatible = "silergy,syr827"; 38024645034SJagan Teki reg = <0x40>; 38124645034SJagan Teki fcs,suspend-voltage-selector = <1>; 38224645034SJagan Teki regulator-compatible = "fan53555-reg"; 38324645034SJagan Teki pinctrl-0 = <&vsel1_gpio>; 38424645034SJagan Teki vsel-gpios = <&gpio1 RK_PC1 GPIO_ACTIVE_HIGH>; 38524645034SJagan Teki regulator-name = "vdd_cpu_b"; 38624645034SJagan Teki regulator-min-microvolt = <712500>; 38724645034SJagan Teki regulator-max-microvolt = <1500000>; 38824645034SJagan Teki regulator-ramp-delay = <1000>; 38924645034SJagan Teki regulator-always-on; 39024645034SJagan Teki regulator-boot-on; 39124645034SJagan Teki vin-supply = <&vcc5v0_sys>; 39224645034SJagan Teki regulator-state-mem { 39324645034SJagan Teki regulator-off-in-suspend; 39424645034SJagan Teki }; 39524645034SJagan Teki }; 39624645034SJagan Teki 39724645034SJagan Teki vdd_gpu: regulator@41 { 39824645034SJagan Teki compatible = "silergy,syr828"; 39924645034SJagan Teki reg = <0x41>; 40024645034SJagan Teki fcs,suspend-voltage-selector = <1>; 40124645034SJagan Teki regulator-compatible = "fan53555-reg"; 40224645034SJagan Teki pinctrl-0 = <&vsel2_gpio>; 40324645034SJagan Teki vsel-gpios = <&gpio1 RK_PB6 GPIO_ACTIVE_HIGH>; 40424645034SJagan Teki regulator-name = "vdd_gpu"; 40524645034SJagan Teki regulator-min-microvolt = <712500>; 40624645034SJagan Teki regulator-max-microvolt = <1500000>; 40724645034SJagan Teki regulator-ramp-delay = <1000>; 40824645034SJagan Teki regulator-always-on; 40924645034SJagan Teki regulator-boot-on; 41024645034SJagan Teki vin-supply = <&vcc5v0_sys>; 41124645034SJagan Teki regulator-initial-mode = <1>; /* 1:force PWM 2:auto */ 41224645034SJagan Teki regulator-state-mem { 41324645034SJagan Teki regulator-off-in-suspend; 41424645034SJagan Teki }; 41524645034SJagan Teki }; 41624645034SJagan Teki}; 41724645034SJagan Teki 41824645034SJagan Teki&i2c3 { 41924645034SJagan Teki i2c-scl-rising-time-ns = <450>; 42024645034SJagan Teki i2c-scl-falling-time-ns = <15>; 42124645034SJagan Teki status = "okay"; 42224645034SJagan Teki}; 42324645034SJagan Teki 42424645034SJagan Teki&i2s2 { 42524645034SJagan Teki status = "okay"; 42624645034SJagan Teki}; 42724645034SJagan Teki 42824645034SJagan Teki&io_domains { 42924645034SJagan Teki bt656-supply = <&vcc_3v0>; 43024645034SJagan Teki gpio1830-supply = <&vcc_3v0>; 43124645034SJagan Teki sdmmc-supply = <&vccio_sd>; 43224645034SJagan Teki status = "okay"; 43324645034SJagan Teki}; 43424645034SJagan Teki 43524645034SJagan Teki&pinctrl { 43624645034SJagan Teki bt { 43724645034SJagan Teki bt_enable_h: bt-enable-h { 43824645034SJagan Teki rockchip,pins = <0 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>; 43924645034SJagan Teki }; 44024645034SJagan Teki 44124645034SJagan Teki bt_host_wake_l: bt-host-wake-l { 44224645034SJagan Teki rockchip,pins = <0 RK_PA4 RK_FUNC_GPIO &pcfg_pull_none>; 44324645034SJagan Teki }; 44424645034SJagan Teki 44524645034SJagan Teki bt_wake_l: bt-wake-l { 44624645034SJagan Teki rockchip,pins = <2 RK_PD3 RK_FUNC_GPIO &pcfg_pull_none>; 44724645034SJagan Teki }; 44824645034SJagan Teki }; 44924645034SJagan Teki 450*6cbd7675SFUKAUMI Naoki leds { 451*6cbd7675SFUKAUMI Naoki user_led1: user-led1 { 452*6cbd7675SFUKAUMI Naoki rockchip,pins = <3 RK_PD4 RK_FUNC_GPIO &pcfg_pull_none>; 453*6cbd7675SFUKAUMI Naoki }; 454*6cbd7675SFUKAUMI Naoki 455*6cbd7675SFUKAUMI Naoki user_led2: user-led2 { 456*6cbd7675SFUKAUMI Naoki rockchip,pins = <3 RK_PD5 RK_FUNC_GPIO &pcfg_pull_none>; 457*6cbd7675SFUKAUMI Naoki }; 458*6cbd7675SFUKAUMI Naoki }; 459*6cbd7675SFUKAUMI Naoki 46024645034SJagan Teki pmic { 46124645034SJagan Teki pmic_int_l: pmic-int-l { 46224645034SJagan Teki rockchip,pins = <1 RK_PC5 RK_FUNC_GPIO &pcfg_pull_up>; 46324645034SJagan Teki }; 46424645034SJagan Teki 46524645034SJagan Teki vsel1_gpio: vsel1-gpio { 46624645034SJagan Teki rockchip,pins = <1 RK_PC1 RK_FUNC_GPIO &pcfg_pull_down>; 46724645034SJagan Teki }; 46824645034SJagan Teki 46924645034SJagan Teki vsel2_gpio: vsel2-gpio { 47024645034SJagan Teki rockchip,pins = <1 RK_PB6 RK_FUNC_GPIO &pcfg_pull_down>; 47124645034SJagan Teki }; 47224645034SJagan Teki }; 47324645034SJagan Teki 47424645034SJagan Teki sdmmc { 47524645034SJagan Teki sdmmc_bus4: sdmmc-bus4 { 47624645034SJagan Teki rockchip,pins = <4 8 1 &pcfg_pull_up_8ma>, 47724645034SJagan Teki <4 9 1 &pcfg_pull_up_8ma>, 47824645034SJagan Teki <4 10 1 &pcfg_pull_up_8ma>, 47924645034SJagan Teki <4 11 1 &pcfg_pull_up_8ma>; 48024645034SJagan Teki }; 48124645034SJagan Teki 48224645034SJagan Teki sdmmc_clk: sdmmc-clk { 48324645034SJagan Teki rockchip,pins = <4 12 1 &pcfg_pull_none_18ma>; 48424645034SJagan Teki }; 48524645034SJagan Teki 48624645034SJagan Teki sdmmc_cmd: sdmmc-cmd { 48724645034SJagan Teki rockchip,pins = <4 13 1 &pcfg_pull_up_8ma>; 48824645034SJagan Teki }; 48924645034SJagan Teki }; 49024645034SJagan Teki 49124645034SJagan Teki usb-typec { 49224645034SJagan Teki vcc5v0_typec0_en: vcc5v0-typec-en { 49324645034SJagan Teki rockchip,pins = <1 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>; 49424645034SJagan Teki }; 49524645034SJagan Teki }; 49624645034SJagan Teki 49724645034SJagan Teki usb2 { 49824645034SJagan Teki vcc5v0_host_en: vcc5v0-host-en { 49924645034SJagan Teki rockchip,pins = <3 RK_PD6 RK_FUNC_GPIO &pcfg_pull_up>; 50024645034SJagan Teki }; 50124645034SJagan Teki }; 50224645034SJagan Teki 50324645034SJagan Teki wifi { 50424645034SJagan Teki wifi_enable_h: wifi-enable-h { 50524645034SJagan Teki rockchip,pins = <0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>; 50624645034SJagan Teki }; 50724645034SJagan Teki 50824645034SJagan Teki wifi_host_wake_l: wifi-host-wake-l { 50924645034SJagan Teki rockchip,pins = <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_none>; 51024645034SJagan Teki }; 51124645034SJagan Teki }; 51224645034SJagan Teki}; 51324645034SJagan Teki 51424645034SJagan Teki&pmu_io_domains { 51524645034SJagan Teki pmu1830-supply = <&vcc_3v0>; 51624645034SJagan Teki status = "okay"; 51724645034SJagan Teki}; 51824645034SJagan Teki 51924645034SJagan Teki&saradc { 52024645034SJagan Teki status = "okay"; 52124645034SJagan Teki vref-supply = <&vcc_1v8>; 52224645034SJagan Teki}; 52324645034SJagan Teki 52424645034SJagan Teki&sdhci { 52524645034SJagan Teki max-frequency = <150000000>; 52624645034SJagan Teki bus-width = <8>; 52724645034SJagan Teki mmc-hs400-1_8v; 52824645034SJagan Teki non-removable; 52924645034SJagan Teki mmc-hs400-enhanced-strobe; 53024645034SJagan Teki status = "okay"; 53124645034SJagan Teki}; 53224645034SJagan Teki 53324645034SJagan Teki&sdio0 { 53424645034SJagan Teki #address-cells = <1>; 53524645034SJagan Teki #size-cells = <0>; 53624645034SJagan Teki bus-width = <4>; 53724645034SJagan Teki clock-frequency = <50000000>; 53824645034SJagan Teki cap-sdio-irq; 53924645034SJagan Teki cap-sd-highspeed; 54024645034SJagan Teki keep-power-in-suspend; 54124645034SJagan Teki mmc-pwrseq = <&sdio_pwrseq>; 54224645034SJagan Teki non-removable; 54324645034SJagan Teki pinctrl-names = "default"; 54424645034SJagan Teki pinctrl-0 = <&sdio0_bus4 &sdio0_cmd &sdio0_clk>; 54524645034SJagan Teki sd-uhs-sdr104; 54624645034SJagan Teki status = "okay"; 54724645034SJagan Teki 54824645034SJagan Teki brcmf: wifi@1 { 54924645034SJagan Teki compatible = "brcm,bcm4329-fmac"; 55024645034SJagan Teki reg = <1>; 55124645034SJagan Teki interrupt-parent = <&gpio0>; 55224645034SJagan Teki interrupts = <RK_PA3 IRQ_TYPE_LEVEL_HIGH>; 55324645034SJagan Teki interrupt-names = "host-wake"; 55424645034SJagan Teki pinctrl-names = "default"; 55524645034SJagan Teki pinctrl-0 = <&wifi_host_wake_l>; 55624645034SJagan Teki }; 55724645034SJagan Teki}; 55824645034SJagan Teki 55924645034SJagan Teki&sdmmc { 56024645034SJagan Teki bus-width = <4>; 56124645034SJagan Teki cap-mmc-highspeed; 56224645034SJagan Teki cap-sd-highspeed; 56324645034SJagan Teki card-detect-delay = <800>; 56424645034SJagan Teki disable-wp; 56524645034SJagan Teki pinctrl-names = "default"; 56624645034SJagan Teki pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_bus4>; 56724645034SJagan Teki cd-gpios = <&gpio0 RK_PA7 GPIO_ACTIVE_LOW>; 56824645034SJagan Teki vqmmc-supply = <&vccio_sd>; 56924645034SJagan Teki status = "okay"; 57024645034SJagan Teki}; 57124645034SJagan Teki 57224645034SJagan Teki&tcphy0 { 57324645034SJagan Teki status = "okay"; 57424645034SJagan Teki}; 57524645034SJagan Teki 57624645034SJagan Teki&tcphy1 { 57724645034SJagan Teki status = "okay"; 57824645034SJagan Teki}; 57924645034SJagan Teki 58024645034SJagan Teki&u2phy0 { 58124645034SJagan Teki status = "okay"; 58224645034SJagan Teki 58324645034SJagan Teki u2phy0_otg: otg-port { 58424645034SJagan Teki status = "okay"; 58524645034SJagan Teki }; 58624645034SJagan Teki 58724645034SJagan Teki u2phy0_host: host-port { 58824645034SJagan Teki phy-supply = <&vcc5v0_host1>; 58924645034SJagan Teki status = "okay"; 59024645034SJagan Teki }; 59124645034SJagan Teki}; 59224645034SJagan Teki 59324645034SJagan Teki&u2phy1 { 59424645034SJagan Teki status = "okay"; 59524645034SJagan Teki 59624645034SJagan Teki u2phy1_otg: otg-port { 59724645034SJagan Teki status = "okay"; 59824645034SJagan Teki }; 59924645034SJagan Teki 60024645034SJagan Teki u2phy1_host: host-port { 60124645034SJagan Teki phy-supply = <&vcc5v0_host1>; 60224645034SJagan Teki status = "okay"; 60324645034SJagan Teki }; 60424645034SJagan Teki}; 60524645034SJagan Teki 60624645034SJagan Teki&uart0 { 60724645034SJagan Teki pinctrl-names = "default"; 60824645034SJagan Teki pinctrl-0 = <&uart0_xfer &uart0_cts &uart0_rts>; 60924645034SJagan Teki status = "okay"; 61024645034SJagan Teki 61124645034SJagan Teki bluetooth { 61224645034SJagan Teki compatible = "brcm,bcm4345c5"; 61324645034SJagan Teki clocks = <&rk809 1>; 61424645034SJagan Teki clock-names = "lpo"; 61524645034SJagan Teki device-wakeup-gpios = <&gpio2 RK_PD3 GPIO_ACTIVE_HIGH>; 61624645034SJagan Teki host-wakeup-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_HIGH>; 61724645034SJagan Teki shutdown-gpios = <&gpio0 RK_PB1 GPIO_ACTIVE_HIGH>; 61824645034SJagan Teki max-speed = <1500000>; 61924645034SJagan Teki pinctrl-names = "default"; 62024645034SJagan Teki pinctrl-0 = <&bt_host_wake_l &bt_wake_l &bt_enable_h>; 62124645034SJagan Teki vbat-supply = <&vcc3v3_sys>; 62224645034SJagan Teki vddio-supply = <&vcc_1v8>; 62324645034SJagan Teki }; 62424645034SJagan Teki}; 62524645034SJagan Teki 62624645034SJagan Teki&uart2 { 62724645034SJagan Teki status = "okay"; 62824645034SJagan Teki}; 62924645034SJagan Teki 63024645034SJagan Teki&usb_host0_ehci { 63124645034SJagan Teki status = "okay"; 63224645034SJagan Teki}; 63324645034SJagan Teki 63424645034SJagan Teki&usb_host0_ohci { 63524645034SJagan Teki status = "okay"; 63624645034SJagan Teki}; 63724645034SJagan Teki 63824645034SJagan Teki&usb_host1_ehci { 63924645034SJagan Teki status = "okay"; 64024645034SJagan Teki}; 64124645034SJagan Teki 64224645034SJagan Teki&usb_host1_ohci { 64324645034SJagan Teki status = "okay"; 64424645034SJagan Teki}; 64524645034SJagan Teki 64624645034SJagan Teki&usbdrd3_0 { 64724645034SJagan Teki extcon = <&u2phy0>; 64824645034SJagan Teki status = "okay"; 64924645034SJagan Teki}; 65024645034SJagan Teki 65124645034SJagan Teki&usbdrd_dwc3_0 { 65224645034SJagan Teki status = "okay"; 65324645034SJagan Teki dr_mode = "host"; 65424645034SJagan Teki}; 65524645034SJagan Teki 65624645034SJagan Teki&usbdrd3_1 { 65724645034SJagan Teki status = "okay"; 65824645034SJagan Teki}; 65924645034SJagan Teki 66024645034SJagan Teki&usbdrd_dwc3_1 { 66124645034SJagan Teki status = "okay"; 66224645034SJagan Teki dr_mode = "host"; 66324645034SJagan Teki}; 66424645034SJagan Teki 66524645034SJagan Teki&vopb { 66624645034SJagan Teki status = "okay"; 66724645034SJagan Teki}; 66824645034SJagan Teki 66924645034SJagan Teki&vopb_mmu { 67024645034SJagan Teki status = "okay"; 67124645034SJagan Teki}; 67224645034SJagan Teki 67324645034SJagan Teki&vopl { 67424645034SJagan Teki status = "okay"; 67524645034SJagan Teki}; 67624645034SJagan Teki 67724645034SJagan Teki&vopl_mmu { 67824645034SJagan Teki status = "okay"; 67924645034SJagan Teki}; 680