1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
5 #include <dt-bindings/gpio/gpio.h>
6 #include <dt-bindings/leds/common.h>
7 #include <dt-bindings/pinctrl/rockchip.h>
8 #include "rk3588s.dtsi"
11 model = "Radxa ROCK 5 Model A";
12 compatible = "radxa,rock-5a", "rockchip,rk3588s";
21 compatible = "audio-graph-card";
22 label = "rk3588-es8316";
24 widgets = "Microphone", "Mic Jack",
25 "Headphone", "Headphones";
27 routing = "MIC2", "Mic Jack",
31 dais = <&i2s0_8ch_p0>;
35 stdout-path = "serial2:1500000n8";
39 compatible = "gpio-leds";
40 pinctrl-names = "default";
41 pinctrl-0 = <&io_led>;
44 color = <LED_COLOR_ID_BLUE>;
45 function = LED_FUNCTION_STATUS;
46 gpios = <&gpio3 RK_PD5 GPIO_ACTIVE_HIGH>;
47 linux,default-trigger = "heartbeat";
52 compatible = "pwm-fan";
53 cooling-levels = <0 95 145 195 255>;
54 fan-supply = <&vcc_5v0>;
55 pwms = <&pwm3 0 50000 0>;
59 vcc12v_dcin: vcc12v-dcin-regulator {
60 compatible = "regulator-fixed";
61 regulator-name = "vcc12v_dcin";
64 regulator-min-microvolt = <12000000>;
65 regulator-max-microvolt = <12000000>;
68 vcc5v0_host: vcc5v0-host-regulator {
69 compatible = "regulator-fixed";
70 regulator-name = "vcc5v0_host";
73 regulator-min-microvolt = <5000000>;
74 regulator-max-microvolt = <5000000>;
76 gpio = <&gpio4 RK_PB5 GPIO_ACTIVE_HIGH>;
77 pinctrl-names = "default";
78 pinctrl-0 = <&vcc5v0_host_en>;
79 vin-supply = <&vcc5v0_sys>;
82 vcc5v0_sys: vcc5v0-sys-regulator {
83 compatible = "regulator-fixed";
84 regulator-name = "vcc5v0_sys";
87 regulator-min-microvolt = <5000000>;
88 regulator-max-microvolt = <5000000>;
89 vin-supply = <&vcc12v_dcin>;
92 vcc_5v0: vcc-5v0-regulator {
93 compatible = "regulator-fixed";
94 regulator-name = "vcc_5v0";
95 regulator-min-microvolt = <5000000>;
96 regulator-max-microvolt = <5000000>;
100 gpio = <&gpio4 RK_PA3 GPIO_ACTIVE_HIGH>;
101 pinctrl-names = "default";
102 pinctrl-0 = <&vcc_5v0_en>;
103 vin-supply = <&vcc5v0_sys>;
106 vcc_1v1_nldo_s3: vcc-1v1-nldo-s3-regulator {
107 compatible = "regulator-fixed";
108 regulator-name = "vcc_1v1_nldo_s3";
111 regulator-min-microvolt = <1100000>;
112 regulator-max-microvolt = <1100000>;
113 vin-supply = <&vcc5v0_sys>;
118 cpu-supply = <&vdd_cpu_big0_s0>;
122 cpu-supply = <&vdd_cpu_big0_s0>;
126 cpu-supply = <&vdd_cpu_big1_s0>;
130 cpu-supply = <&vdd_cpu_big1_s0>;
134 cpu-supply = <&vdd_cpu_lit_s0>;
138 cpu-supply = <&vdd_cpu_lit_s0>;
142 cpu-supply = <&vdd_cpu_lit_s0>;
146 cpu-supply = <&vdd_cpu_lit_s0>;
150 pinctrl-names = "default";
151 pinctrl-0 = <&i2c0m2_xfer>;
154 vdd_cpu_big0_s0: regulator@42 {
155 compatible = "rockchip,rk8602";
157 fcs,suspend-voltage-selector = <1>;
158 regulator-name = "vdd_cpu_big0_s0";
161 regulator-min-microvolt = <550000>;
162 regulator-max-microvolt = <1050000>;
163 regulator-ramp-delay = <2300>;
164 vin-supply = <&vcc5v0_sys>;
166 regulator-state-mem {
167 regulator-off-in-suspend;
171 vdd_cpu_big1_s0: regulator@43 {
172 compatible = "rockchip,rk8603", "rockchip,rk8602";
174 fcs,suspend-voltage-selector = <1>;
175 regulator-name = "vdd_cpu_big1_s0";
178 regulator-min-microvolt = <550000>;
179 regulator-max-microvolt = <1050000>;
180 regulator-ramp-delay = <2300>;
181 vin-supply = <&vcc5v0_sys>;
183 regulator-state-mem {
184 regulator-off-in-suspend;
192 vdd_npu_s0: regulator@42 {
193 compatible = "rockchip,rk8602";
195 fcs,suspend-voltage-selector = <1>;
196 regulator-name = "vdd_npu_s0";
199 regulator-min-microvolt = <550000>;
200 regulator-max-microvolt = <950000>;
201 regulator-ramp-delay = <2300>;
202 vin-supply = <&vcc5v0_sys>;
204 regulator-state-mem {
205 regulator-off-in-suspend;
210 compatible = "belling,bl24c16a", "atmel,24c16";
222 pinctrl-names = "default";
223 pinctrl-0 = <&i2c5m2_xfer>;
229 es8316: audio-codec@11 {
230 compatible = "everest,es8316";
232 clocks = <&cru I2S0_8CH_MCLKOUT>;
233 clock-names = "mclk";
234 assigned-clocks = <&cru I2S0_8CH_MCLKOUT>;
235 assigned-clock-rates = <12288000>;
236 #sound-dai-cells = <0>;
239 es8316_p0_0: endpoint {
240 remote-endpoint = <&i2s0_8ch_p0_0>;
247 pinctrl-names = "default";
248 pinctrl-0 = <&i2s0_lrck
256 i2s0_8ch_p0_0: endpoint {
259 remote-endpoint = <&es8316_p0_0>;
265 clock_in_out = "output";
266 phy-handle = <&rgmii_phy1>;
268 pinctrl-0 = <&gmac1_miim
273 pinctrl-names = "default";
280 rgmii_phy1: ethernet-phy@1 {
282 compatible = "ethernet-phy-id001c.c916";
284 pinctrl-names = "default";
285 pinctrl-0 = <&rtl8211f_rst>;
286 reset-assert-us = <20000>;
287 reset-deassert-us = <100000>;
288 reset-gpios = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>;
295 rockchip,pins = <3 RK_PD5 RK_FUNC_GPIO &pcfg_pull_none>;
300 vcc_5v0_en: vcc-5v0-en {
301 rockchip,pins = <4 RK_PA3 RK_FUNC_GPIO &pcfg_pull_none>;
306 rtl8211f_rst: rtl8211f-rst {
307 rockchip,pins = <3 RK_PB7 RK_FUNC_GPIO &pcfg_pull_none>;
312 vcc5v0_host_en: vcc5v0-host-en {
313 rockchip,pins = <4 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>;
319 rockchip,pins = <0 RK_PD0 RK_FUNC_GPIO &pcfg_pull_up>;
323 rockchip,pins = <0 RK_PD5 RK_FUNC_GPIO &pcfg_output_high>;
326 wl_wake_host: wl-wake-host {
327 rockchip,pins = <0 RK_PC7 RK_FUNC_GPIO &pcfg_pull_up>;
331 rockchip,pins = <0 RK_PD4 RK_FUNC_GPIO &pcfg_output_high>;
334 bt_wake_host: bt-wake-host {
335 rockchip,pins = <0 RK_PC5 RK_FUNC_GPIO &pcfg_pull_up>;
341 pinctrl-names = "default";
342 pinctrl-0 = <&pwm3m1_pins>;
347 vref-supply = <&avcc_1v8_s0>;
357 mmc-hs400-enhanced-strobe;
365 cd-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_LOW>;
367 max-frequency = <150000000>;
371 vmmc-supply = <&vcc_3v3_s0>;
372 vqmmc-supply = <&vccio_sd_s0>;
378 assigned-clocks = <&cru CLK_SPI2>;
379 assigned-clock-rates = <200000000>;
381 pinctrl-names = "default";
382 pinctrl-0 = <&spi2m2_cs0 &spi2m2_pins>;
385 compatible = "rockchip,rk806";
387 interrupt-parent = <&gpio0>;
388 interrupts = <7 IRQ_TYPE_LEVEL_LOW>;
389 pinctrl-names = "default";
390 pinctrl-0 = <&pmic_pins>, <&rk806_dvs1_null>,
391 <&rk806_dvs2_null>, <&rk806_dvs3_null>;
392 spi-max-frequency = <1000000>;
394 vcc1-supply = <&vcc5v0_sys>;
395 vcc2-supply = <&vcc5v0_sys>;
396 vcc3-supply = <&vcc5v0_sys>;
397 vcc4-supply = <&vcc5v0_sys>;
398 vcc5-supply = <&vcc5v0_sys>;
399 vcc6-supply = <&vcc5v0_sys>;
400 vcc7-supply = <&vcc5v0_sys>;
401 vcc8-supply = <&vcc5v0_sys>;
402 vcc9-supply = <&vcc5v0_sys>;
403 vcc10-supply = <&vcc5v0_sys>;
404 vcc11-supply = <&vcc_2v0_pldo_s3>;
405 vcc12-supply = <&vcc5v0_sys>;
406 vcc13-supply = <&vcc_1v1_nldo_s3>;
407 vcc14-supply = <&vcc_1v1_nldo_s3>;
408 vcca-supply = <&vcc5v0_sys>;
413 rk806_dvs1_null: dvs1-null-pins {
414 pins = "gpio_pwrctrl2";
415 function = "pin_fun0";
418 rk806_dvs2_null: dvs2-null-pins {
419 pins = "gpio_pwrctrl2";
420 function = "pin_fun0";
423 rk806_dvs3_null: dvs3-null-pins {
424 pins = "gpio_pwrctrl3";
425 function = "pin_fun0";
429 vdd_gpu_s0: vdd_gpu_mem_s0: dcdc-reg1 {
430 regulator-name = "vdd_gpu_s0";
432 regulator-min-microvolt = <550000>;
433 regulator-max-microvolt = <950000>;
434 regulator-ramp-delay = <12500>;
435 regulator-enable-ramp-delay = <400>;
437 regulator-state-mem {
438 regulator-off-in-suspend;
442 vdd_cpu_lit_s0: vdd_cpu_lit_mem_s0: dcdc-reg2 {
443 regulator-name = "vdd_cpu_lit_s0";
446 regulator-min-microvolt = <550000>;
447 regulator-max-microvolt = <950000>;
448 regulator-ramp-delay = <12500>;
450 regulator-state-mem {
451 regulator-off-in-suspend;
455 vdd_log_s0: dcdc-reg3 {
456 regulator-name = "vdd_log_s0";
459 regulator-min-microvolt = <675000>;
460 regulator-max-microvolt = <750000>;
461 regulator-ramp-delay = <12500>;
463 regulator-state-mem {
464 regulator-off-in-suspend;
465 regulator-suspend-microvolt = <750000>;
469 vdd_vdenc_s0: vdd_vdenc_mem_s0: dcdc-reg4 {
470 regulator-name = "vdd_vdenc_s0";
473 regulator-min-microvolt = <550000>;
474 regulator-max-microvolt = <950000>;
475 regulator-ramp-delay = <12500>;
477 regulator-state-mem {
478 regulator-off-in-suspend;
482 vdd_ddr_s0: dcdc-reg5 {
483 regulator-name = "vdd_ddr_s0";
486 regulator-min-microvolt = <675000>;
487 regulator-max-microvolt = <900000>;
488 regulator-ramp-delay = <12500>;
490 regulator-state-mem {
491 regulator-off-in-suspend;
492 regulator-suspend-microvolt = <850000>;
496 vdd2_ddr_s3: dcdc-reg6 {
497 regulator-name = "vdd2_ddr_s3";
501 regulator-state-mem {
502 regulator-on-in-suspend;
506 vcc_2v0_pldo_s3: dcdc-reg7 {
507 regulator-name = "vdd_2v0_pldo_s3";
510 regulator-min-microvolt = <2000000>;
511 regulator-max-microvolt = <2000000>;
512 regulator-ramp-delay = <12500>;
514 regulator-state-mem {
515 regulator-on-in-suspend;
516 regulator-suspend-microvolt = <2000000>;
520 vcc_3v3_s3: dcdc-reg8 {
521 regulator-name = "vcc_3v3_s3";
524 regulator-min-microvolt = <3300000>;
525 regulator-max-microvolt = <3300000>;
527 regulator-state-mem {
528 regulator-on-in-suspend;
529 regulator-suspend-microvolt = <3300000>;
533 vddq_ddr_s0: dcdc-reg9 {
534 regulator-name = "vddq_ddr_s0";
538 regulator-state-mem {
539 regulator-off-in-suspend;
543 vcc_1v8_s3: dcdc-reg10 {
544 regulator-name = "vcc_1v8_s3";
547 regulator-min-microvolt = <1800000>;
548 regulator-max-microvolt = <1800000>;
550 regulator-state-mem {
551 regulator-on-in-suspend;
552 regulator-suspend-microvolt = <1800000>;
556 avcc_1v8_s0: pldo-reg1 {
557 regulator-name = "avcc_1v8_s0";
560 regulator-min-microvolt = <1800000>;
561 regulator-max-microvolt = <1800000>;
563 regulator-state-mem {
564 regulator-off-in-suspend;
568 vcc_1v8_s0: pldo-reg2 {
569 regulator-name = "vcc_1v8_s0";
572 regulator-min-microvolt = <1800000>;
573 regulator-max-microvolt = <1800000>;
575 regulator-state-mem {
576 regulator-off-in-suspend;
577 regulator-suspend-microvolt = <1800000>;
581 avdd_1v2_s0: pldo-reg3 {
582 regulator-name = "avdd_1v2_s0";
585 regulator-min-microvolt = <1200000>;
586 regulator-max-microvolt = <1200000>;
588 regulator-state-mem {
589 regulator-off-in-suspend;
593 vcc_3v3_s0: pldo-reg4 {
594 regulator-name = "vcc_3v3_s0";
597 regulator-min-microvolt = <3300000>;
598 regulator-max-microvolt = <3300000>;
599 regulator-ramp-delay = <12500>;
601 regulator-state-mem {
602 regulator-off-in-suspend;
606 vccio_sd_s0: pldo-reg5 {
607 regulator-name = "vccio_sd_s0";
610 regulator-min-microvolt = <1800000>;
611 regulator-max-microvolt = <3300000>;
612 regulator-ramp-delay = <12500>;
614 regulator-state-mem {
615 regulator-off-in-suspend;
619 pldo6_s3: pldo-reg6 {
620 regulator-name = "pldo6_s3";
623 regulator-min-microvolt = <1800000>;
624 regulator-max-microvolt = <1800000>;
626 regulator-state-mem {
627 regulator-on-in-suspend;
628 regulator-suspend-microvolt = <1800000>;
632 vdd_0v75_s3: nldo-reg1 {
633 regulator-name = "vdd_0v75_s3";
636 regulator-min-microvolt = <750000>;
637 regulator-max-microvolt = <750000>;
639 regulator-state-mem {
640 regulator-on-in-suspend;
641 regulator-suspend-microvolt = <750000>;
645 vdd_ddr_pll_s0: nldo-reg2 {
646 regulator-name = "vdd_ddr_pll_s0";
649 regulator-min-microvolt = <850000>;
650 regulator-max-microvolt = <850000>;
652 regulator-state-mem {
653 regulator-off-in-suspend;
654 regulator-suspend-microvolt = <850000>;
658 avdd_0v75_s0: nldo-reg3 {
659 regulator-name = "avdd_0v75_s0";
662 regulator-min-microvolt = <750000>;
663 regulator-max-microvolt = <750000>;
665 regulator-state-mem {
666 regulator-off-in-suspend;
670 vdd_0v85_s0: nldo-reg4 {
671 regulator-name = "vdd_0v85_s0";
674 regulator-min-microvolt = <850000>;
675 regulator-max-microvolt = <850000>;
677 regulator-state-mem {
678 regulator-off-in-suspend;
682 vdd_0v75_s0: nldo-reg5 {
683 regulator-name = "vdd_0v75_s0";
686 regulator-min-microvolt = <750000>;
687 regulator-max-microvolt = <750000>;
689 regulator-state-mem {
690 regulator-off-in-suspend;
703 phy-supply = <&vcc5v0_host>;
711 phy-supply = <&vcc5v0_host>;
716 pinctrl-0 = <&uart2m0_xfer>;
722 pinctrl-names = "default";
723 pinctrl-0 = <&wl_reset &wl_dis &wl_wake_host &bt_dis &bt_wake_host>;