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	disable-wp;
448	max-frequency = <150000000>;
449	no-sdio;
450	no-mmc;
451	sd-uhs-sdr104;
452	vmmc-supply = <&vcc_3v3_s3>;
453	vqmmc-supply = <&vccio_sd_s0>;
454	status = "okay";
455};
456
457&sfc {
458	pinctrl-names = "default";
459	pinctrl-0 = <&fspim1_pins>;
460	status = "okay";
461
462	spi_flash: flash@0 {
463		compatible = "jedec,spi-nor";
464		reg = <0x0>;
465		spi-max-frequency = <100000000>;
466		spi-rx-bus-width = <4>;
467		spi-tx-bus-width = <1>;
468	};
469};
470
471&spi2 {
472	assigned-clocks = <&cru CLK_SPI2>;
473	assigned-clock-rates = <200000000>;
474	num-cs = <1>;
475	pinctrl-names = "default";
476	pinctrl-0 = <&spi2m2_cs0 &spi2m2_pins>;
477	status = "okay";
478
479	pmic@0 {
480		compatible = "rockchip,rk806";
481		reg = <0x0>;
482		interrupt-parent = <&gpio0>;
483		interrupts = <7 IRQ_TYPE_LEVEL_LOW>;
484		pinctrl-names = "default";
485		pinctrl-0 = <&pmic_pins>, <&rk806_dvs1_null>,
486			    <&rk806_dvs2_null>, <&rk806_dvs3_null>;
487		spi-max-frequency = <1000000>;
488
489		vcc1-supply = <&vcc5v0_sys>;
490		vcc2-supply = <&vcc5v0_sys>;
491		vcc3-supply = <&vcc5v0_sys>;
492		vcc4-supply = <&vcc5v0_sys>;
493		vcc5-supply = <&vcc5v0_sys>;
494		vcc6-supply = <&vcc5v0_sys>;
495		vcc7-supply = <&vcc5v0_sys>;
496		vcc8-supply = <&vcc5v0_sys>;
497		vcc9-supply = <&vcc5v0_sys>;
498		vcc10-supply = <&vcc5v0_sys>;
499		vcc11-supply = <&vcc_2v0_pldo_s3>;
500		vcc12-supply = <&vcc5v0_sys>;
501		vcc13-supply = <&vdd2_ddr_s3>;
502		vcc14-supply = <&vdd2_ddr_s3>;
503		vcca-supply = <&vcc5v0_sys>;
504
505		gpio-controller;
506		#gpio-cells = <2>;
507
508		rk806_dvs1_null: dvs1-null-pins {
509			pins = "gpio_pwrctrl2";
510			function = "pin_fun0";
511		};
512
513		rk806_dvs2_null: dvs2-null-pins {
514			pins = "gpio_pwrctrl2";
515			function = "pin_fun0";
516		};
517
518		rk806_dvs3_null: dvs3-null-pins {
519			pins = "gpio_pwrctrl3";
520			function = "pin_fun0";
521		};
522
523		regulators {
524			vdd_gpu_s0: dcdc-reg1 {
525				regulator-name = "vdd_gpu_s0";
526				regulator-boot-on;
527				regulator-enable-ramp-delay = <400>;
528				regulator-min-microvolt = <550000>;
529				regulator-max-microvolt = <950000>;
530				regulator-ramp-delay = <12500>;
531
532				regulator-state-mem {
533					regulator-off-in-suspend;
534				};
535			};
536
537			vdd_cpu_lit_s0: dcdc-reg2 {
538				regulator-name = "vdd_cpu_lit_s0";
539				regulator-always-on;
540				regulator-boot-on;
541				regulator-min-microvolt = <550000>;
542				regulator-max-microvolt = <950000>;
543				regulator-ramp-delay = <12500>;
544
545				regulator-state-mem {
546					regulator-off-in-suspend;
547				};
548			};
549
550			vdd_log_s0: dcdc-reg3 {
551				regulator-name = "vdd_log_s0";
552				regulator-always-on;
553				regulator-boot-on;
554				regulator-min-microvolt = <675000>;
555				regulator-max-microvolt = <825000>;
556				regulator-ramp-delay = <12500>;
557
558				regulator-state-mem {
559					regulator-off-in-suspend;
560					regulator-suspend-microvolt = <750000>;
561				};
562			};
563
564			vdd_vdenc_s0: dcdc-reg4 {
565				regulator-name = "vdd_vdenc_s0";
566				regulator-always-on;
567				regulator-boot-on;
568				regulator-min-microvolt = <550000>;
569				regulator-max-microvolt = <825000>;
570				regulator-ramp-delay = <12500>;
571
572				regulator-state-mem {
573					regulator-off-in-suspend;
574				};
575			};
576
577			vdd_ddr_s0: dcdc-reg5 {
578				regulator-name = "vdd_ddr_s0";
579				regulator-always-on;
580				regulator-boot-on;
581				regulator-min-microvolt = <675000>;
582				regulator-max-microvolt = <900000>;
583				regulator-ramp-delay = <12500>;
584
585				regulator-state-mem {
586					regulator-off-in-suspend;
587					regulator-suspend-microvolt = <850000>;
588				};
589			};
590
591			vdd2_ddr_s3: dcdc-reg6 {
592				regulator-name = "vdd2_ddr_s3";
593				regulator-always-on;
594				regulator-boot-on;
595
596				regulator-state-mem {
597					regulator-on-in-suspend;
598				};
599			};
600
601			vcc_2v0_pldo_s3: dcdc-reg7 {
602				regulator-name = "vdd_2v0_pldo_s3";
603				regulator-always-on;
604				regulator-boot-on;
605				regulator-min-microvolt = <2000000>;
606				regulator-max-microvolt = <2000000>;
607				regulator-ramp-delay = <12500>;
608
609				regulator-state-mem {
610					regulator-on-in-suspend;
611					regulator-suspend-microvolt = <2000000>;
612				};
613			};
614
615			vcc_3v3_s3: dcdc-reg8 {
616				regulator-name = "vcc_3v3_s3";
617				regulator-always-on;
618				regulator-boot-on;
619				regulator-min-microvolt = <3300000>;
620				regulator-max-microvolt = <3300000>;
621
622				regulator-state-mem {
623					regulator-on-in-suspend;
624					regulator-suspend-microvolt = <3300000>;
625				};
626			};
627
628			vddq_ddr_s0: dcdc-reg9 {
629				regulator-name = "vddq_ddr_s0";
630				regulator-always-on;
631				regulator-boot-on;
632
633				regulator-state-mem {
634					regulator-off-in-suspend;
635				};
636			};
637
638			vcc_1v8_s3: dcdc-reg10 {
639				regulator-name = "vcc_1v8_s3";
640				regulator-always-on;
641				regulator-boot-on;
642				regulator-min-microvolt = <1800000>;
643				regulator-max-microvolt = <1800000>;
644
645				regulator-state-mem {
646					regulator-on-in-suspend;
647					regulator-suspend-microvolt = <1800000>;
648				};
649			};
650
651			avcc_1v8_s0: pldo-reg1 {
652				regulator-name = "avcc_1v8_s0";
653				regulator-always-on;
654				regulator-boot-on;
655				regulator-min-microvolt = <1800000>;
656				regulator-max-microvolt = <1800000>;
657
658				regulator-state-mem {
659					regulator-off-in-suspend;
660					regulator-suspend-microvolt = <1800000>;
661				};
662			};
663
664			/* shorted to avcc_1v8_s0 on the board */
665			vcc_1v8_s0: pldo-reg2 {
666				regulator-name = "vcc_1v8_s0";
667				regulator-always-on;
668				regulator-boot-on;
669				regulator-min-microvolt = <1800000>;
670				regulator-max-microvolt = <1800000>;
671
672				regulator-state-mem {
673					regulator-off-in-suspend;
674					regulator-suspend-microvolt = <1800000>;
675				};
676			};
677
678			avdd_1v2_s0: pldo-reg3 {
679				regulator-name = "avdd_1v2_s0";
680				regulator-always-on;
681				regulator-boot-on;
682				regulator-min-microvolt = <1200000>;
683				regulator-max-microvolt = <1200000>;
684
685				regulator-state-mem {
686					regulator-off-in-suspend;
687				};
688			};
689
690			vcc_3v3_s0: pldo-reg4 {
691				regulator-name = "vcc_3v3_s0";
692				regulator-always-on;
693				regulator-boot-on;
694				regulator-min-microvolt = <3300000>;
695				regulator-max-microvolt = <3300000>;
696				regulator-ramp-delay = <12500>;
697
698				regulator-state-mem {
699					regulator-off-in-suspend;
700				};
701			};
702
703			vccio_sd_s0: pldo-reg5 {
704				regulator-name = "vccio_sd_s0";
705				regulator-always-on;
706				regulator-boot-on;
707				regulator-min-microvolt = <1800000>;
708				regulator-max-microvolt = <3300000>;
709				regulator-ramp-delay = <12500>;
710
711				regulator-state-mem {
712					regulator-off-in-suspend;
713				};
714			};
715
716			pldo6_s3: pldo-reg6 {
717				regulator-name = "pldo6_s3";
718				regulator-always-on;
719				regulator-boot-on;
720				regulator-min-microvolt = <1800000>;
721				regulator-max-microvolt = <1800000>;
722
723				regulator-state-mem {
724					regulator-on-in-suspend;
725					regulator-suspend-microvolt = <1800000>;
726				};
727			};
728
729			vdd_0v75_s3: nldo-reg1 {
730				regulator-name = "vdd_0v75_s3";
731				regulator-always-on;
732				regulator-boot-on;
733				regulator-min-microvolt = <750000>;
734				regulator-max-microvolt = <750000>;
735
736				regulator-state-mem {
737					regulator-on-in-suspend;
738					regulator-suspend-microvolt = <750000>;
739				};
740			};
741
742			vdd_ddr_pll_s0: nldo-reg2 {
743				regulator-name = "vdd_ddr_pll_s0";
744				regulator-always-on;
745				regulator-boot-on;
746				regulator-min-microvolt = <850000>;
747				regulator-max-microvolt = <850000>;
748
749				regulator-state-mem {
750					regulator-off-in-suspend;
751					regulator-suspend-microvolt = <850000>;
752				};
753			};
754
755			avdd_0v75_s0: nldo-reg3 {
756				regulator-name = "avdd_0v75_s0";
757				regulator-always-on;
758				regulator-boot-on;
759				/*
760				 * The schematic mentions that actual setting
761				 * should be 0.8375V. RK3588 datasheet specifies
762				 * maximum as 0.825V. So we set datasheet max
763				 * here.
764				 */
765				regulator-min-microvolt = <825000>;
766				regulator-max-microvolt = <825000>;
767
768				regulator-state-mem {
769					regulator-off-in-suspend;
770				};
771			};
772
773			vdd_0v85_s0: nldo-reg4 {
774				regulator-name = "vdd_0v85_s0";
775				regulator-always-on;
776				regulator-boot-on;
777				regulator-min-microvolt = <850000>;
778				regulator-max-microvolt = <850000>;
779
780				regulator-state-mem {
781					regulator-off-in-suspend;
782				};
783			};
784
785			vdd_0v75_s0: nldo-reg5 {
786				regulator-name = "vdd_0v75_s0";
787				regulator-always-on;
788				regulator-boot-on;
789				regulator-min-microvolt = <750000>;
790				regulator-max-microvolt = <750000>;
791
792				regulator-state-mem {
793					regulator-off-in-suspend;
794				};
795			};
796		};
797	};
798};
799
800&tsadc {
801	status = "okay";
802};
803
804&u2phy2 {
805	status = "okay";
806};
807
808&u2phy3 {
809	status = "okay";
810};
811
812&u2phy2_host {
813	phy-supply = <&vcc5v0_usb20>;
814	status = "okay";
815};
816
817&u2phy3_host {
818	phy-supply = <&vcc5v0_usb20>;
819	status = "okay";
820};
821
822&uart2 {
823	pinctrl-0 = <&uart2m0_xfer>;
824	status = "okay";
825};
826
827&uart9 {
828	pinctrl-0 = <&uart9m0_xfer>;
829	status = "okay";
830};
831
832&usb_host0_ehci {
833	status = "okay";
834};
835
836&usb_host0_ohci {
837	status = "okay";
838};
839
840&usb_host1_ehci {
841	status = "okay";
842};
843
844&usb_host1_ohci {
845	status = "okay";
846};
847