xref: /OK3568_Linux_fs/kernel/arch/arm64/boot/dts/rockchip/rk3588-evb5-lp4.dtsi (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2*4882a593Smuzhiyun/*
3*4882a593Smuzhiyun * Copyright (c) 2021 Rockchip Electronics Co., Ltd.
4*4882a593Smuzhiyun *
5*4882a593Smuzhiyun */
6*4882a593Smuzhiyun
7*4882a593Smuzhiyun#include "rk3588.dtsi"
8*4882a593Smuzhiyun#include "rk3588-evb.dtsi"
9*4882a593Smuzhiyun#include "rk3588-rk806-dual.dtsi"
10*4882a593Smuzhiyun
11*4882a593Smuzhiyun/ {
12*4882a593Smuzhiyun	dsm_sound: dsm-sound {
13*4882a593Smuzhiyun		compatible = "simple-audio-card";
14*4882a593Smuzhiyun		simple-audio-card,format = "i2s";
15*4882a593Smuzhiyun		simple-audio-card,mclk-fs = <256>;
16*4882a593Smuzhiyun		simple-audio-card,name = "rockchip,dsm-sound";
17*4882a593Smuzhiyun		simple-audio-card,bitclock-master = <&sndcodec>;
18*4882a593Smuzhiyun		simple-audio-card,frame-master = <&sndcodec>;
19*4882a593Smuzhiyun		sndcpu: simple-audio-card,cpu {
20*4882a593Smuzhiyun			sound-dai = <&i2s3_2ch>;
21*4882a593Smuzhiyun		};
22*4882a593Smuzhiyun		sndcodec: simple-audio-card,codec {
23*4882a593Smuzhiyun			sound-dai = <&acdcdig_dsm>;
24*4882a593Smuzhiyun		};
25*4882a593Smuzhiyun	};
26*4882a593Smuzhiyun
27*4882a593Smuzhiyun	fan: pwm-fan {
28*4882a593Smuzhiyun		compatible = "pwm-fan";
29*4882a593Smuzhiyun		#cooling-cells = <2>;
30*4882a593Smuzhiyun		pwms = <&pwm9 0 50000 0>;
31*4882a593Smuzhiyun		cooling-levels = <0 50 100 150 200 255>;
32*4882a593Smuzhiyun		rockchip,temp-trips = <
33*4882a593Smuzhiyun			50000	1
34*4882a593Smuzhiyun			55000	2
35*4882a593Smuzhiyun			60000	3
36*4882a593Smuzhiyun			65000	4
37*4882a593Smuzhiyun			70000	5
38*4882a593Smuzhiyun		>;
39*4882a593Smuzhiyun	};
40*4882a593Smuzhiyun
41*4882a593Smuzhiyun	hdmiin_dc: hdmiin-dc {
42*4882a593Smuzhiyun		compatible = "rockchip,dummy-codec";
43*4882a593Smuzhiyun		#sound-dai-cells = <0>;
44*4882a593Smuzhiyun	};
45*4882a593Smuzhiyun
46*4882a593Smuzhiyun	hdmiin-sound {
47*4882a593Smuzhiyun		compatible = "simple-audio-card";
48*4882a593Smuzhiyun		simple-audio-card,format = "i2s";
49*4882a593Smuzhiyun		simple-audio-card,name = "rockchip,hdmiin";
50*4882a593Smuzhiyun		simple-audio-card,bitclock-master = <&dailink0_master>;
51*4882a593Smuzhiyun		simple-audio-card,frame-master = <&dailink0_master>;
52*4882a593Smuzhiyun		status = "okay";
53*4882a593Smuzhiyun		simple-audio-card,cpu {
54*4882a593Smuzhiyun			sound-dai = <&i2s7_8ch>;
55*4882a593Smuzhiyun		};
56*4882a593Smuzhiyun		dailink0_master: simple-audio-card,codec {
57*4882a593Smuzhiyun			sound-dai = <&hdmiin_dc>;
58*4882a593Smuzhiyun		};
59*4882a593Smuzhiyun	};
60*4882a593Smuzhiyun
61*4882a593Smuzhiyun	pcie20_avdd0v85: pcie20-avdd0v85 {
62*4882a593Smuzhiyun		compatible = "regulator-fixed";
63*4882a593Smuzhiyun		regulator-name = "pcie20_avdd0v85";
64*4882a593Smuzhiyun		regulator-boot-on;
65*4882a593Smuzhiyun		regulator-always-on;
66*4882a593Smuzhiyun		regulator-min-microvolt = <850000>;
67*4882a593Smuzhiyun		regulator-max-microvolt = <850000>;
68*4882a593Smuzhiyun		vin-supply = <&avdd_0v85_s0>;
69*4882a593Smuzhiyun	};
70*4882a593Smuzhiyun
71*4882a593Smuzhiyun	pcie20_avdd1v8: pcie20-avdd1v8 {
72*4882a593Smuzhiyun		compatible = "regulator-fixed";
73*4882a593Smuzhiyun		regulator-name = "pcie20_avdd1v8";
74*4882a593Smuzhiyun		regulator-boot-on;
75*4882a593Smuzhiyun		regulator-always-on;
76*4882a593Smuzhiyun		regulator-min-microvolt = <1800000>;
77*4882a593Smuzhiyun		regulator-max-microvolt = <1800000>;
78*4882a593Smuzhiyun		vin-supply = <&avcc_1v8_s0>;
79*4882a593Smuzhiyun	};
80*4882a593Smuzhiyun
81*4882a593Smuzhiyun	pcie30_avdd0v75: pcie30-avdd0v75 {
82*4882a593Smuzhiyun		compatible = "regulator-fixed";
83*4882a593Smuzhiyun		regulator-name = "pcie30_avdd0v75";
84*4882a593Smuzhiyun		regulator-boot-on;
85*4882a593Smuzhiyun		regulator-always-on;
86*4882a593Smuzhiyun		regulator-min-microvolt = <750000>;
87*4882a593Smuzhiyun		regulator-max-microvolt = <750000>;
88*4882a593Smuzhiyun		vin-supply = <&avdd_0v75_s0>;
89*4882a593Smuzhiyun	};
90*4882a593Smuzhiyun
91*4882a593Smuzhiyun	pcie30_avdd1v8: pcie30-avdd1v8 {
92*4882a593Smuzhiyun		compatible = "regulator-fixed";
93*4882a593Smuzhiyun		regulator-name = "pcie30_avdd1v8";
94*4882a593Smuzhiyun		regulator-boot-on;
95*4882a593Smuzhiyun		regulator-always-on;
96*4882a593Smuzhiyun		regulator-min-microvolt = <1800000>;
97*4882a593Smuzhiyun		regulator-max-microvolt = <1800000>;
98*4882a593Smuzhiyun		vin-supply = <&avcc_1v8_s0>;
99*4882a593Smuzhiyun	};
100*4882a593Smuzhiyun
101*4882a593Smuzhiyun	vcc3v3_pcie30: vcc3v3-pcie30 {
102*4882a593Smuzhiyun		compatible = "regulator-fixed";
103*4882a593Smuzhiyun		regulator-name = "vcc3v3_pcie30";
104*4882a593Smuzhiyun		regulator-min-microvolt = <3300000>;
105*4882a593Smuzhiyun		regulator-max-microvolt = <3300000>;
106*4882a593Smuzhiyun		enable-active-high;
107*4882a593Smuzhiyun		gpios = <&gpio3 RK_PC3 GPIO_ACTIVE_HIGH>;
108*4882a593Smuzhiyun		startup-delay-us = <5000>;
109*4882a593Smuzhiyun		vin-supply = <&vcc12v_dcin>;
110*4882a593Smuzhiyun	};
111*4882a593Smuzhiyun};
112*4882a593Smuzhiyun
113*4882a593Smuzhiyun&acdcdig_dsm {
114*4882a593Smuzhiyun	status = "okay";
115*4882a593Smuzhiyun};
116*4882a593Smuzhiyun
117*4882a593Smuzhiyun&combphy0_ps {
118*4882a593Smuzhiyun	status = "okay";
119*4882a593Smuzhiyun};
120*4882a593Smuzhiyun
121*4882a593Smuzhiyun&combphy1_ps {
122*4882a593Smuzhiyun	status = "okay";
123*4882a593Smuzhiyun};
124*4882a593Smuzhiyun
125*4882a593Smuzhiyun&combphy2_psu {
126*4882a593Smuzhiyun	status = "okay";
127*4882a593Smuzhiyun};
128*4882a593Smuzhiyun
129*4882a593Smuzhiyun/*
130*4882a593Smuzhiyun * mipi_dcphy0 needs to be enabled
131*4882a593Smuzhiyun * when dsi0 is enabled
132*4882a593Smuzhiyun */
133*4882a593Smuzhiyun&dsi0 {
134*4882a593Smuzhiyun	status = "disabled";
135*4882a593Smuzhiyun};
136*4882a593Smuzhiyun
137*4882a593Smuzhiyun&dsi0_in_vp2 {
138*4882a593Smuzhiyun	status = "disabled";
139*4882a593Smuzhiyun};
140*4882a593Smuzhiyun
141*4882a593Smuzhiyun&dsi0_in_vp3 {
142*4882a593Smuzhiyun	status = "okay";
143*4882a593Smuzhiyun};
144*4882a593Smuzhiyun
145*4882a593Smuzhiyun/*
146*4882a593Smuzhiyun * mipi_dcphy1 needs to be enabled
147*4882a593Smuzhiyun * when dsi1 is enabled
148*4882a593Smuzhiyun */
149*4882a593Smuzhiyun&dsi1 {
150*4882a593Smuzhiyun	status = "disabled";
151*4882a593Smuzhiyun};
152*4882a593Smuzhiyun
153*4882a593Smuzhiyun&dsi1_in_vp2 {
154*4882a593Smuzhiyun	status = "disabled";
155*4882a593Smuzhiyun};
156*4882a593Smuzhiyun
157*4882a593Smuzhiyun&dsi1_in_vp3 {
158*4882a593Smuzhiyun	status = "disabled";
159*4882a593Smuzhiyun};
160*4882a593Smuzhiyun
161*4882a593Smuzhiyun&hdmi1 {
162*4882a593Smuzhiyun	enable-gpios = <&gpio4 RK_PB2 GPIO_ACTIVE_HIGH>;
163*4882a593Smuzhiyun	status = "okay";
164*4882a593Smuzhiyun};
165*4882a593Smuzhiyun
166*4882a593Smuzhiyun&hdmi1_in_vp0 {
167*4882a593Smuzhiyun	status = "okay";
168*4882a593Smuzhiyun};
169*4882a593Smuzhiyun
170*4882a593Smuzhiyun&hdmi1_sound {
171*4882a593Smuzhiyun	status = "okay";
172*4882a593Smuzhiyun};
173*4882a593Smuzhiyun
174*4882a593Smuzhiyun&hdptxphy_hdmi1 {
175*4882a593Smuzhiyun	status = "okay";
176*4882a593Smuzhiyun};
177*4882a593Smuzhiyun
178*4882a593Smuzhiyun&i2s3_2ch {
179*4882a593Smuzhiyun	status = "okay";
180*4882a593Smuzhiyun	/delete-property/ pinctrl-names;
181*4882a593Smuzhiyun	/delete-property/ pinctrl-0;
182*4882a593Smuzhiyun};
183*4882a593Smuzhiyun
184*4882a593Smuzhiyun&i2s6_8ch {
185*4882a593Smuzhiyun	status = "okay";
186*4882a593Smuzhiyun};
187*4882a593Smuzhiyun
188*4882a593Smuzhiyun&i2s7_8ch {
189*4882a593Smuzhiyun	status = "okay";
190*4882a593Smuzhiyun};
191*4882a593Smuzhiyun
192*4882a593Smuzhiyun&mipi_dcphy0 {
193*4882a593Smuzhiyun	status = "disabled";
194*4882a593Smuzhiyun};
195*4882a593Smuzhiyun
196*4882a593Smuzhiyun&mipi_dcphy1 {
197*4882a593Smuzhiyun	status = "disabled";
198*4882a593Smuzhiyun};
199*4882a593Smuzhiyun
200*4882a593Smuzhiyun&pcie2x1l0 {
201*4882a593Smuzhiyun	reset-gpios = <&gpio4 RK_PA5 GPIO_ACTIVE_HIGH>;
202*4882a593Smuzhiyun	vpcie3v3-supply = <&vcc3v3_pcie30>;
203*4882a593Smuzhiyun	status = "okay";
204*4882a593Smuzhiyun};
205*4882a593Smuzhiyun
206*4882a593Smuzhiyun&pcie2x1l1 {
207*4882a593Smuzhiyun	reset-gpios = <&gpio4 RK_PA2 GPIO_ACTIVE_HIGH>;
208*4882a593Smuzhiyun	vpcie3v3-supply = <&vcc3v3_pcie30>;
209*4882a593Smuzhiyun	status = "okay";
210*4882a593Smuzhiyun};
211*4882a593Smuzhiyun
212*4882a593Smuzhiyun&pcie2x1l2 {
213*4882a593Smuzhiyun	reset-gpios = <&gpio4 RK_PC1 GPIO_ACTIVE_HIGH>;
214*4882a593Smuzhiyun	vpcie3v3-supply = <&vcc3v3_pcie30>;
215*4882a593Smuzhiyun	status = "okay";
216*4882a593Smuzhiyun};
217*4882a593Smuzhiyun
218*4882a593Smuzhiyun&pcie30phy {
219*4882a593Smuzhiyun	rockchip,pcie30-phymode = <PHY_MODE_PCIE_NANBNB>;
220*4882a593Smuzhiyun	status = "okay";
221*4882a593Smuzhiyun};
222*4882a593Smuzhiyun
223*4882a593Smuzhiyun&pcie3x2 {
224*4882a593Smuzhiyun	reset-gpios = <&gpio4 RK_PB0 GPIO_ACTIVE_HIGH>;
225*4882a593Smuzhiyun	vpcie3v3-supply = <&vcc3v3_pcie30>;
226*4882a593Smuzhiyun	status = "okay";
227*4882a593Smuzhiyun};
228*4882a593Smuzhiyun
229*4882a593Smuzhiyun&pcie3x4 {
230*4882a593Smuzhiyun	num-lanes = <2>;
231*4882a593Smuzhiyun	reset-gpios = <&gpio4 RK_PB6 GPIO_ACTIVE_HIGH>;
232*4882a593Smuzhiyun	vpcie3v3-supply = <&vcc3v3_pcie30>;
233*4882a593Smuzhiyun	pinctrl-names = "default";
234*4882a593Smuzhiyun	pinctrl-0 = <&pcie30x4_clkreqn_m1>;
235*4882a593Smuzhiyun	status = "okay";
236*4882a593Smuzhiyun};
237*4882a593Smuzhiyun
238*4882a593Smuzhiyun&pinctrl {
239*4882a593Smuzhiyun	pcie30x4 {
240*4882a593Smuzhiyun		pcie30x4_clkreqn_m1: pcie30x4-clkreqn-m1 {
241*4882a593Smuzhiyun			rockchip,pins = <4 RK_PB4 RK_FUNC_GPIO &pcfg_pull_down>;
242*4882a593Smuzhiyun		};
243*4882a593Smuzhiyun	};
244*4882a593Smuzhiyun};
245*4882a593Smuzhiyun
246*4882a593Smuzhiyun&pwm9 {
247*4882a593Smuzhiyun	pinctrl-0 = <&pwm9m2_pins>;
248*4882a593Smuzhiyun	status = "okay";
249*4882a593Smuzhiyun};
250*4882a593Smuzhiyun
251*4882a593Smuzhiyun&route_dsi0 {
252*4882a593Smuzhiyun	status = "okay";
253*4882a593Smuzhiyun	connect = <&vp3_out_dsi0>;
254*4882a593Smuzhiyun};
255*4882a593Smuzhiyun
256*4882a593Smuzhiyun&route_dsi1 {
257*4882a593Smuzhiyun	status = "disabled";
258*4882a593Smuzhiyun	connect = <&vp3_out_dsi1>;
259*4882a593Smuzhiyun};
260*4882a593Smuzhiyun
261*4882a593Smuzhiyun&spdif_tx1 {
262*4882a593Smuzhiyun	status = "okay";
263*4882a593Smuzhiyun	pinctrl-names = "default";
264*4882a593Smuzhiyun	pinctrl-0 = <&spdif1m0_tx>;
265*4882a593Smuzhiyun};
266*4882a593Smuzhiyun
267*4882a593Smuzhiyun&spdif_tx1_dc {
268*4882a593Smuzhiyun	status = "okay";
269*4882a593Smuzhiyun};
270*4882a593Smuzhiyun
271*4882a593Smuzhiyun&spdif_tx1_sound {
272*4882a593Smuzhiyun	status = "okay";
273*4882a593Smuzhiyun};
274*4882a593Smuzhiyun
275*4882a593Smuzhiyun&usbdp_phy0 {
276*4882a593Smuzhiyun	status = "disabled";
277*4882a593Smuzhiyun};
278*4882a593Smuzhiyun
279*4882a593Smuzhiyun&usbdp_phy0_dp {
280*4882a593Smuzhiyun	status = "disabled";
281*4882a593Smuzhiyun};
282*4882a593Smuzhiyun
283*4882a593Smuzhiyun&usbdp_phy0_u3 {
284*4882a593Smuzhiyun	status = "disabled";
285*4882a593Smuzhiyun};
286*4882a593Smuzhiyun
287*4882a593Smuzhiyun&usbdrd_dwc3_0 {
288*4882a593Smuzhiyun	dr_mode = "peripheral";
289*4882a593Smuzhiyun	phys = <&u2phy0_otg>;
290*4882a593Smuzhiyun	phy-names = "usb2-phy";
291*4882a593Smuzhiyun	maximum-speed = "high-speed";
292*4882a593Smuzhiyun};
293*4882a593Smuzhiyun
294*4882a593Smuzhiyun&usbhost3_0 {
295*4882a593Smuzhiyun	status = "disabled";
296*4882a593Smuzhiyun};
297*4882a593Smuzhiyun
298*4882a593Smuzhiyun&usbhost_dwc3_0 {
299*4882a593Smuzhiyun	status = "disabled";
300*4882a593Smuzhiyun};
301