xref: /linux/arch/arm64/boot/dts/rockchip/rk3576-nanopi-r76s.dts (revision 0cac5ce06e524755b3dac1e0a060b05992076d93)
1// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
2/*
3 * Copyright (c) 2025 FriendlyElec Computer Tech. Co., Ltd.
4 * (http://www.friendlyelec.com)
5 *
6 * Copyright (c) 2025 Tianling Shen <cnsztl@gmail.com>
7 */
8
9/dts-v1/;
10#include <dt-bindings/gpio/gpio.h>
11#include <dt-bindings/input/input.h>
12#include <dt-bindings/leds/common.h>
13#include <dt-bindings/pinctrl/rockchip.h>
14#include <dt-bindings/soc/rockchip,vop2.h>
15
16#include "rk3576.dtsi"
17
18/ {
19	model = "FriendlyElec NanoPi R76S";
20	compatible = "friendlyarm,nanopi-r76s", "rockchip,rk3576";
21
22	aliases {
23		mmc0 = &sdhci;
24		mmc1 = &sdmmc;
25		mmc2 = &sdio;
26	};
27
28	chosen {
29		stdout-path = "serial0:1500000n8";
30	};
31
32	gpio-keys {
33		compatible = "gpio-keys";
34		pinctrl-names = "default";
35		pinctrl-0 = <&user_but_pin>;
36
37		button-reset {
38			label = "reset";
39			gpios = <&gpio4 RK_PA2 GPIO_ACTIVE_LOW>;
40			debounce-interval = <50>;
41			linux,code = <KEY_RESTART>;
42			wakeup-source;
43		};
44	};
45
46	gpio-leds {
47		compatible = "gpio-leds";
48		pinctrl-names = "default";
49		pinctrl-0 = <&led1_h>, <&led_sys_h>, <&led2_h>;
50
51		led-0 {
52			color = <LED_COLOR_ID_GREEN>;
53			function = LED_FUNCTION_LAN;
54			gpios = <&gpio2 RK_PB0 GPIO_ACTIVE_HIGH>;
55		};
56
57		led-1 {
58			color = <LED_COLOR_ID_RED>;
59			function = LED_FUNCTION_POWER;
60			gpios = <&gpio2 RK_PB3 GPIO_ACTIVE_HIGH>;
61			linux,default-trigger = "heartbeat";
62		};
63
64		led-2 {
65			color = <LED_COLOR_ID_GREEN>;
66			function = LED_FUNCTION_WAN;
67			gpios = <&gpio4 RK_PC5 GPIO_ACTIVE_HIGH>;
68		};
69	};
70
71	hdmi-con {
72		compatible = "hdmi-connector";
73		hdmi-pwr-supply = <&vcc5v_hdmi_tx>;
74		type = "a";
75
76		port {
77			hdmi_con_in: endpoint {
78				remote-endpoint = <&hdmi_out_con>;
79			};
80		};
81	};
82
83	sdio_pwrseq: sdio-pwrseq {
84		compatible = "mmc-pwrseq-simple";
85		clocks = <&hym8563>;
86		clock-names = "ext_clock";
87		pinctrl-names = "default";
88		pinctrl-0 = <&wifi_reg_on_h>;
89		post-power-on-delay-ms = <200>;
90		reset-gpios = <&gpio1 RK_PC2 GPIO_ACTIVE_LOW>;
91	};
92
93	vcc3v3_rtc_s5: regulator-vcc3v3-rtc-s5 {
94		compatible = "regulator-fixed";
95		regulator-always-on;
96		regulator-boot-on;
97		regulator-min-microvolt = <3300000>;
98		regulator-max-microvolt = <3300000>;
99		regulator-name = "vcc3v3_rtc_s5";
100		vin-supply = <&vcc5v0_sys_s5>;
101	};
102
103	vcc5v_dcin: regulator-vcc5v-dcin {
104		compatible = "regulator-fixed";
105		regulator-always-on;
106		regulator-boot-on;
107		regulator-min-microvolt = <5000000>;
108		regulator-max-microvolt = <5000000>;
109		regulator-name = "vcc5v_dcin";
110	};
111
112	vcc5v_hdmi_tx: regulator-vcc5v-hdmi-tx {
113		compatible = "regulator-fixed";
114		enable-active-high;
115		gpios = <&gpio4 RK_PC6 GPIO_ACTIVE_HIGH>;
116		pinctrl-names = "default";
117		pinctrl-0 = <&hdmi_tx_on_h>;
118		regulator-min-microvolt = <5000000>;
119		regulator-max-microvolt = <5000000>;
120		regulator-name = "vcc5v_hdmi_tx";
121		vin-supply = <&vcc5v0_sys_s5>;
122	};
123
124	vcc5v0_device_s0: regulator-vcc5v0-device-s0 {
125		compatible = "regulator-fixed";
126		regulator-always-on;
127		regulator-boot-on;
128		regulator-min-microvolt = <5000000>;
129		regulator-max-microvolt = <5000000>;
130		regulator-name = "vcc5v0_device_s0";
131		vin-supply = <&vcc5v_dcin>;
132	};
133
134	vcc5v0_sys_s5: regulator-vcc5v0-sys-s5 {
135		compatible = "regulator-fixed";
136		regulator-always-on;
137		regulator-boot-on;
138		regulator-min-microvolt = <5000000>;
139		regulator-max-microvolt = <5000000>;
140		regulator-name = "vcc5v0_sys_s5";
141		vin-supply = <&vcc5v_dcin>;
142	};
143
144	vcc5v0_usb_otg0: regulator-vcc5v0-usb-otg0 {
145		compatible = "regulator-fixed";
146		enable-active-high;
147		gpios = <&gpio0 RK_PD1 GPIO_ACTIVE_HIGH>;
148		pinctrl-names = "default";
149		pinctrl-0 = <&usb_otg0_pwren_h>;
150		regulator-min-microvolt = <5000000>;
151		regulator-max-microvolt = <5000000>;
152		regulator-name = "vcc5v0_usb_otg0";
153		vin-supply = <&vcc5v0_sys_s5>;
154	};
155
156	vcc_1v1_nldo_s3: regulator-vcc-1v1-nldo-s3 {
157		compatible = "regulator-fixed";
158		regulator-always-on;
159		regulator-boot-on;
160		regulator-min-microvolt = <1100000>;
161		regulator-max-microvolt = <1100000>;
162		regulator-name = "vcc_1v1_nldo_s3";
163		vin-supply = <&vcc5v0_sys_s5>;
164	};
165
166	vcc_1v8_s0: regulator-vcc-1v8-s0 {
167		compatible = "regulator-fixed";
168		regulator-always-on;
169		regulator-boot-on;
170		regulator-min-microvolt = <1800000>;
171		regulator-max-microvolt = <1800000>;
172		regulator-name = "vcc_1v8_s0";
173		vin-supply = <&vcc_1v8_s3>;
174	};
175
176	vcc_2v0_pldo_s3: regulator-vcc-2v0-pldo-s3 {
177		compatible = "regulator-fixed";
178		regulator-always-on;
179		regulator-boot-on;
180		regulator-min-microvolt = <2000000>;
181		regulator-max-microvolt = <2000000>;
182		regulator-name = "vcc_2v0_pldo_s3";
183		vin-supply = <&vcc5v0_sys_s5>;
184	};
185
186	vcc_3v3_s0: regulator-vcc-3v3-s0 {
187		compatible = "regulator-fixed";
188		regulator-always-on;
189		regulator-boot-on;
190		regulator-min-microvolt = <3300000>;
191		regulator-max-microvolt = <3300000>;
192		regulator-name = "vcc_3v3_s0";
193		vin-supply = <&vcc_3v3_s3>;
194	};
195};
196
197&combphy0_ps {
198	status = "okay";
199};
200
201&combphy1_psu {
202	status = "okay";
203};
204
205&cpu_b0 {
206	cpu-supply = <&vdd_cpu_big_s0>;
207};
208
209&cpu_b1 {
210	cpu-supply = <&vdd_cpu_big_s0>;
211};
212
213&cpu_b2 {
214	cpu-supply = <&vdd_cpu_big_s0>;
215};
216
217&cpu_b3 {
218	cpu-supply = <&vdd_cpu_big_s0>;
219};
220
221&cpu_l0 {
222	cpu-supply = <&vdd_cpu_lit_s0>;
223};
224
225&cpu_l1 {
226	cpu-supply = <&vdd_cpu_lit_s0>;
227};
228
229&cpu_l2 {
230	cpu-supply = <&vdd_cpu_lit_s0>;
231};
232
233&cpu_l3 {
234	cpu-supply = <&vdd_cpu_lit_s0>;
235};
236
237&gpu {
238	mali-supply = <&vdd_gpu_s0>;
239	status = "okay";
240};
241
242&hdmi {
243	status = "okay";
244};
245
246&hdmi_in {
247	hdmi_in_vp0: endpoint {
248		remote-endpoint = <&vp0_out_hdmi>;
249	};
250};
251
252&hdmi_out {
253	hdmi_out_con: endpoint {
254		remote-endpoint = <&hdmi_con_in>;
255	};
256};
257
258&hdmi_sound {
259	status = "okay";
260};
261
262&hdptxphy {
263	status = "okay";
264};
265
266&i2c1 {
267	status = "okay";
268
269	pmic@23 {
270		compatible = "rockchip,rk806";
271		reg = <0x23>;
272		#gpio-cells = <2>;
273		gpio-controller;
274		interrupt-parent = <&gpio0>;
275		interrupts = <6 IRQ_TYPE_LEVEL_LOW>;
276		pinctrl-names = "default";
277		pinctrl-0 = <&pmic_pins>, <&rk806_dvs1_null>,
278			    <&rk806_dvs2_null>, <&rk806_dvs3_null>;
279		system-power-controller;
280
281		vcc1-supply = <&vcc5v0_sys_s5>;
282		vcc2-supply = <&vcc5v0_sys_s5>;
283		vcc3-supply = <&vcc5v0_sys_s5>;
284		vcc4-supply = <&vcc5v0_sys_s5>;
285		vcc5-supply = <&vcc5v0_sys_s5>;
286		vcc6-supply = <&vcc5v0_sys_s5>;
287		vcc7-supply = <&vcc5v0_sys_s5>;
288		vcc8-supply = <&vcc5v0_sys_s5>;
289		vcc9-supply = <&vcc5v0_sys_s5>;
290		vcc10-supply = <&vcc5v0_sys_s5>;
291		vcc11-supply = <&vcc_2v0_pldo_s3>;
292		vcc12-supply = <&vcc5v0_sys_s5>;
293		vcc13-supply = <&vcc_1v1_nldo_s3>;
294		vcc14-supply = <&vcc_1v1_nldo_s3>;
295		vcca-supply = <&vcc5v0_sys_s5>;
296
297		rk806_dvs1_null: dvs1-null-pins {
298			pins = "gpio_pwrctrl1";
299			function = "pin_fun0";
300		};
301
302		rk806_dvs1_pwrdn: dvs1-pwrdn-pins {
303			pins = "gpio_pwrctrl1";
304			function = "pin_fun2";
305		};
306
307		rk806_dvs1_rst: dvs1-rst-pins {
308			pins = "gpio_pwrctrl1";
309			function = "pin_fun3";
310		};
311
312		rk806_dvs1_slp: dvs1-slp-pins {
313			pins = "gpio_pwrctrl1";
314			function = "pin_fun1";
315		};
316
317		rk806_dvs2_dvs: dvs2-dvs-pins {
318			pins = "gpio_pwrctrl2";
319			function = "pin_fun4";
320		};
321
322		rk806_dvs2_gpio: dvs2-gpio-pins {
323			pins = "gpio_pwrctrl2";
324			function = "pin_fun5";
325		};
326
327		rk806_dvs2_null: dvs2-null-pins {
328			pins = "gpio_pwrctrl2";
329			function = "pin_fun0";
330		};
331
332		rk806_dvs2_pwrdn: dvs2-pwrdn-pins {
333			pins = "gpio_pwrctrl2";
334			function = "pin_fun2";
335		};
336
337		rk806_dvs2_rst: dvs2-rst-pins {
338			pins = "gpio_pwrctrl2";
339			function = "pin_fun3";
340		};
341
342		rk806_dvs2_slp: dvs2-slp-pins {
343			pins = "gpio_pwrctrl2";
344			function = "pin_fun1";
345		};
346
347		rk806_dvs3_dvs: dvs3-dvs-pins {
348			pins = "gpio_pwrctrl3";
349			function = "pin_fun4";
350		};
351
352		rk806_dvs3_gpio: dvs3-gpio-pins {
353			pins = "gpio_pwrctrl3";
354			function = "pin_fun5";
355		};
356
357		rk806_dvs3_null: dvs3-null-pins {
358			pins = "gpio_pwrctrl3";
359			function = "pin_fun0";
360		};
361
362		rk806_dvs3_pwrdn: dvs3-pwrdn-pins {
363			pins = "gpio_pwrctrl3";
364			function = "pin_fun2";
365		};
366
367		rk806_dvs3_rst: dvs3-rst-pins {
368			pins = "gpio_pwrctrl3";
369			function = "pin_fun3";
370		};
371
372		rk806_dvs3_slp: dvs3-slp-pins {
373			pins = "gpio_pwrctrl3";
374			function = "pin_fun1";
375		};
376
377		regulators {
378			vdd_cpu_big_s0: dcdc-reg1 {
379				regulator-always-on;
380				regulator-boot-on;
381				regulator-enable-ramp-delay = <400>;
382				regulator-min-microvolt = <550000>;
383				regulator-max-microvolt = <950000>;
384				regulator-name = "vdd_cpu_big_s0";
385				regulator-ramp-delay = <12500>;
386
387				regulator-state-mem {
388					regulator-off-in-suspend;
389				};
390			};
391
392			vdd_npu_s0: dcdc-reg2 {
393				regulator-boot-on;
394				regulator-enable-ramp-delay = <400>;
395				regulator-min-microvolt = <550000>;
396				regulator-max-microvolt = <950000>;
397				regulator-name = "vdd_npu_s0";
398				regulator-ramp-delay = <12500>;
399
400				regulator-state-mem {
401					regulator-off-in-suspend;
402				};
403			};
404
405			vdd_cpu_lit_s0: dcdc-reg3 {
406				regulator-always-on;
407				regulator-boot-on;
408				regulator-min-microvolt = <550000>;
409				regulator-max-microvolt = <950000>;
410				regulator-name = "vdd_cpu_lit_s0";
411				regulator-ramp-delay = <12500>;
412
413				regulator-state-mem {
414					regulator-off-in-suspend;
415					regulator-suspend-microvolt = <750000>;
416				};
417			};
418
419			vcc_3v3_s3: dcdc-reg4 {
420				regulator-always-on;
421				regulator-boot-on;
422				regulator-min-microvolt = <3300000>;
423				regulator-max-microvolt = <3300000>;
424				regulator-name = "vcc_3v3_s3";
425
426				regulator-state-mem {
427					regulator-on-in-suspend;
428					regulator-suspend-microvolt = <3300000>;
429				};
430			};
431
432			vdd_gpu_s0: dcdc-reg5 {
433				regulator-boot-on;
434				regulator-enable-ramp-delay = <400>;
435				regulator-min-microvolt = <550000>;
436				regulator-max-microvolt = <900000>;
437				regulator-name = "vdd_gpu_s0";
438				regulator-ramp-delay = <12500>;
439
440				regulator-state-mem {
441					regulator-off-in-suspend;
442					regulator-suspend-microvolt = <850000>;
443				};
444			};
445
446			vddq_ddr_s0: dcdc-reg6 {
447				regulator-always-on;
448				regulator-boot-on;
449				regulator-name = "vddq_ddr_s0";
450
451				regulator-state-mem {
452					regulator-off-in-suspend;
453				};
454			};
455
456			vdd_logic_s0: dcdc-reg7 {
457				regulator-always-on;
458				regulator-boot-on;
459				regulator-min-microvolt = <550000>;
460				regulator-max-microvolt = <800000>;
461				regulator-name = "vdd_logic_s0";
462
463				regulator-state-mem {
464					regulator-off-in-suspend;
465				};
466			};
467
468			vcc_1v8_s3: dcdc-reg8 {
469				regulator-always-on;
470				regulator-boot-on;
471				regulator-min-microvolt = <1800000>;
472				regulator-max-microvolt = <1800000>;
473				regulator-name = "vcc_1v8_s3";
474
475				regulator-state-mem {
476					regulator-on-in-suspend;
477					regulator-suspend-microvolt = <1800000>;
478				};
479			};
480
481			vdd2_ddr_s3: dcdc-reg9 {
482				regulator-always-on;
483				regulator-boot-on;
484				regulator-name = "vdd2_ddr_s3";
485
486				regulator-state-mem {
487					regulator-on-in-suspend;
488				};
489			};
490
491			vdd_ddr_s0: dcdc-reg10 {
492				regulator-always-on;
493				regulator-boot-on;
494				regulator-min-microvolt = <550000>;
495				regulator-max-microvolt = <1200000>;
496				regulator-name = "vdd_ddr_s0";
497
498				regulator-state-mem {
499					regulator-off-in-suspend;
500				};
501			};
502
503			vcca_1v8_s0: pldo-reg1 {
504				regulator-always-on;
505				regulator-boot-on;
506				regulator-min-microvolt = <1800000>;
507				regulator-max-microvolt = <1800000>;
508				regulator-name = "vcca_1v8_s0";
509
510				regulator-state-mem {
511					regulator-off-in-suspend;
512				};
513			};
514
515			vcca1v8_pldo2_s0: pldo-reg2 {
516				regulator-always-on;
517				regulator-boot-on;
518				regulator-min-microvolt = <1800000>;
519				regulator-max-microvolt = <1800000>;
520				regulator-name = "vcca1v8_pldo2_s0";
521
522				regulator-state-mem {
523					regulator-off-in-suspend;
524				};
525			};
526
527			vdda_1v2_s0: pldo-reg3 {
528				regulator-always-on;
529				regulator-boot-on;
530				regulator-min-microvolt = <1200000>;
531				regulator-max-microvolt = <1200000>;
532				regulator-name = "vdda_1v2_s0";
533
534				regulator-state-mem {
535					regulator-off-in-suspend;
536				};
537			};
538
539			vcca_3v3_s0: pldo-reg4 {
540				regulator-always-on;
541				regulator-boot-on;
542				regulator-min-microvolt = <3300000>;
543				regulator-max-microvolt = <3300000>;
544				regulator-name = "vcca_3v3_s0";
545
546				regulator-state-mem {
547					regulator-off-in-suspend;
548				};
549			};
550
551			vccio_sd_s0: pldo-reg5 {
552				regulator-always-on;
553				regulator-boot-on;
554				regulator-min-microvolt = <1800000>;
555				regulator-max-microvolt = <3300000>;
556				regulator-name = "vccio_sd_s0";
557
558				regulator-state-mem {
559					regulator-off-in-suspend;
560				};
561			};
562
563			vcca1v8_pldo6_s3: pldo-reg6 {
564				regulator-always-on;
565				regulator-boot-on;
566				regulator-min-microvolt = <1800000>;
567				regulator-max-microvolt = <1800000>;
568				regulator-name = "vcca1v8_pldo6_s3";
569
570				regulator-state-mem {
571					regulator-on-in-suspend;
572					regulator-suspend-microvolt = <1800000>;
573				};
574			};
575
576			vdd_0v75_s3: nldo-reg1 {
577				regulator-always-on;
578				regulator-boot-on;
579				regulator-min-microvolt = <750000>;
580				regulator-max-microvolt = <750000>;
581				regulator-name = "vdd_0v75_s3";
582
583				regulator-state-mem {
584					regulator-on-in-suspend;
585					regulator-suspend-microvolt = <750000>;
586				};
587			};
588
589			vdda_ddr_pll_s0: nldo-reg2 {
590				regulator-always-on;
591				regulator-boot-on;
592				regulator-min-microvolt = <850000>;
593				regulator-max-microvolt = <850000>;
594				regulator-name = "vdda_ddr_pll_s0";
595
596				regulator-state-mem {
597					regulator-off-in-suspend;
598				};
599			};
600
601			vdda0v75_hdmi_s0: nldo-reg3 {
602				regulator-always-on;
603				regulator-boot-on;
604				regulator-min-microvolt = <837500>;
605				regulator-max-microvolt = <837500>;
606				regulator-name = "vdda0v75_hdmi_s0";
607
608				regulator-state-mem {
609					regulator-off-in-suspend;
610				};
611			};
612
613			vdda_0v85_s0: nldo-reg4 {
614				regulator-always-on;
615				regulator-boot-on;
616				regulator-min-microvolt = <850000>;
617				regulator-max-microvolt = <850000>;
618				regulator-name = "vdda_0v85_s0";
619
620				regulator-state-mem {
621					regulator-off-in-suspend;
622				};
623			};
624
625			vdda_0v75_s0: nldo-reg5 {
626				regulator-always-on;
627				regulator-boot-on;
628				regulator-min-microvolt = <750000>;
629				regulator-max-microvolt = <750000>;
630				regulator-name = "vdda_0v75_s0";
631
632				regulator-state-mem {
633					regulator-off-in-suspend;
634				};
635			};
636		};
637	};
638};
639
640&i2c2 {
641	status = "okay";
642
643	hym8563: rtc@51 {
644		compatible = "haoyu,hym8563";
645		reg = <0x51>;
646		#clock-cells = <0>;
647		clock-output-names = "hym8563";
648		interrupt-parent = <&gpio0>;
649		interrupts = <RK_PA5 IRQ_TYPE_LEVEL_LOW>;
650		pinctrl-names = "default";
651		pinctrl-0 = <&rtc_int_l>;
652		wakeup-source;
653	};
654};
655
656&pcie0 {
657	pinctrl-names = "default";
658	pinctrl-0 = <&pcie0_perstn>;
659	reset-gpios = <&gpio2 RK_PB4 GPIO_ACTIVE_HIGH>;
660	vpcie3v3-supply = <&vcc_3v3_s3>;
661	status = "okay";
662};
663
664&pcie1 {
665	pinctrl-names = "default";
666	pinctrl-0 = <&pcie1_perstn>;
667	reset-gpios = <&gpio0 RK_PC7 GPIO_ACTIVE_HIGH>;
668	vpcie3v3-supply = <&vcc_3v3_s3>;
669	status = "okay";
670};
671
672&pinctrl {
673	bt {
674		bt_reg_on_h: bt-reg-on-h {
675			rockchip,pins = <3 RK_PC7 RK_FUNC_GPIO &pcfg_pull_up>;
676		};
677
678		bt_wake_host_h: bt-wake-host-h {
679			rockchip,pins = <0 RK_PB1 RK_FUNC_GPIO &pcfg_pull_down>;
680		};
681
682		host_wake_bt_h: host-wake-bt-h {
683			rockchip,pins = <3 RK_PD0 RK_FUNC_GPIO &pcfg_pull_up>;
684		};
685	};
686
687	gpio-keys {
688		user_but_pin: user-but-pin {
689			rockchip,pins = <4 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up>;
690		};
691	};
692
693	gpio-leds {
694		led_sys_h: led-sys-h {
695			rockchip,pins = <2 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>;
696		};
697
698		led1_h: led1-h {
699			rockchip,pins = <2 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>;
700		};
701
702		led2_h: led2-h {
703			rockchip,pins = <4 RK_PC5 RK_FUNC_GPIO &pcfg_pull_none>;
704		};
705	};
706
707	hdmi {
708		hdmi_tx_on_h: hdmi-tx-on-h {
709			rockchip,pins = <4 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>;
710		};
711	};
712
713	hym8563 {
714		rtc_int_l: rtc-int-l {
715			rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>;
716		};
717	};
718
719	pcie {
720		pcie0_perstn: pcie0-perstn {
721			rockchip,pins = <2 RK_PB4 RK_FUNC_GPIO &pcfg_pull_up>;
722		};
723
724		pcie1_perstn: pcie1-perstn {
725			rockchip,pins = <0 RK_PC7 RK_FUNC_GPIO &pcfg_pull_up>;
726		};
727	};
728
729	usb {
730		usb_otg0_pwren_h: usb-otg0-pwren-h {
731			rockchip,pins = <0 RK_PD1 RK_FUNC_GPIO &pcfg_pull_none>;
732		};
733	};
734
735	wifi {
736		wifi_wake_host_h: wifi-wake-host-h {
737			rockchip,pins = <0 RK_PB0 RK_FUNC_GPIO &pcfg_pull_down>;
738		};
739
740		wifi_reg_on_h: wifi-reg-on-h {
741			rockchip,pins = <1 RK_PC2 RK_FUNC_GPIO &pcfg_pull_none>;
742		};
743	};
744};
745
746&sai6 {
747	status = "okay";
748};
749
750&sdmmc {
751	bus-width = <4>;
752	cap-mmc-highspeed;
753	cap-sd-highspeed;
754	disable-wp;
755	no-mmc;
756	no-sdio;
757	sd-uhs-sdr104;
758	vmmc-supply = <&vcc_3v3_s3>;
759	vqmmc-supply = <&vccio_sd_s0>;
760	status = "okay";
761};
762
763&sdio {
764	#address-cells = <1>;
765	#size-cells = <0>;
766	bus-width = <4>;
767	cap-sd-highspeed;
768	cap-sdio-irq;
769	disable-wp;
770	keep-power-in-suspend;
771	mmc-pwrseq = <&sdio_pwrseq>;
772	no-mmc;
773	no-sd;
774	non-removable;
775	sd-uhs-sdr104;
776	vmmc-supply = <&vcc_3v3_s3>;
777	vqmmc-supply = <&vcc_1v8_s3>;
778	wakeup-source;
779	status = "okay";
780
781	rtl8822cs: wifi@1 {
782		reg = <1>;
783		interrupt-parent = <&gpio0>;
784		interrupts = <RK_PB0 IRQ_TYPE_LEVEL_HIGH>;
785		interrupt-names = "host-wake";
786		pinctrl-names = "default";
787		pinctrl-0 = <&wifi_wake_host_h>;
788	};
789};
790
791&sdhci {
792	bus-width = <8>;
793	cap-mmc-highspeed;
794	full-pwr-cycle-in-suspend;
795	mmc-hs400-1_8v;
796	mmc-hs400-enhanced-strobe;
797	no-sdio;
798	no-sd;
799	non-removable;
800	status = "okay";
801};
802
803&saradc {
804	vref-supply = <&vcca_1v8_s0>;
805	status = "okay";
806};
807
808&u2phy0 {
809	status = "okay";
810};
811
812&u2phy0_otg {
813	phy-supply = <&vcc5v0_usb_otg0>;
814	status = "okay";
815};
816
817&uart0 {
818	status = "okay";
819};
820
821&uart5 {
822	pinctrl-names = "default";
823	pinctrl-0 = <&uart5m0_xfer &uart5m0_ctsn &uart5m0_rtsn>;
824	uart-has-rtscts;
825	status = "okay";
826
827	bluetooth {
828		compatible = "realtek,rtl8822cs-bt";
829		enable-gpios = <&gpio3 RK_PC7 GPIO_ACTIVE_HIGH>;
830		device-wake-gpios = <&gpio3 RK_PD0 GPIO_ACTIVE_HIGH>;
831		host-wake-gpios = <&gpio0 RK_PB1 GPIO_ACTIVE_HIGH>;
832		pinctrl-names = "default";
833		pinctrl-0 = <&bt_wake_host_h &host_wake_bt_h &bt_reg_on_h>;
834	};
835};
836
837&usbdp_phy {
838	status = "okay";
839};
840
841&usb_drd0_dwc3 {
842	dr_mode = "host";
843	extcon = <&u2phy0>;
844	status = "okay";
845};
846
847&vop {
848	status = "okay";
849};
850
851&vop_mmu {
852	status = "okay";
853};
854
855&vp0 {
856	vp0_out_hdmi: endpoint@ROCKCHIP_VOP2_EP_HDMI0 {
857		reg = <ROCKCHIP_VOP2_EP_HDMI0>;
858		remote-endpoint = <&hdmi_in_vp0>;
859	};
860};
861