xref: /freebsd/sys/contrib/device-tree/src/arm64/rockchip/rk3588-orangepi-5-plus.dts (revision 8d13bc63c0e1d50bc9e47ac1f26329c999bfecf0)
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2/*
3 * Copyright (c) 2023 Ondřej Jirman <megi@xff.cz>
4 */
5
6/dts-v1/;
7
8#include <dt-bindings/gpio/gpio.h>
9#include <dt-bindings/leds/common.h>
10#include <dt-bindings/input/input.h>
11#include <dt-bindings/pinctrl/rockchip.h>
12#include <dt-bindings/usb/pd.h>
13#include "rk3588.dtsi"
14
15/ {
16	model = "Xunlong Orange Pi 5 Plus";
17	compatible = "xunlong,orangepi-5-plus", "rockchip,rk3588";
18
19	aliases {
20		mmc0 = &sdhci;
21		mmc1 = &sdmmc;
22	};
23
24	chosen {
25		stdout-path = "serial2:1500000n8";
26	};
27
28	adc-keys-0 {
29		compatible = "adc-keys";
30		io-channels = <&saradc 0>;
31		io-channel-names = "buttons";
32		keyup-threshold-microvolt = <1800000>;
33		poll-interval = <100>;
34
35		button-maskrom {
36			label = "Mask Rom";
37			linux,code = <KEY_SETUP>;
38			press-threshold-microvolt = <2000>;
39		};
40	};
41
42	adc-keys-1 {
43		compatible = "adc-keys";
44		io-channels = <&saradc 1>;
45		io-channel-names = "buttons";
46		keyup-threshold-microvolt = <1800000>;
47		poll-interval = <100>;
48
49		button-recovery {
50			label = "Recovery";
51			linux,code = <KEY_VENDOR>;
52			press-threshold-microvolt = <2000>;
53		};
54	};
55
56	speaker_amp: speaker-audio-amplifier {
57		compatible = "simple-audio-amplifier";
58		enable-gpios = <&gpio3 RK_PC0 GPIO_ACTIVE_HIGH>;
59		sound-name-prefix = "Speaker Amp";
60	};
61
62	headphone_amp: headphones-audio-amplifier {
63		compatible = "simple-audio-amplifier";
64		enable-gpios = <&gpio3 RK_PA7 GPIO_ACTIVE_HIGH>;
65		sound-name-prefix = "Headphones Amp";
66	};
67
68	ir-receiver {
69		compatible = "gpio-ir-receiver";
70		gpios = <&gpio4 RK_PB3 GPIO_ACTIVE_LOW>;
71		pinctrl-names = "default";
72		pinctrl-0 = <&ir_receiver_pin>;
73	};
74
75	gpio-leds {
76		compatible = "gpio-leds";
77		pinctrl-names = "default";
78		pinctrl-0 = <&blue_led_pin>;
79
80		led {
81			color = <LED_COLOR_ID_BLUE>;
82			function = LED_FUNCTION_INDICATOR;
83			function-enumerator = <1>;
84			gpios = <&gpio3 RK_PA6 GPIO_ACTIVE_HIGH>;
85		};
86	};
87
88	fan: pwm-fan {
89		compatible = "pwm-fan";
90		cooling-levels = <0 70 75 80 100>;
91		fan-supply = <&vcc5v0_sys>;
92		pwms = <&pwm3 0 50000 0>;
93		#cooling-cells = <2>;
94	};
95
96	pwm-leds {
97		compatible = "pwm-leds";
98
99		led {
100			color = <LED_COLOR_ID_GREEN>;
101			function = LED_FUNCTION_INDICATOR;
102			function-enumerator = <2>;
103			max-brightness = <255>;
104			pwms = <&pwm2 0 25000 0>;
105		};
106	};
107
108	sound {
109		compatible = "simple-audio-card";
110		pinctrl-names = "default";
111		pinctrl-0 = <&hp_detect>;
112		simple-audio-card,name = "Analog";
113		simple-audio-card,aux-devs = <&speaker_amp>, <&headphone_amp>;
114		simple-audio-card,format = "i2s";
115		simple-audio-card,mclk-fs = <256>;
116		simple-audio-card,hp-det-gpio = <&gpio1 RK_PD3 GPIO_ACTIVE_LOW>;
117		simple-audio-card,bitclock-master = <&daicpu>;
118		simple-audio-card,frame-master = <&daicpu>;
119		/*TODO: SARADC_IN3 is used as MIC detection / key input */
120
121		simple-audio-card,widgets =
122			"Microphone", "Onboard Microphone",
123			"Microphone", "Microphone Jack",
124			"Speaker", "Speaker",
125			"Headphone", "Headphones";
126
127		simple-audio-card,routing =
128			"Headphones", "LOUT1",
129			"Headphones", "ROUT1",
130			"Speaker", "LOUT2",
131			"Speaker", "ROUT2",
132
133			"Headphones", "Headphones Amp OUTL",
134			"Headphones", "Headphones Amp OUTR",
135			"Headphones Amp INL", "LOUT1",
136			"Headphones Amp INR", "ROUT1",
137
138			"Speaker", "Speaker Amp OUTL",
139			"Speaker", "Speaker Amp OUTR",
140			"Speaker Amp INL", "LOUT2",
141			"Speaker Amp INR", "ROUT2",
142
143			/* single ended signal to LINPUT1 */
144			"LINPUT1", "Microphone Jack",
145			"RINPUT1", "Microphone Jack",
146			/* differential signal */
147			"LINPUT2", "Onboard Microphone",
148			"RINPUT2", "Onboard Microphone";
149
150		daicpu: simple-audio-card,cpu {
151			sound-dai = <&i2s0_8ch>;
152			system-clock-frequency = <12288000>;
153		};
154
155		daicodec: simple-audio-card,codec {
156			sound-dai = <&es8388>;
157			system-clock-frequency = <12288000>;
158		};
159	};
160
161	vcc3v3_pcie30: vcc3v3-pcie30-regulator {
162		compatible = "regulator-fixed";
163		enable-active-high;
164		gpios = <&gpio2 RK_PB6 GPIO_ACTIVE_HIGH>;
165		regulator-name = "vcc3v3_pcie30";
166		regulator-min-microvolt = <3300000>;
167		regulator-max-microvolt = <3300000>;
168		startup-delay-us = <5000>;
169		vin-supply = <&vcc5v0_sys>;
170	};
171
172	vcc3v3_pcie_eth: vcc3v3-pcie-eth-regulator {
173		compatible = "regulator-fixed";
174		gpios = <&gpio3 RK_PB4 GPIO_ACTIVE_LOW>;
175		regulator-name = "vcc3v3_pcie_eth";
176		regulator-min-microvolt = <3300000>;
177		regulator-max-microvolt = <3300000>;
178		startup-delay-us = <50000>;
179		vin-supply = <&vcc5v0_sys>;
180	};
181
182	vcc3v3_wf: vcc3v3-wf-regulator {
183		compatible = "regulator-fixed";
184		enable-active-high;
185		gpios = <&gpio2 RK_PC5 GPIO_ACTIVE_HIGH>;
186		regulator-name = "vcc3v3_wf";
187		regulator-min-microvolt = <3300000>;
188		regulator-max-microvolt = <3300000>;
189		startup-delay-us = <50000>;
190		vin-supply = <&vcc5v0_sys>;
191	};
192
193	vcc5v0_sys: vcc5v0-sys-regulator {
194		compatible = "regulator-fixed";
195		regulator-name = "vcc5v0_sys";
196		regulator-always-on;
197		regulator-boot-on;
198		regulator-min-microvolt = <5000000>;
199		regulator-max-microvolt = <5000000>;
200	};
201
202	vcc5v0_usb20: vcc5v0-usb20-regulator {
203		compatible = "regulator-fixed";
204		enable-active-high;
205		gpio = <&gpio3 RK_PB7 GPIO_ACTIVE_HIGH>;
206		pinctrl-names = "default";
207		pinctrl-0 = <&vcc5v0_usb20_en>;
208		regulator-name = "vcc5v0_usb20";
209		regulator-min-microvolt = <5000000>;
210		regulator-max-microvolt = <5000000>;
211		vin-supply = <&vcc5v0_sys>;
212	};
213};
214
215&combphy0_ps {
216	status = "okay";
217};
218
219&combphy1_ps {
220	status = "okay";
221};
222
223&combphy2_psu {
224	status = "okay";
225};
226
227&cpu_b0 {
228	cpu-supply = <&vdd_cpu_big0_s0>;
229};
230
231&cpu_b1 {
232	cpu-supply = <&vdd_cpu_big0_s0>;
233};
234
235&cpu_b2 {
236	cpu-supply = <&vdd_cpu_big1_s0>;
237};
238
239&cpu_b3 {
240	cpu-supply = <&vdd_cpu_big1_s0>;
241};
242
243&cpu_l0 {
244	cpu-supply = <&vdd_cpu_lit_s0>;
245};
246
247&cpu_l1 {
248	cpu-supply = <&vdd_cpu_lit_s0>;
249};
250
251&cpu_l2 {
252	cpu-supply = <&vdd_cpu_lit_s0>;
253};
254
255&cpu_l3 {
256	cpu-supply = <&vdd_cpu_lit_s0>;
257};
258
259&i2c0 {
260	pinctrl-names = "default";
261	pinctrl-0 = <&i2c0m2_xfer>;
262	status = "okay";
263
264	vdd_cpu_big0_s0: regulator@42 {
265		compatible = "rockchip,rk8602";
266		reg = <0x42>;
267		fcs,suspend-voltage-selector = <1>;
268		regulator-name = "vdd_cpu_big0_s0";
269		regulator-always-on;
270		regulator-boot-on;
271		regulator-min-microvolt = <550000>;
272		regulator-max-microvolt = <1050000>;
273		regulator-ramp-delay = <2300>;
274		vin-supply = <&vcc5v0_sys>;
275
276		regulator-state-mem {
277			regulator-off-in-suspend;
278		};
279	};
280
281	vdd_cpu_big1_s0: regulator@43 {
282		compatible = "rockchip,rk8603", "rockchip,rk8602";
283		reg = <0x43>;
284		fcs,suspend-voltage-selector = <1>;
285		regulator-name = "vdd_cpu_big1_s0";
286		regulator-always-on;
287		regulator-boot-on;
288		regulator-min-microvolt = <550000>;
289		regulator-max-microvolt = <1050000>;
290		regulator-ramp-delay = <2300>;
291		vin-supply = <&vcc5v0_sys>;
292
293		regulator-state-mem {
294			regulator-off-in-suspend;
295		};
296	};
297};
298
299&i2c6 {
300	clock-frequency = <400000>;
301	status = "okay";
302
303	hym8563: rtc@51 {
304		compatible = "haoyu,hym8563";
305		reg = <0x51>;
306		interrupt-parent = <&gpio0>;
307		interrupts = <RK_PB0 IRQ_TYPE_LEVEL_LOW>;
308		#clock-cells = <0>;
309		clock-output-names = "hym8563";
310		pinctrl-names = "default";
311		pinctrl-0 = <&hym8563_int>;
312		wakeup-source;
313	};
314};
315
316&i2c7 {
317	status = "okay";
318
319	/* PLDO2 vcca 1.8V, BUCK8 gated by PLDO2 being enabled */
320	es8388: audio-codec@11 {
321		compatible = "everest,es8388";
322		reg = <0x11>;
323		clocks = <&cru I2S0_8CH_MCLKOUT>;
324		clock-names = "mclk";
325		AVDD-supply = <&vcc_1v8_s0>;
326		DVDD-supply = <&vcc_1v8_s0>;
327		HPVDD-supply = <&vcc_3v3_s0>;
328		PVDD-supply = <&vcc_3v3_s0>;
329		assigned-clocks = <&cru I2S0_8CH_MCLKOUT>;
330		assigned-clock-rates = <12288000>;
331		#sound-dai-cells = <0>;
332	};
333};
334
335&i2s0_8ch {
336	pinctrl-names = "default";
337	pinctrl-0 = <&i2s0_lrck
338		     &i2s0_mclk
339		     &i2s0_sclk
340		     &i2s0_sdi0
341		     &i2s0_sdo0>;
342	status = "okay";
343};
344
345&i2s2_2ch {
346	pinctrl-names = "default";
347	pinctrl-0 = <&i2s2m0_lrck
348		     &i2s2m0_sclk
349		     &i2s2m0_sdi
350		     &i2s2m0_sdo>;
351	status = "okay";
352};
353
354/* phy1 - M.KEY socket */
355&pcie2x1l0 {
356	reset-gpios = <&gpio4 RK_PA5 GPIO_ACTIVE_HIGH>;
357	vpcie3v3-supply = <&vcc3v3_wf>;
358	status = "okay";
359};
360
361/* phy2 - right ethernet port */
362&pcie2x1l1 {
363	reset-gpios = <&gpio3 RK_PB3 GPIO_ACTIVE_HIGH>;
364	vpcie3v3-supply = <&vcc3v3_pcie_eth>;
365	status = "okay";
366};
367
368/* phy0 - left ethernet port */
369&pcie2x1l2 {
370	reset-gpios = <&gpio4 RK_PA2 GPIO_ACTIVE_HIGH>;
371	vpcie3v3-supply = <&vcc3v3_pcie_eth>;
372	status = "okay";
373};
374
375&pcie30phy {
376	status = "okay";
377};
378
379&pcie3x4 {
380	reset-gpios = <&gpio4 RK_PB6 GPIO_ACTIVE_HIGH>;
381	vpcie3v3-supply = <&vcc3v3_pcie30>;
382	status = "okay";
383};
384
385&pinctrl {
386	hym8563 {
387		hym8563_int: hym8563-int {
388			rockchip,pins = <0 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>;
389		};
390	};
391
392	leds {
393		blue_led_pin: blue-led {
394			rockchip,pins = <3 RK_PA6 RK_FUNC_GPIO &pcfg_pull_up>;
395		};
396	};
397
398	ir-receiver {
399		ir_receiver_pin: ir-receiver-pin {
400			rockchip,pins = <4 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>;
401		};
402	};
403
404	sound {
405		hp_detect: hp-detect {
406			rockchip,pins = <1 RK_PD3 RK_FUNC_GPIO &pcfg_pull_none>;
407		};
408	};
409
410	usb {
411		vcc5v0_usb20_en: vcc5v0-usb20-en {
412			rockchip,pins = <3 RK_PB7 RK_FUNC_GPIO &pcfg_pull_none>;
413		};
414	};
415};
416
417&pwm2 {
418	pinctrl-0 = <&pwm2m1_pins>;
419	pinctrl-names = "default";
420	status = "okay";
421};
422
423&pwm3 {
424	pinctrl-0 = <&pwm3m1_pins>;
425	status = "okay";
426};
427
428&saradc {
429	vref-supply = <&vcc_1v8_s0>;
430	status = "okay";
431};
432
433&sdhci {
434	bus-width = <8>;
435	no-sdio;
436	no-sd;
437	non-removable;
438	max-frequency = <200000000>;
439	mmc-hs400-1_8v;
440	mmc-hs400-enhanced-strobe;
441	status = "okay";
442};
443
444&sdmmc {
445	bus-width = <4>;
446	cap-sd-highspeed;
447	cd-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_LOW>;
448	disable-wp;
449	max-frequency = <150000000>;
450	no-sdio;
451	no-mmc;
452	sd-uhs-sdr104;
453	vmmc-supply = <&vcc_3v3_s3>;
454	vqmmc-supply = <&vccio_sd_s0>;
455	status = "okay";
456};
457
458&sfc {
459	pinctrl-names = "default";
460	pinctrl-0 = <&fspim1_pins>;
461	status = "okay";
462
463	spi_flash: flash@0 {
464		compatible = "jedec,spi-nor";
465		reg = <0x0>;
466		spi-max-frequency = <100000000>;
467		spi-rx-bus-width = <4>;
468		spi-tx-bus-width = <1>;
469	};
470};
471
472&spi2 {
473	assigned-clocks = <&cru CLK_SPI2>;
474	assigned-clock-rates = <200000000>;
475	num-cs = <1>;
476	pinctrl-names = "default";
477	pinctrl-0 = <&spi2m2_cs0 &spi2m2_pins>;
478	status = "okay";
479
480	pmic@0 {
481		compatible = "rockchip,rk806";
482		reg = <0x0>;
483		interrupt-parent = <&gpio0>;
484		interrupts = <7 IRQ_TYPE_LEVEL_LOW>;
485		pinctrl-names = "default";
486		pinctrl-0 = <&pmic_pins>, <&rk806_dvs1_null>,
487			    <&rk806_dvs2_null>, <&rk806_dvs3_null>;
488		spi-max-frequency = <1000000>;
489
490		vcc1-supply = <&vcc5v0_sys>;
491		vcc2-supply = <&vcc5v0_sys>;
492		vcc3-supply = <&vcc5v0_sys>;
493		vcc4-supply = <&vcc5v0_sys>;
494		vcc5-supply = <&vcc5v0_sys>;
495		vcc6-supply = <&vcc5v0_sys>;
496		vcc7-supply = <&vcc5v0_sys>;
497		vcc8-supply = <&vcc5v0_sys>;
498		vcc9-supply = <&vcc5v0_sys>;
499		vcc10-supply = <&vcc5v0_sys>;
500		vcc11-supply = <&vcc_2v0_pldo_s3>;
501		vcc12-supply = <&vcc5v0_sys>;
502		vcc13-supply = <&vdd2_ddr_s3>;
503		vcc14-supply = <&vdd2_ddr_s3>;
504		vcca-supply = <&vcc5v0_sys>;
505
506		gpio-controller;
507		#gpio-cells = <2>;
508
509		rk806_dvs1_null: dvs1-null-pins {
510			pins = "gpio_pwrctrl2";
511			function = "pin_fun0";
512		};
513
514		rk806_dvs2_null: dvs2-null-pins {
515			pins = "gpio_pwrctrl2";
516			function = "pin_fun0";
517		};
518
519		rk806_dvs3_null: dvs3-null-pins {
520			pins = "gpio_pwrctrl3";
521			function = "pin_fun0";
522		};
523
524		regulators {
525			vdd_gpu_s0: dcdc-reg1 {
526				regulator-name = "vdd_gpu_s0";
527				regulator-boot-on;
528				regulator-enable-ramp-delay = <400>;
529				regulator-min-microvolt = <550000>;
530				regulator-max-microvolt = <950000>;
531				regulator-ramp-delay = <12500>;
532
533				regulator-state-mem {
534					regulator-off-in-suspend;
535				};
536			};
537
538			vdd_cpu_lit_s0: dcdc-reg2 {
539				regulator-name = "vdd_cpu_lit_s0";
540				regulator-always-on;
541				regulator-boot-on;
542				regulator-min-microvolt = <550000>;
543				regulator-max-microvolt = <950000>;
544				regulator-ramp-delay = <12500>;
545
546				regulator-state-mem {
547					regulator-off-in-suspend;
548				};
549			};
550
551			vdd_log_s0: dcdc-reg3 {
552				regulator-name = "vdd_log_s0";
553				regulator-always-on;
554				regulator-boot-on;
555				regulator-min-microvolt = <675000>;
556				regulator-max-microvolt = <825000>;
557				regulator-ramp-delay = <12500>;
558
559				regulator-state-mem {
560					regulator-off-in-suspend;
561					regulator-suspend-microvolt = <750000>;
562				};
563			};
564
565			vdd_vdenc_s0: dcdc-reg4 {
566				regulator-name = "vdd_vdenc_s0";
567				regulator-always-on;
568				regulator-boot-on;
569				regulator-min-microvolt = <550000>;
570				regulator-max-microvolt = <825000>;
571				regulator-ramp-delay = <12500>;
572
573				regulator-state-mem {
574					regulator-off-in-suspend;
575				};
576			};
577
578			vdd_ddr_s0: dcdc-reg5 {
579				regulator-name = "vdd_ddr_s0";
580				regulator-always-on;
581				regulator-boot-on;
582				regulator-min-microvolt = <675000>;
583				regulator-max-microvolt = <900000>;
584				regulator-ramp-delay = <12500>;
585
586				regulator-state-mem {
587					regulator-off-in-suspend;
588					regulator-suspend-microvolt = <850000>;
589				};
590			};
591
592			vdd2_ddr_s3: dcdc-reg6 {
593				regulator-name = "vdd2_ddr_s3";
594				regulator-always-on;
595				regulator-boot-on;
596
597				regulator-state-mem {
598					regulator-on-in-suspend;
599				};
600			};
601
602			vcc_2v0_pldo_s3: dcdc-reg7 {
603				regulator-name = "vdd_2v0_pldo_s3";
604				regulator-always-on;
605				regulator-boot-on;
606				regulator-min-microvolt = <2000000>;
607				regulator-max-microvolt = <2000000>;
608				regulator-ramp-delay = <12500>;
609
610				regulator-state-mem {
611					regulator-on-in-suspend;
612					regulator-suspend-microvolt = <2000000>;
613				};
614			};
615
616			vcc_3v3_s3: dcdc-reg8 {
617				regulator-name = "vcc_3v3_s3";
618				regulator-always-on;
619				regulator-boot-on;
620				regulator-min-microvolt = <3300000>;
621				regulator-max-microvolt = <3300000>;
622
623				regulator-state-mem {
624					regulator-on-in-suspend;
625					regulator-suspend-microvolt = <3300000>;
626				};
627			};
628
629			vddq_ddr_s0: dcdc-reg9 {
630				regulator-name = "vddq_ddr_s0";
631				regulator-always-on;
632				regulator-boot-on;
633
634				regulator-state-mem {
635					regulator-off-in-suspend;
636				};
637			};
638
639			vcc_1v8_s3: dcdc-reg10 {
640				regulator-name = "vcc_1v8_s3";
641				regulator-always-on;
642				regulator-boot-on;
643				regulator-min-microvolt = <1800000>;
644				regulator-max-microvolt = <1800000>;
645
646				regulator-state-mem {
647					regulator-on-in-suspend;
648					regulator-suspend-microvolt = <1800000>;
649				};
650			};
651
652			avcc_1v8_s0: pldo-reg1 {
653				regulator-name = "avcc_1v8_s0";
654				regulator-always-on;
655				regulator-boot-on;
656				regulator-min-microvolt = <1800000>;
657				regulator-max-microvolt = <1800000>;
658
659				regulator-state-mem {
660					regulator-off-in-suspend;
661					regulator-suspend-microvolt = <1800000>;
662				};
663			};
664
665			/* shorted to avcc_1v8_s0 on the board */
666			vcc_1v8_s0: pldo-reg2 {
667				regulator-name = "vcc_1v8_s0";
668				regulator-always-on;
669				regulator-boot-on;
670				regulator-min-microvolt = <1800000>;
671				regulator-max-microvolt = <1800000>;
672
673				regulator-state-mem {
674					regulator-off-in-suspend;
675					regulator-suspend-microvolt = <1800000>;
676				};
677			};
678
679			avdd_1v2_s0: pldo-reg3 {
680				regulator-name = "avdd_1v2_s0";
681				regulator-always-on;
682				regulator-boot-on;
683				regulator-min-microvolt = <1200000>;
684				regulator-max-microvolt = <1200000>;
685
686				regulator-state-mem {
687					regulator-off-in-suspend;
688				};
689			};
690
691			vcc_3v3_s0: pldo-reg4 {
692				regulator-name = "vcc_3v3_s0";
693				regulator-always-on;
694				regulator-boot-on;
695				regulator-min-microvolt = <3300000>;
696				regulator-max-microvolt = <3300000>;
697				regulator-ramp-delay = <12500>;
698
699				regulator-state-mem {
700					regulator-off-in-suspend;
701				};
702			};
703
704			vccio_sd_s0: pldo-reg5 {
705				regulator-name = "vccio_sd_s0";
706				regulator-always-on;
707				regulator-boot-on;
708				regulator-min-microvolt = <1800000>;
709				regulator-max-microvolt = <3300000>;
710				regulator-ramp-delay = <12500>;
711
712				regulator-state-mem {
713					regulator-off-in-suspend;
714				};
715			};
716
717			pldo6_s3: pldo-reg6 {
718				regulator-name = "pldo6_s3";
719				regulator-always-on;
720				regulator-boot-on;
721				regulator-min-microvolt = <1800000>;
722				regulator-max-microvolt = <1800000>;
723
724				regulator-state-mem {
725					regulator-on-in-suspend;
726					regulator-suspend-microvolt = <1800000>;
727				};
728			};
729
730			vdd_0v75_s3: nldo-reg1 {
731				regulator-name = "vdd_0v75_s3";
732				regulator-always-on;
733				regulator-boot-on;
734				regulator-min-microvolt = <750000>;
735				regulator-max-microvolt = <750000>;
736
737				regulator-state-mem {
738					regulator-on-in-suspend;
739					regulator-suspend-microvolt = <750000>;
740				};
741			};
742
743			vdd_ddr_pll_s0: nldo-reg2 {
744				regulator-name = "vdd_ddr_pll_s0";
745				regulator-always-on;
746				regulator-boot-on;
747				regulator-min-microvolt = <850000>;
748				regulator-max-microvolt = <850000>;
749
750				regulator-state-mem {
751					regulator-off-in-suspend;
752					regulator-suspend-microvolt = <850000>;
753				};
754			};
755
756			avdd_0v75_s0: nldo-reg3 {
757				regulator-name = "avdd_0v75_s0";
758				regulator-always-on;
759				regulator-boot-on;
760				/*
761				 * The schematic mentions that actual setting
762				 * should be 0.8375V. RK3588 datasheet specifies
763				 * maximum as 0.825V. So we set datasheet max
764				 * here.
765				 */
766				regulator-min-microvolt = <825000>;
767				regulator-max-microvolt = <825000>;
768
769				regulator-state-mem {
770					regulator-off-in-suspend;
771				};
772			};
773
774			vdd_0v85_s0: nldo-reg4 {
775				regulator-name = "vdd_0v85_s0";
776				regulator-always-on;
777				regulator-boot-on;
778				regulator-min-microvolt = <850000>;
779				regulator-max-microvolt = <850000>;
780
781				regulator-state-mem {
782					regulator-off-in-suspend;
783				};
784			};
785
786			vdd_0v75_s0: nldo-reg5 {
787				regulator-name = "vdd_0v75_s0";
788				regulator-always-on;
789				regulator-boot-on;
790				regulator-min-microvolt = <750000>;
791				regulator-max-microvolt = <750000>;
792
793				regulator-state-mem {
794					regulator-off-in-suspend;
795				};
796			};
797		};
798	};
799};
800
801&tsadc {
802	status = "okay";
803};
804
805&u2phy2 {
806	status = "okay";
807};
808
809&u2phy3 {
810	status = "okay";
811};
812
813&u2phy2_host {
814	phy-supply = <&vcc5v0_usb20>;
815	status = "okay";
816};
817
818&u2phy3_host {
819	phy-supply = <&vcc5v0_usb20>;
820	status = "okay";
821};
822
823&uart2 {
824	pinctrl-0 = <&uart2m0_xfer>;
825	status = "okay";
826};
827
828&uart9 {
829	pinctrl-0 = <&uart9m0_xfer>;
830	status = "okay";
831};
832
833&usb_host0_ehci {
834	status = "okay";
835};
836
837&usb_host0_ohci {
838	status = "okay";
839};
840
841&usb_host1_ehci {
842	status = "okay";
843};
844
845&usb_host1_ohci {
846	status = "okay";
847};
848