blob: 3c227888685192456ec7b4e9d348f187f3259063 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001// 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;
Tom Rini53633a82024-02-29 12:33:36 -050047 };
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 */
Tom Rini93743d22024-04-01 09:08:13 -0400198 "HEADER_27_3v3", "", "", "",
Tom Rini53633a82024-02-29 12:33:36 -0500199 "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 */
Tom Rini93743d22024-04-01 09:08:13 -0400204 "", "HEADER_28_3v3", "", "",
Tom Rini53633a82024-02-29 12:33:36 -0500205 "", "", "", "",
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 */
Tom Rini93743d22024-04-01 09:08:13 -0400228 "", "", "HEADER_37_3v3", "HEADER_8_3v3",
229 "HEADER_10_3v3", "", "HEADER_32_3v3", "HEADER_35_3v3",
Tom Rini53633a82024-02-29 12:33:36 -0500230 /* GPIO4 B0-B7 */
231 "", "", "", "HEADER_40_3v3",
Tom Rini93743d22024-04-01 09:08:13 -0400232 "HEADER_38_3v3", "HEADER_36_3v3", "", "",
Tom Rini53633a82024-02-29 12:33:36 -0500233 /* 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};