xref: /freebsd/sys/contrib/device-tree/src/arm64/rockchip/rk3588-armsom-w3.dts (revision ae5de77ed78ae54d86cead5604869212e8008e6b)
15f62a964SEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
25f62a964SEmmanuel Vadot
35f62a964SEmmanuel Vadot/dts-v1/;
45f62a964SEmmanuel Vadot
55f62a964SEmmanuel Vadot#include <dt-bindings/gpio/gpio.h>
65f62a964SEmmanuel Vadot#include <dt-bindings/leds/common.h>
7*ae5de77eSEmmanuel Vadot#include <dt-bindings/soc/rockchip,vop2.h>
85f62a964SEmmanuel Vadot#include "rk3588-armsom-lm7.dtsi"
95f62a964SEmmanuel Vadot
105f62a964SEmmanuel Vadot/ {
115f62a964SEmmanuel Vadot	model = "ArmSoM W3";
125f62a964SEmmanuel Vadot	compatible = "armsom,w3", "armsom,lm7", "rockchip,rk3588";
135f62a964SEmmanuel Vadot
145f62a964SEmmanuel Vadot	aliases {
155f62a964SEmmanuel Vadot		mmc1 = &sdmmc;
165f62a964SEmmanuel Vadot		mmc2 = &sdio;
175f62a964SEmmanuel Vadot	};
185f62a964SEmmanuel Vadot
195f62a964SEmmanuel Vadot	analog-sound {
205f62a964SEmmanuel Vadot		compatible = "audio-graph-card";
215f62a964SEmmanuel Vadot		label = "rk3588-es8316";
225f62a964SEmmanuel Vadot
235f62a964SEmmanuel Vadot		widgets = "Microphone", "Mic Jack",
245f62a964SEmmanuel Vadot			  "Headphone", "Headphones";
255f62a964SEmmanuel Vadot
265f62a964SEmmanuel Vadot		routing = "MIC2", "Mic Jack",
275f62a964SEmmanuel Vadot			  "Headphones", "HPOL",
285f62a964SEmmanuel Vadot			  "Headphones", "HPOR";
295f62a964SEmmanuel Vadot
305f62a964SEmmanuel Vadot		dais = <&i2s0_8ch_p0>;
315f62a964SEmmanuel Vadot		hp-det-gpio = <&gpio1 RK_PD5 GPIO_ACTIVE_HIGH>;
325f62a964SEmmanuel Vadot		pinctrl-names = "default";
335f62a964SEmmanuel Vadot		pinctrl-0 = <&hp_detect>;
345f62a964SEmmanuel Vadot	};
355f62a964SEmmanuel Vadot
36*ae5de77eSEmmanuel Vadot	hdmi0-con {
37*ae5de77eSEmmanuel Vadot		compatible = "hdmi-connector";
38*ae5de77eSEmmanuel Vadot		type = "a";
39*ae5de77eSEmmanuel Vadot
40*ae5de77eSEmmanuel Vadot		port {
41*ae5de77eSEmmanuel Vadot			hdmi0_con_in: endpoint {
42*ae5de77eSEmmanuel Vadot				remote-endpoint = <&hdmi0_out_con>;
43*ae5de77eSEmmanuel Vadot			};
44*ae5de77eSEmmanuel Vadot		};
45*ae5de77eSEmmanuel Vadot	};
46*ae5de77eSEmmanuel Vadot
47*ae5de77eSEmmanuel Vadot	hdmi1-con {
48*ae5de77eSEmmanuel Vadot		compatible = "hdmi-connector";
49*ae5de77eSEmmanuel Vadot		type = "a";
50*ae5de77eSEmmanuel Vadot
51*ae5de77eSEmmanuel Vadot		port {
52*ae5de77eSEmmanuel Vadot			hdmi1_con_in: endpoint {
53*ae5de77eSEmmanuel Vadot				remote-endpoint = <&hdmi1_out_con>;
54*ae5de77eSEmmanuel Vadot			};
55*ae5de77eSEmmanuel Vadot		};
56*ae5de77eSEmmanuel Vadot	};
57*ae5de77eSEmmanuel Vadot
585f62a964SEmmanuel Vadot	leds {
595f62a964SEmmanuel Vadot		compatible = "gpio-leds";
605f62a964SEmmanuel Vadot		pinctrl-names = "default";
615f62a964SEmmanuel Vadot		pinctrl-0 = <&led_rgb_b>;
625f62a964SEmmanuel Vadot
635f62a964SEmmanuel Vadot		led-rgb-b {
645f62a964SEmmanuel Vadot			function = LED_FUNCTION_STATUS;
655f62a964SEmmanuel Vadot			color = <LED_COLOR_ID_BLUE>;
665f62a964SEmmanuel Vadot			gpios = <&gpio0 RK_PB7 GPIO_ACTIVE_HIGH>;
675f62a964SEmmanuel Vadot			linux,default-trigger = "heartbeat";
685f62a964SEmmanuel Vadot		};
695f62a964SEmmanuel Vadot
705f62a964SEmmanuel Vadot		led-rgb-r {
715f62a964SEmmanuel Vadot			function = LED_FUNCTION_STATUS;
725f62a964SEmmanuel Vadot			color = <LED_COLOR_ID_RED>;
735f62a964SEmmanuel Vadot			gpios = <&gpio4 RK_PC5 GPIO_ACTIVE_HIGH>;
745f62a964SEmmanuel Vadot			linux,default-trigger = "none";
755f62a964SEmmanuel Vadot		};
765f62a964SEmmanuel Vadot	};
775f62a964SEmmanuel Vadot
785f62a964SEmmanuel Vadot	fan: pwm-fan {
795f62a964SEmmanuel Vadot		compatible = "pwm-fan";
805f62a964SEmmanuel Vadot		cooling-levels = <0 120 150 180 210 240 255>;
815f62a964SEmmanuel Vadot		fan-supply = <&vcc5v0_sys>;
825f62a964SEmmanuel Vadot		pwms = <&pwm1 0 50000 0>;
835f62a964SEmmanuel Vadot		#cooling-cells = <2>;
845f62a964SEmmanuel Vadot	};
855f62a964SEmmanuel Vadot
865f62a964SEmmanuel Vadot	rfkill {
875f62a964SEmmanuel Vadot		compatible = "rfkill-gpio";
885f62a964SEmmanuel Vadot		label = "rfkill-pcie-wlan";
895f62a964SEmmanuel Vadot		radio-type = "wlan";
905f62a964SEmmanuel Vadot		shutdown-gpios = <&gpio4 RK_PA2 GPIO_ACTIVE_HIGH>;
915f62a964SEmmanuel Vadot	};
925f62a964SEmmanuel Vadot
935f62a964SEmmanuel Vadot	rfkill-bt {
945f62a964SEmmanuel Vadot		compatible = "rfkill-gpio";
955f62a964SEmmanuel Vadot		label = "rfkill-m2-bt";
965f62a964SEmmanuel Vadot		radio-type = "bluetooth";
975f62a964SEmmanuel Vadot		shutdown-gpios = <&gpio3 RK_PD5 GPIO_ACTIVE_HIGH>;
985f62a964SEmmanuel Vadot	};
995f62a964SEmmanuel Vadot
1005f62a964SEmmanuel Vadot	vcc3v3_pcie2x1l0: regulator-vcc3v3-pcie2x1l0 {
1015f62a964SEmmanuel Vadot		compatible = "regulator-fixed";
1025f62a964SEmmanuel Vadot		enable-active-high;
1035f62a964SEmmanuel Vadot		gpios = <&gpio1 RK_PD2 GPIO_ACTIVE_HIGH>;
1045f62a964SEmmanuel Vadot		pinctrl-names = "default";
1055f62a964SEmmanuel Vadot		pinctrl-0 = <&pcie2_0_vcc3v3_en>;
1065f62a964SEmmanuel Vadot		regulator-name = "vcc3v3_pcie2x1l0";
1075f62a964SEmmanuel Vadot		regulator-always-on;
1085f62a964SEmmanuel Vadot		regulator-boot-on;
1095f62a964SEmmanuel Vadot		regulator-min-microvolt = <3300000>;
1105f62a964SEmmanuel Vadot		regulator-max-microvolt = <3300000>;
1115f62a964SEmmanuel Vadot		startup-delay-us = <50000>;
1125f62a964SEmmanuel Vadot		vin-supply = <&vcc5v0_sys>;
1135f62a964SEmmanuel Vadot	};
1145f62a964SEmmanuel Vadot
1155f62a964SEmmanuel Vadot	vcc3v3_pcie2x1l2: regulator-vcc3v3-pcie2x1l2 {
1165f62a964SEmmanuel Vadot		compatible = "regulator-fixed";
1175f62a964SEmmanuel Vadot		regulator-name = "vcc3v3_pcie2x1l2";
1185f62a964SEmmanuel Vadot		regulator-min-microvolt = <3300000>;
1195f62a964SEmmanuel Vadot		regulator-max-microvolt = <3300000>;
1205f62a964SEmmanuel Vadot		startup-delay-us = <5000>;
1215f62a964SEmmanuel Vadot		vin-supply = <&vcc_3v3_s3>;
1225f62a964SEmmanuel Vadot	};
1235f62a964SEmmanuel Vadot
1245f62a964SEmmanuel Vadot	vcc3v3_pcie30: regulator-vcc3v3-pcie30 {
1255f62a964SEmmanuel Vadot		compatible = "regulator-fixed";
1265f62a964SEmmanuel Vadot		enable-active-high;
1275f62a964SEmmanuel Vadot		gpios = <&gpio1 RK_PA4 GPIO_ACTIVE_HIGH>;
1285f62a964SEmmanuel Vadot		pinctrl-names = "default";
1295f62a964SEmmanuel Vadot		pinctrl-0 = <&pcie3_vcc3v3_en>;
1305f62a964SEmmanuel Vadot		regulator-name = "vcc3v3_pcie30";
1315f62a964SEmmanuel Vadot		regulator-min-microvolt = <3300000>;
1325f62a964SEmmanuel Vadot		regulator-max-microvolt = <3300000>;
1335f62a964SEmmanuel Vadot		startup-delay-us = <5000>;
1345f62a964SEmmanuel Vadot		vin-supply = <&vcc5v0_sys>;
1355f62a964SEmmanuel Vadot	};
1365f62a964SEmmanuel Vadot
1375f62a964SEmmanuel Vadot	vcc5v0_host: regulator-vcc5v0-host {
1385f62a964SEmmanuel Vadot		compatible = "regulator-fixed";
1395f62a964SEmmanuel Vadot		regulator-name = "vcc5v0_host";
1405f62a964SEmmanuel Vadot		regulator-boot-on;
1415f62a964SEmmanuel Vadot		regulator-always-on;
1425f62a964SEmmanuel Vadot		regulator-min-microvolt = <5000000>;
1435f62a964SEmmanuel Vadot		regulator-max-microvolt = <5000000>;
1445f62a964SEmmanuel Vadot		enable-active-high;
1455f62a964SEmmanuel Vadot		gpio = <&gpio4 RK_PB0 GPIO_ACTIVE_HIGH>;
1465f62a964SEmmanuel Vadot		pinctrl-names = "default";
1475f62a964SEmmanuel Vadot		pinctrl-0 = <&vcc5v0_host_en>;
1485f62a964SEmmanuel Vadot		vin-supply = <&vcc5v0_sys>;
1495f62a964SEmmanuel Vadot	};
1505f62a964SEmmanuel Vadot};
1515f62a964SEmmanuel Vadot
1525f62a964SEmmanuel Vadot&combphy0_ps {
1535f62a964SEmmanuel Vadot	status = "okay";
1545f62a964SEmmanuel Vadot};
1555f62a964SEmmanuel Vadot
1565f62a964SEmmanuel Vadot&combphy1_ps {
1575f62a964SEmmanuel Vadot	status = "okay";
1585f62a964SEmmanuel Vadot};
1595f62a964SEmmanuel Vadot
1605f62a964SEmmanuel Vadot&combphy2_psu {
1615f62a964SEmmanuel Vadot	status = "okay";
1625f62a964SEmmanuel Vadot};
1635f62a964SEmmanuel Vadot
164*ae5de77eSEmmanuel Vadot&hdmi0 {
165*ae5de77eSEmmanuel Vadot	status = "okay";
166*ae5de77eSEmmanuel Vadot};
167*ae5de77eSEmmanuel Vadot
168*ae5de77eSEmmanuel Vadot&hdmi0_in {
169*ae5de77eSEmmanuel Vadot	hdmi0_in_vp0: endpoint {
170*ae5de77eSEmmanuel Vadot		remote-endpoint = <&vp0_out_hdmi0>;
171*ae5de77eSEmmanuel Vadot	};
172*ae5de77eSEmmanuel Vadot};
173*ae5de77eSEmmanuel Vadot
174*ae5de77eSEmmanuel Vadot&hdmi0_out {
175*ae5de77eSEmmanuel Vadot	hdmi0_out_con: endpoint {
176*ae5de77eSEmmanuel Vadot		remote-endpoint = <&hdmi0_con_in>;
177*ae5de77eSEmmanuel Vadot	};
178*ae5de77eSEmmanuel Vadot};
179*ae5de77eSEmmanuel Vadot
180*ae5de77eSEmmanuel Vadot&hdmi0_sound {
181*ae5de77eSEmmanuel Vadot	status = "okay";
182*ae5de77eSEmmanuel Vadot};
183*ae5de77eSEmmanuel Vadot
184*ae5de77eSEmmanuel Vadot&hdmi1 {
185*ae5de77eSEmmanuel Vadot	status = "okay";
186*ae5de77eSEmmanuel Vadot};
187*ae5de77eSEmmanuel Vadot
188*ae5de77eSEmmanuel Vadot&hdmi1_in {
189*ae5de77eSEmmanuel Vadot	hdmi1_in_vp1: endpoint {
190*ae5de77eSEmmanuel Vadot		remote-endpoint = <&vp1_out_hdmi1>;
191*ae5de77eSEmmanuel Vadot	};
192*ae5de77eSEmmanuel Vadot};
193*ae5de77eSEmmanuel Vadot
194*ae5de77eSEmmanuel Vadot&hdmi1_out {
195*ae5de77eSEmmanuel Vadot	hdmi1_out_con: endpoint {
196*ae5de77eSEmmanuel Vadot		remote-endpoint = <&hdmi1_con_in>;
197*ae5de77eSEmmanuel Vadot	};
198*ae5de77eSEmmanuel Vadot};
199*ae5de77eSEmmanuel Vadot
200*ae5de77eSEmmanuel Vadot&hdmi1_sound {
201*ae5de77eSEmmanuel Vadot	status = "okay";
202*ae5de77eSEmmanuel Vadot};
203*ae5de77eSEmmanuel Vadot
204*ae5de77eSEmmanuel Vadot&hdptxphy0 {
205*ae5de77eSEmmanuel Vadot	status = "okay";
206*ae5de77eSEmmanuel Vadot};
207*ae5de77eSEmmanuel Vadot
208*ae5de77eSEmmanuel Vadot&hdptxphy1 {
209*ae5de77eSEmmanuel Vadot	status = "okay";
210*ae5de77eSEmmanuel Vadot};
211*ae5de77eSEmmanuel Vadot
2125f62a964SEmmanuel Vadot&i2c6 {
2135f62a964SEmmanuel Vadot	status = "okay";
2145f62a964SEmmanuel Vadot
2155f62a964SEmmanuel Vadot	hym8563: rtc@51 {
2165f62a964SEmmanuel Vadot		compatible = "haoyu,hym8563";
2175f62a964SEmmanuel Vadot		reg = <0x51>;
2185f62a964SEmmanuel Vadot		#clock-cells = <0>;
2195f62a964SEmmanuel Vadot		clock-output-names = "hym8563";
2205f62a964SEmmanuel Vadot		pinctrl-names = "default";
2215f62a964SEmmanuel Vadot		pinctrl-0 = <&hym8563_int>;
2225f62a964SEmmanuel Vadot		interrupt-parent = <&gpio0>;
2235f62a964SEmmanuel Vadot		interrupts = <RK_PB0 IRQ_TYPE_LEVEL_LOW>;
2245f62a964SEmmanuel Vadot		wakeup-source;
2255f62a964SEmmanuel Vadot	};
2265f62a964SEmmanuel Vadot};
2275f62a964SEmmanuel Vadot
2285f62a964SEmmanuel Vadot&i2c7 {
2295f62a964SEmmanuel Vadot	status = "okay";
2305f62a964SEmmanuel Vadot
2315f62a964SEmmanuel Vadot	es8316: audio-codec@11 {
2325f62a964SEmmanuel Vadot		compatible = "everest,es8316";
2335f62a964SEmmanuel Vadot		reg = <0x11>;
2345f62a964SEmmanuel Vadot		clocks = <&cru I2S0_8CH_MCLKOUT>;
2355f62a964SEmmanuel Vadot		clock-names = "mclk";
2365f62a964SEmmanuel Vadot		assigned-clocks = <&cru I2S0_8CH_MCLKOUT>;
2375f62a964SEmmanuel Vadot		assigned-clock-rates = <12288000>;
2385f62a964SEmmanuel Vadot		#sound-dai-cells = <0>;
2395f62a964SEmmanuel Vadot
2405f62a964SEmmanuel Vadot		port {
2415f62a964SEmmanuel Vadot			es8316_p0_0: endpoint {
2425f62a964SEmmanuel Vadot				remote-endpoint = <&i2s0_8ch_p0_0>;
2435f62a964SEmmanuel Vadot			};
2445f62a964SEmmanuel Vadot		};
2455f62a964SEmmanuel Vadot	};
2465f62a964SEmmanuel Vadot};
2475f62a964SEmmanuel Vadot
2485f62a964SEmmanuel Vadot&i2s0_8ch {
2495f62a964SEmmanuel Vadot	pinctrl-names = "default";
2505f62a964SEmmanuel Vadot	pinctrl-0 = <&i2s0_lrck
2515f62a964SEmmanuel Vadot		     &i2s0_mclk
2525f62a964SEmmanuel Vadot		     &i2s0_sclk
2535f62a964SEmmanuel Vadot		     &i2s0_sdi0
2545f62a964SEmmanuel Vadot		     &i2s0_sdo0>;
2555f62a964SEmmanuel Vadot	status = "okay";
2565f62a964SEmmanuel Vadot
2575f62a964SEmmanuel Vadot	i2s0_8ch_p0: port {
2585f62a964SEmmanuel Vadot		i2s0_8ch_p0_0: endpoint {
2595f62a964SEmmanuel Vadot			dai-format = "i2s";
2605f62a964SEmmanuel Vadot			mclk-fs = <256>;
2615f62a964SEmmanuel Vadot			remote-endpoint = <&es8316_p0_0>;
2625f62a964SEmmanuel Vadot		};
2635f62a964SEmmanuel Vadot	};
2645f62a964SEmmanuel Vadot};
2655f62a964SEmmanuel Vadot
266*ae5de77eSEmmanuel Vadot&i2s5_8ch {
267*ae5de77eSEmmanuel Vadot	status = "okay";
268*ae5de77eSEmmanuel Vadot};
269*ae5de77eSEmmanuel Vadot
270*ae5de77eSEmmanuel Vadot&i2s6_8ch {
271*ae5de77eSEmmanuel Vadot	status = "okay";
272*ae5de77eSEmmanuel Vadot};
273*ae5de77eSEmmanuel Vadot
2745f62a964SEmmanuel Vadot&package_thermal {
2755f62a964SEmmanuel Vadot	polling-delay = <1000>;
2765f62a964SEmmanuel Vadot
2775f62a964SEmmanuel Vadot	trips {
2785f62a964SEmmanuel Vadot		package_fan0: package-fan0 {
2795f62a964SEmmanuel Vadot			temperature = <55000>;
2805f62a964SEmmanuel Vadot			hysteresis = <2000>;
2815f62a964SEmmanuel Vadot			type = "active";
2825f62a964SEmmanuel Vadot		};
2835f62a964SEmmanuel Vadot
2845f62a964SEmmanuel Vadot		package_fan1: package-fan1 {
2855f62a964SEmmanuel Vadot			temperature = <65000>;
2865f62a964SEmmanuel Vadot			hysteresis = <2000>;
2875f62a964SEmmanuel Vadot			type = "active";
2885f62a964SEmmanuel Vadot		};
2895f62a964SEmmanuel Vadot	};
2905f62a964SEmmanuel Vadot
2915f62a964SEmmanuel Vadot	cooling-maps {
2925f62a964SEmmanuel Vadot		map0 {
2935f62a964SEmmanuel Vadot			trip = <&package_fan0>;
2945f62a964SEmmanuel Vadot			cooling-device = <&fan THERMAL_NO_LIMIT 1>;
2955f62a964SEmmanuel Vadot		};
2965f62a964SEmmanuel Vadot
2975f62a964SEmmanuel Vadot		map1 {
2985f62a964SEmmanuel Vadot			trip = <&package_fan1>;
2995f62a964SEmmanuel Vadot			cooling-device = <&fan 2 THERMAL_NO_LIMIT>;
3005f62a964SEmmanuel Vadot		};
3015f62a964SEmmanuel Vadot	};
3025f62a964SEmmanuel Vadot};
3035f62a964SEmmanuel Vadot
3045f62a964SEmmanuel Vadot&pcie2x1l0 {
3055f62a964SEmmanuel Vadot	pinctrl-names = "default";
3065f62a964SEmmanuel Vadot	pinctrl-0 = <&pcie2_0_rst>;
3075f62a964SEmmanuel Vadot	reset-gpios = <&gpio4 RK_PA5 GPIO_ACTIVE_HIGH>;
3085f62a964SEmmanuel Vadot	vpcie3v3-supply = <&vcc3v3_pcie2x1l0>;
3095f62a964SEmmanuel Vadot	status = "okay";
3105f62a964SEmmanuel Vadot};
3115f62a964SEmmanuel Vadot
3125f62a964SEmmanuel Vadot&pcie2x1l2 {
3135f62a964SEmmanuel Vadot	pinctrl-names = "default";
3145f62a964SEmmanuel Vadot	pinctrl-0 = <&pcie2_2_rst>;
3155f62a964SEmmanuel Vadot	reset-gpios = <&gpio3 RK_PB0 GPIO_ACTIVE_HIGH>;
3165f62a964SEmmanuel Vadot	vpcie3v3-supply = <&vcc3v3_pcie2x1l2>;
3175f62a964SEmmanuel Vadot	status = "okay";
3185f62a964SEmmanuel Vadot};
3195f62a964SEmmanuel Vadot
3205f62a964SEmmanuel Vadot&pcie30phy {
3215f62a964SEmmanuel Vadot	status = "okay";
3225f62a964SEmmanuel Vadot};
3235f62a964SEmmanuel Vadot
3245f62a964SEmmanuel Vadot&pcie3x4 {
3255f62a964SEmmanuel Vadot	pinctrl-names = "default";
3265f62a964SEmmanuel Vadot	pinctrl-0 = <&pcie3_rst>;
3275f62a964SEmmanuel Vadot	reset-gpios = <&gpio4 RK_PB6 GPIO_ACTIVE_HIGH>;
3285f62a964SEmmanuel Vadot	vpcie3v3-supply = <&vcc3v3_pcie30>;
3295f62a964SEmmanuel Vadot	status = "okay";
3305f62a964SEmmanuel Vadot};
3315f62a964SEmmanuel Vadot
3325f62a964SEmmanuel Vadot&pinctrl {
3335f62a964SEmmanuel Vadot	hym8563 {
3345f62a964SEmmanuel Vadot		hym8563_int: hym8563-int {
3355f62a964SEmmanuel Vadot			rockchip,pins = <0 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>;
3365f62a964SEmmanuel Vadot		};
3375f62a964SEmmanuel Vadot	};
3385f62a964SEmmanuel Vadot
3395f62a964SEmmanuel Vadot	leds {
3405f62a964SEmmanuel Vadot		led_rgb_b: led-rgb-b {
3415f62a964SEmmanuel Vadot			rockchip,pins = <0 RK_PB7 RK_FUNC_GPIO &pcfg_pull_none>;
3425f62a964SEmmanuel Vadot		};
3435f62a964SEmmanuel Vadot	};
3445f62a964SEmmanuel Vadot
3455f62a964SEmmanuel Vadot	sound {
3465f62a964SEmmanuel Vadot		hp_detect: hp-detect {
3475f62a964SEmmanuel Vadot			rockchip,pins = <1 RK_PD5 RK_FUNC_GPIO &pcfg_pull_none>;
3485f62a964SEmmanuel Vadot		};
3495f62a964SEmmanuel Vadot	};
3505f62a964SEmmanuel Vadot
3515f62a964SEmmanuel Vadot	pcie2 {
3525f62a964SEmmanuel Vadot		pcie2_0_rst: pcie2-0-rst {
3535f62a964SEmmanuel Vadot			rockchip,pins = <4 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>;
3545f62a964SEmmanuel Vadot		};
3555f62a964SEmmanuel Vadot
3565f62a964SEmmanuel Vadot		pcie2_0_vcc3v3_en: pcie2-0-vcc-en {
3575f62a964SEmmanuel Vadot			rockchip,pins = <1 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>;
3585f62a964SEmmanuel Vadot		};
3595f62a964SEmmanuel Vadot
3605f62a964SEmmanuel Vadot		pcie2_2_rst: pcie2-2-rst {
3615f62a964SEmmanuel Vadot			rockchip,pins = <3 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>;
3625f62a964SEmmanuel Vadot		};
3635f62a964SEmmanuel Vadot	};
3645f62a964SEmmanuel Vadot
3655f62a964SEmmanuel Vadot	pcie3 {
3665f62a964SEmmanuel Vadot		pcie3_rst: pcie3-rst {
3675f62a964SEmmanuel Vadot			rockchip,pins = <4 RK_PB6 RK_FUNC_GPIO &pcfg_pull_none>;
3685f62a964SEmmanuel Vadot		};
3695f62a964SEmmanuel Vadot
3705f62a964SEmmanuel Vadot		pcie3_vcc3v3_en: pcie3-vcc3v3-en {
3715f62a964SEmmanuel Vadot			rockchip,pins = <1 RK_PA4 RK_FUNC_GPIO &pcfg_pull_none>;
3725f62a964SEmmanuel Vadot		};
3735f62a964SEmmanuel Vadot	};
3745f62a964SEmmanuel Vadot
3755f62a964SEmmanuel Vadot	usb {
3765f62a964SEmmanuel Vadot		vcc5v0_host_en: vcc5v0-host-en {
3775f62a964SEmmanuel Vadot			rockchip,pins = <4 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>;
3785f62a964SEmmanuel Vadot		};
3795f62a964SEmmanuel Vadot	};
3805f62a964SEmmanuel Vadot};
3815f62a964SEmmanuel Vadot
3825f62a964SEmmanuel Vadot&pwm1 {
3835f62a964SEmmanuel Vadot	status = "okay";
3845f62a964SEmmanuel Vadot};
3855f62a964SEmmanuel Vadot
3865f62a964SEmmanuel Vadot&sdmmc {
3875f62a964SEmmanuel Vadot	bus-width = <4>;
3885f62a964SEmmanuel Vadot	cap-mmc-highspeed;
3895f62a964SEmmanuel Vadot	cap-sd-highspeed;
3905f62a964SEmmanuel Vadot	cd-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_LOW>;
3915f62a964SEmmanuel Vadot	disable-wp;
3925f62a964SEmmanuel Vadot	max-frequency = <200000000>;
3935f62a964SEmmanuel Vadot	no-sdio;
3945f62a964SEmmanuel Vadot	no-mmc;
3955f62a964SEmmanuel Vadot	sd-uhs-sdr104;
3965f62a964SEmmanuel Vadot	vmmc-supply = <&vcc_3v3_s3>;
3975f62a964SEmmanuel Vadot	vqmmc-supply = <&vccio_sd_s0>;
3985f62a964SEmmanuel Vadot	status = "okay";
3995f62a964SEmmanuel Vadot};
4005f62a964SEmmanuel Vadot
4015f62a964SEmmanuel Vadot&sdio {
4025f62a964SEmmanuel Vadot	bus-width = <4>;
4035f62a964SEmmanuel Vadot	cap-sdio-irq;
4045f62a964SEmmanuel Vadot	disable-wp;
4055f62a964SEmmanuel Vadot	keep-power-in-suspend;
4065f62a964SEmmanuel Vadot	max-frequency = <200000000>;
4075f62a964SEmmanuel Vadot	no-sd;
4085f62a964SEmmanuel Vadot	no-mmc;
4095f62a964SEmmanuel Vadot	non-removable;
4105f62a964SEmmanuel Vadot	pinctrl-names = "default";
4115f62a964SEmmanuel Vadot	pinctrl-0 = <&sdiom0_pins>;
4125f62a964SEmmanuel Vadot	sd-uhs-sdr12;
4135f62a964SEmmanuel Vadot	sd-uhs-sdr25;
4145f62a964SEmmanuel Vadot	sd-uhs-sdr50;
4155f62a964SEmmanuel Vadot	sd-uhs-sdr104;
4165f62a964SEmmanuel Vadot	vmmc-supply = <&vcc3v3_pcie2x1l0>;
4175f62a964SEmmanuel Vadot	vqmmc-supply = <&vcc_1v8_s3>;
4185f62a964SEmmanuel Vadot	wakeup-source;
4195f62a964SEmmanuel Vadot	status = "okay";
4205f62a964SEmmanuel Vadot};
4215f62a964SEmmanuel Vadot
4225f62a964SEmmanuel Vadot&uart2 {
4235f62a964SEmmanuel Vadot	pinctrl-0 = <&uart2m0_xfer>;
4245f62a964SEmmanuel Vadot	status = "okay";
4255f62a964SEmmanuel Vadot};
4265f62a964SEmmanuel Vadot
4275f62a964SEmmanuel Vadot&uart6 {
4285f62a964SEmmanuel Vadot	pinctrl-names = "default";
4295f62a964SEmmanuel Vadot	pinctrl-0 = <&uart6m1_xfer &uart6m1_ctsn &uart6m1_rtsn>;
4305f62a964SEmmanuel Vadot	status = "okay";
4315f62a964SEmmanuel Vadot};
4325f62a964SEmmanuel Vadot
4335f62a964SEmmanuel Vadot&u2phy1 {
4345f62a964SEmmanuel Vadot	status = "okay";
4355f62a964SEmmanuel Vadot};
4365f62a964SEmmanuel Vadot
4375f62a964SEmmanuel Vadot&u2phy1_otg {
4385f62a964SEmmanuel Vadot	status = "okay";
4395f62a964SEmmanuel Vadot};
4405f62a964SEmmanuel Vadot
4415f62a964SEmmanuel Vadot&u2phy2 {
4425f62a964SEmmanuel Vadot	status = "okay";
4435f62a964SEmmanuel Vadot};
4445f62a964SEmmanuel Vadot
4455f62a964SEmmanuel Vadot&u2phy2_host {
4465f62a964SEmmanuel Vadot	/* connected to USB hub, which is powered by vcc5v0_sys */
4475f62a964SEmmanuel Vadot	phy-supply = <&vcc5v0_sys>;
4485f62a964SEmmanuel Vadot	status = "okay";
4495f62a964SEmmanuel Vadot};
4505f62a964SEmmanuel Vadot
4515f62a964SEmmanuel Vadot&u2phy3 {
4525f62a964SEmmanuel Vadot	status = "okay";
4535f62a964SEmmanuel Vadot};
4545f62a964SEmmanuel Vadot
4555f62a964SEmmanuel Vadot&u2phy3_host {
4565f62a964SEmmanuel Vadot	phy-supply = <&vcc5v0_host>;
4575f62a964SEmmanuel Vadot	status = "okay";
4585f62a964SEmmanuel Vadot};
4595f62a964SEmmanuel Vadot
4605f62a964SEmmanuel Vadot&usbdp_phy1 {
4615f62a964SEmmanuel Vadot	status = "okay";
4625f62a964SEmmanuel Vadot};
4635f62a964SEmmanuel Vadot
4645f62a964SEmmanuel Vadot&usb_host0_ehci {
4655f62a964SEmmanuel Vadot	status = "okay";
4665f62a964SEmmanuel Vadot};
4675f62a964SEmmanuel Vadot
4685f62a964SEmmanuel Vadot&usb_host0_ohci {
4695f62a964SEmmanuel Vadot	status = "okay";
4705f62a964SEmmanuel Vadot};
4715f62a964SEmmanuel Vadot
4725f62a964SEmmanuel Vadot&usb_host1_ehci {
4735f62a964SEmmanuel Vadot	status = "okay";
4745f62a964SEmmanuel Vadot};
4755f62a964SEmmanuel Vadot
4765f62a964SEmmanuel Vadot&usb_host1_ohci {
4775f62a964SEmmanuel Vadot	status = "okay";
4785f62a964SEmmanuel Vadot};
4795f62a964SEmmanuel Vadot
4805f62a964SEmmanuel Vadot&usb_host1_xhci {
4815f62a964SEmmanuel Vadot	dr_mode = "host";
4825f62a964SEmmanuel Vadot	status = "okay";
4835f62a964SEmmanuel Vadot};
4845f62a964SEmmanuel Vadot
4855f62a964SEmmanuel Vadot&usb_host2_xhci {
4865f62a964SEmmanuel Vadot	status = "okay";
4875f62a964SEmmanuel Vadot};
488*ae5de77eSEmmanuel Vadot
489*ae5de77eSEmmanuel Vadot&vop {
490*ae5de77eSEmmanuel Vadot	status = "okay";
491*ae5de77eSEmmanuel Vadot};
492*ae5de77eSEmmanuel Vadot
493*ae5de77eSEmmanuel Vadot&vop_mmu {
494*ae5de77eSEmmanuel Vadot	status = "okay";
495*ae5de77eSEmmanuel Vadot};
496*ae5de77eSEmmanuel Vadot
497*ae5de77eSEmmanuel Vadot&vp0 {
498*ae5de77eSEmmanuel Vadot	vp0_out_hdmi0: endpoint@ROCKCHIP_VOP2_EP_HDMI0 {
499*ae5de77eSEmmanuel Vadot		reg = <ROCKCHIP_VOP2_EP_HDMI0>;
500*ae5de77eSEmmanuel Vadot		remote-endpoint = <&hdmi0_in_vp0>;
501*ae5de77eSEmmanuel Vadot	};
502*ae5de77eSEmmanuel Vadot};
503*ae5de77eSEmmanuel Vadot
504*ae5de77eSEmmanuel Vadot&vp1 {
505*ae5de77eSEmmanuel Vadot	vp1_out_hdmi1: endpoint@ROCKCHIP_VOP2_EP_HDMI1 {
506*ae5de77eSEmmanuel Vadot		reg = <ROCKCHIP_VOP2_EP_HDMI1>;
507*ae5de77eSEmmanuel Vadot		remote-endpoint = <&hdmi1_in_vp1>;
508*ae5de77eSEmmanuel Vadot	};
509*ae5de77eSEmmanuel Vadot};
510