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