xref: /linux/arch/arm64/boot/dts/rockchip/rk3576-armsom-sige5.dts (revision b9a10f876409bf3768178f4aded199e193ddbe33)
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	status = "okay";
307};
308
309&gpu {
310	mali-supply = <&vdd_gpu_s0>;
311	status = "okay";
312};
313
314&hdmi {
315	status = "okay";
316};
317
318&hdmi_in {
319	hdmi_in_vp0: endpoint {
320		remote-endpoint = <&vp0_out_hdmi>;
321	};
322};
323
324&hdmi_out {
325	hdmi_out_con: endpoint {
326		remote-endpoint = <&hdmi_con_in>;
327	};
328};
329
330&hdmi_sound {
331	status = "okay";
332};
333
334&hdptxphy {
335	status = "okay";
336};
337
338&i2c1 {
339	status = "okay";
340
341	pmic@23 {
342		compatible = "rockchip,rk806";
343		reg = <0x23>;
344
345		interrupt-parent = <&gpio0>;
346		interrupts = <6 IRQ_TYPE_LEVEL_LOW>;
347
348		pinctrl-names = "default";
349		pinctrl-0 = <&pmic_pins>, <&rk806_dvs1_null>,
350			    <&rk806_dvs2_null>, <&rk806_dvs3_null>;
351
352		system-power-controller;
353
354		vcc1-supply = <&vcc_5v0_sys>;
355		vcc2-supply = <&vcc_5v0_sys>;
356		vcc3-supply = <&vcc_5v0_sys>;
357		vcc4-supply = <&vcc_5v0_sys>;
358		vcc5-supply = <&vcc_5v0_sys>;
359		vcc6-supply = <&vcc_5v0_sys>;
360		vcc7-supply = <&vcc_5v0_sys>;
361		vcc8-supply = <&vcc_5v0_sys>;
362		vcc9-supply = <&vcc_5v0_sys>;
363		vcc10-supply = <&vcc_5v0_sys>;
364		vcc11-supply = <&vcc_2v0_pldo_s3>;
365		vcc12-supply = <&vcc_5v0_sys>;
366		vcc13-supply = <&vcc_1v1_nldo_s3>;
367		vcc14-supply = <&vcc_1v1_nldo_s3>;
368		vcca-supply = <&vcc_5v0_sys>;
369
370		gpio-controller;
371		#gpio-cells = <2>;
372
373		rk806_dvs1_null: dvs1-null-pins {
374			pins = "gpio_pwrctrl1";
375			function = "pin_fun0";
376		};
377
378		rk806_dvs2_null: dvs2-null-pins {
379			pins = "gpio_pwrctrl2";
380			function = "pin_fun0";
381		};
382
383		rk806_dvs3_null: dvs3-null-pins {
384			pins = "gpio_pwrctrl3";
385			function = "pin_fun0";
386		};
387
388		rk806_dvs1_slp: dvs1-slp-pins {
389			pins = "gpio_pwrctrl1";
390			function = "pin_fun1";
391		};
392
393		rk806_dvs1_pwrdn: dvs1-pwrdn-pins {
394			pins = "gpio_pwrctrl1";
395			function = "pin_fun2";
396		};
397
398		rk806_dvs1_rst: dvs1-rst-pins {
399			pins = "gpio_pwrctrl1";
400			function = "pin_fun3";
401		};
402
403		rk806_dvs2_slp: dvs2-slp-pins {
404			pins = "gpio_pwrctrl2";
405			function = "pin_fun1";
406		};
407
408		rk806_dvs2_pwrdn: dvs2-pwrdn-pins {
409			pins = "gpio_pwrctrl2";
410			function = "pin_fun2";
411		};
412
413		rk806_dvs2_rst: dvs2-rst-pins {
414			pins = "gpio_pwrctrl2";
415			function = "pin_fun3";
416		};
417
418		rk806_dvs2_dvs: dvs2-dvs-pins {
419			pins = "gpio_pwrctrl2";
420			function = "pin_fun4";
421		};
422
423		rk806_dvs2_gpio: dvs2-gpio-pins {
424			pins = "gpio_pwrctrl2";
425			function = "pin_fun5";
426		};
427
428		rk806_dvs3_slp: dvs3-slp-pins {
429			pins = "gpio_pwrctrl3";
430			function = "pin_fun1";
431		};
432
433		rk806_dvs3_pwrdn: dvs3-pwrdn-pins {
434			pins = "gpio_pwrctrl3";
435			function = "pin_fun2";
436		};
437
438		rk806_dvs3_rst: dvs3-rst-pins {
439			pins = "gpio_pwrctrl3";
440			function = "pin_fun3";
441		};
442
443		rk806_dvs3_dvs: dvs3-dvs-pins {
444			pins = "gpio_pwrctrl3";
445			function = "pin_fun4";
446		};
447
448		rk806_dvs3_gpio: dvs3-gpio-pins {
449			pins = "gpio_pwrctrl3";
450			function = "pin_fun5";
451		};
452
453		regulators {
454			vdd_cpu_big_s0: dcdc-reg1 {
455				regulator-always-on;
456				regulator-boot-on;
457				regulator-min-microvolt = <550000>;
458				regulator-max-microvolt = <950000>;
459				regulator-ramp-delay = <12500>;
460				regulator-name = "vdd_cpu_big_s0";
461				regulator-enable-ramp-delay = <400>;
462				regulator-state-mem {
463					regulator-off-in-suspend;
464				};
465			};
466
467			vdd_npu_s0: dcdc-reg2 {
468				regulator-boot-on;
469				regulator-min-microvolt = <550000>;
470				regulator-max-microvolt = <950000>;
471				regulator-ramp-delay = <12500>;
472				regulator-name = "vdd_npu_s0";
473				regulator-enable-ramp-delay = <400>;
474				regulator-state-mem {
475					regulator-off-in-suspend;
476				};
477			};
478
479			vdd_cpu_lit_s0: dcdc-reg3 {
480				regulator-always-on;
481				regulator-boot-on;
482				regulator-min-microvolt = <550000>;
483				regulator-max-microvolt = <950000>;
484				regulator-ramp-delay = <12500>;
485				regulator-name = "vdd_cpu_lit_s0";
486				regulator-state-mem {
487					regulator-off-in-suspend;
488					regulator-suspend-microvolt = <750000>;
489				};
490			};
491
492			vcc_3v3_s3: dcdc-reg4 {
493				regulator-always-on;
494				regulator-boot-on;
495				regulator-min-microvolt = <3300000>;
496				regulator-max-microvolt = <3300000>;
497				regulator-name = "vcc_3v3_s3";
498				regulator-state-mem {
499					regulator-on-in-suspend;
500					regulator-suspend-microvolt = <3300000>;
501				};
502			};
503
504			vdd_gpu_s0: dcdc-reg5 {
505				regulator-boot-on;
506				regulator-min-microvolt = <550000>;
507				regulator-max-microvolt = <900000>;
508				regulator-ramp-delay = <12500>;
509				regulator-name = "vdd_gpu_s0";
510				regulator-enable-ramp-delay = <400>;
511				regulator-state-mem {
512					regulator-off-in-suspend;
513					regulator-suspend-microvolt = <850000>;
514				};
515			};
516
517			vddq_ddr_s0: dcdc-reg6 {
518				regulator-always-on;
519				regulator-boot-on;
520				regulator-name = "vddq_ddr_s0";
521				regulator-state-mem {
522					regulator-off-in-suspend;
523				};
524			};
525
526			vdd_logic_s0: dcdc-reg7 {
527				regulator-always-on;
528				regulator-boot-on;
529				regulator-min-microvolt = <550000>;
530				regulator-max-microvolt = <800000>;
531				regulator-name = "vdd_logic_s0";
532				regulator-state-mem {
533					regulator-off-in-suspend;
534				};
535			};
536
537			vcc_1v8_s3: dcdc-reg8 {
538				regulator-always-on;
539				regulator-boot-on;
540				regulator-min-microvolt = <1800000>;
541				regulator-max-microvolt = <1800000>;
542				regulator-name = "vcc_1v8_s3";
543				regulator-state-mem {
544					regulator-on-in-suspend;
545					regulator-suspend-microvolt = <1800000>;
546				};
547			};
548
549			vdd2_ddr_s3: dcdc-reg9 {
550				regulator-always-on;
551				regulator-boot-on;
552				regulator-name = "vdd2_ddr_s3";
553				regulator-state-mem {
554					regulator-on-in-suspend;
555				};
556			};
557
558			vdd_ddr_s0: dcdc-reg10 {
559				regulator-always-on;
560				regulator-boot-on;
561				regulator-min-microvolt = <550000>;
562				regulator-max-microvolt = <1200000>;
563				regulator-name = "vdd_ddr_s0";
564				regulator-state-mem {
565					regulator-off-in-suspend;
566				};
567			};
568
569			vcca_1v8_s0: pldo-reg1 {
570				regulator-always-on;
571				regulator-boot-on;
572				regulator-min-microvolt = <1800000>;
573				regulator-max-microvolt = <1800000>;
574				regulator-name = "vcca_1v8_s0";
575				regulator-state-mem {
576					regulator-off-in-suspend;
577				};
578			};
579
580			vcca1v8_pldo2_s0: pldo-reg2 {
581				regulator-always-on;
582				regulator-boot-on;
583				regulator-min-microvolt = <1800000>;
584				regulator-max-microvolt = <1800000>;
585				regulator-name = "vcca1v8_pldo2_s0";
586				regulator-state-mem {
587					regulator-off-in-suspend;
588				};
589			};
590
591			vdda_1v2_s0: pldo-reg3 {
592				regulator-always-on;
593				regulator-boot-on;
594				regulator-min-microvolt = <1200000>;
595				regulator-max-microvolt = <1200000>;
596				regulator-name = "vdda_1v2_s0";
597				regulator-state-mem {
598					regulator-off-in-suspend;
599				};
600			};
601
602			vcca_3v3_s0: pldo-reg4 {
603				regulator-always-on;
604				regulator-boot-on;
605				regulator-min-microvolt = <3300000>;
606				regulator-max-microvolt = <3300000>;
607				regulator-name = "vcca_3v3_s0";
608				regulator-state-mem {
609					regulator-off-in-suspend;
610				};
611			};
612
613			vccio_sd_s0: pldo-reg5 {
614				regulator-always-on;
615				regulator-boot-on;
616				regulator-min-microvolt = <1800000>;
617				regulator-max-microvolt = <3300000>;
618				regulator-name = "vccio_sd_s0";
619				regulator-state-mem {
620					regulator-off-in-suspend;
621				};
622			};
623
624			vcca1v8_pldo6_s3: pldo-reg6 {
625				regulator-always-on;
626				regulator-boot-on;
627				regulator-min-microvolt = <1800000>;
628				regulator-max-microvolt = <1800000>;
629				regulator-name = "vcca1v8_pldo6_s3";
630				regulator-state-mem {
631					regulator-on-in-suspend;
632					regulator-suspend-microvolt = <1800000>;
633				};
634			};
635
636			vdd_0v75_s3: nldo-reg1 {
637				regulator-always-on;
638				regulator-boot-on;
639				regulator-min-microvolt = <750000>;
640				regulator-max-microvolt = <750000>;
641				regulator-name = "vdd_0v75_s3";
642				regulator-state-mem {
643					regulator-on-in-suspend;
644					regulator-suspend-microvolt = <750000>;
645				};
646			};
647
648			vdda_ddr_pll_s0: nldo-reg2 {
649				regulator-always-on;
650				regulator-boot-on;
651				regulator-min-microvolt = <850000>;
652				regulator-max-microvolt = <850000>;
653				regulator-name = "vdda_ddr_pll_s0";
654				regulator-state-mem {
655					regulator-off-in-suspend;
656				};
657			};
658
659			vdda0v75_hdmi_s0: nldo-reg3 {
660				regulator-always-on;
661				regulator-boot-on;
662				regulator-min-microvolt = <837500>;
663				regulator-max-microvolt = <837500>;
664				regulator-name = "vdda0v75_hdmi_s0";
665				regulator-state-mem {
666					regulator-off-in-suspend;
667				};
668			};
669
670			vdda_0v85_s0: nldo-reg4 {
671				regulator-always-on;
672				regulator-boot-on;
673				regulator-min-microvolt = <850000>;
674				regulator-max-microvolt = <850000>;
675				regulator-name = "vdda_0v85_s0";
676				regulator-state-mem {
677					regulator-off-in-suspend;
678				};
679			};
680
681			vdda_0v75_s0: nldo-reg5 {
682				regulator-always-on;
683				regulator-boot-on;
684				regulator-min-microvolt = <750000>;
685				regulator-max-microvolt = <750000>;
686				regulator-name = "vdda_0v75_s0";
687				regulator-state-mem {
688					regulator-off-in-suspend;
689				};
690			};
691		};
692	};
693};
694
695&i2c2 {
696	status = "okay";
697
698	usbc0: typec-portc@22 {
699		compatible = "fcs,fusb302";
700		reg = <0x22>;
701		interrupt-parent = <&gpio0>;
702		interrupts = <RK_PA5 IRQ_TYPE_LEVEL_LOW>;
703		pinctrl-names = "default";
704		pinctrl-0 = <&usbc0_interrupt>;
705		vbus-supply = <&vcc_5v0_typec0>;
706
707		connector {
708			compatible = "usb-c-connector";
709			label = "USB-C";
710			data-role = "dual";
711			/* fusb302 supports PD Rev 2.0 Ver 1.2 */
712			pd-revision = /bits/ 8 <0x2 0x0 0x1 0x2>;
713			power-role = "source";
714			source-pdos = <PDO_FIXED(5000, 2000,
715						 PDO_FIXED_USB_COMM | PDO_FIXED_DATA_SWAP)>;
716
717			altmodes {
718				displayport {
719					svid = /bits/ 16 <0xff01>;
720					vdo = <0xffffffff>;
721				};
722			};
723
724			ports {
725				#address-cells = <1>;
726				#size-cells = <0>;
727
728				port@0 {
729					reg = <0>;
730					usbc0_hs_ep: endpoint {
731						remote-endpoint = <&usb_drd0_hs_ep>;
732					};
733				};
734				port@1 {
735					reg = <1>;
736					usbc0_ss_ep: endpoint {
737						remote-endpoint = <&usb_drd0_ss_ep>;
738					};
739				};
740				port@2 {
741					reg = <2>;
742					usbc0_dp_ep: endpoint {
743						remote-endpoint = <&usbdp_phy_ep>;
744					};
745				};
746			};
747		};
748	};
749
750	hym8563: rtc@51 {
751		compatible = "haoyu,hym8563";
752		reg = <0x51>;
753		clock-output-names = "hym8563";
754		interrupt-parent = <&gpio0>;
755		interrupts = <RK_PA0 IRQ_TYPE_LEVEL_LOW>;
756		pinctrl-names = "default";
757		pinctrl-0 = <&hym8563_int>;
758		wakeup-source;
759		#clock-cells = <0>;
760	};
761};
762
763&i2c3 {
764	status = "okay";
765
766	es8388: audio-codec@10 {
767		compatible = "everest,es8388", "everest,es8328";
768		reg = <0x10>;
769		clocks = <&cru CLK_SAI1_MCLKOUT_TO_IO>;
770		AVDD-supply = <&vcca_3v3_s0>;
771		DVDD-supply = <&vcc_3v3_s0>;
772		HPVDD-supply = <&vcca_3v3_s0>;
773		PVDD-supply = <&vcc_3v3_s0>;
774		assigned-clocks = <&cru CLK_SAI1_MCLKOUT_TO_IO>;
775		assigned-clock-rates = <12288000>;
776		#sound-dai-cells = <0>;
777		pinctrl-names = "default";
778		pinctrl-0 = <&sai1m0_mclk>;
779	};
780};
781
782&mdio0 {
783	rgmii_phy0: phy@1 {
784		compatible = "ethernet-phy-ieee802.3-c22";
785		reg = <0x1>;
786		pinctrl-names = "default";
787		pinctrl-0 = <&gmac0_rst>;
788		reset-assert-us = <20000>;
789		reset-deassert-us = <100000>;
790		reset-gpios = <&gpio2 RK_PB5 GPIO_ACTIVE_LOW>;
791	};
792};
793
794&mdio1 {
795	rgmii_phy1: phy@1 {
796		compatible = "ethernet-phy-ieee802.3-c22";
797		reg = <0x1>;
798		pinctrl-names = "default";
799		pinctrl-0 = <&gmac1_rst>;
800		reset-assert-us = <20000>;
801		reset-deassert-us = <100000>;
802		reset-gpios = <&gpio3 RK_PA3 GPIO_ACTIVE_LOW>;
803	};
804};
805
806&pcie0 {
807	pinctrl-names = "default";
808	pinctrl-0 = <&pcie_reset>;
809	reset-gpios = <&gpio2 RK_PB4 GPIO_ACTIVE_HIGH>;
810	vpcie3v3-supply = <&vcc_3v3_pcie>;
811	status = "okay";
812};
813
814&pinctrl {
815	gmac {
816		gmac0_rst: gmac0-rst {
817			rockchip,pins = <2 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>;
818		};
819		gmac1_rst: gmac1-rst {
820			rockchip,pins = <3 RK_PA3 RK_FUNC_GPIO &pcfg_pull_none>;
821		};
822	};
823
824	headphone {
825		hp_det: hp-det {
826			rockchip,pins = <0 RK_PD3 RK_FUNC_GPIO &pcfg_pull_up>;
827		};
828	};
829
830	hym8563 {
831		hym8563_int: hym8563-int {
832			rockchip,pins = <0 RK_PA0 RK_FUNC_GPIO &pcfg_pull_up>;
833		};
834	};
835
836	leds {
837		led_rgb_r: led-red-en {
838			rockchip,pins = <4 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>;
839		};
840		led_rgb_g: led-green-en {
841			rockchip,pins = <4 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>;
842		};
843	};
844
845	pcie {
846		pcie_pwr_en: pcie-pwr-en {
847			rockchip,pins = <3 RK_PD6 RK_FUNC_GPIO &pcfg_pull_down>;
848		};
849		pcie_reset: pcie-reset {
850			rockchip,pins = <2 RK_PB4 RK_FUNC_GPIO &pcfg_pull_up>;
851		};
852	};
853
854	usb {
855		usb_host_pwren: usb-host-pwren {
856			rockchip,pins = <4 RK_PA4 RK_FUNC_GPIO &pcfg_pull_none>;
857		};
858		usb_otg0_pwren: usb-otg0-pwren {
859			rockchip,pins = <4 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>;
860		};
861		usbc0_interrupt: usbc0-interrupt {
862			rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>;
863		};
864		usbc0_sbu1: usbc0-sbu1 {
865			rockchip,pins = <2 RK_PA6 RK_FUNC_GPIO &pcfg_pull_down>;
866		};
867		usbc0_sbu2: usbc0-sbu2 {
868			rockchip,pins = <2 RK_PA7 RK_FUNC_GPIO &pcfg_pull_down>;
869		};
870	};
871
872	wireless-bluetooth {
873		bt_reg_on: bt-reg-on {
874			rockchip,pins = <1 RK_PC7 RK_FUNC_GPIO &pcfg_pull_up>;
875		};
876
877		host_wake_bt: host-wake-bt {
878			rockchip,pins = <1 RK_PD4 RK_FUNC_GPIO &pcfg_pull_up>;
879		};
880
881		bt_wake_host: bt-wake-host {
882			rockchip,pins = <0 RK_PB1 RK_FUNC_GPIO &pcfg_pull_down>;
883		};
884	};
885
886	wireless-wlan {
887		wifi_wake_host: wifi-wake-host {
888			rockchip,pins = <0 RK_PB0 RK_FUNC_GPIO &pcfg_pull_down>;
889		};
890
891		wifi_reg_on: wifi-reg-on {
892			rockchip,pins = <1 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>;
893		};
894	};
895};
896
897&sai1 {
898	pinctrl-names = "default";
899	pinctrl-0 = <&sai1m0_lrck
900		     &sai1m0_sclk
901		     &sai1m0_sdi0
902		     &sai1m0_sdo0>;
903	status = "okay";
904};
905
906&sai6 {
907	status = "okay";
908};
909
910&sdhci {
911	bus-width = <8>;
912	full-pwr-cycle-in-suspend;
913	max-frequency = <200000000>;
914	mmc-hs400-1_8v;
915	mmc-hs400-enhanced-strobe;
916	no-sdio;
917	no-sd;
918	non-removable;
919	status = "okay";
920};
921
922&sdio {
923	bus-width = <4>;
924	cap-sdio-irq;
925	disable-wp;
926	keep-power-in-suspend;
927	mmc-pwrseq = <&sdio_pwrseq>;
928	no-sd;
929	no-mmc;
930	non-removable;
931	sd-uhs-sdr50;
932	sd-uhs-sdr104;
933	vmmc-supply = <&vcc_3v3_s3>;
934	vqmmc-supply = <&vcc_1v8_s3>;
935	wakeup-source;
936	status = "okay";
937};
938
939&sdmmc {
940	bus-width = <4>;
941	cap-mmc-highspeed;
942	cap-sd-highspeed;
943	disable-wp;
944	max-frequency = <200000000>;
945	no-sdio;
946	no-mmc;
947	sd-uhs-sdr104;
948	vmmc-supply = <&vcc_3v3_s3>;
949	vqmmc-supply = <&vccio_sd_s0>;
950	status = "okay";
951};
952
953&u2phy0 {
954	status = "okay";
955};
956
957&u2phy0_otg {
958	status = "okay";
959};
960
961&u2phy1 {
962	status = "okay";
963};
964
965&u2phy1_otg {
966	phy-supply = <&vcc_5v0_usbhost>;
967	status = "okay";
968};
969
970&uart0 {
971	pinctrl-0 = <&uart0m0_xfer>;
972	status = "okay";
973};
974
975/* Used by Bluetooth modules, enabled in a version specific overlay */
976&uart4 {
977	pinctrl-0 = <&uart4m1_xfer &uart4m1_ctsn &uart4m1_rtsn>;
978	pinctrl-names = "default";
979	uart-has-rtscts;
980};
981
982&usb_drd0_dwc3 {
983	usb-role-switch;
984	dr_mode = "otg";
985	status = "okay";
986
987	ports {
988		#address-cells = <1>;
989		#size-cells = <0>;
990
991		port@0 {
992			reg = <0>;
993			usb_drd0_hs_ep: endpoint {
994				remote-endpoint = <&usbc0_hs_ep>;
995			};
996		};
997
998		port@1 {
999			reg = <1>;
1000			usb_drd0_ss_ep: endpoint {
1001				remote-endpoint = <&usbc0_ss_ep>;
1002			};
1003		};
1004	};
1005};
1006
1007&usb_drd1_dwc3 {
1008	dr_mode = "host";
1009	status = "okay";
1010};
1011
1012&usbdp_phy {
1013	mode-switch;
1014	orientation-switch;
1015	pinctrl-names = "default";
1016	pinctrl-0 = <&usbc0_sbu1 &usbc0_sbu2>;
1017	sbu1-dc-gpios = <&gpio2 RK_PA6 GPIO_ACTIVE_HIGH>;
1018	sbu2-dc-gpios = <&gpio2 RK_PA7 GPIO_ACTIVE_HIGH>;
1019	status = "okay";
1020
1021	port {
1022		usbdp_phy_ep: endpoint {
1023			remote-endpoint = <&usbc0_dp_ep>;
1024		};
1025	};
1026};
1027
1028&vop {
1029	status = "okay";
1030};
1031
1032&vop_mmu {
1033	status = "okay";
1034};
1035
1036&vp0 {
1037	vp0_out_hdmi: endpoint@ROCKCHIP_VOP2_EP_HDMI0 {
1038		reg = <ROCKCHIP_VOP2_EP_HDMI0>;
1039		remote-endpoint = <&hdmi_in_vp0>;
1040	};
1041};
1042