xref: /linux/arch/arm64/boot/dts/rockchip/rk3576-nanopi-m5.dts (revision d3b402c5a2d47f51eb0581da1a7b142f82cb10d1)
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2/*
3 * Copyright (c) 2025 FriendlyElec Computer Tech. Co., Ltd.
4 * Copyright (c) 2025 John Clark <inindev@gmail.com>
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/pwm/pwm.h>
14#include <dt-bindings/soc/rockchip,vop2.h>
15#include <dt-bindings/usb/pd.h>
16#include "rk3576.dtsi"
17
18/ {
19	model = "FriendlyElec NanoPi M5";
20	compatible = "friendlyarm,nanopi-m5", "rockchip,rk3576";
21
22	aliases {
23		ethernet0 = &gmac0;
24		ethernet1 = &gmac1;
25		mmc0 = &sdmmc;
26	};
27
28	chosen {
29		stdout-path = "serial0:1500000n8";
30	};
31
32	hdmi-con {
33		compatible = "hdmi-connector";
34		hdmi-pwr-supply = <&vcc5v_hdmi_tx>;
35		type = "a";
36
37		port {
38			hdmi_con_in: endpoint {
39				remote-endpoint = <&hdmi_out_con>;
40			};
41		};
42	};
43
44	keys {
45		compatible = "gpio-keys";
46
47		usr_button: key-1 {
48			debounce-interval = <50>;
49			gpios = <&gpio1 RK_PA0 GPIO_ACTIVE_LOW>;
50			label = "user";
51			linux,code = <BTN_1>;
52			pinctrl-names = "default";
53			pinctrl-0 = <&usr_button_l>;
54			wakeup-source;
55		};
56	};
57
58	leds {
59		compatible = "gpio-leds";
60
61		led_sys: led-0 {
62			color = <LED_COLOR_ID_RED>;
63			function = LED_FUNCTION_HEARTBEAT;
64			gpios = <&gpio2 RK_PB3 GPIO_ACTIVE_HIGH>;
65			label = "sys";
66			linux,default-trigger = "heartbeat";
67			pinctrl-names = "default";
68			pinctrl-0 = <&led_sys_h>;
69		};
70
71		led1: led-1 {
72			color = <LED_COLOR_ID_GREEN>;
73			function = LED_FUNCTION_LAN;
74			gpios = <&gpio4 RK_PC5 GPIO_ACTIVE_HIGH>;
75			label = "led1";
76			linux,default-trigger = "netdev";
77			pinctrl-names = "default";
78			pinctrl-0 = <&led1_h>;
79		};
80
81		led2: led-2 {
82			color = <LED_COLOR_ID_GREEN>;
83			function = LED_FUNCTION_LAN;
84			gpios = <&gpio2 RK_PB0 GPIO_ACTIVE_HIGH>;
85			label = "led2";
86			linux,default-trigger = "netdev";
87			pinctrl-names = "default";
88			pinctrl-0 = <&led2_h>;
89		};
90	};
91
92	usb3_port2_5v: regulator-usb3-port2-5v {
93		compatible = "regulator-fixed";
94		enable-active-high;
95		gpios = <&gpio0 RK_PC7 GPIO_ACTIVE_HIGH>;
96		pinctrl-names = "default";
97		pinctrl-0 = <&usb3_host_pwren_h>;
98		regulator-min-microvolt = <5000000>;
99		regulator-max-microvolt = <5000000>;
100		regulator-name = "usb3_port2_5v";
101		vin-supply = <&vcc5v0_sys_s5>;
102	};
103
104	vcc12v_dcin: regulator-vcc12v-dcin {
105		compatible = "regulator-fixed";
106		regulator-always-on;
107		regulator-boot-on;
108		regulator-min-microvolt = <12000000>;
109		regulator-max-microvolt = <12000000>;
110		regulator-name = "vcc12v_dcin";
111	};
112
113	vcc1v2_ufs_vccq: regulator-vcc1v2-ufs-vccq {
114		compatible = "regulator-fixed";
115		regulator-min-microvolt = <1200000>;
116		regulator-max-microvolt = <1200000>;
117		regulator-name = "vcc1v2_ufs_vccq";
118		vin-supply = <&vcc5v0_sys_s5>;
119	};
120
121	vcc1v8_ufs_vccq2: regulator-vcc1v8-ufs-vccq2 {
122		compatible = "regulator-fixed";
123		regulator-min-microvolt = <1800000>;
124		regulator-max-microvolt = <1800000>;
125		regulator-name = "vcc1v8_ufs_vccq2";
126		vin-supply = <&vcc_1v8_s3>;
127	};
128
129	vcc3v3_m2_keym: regulator-vcc3v3-m2-keym {
130		compatible = "regulator-fixed";
131		enable-active-high;
132		gpios = <&gpio0 RK_PD3 GPIO_ACTIVE_HIGH>;
133		pinctrl-names = "default";
134		pinctrl-0 = <&pcie0_pwren_h>;
135		regulator-min-microvolt = <3300000>;
136		regulator-max-microvolt = <3300000>;
137		regulator-name = "vcc3v3_m2_keym";
138		vin-supply = <&vcc5v0_sys_s5>;
139	};
140
141	vcc3v3_sd_s0: regulator-vcc3v3-sd-s0 {
142		compatible = "regulator-fixed";
143		enable-active-high;
144		gpios = <&gpio0 RK_PB6 GPIO_ACTIVE_HIGH>;
145		pinctrl-names = "default";
146		pinctrl-0 = <&sdmmc0_pwren_h>;
147		regulator-boot-on;
148		regulator-min-microvolt = <3300000>;
149		regulator-max-microvolt = <3300000>;
150		regulator-name = "vcc3v3_sd_s0";
151		vin-supply = <&vcc_3v3_s3>;
152	};
153
154	vcc5v0_sys_s5: regulator-vcc5v0-sys-s5 {
155		compatible = "regulator-fixed";
156		regulator-always-on;
157		regulator-boot-on;
158		regulator-min-microvolt = <5000000>;
159		regulator-max-microvolt = <5000000>;
160		regulator-name = "vcc5v0_sys_s5";
161		vin-supply = <&vcc12v_dcin>;
162	};
163
164	vcc5v0_usb_otg0: regulator-vcc5v0-usb-otg0 {
165		compatible = "regulator-fixed";
166		enable-active-high;
167		gpios = <&gpio0 RK_PD1 GPIO_ACTIVE_HIGH>;
168		pinctrl-names = "default";
169		pinctrl-0 = <&usb_otg0_pwren_h>;
170		regulator-min-microvolt = <5000000>;
171		regulator-max-microvolt = <5000000>;
172		regulator-name = "vcc5v0_usb_otg0";
173		vin-supply = <&vcc5v0_sys_s5>;
174	};
175
176	vcc5v_hdmi_tx: regulator-vcc5v-hdmi-tx {
177		compatible = "regulator-fixed";
178		regulator-always-on;
179		regulator-min-microvolt = <5000000>;
180		regulator-max-microvolt = <5000000>;
181		regulator-name = "vcc5v_hdmi_tx";
182		vin-supply = <&vcc5v0_sys_s5>;
183	};
184
185	vcc_1v1_nldo_s3: regulator-vcc-1v1-nldo-s3 {
186		compatible = "regulator-fixed";
187		regulator-always-on;
188		regulator-boot-on;
189		regulator-min-microvolt = <1100000>;
190		regulator-max-microvolt = <1100000>;
191		regulator-name = "vcc_1v1_nldo_s3";
192		vin-supply = <&vcc5v0_sys_s5>;
193	};
194
195	vcc_2v0_pldo_s3: regulator-vcc-2v0-pldo-s3 {
196		compatible = "regulator-fixed";
197		regulator-always-on;
198		regulator-boot-on;
199		regulator-min-microvolt = <2000000>;
200		regulator-max-microvolt = <2000000>;
201		regulator-name = "vcc_2v0_pldo_s3";
202		vin-supply = <&vcc5v0_sys_s5>;
203	};
204
205	vcc_3v3_s0: regulator-vcc-3v3-s0 {
206		compatible = "regulator-fixed";
207		regulator-always-on;
208		regulator-boot-on;
209		regulator-min-microvolt = <3300000>;
210		regulator-max-microvolt = <3300000>;
211		regulator-name = "vcc_3v3_s0";
212		vin-supply = <&vcc_3v3_s3>;
213	};
214
215	sound {
216		compatible = "simple-audio-card";
217		pinctrl-names = "default";
218		pinctrl-0 = <&hp_det_l>;
219
220		simple-audio-card,bitclock-master = <&masterdai>;
221		simple-audio-card,format = "i2s";
222		simple-audio-card,hp-det-gpios = <&gpio2 RK_PD6 GPIO_ACTIVE_LOW>;
223		simple-audio-card,mclk-fs = <256>;
224		simple-audio-card,name = "Onboard Analog RT5616";
225
226		simple-audio-card,routing =
227			"Headphones", "HPOL",
228			"Headphones", "HPOR",
229			"IN1P", "Microphone Jack";
230		simple-audio-card,widgets =
231			"Headphone", "Headphones",
232			"Microphone", "Microphone Jack";
233
234		simple-audio-card,codec {
235			sound-dai = <&rt5616>;
236		};
237
238		masterdai: simple-audio-card,cpu {
239			sound-dai = <&sai2>;
240			system-clock-frequency = <12288000>;
241		};
242	};
243};
244
245&combphy0_ps {
246	status = "okay";
247};
248
249&combphy1_psu {
250	status = "okay";
251};
252
253&cpu_b0 {
254	cpu-supply = <&vdd_cpu_big_s0>;
255};
256
257&cpu_b1 {
258	cpu-supply = <&vdd_cpu_big_s0>;
259};
260
261&cpu_b2 {
262	cpu-supply = <&vdd_cpu_big_s0>;
263};
264
265&cpu_b3 {
266	cpu-supply = <&vdd_cpu_big_s0>;
267};
268
269&cpu_l0 {
270	cpu-supply = <&vdd_cpu_lit_s0>;
271};
272
273&cpu_l1 {
274	cpu-supply = <&vdd_cpu_lit_s0>;
275};
276
277&cpu_l2 {
278	cpu-supply = <&vdd_cpu_lit_s0>;
279};
280
281&cpu_l3 {
282	cpu-supply = <&vdd_cpu_lit_s0>;
283};
284
285&fspi1m1_pins {
286	/* gpio1_d5, gpio1_c4-c7 (clk, d0-d4) are for spi nor flash */
287	/* gpio1_d0-d4 muxed to sai2 audio functions */
288	rockchip,pins =
289		<1 RK_PD5 3 &pcfg_pull_none>,
290		<1 RK_PC4 3 &pcfg_pull_none>,
291		<1 RK_PC5 3 &pcfg_pull_none>,
292		<1 RK_PC6 3 &pcfg_pull_none>,
293		<1 RK_PC7 3 &pcfg_pull_none>;
294};
295
296&gmac0 {
297	clock_in_out = "output";
298	phy-handle = <&rgmii_phy0>;
299	phy-mode = "rgmii-id";
300	phy-supply = <&vcc_3v3_s3>;
301	pinctrl-names = "default";
302	pinctrl-0 = <&eth0m0_miim>,
303		    <&eth0m0_tx_bus2>,
304		    <&eth0m0_rx_bus2>,
305		    <&eth0m0_rgmii_clk>,
306		    <&eth0m0_rgmii_bus>;
307	status = "okay";
308};
309
310&gmac1 {
311	clock_in_out = "output";
312	phy-handle = <&rgmii_phy1>;
313	phy-mode = "rgmii-id";
314	phy-supply = <&vcc_3v3_s3>;
315	pinctrl-names = "default";
316	pinctrl-0 = <&eth1m0_miim>,
317		    <&eth1m0_tx_bus2>,
318		    <&eth1m0_rx_bus2>,
319		    <&eth1m0_rgmii_clk>,
320		    <&eth1m0_rgmii_bus>;
321	status = "okay";
322};
323
324&gpu {
325	mali-supply = <&vdd_gpu_s0>;
326	status = "okay";
327};
328
329&hdmi {
330	status = "okay";
331};
332
333&hdmi_in {
334	hdmi_in_vp0: endpoint {
335		remote-endpoint = <&vp0_out_hdmi>;
336	};
337};
338
339&hdmi_out {
340	hdmi_out_con: endpoint {
341		remote-endpoint = <&hdmi_con_in>;
342	};
343};
344
345&hdmi_sound {
346	status = "okay";
347};
348
349&hdptxphy {
350	status = "okay";
351};
352
353&i2c1 {
354	status = "okay";
355
356	pmic@23 {
357		compatible = "rockchip,rk806";
358		reg = <0x23>;
359		#gpio-cells = <2>;
360		gpio-controller;
361		interrupt-parent = <&gpio0>;
362		interrupts = <6 IRQ_TYPE_LEVEL_LOW>;
363		pinctrl-names = "default";
364		pinctrl-0 = <&pmic_pins>, <&rk806_dvs1_null>,
365			    <&rk806_dvs2_null>, <&rk806_dvs3_null>;
366		system-power-controller;
367
368		vcc1-supply = <&vcc5v0_sys_s5>;
369		vcc2-supply = <&vcc5v0_sys_s5>;
370		vcc3-supply = <&vcc5v0_sys_s5>;
371		vcc4-supply = <&vcc5v0_sys_s5>;
372		vcc5-supply = <&vcc5v0_sys_s5>;
373		vcc6-supply = <&vcc5v0_sys_s5>;
374		vcc7-supply = <&vcc5v0_sys_s5>;
375		vcc8-supply = <&vcc5v0_sys_s5>;
376		vcc9-supply = <&vcc5v0_sys_s5>;
377		vcc10-supply = <&vcc5v0_sys_s5>;
378		vcc11-supply = <&vcc_2v0_pldo_s3>;
379		vcc12-supply = <&vcc5v0_sys_s5>;
380		vcc13-supply = <&vcc_1v1_nldo_s3>;
381		vcc14-supply = <&vcc_1v1_nldo_s3>;
382		vcca-supply = <&vcc5v0_sys_s5>;
383
384		rk806_dvs1_null: dvs1-null-pins {
385			pins = "gpio_pwrctrl1";
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_null: dvs2-null-pins {
405			pins = "gpio_pwrctrl2";
406			function = "pin_fun0";
407		};
408
409		rk806_dvs2_slp: dvs2-slp-pins {
410			pins = "gpio_pwrctrl2";
411			function = "pin_fun1";
412		};
413
414		rk806_dvs2_pwrdn: dvs2-pwrdn-pins {
415			pins = "gpio_pwrctrl2";
416			function = "pin_fun2";
417		};
418
419		rk806_dvs2_rst: dvs2-rst-pins {
420			pins = "gpio_pwrctrl2";
421			function = "pin_fun3";
422		};
423
424		rk806_dvs2_dvs: dvs2-dvs-pins {
425			pins = "gpio_pwrctrl2";
426			function = "pin_fun4";
427		};
428
429		rk806_dvs2_gpio: dvs2-gpio-pins {
430			pins = "gpio_pwrctrl2";
431			function = "pin_fun5";
432		};
433
434		rk806_dvs3_null: dvs3-null-pins {
435			pins = "gpio_pwrctrl3";
436			function = "pin_fun0";
437		};
438
439		rk806_dvs3_slp: dvs3-slp-pins {
440			pins = "gpio_pwrctrl3";
441			function = "pin_fun1";
442		};
443
444		rk806_dvs3_pwrdn: dvs3-pwrdn-pins {
445			pins = "gpio_pwrctrl3";
446			function = "pin_fun2";
447		};
448
449		rk806_dvs3_rst: dvs3-rst-pins {
450			pins = "gpio_pwrctrl3";
451			function = "pin_fun3";
452		};
453
454		rk806_dvs3_dvs: dvs3-dvs-pins {
455			pins = "gpio_pwrctrl3";
456			function = "pin_fun4";
457		};
458
459		rk806_dvs3_gpio: dvs3-gpio-pins {
460			pins = "gpio_pwrctrl3";
461			function = "pin_fun5";
462		};
463
464		regulators {
465			vdd_cpu_big_s0: dcdc-reg1 {
466				regulator-always-on;
467				regulator-boot-on;
468				regulator-enable-ramp-delay = <400>;
469				regulator-min-microvolt = <550000>;
470				regulator-max-microvolt = <950000>;
471				regulator-name = "vdd_cpu_big_s0";
472				regulator-ramp-delay = <12500>;
473
474				regulator-state-mem {
475					regulator-off-in-suspend;
476				};
477			};
478
479			vdd_npu_s0: dcdc-reg2 {
480				regulator-boot-on;
481				regulator-enable-ramp-delay = <400>;
482				regulator-min-microvolt = <550000>;
483				regulator-max-microvolt = <950000>;
484				regulator-name = "vdd_npu_s0";
485				regulator-ramp-delay = <12500>;
486
487				regulator-state-mem {
488					regulator-off-in-suspend;
489				};
490			};
491
492			vdd_cpu_lit_s0: dcdc-reg3 {
493				regulator-always-on;
494				regulator-boot-on;
495				regulator-min-microvolt = <550000>;
496				regulator-max-microvolt = <950000>;
497				regulator-name = "vdd_cpu_lit_s0";
498				regulator-ramp-delay = <12500>;
499
500				regulator-state-mem {
501					regulator-off-in-suspend;
502					regulator-suspend-microvolt = <750000>;
503				};
504			};
505
506			vcc_3v3_s3: dcdc-reg4 {
507				regulator-always-on;
508				regulator-boot-on;
509				regulator-min-microvolt = <3300000>;
510				regulator-max-microvolt = <3300000>;
511				regulator-name = "vcc_3v3_s3";
512
513				regulator-state-mem {
514					regulator-on-in-suspend;
515					regulator-suspend-microvolt = <3300000>;
516				};
517			};
518
519			vdd_gpu_s0: dcdc-reg5 {
520				regulator-boot-on;
521				regulator-enable-ramp-delay = <400>;
522				regulator-min-microvolt = <550000>;
523				regulator-max-microvolt = <900000>;
524				regulator-name = "vdd_gpu_s0";
525				regulator-ramp-delay = <12500>;
526
527				regulator-state-mem {
528					regulator-off-in-suspend;
529					regulator-suspend-microvolt = <850000>;
530				};
531			};
532
533			vddq_ddr_s0: dcdc-reg6 {
534				regulator-always-on;
535				regulator-boot-on;
536				regulator-name = "vddq_ddr_s0";
537
538				regulator-state-mem {
539					regulator-off-in-suspend;
540				};
541			};
542
543			vdd_logic_s0: dcdc-reg7 {
544				regulator-always-on;
545				regulator-boot-on;
546				regulator-min-microvolt = <550000>;
547				regulator-max-microvolt = <800000>;
548				regulator-name = "vdd_logic_s0";
549
550				regulator-state-mem {
551					regulator-off-in-suspend;
552				};
553			};
554
555			vcc_1v8_s3: dcdc-reg8 {
556				regulator-always-on;
557				regulator-boot-on;
558				regulator-min-microvolt = <1800000>;
559				regulator-max-microvolt = <1800000>;
560				regulator-name = "vcc_1v8_s3";
561
562				regulator-state-mem {
563					regulator-on-in-suspend;
564					regulator-suspend-microvolt = <1800000>;
565				};
566			};
567
568			vdd2_ddr_s3: dcdc-reg9 {
569				regulator-always-on;
570				regulator-boot-on;
571				regulator-name = "vdd2_ddr_s3";
572
573				regulator-state-mem {
574					regulator-on-in-suspend;
575				};
576			};
577
578			vdd_ddr_s0: dcdc-reg10 {
579				regulator-always-on;
580				regulator-boot-on;
581				regulator-min-microvolt = <550000>;
582				regulator-max-microvolt = <1200000>;
583				regulator-name = "vdd_ddr_s0";
584
585				regulator-state-mem {
586					regulator-off-in-suspend;
587				};
588			};
589
590			vcca_1v8_s0: pldo-reg1 {
591				regulator-always-on;
592				regulator-boot-on;
593				regulator-min-microvolt = <1800000>;
594				regulator-max-microvolt = <1800000>;
595				regulator-name = "vcca_1v8_s0";
596
597				regulator-state-mem {
598					regulator-off-in-suspend;
599				};
600			};
601
602			vcca1v8_pldo2_s0: pldo-reg2 {
603				regulator-always-on;
604				regulator-boot-on;
605				regulator-min-microvolt = <1800000>;
606				regulator-max-microvolt = <1800000>;
607				regulator-name = "vcca1v8_pldo2_s0";
608
609				regulator-state-mem {
610					regulator-off-in-suspend;
611				};
612			};
613
614			vdda_1v2_s0: pldo-reg3 {
615				regulator-always-on;
616				regulator-boot-on;
617				regulator-min-microvolt = <1200000>;
618				regulator-max-microvolt = <1200000>;
619				regulator-name = "vdda_1v2_s0";
620
621				regulator-state-mem {
622					regulator-off-in-suspend;
623				};
624			};
625
626			vcca_3v3_s0: pldo-reg4 {
627				regulator-always-on;
628				regulator-boot-on;
629				regulator-min-microvolt = <3300000>;
630				regulator-max-microvolt = <3300000>;
631				regulator-name = "vcca_3v3_s0";
632
633				regulator-state-mem {
634					regulator-off-in-suspend;
635				};
636			};
637
638			vccio_sd_s0: pldo-reg5 {
639				regulator-always-on;
640				regulator-boot-on;
641				regulator-min-microvolt = <1800000>;
642				regulator-max-microvolt = <3300000>;
643				regulator-name = "vccio_sd_s0";
644
645				regulator-state-mem {
646					regulator-off-in-suspend;
647				};
648			};
649
650			vcca1v8_pldo6_s3: pldo-reg6 {
651				regulator-always-on;
652				regulator-boot-on;
653				regulator-min-microvolt = <1800000>;
654				regulator-max-microvolt = <1800000>;
655				regulator-name = "vcca1v8_pldo6_s3";
656
657				regulator-state-mem {
658					regulator-on-in-suspend;
659					regulator-suspend-microvolt = <1800000>;
660				};
661			};
662
663			vdd_0v75_s3: nldo-reg1 {
664				regulator-always-on;
665				regulator-boot-on;
666				regulator-min-microvolt = <750000>;
667				regulator-max-microvolt = <750000>;
668				regulator-name = "vdd_0v75_s3";
669
670				regulator-state-mem {
671					regulator-on-in-suspend;
672					regulator-suspend-microvolt = <750000>;
673				};
674			};
675
676			vdda_ddr_pll_s0: nldo-reg2 {
677				regulator-always-on;
678				regulator-boot-on;
679				regulator-min-microvolt = <850000>;
680				regulator-max-microvolt = <850000>;
681				regulator-name = "vdda_ddr_pll_s0";
682
683				regulator-state-mem {
684					regulator-off-in-suspend;
685				};
686			};
687
688			vdda0v75_hdmi_s0: nldo-reg3 {
689				regulator-always-on;
690				regulator-boot-on;
691				regulator-min-microvolt = <837500>;
692				regulator-max-microvolt = <837500>;
693				regulator-name = "vdda0v75_hdmi_s0";
694
695				regulator-state-mem {
696					regulator-off-in-suspend;
697				};
698			};
699
700			vdda_0v85_s0: nldo-reg4 {
701				regulator-always-on;
702				regulator-boot-on;
703				regulator-min-microvolt = <850000>;
704				regulator-max-microvolt = <850000>;
705				regulator-name = "vdda_0v85_s0";
706
707				regulator-state-mem {
708					regulator-off-in-suspend;
709				};
710			};
711
712			vdda_0v75_s0: nldo-reg5 {
713				regulator-always-on;
714				regulator-boot-on;
715				regulator-min-microvolt = <750000>;
716				regulator-max-microvolt = <750000>;
717				regulator-name = "vdda_0v75_s0";
718
719				regulator-state-mem {
720					regulator-off-in-suspend;
721				};
722			};
723		};
724	};
725};
726
727&i2c2 {
728	status = "okay";
729
730	hym8563: rtc@51 {
731		compatible = "haoyu,hym8563";
732		reg = <0x51>;
733		#clock-cells = <0>;
734		clock-output-names = "hym8563";
735		interrupt-parent = <&gpio0>;
736		interrupts = <RK_PA5 IRQ_TYPE_LEVEL_LOW>;
737		pinctrl-names = "default";
738		pinctrl-0 = <&hym8563_int>;
739		wakeup-source;
740	};
741};
742
743&i2c5 {
744	clock-frequency = <200000>;
745	pinctrl-names = "default";
746	pinctrl-0 = <&i2c5m3_xfer>;
747	status = "okay";
748
749	rt5616: audio-codec@1b {
750		compatible = "realtek,rt5616";
751		reg = <0x1b>;
752		assigned-clocks = <&cru CLK_SAI2_MCLKOUT_TO_IO>;
753		assigned-clock-rates = <12288000>;
754		clocks = <&cru CLK_SAI2_MCLKOUT_TO_IO>;
755		clock-names = "mclk";
756		pinctrl-0 = <&sai2m0_mclk>;
757		pinctrl-names = "default";
758		#sound-dai-cells = <0>;
759	};
760};
761
762&mdio0 {
763	rgmii_phy0: phy@1 {
764		compatible = "ethernet-phy-ieee802.3-c22";
765		reg = <0x1>;
766		clocks = <&cru REFCLKO25M_GMAC0_OUT>;
767		interrupt-parent = <&gpio2>;
768		interrupts = <RK_PB1 IRQ_TYPE_LEVEL_LOW>;
769		pinctrl-names = "default";
770		pinctrl-0 = <&gmac0_int>, <&gmac0_rst>;
771		reset-assert-us = <20000>;
772		reset-deassert-us = <100000>;
773		reset-gpios = <&gpio2 RK_PB5 GPIO_ACTIVE_LOW>;
774	};
775};
776
777&mdio1 {
778	rgmii_phy1: phy@1 {
779		compatible = "ethernet-phy-ieee802.3-c22";
780		reg = <0x1>;
781		clocks = <&cru REFCLKO25M_GMAC1_OUT>;
782		interrupt-parent = <&gpio3>;
783		interrupts = <RK_PA2 IRQ_TYPE_LEVEL_LOW>;
784		pinctrl-names = "default";
785		pinctrl-0 = <&gmac1_int>, <&gmac1_rst>;
786		reset-assert-us = <20000>;
787		reset-deassert-us = <100000>;
788		reset-gpios = <&gpio3 RK_PA3 GPIO_ACTIVE_LOW>;
789	};
790};
791
792&pcie0 {
793	pinctrl-names = "default";
794	pinctrl-0 = <&pcie0_perstn>;
795	reset-gpios = <&gpio2 RK_PB4 GPIO_ACTIVE_HIGH>;
796	vpcie3v3-supply = <&vcc3v3_m2_keym>;
797	status = "okay";
798};
799
800&pinctrl {
801	gmac {
802		gmac0_int: gmac0-int {
803			rockchip,pins = <2 RK_PB1 RK_FUNC_GPIO &pcfg_pull_up>;
804		};
805		gmac0_rst: gmac0-rst {
806			rockchip,pins = <2 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>;
807		};
808		gmac1_int: gmac1-int {
809			rockchip,pins = <3 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up>;
810		};
811		gmac1_rst: gmac1-rst {
812			rockchip,pins = <3 RK_PA3 RK_FUNC_GPIO &pcfg_pull_none>;
813		};
814	};
815
816	hym8563 {
817		hym8563_int: hym8563-int {
818			rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>;
819		};
820	};
821
822	keys {
823		usr_button_l: usr-button-l {
824			rockchip,pins = <1 RK_PA0 RK_FUNC_GPIO &pcfg_pull_up>;
825		};
826	};
827
828	leds {
829		led_sys_h: led-sys-h {
830			rockchip,pins = <2 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>;
831		};
832		led1_h: led1-h {
833			rockchip,pins = <4 RK_PC5 RK_FUNC_GPIO &pcfg_pull_none>;
834		};
835		led2_h: led2-h {
836			rockchip,pins = <2 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>;
837		};
838	};
839
840	pcie {
841		pcie0_pwren_h: pcie0-pwren-h {
842			rockchip,pins = <0 RK_PD3 RK_FUNC_GPIO &pcfg_pull_none>;
843		};
844		pcie0_perstn: pcie0-perstn {
845			rockchip,pins = <2 RK_PB4 RK_FUNC_GPIO &pcfg_pull_up>;
846		};
847	};
848
849	sdmmc {
850		sdmmc0_pwren_h: sdmmc0-pwren-h {
851			rockchip,pins = <0 RK_PB6 RK_FUNC_GPIO &pcfg_pull_up>;
852		};
853	};
854
855	sound {
856		hp_det_l: hp-det-l {
857			rockchip,pins = <2 RK_PD6 RK_FUNC_GPIO &pcfg_pull_none>;
858		};
859	};
860
861	usb {
862		usb3_host_pwren_h: usb3-host-pwren-h {
863			rockchip,pins = <0 RK_PC7 RK_FUNC_GPIO &pcfg_pull_none>;
864		};
865		usb_otg0_pwren_h: usb-otg0-pwren-h {
866			rockchip,pins = <0 RK_PD1 RK_FUNC_GPIO &pcfg_pull_none>;
867		};
868	};
869};
870
871&sai2 {
872	status = "okay";
873};
874
875&sai6 {
876	status = "okay";
877};
878
879&saradc {
880	vref-supply = <&vcca_1v8_s0>;
881	status = "okay";
882};
883
884&sdmmc {
885	bus-width = <4>;
886	cap-mmc-highspeed;
887	cap-sd-highspeed;
888	disable-wp;
889	no-mmc;
890	no-sdio;
891	pinctrl-names = "default";
892	pinctrl-0 = <&sdmmc0_clk>, <&sdmmc0_cmd>, <&sdmmc0_det>, <&sdmmc0_bus4>;
893	sd-uhs-sdr104;
894	vmmc-supply = <&vcc_3v3_s3>;
895	vqmmc-supply = <&vcc3v3_sd_s0>;
896	status = "okay";
897};
898
899&sfc1 {
900	pinctrl-names = "default";
901	pinctrl-0 = <&fspi1m1_csn0>, <&fspi1m1_pins>;
902	status = "okay";
903
904	flash@0 {
905		compatible = "jedec,spi-nor";
906		reg = <0>;
907		m25p,fast-read;
908		spi-max-frequency = <50000000>;
909		spi-rx-bus-width = <4>;
910		spi-tx-bus-width = <1>;
911		vcc-supply = <&vcc_1v8_s3>;
912	};
913};
914
915&u2phy0 {
916	status = "okay";
917};
918
919&u2phy0_otg {
920	phy-supply = <&vcc5v0_usb_otg0>;
921	status = "okay";
922};
923
924&u2phy1 {
925	status = "okay";
926};
927
928&u2phy1_otg {
929	phy-supply = <&usb3_port2_5v>;
930	status = "okay";
931};
932
933&uart0 {
934	status = "okay";
935};
936
937&ufshc {
938	vcc-supply = <&vcc_3v3_s3>;
939	vccq-supply = <&vcc1v2_ufs_vccq>;
940	vccq2-supply = <&vcc1v8_ufs_vccq2>;
941	vdd-hba-supply = <&vdda_1v2_s0>;
942	status = "okay";
943};
944
945&usbdp_phy {
946	status = "okay";
947};
948
949&usb_drd0_dwc3 {
950	dr_mode = "otg";
951	extcon = <&u2phy0>;
952	status = "okay";
953};
954
955&usb_drd1_dwc3 {
956	dr_mode = "host";
957	status = "okay";
958};
959
960&vop {
961	status = "okay";
962};
963
964&vop_mmu {
965	status = "okay";
966};
967
968&vp0 {
969	vp0_out_hdmi: endpoint@ROCKCHIP_VOP2_EP_HDMI0 {
970		reg = <ROCKCHIP_VOP2_EP_HDMI0>;
971		remote-endpoint = <&hdmi_in_vp0>;
972	};
973};
974
975&wdt {
976	status = "okay";
977};
978