xref: /linux/arch/arm64/boot/dts/rockchip/rk3588s-indiedroid-nova.dts (revision 0678df8271820bcf8fb4f877129f05d68a237de4)
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2
3/dts-v1/;
4
5#include <dt-bindings/gpio/gpio.h>
6#include <dt-bindings/input/linux-event-codes.h>
7#include <dt-bindings/pinctrl/rockchip.h>
8#include <dt-bindings/usb/pd.h>
9#include "rk3588s.dtsi"
10
11/ {
12	model = "Indiedroid Nova";
13	compatible = "indiedroid,nova", "rockchip,rk3588s";
14
15	adc-keys-0 {
16		compatible = "adc-keys";
17		io-channel-names = "buttons";
18		io-channels = <&saradc 0>;
19		keyup-threshold-microvolt = <1800000>;
20		poll-interval = <100>;
21
22		button-boot {
23			label = "boot";
24			linux,code = <KEY_PROG1>;
25			press-threshold-microvolt = <18000>;
26		};
27	};
28
29	adc-keys-1 {
30		compatible = "adc-keys";
31		io-channel-names = "buttons";
32		io-channels = <&saradc 1>;
33		keyup-threshold-microvolt = <1800000>;
34		poll-interval = <100>;
35
36		button-recovery {
37			label = "recovery";
38			linux,code = <KEY_PROG2>;
39			press-threshold-microvolt = <18000>;
40		};
41	};
42
43	aliases {
44		mmc0 = &sdhci;
45		mmc1 = &sdmmc;
46		mmc2 = &sdio;
47		serial2 = &uart2;
48	};
49
50	chosen {
51		stdout-path = "serial2:1500000n8";
52	};
53
54	sdio_pwrseq: sdio-pwrseq {
55		compatible = "mmc-pwrseq-simple";
56		clock-names = "ext_clock";
57		clocks = <&rtc_hym8563>;
58		pinctrl-0 = <&wifi_enable_h>;
59		pinctrl-names = "default";
60		post-power-on-delay-ms = <200>;
61		reset-gpios = <&gpio0 RK_PC7 GPIO_ACTIVE_LOW>;
62	};
63
64	sound {
65		compatible = "audio-graph-card";
66		label = "rockchip,es8388-codec";
67		widgets = "Microphone", "Mic Jack",
68			  "Headphone", "Headphones";
69		routing = "LINPUT2", "Mic Jack",
70			  "Headphones", "LOUT1",
71			  "Headphones", "ROUT1";
72		dais = <&i2s0_8ch_p0>;
73	};
74
75	vbus5v0_typec: vbus5v0-typec-regulator {
76		compatible = "regulator-fixed";
77		enable-active-high;
78		gpio = <&gpio4 RK_PA5 GPIO_ACTIVE_HIGH>;
79		pinctrl-0 = <&typec5v_pwren>;
80		pinctrl-names = "default";
81		regulator-name = "vbus5v0_typec";
82		regulator-min-microvolt = <5000000>;
83		regulator-max-microvolt = <5000000>;
84		vin-supply = <&vcc5v0_usb>;
85	};
86
87	vcc_1v1_nldo_s3: vcc-1v1-nldo-s3-regulator {
88		compatible = "regulator-fixed";
89		regulator-always-on;
90		regulator-boot-on;
91		regulator-max-microvolt = <1100000>;
92		regulator-min-microvolt = <1100000>;
93		regulator-name = "vcc_1v1_nldo_s3";
94		vin-supply = <&vcc5v0_sys>;
95	};
96
97	/* Regulator is enabled whenever vcc_1v8_s0 is above 1.6v */
98	vcc_3v3_s0: vcc-3v3-s0-regulator {
99		compatible = "regulator-fixed";
100		regulator-always-on;
101		regulator-boot-on;
102		regulator-max-microvolt = <3300000>;
103		regulator-min-microvolt = <3300000>;
104		regulator-name = "vcc_3v3_s0";
105		vin-supply = <&vcc_3v3_s3>;
106
107		regulator-state-mem {
108			regulator-off-in-suspend;
109		};
110	};
111
112	vcc5v0_sys: vcc5v0-sys-regulator {
113		compatible = "regulator-fixed";
114		regulator-always-on;
115		regulator-boot-on;
116		regulator-max-microvolt = <5000000>;
117		regulator-min-microvolt = <5000000>;
118		regulator-name = "vcc5v0_sys";
119	};
120
121	vcc5v0_usb: vcc5v0-usb-regulator {
122		compatible = "regulator-fixed";
123		regulator-always-on;
124		regulator-boot-on;
125		regulator-max-microvolt = <5000000>;
126		regulator-min-microvolt = <5000000>;
127		regulator-name = "vcc5v0_usb";
128		vin-supply = <&vcc5v0_usbdcin>;
129	};
130
131	vcc5v0_usbdcin: vcc5v0-usbdcin-regulator {
132		compatible = "regulator-fixed";
133		regulator-always-on;
134		regulator-boot-on;
135		regulator-max-microvolt = <5000000>;
136		regulator-min-microvolt = <5000000>;
137		regulator-name = "vcc5v0_usbdcin";
138	};
139};
140
141&combphy0_ps {
142	status = "okay";
143};
144
145&cpu_l0 {
146	cpu-supply = <&vdd_cpu_lit_s0>;
147};
148
149&cpu_l1 {
150	cpu-supply = <&vdd_cpu_lit_s0>;
151};
152
153&cpu_l2 {
154	cpu-supply = <&vdd_cpu_lit_s0>;
155};
156
157&cpu_l3 {
158	cpu-supply = <&vdd_cpu_lit_s0>;
159};
160
161&cpu_b0 {
162	cpu-supply = <&vdd_cpu_big0_s0>;
163};
164
165&cpu_b1 {
166	cpu-supply = <&vdd_cpu_big0_s0>;
167};
168
169&cpu_b2 {
170	cpu-supply = <&vdd_cpu_big1_s0>;
171};
172
173&cpu_b3 {
174	cpu-supply = <&vdd_cpu_big1_s0>;
175};
176
177/*
178 * Add labels for each GPIO pin exposed on the 40 pin header. Note that
179 * voltage of each GPIO pin could be either 3.3v or 1.8v (as noted by
180 * label).
181 */
182&gpio0 {
183	gpio-line-names = /* GPIO0 A0-A7 */
184			  "", "", "", "",
185			  "", "", "", "",
186			  /* GPIO0 B0-B7 */
187			  "", "", "", "",
188			  "", "", "", "",
189			  /* GPIO0 C0-C7 */
190			  "", "", "", "",
191			  "", "", "", "",
192			  /* GPIO0 D0-D7 */
193			  "HEADER_12_1v8", "", "", "HEADER_24_1v8",
194			  "", "", "", "";
195};
196
197&gpio1 {
198	gpio-line-names = /* GPIO1 A0-A7 */
199			  "HEADER_27_3v3", "HEADER_28_3v3", "", "",
200			  "HEADER_29_1v8", "", "HEADER_7_1v8", "",
201			  /* GPIO1 B0-B7 */
202			  "", "HEADER_31_1v8", "HEADER_33_1v8", "",
203			  "HEADER_11_1v8", "HEADER_13_1v8", "", "",
204			  /* GPIO1 C0-C7 */
205			  "", "", "", "",
206			  "", "", "", "",
207			  /* GPIO1 D0-D7 */
208			  "", "", "", "",
209			  "", "", "HEADER_5_3v3", "HEADER_3_3v3";
210};
211
212&gpio3 {
213	gpio-line-names = /* GPIO3 A0-A7 */
214			  "", "", "", "",
215			  "", "", "", "",
216			  /* GPIO3 B0-B7 */
217			  "HEADER_16_1v8", "HEADER_18_1v8", "", "",
218			  "", "", "", "HEADER_19_1v8",
219			  /* GPIO3 C0-C7 */
220			  "HEADER_21_1v8", "HEADER_23_1v8", "", "HEADER_26_1v8",
221			  "HEADER_15_1v8", "HEADER_22_1v8", "", "",
222			  /* GPIO3 D0-D7 */
223			  "", "", "", "",
224			  "", "", "", "";
225};
226
227&gpio4 {
228	gpio-line-names = /* GPIO4 A0-A7 */
229			  "", "", "HEADER_37_3v3", "HEADER_32_3v3",
230			  "HEADER_36_3v3", "", "HEADER_35_3v3", "HEADER_38_3v3",
231			  /* GPIO4 B0-B7 */
232			  "", "", "", "HEADER_40_3v3",
233			  "HEADER_8_3v3", "HEADER_10_3v3", "", "",
234			  /* GPIO4 C0-C7 */
235			  "", "", "", "",
236			  "", "", "", "",
237			  /* GPIO4 D0-D7 */
238			  "", "", "", "",
239			  "", "", "", "";
240};
241
242&i2c0 {
243	pinctrl-0 = <&i2c0m2_xfer>;
244	pinctrl-names = "default";
245	status = "okay";
246
247	vdd_cpu_big0_s0: regulator@42 {
248		compatible = "rockchip,rk8602";
249		reg = <0x42>;
250		regulator-always-on;
251		regulator-boot-on;
252		regulator-max-microvolt = <1050000>;
253		regulator-min-microvolt = <550000>;
254		regulator-name = "vdd_cpu_big0_s0";
255		regulator-ramp-delay = <2300>;
256		fcs,suspend-voltage-selector = <1>;
257		vin-supply = <&vcc5v0_sys>;
258
259		regulator-state-mem {
260			regulator-off-in-suspend;
261		};
262	};
263
264	vdd_cpu_big1_s0: regulator@43 {
265		compatible = "rockchip,rk8603", "rockchip,rk8602";
266		reg = <0x43>;
267		regulator-always-on;
268		regulator-boot-on;
269		regulator-max-microvolt = <1050000>;
270		regulator-min-microvolt = <550000>;
271		regulator-name = "vdd_cpu_big1_s0";
272		regulator-ramp-delay = <2300>;
273		fcs,suspend-voltage-selector = <1>;
274		vin-supply = <&vcc5v0_sys>;
275
276		regulator-state-mem {
277			regulator-off-in-suspend;
278		};
279	};
280};
281
282&i2c2 {
283	status = "okay";
284
285	vdd_npu_s0: regulator@42 {
286		compatible = "rockchip,rk8602";
287		reg = <0x42>;
288		regulator-always-on;
289		regulator-boot-on;
290		regulator-max-microvolt = <950000>;
291		regulator-min-microvolt = <550000>;
292		regulator-name = "vdd_npu_s0";
293		regulator-ramp-delay = <2300>;
294		fcs,suspend-voltage-selector = <1>;
295		vin-supply = <&vcc5v0_sys>;
296
297		regulator-state-mem {
298			regulator-off-in-suspend;
299		};
300	};
301};
302
303&i2c6 {
304	pinctrl-0 = <&i2c6m3_xfer>;
305	status = "okay";
306
307	fusb302: typec-portc@22 {
308		compatible = "fcs,fusb302";
309		reg = <0x22>;
310		interrupt-parent = <&gpio0>;
311		interrupts = <RK_PC4 IRQ_TYPE_LEVEL_LOW>;
312		pinctrl-0 = <&usbc0_int>;
313		pinctrl-names = "default";
314		vbus-supply = <&vbus5v0_typec>;
315
316		connector {
317			compatible = "usb-c-connector";
318			data-role = "dual";
319			label = "USB-C";
320			power-role = "dual";
321			try-power-role = "sink";
322			source-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>;
323			sink-pdos = <PDO_FIXED(5000, 1000, PDO_FIXED_USB_COMM)>;
324			op-sink-microwatt = <1000000>;
325		};
326	};
327
328	rtc_hym8563: rtc@51 {
329		compatible = "haoyu,hym8563";
330		reg = <0x51>;
331		#clock-cells = <0>;
332		clock-output-names = "hym8563";
333		interrupt-parent = <&gpio0>;
334		interrupts = <RK_PB0 IRQ_TYPE_LEVEL_LOW>;
335		pinctrl-0 = <&hym8563_int>;
336		pinctrl-names = "default";
337		wakeup-source;
338	};
339};
340
341&i2c7 {
342	pinctrl-0 = <&i2c7m0_xfer>;
343	status = "okay";
344
345	es8388: audio-codec@11 {
346		compatible = "everest,es8388";
347		reg = <0x11>;
348		assigned-clock-rates = <12288000>;
349		assigned-clocks = <&cru I2S0_8CH_MCLKOUT>;
350		AVDD-supply = <&vcc_3v3_s3>;
351		clock-names = "mclk";
352		clocks = <&cru I2S0_8CH_MCLKOUT>;
353		DVDD-supply = <&vcc_1v8_s3>;
354		HPVDD-supply = <&vcc_3v3_s3>;
355		PVDD-supply = <&vcc_1v8_s3>;
356		#sound-dai-cells = <0>;
357
358		port {
359			es8388_p0_0: endpoint {
360				remote-endpoint = <&i2s0_8ch_p0_0>;
361			};
362		};
363	};
364};
365
366&i2s0_8ch {
367	pinctrl-names = "default";
368	pinctrl-0 = <&i2s0_lrck
369		     &i2s0_mclk
370		     &i2s0_sclk
371		     &i2s0_sdi0
372		     &i2s0_sdo0>;
373	status = "okay";
374
375	i2s0_8ch_p0: port {
376		i2s0_8ch_p0_0: endpoint {
377			dai-format = "i2s";
378			mclk-fs = <256>;
379			remote-endpoint = <&es8388_p0_0>;
380		};
381	};
382};
383
384&pcie2x1l2 {
385	pinctrl-0 = <&rtl8111_perstb>;
386	pinctrl-names = "default";
387	status = "okay";
388};
389
390&pinctrl {
391	bluetooth-pins {
392		bt_reset: bt-reset {
393			rockchip,pins =
394				<0 RK_PD4 RK_FUNC_GPIO &pcfg_pull_none>;
395		};
396
397		bt_wake_dev: bt-wake-dev {
398			rockchip,pins =
399				<0 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>;
400		};
401
402		bt_wake_host: bt-wake-host {
403			rockchip,pins =
404				<0 RK_PC5 RK_FUNC_GPIO &pcfg_pull_down>;
405		};
406	};
407
408	ethernet-pins {
409		rtl8111_perstb: rtl8111-perstb {
410			rockchip,pins = <3 RK_PD1 RK_FUNC_GPIO &pcfg_pull_up>;
411		};
412	};
413
414	hym8563 {
415
416		hym8563_int: hym8563-int {
417			rockchip,pins =
418				<0 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>;
419		};
420	};
421
422	sdio-pwrseq {
423		wifi_enable_h: wifi-enable-h {
424			rockchip,pins =
425				<0 RK_PC7 RK_FUNC_GPIO &pcfg_pull_none>;
426		};
427	};
428
429	usb-typec {
430		usbc0_int: usbc0-int {
431			rockchip,pins =
432				<0 RK_PC4 RK_FUNC_GPIO &pcfg_pull_up>;
433		};
434
435		typec5v_pwren: typec5v-pwren {
436			rockchip,pins =
437				<4 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>;
438		};
439	};
440};
441
442&saradc {
443	vref-supply = <&vcca_1v8_s0>;
444	status = "okay";
445};
446
447/* HS400 modes seemed to cause io errors. */
448&sdhci {
449	bus-width = <8>;
450	no-mmc-hs400;
451	no-sd;
452	no-sdio;
453	non-removable;
454	vmmc-supply = <&vcc_3v3_s0>;
455	vqmmc-supply = <&vcc_1v8_s3>;
456	status = "okay";
457};
458
459&sdio {
460	bus-width = <4>;
461	cap-sd-highspeed;
462	cap-sdio-irq;
463	disable-wp;
464	keep-power-in-suspend;
465	max-frequency = <100000000>;
466	mmc-pwrseq = <&sdio_pwrseq>;
467	no-mmc;
468	no-sd;
469	non-removable;
470	sd-uhs-sdr104;
471	vmmc-supply = <&vcc_3v3_s3>;
472	vqmmc-supply = <&vcc_1v8_s3>;
473	status = "okay";
474};
475
476&sdmmc {
477	bus-width = <4>;
478	cap-mmc-highspeed;
479	cap-sd-highspeed;
480	disable-wp;
481	no-sdio;
482	no-mmc;
483	sd-uhs-sdr104;
484	vmmc-supply = <&vcc_3v3_s3>;
485	vqmmc-supply = <&vccio_sd_s0>;
486	status = "okay";
487};
488
489&spi2 {
490	#address-cells = <1>;
491	assigned-clocks = <&cru CLK_SPI2>;
492	assigned-clock-rates = <200000000>;
493	num-cs = <1>;
494	pinctrl-0 = <&spi2m2_pins>, <&spi2m2_cs0>;
495	pinctrl-names = "default";
496	#size-cells = <0>;
497	status = "okay";
498
499	pmic@0 {
500		compatible = "rockchip,rk806";
501		reg = <0x0>;
502		#gpio-cells = <2>;
503		gpio-controller;
504		interrupt-parent = <&gpio0>;
505		interrupts = <RK_PA7 IRQ_TYPE_LEVEL_LOW>;
506		pinctrl-0 = <&pmic_pins>, <&rk806_dvs1_null>,
507			    <&rk806_dvs2_null>, <&rk806_dvs3_null>;
508		pinctrl-names = "default";
509		spi-max-frequency = <1000000>;
510
511		vcc1-supply = <&vcc5v0_sys>;
512		vcc2-supply = <&vcc5v0_sys>;
513		vcc3-supply = <&vcc5v0_sys>;
514		vcc4-supply = <&vcc5v0_sys>;
515		vcc5-supply = <&vcc5v0_sys>;
516		vcc6-supply = <&vcc5v0_sys>;
517		vcc7-supply = <&vcc5v0_sys>;
518		vcc8-supply = <&vcc5v0_sys>;
519		vcc9-supply = <&vcc5v0_sys>;
520		vcc10-supply = <&vcc5v0_sys>;
521		vcc11-supply = <&vcc_2v0_pldo_s3>;
522		vcc12-supply = <&vcc5v0_sys>;
523		vcc13-supply = <&vcc_1v1_nldo_s3>;
524		vcc14-supply = <&vcc_1v1_nldo_s3>;
525		vcca-supply = <&vcc5v0_sys>;
526
527		rk806_dvs1_null: dvs1-null-pins {
528			pins = "gpio_pwrctrl2";
529			function = "pin_fun0";
530		};
531
532		rk806_dvs2_null: dvs2-null-pins {
533			pins = "gpio_pwrctrl2";
534			function = "pin_fun0";
535		};
536
537		rk806_dvs3_null: dvs3-null-pins {
538			pins = "gpio_pwrctrl3";
539			function = "pin_fun0";
540		};
541
542		regulators {
543			vdd_gpu_s0: dcdc-reg1 {
544				regulator-boot-on;
545				regulator-enable-ramp-delay = <400>;
546				regulator-max-microvolt = <950000>;
547				regulator-min-microvolt = <550000>;
548				regulator-name = "vdd_gpu_s0";
549				regulator-ramp-delay = <12500>;
550				regulator-state-mem {
551					regulator-off-in-suspend;
552				};
553			};
554
555			vdd_cpu_lit_s0: dcdc-reg2 {
556				regulator-always-on;
557				regulator-boot-on;
558				regulator-max-microvolt = <950000>;
559				regulator-min-microvolt = <550000>;
560				regulator-ramp-delay = <12500>;
561				regulator-name = "vdd_cpu_lit_s0";
562				regulator-state-mem {
563					regulator-off-in-suspend;
564				};
565			};
566
567			vdd_logic_s0: dcdc-reg3 {
568				regulator-always-on;
569				regulator-boot-on;
570				regulator-max-microvolt = <750000>;
571				regulator-min-microvolt = <675000>;
572				regulator-name = "vdd_logic_s0";
573				regulator-ramp-delay = <12500>;
574				regulator-state-mem {
575					regulator-on-in-suspend;
576					regulator-suspend-microvolt = <750000>;
577				};
578			};
579
580			vdd_vdenc_s0: dcdc-reg4 {
581				regulator-always-on;
582				regulator-boot-on;
583				regulator-max-microvolt = <950000>;
584				regulator-min-microvolt = <550000>;
585				regulator-name = "vdd_vdenc_s0";
586				regulator-ramp-delay = <12500>;
587				regulator-state-mem {
588					regulator-off-in-suspend;
589				};
590			};
591
592			vdd_ddr_s0: dcdc-reg5 {
593				regulator-always-on;
594				regulator-boot-on;
595				regulator-min-microvolt = <750000>;
596				regulator-max-microvolt = <850000>;
597				regulator-ramp-delay = <12500>;
598				regulator-name = "vdd_ddr_s0";
599				regulator-state-mem {
600					regulator-off-in-suspend;
601					regulator-suspend-microvolt = <850000>;
602				};
603			};
604
605			vdd2_ddr_s3: dcdc-reg6 {
606				regulator-always-on;
607				regulator-boot-on;
608				regulator-max-microvolt = <1100000>;
609				regulator-min-microvolt = <1100000>;
610				regulator-name = "vdd2_ddr_s3";
611				regulator-state-mem {
612					regulator-on-in-suspend;
613				};
614			};
615
616			vcc_2v0_pldo_s3: dcdc-reg7 {
617				regulator-always-on;
618				regulator-boot-on;
619				regulator-max-microvolt = <2000000>;
620				regulator-min-microvolt = <2000000>;
621				regulator-name = "vdd_2v0_pldo_s3";
622				regulator-state-mem {
623					regulator-on-in-suspend;
624					regulator-suspend-microvolt = <2000000>;
625				};
626			};
627
628			vcc_3v3_s3: dcdc-reg8 {
629				regulator-always-on;
630				regulator-boot-on;
631				regulator-max-microvolt = <3300000>;
632				regulator-min-microvolt = <3300000>;
633				regulator-name = "vcc_3v3_s3";
634				regulator-state-mem {
635					regulator-on-in-suspend;
636					regulator-suspend-microvolt = <3300000>;
637				};
638			};
639
640			vddq_ddr_s0: dcdc-reg9 {
641				regulator-always-on;
642				regulator-boot-on;
643				regulator-max-microvolt = <600000>;
644				regulator-min-microvolt = <600000>;
645				regulator-name = "vddq_ddr_s0";
646				regulator-state-mem {
647					regulator-off-in-suspend;
648				};
649			};
650
651			vcc_1v8_s3: dcdc-reg10 {
652				regulator-always-on;
653				regulator-boot-on;
654				regulator-max-microvolt = <1800000>;
655				regulator-min-microvolt = <1800000>;
656				regulator-name = "vcc_1v8_s3";
657				regulator-state-mem {
658					regulator-on-in-suspend;
659					regulator-suspend-microvolt = <1800000>;
660				};
661			};
662
663			vcc_1v8_s0: pldo-reg1 {
664				regulator-always-on;
665				regulator-boot-on;
666				regulator-max-microvolt = <1800000>;
667				regulator-min-microvolt = <1800000>;
668				regulator-name = "vcc_1v8_s0";
669				regulator-state-mem {
670					regulator-off-in-suspend;
671				};
672			};
673
674			vcca_1v8_s0: pldo-reg2 {
675				regulator-always-on;
676				regulator-boot-on;
677				regulator-max-microvolt = <1800000>;
678				regulator-min-microvolt = <1800000>;
679				regulator-name = "vcca_1v8_s0";
680				regulator-state-mem {
681					regulator-off-in-suspend;
682					regulator-suspend-microvolt = <1800000>;
683				};
684			};
685
686			vdda_1v2_s0: pldo-reg3 {
687				regulator-always-on;
688				regulator-boot-on;
689				regulator-max-microvolt = <1200000>;
690				regulator-min-microvolt = <1200000>;
691				regulator-name = "vdda_1v2_s0";
692				regulator-state-mem {
693					regulator-off-in-suspend;
694				};
695			};
696
697			vcca_3v3_s0: pldo-reg4 {
698				regulator-always-on;
699				regulator-boot-on;
700				regulator-max-microvolt = <3300000>;
701				regulator-min-microvolt = <3300000>;
702				regulator-name = "vcca_3v3_s0";
703				regulator-state-mem {
704					regulator-off-in-suspend;
705				};
706			};
707
708			vccio_sd_s0: pldo-reg5 {
709				regulator-always-on;
710				regulator-boot-on;
711				regulator-max-microvolt = <3300000>;
712				regulator-min-microvolt = <1800000>;
713				regulator-name = "vccio_sd_s0";
714				regulator-state-mem {
715					regulator-off-in-suspend;
716				};
717			};
718
719			vcc_1v8_s3_pldo6: pldo-reg6 {
720				regulator-always-on;
721				regulator-boot-on;
722				regulator-max-microvolt = <1800000>;
723				regulator-min-microvolt = <1800000>;
724				regulator-name = "vcc_1v8_s3_pldo6";
725				regulator-state-mem {
726					regulator-on-in-suspend;
727					regulator-suspend-microvolt = <1800000>;
728				};
729			};
730
731			vdd_0v75_s3: nldo-reg1 {
732				regulator-always-on;
733				regulator-boot-on;
734				regulator-max-microvolt = <750000>;
735				regulator-min-microvolt = <750000>;
736				regulator-name = "vdd_0v75_s3";
737				regulator-state-mem {
738					regulator-on-in-suspend;
739					regulator-suspend-microvolt = <750000>;
740				};
741			};
742
743			vdda_ddr_pll_s0: nldo-reg2 {
744				regulator-always-on;
745				regulator-boot-on;
746				regulator-max-microvolt = <850000>;
747				regulator-min-microvolt = <850000>;
748				regulator-name = "vdda_ddr_pll_s0";
749				regulator-state-mem {
750					regulator-off-in-suspend;
751					regulator-suspend-microvolt = <850000>;
752				};
753			};
754
755			avdd_0v75_s0: nldo-reg3 {
756				regulator-always-on;
757				regulator-boot-on;
758				regulator-max-microvolt = <750000>;
759				regulator-min-microvolt = <750000>;
760				regulator-name = "avdd_0v75_s0";
761				regulator-state-mem {
762					regulator-off-in-suspend;
763				};
764			};
765
766			vdda_0v85_s0: nldo-reg4 {
767				regulator-always-on;
768				regulator-boot-on;
769				regulator-min-microvolt = <850000>;
770				regulator-max-microvolt = <850000>;
771				regulator-name = "vdda_0v85_s0";
772				regulator-state-mem {
773					regulator-off-in-suspend;
774				};
775			};
776
777			/* Schematics show not in use */
778			nldo-reg5 {
779			};
780		};
781	};
782};
783
784&tsadc {
785	status = "okay";
786};
787
788&u2phy2 {
789	status = "okay";
790};
791
792&u2phy2_host {
793	phy-supply = <&vcc5v0_usb>;
794	status = "okay";
795};
796
797&u2phy3 {
798	status = "okay";
799};
800
801&u2phy3_host {
802	phy-supply = <&vcc5v0_usb>;
803	status = "okay";
804};
805
806&uart2 {
807	pinctrl-0 = <&uart2m0_xfer>;
808	status = "okay";
809};
810
811/* DMA seems to interfere with bluetooth device normal operation. */
812&uart9 {
813	pinctrl-0 = <&uart9m2_xfer>, <&uart9m2_ctsn>, <&uart9m2_rtsn>;
814	pinctrl-names = "default";
815	/delete-property/ dma-names;
816	/delete-property/ dmas;
817	uart-has-rtscts;
818	status = "okay";
819
820	bluetooth {
821		compatible = "realtek,rtl8821cs-bt",
822			     "realtek,rtl8723bs-bt";
823		device-wake-gpios = <&gpio0 RK_PC6 GPIO_ACTIVE_HIGH>;
824		enable-gpios = <&gpio0 RK_PD4 GPIO_ACTIVE_HIGH>;
825		host-wake-gpios = <&gpio0 RK_PC5 GPIO_ACTIVE_HIGH>;
826		pinctrl-0 = <&bt_reset>, <&bt_wake_dev>, <&bt_wake_host>;
827		pinctrl-names = "default";
828	};
829};
830
831&usb_host0_ehci {
832	status = "okay";
833};
834
835&usb_host0_ohci {
836	status = "okay";
837};
838
839&usb_host1_ehci {
840	status = "okay";
841};
842
843&usb_host1_ohci {
844	status = "okay";
845};
846