xref: /linux/arch/arm64/boot/dts/rockchip/rk3576-evb1-v10.dts (revision db4a3f0fbedb0398f77b9047e8b8bb2b49f355bb)
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/input/input.h>
11#include <dt-bindings/leds/common.h>
12#include <dt-bindings/pinctrl/rockchip.h>
13#include <dt-bindings/soc/rockchip,vop2.h>
14#include "rk3576.dtsi"
15
16/ {
17	model = "Rockchip RK3576 EVB V10 Board";
18	compatible = "rockchip,rk3576-evb1-v10", "rockchip,rk3576";
19
20	aliases {
21		ethernet0 = &gmac0;
22		ethernet1 = &gmac1;
23	};
24
25	chosen: chosen {
26		stdout-path = "serial0:1500000n8";
27	};
28
29	adc_keys: adc-keys {
30		compatible = "adc-keys";
31		io-channels = <&saradc 1>;
32		io-channel-names = "buttons";
33		keyup-threshold-microvolt = <1800000>;
34		poll-interval = <100>;
35
36		button-back {
37			label = "back";
38			linux,code = <KEY_BACK>;
39			press-threshold-microvolt = <1235000>;
40		};
41
42		button-menu {
43			label = "menu";
44			linux,code = <KEY_MENU>;
45			press-threshold-microvolt = <890000>;
46		};
47
48		button-vol-down {
49			label = "volume down";
50			linux,code = <KEY_VOLUMEDOWN>;
51			press-threshold-microvolt = <417000>;
52		};
53
54		button-vol-up {
55			label = "volume up";
56			linux,code = <KEY_VOLUMEUP>;
57			press-threshold-microvolt = <17000>;
58		};
59	};
60
61	hdmi-con {
62		compatible = "hdmi-connector";
63		type = "a";
64
65		port {
66			hdmi_con_in: endpoint {
67				remote-endpoint = <&hdmi_out_con>;
68			};
69		};
70	};
71
72	leds: leds {
73		compatible = "gpio-leds";
74
75		work_led: led-0 {
76			gpios = <&gpio0 RK_PB4 GPIO_ACTIVE_HIGH>;
77			linux,default-trigger = "heartbeat";
78		};
79	};
80
81	vbus5v0_typec: regulator-vbus5v0-typec {
82		compatible = "regulator-fixed";
83		regulator-name = "vbus5v0_typec";
84		regulator-min-microvolt = <5000000>;
85		regulator-max-microvolt = <5000000>;
86		enable-active-high;
87		gpio = <&gpio0 RK_PD1 GPIO_ACTIVE_HIGH>;
88		vin-supply = <&vcc5v0_device>;
89		pinctrl-names = "default";
90		pinctrl-0 = <&usb_otg0_pwren>;
91	};
92
93	vcc12v_dcin: regulator-vcc12v-dcin {
94		compatible = "regulator-fixed";
95		regulator-name = "vcc12v_dcin";
96		regulator-always-on;
97		regulator-boot-on;
98		regulator-min-microvolt = <12000000>;
99		regulator-max-microvolt = <12000000>;
100	};
101
102	vcc1v2_ufs_vccq_s0: regulator-vcc1v2-ufs-vccq-s0 {
103		compatible = "regulator-fixed";
104		regulator-name = "vcc1v2_ufs_vccq_s0";
105		regulator-boot-on;
106		regulator-always-on;
107		regulator-min-microvolt = <1200000>;
108		regulator-max-microvolt = <1200000>;
109		vin-supply = <&vcc_sys>;
110	};
111
112	vcc1v8_ufs_vccq2_s0: regulator-vcc1v8-ufs-vccq2-s0 {
113		compatible = "regulator-fixed";
114		regulator-name = "vcc1v8_ufs_vccq2_s0";
115		regulator-boot-on;
116		regulator-always-on;
117		regulator-min-microvolt = <1800000>;
118		regulator-max-microvolt = <1800000>;
119		vin-supply = <&vcc_1v8_s3>;
120	};
121
122	vcc3v3_lcd_n: regulator-vcc3v3-lcd0-n {
123		compatible = "regulator-fixed";
124		regulator-name = "vcc3v3_lcd0_n";
125		regulator-boot-on;
126		enable-active-high;
127		gpio = <&gpio0 RK_PC6 GPIO_ACTIVE_HIGH>;
128		vin-supply = <&vcc_3v3_s0>;
129	};
130
131	vcc3v3_pcie1: regulator-vcc3v3-pcie1 {
132		compatible = "regulator-fixed";
133		regulator-name = "vcc3v3_pcie1";
134		regulator-min-microvolt = <3300000>;
135		regulator-max-microvolt = <3300000>;
136		enable-active-high;
137		gpios = <&gpio3 RK_PD4 GPIO_ACTIVE_HIGH>;
138		startup-delay-us = <5000>;
139		vin-supply = <&vcc12v_dcin>;
140	};
141
142	vcc3v3_rtc_s5: regulator-vcc3v3-rtc-s5 {
143		compatible = "regulator-fixed";
144		regulator-name = "vcc3v3_rtc_s5";
145		regulator-boot-on;
146		regulator-always-on;
147		regulator-min-microvolt = <3300000>;
148		regulator-max-microvolt = <3300000>;
149		vin-supply = <&vcc_sys>;
150	};
151
152	vcc5v0_device: regulator-vcc5v0-device {
153		compatible = "regulator-fixed";
154		regulator-name = "vcc5v0_device";
155		regulator-always-on;
156		regulator-boot-on;
157		regulator-min-microvolt = <5000000>;
158		regulator-max-microvolt = <5000000>;
159		vin-supply = <&vcc12v_dcin>;
160	};
161
162	vcc5v0_host: regulator-vcc5v0-host {
163		compatible = "regulator-fixed";
164		regulator-name = "vcc5v0_host";
165		regulator-boot-on;
166		regulator-always-on;
167		regulator-min-microvolt = <5000000>;
168		regulator-max-microvolt = <5000000>;
169		enable-active-high;
170		gpio = <&gpio0 RK_PC7 GPIO_ACTIVE_HIGH>;
171		vin-supply = <&vcc5v0_device>;
172		pinctrl-names = "default";
173		pinctrl-0 = <&usb_host_pwren>;
174	};
175
176	vcc_sys: regulator-vcc5v0-sys {
177		compatible = "regulator-fixed";
178		regulator-name = "vcc_sys";
179		regulator-always-on;
180		regulator-boot-on;
181		regulator-min-microvolt = <5000000>;
182		regulator-max-microvolt = <5000000>;
183		vin-supply = <&vcc12v_dcin>;
184	};
185
186	vcc_1v1_nldo_s3: regulator-vcc-1v1-nldo-s3 {
187		compatible = "regulator-fixed";
188		regulator-name = "vcc_1v1_nldo_s3";
189		regulator-boot-on;
190		regulator-always-on;
191		regulator-min-microvolt = <1100000>;
192		regulator-max-microvolt = <1100000>;
193		vin-supply = <&vcc_sys>;
194	};
195
196	vcc_1v8_s0: regulator-vcc-1v8-s0 {
197		compatible = "regulator-fixed";
198		regulator-name = "vcc_1v8_s0";
199		regulator-boot-on;
200		regulator-always-on;
201		regulator-min-microvolt = <1800000>;
202		regulator-max-microvolt = <1800000>;
203		vin-supply = <&vcc_1v8_s3>;
204	};
205
206	vcc_2v0_pldo_s3: regulator-vcc-2v0-pldo-s3 {
207		compatible = "regulator-fixed";
208		regulator-name = "vcc_2v0_pldo_s3";
209		regulator-boot-on;
210		regulator-always-on;
211		regulator-min-microvolt = <2000000>;
212		regulator-max-microvolt = <2000000>;
213		vin-supply = <&vcc_sys>;
214	};
215
216	vcc_3v3_s0: regulator-vcc-3v3-s0 {
217		compatible = "regulator-fixed";
218		regulator-name = "vcc_3v3_s0";
219		regulator-boot-on;
220		regulator-always-on;
221		regulator-min-microvolt = <3300000>;
222		regulator-max-microvolt = <3300000>;
223		vin-supply = <&vcc_3v3_s3>;
224	};
225
226	vcc_ufs_s0: regulator-vcc-ufs-s0 {
227		compatible = "regulator-fixed";
228		regulator-name = "vcc_ufs_s0";
229		regulator-boot-on;
230		regulator-always-on;
231		regulator-min-microvolt = <3300000>;
232		regulator-max-microvolt = <3300000>;
233		vin-supply = <&vcc_sys>;
234	};
235
236	vcc_wifi_reg_on: regulator-wifi-reg-on {
237		compatible = "regulator-fixed";
238		enable-active-high;
239		gpios = <&gpio1 RK_PC6 GPIO_ACTIVE_HIGH>;
240		pinctrl-0 = <&wifi_reg_on>;
241		pinctrl-names = "default";
242		regulator-name = "wifi_reg_on";
243		regulator-always-on;
244		regulator-boot-on;
245		regulator-min-microvolt = <1800000>;
246		regulator-max-microvolt = <1800000>;
247		vin-supply = <&vcc_1v8_s3>;
248	};
249};
250
251&cpu_l0 {
252	cpu-supply = <&vdd_cpu_lit_s0>;
253};
254
255&cpu_b0 {
256	cpu-supply = <&vdd_cpu_big_s0>;
257};
258
259&combphy0_ps {
260	status = "okay";
261};
262
263&combphy1_psu {
264	status = "okay";
265};
266
267&gmac0 {
268	clock_in_out = "output";
269	phy-mode = "rgmii-rxid";
270	phy-handle = <&rgmii_phy0>;
271	pinctrl-names = "default";
272	pinctrl-0 = <&eth0m0_miim
273		     &eth0m0_tx_bus2
274		     &eth0m0_rx_bus2
275		     &eth0m0_rgmii_clk
276		     &eth0m0_rgmii_bus
277		     &ethm0_clk0_25m_out>;
278	tx_delay = <0x21>;
279	status = "okay";
280};
281
282&gmac1 {
283	clock_in_out = "output";
284	phy-handle = <&rgmii_phy1>;
285	phy-mode = "rgmii-rxid";
286	pinctrl-names = "default";
287	pinctrl-0 = <&eth1m0_miim
288		     &eth1m0_tx_bus2
289		     &eth1m0_rx_bus2
290		     &eth1m0_rgmii_clk
291		     &eth1m0_rgmii_bus
292		     &ethm0_clk1_25m_out>;
293	tx_delay = <0x20>;
294	status = "okay";
295};
296
297&gpu {
298	mali-supply = <&vdd_gpu_s0>;
299	status = "okay";
300};
301
302&hdmi {
303	status = "okay";
304};
305
306&hdmi_in {
307	hdmi_in_vp0: endpoint {
308		remote-endpoint = <&vp0_out_hdmi>;
309	};
310};
311
312&hdmi_out {
313	hdmi_out_con: endpoint {
314		remote-endpoint = <&hdmi_con_in>;
315	};
316};
317
318&hdptxphy {
319	status = "okay";
320};
321
322&i2c1 {
323	status = "okay";
324
325	rk806: pmic@23 {
326		compatible = "rockchip,rk806";
327		reg = <0x23>;
328		interrupt-parent = <&gpio0>;
329		interrupts = <6 IRQ_TYPE_LEVEL_LOW>;
330		gpio-controller;
331		#gpio-cells = <2>;
332		pinctrl-names = "default";
333		pinctrl-0 = <&pmic_pins>, <&rk806_dvs1_null>,
334			    <&rk806_dvs2_null>, <&rk806_dvs3_null>;
335		system-power-controller;
336
337		vcc1-supply = <&vcc_sys>;
338		vcc2-supply = <&vcc_sys>;
339		vcc3-supply = <&vcc_sys>;
340		vcc4-supply = <&vcc_sys>;
341		vcc5-supply = <&vcc_sys>;
342		vcc6-supply = <&vcc_sys>;
343		vcc7-supply = <&vcc_sys>;
344		vcc8-supply = <&vcc_sys>;
345		vcc9-supply = <&vcc_sys>;
346		vcc10-supply = <&vcc_sys>;
347		vcc11-supply = <&vcc_2v0_pldo_s3>;
348		vcc12-supply = <&vcc_sys>;
349		vcc13-supply = <&vcc_1v1_nldo_s3>;
350		vcc14-supply = <&vcc_1v1_nldo_s3>;
351		vcca-supply = <&vcc_sys>;
352
353		rk806_dvs1_null: dvs1-null-pins {
354			pins = "gpio_pwrctrl1";
355			function = "pin_fun0";
356		};
357
358		rk806_dvs2_null: dvs2-null-pins {
359			pins = "gpio_pwrctrl2";
360			function = "pin_fun0";
361		};
362
363		rk806_dvs3_null: dvs3-null-pins {
364			pins = "gpio_pwrctrl3";
365			function = "pin_fun0";
366		};
367
368		rk806_dvs1_slp: dvs1-slp-pins {
369			pins = "gpio_pwrctrl1";
370			function = "pin_fun1";
371		};
372
373		rk806_dvs1_pwrdn: dvs1-pwrdn-pins {
374			pins = "gpio_pwrctrl1";
375			function = "pin_fun2";
376		};
377
378		rk806_dvs1_rst: dvs1-rst-pins {
379			pins = "gpio_pwrctrl1";
380			function = "pin_fun3";
381		};
382
383		rk806_dvs2_slp: dvs2-slp-pins {
384			pins = "gpio_pwrctrl2";
385			function = "pin_fun1";
386		};
387
388		rk806_dvs2_pwrdn: dvs2-pwrdn-pins {
389			pins = "gpio_pwrctrl2";
390			function = "pin_fun2";
391		};
392
393		rk806_dvs2_rst: dvs2-rst-pins {
394			pins = "gpio_pwrctrl2";
395			function = "pin_fun3";
396		};
397
398		rk806_dvs2_dvs: dvs2-dvs-pins {
399			pins = "gpio_pwrctrl2";
400			function = "pin_fun4";
401		};
402
403		rk806_dvs2_gpio: dvs2-gpio-pins {
404			pins = "gpio_pwrctrl2";
405			function = "pin_fun5";
406		};
407
408		rk806_dvs3_slp: dvs3-slp-pins {
409			pins = "gpio_pwrctrl3";
410			function = "pin_fun1";
411		};
412
413		rk806_dvs3_pwrdn: dvs3-pwrdn-pins {
414			pins = "gpio_pwrctrl3";
415			function = "pin_fun2";
416		};
417
418		rk806_dvs3_rst: dvs3-rst-pins {
419			pins = "gpio_pwrctrl3";
420			function = "pin_fun3";
421		};
422
423		rk806_dvs3_dvs: dvs3-dvs-pins {
424			pins = "gpio_pwrctrl3";
425			function = "pin_fun4";
426		};
427
428		rk806_dvs3_gpio: dvs3-gpio-pins {
429			pins = "gpio_pwrctrl3";
430			function = "pin_fun5";
431		};
432
433		regulators {
434			vdd_cpu_big_s0: dcdc-reg1 {
435				regulator-always-on;
436				regulator-boot-on;
437				regulator-min-microvolt = <550000>;
438				regulator-max-microvolt = <950000>;
439				regulator-ramp-delay = <12500>;
440				regulator-name = "vdd_cpu_big_s0";
441				regulator-enable-ramp-delay = <400>;
442
443				regulator-state-mem {
444					regulator-off-in-suspend;
445				};
446			};
447
448			vdd_npu_s0: dcdc-reg2 {
449				regulator-boot-on;
450				regulator-min-microvolt = <550000>;
451				regulator-max-microvolt = <950000>;
452				regulator-ramp-delay = <12500>;
453				regulator-name = "vdd_npu_s0";
454				regulator-enable-ramp-delay = <400>;
455
456				regulator-state-mem {
457					regulator-off-in-suspend;
458				};
459			};
460
461			vdd_cpu_lit_s0: dcdc-reg3 {
462				regulator-always-on;
463				regulator-boot-on;
464				regulator-min-microvolt = <550000>;
465				regulator-max-microvolt = <950000>;
466				regulator-ramp-delay = <12500>;
467				regulator-name = "vdd_cpu_lit_s0";
468
469				regulator-state-mem {
470					regulator-off-in-suspend;
471					regulator-suspend-microvolt = <750000>;
472				};
473			};
474
475			vcc_3v3_s3: dcdc-reg4 {
476				regulator-always-on;
477				regulator-boot-on;
478				regulator-min-microvolt = <3300000>;
479				regulator-max-microvolt = <3300000>;
480				regulator-name = "vcc_3v3_s3";
481
482				regulator-state-mem {
483					regulator-on-in-suspend;
484					regulator-suspend-microvolt = <3300000>;
485				};
486			};
487
488			vdd_gpu_s0: dcdc-reg5 {
489				regulator-boot-on;
490				regulator-min-microvolt = <550000>;
491				regulator-max-microvolt = <900000>;
492				regulator-ramp-delay = <12500>;
493				regulator-name = "vdd_gpu_s0";
494				regulator-enable-ramp-delay = <400>;
495
496				regulator-state-mem {
497					regulator-off-in-suspend;
498					regulator-suspend-microvolt = <850000>;
499				};
500			};
501
502			vddq_ddr_s0: dcdc-reg6 {
503				regulator-always-on;
504				regulator-boot-on;
505				regulator-name = "vddq_ddr_s0";
506
507				regulator-state-mem {
508					regulator-off-in-suspend;
509				};
510			};
511
512			vdd_logic_s0: dcdc-reg7 {
513				regulator-always-on;
514				regulator-boot-on;
515				regulator-min-microvolt = <550000>;
516				regulator-max-microvolt = <800000>;
517				regulator-name = "vdd_logic_s0";
518
519				regulator-state-mem {
520					regulator-off-in-suspend;
521				};
522			};
523
524			vcc_1v8_s3: dcdc-reg8 {
525				regulator-always-on;
526				regulator-boot-on;
527				regulator-min-microvolt = <1800000>;
528				regulator-max-microvolt = <1800000>;
529				regulator-name = "vcc_1v8_s3";
530
531				regulator-state-mem {
532					regulator-on-in-suspend;
533					regulator-suspend-microvolt = <1800000>;
534				};
535			};
536
537			vdd2_ddr_s3: dcdc-reg9 {
538				regulator-always-on;
539				regulator-boot-on;
540				regulator-name = "vdd2_ddr_s3";
541
542				regulator-state-mem {
543					regulator-on-in-suspend;
544				};
545			};
546
547			vdd_ddr_s0: dcdc-reg10 {
548				regulator-always-on;
549				regulator-boot-on;
550				regulator-min-microvolt = <550000>;
551				regulator-max-microvolt = <1200000>;
552				regulator-name = "vdd_ddr_s0";
553
554				regulator-state-mem {
555					regulator-off-in-suspend;
556				};
557			};
558
559			vcca_1v8_s0: pldo-reg1 {
560				regulator-always-on;
561				regulator-boot-on;
562				regulator-min-microvolt = <1800000>;
563				regulator-max-microvolt = <1800000>;
564				regulator-name = "vcca_1v8_s0";
565
566				regulator-state-mem {
567					regulator-off-in-suspend;
568				};
569			};
570
571			vcca1v8_pldo2_s0: pldo-reg2 {
572				regulator-always-on;
573				regulator-boot-on;
574				regulator-min-microvolt = <1800000>;
575				regulator-max-microvolt = <1800000>;
576				regulator-name = "vcca1v8_pldo2_s0";
577
578				regulator-state-mem {
579					regulator-off-in-suspend;
580				};
581			};
582
583			vdda_1v2_s0: pldo-reg3 {
584				regulator-always-on;
585				regulator-boot-on;
586				regulator-min-microvolt = <1200000>;
587				regulator-max-microvolt = <1200000>;
588				regulator-name = "vdda_1v2_s0";
589
590				regulator-state-mem {
591					regulator-off-in-suspend;
592				};
593			};
594
595			vcca_3v3_s0: pldo-reg4 {
596				regulator-always-on;
597				regulator-boot-on;
598				regulator-min-microvolt = <3300000>;
599				regulator-max-microvolt = <3300000>;
600				regulator-name = "vcca_3v3_s0";
601
602				regulator-state-mem {
603					regulator-off-in-suspend;
604				};
605			};
606
607			vccio_sd_s0: pldo-reg5 {
608				regulator-always-on;
609				regulator-boot-on;
610				regulator-min-microvolt = <1800000>;
611				regulator-max-microvolt = <3300000>;
612				regulator-name = "vccio_sd_s0";
613
614				regulator-state-mem {
615					regulator-off-in-suspend;
616				};
617			};
618
619			vcca1v8_pldo6_s3: pldo-reg6 {
620				regulator-always-on;
621				regulator-boot-on;
622				regulator-min-microvolt = <1800000>;
623				regulator-max-microvolt = <1800000>;
624				regulator-name = "vcca1v8_pldo6_s3";
625
626				regulator-state-mem {
627					regulator-on-in-suspend;
628					regulator-suspend-microvolt = <1800000>;
629				};
630			};
631
632			vdd_0v75_s3: nldo-reg1 {
633				regulator-always-on;
634				regulator-boot-on;
635				regulator-min-microvolt = <550000>;
636				regulator-max-microvolt = <750000>;
637				regulator-name = "vdd_0v75_s3";
638
639				regulator-state-mem {
640					regulator-on-in-suspend;
641					regulator-suspend-microvolt = <750000>;
642				};
643			};
644
645			vdda_ddr_pll_s0: nldo-reg2 {
646				regulator-always-on;
647				regulator-boot-on;
648				regulator-min-microvolt = <850000>;
649				regulator-max-microvolt = <850000>;
650				regulator-name = "vdda_ddr_pll_s0";
651
652				regulator-state-mem {
653					regulator-off-in-suspend;
654				};
655			};
656
657			vdda0v75_hdmi_s0: nldo-reg3 {
658				regulator-boot-on;
659				regulator-min-microvolt = <837500>;
660				regulator-max-microvolt = <837500>;
661				regulator-name = "vdda0v75_hdmi_s0";
662
663				regulator-state-mem {
664					regulator-off-in-suspend;
665				};
666			};
667
668			vdda_0v85_s0: nldo-reg4 {
669				regulator-always-on;
670				regulator-boot-on;
671				regulator-min-microvolt = <850000>;
672				regulator-max-microvolt = <850000>;
673				regulator-name = "vdda_0v85_s0";
674
675				regulator-state-mem {
676					regulator-off-in-suspend;
677				};
678			};
679
680			vdda_0v75_s0: nldo-reg5 {
681				regulator-always-on;
682				regulator-boot-on;
683				regulator-min-microvolt = <750000>;
684				regulator-max-microvolt = <750000>;
685				regulator-name = "vdda_0v75_s0";
686
687				regulator-state-mem {
688					regulator-off-in-suspend;
689				};
690			};
691		};
692	};
693};
694
695&i2c2 {
696	status = "okay";
697
698	hym8563: rtc@51 {
699		compatible = "haoyu,hym8563";
700		reg = <0x51>;
701		clock-output-names = "hym8563";
702		interrupt-parent = <&gpio0>;
703		interrupts = <RK_PA0 IRQ_TYPE_LEVEL_LOW>;
704		pinctrl-names = "default";
705		pinctrl-0 = <&rtc_int>;
706		wakeup-source;
707		#clock-cells = <0>;
708	};
709};
710
711&mdio0 {
712	rgmii_phy0: ethernet-phy@1 {
713		compatible = "ethernet-phy-id001c.c916";
714		reg = <0x1>;
715		clocks = <&cru REFCLKO25M_GMAC0_OUT>;
716		assigned-clocks = <&cru REFCLKO25M_GMAC0_OUT>;
717		assigned-clock-rates = <25000000>;
718		pinctrl-names = "default";
719		pinctrl-0 = <&rgmii_phy0_rst>;
720		reset-assert-us = <20000>;
721		reset-deassert-us = <100000>;
722		reset-gpios = <&gpio2 RK_PB5 GPIO_ACTIVE_LOW>;
723	};
724};
725
726&mdio1 {
727	rgmii_phy1: ethernet-phy@1 {
728		compatible = "ethernet-phy-id001c.c916";
729		reg = <0x1>;
730		clocks = <&cru REFCLKO25M_GMAC1_OUT>;
731		assigned-clocks = <&cru REFCLKO25M_GMAC1_OUT>;
732		assigned-clock-rates = <25000000>;
733		pinctrl-names = "default";
734		pinctrl-0 = <&rgmii_phy1_rst>;
735		reset-assert-us = <20000>;
736		reset-deassert-us = <100000>;
737		reset-gpios = <&gpio3 RK_PA3 GPIO_ACTIVE_LOW>;
738	};
739};
740
741&pcie0 {
742	pinctrl-names = "default";
743	pinctrl-0 = <&pcie0_rst>;
744	reset-gpios = <&gpio2 RK_PB4 GPIO_ACTIVE_HIGH>;
745	vpcie3v3-supply = <&vcc_3v3_s3>;
746	status = "okay";
747
748	pcie@0,0 {
749		reg = <0x0 0 0 0 0>;
750		bus-range = <0x0 0xf>;
751		device_type = "pci";
752		ranges;
753		#address-cells = <3>;
754		#size-cells = <2>;
755
756		wifi: wifi@0,0 {
757			compatible = "pci14e4,449d";
758			reg = <0x10000 0 0 0 0>;
759			clocks = <&hym8563>;
760			clock-names = "lpo";
761		};
762	};
763};
764
765&pcie1 {
766	reset-gpios = <&gpio4 RK_PC4 GPIO_ACTIVE_HIGH>;
767	vpcie3v3-supply = <&vcc3v3_pcie1>;
768
769	/*
770	 * Disable usb_drd1_dwc3 if enabling pcie1 and set Dial_Switch_1
771	 * to low state according to the schematic of page 17.
772	 */
773	status = "disabled";
774};
775
776&pinctrl {
777	bluetooth {
778		bt_reg_on: bt-reg-on {
779			rockchip,pins = <1 RK_PC7 RK_FUNC_GPIO &pcfg_pull_up>;
780		};
781
782		bt_wake_host: bt-wake-host {
783			rockchip,pins = <0 RK_PB1 RK_FUNC_GPIO &pcfg_pull_down>;
784		};
785
786		host_wake_bt: host-wake-bt {
787			rockchip,pins = <1 RK_PD4 RK_FUNC_GPIO &pcfg_pull_up>;
788		};
789	};
790
791	hym8563 {
792		rtc_int: rtc-int {
793			rockchip,pins = <0 RK_PA0 RK_FUNC_GPIO &pcfg_pull_up>;
794		};
795	};
796
797	network {
798		rgmii_phy0_rst: rgmii-phy0-rst {
799			rockchip,pins = <2 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>;
800		};
801
802		rgmii_phy1_rst: rgmii-phy1-rst {
803			rockchip,pins = <3 RK_PA3 RK_FUNC_GPIO &pcfg_pull_none>;
804		};
805	};
806
807	pcie0 {
808		pcie0_rst: pcie0-rst {
809			rockchip,pins = <2 RK_PB4 RK_FUNC_GPIO &pcfg_pull_none>;
810		};
811	};
812
813	usb {
814		usb_host_pwren: usb-host-pwren {
815			rockchip,pins = <0 RK_PC7 RK_FUNC_GPIO &pcfg_pull_none>;
816		};
817
818		usb_otg0_pwren: usb-otg0-pwren {
819			rockchip,pins = <0 RK_PD1 RK_FUNC_GPIO &pcfg_pull_none>;
820		};
821
822		usbc0_int: usbc0-int {
823			rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>;
824		};
825	};
826
827	wifi {
828		wifi_reg_on: wifi-reg-on {
829			rockchip,pins = <1 RK_PC6 RK_FUNC_GPIO &pcfg_pull_up>;
830		};
831
832		wifi_wake_host: wifi-wake-host {
833			rockchip,pins = <0 RK_PB0 RK_FUNC_GPIO &pcfg_pull_down>;
834		};
835	};
836};
837
838&sdhci {
839	bus-width = <8>;
840	full-pwr-cycle-in-suspend;
841	max-frequency = <200000000>;
842	mmc-hs400-1_8v;
843	mmc-hs400-enhanced-strobe;
844	no-sdio;
845	no-sd;
846	non-removable;
847	status = "okay";
848};
849
850&sdmmc {
851	bus-width = <4>;
852	cap-mmc-highspeed;
853	cap-sd-highspeed;
854	disable-wp;
855	max-frequency = <200000000>;
856	no-sdio;
857	no-mmc;
858	sd-uhs-sdr104;
859	vqmmc-supply = <&vccio_sd_s0>;
860	status = "okay";
861};
862
863&saradc {
864	vref-supply = <&vcca_1v8_s0>;
865	status = "okay";
866};
867
868&u2phy0 {
869	status = "okay";
870};
871
872&u2phy0_otg {
873	phy-supply = <&vbus5v0_typec>;
874	status = "okay";
875};
876
877&u2phy1 {
878	status = "okay";
879};
880
881&u2phy1_otg {
882	phy-supply = <&vcc5v0_host>;
883	status = "okay";
884};
885
886&uart0 {
887	status = "okay";
888};
889
890&uart4 {
891	pinctrl-0 = <&uart4m1_xfer &uart4m1_ctsn &uart4m1_rtsn>;
892	pinctrl-names = "default";
893	uart-has-rtscts;
894	status = "okay";
895
896	bluetooth {
897		compatible = "brcm,bcm43438-bt";
898		clocks = <&hym8563>;
899		clock-names = "lpo";
900		device-wakeup-gpios = <&gpio1 RK_PD4 GPIO_ACTIVE_HIGH>;
901		interrupt-parent = <&gpio0>;
902		interrupts = <RK_PB1 IRQ_TYPE_LEVEL_HIGH>;
903		pinctrl-0 = <&bt_reg_on &bt_wake_host &host_wake_bt>;
904		pinctrl-names = "default";
905		shutdown-gpios = <&gpio1 RK_PC7 GPIO_ACTIVE_HIGH>;
906		vbat-supply = <&vcc_3v3_s3>;
907		vddio-supply = <&vcc_1v8_s3>;
908	};
909};
910
911&ufshc {
912	status = "okay";
913};
914
915&usbdp_phy {
916	rockchip,dp-lane-mux = <2 3>;
917	status = "okay";
918};
919
920&usb_drd0_dwc3 {
921	dr_mode = "host";
922	status = "okay";
923};
924
925&usb_drd1_dwc3 {
926	dr_mode = "host";
927	status = "okay";
928};
929
930&vop {
931	status = "okay";
932};
933
934&vop_mmu {
935	status = "okay";
936};
937
938&vp0 {
939	vp0_out_hdmi: endpoint@ROCKCHIP_VOP2_EP_HDMI0 {
940		reg = <ROCKCHIP_VOP2_EP_HDMI0>;
941		remote-endpoint = <&hdmi_in_vp0>;
942	};
943};
944