blob: 60f00ceb630e14e5734c71c7e974712982265f2f [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;
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};