blob: 9090c5c99f2afba1eb6a2b8035cad986a6834528 [file] [log] [blame]
Elon Zhang7efb63e2024-03-11 11:57:33 +08001// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2/*
3 * Copyright (c) 2024 Rockchip Electronics Co., Ltd.
4 *
5 */
6
7/dts-v1/;
8
9#include <dt-bindings/gpio/gpio.h>
10#include <dt-bindings/input/input.h>
11#include <dt-bindings/pinctrl/rockchip.h>
12#include "rk3588.dtsi"
13
14/ {
15 model = "Rockchip Toybrick TB-RK3588X Board";
16 compatible = "rockchip,rk3588-toybrick-x0", "rockchip,rk3588";
17
18 aliases {
19 mmc0 = &sdhci;
20 };
21
22 chosen {
23 stdout-path = "serial2:1500000n8";
24 };
25
26 adc-keys {
27 compatible = "adc-keys";
28 io-channels = <&saradc 1>;
29 io-channel-names = "buttons";
30 keyup-threshold-microvolt = <1800000>;
31 poll-interval = <100>;
32
33 button-vol-up {
34 label = "Volume Up";
35 linux,code = <KEY_VOLUMEUP>;
36 press-threshold-microvolt = <17000>;
37 };
38
39 button-vol-down {
40 label = "Volume Down";
41 linux,code = <KEY_VOLUMEDOWN>;
42 press-threshold-microvolt = <417000>;
43 };
44
45 button-menu {
46 label = "Menu";
47 linux,code = <KEY_MENU>;
48 press-threshold-microvolt = <890000>;
49 };
50
51 button-escape {
52 label = "Escape";
53 linux,code = <KEY_ESC>;
54 press-threshold-microvolt = <1235000>;
55 };
56 };
57
58 backlight: backlight {
59 compatible = "pwm-backlight";
60 power-supply = <&vcc12v_dcin>;
61 pwms = <&pwm2 0 25000 0>;
62 };
63
64 pcie20_avdd0v85: pcie20-avdd0v85-regulator {
65 compatible = "regulator-fixed";
66 regulator-name = "pcie20_avdd0v85";
67 regulator-always-on;
68 regulator-boot-on;
69 regulator-min-microvolt = <850000>;
70 regulator-max-microvolt = <850000>;
71 vin-supply = <&vdd_0v85_s0>;
72 };
73
74 pcie20_avdd1v8: pcie20-avdd1v8-regulator {
75 compatible = "regulator-fixed";
76 regulator-name = "pcie20_avdd1v8";
77 regulator-always-on;
78 regulator-boot-on;
79 regulator-min-microvolt = <1800000>;
80 regulator-max-microvolt = <1800000>;
81 vin-supply = <&avcc_1v8_s0>;
82 };
83
84 pcie30_avdd0v75: pcie30-avdd0v75-regulator {
85 compatible = "regulator-fixed";
86 regulator-name = "pcie30_avdd0v75";
87 regulator-always-on;
88 regulator-boot-on;
89 regulator-min-microvolt = <750000>;
90 regulator-max-microvolt = <750000>;
91 vin-supply = <&avdd_0v75_s0>;
92 };
93
94 pcie30_avdd1v8: pcie30-avdd1v8-regulator {
95 compatible = "regulator-fixed";
96 regulator-name = "pcie30_avdd1v8";
97 regulator-always-on;
98 regulator-boot-on;
99 regulator-min-microvolt = <1800000>;
100 regulator-max-microvolt = <1800000>;
101 vin-supply = <&avcc_1v8_s0>;
102 };
103
104 vcc12v_dcin: vcc12v-dcin-regulator {
105 compatible = "regulator-fixed";
106 regulator-name = "vcc12v_dcin";
107 regulator-always-on;
108 regulator-boot-on;
109 regulator-min-microvolt = <12000000>;
110 regulator-max-microvolt = <12000000>;
111 };
112
113 vcc5v0_host: vcc5v0-host-regulator {
114 compatible = "regulator-fixed";
115 enable-active-high;
116 gpio = <&gpio4 RK_PB0 GPIO_ACTIVE_HIGH>;
117 pinctrl-names = "default";
118 pinctrl-0 = <&vcc5v0_host_en>;
119 regulator-name = "vcc5v0_host";
120 regulator-boot-on;
121 regulator-always-on;
122 regulator-min-microvolt = <5000000>;
123 regulator-max-microvolt = <5000000>;
124 vin-supply = <&vcc5v0_usb>;
125 };
126
127 vcc5v0_sys: vcc5v0-sys-regulator {
128 compatible = "regulator-fixed";
129 regulator-name = "vcc5v0_sys";
130 regulator-always-on;
131 regulator-boot-on;
132 regulator-min-microvolt = <5000000>;
133 regulator-max-microvolt = <5000000>;
134 vin-supply = <&vcc12v_dcin>;
135 };
136
137 vcc5v0_usbdcin: vcc5v0-usbdcin-regulator {
138 compatible = "regulator-fixed";
139 regulator-name = "vcc5v0_usbdcin";
140 regulator-always-on;
141 regulator-boot-on;
142 regulator-min-microvolt = <5000000>;
143 regulator-max-microvolt = <5000000>;
144 vin-supply = <&vcc12v_dcin>;
145 };
146
147 vcc5v0_usb: vcc5v0-usb-regulator {
148 compatible = "regulator-fixed";
149 regulator-name = "vcc5v0_usb";
150 regulator-always-on;
151 regulator-boot-on;
152 regulator-min-microvolt = <5000000>;
153 regulator-max-microvolt = <5000000>;
154 vin-supply = <&vcc5v0_usbdcin>;
155 };
156
157 vcc_1v1_nldo_s3: vcc-1v1-nldo-s3-regulator {
158 compatible = "regulator-fixed";
159 regulator-name = "vcc_1v1_nldo_s3";
160 regulator-always-on;
161 regulator-boot-on;
162 regulator-min-microvolt = <1100000>;
163 regulator-max-microvolt = <1100000>;
164 vin-supply = <&vcc5v0_sys>;
165 };
166};
167
168&combphy0_ps {
169 status = "okay";
170};
171
172&combphy2_psu {
173 status = "okay";
174};
175
176&cpu_b0 {
177 cpu-supply = <&vdd_cpu_big0_s0>;
178};
179
180&cpu_b1 {
181 cpu-supply = <&vdd_cpu_big0_s0>;
182};
183
184&cpu_b2 {
185 cpu-supply = <&vdd_cpu_big1_s0>;
186};
187
188&cpu_b3 {
189 cpu-supply = <&vdd_cpu_big1_s0>;
190};
191
192&cpu_l0 {
193 cpu-supply = <&vdd_cpu_lit_s0>;
194};
195
196&cpu_l1 {
197 cpu-supply = <&vdd_cpu_lit_s0>;
198};
199
200&cpu_l2 {
201 cpu-supply = <&vdd_cpu_lit_s0>;
202};
203
204&cpu_l3 {
205 cpu-supply = <&vdd_cpu_lit_s0>;
206};
207
208&gmac0 {
209 clock_in_out = "output";
210 phy-handle = <&rgmii_phy>;
211 phy-mode = "rgmii-rxid";
212 pinctrl-0 = <&gmac0_miim
213 &gmac0_tx_bus2
214 &gmac0_rx_bus2
215 &gmac0_rgmii_clk
216 &gmac0_rgmii_bus>;
217 pinctrl-names = "default";
218 rx_delay = <0x00>;
219 tx_delay = <0x43>;
220 status = "okay";
221};
222
223&i2c0 {
224 pinctrl-names = "default";
225 pinctrl-0 = <&i2c0m2_xfer>;
226 status = "okay";
227
228 vdd_cpu_big0_s0: regulator@42 {
229 compatible = "rockchip,rk8602";
230 reg = <0x42>;
231 fcs,suspend-voltage-selector = <1>;
232 regulator-name = "vdd_cpu_big0_s0";
233 regulator-always-on;
234 regulator-boot-on;
235 regulator-min-microvolt = <550000>;
236 regulator-max-microvolt = <1050000>;
237 regulator-ramp-delay = <2300>;
238 vin-supply = <&vcc5v0_sys>;
239
240 regulator-state-mem {
241 regulator-off-in-suspend;
242 };
243 };
244
245 vdd_cpu_big1_s0: regulator@43 {
246 compatible = "rockchip,rk8603", "rockchip,rk8602";
247 reg = <0x43>;
248 fcs,suspend-voltage-selector = <1>;
249 regulator-name = "vdd_cpu_big1_s0";
250 regulator-always-on;
251 regulator-boot-on;
252 regulator-min-microvolt = <550000>;
253 regulator-max-microvolt = <1050000>;
254 regulator-ramp-delay = <2300>;
255 vin-supply = <&vcc5v0_sys>;
256
257 regulator-state-mem {
258 regulator-off-in-suspend;
259 };
260 };
261};
262
263&i2c2 {
264 status = "okay";
265
266 hym8563: rtc@51 {
267 compatible = "haoyu,hym8563";
268 reg = <0x51>;
269 #clock-cells = <0>;
270 clock-output-names = "hym8563";
271 interrupt-parent = <&gpio0>;
272 interrupts = <RK_PD4 IRQ_TYPE_LEVEL_LOW>;
273 pinctrl-names = "default";
274 pinctrl-0 = <&hym8563_int>;
275 wakeup-source;
276 };
277};
278
279&mdio0 {
280 rgmii_phy: ethernet-phy@1 {
281 /* RTL8211F */
282 compatible = "ethernet-phy-id001c.c916";
283 reg = <0x1>;
284 pinctrl-names = "default";
285 pinctrl-0 = <&rtl8211f_rst>;
286 reset-assert-us = <20000>;
287 reset-deassert-us = <100000>;
288 reset-gpios = <&gpio4 RK_PB3 GPIO_ACTIVE_LOW>;
289 };
290};
291
292&pinctrl {
293 rtl8211f {
294 rtl8211f_rst: rtl8211f-rst {
295 rockchip,pins = <4 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>;
296 };
297
298 };
299
300 hym8563 {
301 hym8563_int: hym8563-int {
302 rockchip,pins = <0 RK_PD4 RK_FUNC_GPIO &pcfg_pull_up>;
303 };
304 };
305
306 usb {
307 vcc5v0_host_en: vcc5v0-host-en {
308 rockchip,pins = <4 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>;
309 };
310 };
311};
312
313&pwm2 {
314 status = "okay";
315};
316
317&saradc {
318 vref-supply = <&vcc_1v8_s0>;
319 status = "okay";
320};
321
322&sdhci {
323 bus-width = <8>;
324 mmc-hs400-1_8v;
325 mmc-hs400-enhanced-strobe;
326 no-sdio;
327 no-sd;
328 non-removable;
329 status = "okay";
330};
331
332&spi2 {
333 assigned-clocks = <&cru CLK_SPI2>;
334 assigned-clock-rates = <200000000>;
335 num-cs = <1>;
336 pinctrl-names = "default";
337 pinctrl-0 = <&spi2m2_cs0 &spi2m2_pins>;
338 status = "okay";
339
340 pmic@0 {
341 compatible = "rockchip,rk806";
342 reg = <0x0>;
343 gpio-controller;
344 #gpio-cells = <2>;
345 interrupt-parent = <&gpio0>;
346 interrupts = <7 IRQ_TYPE_LEVEL_LOW>;
347 pinctrl-names = "default";
348 pinctrl-0 = <&pmic_pins>, <&rk806_dvs1_null>,
349 <&rk806_dvs2_null>, <&rk806_dvs3_null>;
350 spi-max-frequency = <1000000>;
351 system-power-controller;
352
353 vcc1-supply = <&vcc5v0_sys>;
354 vcc2-supply = <&vcc5v0_sys>;
355 vcc3-supply = <&vcc5v0_sys>;
356 vcc4-supply = <&vcc5v0_sys>;
357 vcc5-supply = <&vcc5v0_sys>;
358 vcc6-supply = <&vcc5v0_sys>;
359 vcc7-supply = <&vcc5v0_sys>;
360 vcc8-supply = <&vcc5v0_sys>;
361 vcc9-supply = <&vcc5v0_sys>;
362 vcc10-supply = <&vcc5v0_sys>;
363 vcc11-supply = <&vcc_2v0_pldo_s3>;
364 vcc12-supply = <&vcc5v0_sys>;
365 vcc13-supply = <&vcc_1v1_nldo_s3>;
366 vcc14-supply = <&vcc_1v1_nldo_s3>;
367 vcca-supply = <&vcc5v0_sys>;
368
369 rk806_dvs1_null: dvs1-null-pins {
370 pins = "gpio_pwrctrl1";
371 function = "pin_fun0";
372 };
373
374 rk806_dvs2_null: dvs2-null-pins {
375 pins = "gpio_pwrctrl2";
376 function = "pin_fun0";
377 };
378
379 rk806_dvs3_null: dvs3-null-pins {
380 pins = "gpio_pwrctrl3";
381 function = "pin_fun0";
382 };
383
384 regulators {
385 vdd_gpu_s0: vdd_gpu_mem_s0: dcdc-reg1 {
386 regulator-name = "vdd_gpu_s0";
387 regulator-boot-on;
388 regulator-enable-ramp-delay = <400>;
389 regulator-min-microvolt = <550000>;
390 regulator-max-microvolt = <950000>;
391 regulator-ramp-delay = <12500>;
392
393 regulator-state-mem {
394 regulator-off-in-suspend;
395 };
396 };
397
398 vdd_cpu_lit_s0: vdd_cpu_lit_mem_s0: dcdc-reg2 {
399 regulator-name = "vdd_cpu_lit_s0";
400 regulator-always-on;
401 regulator-boot-on;
402 regulator-min-microvolt = <550000>;
403 regulator-max-microvolt = <950000>;
404 regulator-ramp-delay = <12500>;
405
406 regulator-state-mem {
407 regulator-off-in-suspend;
408 };
409 };
410
411 vdd_log_s0: dcdc-reg3 {
412 regulator-name = "vdd_log_s0";
413 regulator-always-on;
414 regulator-boot-on;
415 regulator-min-microvolt = <675000>;
416 regulator-max-microvolt = <750000>;
417 regulator-ramp-delay = <12500>;
418
419 regulator-state-mem {
420 regulator-off-in-suspend;
421 regulator-suspend-microvolt = <750000>;
422 };
423 };
424
425 vdd_vdenc_s0: vdd_vdenc_mem_s0: dcdc-reg4 {
426 regulator-name = "vdd_vdenc_s0";
427 regulator-always-on;
428 regulator-boot-on;
429 regulator-min-microvolt = <550000>;
430 regulator-max-microvolt = <950000>;
431 regulator-init-microvolt = <750000>;
432 regulator-ramp-delay = <12500>;
433
434 regulator-state-mem {
435 regulator-off-in-suspend;
436 };
437 };
438
439 vdd_ddr_s0: dcdc-reg5 {
440 regulator-name = "vdd_ddr_s0";
441 regulator-always-on;
442 regulator-boot-on;
443 regulator-min-microvolt = <675000>;
444 regulator-max-microvolt = <900000>;
445 regulator-ramp-delay = <12500>;
446
447 regulator-state-mem {
448 regulator-off-in-suspend;
449 regulator-suspend-microvolt = <850000>;
450 };
451 };
452
453 vdd2_ddr_s3: dcdc-reg6 {
454 regulator-name = "vdd2_ddr_s3";
455 regulator-always-on;
456 regulator-boot-on;
457
458 regulator-state-mem {
459 regulator-on-in-suspend;
460 };
461 };
462
463 vcc_2v0_pldo_s3: dcdc-reg7 {
464 regulator-name = "vdd_2v0_pldo_s3";
465 regulator-always-on;
466 regulator-boot-on;
467 regulator-min-microvolt = <2000000>;
468 regulator-max-microvolt = <2000000>;
469
470 regulator-state-mem {
471 regulator-on-in-suspend;
472 regulator-suspend-microvolt = <2000000>;
473 };
474 };
475
476 vcc_3v3_s3: dcdc-reg8 {
477 regulator-name = "vcc_3v3_s3";
478 regulator-always-on;
479 regulator-boot-on;
480 regulator-min-microvolt = <3300000>;
481 regulator-max-microvolt = <3300000>;
482
483 regulator-state-mem {
484 regulator-on-in-suspend;
485 regulator-suspend-microvolt = <3300000>;
486 };
487 };
488
489 vddq_ddr_s0: dcdc-reg9 {
490 regulator-name = "vddq_ddr_s0";
491 regulator-always-on;
492 regulator-boot-on;
493
494 regulator-state-mem {
495 regulator-off-in-suspend;
496 };
497 };
498
499 vcc_1v8_s3: dcdc-reg10 {
500 regulator-name = "vcc_1v8_s3";
501 regulator-always-on;
502 regulator-boot-on;
503 regulator-min-microvolt = <1800000>;
504 regulator-max-microvolt = <1800000>;
505
506 regulator-state-mem {
507 regulator-on-in-suspend;
508 regulator-suspend-microvolt = <1800000>;
509 };
510 };
511
512 avcc_1v8_s0: pldo-reg1 {
513 regulator-name = "avcc_1v8_s0";
514 regulator-always-on;
515 regulator-boot-on;
516 regulator-min-microvolt = <1800000>;
517 regulator-max-microvolt = <1800000>;
518
519 regulator-state-mem {
520 regulator-off-in-suspend;
521 };
522 };
523
524 vcc_1v8_s0: pldo-reg2 {
525 regulator-name = "vcc_1v8_s0";
526 regulator-always-on;
527 regulator-boot-on;
528 regulator-min-microvolt = <1800000>;
529 regulator-max-microvolt = <1800000>;
530
531 regulator-state-mem {
532 regulator-off-in-suspend;
533 regulator-suspend-microvolt = <1800000>;
534 };
535 };
536
537 avdd_1v2_s0: pldo-reg3 {
538 regulator-name = "avdd_1v2_s0";
539 regulator-always-on;
540 regulator-boot-on;
541 regulator-min-microvolt = <1200000>;
542 regulator-max-microvolt = <1200000>;
543
544 regulator-state-mem {
545 regulator-off-in-suspend;
546 };
547 };
548
549 vcc_3v3_s0: pldo-reg4 {
550 regulator-name = "vcc_3v3_s0";
551 regulator-always-on;
552 regulator-boot-on;
553 regulator-min-microvolt = <3300000>;
554 regulator-max-microvolt = <3300000>;
555
556 regulator-state-mem {
557 regulator-off-in-suspend;
558 };
559 };
560
561 vccio_sd_s0: pldo-reg5 {
562 regulator-name = "vccio_sd_s0";
563 regulator-always-on;
564 regulator-boot-on;
565 regulator-min-microvolt = <1800000>;
566 regulator-max-microvolt = <3300000>;
567
568 regulator-state-mem {
569 regulator-off-in-suspend;
570 };
571 };
572
573 pldo6_s3: pldo-reg6 {
574 regulator-name = "pldo6_s3";
575 regulator-always-on;
576 regulator-boot-on;
577 regulator-min-microvolt = <1800000>;
578 regulator-max-microvolt = <1800000>;
579
580 regulator-state-mem {
581 regulator-on-in-suspend;
582 regulator-suspend-microvolt = <1800000>;
583 };
584 };
585
586 vdd_0v75_s3: nldo-reg1 {
587 regulator-name = "vdd_0v75_s3";
588 regulator-always-on;
589 regulator-boot-on;
590 regulator-min-microvolt = <750000>;
591 regulator-max-microvolt = <750000>;
592
593 regulator-state-mem {
594 regulator-on-in-suspend;
595 regulator-suspend-microvolt = <750000>;
596 };
597 };
598
599 vdd_ddr_pll_s0: nldo-reg2 {
600 regulator-name = "vdd_ddr_pll_s0";
601 regulator-always-on;
602 regulator-boot-on;
603 regulator-min-microvolt = <850000>;
604 regulator-max-microvolt = <850000>;
605
606 regulator-state-mem {
607 regulator-off-in-suspend;
608 regulator-suspend-microvolt = <850000>;
609 };
610 };
611
612 avdd_0v75_s0: nldo-reg3 {
613 regulator-name = "avdd_0v75_s0";
614 regulator-always-on;
615 regulator-boot-on;
616 regulator-min-microvolt = <837500>;
617 regulator-max-microvolt = <837500>;
618
619 regulator-state-mem {
620 regulator-off-in-suspend;
621 };
622 };
623
624 vdd_0v85_s0: nldo-reg4 {
625 regulator-name = "vdd_0v85_s0";
626 regulator-always-on;
627 regulator-boot-on;
628 regulator-min-microvolt = <850000>;
629 regulator-max-microvolt = <850000>;
630
631 regulator-state-mem {
632 regulator-off-in-suspend;
633 };
634 };
635
636 vdd_0v75_s0: nldo-reg5 {
637 regulator-name = "vdd_0v75_s0";
638 regulator-always-on;
639 regulator-boot-on;
640 regulator-min-microvolt = <750000>;
641 regulator-max-microvolt = <750000>;
642
643 regulator-state-mem {
644 regulator-off-in-suspend;
645 };
646 };
647 };
648 };
649};
650
651&u2phy2 {
652 status = "okay";
653};
654
655&u2phy2_host {
656 phy-supply = <&vcc5v0_host>;
657 status = "okay";
658};
659
660&u2phy3 {
661 status = "okay";
662};
663
664&u2phy3_host {
665 phy-supply = <&vcc5v0_host>;
666 status = "okay";
667};
668
669&uart2 {
670 pinctrl-0 = <&uart2m0_xfer>;
671 status = "okay";
672};
673
674&usb_host0_ehci {
675 status = "okay";
676};
677
678&usb_host0_ohci {
679 status = "okay";
680};
681
682&usb_host1_ehci {
683 status = "okay";
684};
685
686&usb_host1_ohci {
687 status = "okay";
688};