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> 10296602b8SDragan Simic#include "rk3399-t.dtsi" 1124645034SJagan Teki 1224645034SJagan Teki/ { 1324645034SJagan Teki model = "Radxa ROCK 4C+"; 1424645034SJagan Teki compatible = "radxa,rock-4c-plus", "rockchip,rk3399"; 1524645034SJagan Teki 1624645034SJagan Teki aliases { 175d90cb1eSDragan Simic ethernet0 = &gmac; 18d268da06SJagan Teki mmc0 = &sdhci; 19d268da06SJagan Teki mmc1 = &sdmmc; 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 55*174c3063SJonathan Liu rk809-sound { 56*174c3063SJonathan Liu compatible = "simple-audio-card"; 57*174c3063SJonathan Liu simple-audio-card,format = "i2s"; 58*174c3063SJonathan Liu simple-audio-card,name = "Analog RK809"; 59*174c3063SJonathan Liu simple-audio-card,mclk-fs = <256>; 60*174c3063SJonathan Liu 61*174c3063SJonathan Liu simple-audio-card,cpu { 62*174c3063SJonathan Liu sound-dai = <&i2s0>; 63*174c3063SJonathan Liu }; 64*174c3063SJonathan Liu 65*174c3063SJonathan Liu simple-audio-card,codec { 66*174c3063SJonathan Liu sound-dai = <&rk809>; 67*174c3063SJonathan Liu }; 68*174c3063SJonathan Liu }; 69*174c3063SJonathan Liu 70b153f26dSFUKAUMI Naoki sdio_pwrseq: sdio-pwrseq { 71b153f26dSFUKAUMI Naoki compatible = "mmc-pwrseq-simple"; 72b153f26dSFUKAUMI Naoki clocks = <&rk809 1>; 73b153f26dSFUKAUMI Naoki clock-names = "ext_clock"; 74b153f26dSFUKAUMI Naoki pinctrl-names = "default"; 75b153f26dSFUKAUMI Naoki pinctrl-0 = <&wifi_enable_h>; 76b153f26dSFUKAUMI Naoki reset-gpios = <&gpio0 RK_PB2 GPIO_ACTIVE_LOW>; 77b153f26dSFUKAUMI Naoki }; 78b153f26dSFUKAUMI Naoki 79a088c855SFUKAUMI Naoki vcc_3v3: vcc-3v3-regulator { 80a088c855SFUKAUMI Naoki compatible = "regulator-fixed"; 81a088c855SFUKAUMI Naoki regulator-name = "vcc_3v3"; 82a088c855SFUKAUMI Naoki regulator-always-on; 83a088c855SFUKAUMI Naoki regulator-boot-on; 84a088c855SFUKAUMI Naoki regulator-min-microvolt = <3300000>; 85a088c855SFUKAUMI Naoki regulator-max-microvolt = <3300000>; 86a088c855SFUKAUMI Naoki vin-supply = <&vcc3v3_sys>; 87a088c855SFUKAUMI Naoki }; 88a088c855SFUKAUMI Naoki 89b153f26dSFUKAUMI Naoki vcc3v3_phy1: vcc3v3-phy1-regulator { 9024645034SJagan Teki compatible = "regulator-fixed"; 91b153f26dSFUKAUMI Naoki regulator-name = "vcc3v3_phy1"; 9224645034SJagan Teki regulator-always-on; 9324645034SJagan Teki regulator-boot-on; 94b153f26dSFUKAUMI Naoki regulator-min-microvolt = <3300000>; 95b153f26dSFUKAUMI Naoki regulator-max-microvolt = <3300000>; 96b153f26dSFUKAUMI Naoki vin-supply = <&vcc_3v3>; 9724645034SJagan Teki }; 9824645034SJagan Teki 9924645034SJagan Teki vcc5v0_host1: vcc5v0-host-regulator { 10024645034SJagan Teki compatible = "regulator-fixed"; 10124645034SJagan Teki enable-active-high; 10224645034SJagan Teki gpio = <&gpio3 RK_PD6 GPIO_ACTIVE_HIGH>; 10324645034SJagan Teki pinctrl-names = "default"; 10424645034SJagan Teki pinctrl-0 = <&vcc5v0_host_en>; 10524645034SJagan Teki regulator-name = "vcc5v0_host1"; 10624645034SJagan Teki regulator-always-on; 10724645034SJagan Teki regulator-boot-on; 10824645034SJagan Teki vin-supply = <&vcc5v0_host0_s0>; 10924645034SJagan Teki }; 11024645034SJagan Teki 111b153f26dSFUKAUMI Naoki vcc5v0_sys: vcc5v0-sys-regulator { 112b153f26dSFUKAUMI Naoki compatible = "regulator-fixed"; 113b153f26dSFUKAUMI Naoki regulator-name = "vcc5v0_sys"; 114b153f26dSFUKAUMI Naoki regulator-always-on; 115b153f26dSFUKAUMI Naoki regulator-boot-on; 116b153f26dSFUKAUMI Naoki regulator-min-microvolt = <5000000>; 117b153f26dSFUKAUMI Naoki regulator-max-microvolt = <5000000>; 118b153f26dSFUKAUMI Naoki }; 119b153f26dSFUKAUMI Naoki 12024645034SJagan Teki vcc5v0_typec: vcc5v0-typec-regulator { 12124645034SJagan Teki compatible = "regulator-fixed"; 12224645034SJagan Teki enable-active-high; 12324645034SJagan Teki gpio = <&gpio1 RK_PA3 GPIO_ACTIVE_HIGH>; 12424645034SJagan Teki pinctrl-names = "default"; 12524645034SJagan Teki pinctrl-0 = <&vcc5v0_typec0_en>; 12624645034SJagan Teki regulator-name = "vcc5v0_typec"; 12724645034SJagan Teki regulator-always-on; 12824645034SJagan Teki regulator-boot-on; 12924645034SJagan Teki vin-supply = <&vcc5v0_sys>; 13024645034SJagan Teki }; 13124645034SJagan Teki 132a088c855SFUKAUMI Naoki vdd_log: vdd-log-regulator { 133a088c855SFUKAUMI Naoki compatible = "regulator-fixed"; 134a088c855SFUKAUMI Naoki regulator-name = "vdd_log"; 135a088c855SFUKAUMI Naoki regulator-always-on; 136a088c855SFUKAUMI Naoki regulator-boot-on; 137a088c855SFUKAUMI Naoki regulator-min-microvolt = <950000>; 138a088c855SFUKAUMI Naoki regulator-max-microvolt = <950000>; 139a088c855SFUKAUMI Naoki vin-supply = <&vcc5v0_sys>; 14024645034SJagan Teki }; 14124645034SJagan Teki}; 14224645034SJagan Teki 14324645034SJagan Teki&cpu_l0 { 14424645034SJagan Teki cpu-supply = <&vdd_cpu_l>; 14524645034SJagan Teki}; 14624645034SJagan Teki 14724645034SJagan Teki&cpu_l1 { 14824645034SJagan Teki cpu-supply = <&vdd_cpu_l>; 14924645034SJagan Teki}; 15024645034SJagan Teki 15124645034SJagan Teki&cpu_l2 { 15224645034SJagan Teki cpu-supply = <&vdd_cpu_l>; 15324645034SJagan Teki}; 15424645034SJagan Teki 15524645034SJagan Teki&cpu_l3 { 15624645034SJagan Teki cpu-supply = <&vdd_cpu_l>; 15724645034SJagan Teki}; 15824645034SJagan Teki 15924645034SJagan Teki&cpu_b0 { 16024645034SJagan Teki cpu-supply = <&vdd_cpu_b>; 16124645034SJagan Teki}; 16224645034SJagan Teki 16324645034SJagan Teki&cpu_b1 { 16424645034SJagan Teki cpu-supply = <&vdd_cpu_b>; 16524645034SJagan Teki}; 16624645034SJagan Teki 16724645034SJagan Teki&emmc_phy { 168c1b1f340SFolker Schwesinger rockchip,enable-strobe-pulldown; 16924645034SJagan Teki status = "okay"; 17024645034SJagan Teki}; 17124645034SJagan Teki 17224645034SJagan Teki&gmac { 17324645034SJagan Teki assigned-clocks = <&cru SCLK_RMII_SRC>; 17424645034SJagan Teki assigned-clock-parents = <&clkin_gmac>; 17524645034SJagan Teki clock_in_out = "input"; 176a088c855SFUKAUMI Naoki phy-supply = <&vcc3v3_phy1>; 17724645034SJagan Teki phy-mode = "rgmii"; 17824645034SJagan Teki pinctrl-names = "default"; 17924645034SJagan Teki pinctrl-0 = <&rgmii_pins>; 18024645034SJagan Teki snps,reset-gpio = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>; 18124645034SJagan Teki snps,reset-active-low; 18224645034SJagan Teki snps,reset-delays-us = <0 10000 50000>; 18324645034SJagan Teki tx_delay = <0x2a>; 18424645034SJagan Teki rx_delay = <0x21>; 18524645034SJagan Teki status = "okay"; 18624645034SJagan Teki}; 18724645034SJagan Teki 18824645034SJagan Teki&gpu { 18924645034SJagan Teki mali-supply = <&vdd_gpu>; 19024645034SJagan Teki status = "okay"; 19124645034SJagan Teki}; 19224645034SJagan Teki 19324645034SJagan Teki&hdmi { 194b6047ba2SFUKAUMI Naoki avdd-0v9-supply = <&vcc_0v9_s0>; 195b6047ba2SFUKAUMI Naoki avdd-1v8-supply = <&vcc_1v8_s0>; 19624645034SJagan Teki ddc-i2c-bus = <&i2c3>; 19724645034SJagan Teki pinctrl-names = "default"; 19824645034SJagan Teki pinctrl-0 = <&hdmi_cec>; 19924645034SJagan Teki status = "okay"; 20024645034SJagan Teki}; 20124645034SJagan Teki 20224645034SJagan Teki&hdmi_sound { 20324645034SJagan Teki status = "okay"; 20424645034SJagan Teki}; 20524645034SJagan Teki 20624645034SJagan Teki&i2c0 { 20724645034SJagan Teki status = "okay"; 20824645034SJagan Teki i2c-scl-falling-time-ns = <30>; 20924645034SJagan Teki i2c-scl-rising-time-ns = <180>; 21024645034SJagan Teki clock-frequency = <400000>; 21124645034SJagan Teki 21224645034SJagan Teki rk809: pmic@20 { 21324645034SJagan Teki compatible = "rockchip,rk809"; 21424645034SJagan Teki reg = <0x20>; 21524645034SJagan Teki interrupt-parent = <&gpio1>; 21624645034SJagan Teki interrupts = <RK_PC5 IRQ_TYPE_LEVEL_LOW>; 21724645034SJagan Teki #clock-cells = <1>; 218*174c3063SJonathan Liu clock-names = "mclk"; 219*174c3063SJonathan Liu clocks = <&cru SCLK_I2S_8CH_OUT>; 22024645034SJagan Teki clock-output-names = "rk808-clkout1", "rk808-clkout2"; 22124645034SJagan Teki pinctrl-names = "default"; 222*174c3063SJonathan Liu pinctrl-0 = <&pmic_int_l>, <&i2s_8ch_mclk>; 22324645034SJagan Teki rockchip,system-power-controller; 224*174c3063SJonathan Liu #sound-dai-cells = <0>; 22524645034SJagan Teki wakeup-source; 22624645034SJagan Teki 22724645034SJagan Teki vcc1-supply = <&vcc5v0_sys>; 22824645034SJagan Teki vcc2-supply = <&vcc5v0_sys>; 22924645034SJagan Teki vcc3-supply = <&vcc5v0_sys>; 23024645034SJagan Teki vcc4-supply = <&vcc5v0_sys>; 231a088c855SFUKAUMI Naoki vcc5-supply = <&vcc_buck5_s3>; 232a088c855SFUKAUMI Naoki vcc6-supply = <&vcc_buck5_s3>; 23324645034SJagan Teki vcc7-supply = <&vcc5v0_sys>; 23424645034SJagan Teki vcc8-supply = <&vcc3v3_sys>; 23524645034SJagan Teki vcc9-supply = <&vcc5v0_sys>; 23624645034SJagan Teki 23724645034SJagan Teki regulators { 238a088c855SFUKAUMI Naoki vdd_center: DCDC_REG1 { 23924645034SJagan Teki regulator-always-on; 24024645034SJagan Teki regulator-boot-on; 24124645034SJagan Teki regulator-min-microvolt = <750000>; 24224645034SJagan Teki regulator-max-microvolt = <1350000>; 24324645034SJagan Teki regulator-initial-mode = <0x2>; 244a088c855SFUKAUMI Naoki regulator-name = "vdd_center"; 24524645034SJagan Teki regulator-state-mem { 24624645034SJagan Teki regulator-off-in-suspend; 24724645034SJagan Teki regulator-suspend-microvolt = <900000>; 24824645034SJagan Teki }; 24924645034SJagan Teki }; 25024645034SJagan Teki 25124645034SJagan Teki vdd_cpu_l: DCDC_REG2 { 25224645034SJagan Teki regulator-always-on; 25324645034SJagan Teki regulator-boot-on; 25424645034SJagan Teki regulator-min-microvolt = <750000>; 25524645034SJagan Teki regulator-max-microvolt = <1350000>; 25624645034SJagan Teki regulator-ramp-delay = <6001>; 25724645034SJagan Teki regulator-initial-mode = <0x2>; 25824645034SJagan Teki regulator-name = "vdd_cpu_l"; 25924645034SJagan Teki regulator-state-mem { 26024645034SJagan Teki regulator-off-in-suspend; 26124645034SJagan Teki }; 26224645034SJagan Teki }; 26324645034SJagan Teki 26424645034SJagan Teki vcc_ddr: DCDC_REG3 { 26524645034SJagan Teki regulator-always-on; 26624645034SJagan Teki regulator-boot-on; 26724645034SJagan Teki regulator-name = "vcc_ddr"; 26824645034SJagan Teki regulator-initial-mode = <0x2>; 26924645034SJagan Teki regulator-state-mem { 27024645034SJagan Teki regulator-on-in-suspend; 27124645034SJagan Teki }; 27224645034SJagan Teki }; 27324645034SJagan Teki 27424645034SJagan Teki vcc3v3_sys: DCDC_REG4 { 27524645034SJagan Teki regulator-always-on; 27624645034SJagan Teki regulator-boot-on; 27724645034SJagan Teki regulator-min-microvolt = <3300000>; 27824645034SJagan Teki regulator-max-microvolt = <3300000>; 27924645034SJagan Teki regulator-initial-mode = <0x2>; 28024645034SJagan Teki regulator-name = "vcc3v3_sys"; 28124645034SJagan Teki regulator-state-mem { 28224645034SJagan Teki regulator-on-in-suspend; 28324645034SJagan Teki regulator-suspend-microvolt = <3300000>; 28424645034SJagan Teki }; 28524645034SJagan Teki }; 28624645034SJagan Teki 287a088c855SFUKAUMI Naoki vcc_buck5_s3: DCDC_REG5 { 28824645034SJagan Teki regulator-always-on; 28924645034SJagan Teki regulator-boot-on; 29024645034SJagan Teki regulator-min-microvolt = <3300000>; 29124645034SJagan Teki regulator-max-microvolt = <3300000>; 292a088c855SFUKAUMI Naoki regulator-name = "vcc_buck5_s3"; 29324645034SJagan Teki regulator-state-mem { 29424645034SJagan Teki regulator-on-in-suspend; 29524645034SJagan Teki regulator-suspend-microvolt = <3300000>; 29624645034SJagan Teki }; 29724645034SJagan Teki }; 29824645034SJagan Teki 299a088c855SFUKAUMI Naoki vcc_0v9_s3: LDO_REG1 { 30024645034SJagan Teki regulator-always-on; 30124645034SJagan Teki regulator-boot-on; 30224645034SJagan Teki regulator-min-microvolt = <900000>; 30324645034SJagan Teki regulator-max-microvolt = <900000>; 304a088c855SFUKAUMI Naoki regulator-name = "vcc_0v9_s3"; 30524645034SJagan Teki regulator-state-mem { 30624645034SJagan Teki regulator-off-in-suspend; 30724645034SJagan Teki }; 30824645034SJagan Teki }; 30924645034SJagan Teki 310a088c855SFUKAUMI Naoki vcc_1v8_s3: LDO_REG2 { 31124645034SJagan Teki regulator-always-on; 31224645034SJagan Teki regulator-boot-on; 31324645034SJagan Teki regulator-min-microvolt = <1800000>; 31424645034SJagan Teki regulator-max-microvolt = <1800000>; 315a088c855SFUKAUMI Naoki regulator-name = "vcc_1v8_s3"; 31624645034SJagan Teki regulator-state-mem { 31724645034SJagan Teki regulator-on-in-suspend; 31824645034SJagan Teki regulator-suspend-microvolt = <1800000>; 31924645034SJagan Teki }; 32024645034SJagan Teki }; 32124645034SJagan Teki 322a088c855SFUKAUMI Naoki vcc_0v9_s0: LDO_REG3 { 32324645034SJagan Teki regulator-always-on; 32424645034SJagan Teki regulator-boot-on; 32524645034SJagan Teki regulator-min-microvolt = <900000>; 32624645034SJagan Teki regulator-max-microvolt = <900000>; 327a088c855SFUKAUMI Naoki regulator-name = "vcc_0v9_s0"; 32824645034SJagan Teki regulator-state-mem { 32924645034SJagan Teki regulator-on-in-suspend; 33024645034SJagan Teki regulator-suspend-microvolt = <900000>; 33124645034SJagan Teki }; 33224645034SJagan Teki }; 33324645034SJagan Teki 334a088c855SFUKAUMI Naoki vcc_1v8_s0: LDO_REG4 { 33524645034SJagan Teki regulator-always-on; 33624645034SJagan Teki regulator-boot-on; 33724645034SJagan Teki regulator-min-microvolt = <1800000>; 33824645034SJagan Teki regulator-max-microvolt = <1800000>; 339a088c855SFUKAUMI Naoki regulator-name = "vcc_1v8_s0"; 34024645034SJagan Teki regulator-state-mem { 34124645034SJagan Teki regulator-off-in-suspend; 34224645034SJagan Teki }; 34324645034SJagan Teki }; 34424645034SJagan Teki 34524645034SJagan Teki vcc_mipi: LDO_REG5 { 34624645034SJagan Teki regulator-always-on; 34724645034SJagan Teki regulator-boot-on; 34824645034SJagan Teki regulator-min-microvolt = <3000000>; 34924645034SJagan Teki regulator-max-microvolt = <3000000>; 35024645034SJagan Teki regulator-name = "vcc_mipi"; 35124645034SJagan Teki regulator-state-mem { 35224645034SJagan Teki regulator-off-in-suspend; 35324645034SJagan Teki }; 35424645034SJagan Teki }; 35524645034SJagan Teki 356a088c855SFUKAUMI Naoki vcc_1v5_s0: LDO_REG6 { 35724645034SJagan Teki regulator-always-on; 35824645034SJagan Teki regulator-boot-on; 35924645034SJagan Teki regulator-min-microvolt = <1500000>; 36024645034SJagan Teki regulator-max-microvolt = <1500000>; 361a088c855SFUKAUMI Naoki regulator-name = "vcc_1v5_s0"; 36224645034SJagan Teki regulator-state-mem { 36324645034SJagan Teki regulator-off-in-suspend; 36424645034SJagan Teki }; 36524645034SJagan Teki }; 36624645034SJagan Teki 367a088c855SFUKAUMI Naoki vcc_3v0_s0: LDO_REG7 { 36824645034SJagan Teki regulator-always-on; 36924645034SJagan Teki regulator-boot-on; 37024645034SJagan Teki regulator-min-microvolt = <3000000>; 37124645034SJagan Teki regulator-max-microvolt = <3000000>; 372a088c855SFUKAUMI Naoki regulator-name = "vcc_3v0_s0"; 37324645034SJagan Teki regulator-state-mem { 37424645034SJagan Teki regulator-off-in-suspend; 37524645034SJagan Teki }; 37624645034SJagan Teki }; 37724645034SJagan Teki 378a088c855SFUKAUMI Naoki vcc_sdio_s0: LDO_REG8 { 37924645034SJagan Teki regulator-always-on; 38024645034SJagan Teki regulator-boot-on; 38124645034SJagan Teki regulator-min-microvolt = <1800000>; 38224645034SJagan Teki regulator-max-microvolt = <3300000>; 383a088c855SFUKAUMI Naoki regulator-name = "vcc_sdio_s0"; 38424645034SJagan Teki regulator-state-mem { 38524645034SJagan Teki regulator-off-in-suspend; 38624645034SJagan Teki }; 38724645034SJagan Teki }; 38824645034SJagan Teki 38924645034SJagan Teki vcc_cam: LDO_REG9 { 39024645034SJagan Teki regulator-always-on; 39124645034SJagan Teki regulator-boot-on; 39224645034SJagan Teki regulator-min-microvolt = <3300000>; 39324645034SJagan Teki regulator-max-microvolt = <3300000>; 39424645034SJagan Teki regulator-name = "vcc_cam"; 39524645034SJagan Teki regulator-state-mem { 39624645034SJagan Teki regulator-off-in-suspend; 39724645034SJagan Teki }; 39824645034SJagan Teki }; 39924645034SJagan Teki 40024645034SJagan Teki vcc5v0_host0_s0: SWITCH_REG1 { 40124645034SJagan Teki regulator-always-on; 40224645034SJagan Teki regulator-boot-on; 40324645034SJagan Teki regulator-name = "vcc5v0_host0_s0"; 40424645034SJagan Teki regulator-state-mem { 40524645034SJagan Teki regulator-on-in-suspend; 40624645034SJagan Teki }; 40724645034SJagan Teki }; 40824645034SJagan Teki 40924645034SJagan Teki lcd_3v3: SWITCH_REG2 { 41024645034SJagan Teki regulator-always-on; 41124645034SJagan Teki regulator-boot-on; 41224645034SJagan Teki regulator-name = "lcd_3v3"; 41324645034SJagan Teki regulator-state-mem { 41424645034SJagan Teki regulator-off-in-suspend; 41524645034SJagan Teki }; 41624645034SJagan Teki }; 41724645034SJagan Teki }; 41824645034SJagan Teki }; 41924645034SJagan Teki 42024645034SJagan Teki vdd_cpu_b: regulator@40 { 42124645034SJagan Teki compatible = "silergy,syr827"; 42224645034SJagan Teki reg = <0x40>; 42324645034SJagan Teki fcs,suspend-voltage-selector = <1>; 42424645034SJagan Teki regulator-compatible = "fan53555-reg"; 42524645034SJagan Teki pinctrl-0 = <&vsel1_gpio>; 42624645034SJagan Teki vsel-gpios = <&gpio1 RK_PC1 GPIO_ACTIVE_HIGH>; 42724645034SJagan Teki regulator-name = "vdd_cpu_b"; 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-state-mem { 43524645034SJagan Teki regulator-off-in-suspend; 43624645034SJagan Teki }; 43724645034SJagan Teki }; 43824645034SJagan Teki 43924645034SJagan Teki vdd_gpu: regulator@41 { 44024645034SJagan Teki compatible = "silergy,syr828"; 44124645034SJagan Teki reg = <0x41>; 44224645034SJagan Teki fcs,suspend-voltage-selector = <1>; 44324645034SJagan Teki regulator-compatible = "fan53555-reg"; 44424645034SJagan Teki pinctrl-0 = <&vsel2_gpio>; 44524645034SJagan Teki vsel-gpios = <&gpio1 RK_PB6 GPIO_ACTIVE_HIGH>; 44624645034SJagan Teki regulator-name = "vdd_gpu"; 44724645034SJagan Teki regulator-min-microvolt = <712500>; 44824645034SJagan Teki regulator-max-microvolt = <1500000>; 44924645034SJagan Teki regulator-ramp-delay = <1000>; 45024645034SJagan Teki regulator-always-on; 45124645034SJagan Teki regulator-boot-on; 45224645034SJagan Teki vin-supply = <&vcc5v0_sys>; 45324645034SJagan Teki regulator-initial-mode = <1>; /* 1:force PWM 2:auto */ 45424645034SJagan Teki regulator-state-mem { 45524645034SJagan Teki regulator-off-in-suspend; 45624645034SJagan Teki }; 45724645034SJagan Teki }; 45824645034SJagan Teki}; 45924645034SJagan Teki 46024645034SJagan Teki&i2c3 { 46124645034SJagan Teki i2c-scl-rising-time-ns = <450>; 46224645034SJagan Teki i2c-scl-falling-time-ns = <15>; 46324645034SJagan Teki status = "okay"; 46424645034SJagan Teki}; 46524645034SJagan Teki 466*174c3063SJonathan Liu&i2s0 { 467*174c3063SJonathan Liu status = "okay"; 468*174c3063SJonathan Liu}; 469*174c3063SJonathan Liu 470*174c3063SJonathan Liu&i2s0_8ch_bus { 471*174c3063SJonathan Liu rockchip,pins = 472*174c3063SJonathan Liu <3 RK_PD0 1 &pcfg_pull_none>, 473*174c3063SJonathan Liu <3 RK_PD2 1 &pcfg_pull_none>, 474*174c3063SJonathan Liu <3 RK_PD3 1 &pcfg_pull_none>, 475*174c3063SJonathan Liu <3 RK_PD7 1 &pcfg_pull_none>; 476*174c3063SJonathan Liu}; 477*174c3063SJonathan Liu 478*174c3063SJonathan Liu&i2s0_8ch_bus_bclk_off { 479*174c3063SJonathan Liu rockchip,pins = 480*174c3063SJonathan Liu <3 RK_PD0 RK_FUNC_GPIO &pcfg_pull_none>, 481*174c3063SJonathan Liu <3 RK_PD2 1 &pcfg_pull_none>, 482*174c3063SJonathan Liu <3 RK_PD3 1 &pcfg_pull_none>, 483*174c3063SJonathan Liu <3 RK_PD7 1 &pcfg_pull_none>; 484*174c3063SJonathan Liu}; 485*174c3063SJonathan Liu 48624645034SJagan Teki&i2s2 { 48724645034SJagan Teki status = "okay"; 48824645034SJagan Teki}; 48924645034SJagan Teki 49024645034SJagan Teki&io_domains { 491a088c855SFUKAUMI Naoki audio-supply = <&vcc_1v8_s0>; 492b153f26dSFUKAUMI Naoki bt656-supply = <&vcc_3v0_s0>; 493a088c855SFUKAUMI Naoki gpio1830-supply = <&vcc_3v0_s0>; 494a088c855SFUKAUMI Naoki sdmmc-supply = <&vcc_sdio_s0>; 49524645034SJagan Teki status = "okay"; 49624645034SJagan Teki}; 49724645034SJagan Teki 49824645034SJagan Teki&pinctrl { 49924645034SJagan Teki bt { 50024645034SJagan Teki bt_enable_h: bt-enable-h { 50124645034SJagan Teki rockchip,pins = <0 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>; 50224645034SJagan Teki }; 50324645034SJagan Teki 50424645034SJagan Teki bt_host_wake_l: bt-host-wake-l { 50524645034SJagan Teki rockchip,pins = <0 RK_PA4 RK_FUNC_GPIO &pcfg_pull_none>; 50624645034SJagan Teki }; 50724645034SJagan Teki 50824645034SJagan Teki bt_wake_l: bt-wake-l { 50924645034SJagan Teki rockchip,pins = <2 RK_PD3 RK_FUNC_GPIO &pcfg_pull_none>; 51024645034SJagan Teki }; 51124645034SJagan Teki }; 51224645034SJagan Teki 513*174c3063SJonathan Liu i2s0 { 514*174c3063SJonathan Liu i2s_8ch_mclk: i2s-8ch-mclk { 515*174c3063SJonathan Liu rockchip,pins = <4 RK_PA0 1 &pcfg_pull_none>; 516*174c3063SJonathan Liu }; 517*174c3063SJonathan Liu }; 518*174c3063SJonathan Liu 5196cbd7675SFUKAUMI Naoki leds { 5206cbd7675SFUKAUMI Naoki user_led1: user-led1 { 5216cbd7675SFUKAUMI Naoki rockchip,pins = <3 RK_PD4 RK_FUNC_GPIO &pcfg_pull_none>; 5226cbd7675SFUKAUMI Naoki }; 5236cbd7675SFUKAUMI Naoki 5246cbd7675SFUKAUMI Naoki user_led2: user-led2 { 5256cbd7675SFUKAUMI Naoki rockchip,pins = <3 RK_PD5 RK_FUNC_GPIO &pcfg_pull_none>; 5266cbd7675SFUKAUMI Naoki }; 5276cbd7675SFUKAUMI Naoki }; 5286cbd7675SFUKAUMI Naoki 52924645034SJagan Teki pmic { 53024645034SJagan Teki pmic_int_l: pmic-int-l { 53124645034SJagan Teki rockchip,pins = <1 RK_PC5 RK_FUNC_GPIO &pcfg_pull_up>; 53224645034SJagan Teki }; 53324645034SJagan Teki 53424645034SJagan Teki vsel1_gpio: vsel1-gpio { 53524645034SJagan Teki rockchip,pins = <1 RK_PC1 RK_FUNC_GPIO &pcfg_pull_down>; 53624645034SJagan Teki }; 53724645034SJagan Teki 53824645034SJagan Teki vsel2_gpio: vsel2-gpio { 53924645034SJagan Teki rockchip,pins = <1 RK_PB6 RK_FUNC_GPIO &pcfg_pull_down>; 54024645034SJagan Teki }; 54124645034SJagan Teki }; 54224645034SJagan Teki 54324645034SJagan Teki sdmmc { 54424645034SJagan Teki sdmmc_bus4: sdmmc-bus4 { 54524645034SJagan Teki rockchip,pins = <4 8 1 &pcfg_pull_up_8ma>, 54624645034SJagan Teki <4 9 1 &pcfg_pull_up_8ma>, 54724645034SJagan Teki <4 10 1 &pcfg_pull_up_8ma>, 54824645034SJagan Teki <4 11 1 &pcfg_pull_up_8ma>; 54924645034SJagan Teki }; 55024645034SJagan Teki 55124645034SJagan Teki sdmmc_clk: sdmmc-clk { 55224645034SJagan Teki rockchip,pins = <4 12 1 &pcfg_pull_none_18ma>; 55324645034SJagan Teki }; 55424645034SJagan Teki 55524645034SJagan Teki sdmmc_cmd: sdmmc-cmd { 55624645034SJagan Teki rockchip,pins = <4 13 1 &pcfg_pull_up_8ma>; 55724645034SJagan Teki }; 55824645034SJagan Teki }; 55924645034SJagan Teki 56024645034SJagan Teki usb-typec { 56124645034SJagan Teki vcc5v0_typec0_en: vcc5v0-typec-en { 56224645034SJagan Teki rockchip,pins = <1 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>; 56324645034SJagan Teki }; 56424645034SJagan Teki }; 56524645034SJagan Teki 56624645034SJagan Teki usb2 { 56724645034SJagan Teki vcc5v0_host_en: vcc5v0-host-en { 56824645034SJagan Teki rockchip,pins = <3 RK_PD6 RK_FUNC_GPIO &pcfg_pull_up>; 56924645034SJagan Teki }; 57024645034SJagan Teki }; 57124645034SJagan Teki 57224645034SJagan Teki wifi { 57324645034SJagan Teki wifi_enable_h: wifi-enable-h { 57424645034SJagan Teki rockchip,pins = <0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>; 57524645034SJagan Teki }; 57624645034SJagan Teki 57724645034SJagan Teki wifi_host_wake_l: wifi-host-wake-l { 57824645034SJagan Teki rockchip,pins = <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_none>; 57924645034SJagan Teki }; 58024645034SJagan Teki }; 58124645034SJagan Teki}; 58224645034SJagan Teki 58324645034SJagan Teki&pmu_io_domains { 584a088c855SFUKAUMI Naoki pmu1830-supply = <&vcc_3v0_s0>; 58524645034SJagan Teki status = "okay"; 58624645034SJagan Teki}; 58724645034SJagan Teki 58824645034SJagan Teki&saradc { 58924645034SJagan Teki status = "okay"; 590a088c855SFUKAUMI Naoki vref-supply = <&vcc_1v8_s3>; 59124645034SJagan Teki}; 59224645034SJagan Teki 59324645034SJagan Teki&sdhci { 59424645034SJagan Teki max-frequency = <150000000>; 59524645034SJagan Teki bus-width = <8>; 596c1b1f340SFolker Schwesinger mmc-hs400-1_8v; 597c1b1f340SFolker Schwesinger mmc-hs400-enhanced-strobe; 59824645034SJagan Teki non-removable; 59924645034SJagan Teki status = "okay"; 60024645034SJagan Teki}; 60124645034SJagan Teki 60224645034SJagan Teki&sdio0 { 60324645034SJagan Teki #address-cells = <1>; 60424645034SJagan Teki #size-cells = <0>; 60524645034SJagan Teki bus-width = <4>; 60624645034SJagan Teki clock-frequency = <50000000>; 60724645034SJagan Teki cap-sdio-irq; 60824645034SJagan Teki cap-sd-highspeed; 60924645034SJagan Teki keep-power-in-suspend; 61024645034SJagan Teki mmc-pwrseq = <&sdio_pwrseq>; 61124645034SJagan Teki non-removable; 61224645034SJagan Teki pinctrl-names = "default"; 61324645034SJagan Teki pinctrl-0 = <&sdio0_bus4 &sdio0_cmd &sdio0_clk>; 61424645034SJagan Teki sd-uhs-sdr104; 61524645034SJagan Teki status = "okay"; 61624645034SJagan Teki 61724645034SJagan Teki brcmf: wifi@1 { 61824645034SJagan Teki compatible = "brcm,bcm4329-fmac"; 61924645034SJagan Teki reg = <1>; 62024645034SJagan Teki interrupt-parent = <&gpio0>; 62124645034SJagan Teki interrupts = <RK_PA3 IRQ_TYPE_LEVEL_HIGH>; 62224645034SJagan Teki interrupt-names = "host-wake"; 62324645034SJagan Teki pinctrl-names = "default"; 62424645034SJagan Teki pinctrl-0 = <&wifi_host_wake_l>; 62524645034SJagan Teki }; 62624645034SJagan Teki}; 62724645034SJagan Teki 62824645034SJagan Teki&sdmmc { 62924645034SJagan Teki bus-width = <4>; 63024645034SJagan Teki cap-mmc-highspeed; 63124645034SJagan Teki cap-sd-highspeed; 63224645034SJagan Teki card-detect-delay = <800>; 63324645034SJagan Teki disable-wp; 63424645034SJagan Teki pinctrl-names = "default"; 63524645034SJagan Teki pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_bus4>; 63624645034SJagan Teki cd-gpios = <&gpio0 RK_PA7 GPIO_ACTIVE_LOW>; 637a088c855SFUKAUMI Naoki vqmmc-supply = <&vcc_sdio_s0>; 63824645034SJagan Teki status = "okay"; 63924645034SJagan Teki}; 64024645034SJagan Teki 64124645034SJagan Teki&tcphy0 { 64224645034SJagan Teki status = "okay"; 64324645034SJagan Teki}; 64424645034SJagan Teki 64524645034SJagan Teki&tcphy1 { 64624645034SJagan Teki status = "okay"; 64724645034SJagan Teki}; 64824645034SJagan Teki 6497f767e68SFUKAUMI Naoki&tsadc { 6507f767e68SFUKAUMI Naoki rockchip,hw-tshut-mode = <1>; 6517f767e68SFUKAUMI Naoki rockchip,hw-tshut-polarity = <1>; 6527f767e68SFUKAUMI Naoki status = "okay"; 6537f767e68SFUKAUMI Naoki}; 6547f767e68SFUKAUMI Naoki 65524645034SJagan Teki&u2phy0 { 65624645034SJagan Teki status = "okay"; 65724645034SJagan Teki 65824645034SJagan Teki u2phy0_otg: otg-port { 65924645034SJagan Teki status = "okay"; 66024645034SJagan Teki }; 66124645034SJagan Teki 66224645034SJagan Teki u2phy0_host: host-port { 66324645034SJagan Teki phy-supply = <&vcc5v0_host1>; 66424645034SJagan Teki status = "okay"; 66524645034SJagan Teki }; 66624645034SJagan Teki}; 66724645034SJagan Teki 66824645034SJagan Teki&u2phy1 { 66924645034SJagan Teki status = "okay"; 67024645034SJagan Teki 67124645034SJagan Teki u2phy1_otg: otg-port { 67224645034SJagan Teki status = "okay"; 67324645034SJagan Teki }; 67424645034SJagan Teki 67524645034SJagan Teki u2phy1_host: host-port { 67624645034SJagan Teki phy-supply = <&vcc5v0_host1>; 67724645034SJagan Teki status = "okay"; 67824645034SJagan Teki }; 67924645034SJagan Teki}; 68024645034SJagan Teki 68124645034SJagan Teki&uart0 { 68224645034SJagan Teki pinctrl-names = "default"; 68324645034SJagan Teki pinctrl-0 = <&uart0_xfer &uart0_cts &uart0_rts>; 68424645034SJagan Teki status = "okay"; 68524645034SJagan Teki 68624645034SJagan Teki bluetooth { 68724645034SJagan Teki compatible = "brcm,bcm4345c5"; 68824645034SJagan Teki clocks = <&rk809 1>; 68924645034SJagan Teki clock-names = "lpo"; 69024645034SJagan Teki device-wakeup-gpios = <&gpio2 RK_PD3 GPIO_ACTIVE_HIGH>; 69124645034SJagan Teki host-wakeup-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_HIGH>; 69224645034SJagan Teki shutdown-gpios = <&gpio0 RK_PB1 GPIO_ACTIVE_HIGH>; 69324645034SJagan Teki max-speed = <1500000>; 69424645034SJagan Teki pinctrl-names = "default"; 69524645034SJagan Teki pinctrl-0 = <&bt_host_wake_l &bt_wake_l &bt_enable_h>; 69624645034SJagan Teki vbat-supply = <&vcc3v3_sys>; 697a088c855SFUKAUMI Naoki vddio-supply = <&vcc_1v8_s3>; 69824645034SJagan Teki }; 69924645034SJagan Teki}; 70024645034SJagan Teki 70124645034SJagan Teki&uart2 { 70224645034SJagan Teki status = "okay"; 70324645034SJagan Teki}; 70424645034SJagan Teki 70524645034SJagan Teki&usb_host0_ehci { 70624645034SJagan Teki status = "okay"; 70724645034SJagan Teki}; 70824645034SJagan Teki 70924645034SJagan Teki&usb_host0_ohci { 71024645034SJagan Teki status = "okay"; 71124645034SJagan Teki}; 71224645034SJagan Teki 71324645034SJagan Teki&usb_host1_ehci { 71424645034SJagan Teki status = "okay"; 71524645034SJagan Teki}; 71624645034SJagan Teki 71724645034SJagan Teki&usb_host1_ohci { 71824645034SJagan Teki status = "okay"; 71924645034SJagan Teki}; 72024645034SJagan Teki 72124645034SJagan Teki&usbdrd3_0 { 72224645034SJagan Teki extcon = <&u2phy0>; 72324645034SJagan Teki status = "okay"; 72424645034SJagan Teki}; 72524645034SJagan Teki 72624645034SJagan Teki&usbdrd_dwc3_0 { 72724645034SJagan Teki status = "okay"; 72824645034SJagan Teki dr_mode = "host"; 72924645034SJagan Teki}; 73024645034SJagan Teki 73124645034SJagan Teki&usbdrd3_1 { 73224645034SJagan Teki status = "okay"; 73324645034SJagan Teki}; 73424645034SJagan Teki 73524645034SJagan Teki&usbdrd_dwc3_1 { 73624645034SJagan Teki status = "okay"; 73724645034SJagan Teki dr_mode = "host"; 73824645034SJagan Teki}; 73924645034SJagan Teki 74024645034SJagan Teki&vopb { 74124645034SJagan Teki status = "okay"; 74224645034SJagan Teki}; 74324645034SJagan Teki 74424645034SJagan Teki&vopb_mmu { 74524645034SJagan Teki status = "okay"; 74624645034SJagan Teki}; 74724645034SJagan Teki 74824645034SJagan Teki&vopl { 74924645034SJagan Teki status = "okay"; 75024645034SJagan Teki}; 75124645034SJagan Teki 75224645034SJagan Teki&vopl_mmu { 75324645034SJagan Teki status = "okay"; 75424645034SJagan Teki}; 755