xref: /linux/arch/arm64/boot/dts/rockchip/rk3399-evb-ind.dts (revision e7e86d7697c6ed1dbbde18d7185c35b6967945ed)
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2/*
3 * Copyright (c) 2025 Rockchip Electronics Co., Ltd.
4 */
5
6/dts-v1/;
7#include "rk3399.dtsi"
8
9/ {
10	model = "Rockchip RK3399 EVB IND LPDDR4 Board";
11	compatible = "rockchip,rk3399-evb-ind", "rockchip,rk3399";
12
13	aliases {
14		mmc0 = &sdhci;
15		mmc1 = &sdmmc;
16	};
17
18	chosen {
19		stdout-path = "serial2:1500000n8";
20	};
21
22	vcc5v0_sys: regulator-vcc5v0-sys {
23		compatible = "regulator-fixed";
24		enable-active-high;
25		gpio = <&gpio4 RK_PD2 GPIO_ACTIVE_HIGH>;
26		regulator-name = "vcc5v0_sys";
27		regulator-always-on;
28		regulator-boot-on;
29		regulator-max-microvolt = <5000000>;
30		regulator-min-microvolt = <5000000>;
31	};
32};
33
34&cpu_b0 {
35	cpu-supply = <&vdd_cpu_b>;
36};
37
38&cpu_b1 {
39	cpu-supply = <&vdd_cpu_b>;
40};
41
42&cpu_l0 {
43	cpu-supply = <&vdd_cpu_l>;
44};
45
46&cpu_l1 {
47	cpu-supply = <&vdd_cpu_l>;
48};
49
50&cpu_l2 {
51	cpu-supply = <&vdd_cpu_l>;
52};
53
54&cpu_l3 {
55	cpu-supply = <&vdd_cpu_l>;
56};
57
58&emmc_phy {
59	status = "okay";
60};
61
62&gpu {
63	mali-supply = <&vdd_gpu>;
64	status = "okay";
65};
66
67&hdmi {
68	pinctrl-names = "default";
69	pinctrl-0 = <&hdmi_i2c_xfer>, <&hdmi_cec>;
70	status = "okay";
71};
72
73&hdmi_sound {
74	status = "okay";
75};
76
77&i2c0 {
78	clock-frequency = <400000>;
79	i2c-scl-falling-time-ns = <4>;
80	i2c-scl-rising-time-ns = <168>;
81	status = "okay";
82
83	vdd_gpu: regulator@10 {
84		compatible = "tcs,tcs4525";
85		reg = <0x10>;
86		pinctrl-names = "default";
87		pinctrl-0 = <&vsel2_gpio>;
88		regulator-name = "vdd_gpu";
89		regulator-always-on;
90		regulator-boot-on;
91		regulator-max-microvolt = <1500000>;
92		regulator-min-microvolt = <712500>;
93		regulator-ramp-delay = <1000>;
94		vin-supply = <&vcc5v0_sys>;
95		vsel-gpios = <&gpio1 RK_PB6 GPIO_ACTIVE_HIGH>;
96		fcs,suspend-voltage-selector = <1>;
97
98		regulator-state-mem {
99			regulator-off-in-suspend;
100		};
101	};
102
103	vdd_cpu_b: regulator@1c {
104		compatible = "tcs,tcs4525";
105		reg = <0x1c>;
106		pinctrl-names = "default";
107		pinctrl-0 = <&vsel1_gpio>;
108		regulator-name = "vdd_cpu_b";
109		regulator-always-on;
110		regulator-boot-on;
111		regulator-max-microvolt = <1500000>;
112		regulator-min-microvolt = <712500>;
113		regulator-ramp-delay = <1000>;
114		vin-supply = <&vcc5v0_sys>;
115		vsel-gpios = <&gpio1 RK_PC1 GPIO_ACTIVE_HIGH>;
116		fcs,suspend-voltage-selector = <1>;
117
118		regulator-state-mem {
119			regulator-off-in-suspend;
120		};
121	};
122
123	rk809: pmic@20 {
124		compatible = "rockchip,rk809";
125		reg = <0x20>;
126		#clock-cells = <1>;
127		clock-output-names = "xin32k", "rk808-clkout2";
128		interrupt-parent = <&gpio1>;
129		interrupts = <RK_PC5 IRQ_TYPE_LEVEL_LOW>;
130		pinctrl-names = "default";
131		pinctrl-0 = <&pmic_int_l>;
132		wakeup-source;
133
134		vcc1-supply = <&vcc5v0_sys>;
135		vcc2-supply = <&vcc5v0_sys>;
136		vcc3-supply = <&vcc5v0_sys>;
137		vcc4-supply = <&vcc5v0_sys>;
138		vcc5-supply = <&vcc_buck5>;
139		vcc6-supply = <&vcc_buck5>;
140		vcc7-supply = <&vcc5v0_sys>;
141		vcc8-supply = <&vcc3v3_sys>;
142		vcc9-supply = <&vcc5v0_sys>;
143
144		regulators {
145			vdd_center: DCDC_REG1 {
146				regulator-name = "vdd_center";
147				regulator-always-on;
148				regulator-boot-on;
149				regulator-initial-mode = <0x2>;
150				regulator-max-microvolt = <1350000>;
151				regulator-min-microvolt = <750000>;
152				regulator-ramp-delay = <6001>;
153
154				regulator-state-mem {
155					regulator-off-in-suspend;
156				};
157			};
158
159			vdd_cpu_l: DCDC_REG2 {
160				regulator-name = "vdd_cpu_l";
161				regulator-always-on;
162				regulator-boot-on;
163				regulator-initial-mode = <0x2>;
164				regulator-max-microvolt = <1350000>;
165				regulator-min-microvolt = <750000>;
166				regulator-ramp-delay = <6001>;
167
168				regulator-state-mem {
169					regulator-off-in-suspend;
170				};
171			};
172
173			vcc_ddr: DCDC_REG3 {
174				regulator-name = "vcc_ddr";
175				regulator-always-on;
176				regulator-boot-on;
177				regulator-initial-mode = <0x2>;
178
179				regulator-state-mem {
180					regulator-on-in-suspend;
181				};
182			};
183
184			vcc3v3_sys: DCDC_REG4 {
185				regulator-name = "vcc3v3_sys";
186				regulator-always-on;
187				regulator-boot-on;
188				regulator-initial-mode = <0x2>;
189				regulator-max-microvolt = <3300000>;
190				regulator-min-microvolt = <3300000>;
191
192				regulator-state-mem {
193					regulator-on-in-suspend;
194					regulator-suspend-microvolt = <3300000>;
195				};
196			};
197
198			vcc_buck5: DCDC_REG5 {
199				regulator-name = "vcc_buck5";
200				regulator-always-on;
201				regulator-boot-on;
202				regulator-max-microvolt = <2200000>;
203				regulator-min-microvolt = <2200000>;
204
205				regulator-state-mem {
206					regulator-on-in-suspend;
207					regulator-suspend-microvolt = <2200000>;
208				};
209			};
210
211			vcca_0v9: LDO_REG1 {
212				regulator-name = "vcca_0v9";
213				regulator-always-on;
214				regulator-boot-on;
215				regulator-max-microvolt = <900000>;
216				regulator-min-microvolt = <900000>;
217
218				regulator-state-mem {
219					regulator-off-in-suspend;
220				};
221			};
222
223			vcc_1v8: LDO_REG2 {
224				regulator-name = "vcc_1v8";
225				regulator-always-on;
226				regulator-boot-on;
227				regulator-max-microvolt = <1800000>;
228				regulator-min-microvolt = <1800000>;
229
230				regulator-state-mem {
231					regulator-on-in-suspend;
232					regulator-suspend-microvolt = <1800000>;
233				};
234			};
235
236			vcc0v9_soc: LDO_REG3 {
237				regulator-name = "vcc0v9_soc";
238				regulator-always-on;
239				regulator-boot-on;
240				regulator-max-microvolt = <900000>;
241				regulator-min-microvolt = <900000>;
242
243				regulator-state-mem {
244					regulator-on-in-suspend;
245					regulator-suspend-microvolt = <900000>;
246				};
247			};
248
249			vcca_1v8: LDO_REG4 {
250				regulator-name = "vcca_1v8";
251				regulator-always-on;
252				regulator-boot-on;
253				regulator-max-microvolt = <1800000>;
254				regulator-min-microvolt = <1800000>;
255
256				regulator-state-mem {
257					regulator-off-in-suspend;
258				};
259			};
260
261			vdd1v5_dvp: LDO_REG5 {
262				regulator-name = "vdd1v5_dvp";
263				regulator-always-on;
264				regulator-boot-on;
265				regulator-max-microvolt = <1500000>;
266				regulator-min-microvolt = <1500000>;
267
268				regulator-state-mem {
269					regulator-off-in-suspend;
270				};
271			};
272
273			vcc_1v5: LDO_REG6 {
274				regulator-name = "vcc_1v5";
275				regulator-always-on;
276				regulator-boot-on;
277				regulator-max-microvolt = <1500000>;
278				regulator-min-microvolt = <1500000>;
279
280				regulator-state-mem {
281					regulator-off-in-suspend;
282				};
283			};
284
285			vcc_3v0: LDO_REG7 {
286				regulator-name = "vcc_3v0";
287				regulator-always-on;
288				regulator-boot-on;
289				regulator-max-microvolt = <3000000>;
290				regulator-min-microvolt = <3000000>;
291
292				regulator-state-mem {
293					regulator-off-in-suspend;
294				};
295			};
296
297			vccio_sd: LDO_REG8 {
298				regulator-name = "vccio_sd";
299				regulator-always-on;
300				regulator-boot-on;
301				regulator-max-microvolt = <3300000>;
302				regulator-min-microvolt = <1800000>;
303
304				regulator-state-mem {
305					regulator-off-in-suspend;
306				};
307			};
308
309			vcc_sd: LDO_REG9 {
310				regulator-name = "vcc_sd";
311				regulator-always-on;
312				regulator-boot-on;
313				regulator-max-microvolt = <3300000>;
314				regulator-min-microvolt = <3300000>;
315
316				regulator-state-mem {
317					regulator-off-in-suspend;
318				};
319			};
320
321			vcc5v0_usb: SWITCH_REG1 {
322				regulator-name = "vcc5v0_usb";
323				regulator-always-on;
324				regulator-boot-on;
325
326				regulator-state-mem {
327					regulator-on-in-suspend;
328				};
329			};
330
331			vccio_3v3: SWITCH_REG2 {
332				regulator-name = "vccio_3v3";
333				regulator-always-on;
334				regulator-boot-on;
335
336				regulator-state-mem {
337					regulator-off-in-suspend;
338				};
339			};
340		};
341	};
342};
343
344&i2s2 {
345	status = "okay";
346};
347
348&io_domains {
349	audio-supply = <&vcca_1v8>;
350	bt656-supply = <&vcc_3v0>;
351	gpio1830-supply = <&vcc_3v0>;
352	sdmmc-supply = <&vccio_sd>;
353	status = "okay";
354};
355
356&pinctrl {
357	pmic {
358		pmic_int_l: pmic-int-l {
359			rockchip,pins = <1 RK_PC5 RK_FUNC_GPIO &pcfg_pull_up>;
360		};
361
362		vsel1_gpio: vsel1 {
363			rockchip,pins = <1 RK_PC1 RK_FUNC_GPIO &pcfg_pull_down>;
364		};
365
366		vsel2_gpio: vsel2 {
367			rockchip,pins = <1 RK_PB6 RK_FUNC_GPIO &pcfg_pull_down>;
368		};
369	};
370};
371
372&pmu_io_domains {
373	pmu1830-supply = <&vcc_1v8>;
374	status = "okay";
375};
376
377&sdhci {
378	bus-width = <8>;
379	keep-power-in-suspend;
380	mmc-hs400-1_8v;
381	mmc-hs400-enhanced-strobe;
382	no-sdio;
383	no-sd;
384	non-removable;
385	status = "okay";
386};
387
388&sdmmc {
389	bus-width = <4>;
390	cap-mmc-highspeed;
391	cap-sd-highspeed;
392	disable-wp;
393	no-sdio;
394	no-mmc;
395	pinctrl-names = "default";
396	pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_bus4>;
397	sd-uhs-sdr104;
398	vmmc-supply = <&vcc_sd>;
399	vqmmc-supply = <&vccio_sd>;
400	status = "okay";
401};
402
403&tcphy0 {
404	status = "okay";
405};
406
407&tcphy1 {
408	status = "okay";
409};
410
411&tsadc {
412	/* tshut mode 0:CRU 1:GPIO */
413	rockchip,hw-tshut-mode = <1>;
414	/* tshut polarity 0:LOW 1:HIGH */
415	rockchip,hw-tshut-polarity = <1>;
416	status = "okay";
417};
418
419&u2phy0 {
420	status = "okay";
421};
422
423&u2phy0_host {
424	status = "okay";
425};
426
427&u2phy0_otg {
428	status = "okay";
429};
430
431&u2phy1 {
432	status = "okay";
433};
434
435&u2phy1_host {
436	status = "okay";
437};
438
439&u2phy1_otg {
440	status = "okay";
441};
442
443&uart2 {
444	status = "okay";
445};
446
447&usb_host0_ehci {
448	status = "okay";
449};
450
451&usb_host0_ohci {
452	status = "okay";
453};
454
455&usb_host1_ehci {
456	status = "okay";
457};
458
459&usb_host1_ohci {
460	status = "okay";
461};
462
463&usbdrd_dwc3_0 {
464	status = "okay";
465};
466
467&usbdrd3_0 {
468	status = "okay";
469};
470
471&usbdrd3_1 {
472	status = "okay";
473};
474
475&usbdrd_dwc3_1 {
476	dr_mode = "host";
477	status = "okay";
478};
479
480&vopb {
481	status = "okay";
482};
483
484&vopb_mmu {
485	status = "okay";
486};
487
488&vopl {
489	status = "okay";
490};
491
492&vopl_mmu {
493	status = "okay";
494};
495