xref: /linux/arch/arm64/boot/dts/rockchip/rk3568-graperain-g3568-v2.dts (revision cbe8aadf1551f3f4a853f24b3b96d9f0eea49c53)
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2
3/dts-v1/;
4#include <dt-bindings/gpio/gpio.h>
5#include <dt-bindings/input/input.h>
6#include <dt-bindings/leds/common.h>
7#include <dt-bindings/pinctrl/rockchip.h>
8#include <dt-bindings/soc/rockchip,vop2.h>
9#include "rk3568.dtsi"
10
11/ {
12	model = "Graperain G3568 v2";
13	compatible = "graperain,g3568-v2", "rockchip,rk3568";
14
15	aliases {
16		ethernet0 = &gmac0;
17		ethernet1 = &gmac1;
18		mmc0 = &sdhci;
19		mmc1 = &sdmmc0;
20		mmc2 = &sdmmc2;
21		rtc0 = &rtc0;
22	};
23
24	chosen {
25		stdout-path = "serial2:1500000n8";
26	};
27
28	adc-keys {
29		compatible = "adc-keys";
30		io-channels = <&saradc 0>;
31		io-channel-names = "buttons";
32		keyup-threshold-microvolt = <1800000>;
33		poll-interval = <100>;
34
35		button-esc {
36			label = "esc";
37			linux,code = <KEY_ESC>;
38			press-threshold-microvolt = <1250000>;
39		};
40
41		button-menu {
42			label = "menu";
43			linux,code = <KEY_MENU>;
44			press-threshold-microvolt = <1600000>;
45		};
46
47		button-vol-down {
48			label = "volume down";
49			linux,code = <KEY_VOLUMEDOWN>;
50			press-threshold-microvolt = <600000>;
51		};
52
53		button-vol-up {
54			label = "volume up";
55			linux,code = <KEY_VOLUMEUP>;
56			press-threshold-microvolt = <100000>;
57		};
58	};
59
60	hdmi-con {
61		compatible = "hdmi-connector";
62		type = "a";
63
64		port {
65			hdmi_con_in: endpoint {
66				remote-endpoint = <&hdmi_out_con>;
67			};
68		};
69	};
70
71	leds {
72		compatible = "gpio-leds";
73
74		led_work: led-0 {
75			color = <LED_COLOR_ID_BLUE>;
76			function = LED_FUNCTION_HEARTBEAT;
77			gpios = <&gpio0 RK_PC0 GPIO_ACTIVE_HIGH>;
78			linux,default-trigger = "heartbeat";
79			pinctrl-names = "default";
80			pinctrl-0 = <&led_work_en>;
81		};
82	};
83
84	rk809-sound {
85		compatible = "simple-audio-card";
86		simple-audio-card,format = "i2s";
87		simple-audio-card,name = "Analog RK809";
88		simple-audio-card,mclk-fs = <256>;
89
90		simple-audio-card,cpu {
91			sound-dai = <&i2s1_8ch>;
92		};
93		simple-audio-card,codec {
94			sound-dai = <&rk809>;
95		};
96	};
97
98	pdm_codec: pdm-codec {
99		compatible = "dmic-codec";
100		num-channels = <2>;
101		#sound-dai-cells = <0>;
102	};
103
104	pdm_sound: pdm-sound {
105		compatible = "simple-audio-card";
106		simple-audio-card,name = "microphone";
107
108		simple-audio-card,cpu {
109			sound-dai = <&pdm>;
110		};
111
112		simple-audio-card,codec {
113			sound-dai = <&pdm_codec>;
114		};
115	};
116
117	spdif_dit: spdif-dit {
118		compatible = "linux,spdif-dit";
119		#sound-dai-cells = <0>;
120	};
121
122	spdif_sound: spdif-sound {
123		compatible = "simple-audio-card";
124		simple-audio-card,name = "SPDIF";
125
126		simple-audio-card,cpu {
127			sound-dai = <&spdif>;
128		};
129		simple-audio-card,codec {
130			sound-dai = <&spdif_dit>;
131		};
132	};
133
134	sdio_pwrseq: sdio-pwrseq {
135		compatible = "mmc-pwrseq-simple";
136		clocks = <&rk809 1>;
137		clock-names = "ext_clock";
138		pinctrl-names = "default";
139		pinctrl-0 = <&wifi_enable>;
140		post-power-on-delay-ms = <100>;
141		power-off-delay-us = <300>;
142		reset-gpios = <&gpio3 RK_PD5 GPIO_ACTIVE_LOW>;
143	};
144
145	dc_12v: regulator-dc-12v {
146		compatible = "regulator-fixed";
147		regulator-name = "dc_12v";
148		regulator-always-on;
149		regulator-boot-on;
150		regulator-min-microvolt = <12000000>;
151		regulator-max-microvolt = <12000000>;
152	};
153
154	pcie30_avdd0v9: regulator-pcie30-avdd0v9 {
155		compatible = "regulator-fixed";
156		regulator-name = "pcie30_avdd0v9";
157		regulator-always-on;
158		regulator-boot-on;
159		regulator-min-microvolt = <900000>;
160		regulator-max-microvolt = <900000>;
161		vin-supply = <&vcc3v3_sys>;
162	};
163
164	pcie30_avdd1v8: regulator-pcie30-avdd1v8 {
165		compatible = "regulator-fixed";
166		regulator-name = "pcie30_avdd1v8";
167		regulator-always-on;
168		regulator-boot-on;
169		regulator-min-microvolt = <1800000>;
170		regulator-max-microvolt = <1800000>;
171		vin-supply = <&vcc3v3_sys>;
172	};
173
174	vcc3v3_sys: regulator-vcc3v3-sys {
175		compatible = "regulator-fixed";
176		regulator-name = "vcc3v3_sys";
177		regulator-always-on;
178		regulator-boot-on;
179		regulator-min-microvolt = <3300000>;
180		regulator-max-microvolt = <3300000>;
181		vin-supply = <&dc_12v>;
182	};
183
184	vcc3v3_pcie: regulator-vcc3v3-pcie {
185		compatible = "regulator-fixed";
186		enable-active-high;
187		gpios = <&gpio3 RK_PC3 GPIO_ACTIVE_HIGH>;
188		pinctrl-names = "default";
189		pinctrl-0 = <&vcc3v3_pcie_en_pin>;
190		regulator-name = "vcc3v3_pcie";
191		regulator-min-microvolt = <3300000>;
192		regulator-max-microvolt = <3300000>;
193		startup-delay-us = <5000>;
194		vin-supply = <&dc_12v>;
195	};
196
197	vcc5v0_sys: regulator-vcc5v0-sys {
198		compatible = "regulator-fixed";
199		regulator-name = "vcc5v0_sys";
200		regulator-always-on;
201		regulator-boot-on;
202		regulator-min-microvolt = <5000000>;
203		regulator-max-microvolt = <5000000>;
204		vin-supply = <&dc_12v>;
205	};
206
207	vcc5v0_usb: regulator-vcc5v0-usb {
208		compatible = "regulator-fixed";
209		regulator-name = "vcc5v0_usb";
210		regulator-always-on;
211		regulator-boot-on;
212		regulator-min-microvolt = <5000000>;
213		regulator-max-microvolt = <5000000>;
214		vin-supply = <&dc_12v>;
215	};
216
217	vcc5v0_usb_host: regulator-vcc5v0-usb-host {
218		compatible = "regulator-fixed";
219		enable-active-high;
220		gpios = <&gpio0 RK_PA6 GPIO_ACTIVE_HIGH>;
221		pinctrl-names = "default";
222		pinctrl-0 = <&vcc5v0_usb_host_en>;
223		regulator-name = "vcc5v0_usb_host";
224		regulator-min-microvolt = <5000000>;
225		regulator-max-microvolt = <5000000>;
226		vin-supply = <&vcc5v0_usb>;
227	};
228
229	vcc5v0_usb_otg: regulator-vcc5v0-usb-otg {
230		compatible = "regulator-fixed";
231		enable-active-high;
232		gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_HIGH>;
233		pinctrl-names = "default";
234		pinctrl-0 = <&vcc5v0_usb_otg_en>;
235		regulator-name = "vcc5v0_usb_otg";
236		regulator-min-microvolt = <5000000>;
237		regulator-max-microvolt = <5000000>;
238		vin-supply = <&vcc5v0_usb>;
239	};
240};
241
242&can1 {
243	assigned-clocks = <&cru CLK_CAN1>;
244	assigned-clock-rates = <150000000>;
245	pinctrl-names = "default";
246	pinctrl-0 = <&can1m1_pins>;
247	status = "okay";
248};
249
250/* used for usb_host0_xhci */
251&combphy0 {
252	status = "okay";
253};
254
255/* used for usb_host1_xhci */
256&combphy1 {
257	status = "okay";
258};
259
260/* connected to sata2 */
261&combphy2 {
262	status = "okay";
263};
264
265&cpu0 {
266	cpu-supply = <&vdd_cpu>;
267};
268
269&cpu1 {
270	cpu-supply = <&vdd_cpu>;
271};
272
273&cpu2 {
274	cpu-supply = <&vdd_cpu>;
275};
276
277&cpu3 {
278	cpu-supply = <&vdd_cpu>;
279};
280
281&gmac0 {
282	assigned-clocks = <&cru SCLK_GMAC0_RX_TX>, <&cru SCLK_GMAC0>;
283	assigned-clock-parents = <&cru SCLK_GMAC0_RGMII_SPEED>;
284	assigned-clock-rates = <0>, <125000000>;
285	clock_in_out = "output";
286	pinctrl-names = "default";
287	pinctrl-0 = <&gmac0_miim
288		     &gmac0_tx_bus2
289		     &gmac0_rx_bus2
290		     &gmac0_rgmii_clk
291		     &gmac0_rgmii_bus>;
292	phy-handle = <&rgmii_phy0>;
293	phy-mode = "rgmii-id";
294	status = "okay";
295};
296
297&gmac1 {
298	assigned-clocks = <&cru SCLK_GMAC1_RX_TX>, <&cru SCLK_GMAC1>;
299	assigned-clock-parents = <&cru SCLK_GMAC1_RGMII_SPEED>;
300	assigned-clock-rates = <0>, <125000000>;
301	clock_in_out = "output";
302	pinctrl-names = "default";
303	pinctrl-0 = <&gmac1m1_miim
304		     &gmac1m1_tx_bus2
305		     &gmac1m1_rx_bus2
306		     &gmac1m1_rgmii_clk
307		     &gmac1m1_rgmii_bus>;
308	phy-handle = <&rgmii_phy1>;
309	phy-mode = "rgmii-id";
310	status = "okay";
311};
312
313&gpu {
314	mali-supply = <&vdd_gpu>;
315	status = "okay";
316};
317
318&hdmi {
319	avdd-0v9-supply = <&vdda0v9_image>;
320	avdd-1v8-supply = <&vcca1v8_image>;
321	status = "okay";
322};
323
324&hdmi_in {
325	hdmi_in_vp0: endpoint {
326		remote-endpoint = <&vp0_out_hdmi>;
327	};
328};
329
330&hdmi_out {
331	hdmi_out_con: endpoint {
332		remote-endpoint = <&hdmi_con_in>;
333	};
334};
335
336&hdmi_sound {
337	status = "okay";
338};
339
340&i2c0 {
341	status = "okay";
342
343	vdd_cpu: regulator@1c {
344		compatible = "tcs,tcs4525";
345		reg = <0x1c>;
346		regulator-name = "vdd_cpu";
347		regulator-always-on;
348		regulator-boot-on;
349		regulator-min-microvolt = <800000>;
350		regulator-max-microvolt = <1150000>;
351		regulator-ramp-delay = <2300>;
352		vin-supply = <&vcc5v0_sys>;
353		fcs,suspend-voltage-selector = <1>;
354
355		regulator-state-mem {
356			regulator-off-in-suspend;
357		};
358	};
359
360	rk809: pmic@20 {
361		compatible = "rockchip,rk809";
362		reg = <0x20>;
363		interrupt-parent = <&gpio0>;
364		interrupts = <RK_PA3 IRQ_TYPE_LEVEL_LOW>;
365		assigned-clocks = <&cru I2S1_MCLKOUT_TX>;
366		assigned-clock-parents = <&cru CLK_I2S1_8CH_TX>;
367		#clock-cells = <1>;
368		clock-names = "mclk";
369		clocks = <&cru I2S1_MCLKOUT_TX>;
370		pinctrl-names = "default";
371		pinctrl-0 = <&pmic_int>, <&i2s1m0_mclk>;
372		system-power-controller;
373		#sound-dai-cells = <0>;
374		vcc1-supply = <&vcc3v3_sys>;
375		vcc2-supply = <&vcc3v3_sys>;
376		vcc3-supply = <&vcc3v3_sys>;
377		vcc4-supply = <&vcc3v3_sys>;
378		vcc5-supply = <&vcc3v3_sys>;
379		vcc6-supply = <&vcc3v3_sys>;
380		vcc7-supply = <&vcc3v3_sys>;
381		vcc8-supply = <&vcc3v3_sys>;
382		vcc9-supply = <&vcc3v3_sys>;
383		wakeup-source;
384
385		regulators {
386			vdd_logic: DCDC_REG1 {
387				regulator-name = "vdd_logic";
388				regulator-always-on;
389				regulator-boot-on;
390				regulator-initial-mode = <0x2>;
391				regulator-min-microvolt = <500000>;
392				regulator-max-microvolt = <1350000>;
393				regulator-ramp-delay = <6001>;
394
395				regulator-state-mem {
396					regulator-off-in-suspend;
397				};
398			};
399
400			vdd_gpu: DCDC_REG2 {
401				regulator-name = "vdd_gpu";
402				regulator-always-on;
403				regulator-initial-mode = <0x2>;
404				regulator-min-microvolt = <500000>;
405				regulator-max-microvolt = <1350000>;
406				regulator-ramp-delay = <6001>;
407
408				regulator-state-mem {
409					regulator-off-in-suspend;
410				};
411			};
412
413			vcc_ddr: DCDC_REG3 {
414				regulator-name = "vcc_ddr";
415				regulator-always-on;
416				regulator-boot-on;
417				regulator-initial-mode = <0x2>;
418
419				regulator-state-mem {
420					regulator-on-in-suspend;
421				};
422			};
423
424			vdd_npu: DCDC_REG4 {
425				regulator-name = "vdd_npu";
426				regulator-initial-mode = <0x2>;
427				regulator-min-microvolt = <500000>;
428				regulator-max-microvolt = <1350000>;
429				regulator-ramp-delay = <6001>;
430
431				regulator-state-mem {
432					regulator-off-in-suspend;
433				};
434			};
435
436			vcc_1v8: DCDC_REG5 {
437				regulator-name = "vcc_1v8";
438				regulator-always-on;
439				regulator-boot-on;
440				regulator-min-microvolt = <1800000>;
441				regulator-max-microvolt = <1800000>;
442
443				regulator-state-mem {
444					regulator-off-in-suspend;
445				};
446			};
447
448			vdda0v9_image: LDO_REG1 {
449				regulator-name = "vdda0v9_image";
450				regulator-min-microvolt = <900000>;
451				regulator-max-microvolt = <900000>;
452
453				regulator-state-mem {
454					regulator-off-in-suspend;
455				};
456			};
457
458			vdda_0v9: LDO_REG2 {
459				regulator-name = "vdda_0v9";
460				regulator-always-on;
461				regulator-boot-on;
462				regulator-min-microvolt = <900000>;
463				regulator-max-microvolt = <900000>;
464
465				regulator-state-mem {
466					regulator-off-in-suspend;
467				};
468			};
469
470			vdda0v9_pmu: LDO_REG3 {
471				regulator-name = "vdda0v9_pmu";
472				regulator-always-on;
473				regulator-boot-on;
474				regulator-min-microvolt = <900000>;
475				regulator-max-microvolt = <900000>;
476
477				regulator-state-mem {
478					regulator-on-in-suspend;
479				};
480			};
481
482			vccio_acodec: LDO_REG4 {
483				regulator-name = "vccio_acodec";
484				regulator-always-on;
485				regulator-min-microvolt = <3300000>;
486				regulator-max-microvolt = <3300000>;
487
488				regulator-state-mem {
489					regulator-off-in-suspend;
490				};
491			};
492
493			vccio_sd: LDO_REG5 {
494				regulator-name = "vccio_sd";
495				regulator-min-microvolt = <1800000>;
496				regulator-max-microvolt = <3300000>;
497
498				regulator-state-mem {
499					regulator-off-in-suspend;
500				};
501			};
502
503			vcc3v3_pmu: LDO_REG6 {
504				regulator-name = "vcc3v3_pmu";
505				regulator-always-on;
506				regulator-boot-on;
507				regulator-min-microvolt = <3300000>;
508				regulator-max-microvolt = <3300000>;
509
510				regulator-state-mem {
511					regulator-on-in-suspend;
512				};
513			};
514
515			vcca_1v8: LDO_REG7 {
516				regulator-name = "vcca_1v8";
517				regulator-always-on;
518				regulator-boot-on;
519				regulator-min-microvolt = <1800000>;
520				regulator-max-microvolt = <1800000>;
521
522				regulator-state-mem {
523					regulator-off-in-suspend;
524				};
525			};
526
527			vcca1v8_pmu: LDO_REG8 {
528				regulator-name = "vcca1v8_pmu";
529				regulator-always-on;
530				regulator-boot-on;
531				regulator-min-microvolt = <1800000>;
532				regulator-max-microvolt = <1800000>;
533
534				regulator-state-mem {
535					regulator-on-in-suspend;
536				};
537			};
538
539			vcca1v8_image: LDO_REG9 {
540				regulator-name = "vcca1v8_image";
541				regulator-min-microvolt = <1800000>;
542				regulator-max-microvolt = <1800000>;
543
544				regulator-state-mem {
545					regulator-off-in-suspend;
546				};
547			};
548
549			vcc_3v3: SWITCH_REG1 {
550				regulator-name = "vcc_3v3";
551				regulator-always-on;
552				regulator-boot-on;
553
554				regulator-state-mem {
555					regulator-off-in-suspend;
556				};
557			};
558
559			vcc3v3_sd: SWITCH_REG2 {
560				regulator-name = "vcc3v3_sd";
561
562				regulator-state-mem {
563					regulator-off-in-suspend;
564				};
565			};
566		};
567
568		codec {
569			rockchip,mic-in-differential;
570		};
571	};
572};
573
574&i2c5 {
575	status = "okay";
576
577	rtc0: rtc@51 {
578		compatible = "nxp,pcf8563";
579		reg = <0x51>;
580		#clock-cells = <0>;
581	};
582};
583
584&i2s0_8ch {
585	status = "okay";
586};
587
588&i2s1_8ch {
589	pinctrl-0 = <&i2s1m0_sclktx &i2s1m0_lrcktx &i2s1m0_sdi0 &i2s1m0_sdo0>;
590	rockchip,trcm-sync-tx-only;
591	status = "okay";
592};
593
594/* required rk3568-codec-digital for AP6356S Bluetooth Sound */
595&i2s3_2ch {
596	status = "disabled";
597};
598
599&mdio0 {
600	rgmii_phy0: ethernet-phy@1 {
601		compatible = "ethernet-phy-ieee802.3-c22";
602		reg = <1>;
603		reset-assert-us = <20000>;
604		reset-deassert-us = <100000>;
605		reset-gpios = <&gpio2 RK_PD3 GPIO_ACTIVE_LOW>;
606
607		leds {
608			#address-cells = <1>;
609			#size-cells = <0>;
610
611			led@1 {
612				reg = <1>;
613				color = <LED_COLOR_ID_GREEN>;
614				function = LED_FUNCTION_LAN;
615				default-state = "keep";
616			};
617
618			led@2 {
619				reg = <2>;
620				color = <LED_COLOR_ID_AMBER>;
621				function = LED_FUNCTION_LAN;
622				default-state = "keep";
623			};
624		};
625	};
626};
627
628&mdio1 {
629	rgmii_phy1: ethernet-phy@1 {
630		compatible = "ethernet-phy-ieee802.3-c22";
631		reg = <1>;
632		reset-assert-us = <20000>;
633		reset-deassert-us = <100000>;
634		reset-gpios = <&gpio2 RK_PD1 GPIO_ACTIVE_LOW>;
635
636		leds {
637			#address-cells = <1>;
638			#size-cells = <0>;
639
640			led@1 {
641				reg = <1>;
642				color = <LED_COLOR_ID_GREEN>;
643				function = LED_FUNCTION_LAN;
644				default-state = "keep";
645			};
646
647			led@2 {
648				reg = <2>;
649				color = <LED_COLOR_ID_AMBER>;
650				function = LED_FUNCTION_LAN;
651				default-state = "keep";
652			};
653		};
654	};
655};
656
657&pcie30phy {
658	status = "okay";
659};
660
661&pcie3x2 {
662	pinctrl-names = "default";
663	pinctrl-0 = <&pcie_reset_pin>;
664	reset-gpios = <&gpio2 RK_PD6 GPIO_ACTIVE_HIGH>;
665	vpcie3v3-supply = <&vcc3v3_pcie>;
666	status = "okay";
667};
668
669&pdm {
670	status = "okay";
671};
672
673&pinctrl {
674	bluetooth {
675		bt_reg_on_h: bt-reg-on-h {
676			rockchip,pins = <3 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>;
677		};
678
679		bt_wake_host_h: bt-wake-host-h {
680			rockchip,pins = <3 RK_PA1 RK_FUNC_GPIO &pcfg_pull_down>;
681		};
682
683		host_wake_bt_h: host-wake-bt-h {
684			rockchip,pins = <3 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
685		};
686	};
687
688	leds {
689		led_work_en: led_work_en {
690			rockchip,pins = <0 RK_PC0 RK_FUNC_GPIO &pcfg_pull_none>;
691		};
692	};
693
694	pmic {
695		pmic_int: pmic_int {
696			rockchip,pins = <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>;
697		};
698	};
699
700	pcie {
701		pcie_reset_pin: pcie-reset-pin {
702			rockchip,pins = <2 RK_PD6 RK_FUNC_GPIO &pcfg_pull_none>;
703		};
704		vcc3v3_pcie_en_pin: vcc3v3-pcie-en-pin {
705			rockchip,pins = <3 RK_PC3 RK_FUNC_GPIO &pcfg_pull_none>;
706		};
707	};
708
709	sdio-pwrseq {
710		wifi_enable: wifi-enable {
711			rockchip,pins = <3 RK_PD5 RK_FUNC_GPIO &pcfg_pull_none>;
712		};
713	};
714
715	usb {
716		vcc5v0_usb_host_en: vcc5v0_usb_host_en {
717			rockchip,pins = <0 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>;
718		};
719		vcc5v0_usb_otg_en: vcc5v0_usb_otg_en {
720			rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>;
721		};
722	};
723
724	wifi-irq {
725		wifi_host_wake_irq: wifi-host-wake-irq {
726			rockchip,pins = <3 RK_PD4 RK_FUNC_GPIO &pcfg_pull_down>;
727		};
728	};
729};
730
731&pmu_io_domains {
732	pmuio1-supply = <&vcc3v3_pmu>;
733	pmuio2-supply = <&vcc3v3_pmu>;
734	vccio1-supply = <&vccio_acodec>;
735	vccio2-supply = <&vcc_1v8>;
736	vccio3-supply = <&vccio_sd>;
737	vccio4-supply = <&vcc_1v8>;
738	vccio5-supply = <&vcc_3v3>;
739	vccio6-supply = <&vcc_1v8>;
740	vccio7-supply = <&vcc_3v3>;
741	status = "okay";
742};
743
744&pwm4 {
745	status = "okay";
746};
747
748&pwm5 {
749	status = "okay";
750};
751
752/* Required remotectl for IR receiver */
753&pwm7 {
754	status = "disabled";
755};
756
757&saradc {
758	vref-supply = <&vcca_1v8>;
759	status = "okay";
760};
761
762&sata2 {
763	status = "okay";
764};
765
766/* used for eMMC */
767&sdhci {
768	bus-width = <8>;
769	max-frequency = <200000000>;
770	mmc-hs200-1_8v;
771	non-removable;
772	pinctrl-names = "default";
773	pinctrl-0 = <&emmc_bus8 &emmc_clk &emmc_cmd &emmc_datastrobe>;
774	status = "okay";
775};
776
777/* used for microSD (TF) Slot */
778&sdmmc0 {
779	bus-width = <4>;
780	cap-sd-highspeed;
781	cd-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_LOW>;
782	disable-wp;
783	pinctrl-names = "default";
784	pinctrl-0 = <&sdmmc0_bus4 &sdmmc0_clk &sdmmc0_cmd &sdmmc0_det>;
785	sd-uhs-sdr104;
786	vmmc-supply = <&vcc3v3_sd>;
787	vqmmc-supply = <&vccio_sd>;
788	status = "okay";
789};
790
791/* used for AP6356S WiFi */
792&sdmmc2 {
793	#address-cells = <1>;
794	#size-cells = <0>;
795
796	bus-width = <4>;
797	cap-sd-highspeed;
798	cap-sdio-irq;
799	keep-power-in-suspend;
800	mmc-pwrseq = <&sdio_pwrseq>;
801	non-removable;
802	pinctrl-names = "default";
803	pinctrl-0 = <&sdmmc2m0_bus4 &sdmmc2m0_cmd &sdmmc2m0_clk>;
804	sd-uhs-sdr104;
805	vmmc-supply = <&vcc3v3_sys>;
806	vqmmc-supply = <&vcc_1v8>;
807	status = "okay";
808
809	wifi@1 {
810		compatible = "brcm,bcm4356-fmac", "brcm,bcm4329-fmac";
811		reg = <1>;
812		interrupt-parent = <&gpio3>;
813		interrupts = <RK_PD4 IRQ_TYPE_LEVEL_HIGH>;
814		interrupt-names = "host-wake";
815		pinctrl-names = "default";
816		pinctrl-0 = <&wifi_host_wake_irq>;
817	};
818};
819
820&spdif {
821	status = "okay";
822};
823
824&tsadc {
825	rockchip,hw-tshut-mode = <1>;
826	rockchip,hw-tshut-polarity = <0>;
827	status = "okay";
828};
829
830/* used for Debug */
831&uart2 {
832	status = "okay";
833};
834
835&uart3 {
836	pinctrl-0 = <&uart3m1_xfer>;
837	status = "okay";
838};
839
840&uart4 {
841	pinctrl-0 = <&uart4m1_xfer>;
842	status = "okay";
843};
844
845/* used for AP6356S Bluetooth */
846&uart8 {
847	dma-names = "tx", "rx";
848	pinctrl-names = "default";
849	pinctrl-0 = <&uart8m0_xfer &uart8m0_ctsn &uart8m0_rtsn>;
850	uart-has-rtscts;
851	status = "okay";
852
853	bluetooth {
854		compatible = "brcm,bcm4345c5";
855		clocks = <&rk809 1>;
856		clock-names = "lpo";
857		device-wakeup-gpios = <&gpio3 RK_PA2 GPIO_ACTIVE_HIGH>;
858		host-wakeup-gpios = <&gpio3 RK_PA1 GPIO_ACTIVE_HIGH>;
859		max-speed = <1500000>;
860		pinctrl-names = "default";
861		pinctrl-0 = <&bt_reg_on_h &bt_wake_host_h &host_wake_bt_h>;
862		shutdown-gpios = <&gpio3 RK_PA0 GPIO_ACTIVE_HIGH>;
863		vddio-supply = <&vcc_1v8>;
864	};
865};
866
867&uart9 {
868	pinctrl-0 = <&uart9m1_xfer>;
869	status = "okay";
870};
871
872&usb_host0_ehci {
873	status = "okay";
874};
875
876&usb_host0_ohci {
877	status = "okay";
878};
879
880&usb_host0_xhci {
881	extcon = <&usb2phy0>;
882	status = "okay";
883};
884
885&usb_host1_ehci {
886	status = "okay";
887};
888
889&usb_host1_ohci {
890	status = "okay";
891};
892
893&usb_host1_xhci {
894	status = "okay";
895};
896
897&usb2phy0 {
898	status = "okay";
899};
900
901&usb2phy0_host {
902	phy-supply = <&vcc5v0_usb_host>;
903	status = "okay";
904};
905
906&usb2phy0_otg {
907	phy-supply = <&vcc5v0_usb_otg>;
908	status = "okay";
909};
910
911&usb2phy1 {
912	status = "okay";
913};
914
915&usb2phy1_host {
916	phy-supply = <&vcc5v0_usb_host>;
917	status = "okay";
918};
919
920&usb2phy1_otg {
921	phy-supply = <&vcc5v0_usb_host>;
922	status = "okay";
923};
924
925&vop {
926	assigned-clocks = <&cru DCLK_VOP0>, <&cru DCLK_VOP1>;
927	assigned-clock-parents = <&pmucru PLL_HPLL>, <&cru PLL_VPLL>;
928	status = "okay";
929};
930
931&vop_mmu {
932	status = "okay";
933};
934
935&vp0 {
936	vp0_out_hdmi: endpoint@ROCKCHIP_VOP2_EP_HDMI0 {
937		reg = <ROCKCHIP_VOP2_EP_HDMI0>;
938		remote-endpoint = <&hdmi_in_vp0>;
939	};
940};
941