blob: d8c50fdcca3b57e50d70325e1d7a7efad2e314bd [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
Tom Rini6bb92fc2024-05-20 09:54:58 -0600144&combphy2_psu {
145 status = "okay";
146};
147
Tom Rini53633a82024-02-29 12:33:36 -0500148&cpu_l0 {
149 cpu-supply = <&vdd_cpu_lit_s0>;
150};
151
152&cpu_l1 {
153 cpu-supply = <&vdd_cpu_lit_s0>;
154};
155
156&cpu_l2 {
157 cpu-supply = <&vdd_cpu_lit_s0>;
158};
159
160&cpu_l3 {
161 cpu-supply = <&vdd_cpu_lit_s0>;
162};
163
164&cpu_b0 {
165 cpu-supply = <&vdd_cpu_big0_s0>;
166};
167
168&cpu_b1 {
169 cpu-supply = <&vdd_cpu_big0_s0>;
170};
171
172&cpu_b2 {
173 cpu-supply = <&vdd_cpu_big1_s0>;
174};
175
176&cpu_b3 {
177 cpu-supply = <&vdd_cpu_big1_s0>;
178};
179
180/*
181 * Add labels for each GPIO pin exposed on the 40 pin header. Note that
182 * voltage of each GPIO pin could be either 3.3v or 1.8v (as noted by
183 * label).
184 */
185&gpio0 {
186 gpio-line-names = /* GPIO0 A0-A7 */
187 "", "", "", "",
188 "", "", "", "",
189 /* GPIO0 B0-B7 */
190 "", "", "", "",
191 "", "", "", "",
192 /* GPIO0 C0-C7 */
193 "", "", "", "",
194 "", "", "", "",
195 /* GPIO0 D0-D7 */
196 "HEADER_12_1v8", "", "", "HEADER_24_1v8",
197 "", "", "", "";
198};
199
200&gpio1 {
201 gpio-line-names = /* GPIO1 A0-A7 */
Tom Rini93743d22024-04-01 09:08:13 -0400202 "HEADER_27_3v3", "", "", "",
Tom Rini53633a82024-02-29 12:33:36 -0500203 "HEADER_29_1v8", "", "HEADER_7_1v8", "",
204 /* GPIO1 B0-B7 */
205 "", "HEADER_31_1v8", "HEADER_33_1v8", "",
206 "HEADER_11_1v8", "HEADER_13_1v8", "", "",
207 /* GPIO1 C0-C7 */
Tom Rini93743d22024-04-01 09:08:13 -0400208 "", "HEADER_28_3v3", "", "",
Tom Rini53633a82024-02-29 12:33:36 -0500209 "", "", "", "",
210 /* GPIO1 D0-D7 */
211 "", "", "", "",
212 "", "", "HEADER_5_3v3", "HEADER_3_3v3";
213};
214
215&gpio3 {
216 gpio-line-names = /* GPIO3 A0-A7 */
217 "", "", "", "",
218 "", "", "", "",
219 /* GPIO3 B0-B7 */
220 "HEADER_16_1v8", "HEADER_18_1v8", "", "",
221 "", "", "", "HEADER_19_1v8",
222 /* GPIO3 C0-C7 */
223 "HEADER_21_1v8", "HEADER_23_1v8", "", "HEADER_26_1v8",
224 "HEADER_15_1v8", "HEADER_22_1v8", "", "",
225 /* GPIO3 D0-D7 */
226 "", "", "", "",
227 "", "", "", "";
228};
229
230&gpio4 {
231 gpio-line-names = /* GPIO4 A0-A7 */
Tom Rini93743d22024-04-01 09:08:13 -0400232 "", "", "HEADER_37_3v3", "HEADER_8_3v3",
233 "HEADER_10_3v3", "", "HEADER_32_3v3", "HEADER_35_3v3",
Tom Rini53633a82024-02-29 12:33:36 -0500234 /* GPIO4 B0-B7 */
235 "", "", "", "HEADER_40_3v3",
Tom Rini93743d22024-04-01 09:08:13 -0400236 "HEADER_38_3v3", "HEADER_36_3v3", "", "",
Tom Rini53633a82024-02-29 12:33:36 -0500237 /* GPIO4 C0-C7 */
238 "", "", "", "",
239 "", "", "", "",
240 /* GPIO4 D0-D7 */
241 "", "", "", "",
242 "", "", "", "";
243};
244
245&i2c0 {
246 pinctrl-0 = <&i2c0m2_xfer>;
247 pinctrl-names = "default";
248 status = "okay";
249
250 vdd_cpu_big0_s0: regulator@42 {
251 compatible = "rockchip,rk8602";
252 reg = <0x42>;
253 regulator-always-on;
254 regulator-boot-on;
255 regulator-max-microvolt = <1050000>;
256 regulator-min-microvolt = <550000>;
257 regulator-name = "vdd_cpu_big0_s0";
258 regulator-ramp-delay = <2300>;
259 fcs,suspend-voltage-selector = <1>;
260 vin-supply = <&vcc5v0_sys>;
261
262 regulator-state-mem {
263 regulator-off-in-suspend;
264 };
265 };
266
267 vdd_cpu_big1_s0: regulator@43 {
268 compatible = "rockchip,rk8603", "rockchip,rk8602";
269 reg = <0x43>;
270 regulator-always-on;
271 regulator-boot-on;
272 regulator-max-microvolt = <1050000>;
273 regulator-min-microvolt = <550000>;
274 regulator-name = "vdd_cpu_big1_s0";
275 regulator-ramp-delay = <2300>;
276 fcs,suspend-voltage-selector = <1>;
277 vin-supply = <&vcc5v0_sys>;
278
279 regulator-state-mem {
280 regulator-off-in-suspend;
281 };
282 };
283};
284
285&i2c2 {
286 status = "okay";
287
288 vdd_npu_s0: regulator@42 {
289 compatible = "rockchip,rk8602";
290 reg = <0x42>;
291 regulator-always-on;
292 regulator-boot-on;
293 regulator-max-microvolt = <950000>;
294 regulator-min-microvolt = <550000>;
295 regulator-name = "vdd_npu_s0";
296 regulator-ramp-delay = <2300>;
297 fcs,suspend-voltage-selector = <1>;
298 vin-supply = <&vcc5v0_sys>;
299
300 regulator-state-mem {
301 regulator-off-in-suspend;
302 };
303 };
304};
305
306&i2c6 {
307 pinctrl-0 = <&i2c6m3_xfer>;
308 status = "okay";
309
310 fusb302: typec-portc@22 {
311 compatible = "fcs,fusb302";
312 reg = <0x22>;
313 interrupt-parent = <&gpio0>;
314 interrupts = <RK_PC4 IRQ_TYPE_LEVEL_LOW>;
315 pinctrl-0 = <&usbc0_int>;
316 pinctrl-names = "default";
317 vbus-supply = <&vbus5v0_typec>;
318
Tom Rini762f85b2024-07-20 11:15:10 -0600319 usb_con: connector {
Tom Rini53633a82024-02-29 12:33:36 -0500320 compatible = "usb-c-connector";
321 data-role = "dual";
322 label = "USB-C";
323 power-role = "dual";
324 try-power-role = "sink";
325 source-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>;
326 sink-pdos = <PDO_FIXED(5000, 1000, PDO_FIXED_USB_COMM)>;
327 op-sink-microwatt = <1000000>;
Tom Rini762f85b2024-07-20 11:15:10 -0600328
329 ports {
330 #address-cells = <1>;
331 #size-cells = <0>;
332
333 port@0 {
334 reg = <0>;
335 usbc0_orien_sw: endpoint {
336 remote-endpoint = <&usbdp_phy0_orientation_switch>;
337 };
338 };
339
340 port@1 {
341 reg = <1>;
342 usbc0_role_sw: endpoint {
343 remote-endpoint = <&dwc3_0_role_switch>;
344 };
345 };
346
347 port@2 {
348 reg = <2>;
349 dp_altmode_mux: endpoint {
350 remote-endpoint = <&usbdp_phy0_dp_altmode_mux>;
351 };
352 };
353 };
Tom Rini53633a82024-02-29 12:33:36 -0500354 };
355 };
356
357 rtc_hym8563: rtc@51 {
358 compatible = "haoyu,hym8563";
359 reg = <0x51>;
360 #clock-cells = <0>;
361 clock-output-names = "hym8563";
362 interrupt-parent = <&gpio0>;
363 interrupts = <RK_PB0 IRQ_TYPE_LEVEL_LOW>;
364 pinctrl-0 = <&hym8563_int>;
365 pinctrl-names = "default";
366 wakeup-source;
367 };
368};
369
370&i2c7 {
371 pinctrl-0 = <&i2c7m0_xfer>;
372 status = "okay";
373
374 es8388: audio-codec@11 {
375 compatible = "everest,es8388";
376 reg = <0x11>;
377 assigned-clock-rates = <12288000>;
378 assigned-clocks = <&cru I2S0_8CH_MCLKOUT>;
379 AVDD-supply = <&vcc_3v3_s3>;
380 clock-names = "mclk";
381 clocks = <&cru I2S0_8CH_MCLKOUT>;
382 DVDD-supply = <&vcc_1v8_s3>;
383 HPVDD-supply = <&vcc_3v3_s3>;
384 PVDD-supply = <&vcc_1v8_s3>;
385 #sound-dai-cells = <0>;
386
387 port {
388 es8388_p0_0: endpoint {
389 remote-endpoint = <&i2s0_8ch_p0_0>;
390 };
391 };
392 };
393};
394
395&i2s0_8ch {
396 pinctrl-names = "default";
397 pinctrl-0 = <&i2s0_lrck
398 &i2s0_mclk
399 &i2s0_sclk
400 &i2s0_sdi0
401 &i2s0_sdo0>;
402 status = "okay";
403
404 i2s0_8ch_p0: port {
405 i2s0_8ch_p0_0: endpoint {
406 dai-format = "i2s";
407 mclk-fs = <256>;
408 remote-endpoint = <&es8388_p0_0>;
409 };
410 };
411};
412
413&pcie2x1l2 {
414 pinctrl-0 = <&rtl8111_perstb>;
415 pinctrl-names = "default";
416 status = "okay";
417};
418
419&pinctrl {
420 bluetooth-pins {
421 bt_reset: bt-reset {
422 rockchip,pins =
423 <0 RK_PD4 RK_FUNC_GPIO &pcfg_pull_none>;
424 };
425
426 bt_wake_dev: bt-wake-dev {
427 rockchip,pins =
428 <0 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>;
429 };
430
431 bt_wake_host: bt-wake-host {
432 rockchip,pins =
433 <0 RK_PC5 RK_FUNC_GPIO &pcfg_pull_down>;
434 };
435 };
436
437 ethernet-pins {
438 rtl8111_perstb: rtl8111-perstb {
439 rockchip,pins = <3 RK_PD1 RK_FUNC_GPIO &pcfg_pull_up>;
440 };
441 };
442
443 hym8563 {
444
445 hym8563_int: hym8563-int {
446 rockchip,pins =
447 <0 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>;
448 };
449 };
450
451 sdio-pwrseq {
452 wifi_enable_h: wifi-enable-h {
453 rockchip,pins =
454 <0 RK_PC7 RK_FUNC_GPIO &pcfg_pull_none>;
455 };
456 };
457
458 usb-typec {
459 usbc0_int: usbc0-int {
460 rockchip,pins =
461 <0 RK_PC4 RK_FUNC_GPIO &pcfg_pull_up>;
462 };
463
464 typec5v_pwren: typec5v-pwren {
465 rockchip,pins =
466 <4 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>;
467 };
468 };
469};
470
471&saradc {
472 vref-supply = <&vcca_1v8_s0>;
473 status = "okay";
474};
475
476/* HS400 modes seemed to cause io errors. */
477&sdhci {
478 bus-width = <8>;
479 no-mmc-hs400;
480 no-sd;
481 no-sdio;
482 non-removable;
483 vmmc-supply = <&vcc_3v3_s0>;
484 vqmmc-supply = <&vcc_1v8_s3>;
485 status = "okay";
486};
487
488&sdio {
489 bus-width = <4>;
490 cap-sd-highspeed;
491 cap-sdio-irq;
492 disable-wp;
493 keep-power-in-suspend;
494 max-frequency = <100000000>;
495 mmc-pwrseq = <&sdio_pwrseq>;
496 no-mmc;
497 no-sd;
498 non-removable;
499 sd-uhs-sdr104;
500 vmmc-supply = <&vcc_3v3_s3>;
501 vqmmc-supply = <&vcc_1v8_s3>;
502 status = "okay";
503};
504
505&sdmmc {
506 bus-width = <4>;
507 cap-mmc-highspeed;
508 cap-sd-highspeed;
509 disable-wp;
510 no-sdio;
511 no-mmc;
512 sd-uhs-sdr104;
513 vmmc-supply = <&vcc_3v3_s3>;
514 vqmmc-supply = <&vccio_sd_s0>;
515 status = "okay";
516};
517
518&spi2 {
519 #address-cells = <1>;
520 assigned-clocks = <&cru CLK_SPI2>;
521 assigned-clock-rates = <200000000>;
522 num-cs = <1>;
523 pinctrl-0 = <&spi2m2_pins>, <&spi2m2_cs0>;
524 pinctrl-names = "default";
525 #size-cells = <0>;
526 status = "okay";
527
528 pmic@0 {
529 compatible = "rockchip,rk806";
530 reg = <0x0>;
531 #gpio-cells = <2>;
532 gpio-controller;
533 interrupt-parent = <&gpio0>;
534 interrupts = <RK_PA7 IRQ_TYPE_LEVEL_LOW>;
535 pinctrl-0 = <&pmic_pins>, <&rk806_dvs1_null>,
536 <&rk806_dvs2_null>, <&rk806_dvs3_null>;
537 pinctrl-names = "default";
538 spi-max-frequency = <1000000>;
539
540 vcc1-supply = <&vcc5v0_sys>;
541 vcc2-supply = <&vcc5v0_sys>;
542 vcc3-supply = <&vcc5v0_sys>;
543 vcc4-supply = <&vcc5v0_sys>;
544 vcc5-supply = <&vcc5v0_sys>;
545 vcc6-supply = <&vcc5v0_sys>;
546 vcc7-supply = <&vcc5v0_sys>;
547 vcc8-supply = <&vcc5v0_sys>;
548 vcc9-supply = <&vcc5v0_sys>;
549 vcc10-supply = <&vcc5v0_sys>;
550 vcc11-supply = <&vcc_2v0_pldo_s3>;
551 vcc12-supply = <&vcc5v0_sys>;
552 vcc13-supply = <&vcc_1v1_nldo_s3>;
553 vcc14-supply = <&vcc_1v1_nldo_s3>;
554 vcca-supply = <&vcc5v0_sys>;
555
556 rk806_dvs1_null: dvs1-null-pins {
Tom Rini762f85b2024-07-20 11:15:10 -0600557 pins = "gpio_pwrctrl1";
Tom Rini53633a82024-02-29 12:33:36 -0500558 function = "pin_fun0";
559 };
560
561 rk806_dvs2_null: dvs2-null-pins {
562 pins = "gpio_pwrctrl2";
563 function = "pin_fun0";
564 };
565
566 rk806_dvs3_null: dvs3-null-pins {
567 pins = "gpio_pwrctrl3";
568 function = "pin_fun0";
569 };
570
571 regulators {
572 vdd_gpu_s0: dcdc-reg1 {
573 regulator-boot-on;
574 regulator-enable-ramp-delay = <400>;
575 regulator-max-microvolt = <950000>;
576 regulator-min-microvolt = <550000>;
577 regulator-name = "vdd_gpu_s0";
578 regulator-ramp-delay = <12500>;
579 regulator-state-mem {
580 regulator-off-in-suspend;
581 };
582 };
583
584 vdd_cpu_lit_s0: dcdc-reg2 {
585 regulator-always-on;
586 regulator-boot-on;
587 regulator-max-microvolt = <950000>;
588 regulator-min-microvolt = <550000>;
589 regulator-ramp-delay = <12500>;
590 regulator-name = "vdd_cpu_lit_s0";
591 regulator-state-mem {
592 regulator-off-in-suspend;
593 };
594 };
595
596 vdd_logic_s0: dcdc-reg3 {
597 regulator-always-on;
598 regulator-boot-on;
599 regulator-max-microvolt = <750000>;
600 regulator-min-microvolt = <675000>;
601 regulator-name = "vdd_logic_s0";
602 regulator-ramp-delay = <12500>;
603 regulator-state-mem {
604 regulator-on-in-suspend;
605 regulator-suspend-microvolt = <750000>;
606 };
607 };
608
609 vdd_vdenc_s0: dcdc-reg4 {
610 regulator-always-on;
611 regulator-boot-on;
612 regulator-max-microvolt = <950000>;
613 regulator-min-microvolt = <550000>;
614 regulator-name = "vdd_vdenc_s0";
615 regulator-ramp-delay = <12500>;
616 regulator-state-mem {
617 regulator-off-in-suspend;
618 };
619 };
620
621 vdd_ddr_s0: dcdc-reg5 {
622 regulator-always-on;
623 regulator-boot-on;
624 regulator-min-microvolt = <750000>;
625 regulator-max-microvolt = <850000>;
626 regulator-ramp-delay = <12500>;
627 regulator-name = "vdd_ddr_s0";
628 regulator-state-mem {
629 regulator-off-in-suspend;
630 regulator-suspend-microvolt = <850000>;
631 };
632 };
633
634 vdd2_ddr_s3: dcdc-reg6 {
635 regulator-always-on;
636 regulator-boot-on;
637 regulator-max-microvolt = <1100000>;
638 regulator-min-microvolt = <1100000>;
639 regulator-name = "vdd2_ddr_s3";
640 regulator-state-mem {
641 regulator-on-in-suspend;
642 };
643 };
644
645 vcc_2v0_pldo_s3: dcdc-reg7 {
646 regulator-always-on;
647 regulator-boot-on;
648 regulator-max-microvolt = <2000000>;
649 regulator-min-microvolt = <2000000>;
650 regulator-name = "vdd_2v0_pldo_s3";
651 regulator-state-mem {
652 regulator-on-in-suspend;
653 regulator-suspend-microvolt = <2000000>;
654 };
655 };
656
657 vcc_3v3_s3: dcdc-reg8 {
658 regulator-always-on;
659 regulator-boot-on;
660 regulator-max-microvolt = <3300000>;
661 regulator-min-microvolt = <3300000>;
662 regulator-name = "vcc_3v3_s3";
663 regulator-state-mem {
664 regulator-on-in-suspend;
665 regulator-suspend-microvolt = <3300000>;
666 };
667 };
668
669 vddq_ddr_s0: dcdc-reg9 {
670 regulator-always-on;
671 regulator-boot-on;
672 regulator-max-microvolt = <600000>;
673 regulator-min-microvolt = <600000>;
674 regulator-name = "vddq_ddr_s0";
675 regulator-state-mem {
676 regulator-off-in-suspend;
677 };
678 };
679
680 vcc_1v8_s3: dcdc-reg10 {
681 regulator-always-on;
682 regulator-boot-on;
683 regulator-max-microvolt = <1800000>;
684 regulator-min-microvolt = <1800000>;
685 regulator-name = "vcc_1v8_s3";
686 regulator-state-mem {
687 regulator-on-in-suspend;
688 regulator-suspend-microvolt = <1800000>;
689 };
690 };
691
692 vcc_1v8_s0: pldo-reg1 {
693 regulator-always-on;
694 regulator-boot-on;
695 regulator-max-microvolt = <1800000>;
696 regulator-min-microvolt = <1800000>;
697 regulator-name = "vcc_1v8_s0";
698 regulator-state-mem {
699 regulator-off-in-suspend;
700 };
701 };
702
703 vcca_1v8_s0: pldo-reg2 {
704 regulator-always-on;
705 regulator-boot-on;
706 regulator-max-microvolt = <1800000>;
707 regulator-min-microvolt = <1800000>;
708 regulator-name = "vcca_1v8_s0";
709 regulator-state-mem {
710 regulator-off-in-suspend;
711 regulator-suspend-microvolt = <1800000>;
712 };
713 };
714
715 vdda_1v2_s0: pldo-reg3 {
716 regulator-always-on;
717 regulator-boot-on;
718 regulator-max-microvolt = <1200000>;
719 regulator-min-microvolt = <1200000>;
720 regulator-name = "vdda_1v2_s0";
721 regulator-state-mem {
722 regulator-off-in-suspend;
723 };
724 };
725
726 vcca_3v3_s0: pldo-reg4 {
727 regulator-always-on;
728 regulator-boot-on;
729 regulator-max-microvolt = <3300000>;
730 regulator-min-microvolt = <3300000>;
731 regulator-name = "vcca_3v3_s0";
732 regulator-state-mem {
733 regulator-off-in-suspend;
734 };
735 };
736
737 vccio_sd_s0: pldo-reg5 {
738 regulator-always-on;
739 regulator-boot-on;
740 regulator-max-microvolt = <3300000>;
741 regulator-min-microvolt = <1800000>;
742 regulator-name = "vccio_sd_s0";
743 regulator-state-mem {
744 regulator-off-in-suspend;
745 };
746 };
747
748 vcc_1v8_s3_pldo6: pldo-reg6 {
749 regulator-always-on;
750 regulator-boot-on;
751 regulator-max-microvolt = <1800000>;
752 regulator-min-microvolt = <1800000>;
753 regulator-name = "vcc_1v8_s3_pldo6";
754 regulator-state-mem {
755 regulator-on-in-suspend;
756 regulator-suspend-microvolt = <1800000>;
757 };
758 };
759
760 vdd_0v75_s3: nldo-reg1 {
761 regulator-always-on;
762 regulator-boot-on;
763 regulator-max-microvolt = <750000>;
764 regulator-min-microvolt = <750000>;
765 regulator-name = "vdd_0v75_s3";
766 regulator-state-mem {
767 regulator-on-in-suspend;
768 regulator-suspend-microvolt = <750000>;
769 };
770 };
771
772 vdda_ddr_pll_s0: nldo-reg2 {
773 regulator-always-on;
774 regulator-boot-on;
775 regulator-max-microvolt = <850000>;
776 regulator-min-microvolt = <850000>;
777 regulator-name = "vdda_ddr_pll_s0";
778 regulator-state-mem {
779 regulator-off-in-suspend;
780 regulator-suspend-microvolt = <850000>;
781 };
782 };
783
784 avdd_0v75_s0: nldo-reg3 {
785 regulator-always-on;
786 regulator-boot-on;
787 regulator-max-microvolt = <750000>;
788 regulator-min-microvolt = <750000>;
789 regulator-name = "avdd_0v75_s0";
790 regulator-state-mem {
791 regulator-off-in-suspend;
792 };
793 };
794
795 vdda_0v85_s0: nldo-reg4 {
796 regulator-always-on;
797 regulator-boot-on;
798 regulator-min-microvolt = <850000>;
799 regulator-max-microvolt = <850000>;
800 regulator-name = "vdda_0v85_s0";
801 regulator-state-mem {
802 regulator-off-in-suspend;
803 };
804 };
805
806 /* Schematics show not in use */
807 nldo-reg5 {
808 };
809 };
810 };
811};
812
813&tsadc {
814 status = "okay";
815};
816
Tom Rini762f85b2024-07-20 11:15:10 -0600817&u2phy0 {
818 status = "okay";
819};
820
821&u2phy0_otg {
822 status = "okay";
823};
824
Tom Rini53633a82024-02-29 12:33:36 -0500825&u2phy2 {
826 status = "okay";
827};
828
829&u2phy2_host {
830 phy-supply = <&vcc5v0_usb>;
831 status = "okay";
832};
833
834&u2phy3 {
835 status = "okay";
836};
837
838&u2phy3_host {
839 phy-supply = <&vcc5v0_usb>;
840 status = "okay";
841};
842
843&uart2 {
844 pinctrl-0 = <&uart2m0_xfer>;
845 status = "okay";
846};
847
848/* DMA seems to interfere with bluetooth device normal operation. */
849&uart9 {
850 pinctrl-0 = <&uart9m2_xfer>, <&uart9m2_ctsn>, <&uart9m2_rtsn>;
851 pinctrl-names = "default";
852 /delete-property/ dma-names;
853 /delete-property/ dmas;
854 uart-has-rtscts;
855 status = "okay";
856
857 bluetooth {
858 compatible = "realtek,rtl8821cs-bt",
859 "realtek,rtl8723bs-bt";
860 device-wake-gpios = <&gpio0 RK_PC6 GPIO_ACTIVE_HIGH>;
861 enable-gpios = <&gpio0 RK_PD4 GPIO_ACTIVE_HIGH>;
862 host-wake-gpios = <&gpio0 RK_PC5 GPIO_ACTIVE_HIGH>;
863 pinctrl-0 = <&bt_reset>, <&bt_wake_dev>, <&bt_wake_host>;
864 pinctrl-names = "default";
865 };
866};
867
868&usb_host0_ehci {
869 status = "okay";
870};
871
872&usb_host0_ohci {
873 status = "okay";
874};
875
Tom Rini762f85b2024-07-20 11:15:10 -0600876&usb_host0_xhci {
877 usb-role-switch;
878 status = "okay";
879
880 port {
881 dwc3_0_role_switch: endpoint {
882 remote-endpoint = <&usbc0_role_sw>;
883 };
884 };
885};
886
Tom Rini53633a82024-02-29 12:33:36 -0500887&usb_host1_ehci {
888 status = "okay";
889};
890
891&usb_host1_ohci {
892 status = "okay";
893};
Tom Rini6bb92fc2024-05-20 09:54:58 -0600894
895&usb_host2_xhci {
896 status = "okay";
897};
Tom Rini762f85b2024-07-20 11:15:10 -0600898
899&usbdp_phy0 {
900 orientation-switch;
901 mode-switch;
902 sbu1-dc-gpios = <&gpio4 RK_PA0 GPIO_ACTIVE_HIGH>;
903 sbu2-dc-gpios = <&gpio4 RK_PA1 GPIO_ACTIVE_HIGH>;
904 rockchip,dp-lane-mux = <2 3>;
905 status = "okay";
906
907 port {
908 #address-cells = <1>;
909 #size-cells = <0>;
910
911 usbdp_phy0_orientation_switch: endpoint@0 {
912 reg = <0>;
913 remote-endpoint = <&usbc0_orien_sw>;
914 };
915
916 usbdp_phy0_dp_altmode_mux: endpoint@1 {
917 reg = <1>;
918 remote-endpoint = <&dp_altmode_mux>;
919 };
920 };
921};