xref: /linux/scripts/dtc/include-prefixes/arm64/rockchip/rk3576-armsom-sige5.dts (revision 115e74a29b530d121891238e9551c4bcdf7b04b5)
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2/*
3 * Copyright (c) 2024 Rockchip Electronics Co., Ltd.
4 *
5 */
6
7/dts-v1/;
8
9#include <dt-bindings/gpio/gpio.h>
10#include <dt-bindings/leds/common.h>
11#include <dt-bindings/pinctrl/rockchip.h>
12#include <dt-bindings/pwm/pwm.h>
13#include <dt-bindings/soc/rockchip,vop2.h>
14#include <dt-bindings/usb/pd.h>
15#include "rk3576.dtsi"
16
17/ {
18	model = "ArmSoM Sige5";
19	compatible = "armsom,sige5", "rockchip,rk3576";
20
21	aliases {
22		ethernet0 = &gmac0;
23		ethernet1 = &gmac1;
24	};
25
26	chosen {
27		stdout-path = "serial0:1500000n8";
28	};
29
30	hdmi-con {
31		compatible = "hdmi-connector";
32		type = "a";
33
34		port {
35			hdmi_con_in: endpoint {
36				remote-endpoint = <&hdmi_out_con>;
37			};
38		};
39	};
40
41	leds: leds {
42		compatible = "gpio-leds";
43
44		green_led: green-led {
45			color = <LED_COLOR_ID_GREEN>;
46			function = LED_FUNCTION_HEARTBEAT;
47			gpios = <&gpio4 RK_PB2 GPIO_ACTIVE_HIGH>;
48			linux,default-trigger = "heartbeat";
49		};
50
51		red_led: red-led {
52			color = <LED_COLOR_ID_RED>;
53			function = LED_FUNCTION_STATUS;
54			gpios = <&gpio4 RK_PB1 GPIO_ACTIVE_HIGH>;
55			linux,default-trigger = "default-on";
56		};
57	};
58
59	es8388_sound: es8388-sound {
60		compatible = "simple-audio-card";
61		simple-audio-card,format = "i2s";
62		simple-audio-card,mclk-fs = <256>;
63		simple-audio-card,name = "On-board Analog ES8388";
64		simple-audio-card,widgets = "Microphone", "Headphone Mic",
65					    "Microphone", "Mic Pads",
66					    "Headphone", "Headphone",
67					    "Line Out", "Line Out";
68		simple-audio-card,routing = "Headphone", "LOUT1",
69					    "Headphone", "ROUT1",
70					    "Line Out", "LOUT2",
71					    "Line Out", "ROUT2",
72					    "RINPUT1", "Headphone Mic",
73					    "LINPUT2", "Mic Pads",
74					    "RINPUT2", "Mic Pads";
75		simple-audio-card,pin-switches = "Headphone", "Line Out";
76
77		simple-audio-card,cpu {
78			sound-dai = <&sai1>;
79		};
80
81		simple-audio-card,codec {
82			sound-dai = <&es8388>;
83			system-clock-frequency = <12288000>;
84		};
85	};
86
87	vcc_12v0_dcin: regulator-vcc-12v0-dcin {
88		compatible = "regulator-fixed";
89		regulator-name = "vcc_12v0_dcin";
90		regulator-always-on;
91		regulator-boot-on;
92		regulator-min-microvolt = <12000000>;
93		regulator-max-microvolt = <12000000>;
94	};
95
96	vcc_1v1_nldo_s3: regulator-vcc-1v1-nldo-s3 {
97		compatible = "regulator-fixed";
98		regulator-name = "vcc_1v1_nldo_s3";
99		regulator-boot-on;
100		regulator-always-on;
101		regulator-min-microvolt = <1100000>;
102		regulator-max-microvolt = <1100000>;
103		vin-supply = <&vcc_5v0_sys>;
104	};
105
106	vcc_1v2_ufs_vccq_s0: regulator-vcc-1v2-ufs-vccq-s0 {
107		compatible = "regulator-fixed";
108		regulator-name = "vcc_1v2_ufs_vccq_s0";
109		regulator-boot-on;
110		regulator-always-on;
111		regulator-min-microvolt = <1200000>;
112		regulator-max-microvolt = <1200000>;
113		vin-supply = <&vcc_5v0_sys>;
114	};
115
116	vcc_1v8_s0: regulator-vcc-1v8-s0 {
117		compatible = "regulator-fixed";
118		regulator-name = "vcc_1v8_s0";
119		regulator-boot-on;
120		regulator-always-on;
121		regulator-min-microvolt = <1800000>;
122		regulator-max-microvolt = <1800000>;
123		vin-supply = <&vcc_1v8_s3>;
124	};
125
126	vcc_1v8_ufs_vccq2_s0: regulator-vcc-1v8-ufs-vccq2-s0 {
127		compatible = "regulator-fixed";
128		regulator-name = "vcc_1v8_ufs_vccq2_s0";
129		regulator-boot-on;
130		regulator-always-on;
131		regulator-min-microvolt = <1800000>;
132		regulator-max-microvolt = <1800000>;
133		vin-supply = <&vcc_1v8_s3>;
134	};
135
136	vcc_2v0_pldo_s3: regulator-vcc-2v0-pldo-s3 {
137		compatible = "regulator-fixed";
138		regulator-name = "vcc_2v0_pldo_s3";
139		regulator-boot-on;
140		regulator-always-on;
141		regulator-min-microvolt = <2000000>;
142		regulator-max-microvolt = <2000000>;
143		vin-supply = <&vcc_5v0_sys>;
144	};
145
146	vcc_3v3_pcie: regulator-vcc-3v3-pcie {
147		compatible = "regulator-fixed";
148		pinctrl-names = "default";
149		pinctrl-0 = <&pcie_pwr_en>;
150		regulator-name = "vcc_3v3_pcie";
151		regulator-min-microvolt = <3300000>;
152		regulator-max-microvolt = <3300000>;
153		enable-active-high;
154		gpio = <&gpio3 RK_PD6 GPIO_ACTIVE_HIGH>;
155		startup-delay-us = <5000>;
156		vin-supply = <&vcc_5v0_sys>;
157	};
158
159	vcc_3v3_rtc_s5: regulator-vcc-3v3-rtc-s5 {
160		compatible = "regulator-fixed";
161		regulator-name = "vcc_3v3_rtc_s5";
162		regulator-boot-on;
163		regulator-always-on;
164		regulator-min-microvolt = <3300000>;
165		regulator-max-microvolt = <3300000>;
166		vin-supply = <&vcc_5v0_sys>;
167	};
168
169	vcc_3v3_s0: regulator-vcc-3v3-s0 {
170		compatible = "regulator-fixed";
171		regulator-name = "vcc_3v3_s0";
172		regulator-boot-on;
173		regulator-always-on;
174		regulator-min-microvolt = <3300000>;
175		regulator-max-microvolt = <3300000>;
176		vin-supply = <&vcc_3v3_s3>;
177	};
178
179	vcc_5v0_sys: regulator-vcc-5v0-sys {
180		compatible = "regulator-fixed";
181		regulator-name = "vcc_5v0_sys";
182		regulator-always-on;
183		regulator-boot-on;
184		regulator-min-microvolt = <5000000>;
185		regulator-max-microvolt = <5000000>;
186		vin-supply = <&vcc_12v0_dcin>;
187	};
188
189	vcc_5v0_device: regulator-vcc-5v0-device {
190		compatible = "regulator-fixed";
191		regulator-name = "vcc_5v0_device";
192		regulator-always-on;
193		regulator-boot-on;
194		regulator-min-microvolt = <5000000>;
195		regulator-max-microvolt = <5000000>;
196		vin-supply = <&vcc_12v0_dcin>;
197	};
198
199	vcc_5v0_typec0: regulator-vcc-5v0-typec0 {
200		compatible = "regulator-fixed";
201		enable-active-high;
202		gpios = <&gpio4 RK_PA6 GPIO_ACTIVE_HIGH>;
203		pinctrl-names = "default";
204		pinctrl-0 = <&usb_otg0_pwren>;
205		regulator-name = "vcc_5v0_typec0";
206		regulator-min-microvolt = <5000000>;
207		regulator-max-microvolt = <5000000>;
208		vin-supply = <&vcc_5v0_device>;
209	};
210
211	vcc_5v0_usbhost: regulator-vcc-5v0-usbhost {
212		compatible = "regulator-fixed";
213		enable-active-high;
214		gpios = <&gpio4 RK_PA4 GPIO_ACTIVE_HIGH>;
215		pinctrl-names = "default";
216		pinctrl-0 = <&usb_host_pwren>;
217		regulator-name = "vcc_5v0_usbhost";
218		regulator-min-microvolt = <5000000>;
219		regulator-max-microvolt = <5000000>;
220		vin-supply = <&vcc_5v0_device>;
221	};
222
223	vcc_3v3_ufs_s0: regulator-vcc-ufs-s0 {
224		compatible = "regulator-fixed";
225		regulator-name = "vcc_3v3_ufs_s0";
226		regulator-boot-on;
227		regulator-always-on;
228		regulator-min-microvolt = <3300000>;
229		regulator-max-microvolt = <3300000>;
230		vin-supply = <&vcc_5v0_sys>;
231	};
232
233	sdio_pwrseq: sdio-pwrseq {
234		compatible = "mmc-pwrseq-simple";
235		clocks = <&hym8563>;
236		clock-names = "ext_clock";
237		pinctrl-names = "default";
238		pinctrl-0 = <&wifi_reg_on>;
239		reset-gpios = <&gpio1 RK_PC6 GPIO_ACTIVE_LOW>;
240	};
241};
242
243&combphy1_psu {
244	status = "okay";
245};
246
247&combphy0_ps {
248	status = "okay";
249};
250
251&cpu_b0 {
252	cpu-supply = <&vdd_cpu_big_s0>;
253};
254
255&cpu_b1 {
256	cpu-supply = <&vdd_cpu_big_s0>;
257};
258
259&cpu_b2 {
260	cpu-supply = <&vdd_cpu_big_s0>;
261};
262
263&cpu_b3 {
264	cpu-supply = <&vdd_cpu_big_s0>;
265};
266
267&cpu_l0 {
268	cpu-supply = <&vdd_cpu_lit_s0>;
269};
270
271&cpu_l1 {
272	cpu-supply = <&vdd_cpu_lit_s0>;
273};
274
275&cpu_l2 {
276	cpu-supply = <&vdd_cpu_lit_s0>;
277};
278
279&cpu_l3 {
280	cpu-supply = <&vdd_cpu_lit_s0>;
281};
282
283&gmac0 {
284	phy-mode = "rgmii-id";
285	clock_in_out = "output";
286	phy-handle = <&rgmii_phy0>;
287	pinctrl-names = "default";
288	pinctrl-0 = <&eth0m0_miim
289		     &eth0m0_tx_bus2
290		     &eth0m0_rx_bus2
291		     &eth0m0_rgmii_clk
292		     &eth0m0_rgmii_bus>;
293	status = "okay";
294};
295
296&gmac1 {
297	phy-mode = "rgmii-id";
298	clock_in_out = "output";
299	phy-handle = <&rgmii_phy1>;
300	pinctrl-names = "default";
301	pinctrl-0 = <&eth1m0_miim
302		     &eth1m0_tx_bus2
303		     &eth1m0_rx_bus2
304		     &eth1m0_rgmii_clk
305		     &eth1m0_rgmii_bus
306		     &ethm0_clk1_25m_out>;
307	status = "okay";
308};
309
310&gpu {
311	mali-supply = <&vdd_gpu_s0>;
312	status = "okay";
313};
314
315&hdmi {
316	status = "okay";
317};
318
319&hdmi_in {
320	hdmi_in_vp0: endpoint {
321		remote-endpoint = <&vp0_out_hdmi>;
322	};
323};
324
325&hdmi_out {
326	hdmi_out_con: endpoint {
327		remote-endpoint = <&hdmi_con_in>;
328	};
329};
330
331&hdmi_sound {
332	status = "okay";
333};
334
335&hdptxphy {
336	status = "okay";
337};
338
339&i2c1 {
340	status = "okay";
341
342	pmic@23 {
343		compatible = "rockchip,rk806";
344		reg = <0x23>;
345
346		interrupt-parent = <&gpio0>;
347		interrupts = <6 IRQ_TYPE_LEVEL_LOW>;
348
349		pinctrl-names = "default";
350		pinctrl-0 = <&pmic_pins>, <&rk806_dvs1_null>,
351			    <&rk806_dvs2_null>, <&rk806_dvs3_null>;
352
353		system-power-controller;
354
355		vcc1-supply = <&vcc_5v0_sys>;
356		vcc2-supply = <&vcc_5v0_sys>;
357		vcc3-supply = <&vcc_5v0_sys>;
358		vcc4-supply = <&vcc_5v0_sys>;
359		vcc5-supply = <&vcc_5v0_sys>;
360		vcc6-supply = <&vcc_5v0_sys>;
361		vcc7-supply = <&vcc_5v0_sys>;
362		vcc8-supply = <&vcc_5v0_sys>;
363		vcc9-supply = <&vcc_5v0_sys>;
364		vcc10-supply = <&vcc_5v0_sys>;
365		vcc11-supply = <&vcc_2v0_pldo_s3>;
366		vcc12-supply = <&vcc_5v0_sys>;
367		vcc13-supply = <&vcc_1v1_nldo_s3>;
368		vcc14-supply = <&vcc_1v1_nldo_s3>;
369		vcca-supply = <&vcc_5v0_sys>;
370
371		gpio-controller;
372		#gpio-cells = <2>;
373
374		rk806_dvs1_null: dvs1-null-pins {
375			pins = "gpio_pwrctrl1";
376			function = "pin_fun0";
377		};
378
379		rk806_dvs2_null: dvs2-null-pins {
380			pins = "gpio_pwrctrl2";
381			function = "pin_fun0";
382		};
383
384		rk806_dvs3_null: dvs3-null-pins {
385			pins = "gpio_pwrctrl3";
386			function = "pin_fun0";
387		};
388
389		rk806_dvs1_slp: dvs1-slp-pins {
390			pins = "gpio_pwrctrl1";
391			function = "pin_fun1";
392		};
393
394		rk806_dvs1_pwrdn: dvs1-pwrdn-pins {
395			pins = "gpio_pwrctrl1";
396			function = "pin_fun2";
397		};
398
399		rk806_dvs1_rst: dvs1-rst-pins {
400			pins = "gpio_pwrctrl1";
401			function = "pin_fun3";
402		};
403
404		rk806_dvs2_slp: dvs2-slp-pins {
405			pins = "gpio_pwrctrl2";
406			function = "pin_fun1";
407		};
408
409		rk806_dvs2_pwrdn: dvs2-pwrdn-pins {
410			pins = "gpio_pwrctrl2";
411			function = "pin_fun2";
412		};
413
414		rk806_dvs2_rst: dvs2-rst-pins {
415			pins = "gpio_pwrctrl2";
416			function = "pin_fun3";
417		};
418
419		rk806_dvs2_dvs: dvs2-dvs-pins {
420			pins = "gpio_pwrctrl2";
421			function = "pin_fun4";
422		};
423
424		rk806_dvs2_gpio: dvs2-gpio-pins {
425			pins = "gpio_pwrctrl2";
426			function = "pin_fun5";
427		};
428
429		rk806_dvs3_slp: dvs3-slp-pins {
430			pins = "gpio_pwrctrl3";
431			function = "pin_fun1";
432		};
433
434		rk806_dvs3_pwrdn: dvs3-pwrdn-pins {
435			pins = "gpio_pwrctrl3";
436			function = "pin_fun2";
437		};
438
439		rk806_dvs3_rst: dvs3-rst-pins {
440			pins = "gpio_pwrctrl3";
441			function = "pin_fun3";
442		};
443
444		rk806_dvs3_dvs: dvs3-dvs-pins {
445			pins = "gpio_pwrctrl3";
446			function = "pin_fun4";
447		};
448
449		rk806_dvs3_gpio: dvs3-gpio-pins {
450			pins = "gpio_pwrctrl3";
451			function = "pin_fun5";
452		};
453
454		regulators {
455			vdd_cpu_big_s0: dcdc-reg1 {
456				regulator-always-on;
457				regulator-boot-on;
458				regulator-min-microvolt = <550000>;
459				regulator-max-microvolt = <950000>;
460				regulator-ramp-delay = <12500>;
461				regulator-name = "vdd_cpu_big_s0";
462				regulator-enable-ramp-delay = <400>;
463				regulator-state-mem {
464					regulator-off-in-suspend;
465				};
466			};
467
468			vdd_npu_s0: dcdc-reg2 {
469				regulator-boot-on;
470				regulator-min-microvolt = <550000>;
471				regulator-max-microvolt = <950000>;
472				regulator-ramp-delay = <12500>;
473				regulator-name = "vdd_npu_s0";
474				regulator-enable-ramp-delay = <400>;
475				regulator-state-mem {
476					regulator-off-in-suspend;
477				};
478			};
479
480			vdd_cpu_lit_s0: dcdc-reg3 {
481				regulator-always-on;
482				regulator-boot-on;
483				regulator-min-microvolt = <550000>;
484				regulator-max-microvolt = <950000>;
485				regulator-ramp-delay = <12500>;
486				regulator-name = "vdd_cpu_lit_s0";
487				regulator-state-mem {
488					regulator-off-in-suspend;
489					regulator-suspend-microvolt = <750000>;
490				};
491			};
492
493			vcc_3v3_s3: dcdc-reg4 {
494				regulator-always-on;
495				regulator-boot-on;
496				regulator-min-microvolt = <3300000>;
497				regulator-max-microvolt = <3300000>;
498				regulator-name = "vcc_3v3_s3";
499				regulator-state-mem {
500					regulator-on-in-suspend;
501					regulator-suspend-microvolt = <3300000>;
502				};
503			};
504
505			vdd_gpu_s0: dcdc-reg5 {
506				regulator-boot-on;
507				regulator-min-microvolt = <550000>;
508				regulator-max-microvolt = <900000>;
509				regulator-ramp-delay = <12500>;
510				regulator-name = "vdd_gpu_s0";
511				regulator-enable-ramp-delay = <400>;
512				regulator-state-mem {
513					regulator-off-in-suspend;
514					regulator-suspend-microvolt = <850000>;
515				};
516			};
517
518			vddq_ddr_s0: dcdc-reg6 {
519				regulator-always-on;
520				regulator-boot-on;
521				regulator-name = "vddq_ddr_s0";
522				regulator-state-mem {
523					regulator-off-in-suspend;
524				};
525			};
526
527			vdd_logic_s0: dcdc-reg7 {
528				regulator-always-on;
529				regulator-boot-on;
530				regulator-min-microvolt = <550000>;
531				regulator-max-microvolt = <800000>;
532				regulator-name = "vdd_logic_s0";
533				regulator-state-mem {
534					regulator-off-in-suspend;
535				};
536			};
537
538			vcc_1v8_s3: dcdc-reg8 {
539				regulator-always-on;
540				regulator-boot-on;
541				regulator-min-microvolt = <1800000>;
542				regulator-max-microvolt = <1800000>;
543				regulator-name = "vcc_1v8_s3";
544				regulator-state-mem {
545					regulator-on-in-suspend;
546					regulator-suspend-microvolt = <1800000>;
547				};
548			};
549
550			vdd2_ddr_s3: dcdc-reg9 {
551				regulator-always-on;
552				regulator-boot-on;
553				regulator-name = "vdd2_ddr_s3";
554				regulator-state-mem {
555					regulator-on-in-suspend;
556				};
557			};
558
559			vdd_ddr_s0: dcdc-reg10 {
560				regulator-always-on;
561				regulator-boot-on;
562				regulator-min-microvolt = <550000>;
563				regulator-max-microvolt = <1200000>;
564				regulator-name = "vdd_ddr_s0";
565				regulator-state-mem {
566					regulator-off-in-suspend;
567				};
568			};
569
570			vcca_1v8_s0: pldo-reg1 {
571				regulator-always-on;
572				regulator-boot-on;
573				regulator-min-microvolt = <1800000>;
574				regulator-max-microvolt = <1800000>;
575				regulator-name = "vcca_1v8_s0";
576				regulator-state-mem {
577					regulator-off-in-suspend;
578				};
579			};
580
581			vcca1v8_pldo2_s0: pldo-reg2 {
582				regulator-always-on;
583				regulator-boot-on;
584				regulator-min-microvolt = <1800000>;
585				regulator-max-microvolt = <1800000>;
586				regulator-name = "vcca1v8_pldo2_s0";
587				regulator-state-mem {
588					regulator-off-in-suspend;
589				};
590			};
591
592			vdda_1v2_s0: pldo-reg3 {
593				regulator-always-on;
594				regulator-boot-on;
595				regulator-min-microvolt = <1200000>;
596				regulator-max-microvolt = <1200000>;
597				regulator-name = "vdda_1v2_s0";
598				regulator-state-mem {
599					regulator-off-in-suspend;
600				};
601			};
602
603			vcca_3v3_s0: pldo-reg4 {
604				regulator-always-on;
605				regulator-boot-on;
606				regulator-min-microvolt = <3300000>;
607				regulator-max-microvolt = <3300000>;
608				regulator-name = "vcca_3v3_s0";
609				regulator-state-mem {
610					regulator-off-in-suspend;
611				};
612			};
613
614			vccio_sd_s0: pldo-reg5 {
615				regulator-always-on;
616				regulator-boot-on;
617				regulator-min-microvolt = <1800000>;
618				regulator-max-microvolt = <3300000>;
619				regulator-name = "vccio_sd_s0";
620				regulator-state-mem {
621					regulator-off-in-suspend;
622				};
623			};
624
625			vcca1v8_pldo6_s3: pldo-reg6 {
626				regulator-always-on;
627				regulator-boot-on;
628				regulator-min-microvolt = <1800000>;
629				regulator-max-microvolt = <1800000>;
630				regulator-name = "vcca1v8_pldo6_s3";
631				regulator-state-mem {
632					regulator-on-in-suspend;
633					regulator-suspend-microvolt = <1800000>;
634				};
635			};
636
637			vdd_0v75_s3: nldo-reg1 {
638				regulator-always-on;
639				regulator-boot-on;
640				regulator-min-microvolt = <750000>;
641				regulator-max-microvolt = <750000>;
642				regulator-name = "vdd_0v75_s3";
643				regulator-state-mem {
644					regulator-on-in-suspend;
645					regulator-suspend-microvolt = <750000>;
646				};
647			};
648
649			vdda_ddr_pll_s0: nldo-reg2 {
650				regulator-always-on;
651				regulator-boot-on;
652				regulator-min-microvolt = <850000>;
653				regulator-max-microvolt = <850000>;
654				regulator-name = "vdda_ddr_pll_s0";
655				regulator-state-mem {
656					regulator-off-in-suspend;
657				};
658			};
659
660			vdda0v75_hdmi_s0: nldo-reg3 {
661				regulator-always-on;
662				regulator-boot-on;
663				regulator-min-microvolt = <837500>;
664				regulator-max-microvolt = <837500>;
665				regulator-name = "vdda0v75_hdmi_s0";
666				regulator-state-mem {
667					regulator-off-in-suspend;
668				};
669			};
670
671			vdda_0v85_s0: nldo-reg4 {
672				regulator-always-on;
673				regulator-boot-on;
674				regulator-min-microvolt = <850000>;
675				regulator-max-microvolt = <850000>;
676				regulator-name = "vdda_0v85_s0";
677				regulator-state-mem {
678					regulator-off-in-suspend;
679				};
680			};
681
682			vdda_0v75_s0: nldo-reg5 {
683				regulator-always-on;
684				regulator-boot-on;
685				regulator-min-microvolt = <750000>;
686				regulator-max-microvolt = <750000>;
687				regulator-name = "vdda_0v75_s0";
688				regulator-state-mem {
689					regulator-off-in-suspend;
690				};
691			};
692		};
693	};
694};
695
696&i2c2 {
697	status = "okay";
698
699	usbc0: typec-portc@22 {
700		compatible = "fcs,fusb302";
701		reg = <0x22>;
702		interrupt-parent = <&gpio0>;
703		interrupts = <RK_PA5 IRQ_TYPE_LEVEL_LOW>;
704		pinctrl-names = "default";
705		pinctrl-0 = <&usbc0_interrupt>;
706		vbus-supply = <&vcc_5v0_typec0>;
707
708		connector {
709			compatible = "usb-c-connector";
710			label = "USB-C";
711			data-role = "dual";
712			/* fusb302 supports PD Rev 2.0 Ver 1.2 */
713			pd-revision = /bits/ 8 <0x2 0x0 0x1 0x2>;
714			power-role = "source";
715			source-pdos = <PDO_FIXED(5000, 2000,
716						 PDO_FIXED_USB_COMM | PDO_FIXED_DATA_SWAP)>;
717
718			altmodes {
719				displayport {
720					svid = /bits/ 16 <0xff01>;
721					vdo = <0xffffffff>;
722				};
723			};
724
725			ports {
726				#address-cells = <1>;
727				#size-cells = <0>;
728
729				port@0 {
730					reg = <0>;
731					usbc0_hs_ep: endpoint {
732						remote-endpoint = <&usb_drd0_hs_ep>;
733					};
734				};
735				port@1 {
736					reg = <1>;
737					usbc0_ss_ep: endpoint {
738						remote-endpoint = <&usb_drd0_ss_ep>;
739					};
740				};
741				port@2 {
742					reg = <2>;
743					usbc0_dp_ep: endpoint {
744						remote-endpoint = <&usbdp_phy_ep>;
745					};
746				};
747			};
748		};
749	};
750
751	hym8563: rtc@51 {
752		compatible = "haoyu,hym8563";
753		reg = <0x51>;
754		clock-output-names = "hym8563";
755		interrupt-parent = <&gpio0>;
756		interrupts = <RK_PA0 IRQ_TYPE_LEVEL_LOW>;
757		pinctrl-names = "default";
758		pinctrl-0 = <&hym8563_int>;
759		wakeup-source;
760		#clock-cells = <0>;
761	};
762};
763
764&i2c3 {
765	status = "okay";
766
767	es8388: audio-codec@10 {
768		compatible = "everest,es8388", "everest,es8328";
769		reg = <0x10>;
770		clocks = <&cru CLK_SAI1_MCLKOUT_TO_IO>;
771		AVDD-supply = <&vcca_3v3_s0>;
772		DVDD-supply = <&vcc_3v3_s0>;
773		HPVDD-supply = <&vcca_3v3_s0>;
774		PVDD-supply = <&vcc_3v3_s0>;
775		assigned-clocks = <&cru CLK_SAI1_MCLKOUT_TO_IO>;
776		assigned-clock-rates = <12288000>;
777		#sound-dai-cells = <0>;
778		pinctrl-names = "default";
779		pinctrl-0 = <&sai1m0_mclk>;
780	};
781};
782
783&mdio0 {
784	rgmii_phy0: phy@1 {
785		compatible = "ethernet-phy-ieee802.3-c22";
786		reg = <0x1>;
787		clocks = <&cru REFCLKO25M_GMAC0_OUT>;
788		pinctrl-names = "default";
789		pinctrl-0 = <&gmac0_rst>;
790		reset-assert-us = <20000>;
791		reset-deassert-us = <100000>;
792		reset-gpios = <&gpio2 RK_PB5 GPIO_ACTIVE_LOW>;
793	};
794};
795
796&mdio1 {
797	rgmii_phy1: phy@1 {
798		compatible = "ethernet-phy-ieee802.3-c22";
799		reg = <0x1>;
800		clocks = <&cru REFCLKO25M_GMAC1_OUT>;
801		pinctrl-names = "default";
802		pinctrl-0 = <&gmac1_rst>;
803		reset-assert-us = <20000>;
804		reset-deassert-us = <100000>;
805		reset-gpios = <&gpio3 RK_PA3 GPIO_ACTIVE_LOW>;
806	};
807};
808
809&pcie0 {
810	pinctrl-names = "default";
811	pinctrl-0 = <&pcie_reset>;
812	reset-gpios = <&gpio2 RK_PB4 GPIO_ACTIVE_HIGH>;
813	vpcie3v3-supply = <&vcc_3v3_pcie>;
814	status = "okay";
815};
816
817&pinctrl {
818	gmac {
819		gmac0_rst: gmac0-rst {
820			rockchip,pins = <2 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>;
821		};
822		gmac1_rst: gmac1-rst {
823			rockchip,pins = <3 RK_PA3 RK_FUNC_GPIO &pcfg_pull_none>;
824		};
825	};
826
827	headphone {
828		hp_det: hp-det {
829			rockchip,pins = <0 RK_PD3 RK_FUNC_GPIO &pcfg_pull_up>;
830		};
831	};
832
833	hym8563 {
834		hym8563_int: hym8563-int {
835			rockchip,pins = <0 RK_PA0 RK_FUNC_GPIO &pcfg_pull_up>;
836		};
837	};
838
839	leds {
840		led_rgb_r: led-red-en {
841			rockchip,pins = <4 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>;
842		};
843		led_rgb_g: led-green-en {
844			rockchip,pins = <4 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>;
845		};
846	};
847
848	pcie {
849		pcie_pwr_en: pcie-pwr-en {
850			rockchip,pins = <3 RK_PD6 RK_FUNC_GPIO &pcfg_pull_down>;
851		};
852		pcie_reset: pcie-reset {
853			rockchip,pins = <2 RK_PB4 RK_FUNC_GPIO &pcfg_pull_up>;
854		};
855	};
856
857	usb {
858		usb_host_pwren: usb-host-pwren {
859			rockchip,pins = <4 RK_PA4 RK_FUNC_GPIO &pcfg_pull_none>;
860		};
861		usb_otg0_pwren: usb-otg0-pwren {
862			rockchip,pins = <4 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>;
863		};
864		usbc0_interrupt: usbc0-interrupt {
865			rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>;
866		};
867		usbc0_sbu1: usbc0-sbu1 {
868			rockchip,pins = <2 RK_PA6 RK_FUNC_GPIO &pcfg_pull_down>;
869		};
870		usbc0_sbu2: usbc0-sbu2 {
871			rockchip,pins = <2 RK_PA7 RK_FUNC_GPIO &pcfg_pull_down>;
872		};
873	};
874
875	wireless-bluetooth {
876		bt_reg_on: bt-reg-on {
877			rockchip,pins = <1 RK_PC7 RK_FUNC_GPIO &pcfg_pull_up>;
878		};
879
880		host_wake_bt: host-wake-bt {
881			rockchip,pins = <1 RK_PD4 RK_FUNC_GPIO &pcfg_pull_up>;
882		};
883
884		bt_wake_host: bt-wake-host {
885			rockchip,pins = <0 RK_PB1 RK_FUNC_GPIO &pcfg_pull_down>;
886		};
887	};
888
889	wireless-wlan {
890		wifi_wake_host: wifi-wake-host {
891			rockchip,pins = <0 RK_PB0 RK_FUNC_GPIO &pcfg_pull_down>;
892		};
893
894		wifi_reg_on: wifi-reg-on {
895			rockchip,pins = <1 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>;
896		};
897	};
898};
899
900&sai1 {
901	pinctrl-names = "default";
902	pinctrl-0 = <&sai1m0_lrck
903		     &sai1m0_sclk
904		     &sai1m0_sdi0
905		     &sai1m0_sdo0>;
906	status = "okay";
907};
908
909&sai6 {
910	status = "okay";
911};
912
913&sdhci {
914	bus-width = <8>;
915	full-pwr-cycle-in-suspend;
916	max-frequency = <200000000>;
917	mmc-hs400-1_8v;
918	mmc-hs400-enhanced-strobe;
919	no-sdio;
920	no-sd;
921	non-removable;
922	status = "okay";
923};
924
925&sdio {
926	bus-width = <4>;
927	cap-sdio-irq;
928	disable-wp;
929	keep-power-in-suspend;
930	mmc-pwrseq = <&sdio_pwrseq>;
931	no-sd;
932	no-mmc;
933	non-removable;
934	sd-uhs-sdr50;
935	sd-uhs-sdr104;
936	vmmc-supply = <&vcc_3v3_s3>;
937	vqmmc-supply = <&vcc_1v8_s3>;
938	wakeup-source;
939	status = "okay";
940};
941
942&sdmmc {
943	bus-width = <4>;
944	cap-mmc-highspeed;
945	cap-sd-highspeed;
946	disable-wp;
947	max-frequency = <200000000>;
948	no-sdio;
949	no-mmc;
950	sd-uhs-sdr104;
951	vmmc-supply = <&vcc_3v3_s3>;
952	vqmmc-supply = <&vccio_sd_s0>;
953	status = "okay";
954};
955
956&u2phy0 {
957	status = "okay";
958};
959
960&u2phy0_otg {
961	status = "okay";
962};
963
964&u2phy1 {
965	status = "okay";
966};
967
968&u2phy1_otg {
969	phy-supply = <&vcc_5v0_usbhost>;
970	status = "okay";
971};
972
973&uart0 {
974	pinctrl-0 = <&uart0m0_xfer>;
975	status = "okay";
976};
977
978/* Used by Bluetooth modules, enabled in a version specific overlay */
979&uart4 {
980	pinctrl-0 = <&uart4m1_xfer &uart4m1_ctsn &uart4m1_rtsn>;
981	pinctrl-names = "default";
982	uart-has-rtscts;
983};
984
985&usb_drd0_dwc3 {
986	usb-role-switch;
987	dr_mode = "otg";
988	status = "okay";
989
990	ports {
991		#address-cells = <1>;
992		#size-cells = <0>;
993
994		port@0 {
995			reg = <0>;
996			usb_drd0_hs_ep: endpoint {
997				remote-endpoint = <&usbc0_hs_ep>;
998			};
999		};
1000
1001		port@1 {
1002			reg = <1>;
1003			usb_drd0_ss_ep: endpoint {
1004				remote-endpoint = <&usbc0_ss_ep>;
1005			};
1006		};
1007	};
1008};
1009
1010&usb_drd1_dwc3 {
1011	dr_mode = "host";
1012	status = "okay";
1013};
1014
1015&usbdp_phy {
1016	mode-switch;
1017	orientation-switch;
1018	pinctrl-names = "default";
1019	pinctrl-0 = <&usbc0_sbu1 &usbc0_sbu2>;
1020	sbu1-dc-gpios = <&gpio2 RK_PA6 GPIO_ACTIVE_HIGH>;
1021	sbu2-dc-gpios = <&gpio2 RK_PA7 GPIO_ACTIVE_HIGH>;
1022	status = "okay";
1023
1024	port {
1025		usbdp_phy_ep: endpoint {
1026			remote-endpoint = <&usbc0_dp_ep>;
1027		};
1028	};
1029};
1030
1031&vop {
1032	status = "okay";
1033};
1034
1035&vop_mmu {
1036	status = "okay";
1037};
1038
1039&vp0 {
1040	vp0_out_hdmi: endpoint@ROCKCHIP_VOP2_EP_HDMI0 {
1041		reg = <ROCKCHIP_VOP2_EP_HDMI0>;
1042		remote-endpoint = <&hdmi_in_vp0>;
1043	};
1044};
1045