1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2
3/dts-v1/;
4
5#include <dt-bindings/gpio/gpio.h>
6#include <dt-bindings/leds/common.h>
7#include <dt-bindings/pinctrl/rockchip.h>
8#include <dt-bindings/soc/rockchip,vop2.h>
9#include <dt-bindings/usb/pd.h>
10#include "rk3588s.dtsi"
11
12/ {
13	model = "Hardkernel ODROID-M2";
14	compatible = "hardkernel,odroid-m2", "rockchip,rk3588s";
15
16	aliases {
17		ethernet0 = &gmac1;
18		mmc0 = &sdhci;
19		mmc1 = &sdmmc;
20	};
21
22	chosen {
23		stdout-path = "serial2:1500000n8";
24	};
25
26	hdmi-con {
27		compatible = "hdmi-connector";
28		type = "a";
29
30		port {
31			hdmi_con_in: endpoint {
32				remote-endpoint = <&hdmi0_out_con>;
33			};
34		};
35	};
36
37	leds {
38		compatible = "gpio-leds";
39		pinctrl-names = "default";
40		pinctrl-0 = <&pwr_led>, <&sys_led>;
41
42		led_pwr: led-0 {
43			color = <LED_COLOR_ID_RED>;
44			default-state = "on";
45			function = LED_FUNCTION_POWER;
46			gpios = <&gpio1 RK_PB5 GPIO_ACTIVE_HIGH>;
47			linux,default-trigger = "default-on";
48		};
49
50		led_sys: led-1 {
51			color = <LED_COLOR_ID_BLUE>;
52			default-state = "on";
53			function = LED_FUNCTION_HEARTBEAT;
54			gpios = <&gpio1 RK_PB1 GPIO_ACTIVE_HIGH>;
55			linux,default-trigger = "heartbeat";
56		};
57	};
58
59	fan: pwm-fan {
60		compatible = "pwm-fan";
61		#cooling-cells = <2>;
62		cooling-levels = <0 192 224 255>;
63		fan-supply = <&vcc5v0_sys>;
64		pwms = <&pwm0 0 22222 0>;
65	};
66
67	vcc_1v1_nldo_s3: regulator-1v1-vcc-nldo-s3 {
68		compatible = "regulator-fixed";
69		regulator-name = "vcc_1v1_nldo_s3";
70		regulator-always-on;
71		regulator-boot-on;
72		regulator-min-microvolt = <1100000>;
73		regulator-max-microvolt = <1100000>;
74		vin-supply = <&vcc4v0_sys>;
75	};
76
77	vcc3v3_lcd: regulator-3v3-vcc-lcd {
78		compatible = "regulator-fixed";
79		enable-active-high;
80		gpios = <&gpio4 RK_PA3 GPIO_ACTIVE_HIGH>;
81		pinctrl-names = "default";
82		pinctrl-0 = <&lcd_pwren>;
83		regulator-name = "vcc3v3_lcd";
84		regulator-min-microvolt = <3300000>;
85		regulator-max-microvolt = <3300000>;
86		vin-supply = <&vcc_3v3_s3>;
87	};
88
89	vcc3v3_pcie: regulator-3v3-vcc-pcie {
90		compatible = "regulator-fixed";
91		enable-active-high;
92		gpios = <&gpio0 RK_PC6 GPIO_ACTIVE_HIGH>;
93		pinctrl-names = "default";
94		pinctrl-0 = <&pcie_pwren>;
95		regulator-name = "vcc3v3_pcie";
96		regulator-min-microvolt = <3300000>;
97		regulator-max-microvolt = <3300000>;
98		vin-supply = <&vcc_3v3_s3>;
99	};
100
101	vcc_3v3_s0: regulator-3v3-vcc-s0 {
102		compatible = "regulator-fixed";
103		regulator-name = "vcc_3v3_s0";
104		regulator-always-on;
105		regulator-boot-on;
106		regulator-min-microvolt = <3300000>;
107		regulator-max-microvolt = <3300000>;
108		vin-supply = <&vcc_3v3_s3>;
109	};
110
111	vcc4v0_sys: regulator-4v0-vcc-sys {
112		compatible = "regulator-fixed";
113		regulator-name = "vcc4v0_sys";
114		regulator-always-on;
115		regulator-boot-on;
116		regulator-min-microvolt = <4800000>;
117		regulator-max-microvolt = <4800000>;
118		vin-supply = <&vcc12v_dcin>;
119	};
120
121	vcc5v0_sys: regulator-5v0-vcc-sys {
122		compatible = "regulator-fixed";
123		enable-active-high;
124		gpios = <&gpio0 RK_PD3 GPIO_ACTIVE_HIGH>;
125		pinctrl-names = "default";
126		pinctrl-0 = <&vcc5v0_pwren>;
127		regulator-name = "vcc5v0_sys";
128		regulator-always-on;
129		regulator-boot-on;
130		regulator-min-microvolt = <5000000>;
131		regulator-max-microvolt = <5000000>;
132		vin-supply = <&vcc12v_dcin>;
133	};
134
135	vcc5v0_usb2_host: regulator-5v0-vcc-usb2-host {
136		compatible = "regulator-fixed";
137		enable-active-high;
138		gpios = <&gpio1 RK_PC6 GPIO_ACTIVE_HIGH>;
139		pinctrl-names = "default";
140		pinctrl-0 = <&usb2_host_pwren>;
141		regulator-name = "vcc5v0_usb2_host";
142		regulator-min-microvolt = <5000000>;
143		regulator-max-microvolt = <5000000>;
144		vin-supply = <&vcc5v0_sys>;
145	};
146
147	vcc5v0_usb3_host: regulator-5v0-vcc-usb3-host {
148		compatible = "regulator-fixed";
149		enable-active-high;
150		gpios = <&gpio1 RK_PA6 GPIO_ACTIVE_HIGH>;
151		pinctrl-names = "default";
152		pinctrl-0 = <&usb3_host_pwren>;
153		regulator-name = "vcc5v0_usb3_host";
154		regulator-min-microvolt = <5000000>;
155		regulator-max-microvolt = <5000000>;
156		vin-supply = <&vcc5v0_sys>;
157	};
158
159	vcc5v0_usb3_typec: regulator-5v0-vcc-usb3-typec {
160		compatible = "regulator-fixed";
161		enable-active-high;
162		gpios = <&gpio0 RK_PA0 GPIO_ACTIVE_HIGH>;
163		pinctrl-names = "default";
164		pinctrl-0 = <&usb3_typec_pwren>;
165		regulator-name = "vcc5v0_usb3_typec";
166		regulator-min-microvolt = <5000000>;
167		regulator-max-microvolt = <5000000>;
168		vin-supply = <&vcc5v0_sys>;
169	};
170
171	vcca: regulator-5v0-vcca {
172		compatible = "regulator-fixed";
173		regulator-name = "vcca";
174		regulator-always-on;
175		regulator-boot-on;
176		regulator-min-microvolt = <5000000>;
177		regulator-max-microvolt = <5000000>;
178		vin-supply = <&vcc12v_dcin>;
179	};
180
181	vcc12v_dcin: regulator-12v0-vcc-dcin {
182		compatible = "regulator-fixed";
183		regulator-name = "vcc12v_dcin";
184		regulator-always-on;
185		regulator-boot-on;
186		regulator-min-microvolt = <12000000>;
187		regulator-max-microvolt = <12000000>;
188	};
189};
190
191&combphy0_ps {
192	status = "okay";
193};
194
195&combphy2_psu {
196	status = "okay";
197};
198
199&cpu_b0 {
200	cpu-supply = <&vdd_cpu_big0_s0>;
201};
202
203&cpu_b1 {
204	cpu-supply = <&vdd_cpu_big0_s0>;
205};
206
207&cpu_b2 {
208	cpu-supply = <&vdd_cpu_big1_s0>;
209};
210
211&cpu_b3 {
212	cpu-supply = <&vdd_cpu_big1_s0>;
213};
214
215&cpu_l0 {
216	cpu-supply = <&vdd_cpu_lit_s0>;
217};
218
219&cpu_l1 {
220	cpu-supply = <&vdd_cpu_lit_s0>;
221};
222
223&cpu_l2 {
224	cpu-supply = <&vdd_cpu_lit_s0>;
225};
226
227&cpu_l3 {
228	cpu-supply = <&vdd_cpu_lit_s0>;
229};
230
231&gmac1 {
232	clock_in_out = "output";
233	phy-handle = <&rgmii_phy1>;
234	phy-mode = "rgmii-id";
235	phy-supply = <&vcc_3v3_s0>;
236	pinctrl-names = "default";
237	pinctrl-0 = <&gmac1_miim
238		     &gmac1_tx_bus2
239		     &gmac1_rx_bus2
240		     &gmac1_rgmii_clk
241		     &gmac1_rgmii_bus
242		     &gmac1_clkinout>;
243	status = "okay";
244};
245
246&gpu {
247	mali-supply = <&vdd_gpu_s0>;
248	status = "okay";
249};
250
251&hdmi0 {
252	status = "okay";
253};
254
255&hdmi0_in {
256	hdmi0_in_vp0: endpoint {
257		remote-endpoint = <&vp0_out_hdmi0>;
258	};
259};
260
261&hdmi0_out {
262	hdmi0_out_con: endpoint {
263		remote-endpoint = <&hdmi_con_in>;
264	};
265};
266
267&hdptxphy0 {
268	status = "okay";
269};
270
271&i2c0 {
272	pinctrl-names = "default";
273	pinctrl-0 = <&i2c0m2_xfer>;
274	status = "okay";
275
276	vdd_cpu_big0_s0: regulator@42 {
277		compatible = "rockchip,rk8602";
278		reg = <0x42>;
279		fcs,suspend-voltage-selector = <1>;
280		regulator-name = "vdd_cpu_big0_s0";
281		regulator-always-on;
282		regulator-boot-on;
283		regulator-min-microvolt = <550000>;
284		regulator-max-microvolt = <1050000>;
285		regulator-ramp-delay = <2300>;
286		vin-supply = <&vcc4v0_sys>;
287
288		regulator-state-mem {
289			regulator-off-in-suspend;
290		};
291	};
292
293	vdd_cpu_big1_s0: regulator@43 {
294		compatible = "rockchip,rk8603", "rockchip,rk8602";
295		reg = <0x43>;
296		fcs,suspend-voltage-selector = <1>;
297		regulator-name = "vdd_cpu_big1_s0";
298		regulator-always-on;
299		regulator-boot-on;
300		regulator-min-microvolt = <550000>;
301		regulator-max-microvolt = <1050000>;
302		regulator-ramp-delay = <2300>;
303		vin-supply = <&vcc4v0_sys>;
304
305		regulator-state-mem {
306			regulator-off-in-suspend;
307		};
308	};
309};
310
311&i2c2 {
312	status = "okay";
313
314	vdd_npu_s0: regulator@42 {
315		compatible = "rockchip,rk8602";
316		reg = <0x42>;
317		fcs,suspend-voltage-selector = <1>;
318		regulator-name = "vdd_npu_s0";
319		regulator-always-on;
320		regulator-boot-on;
321		regulator-min-microvolt = <550000>;
322		regulator-max-microvolt = <950000>;
323		regulator-ramp-delay = <2300>;
324		vin-supply = <&vcc4v0_sys>;
325
326		regulator-state-mem {
327			regulator-off-in-suspend;
328		};
329	};
330};
331
332&i2c8 {
333	clock-frequency = <400000>;
334	pinctrl-names = "default";
335	pinctrl-0 = <&i2c8m2_xfer>;
336	status = "okay";
337
338	usbc0: usb-typec@22 {
339		compatible = "fcs,fusb302";
340		reg = <0x22>;
341		interrupt-parent = <&gpio4>;
342		interrupts = <RK_PA5 IRQ_TYPE_LEVEL_LOW>;
343		pinctrl-names = "default";
344		pinctrl-0 = <&usbc0_int>;
345		vbus-supply = <&vcc5v0_usb3_typec>;
346
347		connector {
348			compatible = "usb-c-connector";
349			data-role = "dual";
350			label = "USB-C";
351			op-sink-microwatt = <1000000>;
352			power-role = "dual";
353			sink-pdos = <PDO_FIXED(5000, 1000, PDO_FIXED_USB_COMM)>;
354			source-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>;
355			try-power-role = "source";
356
357			ports {
358				#address-cells = <1>;
359				#size-cells = <0>;
360
361				port@0 {
362					reg = <0>;
363
364					usbc0_role_switch: endpoint {
365						remote-endpoint = <&usb_host0_xhci_role_switch>;
366					};
367				};
368
369				port@1 {
370					reg = <1>;
371
372					usbc0_orientation_switch: endpoint {
373						remote-endpoint = <&usbdp_phy0_orientation_switch>;
374					};
375				};
376
377				port@2 {
378					reg = <2>;
379
380					usbc0_dp_altmode_mux: endpoint {
381						remote-endpoint = <&usbdp_phy0_dp_altmode_mux>;
382					};
383				};
384			};
385		};
386	};
387
388	pcf8563: rtc@51 {
389		compatible = "nxp,pcf8563";
390		reg = <0x51>;
391		interrupt-parent = <&gpio0>;
392		interrupts = <RK_PB0 IRQ_TYPE_LEVEL_LOW>;
393		pinctrl-names = "default";
394		pinctrl-0 = <&pcf8563_int>;
395		wakeup-source;
396	};
397};
398
399&mdio1 {
400	rgmii_phy1: ethernet-phy@1 {
401		compatible = "ethernet-phy-id001c.c916";
402		reg = <1>;
403		reset-assert-us = <20000>;
404		reset-deassert-us = <100000>;
405		reset-gpios = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>;
406	};
407};
408
409&package_thermal {
410	polling-delay = <1000>;
411
412	trips {
413		package_fan0: package-fan0 {
414			hysteresis = <2000>;
415			temperature = <60000>;
416			type = "active";
417		};
418	};
419
420	cooling-maps {
421		map0 {
422			cooling-device = <&fan 1 THERMAL_NO_LIMIT>;
423			trip = <&package_fan0>;
424		};
425	};
426};
427
428&pcie2x1l2 {
429	pinctrl-names = "default";
430	pinctrl-0 = <&pcie20x1_pins>;
431	reset-gpios = <&gpio1 RK_PA7 GPIO_ACTIVE_HIGH>;
432	vpcie3v3-supply = <&vcc3v3_pcie>;
433	status = "okay";
434};
435
436&pd_gpu {
437	domain-supply = <&vdd_gpu_s0>;
438};
439
440&pinctrl {
441	lcd {
442		lcd_pwren: lcd-pwren {
443			rockchip,pins = <4 RK_PA3 RK_FUNC_GPIO &pcfg_pull_none>;
444		};
445	};
446
447	leds {
448		pwr_led: pwr-led {
449			rockchip,pins = <1 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>;
450		};
451
452		sys_led: sys-led {
453			rockchip,pins = <1 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>;
454		};
455	};
456
457	pcie {
458		pcie20x1_pins: pcie20x1-pins {
459			rockchip,pins =
460				<1 RK_PA0 4 &pcfg_pull_none>,
461				<1 RK_PA7 RK_FUNC_GPIO &pcfg_pull_none>,
462				<1 RK_PA1 4 &pcfg_pull_none>;
463		};
464
465		pcie_pwren: pcie-pwren {
466			rockchip,pins = <0 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>;
467		};
468	};
469
470	regulator {
471		vcc5v0_pwren: vcc5v0-pwren {
472			rockchip,pins = <0 RK_PD3 RK_FUNC_GPIO &pcfg_pull_none>;
473		};
474	};
475
476	rtc {
477		pcf8563_int: pcf8563-int {
478			rockchip,pins = <0 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>;
479		};
480	};
481
482	usb {
483		usb2_host_pwren: usb2-host-pwren {
484			rockchip,pins = <1 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>;
485		};
486
487		usb3_host_pwren: usb3-host-pwren {
488			rockchip,pins = <1 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>;
489		};
490
491		usb3_typec_pwren: usb3-typec-pwren {
492			rockchip,pins = <0 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>;
493		};
494
495		usbc0_int: usbc0-int {
496			rockchip,pins = <4 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>;
497		};
498	};
499};
500
501&pwm0 {
502	pinctrl-names = "default";
503	pinctrl-0 = <&pwm0m2_pins>;
504	status = "okay";
505};
506
507&saradc {
508	vref-supply = <&vcca_1v8_s0>;
509	status = "okay";
510};
511
512&sdhci {
513	bus-width = <8>;
514	mmc-hs400-1_8v;
515	mmc-hs400-enhanced-strobe;
516	no-sd;
517	no-sdio;
518	non-removable;
519	vmmc-supply = <&vcc_3v3_s0>;
520	vqmmc-supply = <&vcc_1v8_s0>;
521	status = "okay";
522};
523
524&sdmmc {
525	bus-width = <4>;
526	cap-sd-highspeed;
527	cd-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_LOW>;
528	disable-wp;
529	max-frequency = <150000000>;
530	no-mmc;
531	no-sdio;
532	sd-uhs-sdr104;
533	vmmc-supply = <&vcc_3v3_s3>;
534	vqmmc-supply = <&vccio_sd_s0>;
535	status = "okay";
536};
537
538&spi2 {
539	assigned-clocks = <&cru CLK_SPI2>;
540	assigned-clock-rates = <200000000>;
541	num-cs = <1>;
542	pinctrl-names = "default";
543	pinctrl-0 = <&spi2m2_cs0>, <&spi2m2_pins>;
544	status = "okay";
545
546	pmic@0 {
547		compatible = "rockchip,rk806";
548		reg = <0x0>;
549		#gpio-cells = <2>;
550		gpio-controller;
551		interrupt-parent = <&gpio0>;
552		interrupts = <RK_PA7 IRQ_TYPE_LEVEL_LOW>;
553		pinctrl-names = "default";
554		pinctrl-0 = <&pmic_pins>, <&rk806_dvs1_null>,
555			    <&rk806_dvs2_null>, <&rk806_dvs3_null>;
556		spi-max-frequency = <1000000>;
557		system-power-controller;
558
559		vcc1-supply = <&vcc4v0_sys>;
560		vcc2-supply = <&vcc4v0_sys>;
561		vcc3-supply = <&vcc4v0_sys>;
562		vcc4-supply = <&vcc4v0_sys>;
563		vcc5-supply = <&vcc4v0_sys>;
564		vcc6-supply = <&vcc4v0_sys>;
565		vcc7-supply = <&vcc4v0_sys>;
566		vcc8-supply = <&vcc4v0_sys>;
567		vcc9-supply = <&vcc4v0_sys>;
568		vcc10-supply = <&vcc4v0_sys>;
569		vcc11-supply = <&vcc_2v0_pldo_s3>;
570		vcc12-supply = <&vcc4v0_sys>;
571		vcc13-supply = <&vcc_1v1_nldo_s3>;
572		vcc14-supply = <&vcc_1v1_nldo_s3>;
573		vcca-supply = <&vcca>;
574
575		rk806_dvs1_null: dvs1-null-pins {
576			pins = "gpio_pwrctrl1";
577			function = "pin_fun0";
578		};
579
580		rk806_dvs2_null: dvs2-null-pins {
581			pins = "gpio_pwrctrl2";
582			function = "pin_fun0";
583		};
584
585		rk806_dvs3_null: dvs3-null-pins {
586			pins = "gpio_pwrctrl3";
587			function = "pin_fun0";
588		};
589
590		regulators {
591			vdd_gpu_s0: dcdc-reg1 {
592				regulator-name = "vdd_gpu_s0";
593				regulator-boot-on;
594				regulator-min-microvolt = <550000>;
595				regulator-max-microvolt = <950000>;
596				regulator-ramp-delay = <12500>;
597				regulator-enable-ramp-delay = <400>;
598
599				regulator-state-mem {
600					regulator-off-in-suspend;
601				};
602			};
603
604			vdd_cpu_lit_s0: dcdc-reg2 {
605				regulator-name = "vdd_cpu_lit_s0";
606				regulator-always-on;
607				regulator-boot-on;
608				regulator-min-microvolt = <550000>;
609				regulator-max-microvolt = <950000>;
610				regulator-ramp-delay = <12500>;
611
612				regulator-state-mem {
613					regulator-off-in-suspend;
614				};
615			};
616
617			vdd_logic_s0: dcdc-reg3 {
618				regulator-name = "vdd_logic_s0";
619				regulator-always-on;
620				regulator-boot-on;
621				regulator-min-microvolt = <675000>;
622				regulator-max-microvolt = <750000>;
623				regulator-ramp-delay = <12500>;
624
625				regulator-state-mem {
626					regulator-off-in-suspend;
627					regulator-suspend-microvolt = <750000>;
628				};
629			};
630
631			vdd_vdenc_s0: dcdc-reg4 {
632				regulator-name = "vdd_vdenc_s0";
633				regulator-always-on;
634				regulator-boot-on;
635				regulator-min-microvolt = <550000>;
636				regulator-max-microvolt = <950000>;
637				regulator-ramp-delay = <12500>;
638
639				regulator-state-mem {
640					regulator-off-in-suspend;
641				};
642			};
643
644			vdd_ddr_s0: dcdc-reg5 {
645				regulator-name = "vdd_ddr_s0";
646				regulator-always-on;
647				regulator-boot-on;
648				regulator-min-microvolt = <675000>;
649				regulator-max-microvolt = <900000>;
650				regulator-ramp-delay = <12500>;
651
652				regulator-state-mem {
653					regulator-off-in-suspend;
654					regulator-suspend-microvolt = <850000>;
655				};
656			};
657
658			vdd2_ddr_s3: dcdc-reg6 {
659				regulator-name = "vdd2_ddr_s3";
660				regulator-always-on;
661				regulator-boot-on;
662
663				regulator-state-mem {
664					regulator-on-in-suspend;
665				};
666			};
667
668			vcc_2v0_pldo_s3: dcdc-reg7 {
669				regulator-name = "vdd_2v0_pldo_s3";
670				regulator-always-on;
671				regulator-boot-on;
672				regulator-min-microvolt = <2000000>;
673				regulator-max-microvolt = <2000000>;
674				regulator-ramp-delay = <12500>;
675
676				regulator-state-mem {
677					regulator-on-in-suspend;
678					regulator-suspend-microvolt = <2000000>;
679				};
680			};
681
682			vcc_3v3_s3: dcdc-reg8 {
683				regulator-name = "vcc_3v3_s3";
684				regulator-always-on;
685				regulator-boot-on;
686				regulator-min-microvolt = <3300000>;
687				regulator-max-microvolt = <3300000>;
688
689				regulator-state-mem {
690					regulator-on-in-suspend;
691					regulator-suspend-microvolt = <3300000>;
692				};
693			};
694
695			vddq_ddr_s0: dcdc-reg9 {
696				regulator-name = "vddq_ddr_s0";
697				regulator-always-on;
698				regulator-boot-on;
699
700				regulator-state-mem {
701					regulator-off-in-suspend;
702				};
703			};
704
705			vcc_1v8_s3: dcdc-reg10 {
706				regulator-name = "vcc_1v8_s3";
707				regulator-always-on;
708				regulator-boot-on;
709				regulator-min-microvolt = <1800000>;
710				regulator-max-microvolt = <1800000>;
711
712				regulator-state-mem {
713					regulator-on-in-suspend;
714					regulator-suspend-microvolt = <1800000>;
715				};
716			};
717
718			vcc_1v8_s0: pldo-reg1 {
719				regulator-name = "vcc_1v8_s0";
720				regulator-always-on;
721				regulator-boot-on;
722				regulator-min-microvolt = <1800000>;
723				regulator-max-microvolt = <1800000>;
724
725				regulator-state-mem {
726					regulator-off-in-suspend;
727				};
728			};
729
730			vcca_1v8_s0: pldo-reg2 {
731				regulator-name = "vcca_1v8_s0";
732				regulator-always-on;
733				regulator-boot-on;
734				regulator-min-microvolt = <1800000>;
735				regulator-max-microvolt = <1800000>;
736
737				regulator-state-mem {
738					regulator-off-in-suspend;
739					regulator-suspend-microvolt = <1800000>;
740				};
741			};
742
743			vdda_1v2_s0: pldo-reg3 {
744				regulator-name = "vdda_1v2_s0";
745				regulator-always-on;
746				regulator-boot-on;
747				regulator-min-microvolt = <1200000>;
748				regulator-max-microvolt = <1200000>;
749
750				regulator-state-mem {
751					regulator-off-in-suspend;
752				};
753			};
754
755			vcca_3v3_s0: pldo-reg4 {
756				regulator-name = "vcca_3v3_s0";
757				regulator-always-on;
758				regulator-boot-on;
759				regulator-min-microvolt = <3300000>;
760				regulator-max-microvolt = <3300000>;
761				regulator-ramp-delay = <12500>;
762
763				regulator-state-mem {
764					regulator-off-in-suspend;
765				};
766			};
767
768			vccio_sd_s0: pldo-reg5 {
769				regulator-name = "vccio_sd_s0";
770				regulator-always-on;
771				regulator-boot-on;
772				regulator-min-microvolt = <1800000>;
773				regulator-max-microvolt = <3300000>;
774				regulator-ramp-delay = <12500>;
775
776				regulator-state-mem {
777					regulator-off-in-suspend;
778				};
779			};
780
781			vcc_1v8_s3_pldo6: pldo-reg6 {
782				regulator-name = "vcc_1v8_s3_pldo6";
783				regulator-always-on;
784				regulator-boot-on;
785				regulator-min-microvolt = <1800000>;
786				regulator-max-microvolt = <1800000>;
787
788				regulator-state-mem {
789					regulator-on-in-suspend;
790					regulator-suspend-microvolt = <1800000>;
791				};
792			};
793
794			vdd_0v75_s3: nldo-reg1 {
795				regulator-name = "vdd_0v75_s3";
796				regulator-always-on;
797				regulator-boot-on;
798				regulator-min-microvolt = <750000>;
799				regulator-max-microvolt = <750000>;
800
801				regulator-state-mem {
802					regulator-on-in-suspend;
803					regulator-suspend-microvolt = <750000>;
804				};
805			};
806
807			vdda_ddr_pll_s0: nldo-reg2 {
808				regulator-name = "vdda_ddr_pll_s0";
809				regulator-always-on;
810				regulator-boot-on;
811				regulator-min-microvolt = <900000>;
812				regulator-max-microvolt = <900000>;
813
814				regulator-state-mem {
815					regulator-off-in-suspend;
816					regulator-suspend-microvolt = <850000>;
817				};
818			};
819
820			vdda_0v75_s0: nldo-reg3 {
821				regulator-name = "vdda_0v75_s0";
822				regulator-always-on;
823				regulator-boot-on;
824				regulator-min-microvolt = <837500>;
825				regulator-max-microvolt = <837500>;
826
827				regulator-state-mem {
828					regulator-off-in-suspend;
829				};
830			};
831
832			vdda_0v85_s0: nldo-reg4 {
833				regulator-name = "vdda_0v85_s0";
834				regulator-always-on;
835				regulator-boot-on;
836				regulator-min-microvolt = <850000>;
837				regulator-max-microvolt = <850000>;
838
839				regulator-state-mem {
840					regulator-off-in-suspend;
841				};
842			};
843
844			/* Schematics show not in use */
845			nldo-reg5 {
846			};
847		};
848	};
849};
850
851&tsadc {
852	status = "okay";
853};
854
855&u2phy0 {
856	status = "okay";
857};
858
859&u2phy0_otg {
860	status = "okay";
861};
862
863&u2phy2 {
864	status = "okay";
865};
866
867&u2phy2_host {
868	phy-supply = <&vcc5v0_usb2_host>;
869	status = "okay";
870};
871
872&u2phy3 {
873	status = "okay";
874};
875
876&u2phy3_host {
877	phy-supply = <&vcc5v0_usb3_host>;
878	status = "okay";
879};
880
881&uart2 {
882	pinctrl-names = "default";
883	pinctrl-0 = <&uart2m0_xfer>;
884	status = "okay";
885};
886
887&usb_host0_ehci {
888	status = "okay";
889};
890
891&usb_host0_ohci {
892	status = "okay";
893};
894
895&usb_host0_xhci {
896	usb-role-switch;
897	status = "okay";
898
899	port {
900		usb_host0_xhci_role_switch: endpoint {
901			remote-endpoint = <&usbc0_role_switch>;
902		};
903	};
904};
905
906&usb_host1_ehci {
907	status = "okay";
908};
909
910&usb_host1_ohci {
911	status = "okay";
912};
913
914&usb_host2_xhci {
915	status = "okay";
916};
917
918&usbdp_phy0 {
919	mode-switch;
920	orientation-switch;
921	sbu1-dc-gpios = <&gpio4 RK_PA0 GPIO_ACTIVE_HIGH>;
922	sbu2-dc-gpios = <&gpio4 RK_PA1 GPIO_ACTIVE_HIGH>;
923	status = "okay";
924
925	port {
926		#address-cells = <1>;
927		#size-cells = <0>;
928
929		usbdp_phy0_orientation_switch: endpoint@0 {
930			reg = <0>;
931			remote-endpoint = <&usbc0_orientation_switch>;
932		};
933
934		usbdp_phy0_dp_altmode_mux: endpoint@1 {
935			reg = <1>;
936			remote-endpoint = <&usbc0_dp_altmode_mux>;
937		};
938	};
939};
940
941&vop {
942	status = "okay";
943};
944
945&vop_mmu {
946	status = "okay";
947};
948
949&vp0 {
950	vp0_out_hdmi0: endpoint@ROCKCHIP_VOP2_EP_HDMI0 {
951		reg = <ROCKCHIP_VOP2_EP_HDMI0>;
952		remote-endpoint = <&hdmi0_in_vp0>;
953	};
954};
955