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/; 96cbd7675SFUKAUMI 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 clkin_gmac: external-gmac-clock { 2724645034SJagan Teki compatible = "fixed-clock"; 2824645034SJagan Teki clock-frequency = <125000000>; 2924645034SJagan Teki clock-output-names = "clkin_gmac"; 3024645034SJagan Teki #clock-cells = <0>; 3124645034SJagan Teki }; 3224645034SJagan Teki 336cbd7675SFUKAUMI Naoki leds { 346cbd7675SFUKAUMI Naoki compatible = "gpio-leds"; 356cbd7675SFUKAUMI Naoki pinctrl-names = "default"; 366cbd7675SFUKAUMI Naoki pinctrl-0 = <&user_led1 &user_led2>; 376cbd7675SFUKAUMI Naoki 386cbd7675SFUKAUMI Naoki /* USER_LED1 */ 396cbd7675SFUKAUMI Naoki led-0 { 406cbd7675SFUKAUMI Naoki function = LED_FUNCTION_POWER; 416cbd7675SFUKAUMI Naoki color = <LED_COLOR_ID_GREEN>; 426cbd7675SFUKAUMI Naoki gpios = <&gpio3 RK_PD4 GPIO_ACTIVE_LOW>; 436cbd7675SFUKAUMI Naoki linux,default-trigger = "default-on"; 446cbd7675SFUKAUMI Naoki }; 456cbd7675SFUKAUMI Naoki 466cbd7675SFUKAUMI Naoki /* USER_LED2 */ 476cbd7675SFUKAUMI Naoki led-1 { 486cbd7675SFUKAUMI Naoki function = LED_FUNCTION_STATUS; 496cbd7675SFUKAUMI Naoki color = <LED_COLOR_ID_BLUE>; 506cbd7675SFUKAUMI Naoki gpios = <&gpio3 RK_PD5 GPIO_ACTIVE_HIGH>; 516cbd7675SFUKAUMI Naoki linux,default-trigger = "heartbeat"; 526cbd7675SFUKAUMI Naoki }; 536cbd7675SFUKAUMI Naoki }; 546cbd7675SFUKAUMI Naoki 55b153f26dSFUKAUMI Naoki sdio_pwrseq: sdio-pwrseq { 56b153f26dSFUKAUMI Naoki compatible = "mmc-pwrseq-simple"; 57b153f26dSFUKAUMI Naoki clocks = <&rk809 1>; 58b153f26dSFUKAUMI Naoki clock-names = "ext_clock"; 59b153f26dSFUKAUMI Naoki pinctrl-names = "default"; 60b153f26dSFUKAUMI Naoki pinctrl-0 = <&wifi_enable_h>; 61b153f26dSFUKAUMI Naoki reset-gpios = <&gpio0 RK_PB2 GPIO_ACTIVE_LOW>; 62b153f26dSFUKAUMI Naoki }; 63b153f26dSFUKAUMI Naoki 64a088c855SFUKAUMI Naoki vcc_3v3: vcc-3v3-regulator { 65a088c855SFUKAUMI Naoki compatible = "regulator-fixed"; 66a088c855SFUKAUMI Naoki regulator-name = "vcc_3v3"; 67a088c855SFUKAUMI Naoki regulator-always-on; 68a088c855SFUKAUMI Naoki regulator-boot-on; 69a088c855SFUKAUMI Naoki regulator-min-microvolt = <3300000>; 70a088c855SFUKAUMI Naoki regulator-max-microvolt = <3300000>; 71a088c855SFUKAUMI Naoki vin-supply = <&vcc3v3_sys>; 72a088c855SFUKAUMI Naoki }; 73a088c855SFUKAUMI Naoki 74b153f26dSFUKAUMI Naoki vcc3v3_phy1: vcc3v3-phy1-regulator { 7524645034SJagan Teki compatible = "regulator-fixed"; 76b153f26dSFUKAUMI Naoki regulator-name = "vcc3v3_phy1"; 7724645034SJagan Teki regulator-always-on; 7824645034SJagan Teki regulator-boot-on; 79b153f26dSFUKAUMI Naoki regulator-min-microvolt = <3300000>; 80b153f26dSFUKAUMI Naoki regulator-max-microvolt = <3300000>; 81b153f26dSFUKAUMI Naoki vin-supply = <&vcc_3v3>; 8224645034SJagan Teki }; 8324645034SJagan Teki 8424645034SJagan Teki vcc5v0_host1: vcc5v0-host-regulator { 8524645034SJagan Teki compatible = "regulator-fixed"; 8624645034SJagan Teki enable-active-high; 8724645034SJagan Teki gpio = <&gpio3 RK_PD6 GPIO_ACTIVE_HIGH>; 8824645034SJagan Teki pinctrl-names = "default"; 8924645034SJagan Teki pinctrl-0 = <&vcc5v0_host_en>; 9024645034SJagan Teki regulator-name = "vcc5v0_host1"; 9124645034SJagan Teki regulator-always-on; 9224645034SJagan Teki regulator-boot-on; 9324645034SJagan Teki vin-supply = <&vcc5v0_host0_s0>; 9424645034SJagan Teki }; 9524645034SJagan Teki 96b153f26dSFUKAUMI Naoki vcc5v0_sys: vcc5v0-sys-regulator { 97b153f26dSFUKAUMI Naoki compatible = "regulator-fixed"; 98b153f26dSFUKAUMI Naoki regulator-name = "vcc5v0_sys"; 99b153f26dSFUKAUMI Naoki regulator-always-on; 100b153f26dSFUKAUMI Naoki regulator-boot-on; 101b153f26dSFUKAUMI Naoki regulator-min-microvolt = <5000000>; 102b153f26dSFUKAUMI Naoki regulator-max-microvolt = <5000000>; 103b153f26dSFUKAUMI Naoki }; 104b153f26dSFUKAUMI Naoki 10524645034SJagan Teki vcc5v0_typec: vcc5v0-typec-regulator { 10624645034SJagan Teki compatible = "regulator-fixed"; 10724645034SJagan Teki enable-active-high; 10824645034SJagan Teki gpio = <&gpio1 RK_PA3 GPIO_ACTIVE_HIGH>; 10924645034SJagan Teki pinctrl-names = "default"; 11024645034SJagan Teki pinctrl-0 = <&vcc5v0_typec0_en>; 11124645034SJagan Teki regulator-name = "vcc5v0_typec"; 11224645034SJagan Teki regulator-always-on; 11324645034SJagan Teki regulator-boot-on; 11424645034SJagan Teki vin-supply = <&vcc5v0_sys>; 11524645034SJagan Teki }; 11624645034SJagan Teki 117a088c855SFUKAUMI Naoki vdd_log: vdd-log-regulator { 118a088c855SFUKAUMI Naoki compatible = "regulator-fixed"; 119a088c855SFUKAUMI Naoki regulator-name = "vdd_log"; 120a088c855SFUKAUMI Naoki regulator-always-on; 121a088c855SFUKAUMI Naoki regulator-boot-on; 122a088c855SFUKAUMI Naoki regulator-min-microvolt = <950000>; 123a088c855SFUKAUMI Naoki regulator-max-microvolt = <950000>; 124a088c855SFUKAUMI Naoki vin-supply = <&vcc5v0_sys>; 12524645034SJagan Teki }; 12624645034SJagan Teki}; 12724645034SJagan Teki 12824645034SJagan Teki&cpu_l0 { 12924645034SJagan Teki cpu-supply = <&vdd_cpu_l>; 13024645034SJagan Teki}; 13124645034SJagan Teki 13224645034SJagan Teki&cpu_l1 { 13324645034SJagan Teki cpu-supply = <&vdd_cpu_l>; 13424645034SJagan Teki}; 13524645034SJagan Teki 13624645034SJagan Teki&cpu_l2 { 13724645034SJagan Teki cpu-supply = <&vdd_cpu_l>; 13824645034SJagan Teki}; 13924645034SJagan Teki 14024645034SJagan Teki&cpu_l3 { 14124645034SJagan Teki cpu-supply = <&vdd_cpu_l>; 14224645034SJagan Teki}; 14324645034SJagan Teki 14424645034SJagan Teki&cpu_b0 { 14524645034SJagan Teki cpu-supply = <&vdd_cpu_b>; 14624645034SJagan Teki}; 14724645034SJagan Teki 14824645034SJagan Teki&cpu_b1 { 14924645034SJagan Teki cpu-supply = <&vdd_cpu_b>; 15024645034SJagan Teki}; 15124645034SJagan Teki 15224645034SJagan Teki&emmc_phy { 15324645034SJagan Teki status = "okay"; 15424645034SJagan Teki}; 15524645034SJagan Teki 15624645034SJagan Teki&gmac { 15724645034SJagan Teki assigned-clocks = <&cru SCLK_RMII_SRC>; 15824645034SJagan Teki assigned-clock-parents = <&clkin_gmac>; 15924645034SJagan Teki clock_in_out = "input"; 160a088c855SFUKAUMI Naoki phy-supply = <&vcc3v3_phy1>; 16124645034SJagan Teki phy-mode = "rgmii"; 16224645034SJagan Teki pinctrl-names = "default"; 16324645034SJagan Teki pinctrl-0 = <&rgmii_pins>; 16424645034SJagan Teki snps,reset-gpio = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>; 16524645034SJagan Teki snps,reset-active-low; 16624645034SJagan Teki snps,reset-delays-us = <0 10000 50000>; 16724645034SJagan Teki tx_delay = <0x2a>; 16824645034SJagan Teki rx_delay = <0x21>; 16924645034SJagan Teki status = "okay"; 17024645034SJagan Teki}; 17124645034SJagan Teki 17224645034SJagan Teki&gpu { 17324645034SJagan Teki mali-supply = <&vdd_gpu>; 17424645034SJagan Teki status = "okay"; 17524645034SJagan Teki}; 17624645034SJagan Teki 17724645034SJagan Teki&hdmi { 178b6047ba2SFUKAUMI Naoki avdd-0v9-supply = <&vcc_0v9_s0>; 179b6047ba2SFUKAUMI Naoki avdd-1v8-supply = <&vcc_1v8_s0>; 18024645034SJagan Teki ddc-i2c-bus = <&i2c3>; 18124645034SJagan Teki pinctrl-names = "default"; 18224645034SJagan Teki pinctrl-0 = <&hdmi_cec>; 18324645034SJagan Teki status = "okay"; 18424645034SJagan Teki}; 18524645034SJagan Teki 18624645034SJagan Teki&hdmi_sound { 18724645034SJagan Teki status = "okay"; 18824645034SJagan Teki}; 18924645034SJagan Teki 19024645034SJagan Teki&i2c0 { 19124645034SJagan Teki status = "okay"; 19224645034SJagan Teki i2c-scl-falling-time-ns = <30>; 19324645034SJagan Teki i2c-scl-rising-time-ns = <180>; 19424645034SJagan Teki clock-frequency = <400000>; 19524645034SJagan Teki 19624645034SJagan Teki rk809: pmic@20 { 19724645034SJagan Teki compatible = "rockchip,rk809"; 19824645034SJagan Teki reg = <0x20>; 19924645034SJagan Teki interrupt-parent = <&gpio1>; 20024645034SJagan Teki interrupts = <RK_PC5 IRQ_TYPE_LEVEL_LOW>; 20124645034SJagan Teki #clock-cells = <1>; 20224645034SJagan Teki clock-output-names = "rk808-clkout1", "rk808-clkout2"; 20324645034SJagan Teki pinctrl-names = "default"; 20424645034SJagan Teki pinctrl-0 = <&pmic_int_l>; 20524645034SJagan Teki rockchip,system-power-controller; 20624645034SJagan Teki wakeup-source; 20724645034SJagan Teki 20824645034SJagan Teki vcc1-supply = <&vcc5v0_sys>; 20924645034SJagan Teki vcc2-supply = <&vcc5v0_sys>; 21024645034SJagan Teki vcc3-supply = <&vcc5v0_sys>; 21124645034SJagan Teki vcc4-supply = <&vcc5v0_sys>; 212a088c855SFUKAUMI Naoki vcc5-supply = <&vcc_buck5_s3>; 213a088c855SFUKAUMI Naoki vcc6-supply = <&vcc_buck5_s3>; 21424645034SJagan Teki vcc7-supply = <&vcc5v0_sys>; 21524645034SJagan Teki vcc8-supply = <&vcc3v3_sys>; 21624645034SJagan Teki vcc9-supply = <&vcc5v0_sys>; 21724645034SJagan Teki 21824645034SJagan Teki regulators { 219a088c855SFUKAUMI Naoki vdd_center: DCDC_REG1 { 22024645034SJagan Teki regulator-always-on; 22124645034SJagan Teki regulator-boot-on; 22224645034SJagan Teki regulator-min-microvolt = <750000>; 22324645034SJagan Teki regulator-max-microvolt = <1350000>; 22424645034SJagan Teki regulator-initial-mode = <0x2>; 225a088c855SFUKAUMI Naoki regulator-name = "vdd_center"; 22624645034SJagan Teki regulator-state-mem { 22724645034SJagan Teki regulator-off-in-suspend; 22824645034SJagan Teki regulator-suspend-microvolt = <900000>; 22924645034SJagan Teki }; 23024645034SJagan Teki }; 23124645034SJagan Teki 23224645034SJagan Teki vdd_cpu_l: DCDC_REG2 { 23324645034SJagan Teki regulator-always-on; 23424645034SJagan Teki regulator-boot-on; 23524645034SJagan Teki regulator-min-microvolt = <750000>; 23624645034SJagan Teki regulator-max-microvolt = <1350000>; 23724645034SJagan Teki regulator-ramp-delay = <6001>; 23824645034SJagan Teki regulator-initial-mode = <0x2>; 23924645034SJagan Teki regulator-name = "vdd_cpu_l"; 24024645034SJagan Teki regulator-state-mem { 24124645034SJagan Teki regulator-off-in-suspend; 24224645034SJagan Teki }; 24324645034SJagan Teki }; 24424645034SJagan Teki 24524645034SJagan Teki vcc_ddr: DCDC_REG3 { 24624645034SJagan Teki regulator-always-on; 24724645034SJagan Teki regulator-boot-on; 24824645034SJagan Teki regulator-name = "vcc_ddr"; 24924645034SJagan Teki regulator-initial-mode = <0x2>; 25024645034SJagan Teki regulator-state-mem { 25124645034SJagan Teki regulator-on-in-suspend; 25224645034SJagan Teki }; 25324645034SJagan Teki }; 25424645034SJagan Teki 25524645034SJagan Teki vcc3v3_sys: DCDC_REG4 { 25624645034SJagan Teki regulator-always-on; 25724645034SJagan Teki regulator-boot-on; 25824645034SJagan Teki regulator-min-microvolt = <3300000>; 25924645034SJagan Teki regulator-max-microvolt = <3300000>; 26024645034SJagan Teki regulator-initial-mode = <0x2>; 26124645034SJagan Teki regulator-name = "vcc3v3_sys"; 26224645034SJagan Teki regulator-state-mem { 26324645034SJagan Teki regulator-on-in-suspend; 26424645034SJagan Teki regulator-suspend-microvolt = <3300000>; 26524645034SJagan Teki }; 26624645034SJagan Teki }; 26724645034SJagan Teki 268a088c855SFUKAUMI Naoki vcc_buck5_s3: DCDC_REG5 { 26924645034SJagan Teki regulator-always-on; 27024645034SJagan Teki regulator-boot-on; 27124645034SJagan Teki regulator-min-microvolt = <3300000>; 27224645034SJagan Teki regulator-max-microvolt = <3300000>; 273a088c855SFUKAUMI Naoki regulator-name = "vcc_buck5_s3"; 27424645034SJagan Teki regulator-state-mem { 27524645034SJagan Teki regulator-on-in-suspend; 27624645034SJagan Teki regulator-suspend-microvolt = <3300000>; 27724645034SJagan Teki }; 27824645034SJagan Teki }; 27924645034SJagan Teki 280a088c855SFUKAUMI Naoki vcc_0v9_s3: LDO_REG1 { 28124645034SJagan Teki regulator-always-on; 28224645034SJagan Teki regulator-boot-on; 28324645034SJagan Teki regulator-min-microvolt = <900000>; 28424645034SJagan Teki regulator-max-microvolt = <900000>; 285a088c855SFUKAUMI Naoki regulator-name = "vcc_0v9_s3"; 28624645034SJagan Teki regulator-state-mem { 28724645034SJagan Teki regulator-off-in-suspend; 28824645034SJagan Teki }; 28924645034SJagan Teki }; 29024645034SJagan Teki 291a088c855SFUKAUMI Naoki vcc_1v8_s3: LDO_REG2 { 29224645034SJagan Teki regulator-always-on; 29324645034SJagan Teki regulator-boot-on; 29424645034SJagan Teki regulator-min-microvolt = <1800000>; 29524645034SJagan Teki regulator-max-microvolt = <1800000>; 296a088c855SFUKAUMI Naoki regulator-name = "vcc_1v8_s3"; 29724645034SJagan Teki regulator-state-mem { 29824645034SJagan Teki regulator-on-in-suspend; 29924645034SJagan Teki regulator-suspend-microvolt = <1800000>; 30024645034SJagan Teki }; 30124645034SJagan Teki }; 30224645034SJagan Teki 303a088c855SFUKAUMI Naoki vcc_0v9_s0: LDO_REG3 { 30424645034SJagan Teki regulator-always-on; 30524645034SJagan Teki regulator-boot-on; 30624645034SJagan Teki regulator-min-microvolt = <900000>; 30724645034SJagan Teki regulator-max-microvolt = <900000>; 308a088c855SFUKAUMI Naoki regulator-name = "vcc_0v9_s0"; 30924645034SJagan Teki regulator-state-mem { 31024645034SJagan Teki regulator-on-in-suspend; 31124645034SJagan Teki regulator-suspend-microvolt = <900000>; 31224645034SJagan Teki }; 31324645034SJagan Teki }; 31424645034SJagan Teki 315a088c855SFUKAUMI Naoki vcc_1v8_s0: LDO_REG4 { 31624645034SJagan Teki regulator-always-on; 31724645034SJagan Teki regulator-boot-on; 31824645034SJagan Teki regulator-min-microvolt = <1800000>; 31924645034SJagan Teki regulator-max-microvolt = <1800000>; 320a088c855SFUKAUMI Naoki regulator-name = "vcc_1v8_s0"; 32124645034SJagan Teki regulator-state-mem { 32224645034SJagan Teki regulator-off-in-suspend; 32324645034SJagan Teki }; 32424645034SJagan Teki }; 32524645034SJagan Teki 32624645034SJagan Teki vcc_mipi: LDO_REG5 { 32724645034SJagan Teki regulator-always-on; 32824645034SJagan Teki regulator-boot-on; 32924645034SJagan Teki regulator-min-microvolt = <3000000>; 33024645034SJagan Teki regulator-max-microvolt = <3000000>; 33124645034SJagan Teki regulator-name = "vcc_mipi"; 33224645034SJagan Teki regulator-state-mem { 33324645034SJagan Teki regulator-off-in-suspend; 33424645034SJagan Teki }; 33524645034SJagan Teki }; 33624645034SJagan Teki 337a088c855SFUKAUMI Naoki vcc_1v5_s0: LDO_REG6 { 33824645034SJagan Teki regulator-always-on; 33924645034SJagan Teki regulator-boot-on; 34024645034SJagan Teki regulator-min-microvolt = <1500000>; 34124645034SJagan Teki regulator-max-microvolt = <1500000>; 342a088c855SFUKAUMI Naoki regulator-name = "vcc_1v5_s0"; 34324645034SJagan Teki regulator-state-mem { 34424645034SJagan Teki regulator-off-in-suspend; 34524645034SJagan Teki }; 34624645034SJagan Teki }; 34724645034SJagan Teki 348a088c855SFUKAUMI Naoki vcc_3v0_s0: LDO_REG7 { 34924645034SJagan Teki regulator-always-on; 35024645034SJagan Teki regulator-boot-on; 35124645034SJagan Teki regulator-min-microvolt = <3000000>; 35224645034SJagan Teki regulator-max-microvolt = <3000000>; 353a088c855SFUKAUMI Naoki regulator-name = "vcc_3v0_s0"; 35424645034SJagan Teki regulator-state-mem { 35524645034SJagan Teki regulator-off-in-suspend; 35624645034SJagan Teki }; 35724645034SJagan Teki }; 35824645034SJagan Teki 359a088c855SFUKAUMI Naoki vcc_sdio_s0: LDO_REG8 { 36024645034SJagan Teki regulator-always-on; 36124645034SJagan Teki regulator-boot-on; 36224645034SJagan Teki regulator-min-microvolt = <1800000>; 36324645034SJagan Teki regulator-max-microvolt = <3300000>; 364a088c855SFUKAUMI Naoki regulator-name = "vcc_sdio_s0"; 36524645034SJagan Teki regulator-state-mem { 36624645034SJagan Teki regulator-off-in-suspend; 36724645034SJagan Teki }; 36824645034SJagan Teki }; 36924645034SJagan Teki 37024645034SJagan Teki vcc_cam: LDO_REG9 { 37124645034SJagan Teki regulator-always-on; 37224645034SJagan Teki regulator-boot-on; 37324645034SJagan Teki regulator-min-microvolt = <3300000>; 37424645034SJagan Teki regulator-max-microvolt = <3300000>; 37524645034SJagan Teki regulator-name = "vcc_cam"; 37624645034SJagan Teki regulator-state-mem { 37724645034SJagan Teki regulator-off-in-suspend; 37824645034SJagan Teki }; 37924645034SJagan Teki }; 38024645034SJagan Teki 38124645034SJagan Teki vcc5v0_host0_s0: SWITCH_REG1 { 38224645034SJagan Teki regulator-always-on; 38324645034SJagan Teki regulator-boot-on; 38424645034SJagan Teki regulator-name = "vcc5v0_host0_s0"; 38524645034SJagan Teki regulator-state-mem { 38624645034SJagan Teki regulator-on-in-suspend; 38724645034SJagan Teki }; 38824645034SJagan Teki }; 38924645034SJagan Teki 39024645034SJagan Teki lcd_3v3: SWITCH_REG2 { 39124645034SJagan Teki regulator-always-on; 39224645034SJagan Teki regulator-boot-on; 39324645034SJagan Teki regulator-name = "lcd_3v3"; 39424645034SJagan Teki regulator-state-mem { 39524645034SJagan Teki regulator-off-in-suspend; 39624645034SJagan Teki }; 39724645034SJagan Teki }; 39824645034SJagan Teki }; 39924645034SJagan Teki }; 40024645034SJagan Teki 40124645034SJagan Teki vdd_cpu_b: regulator@40 { 40224645034SJagan Teki compatible = "silergy,syr827"; 40324645034SJagan Teki reg = <0x40>; 40424645034SJagan Teki fcs,suspend-voltage-selector = <1>; 40524645034SJagan Teki regulator-compatible = "fan53555-reg"; 40624645034SJagan Teki pinctrl-0 = <&vsel1_gpio>; 40724645034SJagan Teki vsel-gpios = <&gpio1 RK_PC1 GPIO_ACTIVE_HIGH>; 40824645034SJagan Teki regulator-name = "vdd_cpu_b"; 40924645034SJagan Teki regulator-min-microvolt = <712500>; 41024645034SJagan Teki regulator-max-microvolt = <1500000>; 41124645034SJagan Teki regulator-ramp-delay = <1000>; 41224645034SJagan Teki regulator-always-on; 41324645034SJagan Teki regulator-boot-on; 41424645034SJagan Teki vin-supply = <&vcc5v0_sys>; 41524645034SJagan Teki regulator-state-mem { 41624645034SJagan Teki regulator-off-in-suspend; 41724645034SJagan Teki }; 41824645034SJagan Teki }; 41924645034SJagan Teki 42024645034SJagan Teki vdd_gpu: regulator@41 { 42124645034SJagan Teki compatible = "silergy,syr828"; 42224645034SJagan Teki reg = <0x41>; 42324645034SJagan Teki fcs,suspend-voltage-selector = <1>; 42424645034SJagan Teki regulator-compatible = "fan53555-reg"; 42524645034SJagan Teki pinctrl-0 = <&vsel2_gpio>; 42624645034SJagan Teki vsel-gpios = <&gpio1 RK_PB6 GPIO_ACTIVE_HIGH>; 42724645034SJagan Teki regulator-name = "vdd_gpu"; 42824645034SJagan Teki regulator-min-microvolt = <712500>; 42924645034SJagan Teki regulator-max-microvolt = <1500000>; 43024645034SJagan Teki regulator-ramp-delay = <1000>; 43124645034SJagan Teki regulator-always-on; 43224645034SJagan Teki regulator-boot-on; 43324645034SJagan Teki vin-supply = <&vcc5v0_sys>; 43424645034SJagan Teki regulator-initial-mode = <1>; /* 1:force PWM 2:auto */ 43524645034SJagan Teki regulator-state-mem { 43624645034SJagan Teki regulator-off-in-suspend; 43724645034SJagan Teki }; 43824645034SJagan Teki }; 43924645034SJagan Teki}; 44024645034SJagan Teki 44124645034SJagan Teki&i2c3 { 44224645034SJagan Teki i2c-scl-rising-time-ns = <450>; 44324645034SJagan Teki i2c-scl-falling-time-ns = <15>; 44424645034SJagan Teki status = "okay"; 44524645034SJagan Teki}; 44624645034SJagan Teki 44724645034SJagan Teki&i2s2 { 44824645034SJagan Teki status = "okay"; 44924645034SJagan Teki}; 45024645034SJagan Teki 45124645034SJagan Teki&io_domains { 452a088c855SFUKAUMI Naoki audio-supply = <&vcc_1v8_s0>; 453b153f26dSFUKAUMI Naoki bt656-supply = <&vcc_3v0_s0>; 454a088c855SFUKAUMI Naoki gpio1830-supply = <&vcc_3v0_s0>; 455a088c855SFUKAUMI Naoki sdmmc-supply = <&vcc_sdio_s0>; 45624645034SJagan Teki status = "okay"; 45724645034SJagan Teki}; 45824645034SJagan Teki 45924645034SJagan Teki&pinctrl { 46024645034SJagan Teki bt { 46124645034SJagan Teki bt_enable_h: bt-enable-h { 46224645034SJagan Teki rockchip,pins = <0 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>; 46324645034SJagan Teki }; 46424645034SJagan Teki 46524645034SJagan Teki bt_host_wake_l: bt-host-wake-l { 46624645034SJagan Teki rockchip,pins = <0 RK_PA4 RK_FUNC_GPIO &pcfg_pull_none>; 46724645034SJagan Teki }; 46824645034SJagan Teki 46924645034SJagan Teki bt_wake_l: bt-wake-l { 47024645034SJagan Teki rockchip,pins = <2 RK_PD3 RK_FUNC_GPIO &pcfg_pull_none>; 47124645034SJagan Teki }; 47224645034SJagan Teki }; 47324645034SJagan Teki 4746cbd7675SFUKAUMI Naoki leds { 4756cbd7675SFUKAUMI Naoki user_led1: user-led1 { 4766cbd7675SFUKAUMI Naoki rockchip,pins = <3 RK_PD4 RK_FUNC_GPIO &pcfg_pull_none>; 4776cbd7675SFUKAUMI Naoki }; 4786cbd7675SFUKAUMI Naoki 4796cbd7675SFUKAUMI Naoki user_led2: user-led2 { 4806cbd7675SFUKAUMI Naoki rockchip,pins = <3 RK_PD5 RK_FUNC_GPIO &pcfg_pull_none>; 4816cbd7675SFUKAUMI Naoki }; 4826cbd7675SFUKAUMI Naoki }; 4836cbd7675SFUKAUMI Naoki 48424645034SJagan Teki pmic { 48524645034SJagan Teki pmic_int_l: pmic-int-l { 48624645034SJagan Teki rockchip,pins = <1 RK_PC5 RK_FUNC_GPIO &pcfg_pull_up>; 48724645034SJagan Teki }; 48824645034SJagan Teki 48924645034SJagan Teki vsel1_gpio: vsel1-gpio { 49024645034SJagan Teki rockchip,pins = <1 RK_PC1 RK_FUNC_GPIO &pcfg_pull_down>; 49124645034SJagan Teki }; 49224645034SJagan Teki 49324645034SJagan Teki vsel2_gpio: vsel2-gpio { 49424645034SJagan Teki rockchip,pins = <1 RK_PB6 RK_FUNC_GPIO &pcfg_pull_down>; 49524645034SJagan Teki }; 49624645034SJagan Teki }; 49724645034SJagan Teki 49824645034SJagan Teki sdmmc { 49924645034SJagan Teki sdmmc_bus4: sdmmc-bus4 { 50024645034SJagan Teki rockchip,pins = <4 8 1 &pcfg_pull_up_8ma>, 50124645034SJagan Teki <4 9 1 &pcfg_pull_up_8ma>, 50224645034SJagan Teki <4 10 1 &pcfg_pull_up_8ma>, 50324645034SJagan Teki <4 11 1 &pcfg_pull_up_8ma>; 50424645034SJagan Teki }; 50524645034SJagan Teki 50624645034SJagan Teki sdmmc_clk: sdmmc-clk { 50724645034SJagan Teki rockchip,pins = <4 12 1 &pcfg_pull_none_18ma>; 50824645034SJagan Teki }; 50924645034SJagan Teki 51024645034SJagan Teki sdmmc_cmd: sdmmc-cmd { 51124645034SJagan Teki rockchip,pins = <4 13 1 &pcfg_pull_up_8ma>; 51224645034SJagan Teki }; 51324645034SJagan Teki }; 51424645034SJagan Teki 51524645034SJagan Teki usb-typec { 51624645034SJagan Teki vcc5v0_typec0_en: vcc5v0-typec-en { 51724645034SJagan Teki rockchip,pins = <1 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>; 51824645034SJagan Teki }; 51924645034SJagan Teki }; 52024645034SJagan Teki 52124645034SJagan Teki usb2 { 52224645034SJagan Teki vcc5v0_host_en: vcc5v0-host-en { 52324645034SJagan Teki rockchip,pins = <3 RK_PD6 RK_FUNC_GPIO &pcfg_pull_up>; 52424645034SJagan Teki }; 52524645034SJagan Teki }; 52624645034SJagan Teki 52724645034SJagan Teki wifi { 52824645034SJagan Teki wifi_enable_h: wifi-enable-h { 52924645034SJagan Teki rockchip,pins = <0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>; 53024645034SJagan Teki }; 53124645034SJagan Teki 53224645034SJagan Teki wifi_host_wake_l: wifi-host-wake-l { 53324645034SJagan Teki rockchip,pins = <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_none>; 53424645034SJagan Teki }; 53524645034SJagan Teki }; 53624645034SJagan Teki}; 53724645034SJagan Teki 53824645034SJagan Teki&pmu_io_domains { 539a088c855SFUKAUMI Naoki pmu1830-supply = <&vcc_3v0_s0>; 54024645034SJagan Teki status = "okay"; 54124645034SJagan Teki}; 54224645034SJagan Teki 54324645034SJagan Teki&saradc { 54424645034SJagan Teki status = "okay"; 545a088c855SFUKAUMI Naoki vref-supply = <&vcc_1v8_s3>; 54624645034SJagan Teki}; 54724645034SJagan Teki 54824645034SJagan Teki&sdhci { 54924645034SJagan Teki max-frequency = <150000000>; 55024645034SJagan Teki bus-width = <8>; 55124645034SJagan Teki mmc-hs400-1_8v; 55224645034SJagan Teki non-removable; 55324645034SJagan Teki mmc-hs400-enhanced-strobe; 55424645034SJagan Teki status = "okay"; 55524645034SJagan Teki}; 55624645034SJagan Teki 55724645034SJagan Teki&sdio0 { 55824645034SJagan Teki #address-cells = <1>; 55924645034SJagan Teki #size-cells = <0>; 56024645034SJagan Teki bus-width = <4>; 56124645034SJagan Teki clock-frequency = <50000000>; 56224645034SJagan Teki cap-sdio-irq; 56324645034SJagan Teki cap-sd-highspeed; 56424645034SJagan Teki keep-power-in-suspend; 56524645034SJagan Teki mmc-pwrseq = <&sdio_pwrseq>; 56624645034SJagan Teki non-removable; 56724645034SJagan Teki pinctrl-names = "default"; 56824645034SJagan Teki pinctrl-0 = <&sdio0_bus4 &sdio0_cmd &sdio0_clk>; 56924645034SJagan Teki sd-uhs-sdr104; 57024645034SJagan Teki status = "okay"; 57124645034SJagan Teki 57224645034SJagan Teki brcmf: wifi@1 { 57324645034SJagan Teki compatible = "brcm,bcm4329-fmac"; 57424645034SJagan Teki reg = <1>; 57524645034SJagan Teki interrupt-parent = <&gpio0>; 57624645034SJagan Teki interrupts = <RK_PA3 IRQ_TYPE_LEVEL_HIGH>; 57724645034SJagan Teki interrupt-names = "host-wake"; 57824645034SJagan Teki pinctrl-names = "default"; 57924645034SJagan Teki pinctrl-0 = <&wifi_host_wake_l>; 58024645034SJagan Teki }; 58124645034SJagan Teki}; 58224645034SJagan Teki 58324645034SJagan Teki&sdmmc { 58424645034SJagan Teki bus-width = <4>; 58524645034SJagan Teki cap-mmc-highspeed; 58624645034SJagan Teki cap-sd-highspeed; 58724645034SJagan Teki card-detect-delay = <800>; 58824645034SJagan Teki disable-wp; 58924645034SJagan Teki pinctrl-names = "default"; 59024645034SJagan Teki pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_bus4>; 59124645034SJagan Teki cd-gpios = <&gpio0 RK_PA7 GPIO_ACTIVE_LOW>; 592a088c855SFUKAUMI Naoki vqmmc-supply = <&vcc_sdio_s0>; 59324645034SJagan Teki status = "okay"; 59424645034SJagan Teki}; 59524645034SJagan Teki 59624645034SJagan Teki&tcphy0 { 59724645034SJagan Teki status = "okay"; 59824645034SJagan Teki}; 59924645034SJagan Teki 60024645034SJagan Teki&tcphy1 { 60124645034SJagan Teki status = "okay"; 60224645034SJagan Teki}; 60324645034SJagan Teki 604*7f767e68SFUKAUMI Naoki&tsadc { 605*7f767e68SFUKAUMI Naoki rockchip,hw-tshut-mode = <1>; 606*7f767e68SFUKAUMI Naoki rockchip,hw-tshut-polarity = <1>; 607*7f767e68SFUKAUMI Naoki status = "okay"; 608*7f767e68SFUKAUMI Naoki}; 609*7f767e68SFUKAUMI Naoki 61024645034SJagan Teki&u2phy0 { 61124645034SJagan Teki status = "okay"; 61224645034SJagan Teki 61324645034SJagan Teki u2phy0_otg: otg-port { 61424645034SJagan Teki status = "okay"; 61524645034SJagan Teki }; 61624645034SJagan Teki 61724645034SJagan Teki u2phy0_host: host-port { 61824645034SJagan Teki phy-supply = <&vcc5v0_host1>; 61924645034SJagan Teki status = "okay"; 62024645034SJagan Teki }; 62124645034SJagan Teki}; 62224645034SJagan Teki 62324645034SJagan Teki&u2phy1 { 62424645034SJagan Teki status = "okay"; 62524645034SJagan Teki 62624645034SJagan Teki u2phy1_otg: otg-port { 62724645034SJagan Teki status = "okay"; 62824645034SJagan Teki }; 62924645034SJagan Teki 63024645034SJagan Teki u2phy1_host: host-port { 63124645034SJagan Teki phy-supply = <&vcc5v0_host1>; 63224645034SJagan Teki status = "okay"; 63324645034SJagan Teki }; 63424645034SJagan Teki}; 63524645034SJagan Teki 63624645034SJagan Teki&uart0 { 63724645034SJagan Teki pinctrl-names = "default"; 63824645034SJagan Teki pinctrl-0 = <&uart0_xfer &uart0_cts &uart0_rts>; 63924645034SJagan Teki status = "okay"; 64024645034SJagan Teki 64124645034SJagan Teki bluetooth { 64224645034SJagan Teki compatible = "brcm,bcm4345c5"; 64324645034SJagan Teki clocks = <&rk809 1>; 64424645034SJagan Teki clock-names = "lpo"; 64524645034SJagan Teki device-wakeup-gpios = <&gpio2 RK_PD3 GPIO_ACTIVE_HIGH>; 64624645034SJagan Teki host-wakeup-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_HIGH>; 64724645034SJagan Teki shutdown-gpios = <&gpio0 RK_PB1 GPIO_ACTIVE_HIGH>; 64824645034SJagan Teki max-speed = <1500000>; 64924645034SJagan Teki pinctrl-names = "default"; 65024645034SJagan Teki pinctrl-0 = <&bt_host_wake_l &bt_wake_l &bt_enable_h>; 65124645034SJagan Teki vbat-supply = <&vcc3v3_sys>; 652a088c855SFUKAUMI Naoki vddio-supply = <&vcc_1v8_s3>; 65324645034SJagan Teki }; 65424645034SJagan Teki}; 65524645034SJagan Teki 65624645034SJagan Teki&uart2 { 65724645034SJagan Teki status = "okay"; 65824645034SJagan Teki}; 65924645034SJagan Teki 66024645034SJagan Teki&usb_host0_ehci { 66124645034SJagan Teki status = "okay"; 66224645034SJagan Teki}; 66324645034SJagan Teki 66424645034SJagan Teki&usb_host0_ohci { 66524645034SJagan Teki status = "okay"; 66624645034SJagan Teki}; 66724645034SJagan Teki 66824645034SJagan Teki&usb_host1_ehci { 66924645034SJagan Teki status = "okay"; 67024645034SJagan Teki}; 67124645034SJagan Teki 67224645034SJagan Teki&usb_host1_ohci { 67324645034SJagan Teki status = "okay"; 67424645034SJagan Teki}; 67524645034SJagan Teki 67624645034SJagan Teki&usbdrd3_0 { 67724645034SJagan Teki extcon = <&u2phy0>; 67824645034SJagan Teki status = "okay"; 67924645034SJagan Teki}; 68024645034SJagan Teki 68124645034SJagan Teki&usbdrd_dwc3_0 { 68224645034SJagan Teki status = "okay"; 68324645034SJagan Teki dr_mode = "host"; 68424645034SJagan Teki}; 68524645034SJagan Teki 68624645034SJagan Teki&usbdrd3_1 { 68724645034SJagan Teki status = "okay"; 68824645034SJagan Teki}; 68924645034SJagan Teki 69024645034SJagan Teki&usbdrd_dwc3_1 { 69124645034SJagan Teki status = "okay"; 69224645034SJagan Teki dr_mode = "host"; 69324645034SJagan Teki}; 69424645034SJagan Teki 69524645034SJagan Teki&vopb { 69624645034SJagan Teki status = "okay"; 69724645034SJagan Teki}; 69824645034SJagan Teki 69924645034SJagan Teki&vopb_mmu { 70024645034SJagan Teki status = "okay"; 70124645034SJagan Teki}; 70224645034SJagan Teki 70324645034SJagan Teki&vopl { 70424645034SJagan Teki status = "okay"; 70524645034SJagan Teki}; 70624645034SJagan Teki 70724645034SJagan Teki&vopl_mmu { 70824645034SJagan Teki status = "okay"; 70924645034SJagan Teki}; 710