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