xref: /linux/scripts/dtc/include-prefixes/arm64/rockchip/rk3399-rockpro64.dtsi (revision 115e74a29b530d121891238e9551c4bcdf7b04b5)
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2/*
3 * Copyright (c) 2017 Fuzhou Rockchip Electronics Co., Ltd.
4 * Copyright (c) 2018 Akash Gajjar <Akash_Gajjar@mentor.com>
5 */
6
7#include <dt-bindings/input/linux-event-codes.h>
8#include <dt-bindings/pwm/pwm.h>
9#include "rk3399.dtsi"
10
11/ {
12	aliases {
13		ethernet0 = &gmac;
14		mmc0 = &sdio0;
15		mmc1 = &sdmmc;
16		mmc2 = &sdhci;
17	};
18
19	chosen {
20		stdout-path = "serial2:1500000n8";
21	};
22
23	clkin_gmac: external-gmac-clock {
24		compatible = "fixed-clock";
25		clock-frequency = <125000000>;
26		clock-output-names = "clkin_gmac";
27		#clock-cells = <0>;
28	};
29
30	gpio-keys {
31		compatible = "gpio-keys";
32		autorepeat;
33		pinctrl-names = "default";
34		pinctrl-0 = <&pwrbtn>;
35
36		key-power {
37			debounce-interval = <100>;
38			gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_LOW>;
39			label = "GPIO Key Power";
40			linux,code = <KEY_POWER>;
41			wakeup-source;
42		};
43	};
44
45	ir-receiver {
46		compatible = "gpio-ir-receiver";
47		gpios = <&gpio0 RK_PA6 GPIO_ACTIVE_LOW>;
48		pinctrl-0 = <&ir_int>;
49		pinctrl-names = "default";
50	};
51
52	leds {
53		compatible = "gpio-leds";
54		pinctrl-names = "default";
55		pinctrl-0 = <&work_led_pin>, <&diy_led_pin>;
56
57		work_led: led-0 {
58			label = "work";
59			default-state = "on";
60			gpios = <&gpio0 RK_PB3 GPIO_ACTIVE_HIGH>;
61		};
62
63		diy_led: led-1 {
64			label = "diy";
65			default-state = "off";
66			gpios = <&gpio0 RK_PA2 GPIO_ACTIVE_HIGH>;
67		};
68	};
69
70	fan: pwm-fan {
71		compatible = "pwm-fan";
72		cooling-levels = <0 100 150 200 255>;
73		#cooling-cells = <2>;
74		fan-supply = <&vcc12v_dcin>;
75		pwms = <&pwm1 0 50000 0>;
76	};
77
78	sdio_pwrseq: sdio-pwrseq {
79		compatible = "mmc-pwrseq-simple";
80		clocks = <&rk808 1>;
81		clock-names = "ext_clock";
82		pinctrl-names = "default";
83		pinctrl-0 = <&wifi_enable_h>;
84		reset-gpios = <&gpio0 RK_PB2 GPIO_ACTIVE_LOW>;
85	};
86
87	sound {
88		compatible = "audio-graph-card";
89		label = "Analog";
90		dais = <&i2s1_p0>;
91	};
92
93	sound-dit {
94		compatible = "audio-graph-card";
95		label = "SPDIF";
96		dais = <&spdif_p0>;
97	};
98
99	spdif-dit {
100		compatible = "linux,spdif-dit";
101		#sound-dai-cells = <0>;
102
103		port {
104			dit_p0_0: endpoint {
105				remote-endpoint = <&spdif_p0_0>;
106			};
107		};
108	};
109
110	vcc12v_dcin: regulator-vcc12v-dcin {
111		compatible = "regulator-fixed";
112		regulator-name = "vcc12v_dcin";
113		regulator-always-on;
114		regulator-boot-on;
115		regulator-min-microvolt = <12000000>;
116		regulator-max-microvolt = <12000000>;
117	};
118
119	/* switched by pmic_sleep */
120	vcc1v8_s3: vcca1v8_s3: regulator-vcc1v8-s3 {
121		compatible = "regulator-fixed";
122		regulator-name = "vcc1v8_s3";
123		regulator-always-on;
124		regulator-boot-on;
125		regulator-min-microvolt = <1800000>;
126		regulator-max-microvolt = <1800000>;
127		vin-supply = <&vcc_1v8>;
128	};
129
130	/* micro SD card power */
131	vcc3v0_sd: regulator-vcc3v0-sd {
132		compatible = "regulator-fixed";
133		enable-active-high;
134		gpio = <&gpio0 RK_PA1 GPIO_ACTIVE_HIGH>;
135		pinctrl-names = "default";
136		pinctrl-0 = <&sdmmc0_pwr_h>;
137		regulator-name = "vcc3v0_sd";
138		regulator-always-on;
139		regulator-min-microvolt = <3000000>;
140		regulator-max-microvolt = <3000000>;
141		vin-supply = <&vcc3v3_sys>;
142
143		regulator-state-mem {
144			regulator-off-in-suspend;
145		};
146	};
147
148	vcc3v3_pcie: regulator-vcc3v3-pcie {
149		compatible = "regulator-fixed";
150		enable-active-high;
151		gpio = <&gpio1 RK_PD0 GPIO_ACTIVE_HIGH>;
152		pinctrl-names = "default";
153		pinctrl-0 = <&pcie_pwr_en>;
154		regulator-name = "vcc3v3_pcie";
155		regulator-always-on;
156		regulator-boot-on;
157		vin-supply = <&vcc12v_dcin>;
158	};
159
160	vcc3v3_sys: regulator-vcc3v3-sys {
161		compatible = "regulator-fixed";
162		regulator-name = "vcc3v3_sys";
163		regulator-always-on;
164		regulator-boot-on;
165		regulator-min-microvolt = <3300000>;
166		regulator-max-microvolt = <3300000>;
167		vin-supply = <&vcc5v0_sys>;
168	};
169
170	/* Actually 3 regulators (host0, 1, 2) controlled by the same gpio */
171	vcc5v0_host: regulator-vcc5v0-host {
172		compatible = "regulator-fixed";
173		enable-active-high;
174		gpio = <&gpio4 RK_PD2 GPIO_ACTIVE_HIGH>;
175		pinctrl-names = "default";
176		pinctrl-0 = <&vcc5v0_host_en>;
177		regulator-name = "vcc5v0_host";
178		regulator-always-on;
179		vin-supply = <&vcc5v0_usb>;
180	};
181
182	vcc5v0_typec: regulator-vcc5v0-typec {
183		compatible = "regulator-fixed";
184		enable-active-high;
185		gpio = <&gpio1 RK_PA3 GPIO_ACTIVE_HIGH>;
186		pinctrl-names = "default";
187		pinctrl-0 = <&vcc5v0_typec_en>;
188		regulator-name = "vcc5v0_typec";
189		regulator-always-on;
190		vin-supply = <&vcc5v0_usb>;
191	};
192
193	vcc5v0_sys: regulator-vcc5v0-sys {
194		compatible = "regulator-fixed";
195		regulator-name = "vcc5v0_sys";
196		regulator-always-on;
197		regulator-boot-on;
198		regulator-min-microvolt = <5000000>;
199		regulator-max-microvolt = <5000000>;
200		vin-supply = <&vcc12v_dcin>;
201	};
202
203	vcc5v0_usb: regulator-vcc5v0-usb {
204		compatible = "regulator-fixed";
205		regulator-name = "vcc5v0_usb";
206		regulator-always-on;
207		regulator-boot-on;
208		regulator-min-microvolt = <5000000>;
209		regulator-max-microvolt = <5000000>;
210		vin-supply = <&vcc12v_dcin>;
211	};
212
213	vcca_0v9: regulator-vcca-0v9 {
214		compatible = "regulator-fixed";
215		regulator-name = "vcca_0v9";
216		regulator-always-on;
217		regulator-boot-on;
218		regulator-min-microvolt = <900000>;
219		regulator-max-microvolt = <900000>;
220		vin-supply = <&vcc3v3_sys>;
221	};
222
223	vdd_log: regulator-vdd-log {
224		compatible = "pwm-regulator";
225		pwms = <&pwm2 0 25000 1>;
226		pwm-supply = <&vcc5v0_sys>;
227		regulator-name = "vdd_log";
228		regulator-always-on;
229		regulator-boot-on;
230		regulator-min-microvolt = <800000>;
231		regulator-max-microvolt = <1700000>;
232	};
233};
234
235&cpu_l0 {
236	cpu-supply = <&vdd_cpu_l>;
237};
238
239&cpu_l1 {
240	cpu-supply = <&vdd_cpu_l>;
241};
242
243&cpu_l2 {
244	cpu-supply = <&vdd_cpu_l>;
245};
246
247&cpu_l3 {
248	cpu-supply = <&vdd_cpu_l>;
249};
250
251&cpu_b0 {
252	cpu-supply = <&vdd_cpu_b>;
253};
254
255&cpu_b1 {
256	cpu-supply = <&vdd_cpu_b>;
257};
258
259&cpu_thermal {
260	trips {
261		cpu_warm: cpu_warm {
262			temperature = <55000>;
263			hysteresis = <2000>;
264			type = "active";
265		};
266
267		cpu_hot: cpu_hot {
268			temperature = <65000>;
269			hysteresis = <2000>;
270			type = "active";
271		};
272	};
273
274	cooling-maps {
275		map2 {
276			trip = <&cpu_warm>;
277			cooling-device = <&fan THERMAL_NO_LIMIT 1>;
278		};
279
280		map3 {
281			trip = <&cpu_hot>;
282			cooling-device = <&fan 2 THERMAL_NO_LIMIT>;
283		};
284	};
285};
286
287&emmc_phy {
288	status = "okay";
289};
290
291&gmac {
292	assigned-clocks = <&cru SCLK_RMII_SRC>;
293	assigned-clock-parents = <&clkin_gmac>;
294	clock_in_out = "input";
295	phy-supply = <&vcc_lan>;
296	phy-mode = "rgmii";
297	pinctrl-names = "default";
298	pinctrl-0 = <&rgmii_pins>;
299	snps,reset-gpio = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>;
300	snps,reset-active-low;
301	snps,reset-delays-us = <0 10000 50000>;
302	tx_delay = <0x28>;
303	rx_delay = <0x11>;
304	status = "okay";
305};
306
307&hdmi {
308	avdd-0v9-supply = <&vcca_0v9>;
309	avdd-1v8-supply = <&vcc1v8_dvp>;
310	ddc-i2c-bus = <&i2c3>;
311	pinctrl-names = "default";
312	pinctrl-0 = <&hdmi_cec>;
313	status = "okay";
314};
315
316&hdmi_sound {
317	status = "okay";
318};
319
320&gpu {
321	mali-supply = <&vdd_gpu>;
322	status = "okay";
323};
324
325&i2c0 {
326	clock-frequency = <400000>;
327	i2c-scl-rising-time-ns = <168>;
328	i2c-scl-falling-time-ns = <4>;
329	status = "okay";
330
331	rk808: pmic@1b {
332		compatible = "rockchip,rk808";
333		reg = <0x1b>;
334		interrupt-parent = <&gpio3>;
335		interrupts = <10 IRQ_TYPE_LEVEL_LOW>;
336		#clock-cells = <1>;
337		clock-output-names = "xin32k", "rk808-clkout2";
338		pinctrl-names = "default";
339		pinctrl-0 = <&pmic_int_l>;
340		system-power-controller;
341		wakeup-source;
342
343		vcc1-supply = <&vcc5v0_sys>;
344		vcc2-supply = <&vcc5v0_sys>;
345		vcc3-supply = <&vcc5v0_sys>;
346		vcc4-supply = <&vcc5v0_sys>;
347		vcc6-supply = <&vcc5v0_sys>;
348		vcc7-supply = <&vcc5v0_sys>;
349		vcc8-supply = <&vcc3v3_sys>;
350		vcc9-supply = <&vcc5v0_sys>;
351		vcc10-supply = <&vcc5v0_sys>;
352		vcc11-supply = <&vcc5v0_sys>;
353		vcc12-supply = <&vcc3v3_sys>;
354		vddio-supply = <&vcca_1v8>;
355
356		regulators {
357			vdd_center: DCDC_REG1 {
358				regulator-name = "vdd_center";
359				regulator-always-on;
360				regulator-boot-on;
361				regulator-min-microvolt = <750000>;
362				regulator-max-microvolt = <1350000>;
363				regulator-ramp-delay = <6001>;
364				regulator-state-mem {
365					regulator-off-in-suspend;
366				};
367			};
368
369			vdd_cpu_l: DCDC_REG2 {
370				regulator-name = "vdd_cpu_l";
371				regulator-always-on;
372				regulator-boot-on;
373				regulator-min-microvolt = <750000>;
374				regulator-max-microvolt = <1350000>;
375				regulator-ramp-delay = <6001>;
376				regulator-state-mem {
377					regulator-off-in-suspend;
378				};
379			};
380
381			vcc_ddr: DCDC_REG3 {
382				regulator-name = "vcc_ddr";
383				regulator-always-on;
384				regulator-boot-on;
385				regulator-state-mem {
386					regulator-on-in-suspend;
387				};
388			};
389
390			vcc_1v8: DCDC_REG4 {
391				regulator-name = "vcc_1v8";
392				regulator-always-on;
393				regulator-boot-on;
394				regulator-min-microvolt = <1800000>;
395				regulator-max-microvolt = <1800000>;
396				regulator-state-mem {
397					regulator-on-in-suspend;
398					regulator-suspend-microvolt = <1800000>;
399				};
400			};
401
402			vcc1v8_dvp: LDO_REG1 {
403				regulator-name = "vcc1v8_dvp";
404				regulator-always-on;
405				regulator-boot-on;
406				regulator-min-microvolt = <1800000>;
407				regulator-max-microvolt = <1800000>;
408				regulator-state-mem {
409					regulator-off-in-suspend;
410				};
411			};
412
413			vcc3v0_touch: LDO_REG2 {
414				regulator-name = "vcc3v0_touch";
415				regulator-min-microvolt = <3000000>;
416				regulator-max-microvolt = <3000000>;
417				regulator-state-mem {
418					regulator-off-in-suspend;
419				};
420			};
421
422			vcca_1v8: LDO_REG3 {
423				regulator-name = "vcca_1v8";
424				regulator-always-on;
425				regulator-boot-on;
426				regulator-min-microvolt = <1800000>;
427				regulator-max-microvolt = <1800000>;
428				regulator-state-mem {
429					regulator-on-in-suspend;
430					regulator-suspend-microvolt = <1800000>;
431				};
432			};
433
434			vcc_sdio: LDO_REG4 {
435				regulator-name = "vcc_sdio";
436				regulator-always-on;
437				regulator-boot-on;
438				regulator-min-microvolt = <1800000>;
439				regulator-max-microvolt = <3000000>;
440				regulator-state-mem {
441					regulator-on-in-suspend;
442					regulator-suspend-microvolt = <3000000>;
443				};
444			};
445
446			vcca3v0_codec: LDO_REG5 {
447				regulator-name = "vcca3v0_codec";
448				regulator-always-on;
449				regulator-boot-on;
450				regulator-min-microvolt = <3000000>;
451				regulator-max-microvolt = <3000000>;
452				regulator-state-mem {
453					regulator-off-in-suspend;
454				};
455			};
456
457			vcc_1v5: LDO_REG6 {
458				regulator-name = "vcc_1v5";
459				regulator-always-on;
460				regulator-boot-on;
461				regulator-min-microvolt = <1500000>;
462				regulator-max-microvolt = <1500000>;
463				regulator-state-mem {
464					regulator-on-in-suspend;
465					regulator-suspend-microvolt = <1500000>;
466				};
467			};
468
469			vcca1v8_codec: LDO_REG7 {
470				regulator-name = "vcca1v8_codec";
471				regulator-always-on;
472				regulator-boot-on;
473				regulator-min-microvolt = <1800000>;
474				regulator-max-microvolt = <1800000>;
475				regulator-state-mem {
476					regulator-off-in-suspend;
477				};
478			};
479
480			vcc_3v0: LDO_REG8 {
481				regulator-name = "vcc_3v0";
482				regulator-always-on;
483				regulator-boot-on;
484				regulator-min-microvolt = <3000000>;
485				regulator-max-microvolt = <3000000>;
486				regulator-state-mem {
487					regulator-on-in-suspend;
488					regulator-suspend-microvolt = <3000000>;
489				};
490			};
491
492			vcc3v3_s3: vcc_lan: SWITCH_REG1 {
493				regulator-name = "vcc3v3_s3";
494				regulator-always-on;
495				regulator-boot-on;
496				regulator-state-mem {
497					regulator-off-in-suspend;
498				};
499			};
500
501			vcc3v3_s0: SWITCH_REG2 {
502				regulator-name = "vcc3v3_s0";
503				regulator-state-mem {
504					regulator-off-in-suspend;
505				};
506			};
507		};
508	};
509
510	vdd_cpu_b: regulator@40 {
511		compatible = "silergy,syr827";
512		reg = <0x40>;
513		fcs,suspend-voltage-selector = <1>;
514		pinctrl-names = "default";
515		pinctrl-0 = <&vsel1_pin>;
516		regulator-name = "vdd_cpu_b";
517		regulator-min-microvolt = <712500>;
518		regulator-max-microvolt = <1500000>;
519		regulator-ramp-delay = <1000>;
520		regulator-always-on;
521		regulator-boot-on;
522		vin-supply = <&vcc5v0_sys>;
523
524		regulator-state-mem {
525			regulator-off-in-suspend;
526		};
527	};
528
529	vdd_gpu: regulator@41 {
530		compatible = "silergy,syr828";
531		reg = <0x41>;
532		fcs,suspend-voltage-selector = <1>;
533		pinctrl-names = "default";
534		pinctrl-0 = <&vsel2_pin>;
535		regulator-name = "vdd_gpu";
536		regulator-min-microvolt = <712500>;
537		regulator-max-microvolt = <1500000>;
538		regulator-ramp-delay = <1000>;
539		regulator-always-on;
540		regulator-boot-on;
541		vin-supply = <&vcc5v0_sys>;
542
543		regulator-state-mem {
544			regulator-off-in-suspend;
545		};
546	};
547};
548
549&i2c1 {
550	i2c-scl-rising-time-ns = <300>;
551	i2c-scl-falling-time-ns = <15>;
552	status = "okay";
553};
554
555&i2c3 {
556	i2c-scl-rising-time-ns = <450>;
557	i2c-scl-falling-time-ns = <15>;
558	status = "okay";
559};
560
561&i2c4 {
562	i2c-scl-rising-time-ns = <600>;
563	i2c-scl-falling-time-ns = <20>;
564	status = "okay";
565
566	fusb0: typec-portc@22 {
567		compatible = "fcs,fusb302";
568		reg = <0x22>;
569		interrupt-parent = <&gpio1>;
570		interrupts = <RK_PA2 IRQ_TYPE_LEVEL_LOW>;
571		pinctrl-names = "default";
572		pinctrl-0 = <&fusb0_int>;
573		vbus-supply = <&vcc5v0_typec>;
574		status = "okay";
575	};
576};
577
578&i2s0 {
579	rockchip,playback-channels = <8>;
580	rockchip,capture-channels = <8>;
581	status = "okay";
582};
583
584&i2s1 {
585	rockchip,playback-channels = <2>;
586	rockchip,capture-channels = <2>;
587	status = "okay";
588
589	i2s1_p0: port {
590		i2s1_p0_0: endpoint {
591			dai-format = "i2s";
592			mclk-fs = <256>;
593			remote-endpoint = <&es8316_p0_0>;
594		};
595	};
596};
597
598&i2s2 {
599	status = "okay";
600};
601
602&io_domains {
603	status = "okay";
604
605	bt656-supply = <&vcc1v8_dvp>;
606	audio-supply = <&vcc_3v0>;
607	sdmmc-supply = <&vcc_sdio>;
608	gpio1830-supply = <&vcc_3v0>;
609};
610
611&pcie0 {
612	ep-gpios = <&gpio2 RK_PD4 GPIO_ACTIVE_HIGH>;
613	num-lanes = <4>;
614	pinctrl-names = "default";
615	pinctrl-0 = <&pcie_perst>;
616	vpcie0v9-supply = <&vcca_0v9>;
617	vpcie1v8-supply = <&vcca_1v8>;
618	vpcie12v-supply = <&vcc12v_dcin>;
619	vpcie3v3-supply = <&vcc3v3_pcie>;
620	status = "okay";
621};
622
623&pcie_phy {
624	status = "okay";
625};
626
627&pmu_io_domains {
628	pmu1830-supply = <&vcc_3v0>;
629	status = "okay";
630};
631
632&pinctrl {
633	bt {
634		bt_enable_h: bt-enable-h {
635			rockchip,pins = <0 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>;
636		};
637
638		bt_host_wake_l: bt-host-wake-l {
639			rockchip,pins = <0 RK_PA4 RK_FUNC_GPIO &pcfg_pull_down>;
640		};
641
642		bt_wake_l: bt-wake-l {
643			rockchip,pins = <2 RK_PD3 RK_FUNC_GPIO &pcfg_pull_none>;
644		};
645	};
646
647	buttons {
648		pwrbtn: pwrbtn {
649			rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>;
650		};
651	};
652
653	fusb302x {
654		fusb0_int: fusb0-int {
655			rockchip,pins = <1 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up>;
656		};
657	};
658
659	ir {
660		ir_int: ir-int {
661			rockchip,pins = <0 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>;
662		};
663	};
664
665	leds {
666		work_led_pin: work-led-pin {
667			rockchip,pins = <0 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>;
668		};
669
670		diy_led_pin: diy-led-pin {
671			rockchip,pins = <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
672		};
673	};
674
675	pcie {
676		pcie_perst: pcie-perst {
677			rockchip,pins = <2 RK_PD4 RK_FUNC_GPIO &pcfg_pull_none>;
678		};
679
680		pcie_pwr_en: pcie-pwr-en {
681			rockchip,pins = <1 RK_PD0 RK_FUNC_GPIO &pcfg_pull_none>;
682		};
683	};
684
685	pmic {
686		pmic_int_l: pmic-int-l {
687			rockchip,pins = <3 RK_PB2 RK_FUNC_GPIO &pcfg_pull_up>;
688		};
689
690		vsel1_pin: vsel1-pin {
691			rockchip,pins = <1 RK_PC1 RK_FUNC_GPIO &pcfg_pull_down>;
692		};
693
694		vsel2_pin: vsel2-pin {
695			rockchip,pins = <1 RK_PB6 RK_FUNC_GPIO &pcfg_pull_down>;
696		};
697	};
698
699	sdcard {
700		sdmmc0_pwr_h: sdmmc0-pwr-h {
701			rockchip,pins = <0 RK_PA1 RK_FUNC_GPIO &pcfg_pull_none>;
702		};
703
704	};
705
706	sdio-pwrseq {
707		wifi_enable_h: wifi-enable-h {
708			rockchip,pins = <0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>;
709		};
710	};
711
712	usb-typec {
713		vcc5v0_typec_en: vcc5v0_typec_en {
714			rockchip,pins = <1 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>;
715		};
716	};
717
718	usb2 {
719		vcc5v0_host_en: vcc5v0-host-en {
720			rockchip,pins = <4 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>;
721		};
722	};
723};
724
725&pwm1 {
726	status = "okay";
727};
728
729&pwm2 {
730	status = "okay";
731};
732
733&saradc {
734	vref-supply = <&vcca1v8_s3>;
735	status = "okay";
736};
737
738&sdio0 {
739	bus-width = <4>;
740	cap-sd-highspeed;
741	cap-sdio-irq;
742	disable-wp;
743	keep-power-in-suspend;
744	mmc-pwrseq = <&sdio_pwrseq>;
745	non-removable;
746	pinctrl-names = "default";
747	pinctrl-0 = <&sdio0_bus4 &sdio0_cmd &sdio0_clk>;
748	sd-uhs-sdr104;
749	status = "okay";
750};
751
752&sdmmc {
753	bus-width = <4>;
754	cap-sd-highspeed;
755	cd-gpios = <&gpio0 7 GPIO_ACTIVE_LOW>;
756	disable-wp;
757	max-frequency = <150000000>;
758	pinctrl-names = "default";
759	pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_bus4>;
760	vmmc-supply = <&vcc3v0_sd>;
761	vqmmc-supply = <&vcc_sdio>;
762	status = "okay";
763};
764
765&sdhci {
766	bus-width = <8>;
767	mmc-hs200-1_8v;
768	non-removable;
769	status = "okay";
770};
771
772&spdif {
773	pinctrl-0 = <&spdif_bus_1>;
774
775	spdif_p0: port {
776		spdif_p0_0: endpoint {
777			remote-endpoint = <&dit_p0_0>;
778		};
779	};
780};
781
782&spi1 {
783	status = "okay";
784
785	flash@0 {
786		compatible = "jedec,spi-nor";
787		reg = <0>;
788		spi-max-frequency = <10000000>;
789		vcc-supply = <&vcc_3v0>;
790	};
791};
792
793&tcphy0 {
794	status = "okay";
795};
796
797&tcphy1 {
798	status = "okay";
799};
800
801&tsadc {
802	/* tshut mode 0:CRU 1:GPIO */
803	rockchip,hw-tshut-mode = <1>;
804	/* tshut polarity 0:LOW 1:HIGH */
805	rockchip,hw-tshut-polarity = <1>;
806	status = "okay";
807};
808
809&u2phy0 {
810	status = "okay";
811
812	u2phy0_otg: otg-port {
813		status = "okay";
814	};
815
816	u2phy0_host: host-port {
817		phy-supply = <&vcc5v0_host>;
818		status = "okay";
819	};
820};
821
822&u2phy1 {
823	status = "okay";
824
825	u2phy1_otg: otg-port {
826		status = "okay";
827	};
828
829	u2phy1_host: host-port {
830		phy-supply = <&vcc5v0_host>;
831		status = "okay";
832	};
833};
834
835&uart0 {
836	pinctrl-names = "default";
837	pinctrl-0 = <&uart0_xfer &uart0_cts &uart0_rts>;
838	status = "okay";
839
840	bluetooth {
841		compatible = "brcm,bcm43438-bt";
842		clocks = <&rk808 1>;
843		clock-names = "lpo";
844		device-wakeup-gpios = <&gpio2 RK_PD3 GPIO_ACTIVE_HIGH>;
845		host-wakeup-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_HIGH>;
846		shutdown-gpios = <&gpio0 RK_PB1 GPIO_ACTIVE_HIGH>;
847		pinctrl-names = "default";
848		pinctrl-0 = <&bt_host_wake_l &bt_wake_l &bt_enable_h>;
849		vbat-supply = <&vcc3v3_sys>;
850		vddio-supply = <&vcc_1v8>;
851	};
852};
853
854&uart2 {
855	status = "okay";
856};
857
858&usb_host0_ehci {
859	status = "okay";
860};
861
862&usb_host0_ohci {
863	status = "okay";
864};
865
866&usb_host1_ehci {
867	status = "okay";
868};
869
870&usb_host1_ohci {
871	status = "okay";
872};
873
874&usbdrd3_0 {
875	status = "okay";
876};
877
878&usbdrd_dwc3_0 {
879	status = "okay";
880	dr_mode = "host";
881};
882
883&usbdrd3_1 {
884	status = "okay";
885};
886
887&usbdrd_dwc3_1 {
888	status = "okay";
889	dr_mode = "host";
890};
891
892&vopb {
893	status = "okay";
894};
895
896&vopb_mmu {
897	status = "okay";
898};
899
900&vopl {
901	status = "okay";
902};
903
904&vopl_mmu {
905	status = "okay";
906};
907