1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
3 * Copyright (c) 2023 Rockchip Electronics Co., Ltd.
9 #include <dt-bindings/gpio/gpio.h>
10 #include <dt-bindings/pwm/pwm.h>
11 #include <dt-bindings/pinctrl/rockchip.h>
12 #include "rk3588.dtsi"
15 compatible = "coolpi,pi-cm5", "rockchip,rk3588";
25 compatible = "audio-graph-card";
26 dais = <&i2s0_8ch_p0>;
27 label = "rk3588-es8316";
28 routing = "MIC2", "Mic Jack",
31 widgets = "Microphone", "Mic Jack",
32 "Headphone", "Headphones";
36 stdout-path = "serial2:1500000n8";
39 avdd0v85_pcie20: avdd0v85-pcie20-regulator {
40 compatible = "regulator-fixed";
41 regulator-name = "avdd0v85_pcie20";
44 regulator-min-microvolt = <850000>;
45 regulator-max-microvolt = <850000>;
46 vin-supply = <&vdd_0v85_s0>;
49 avdd1v8_pcie20: avdd1v8-pcie20-regulator {
50 compatible = "regulator-fixed";
51 regulator-name = "avdd1v8_pcie20";
54 regulator-min-microvolt = <1800000>;
55 regulator-max-microvolt = <1800000>;
56 vin-supply = <&avcc_1v8_s0>;
59 avdd0v75_pcie30: avdd0v75-pcie30-regulator {
60 compatible = "regulator-fixed";
61 regulator-name = "avdd0v75_pcie30";
64 regulator-min-microvolt = <750000>;
65 regulator-max-microvolt = <750000>;
66 vin-supply = <&avdd_0v75_s0>;
69 pcie30_avdd1v8: avdd1v8-pcie30-regulator {
70 compatible = "regulator-fixed";
71 regulator-name = "pcie30_avdd1v8";
74 regulator-min-microvolt = <1800000>;
75 regulator-max-microvolt = <1800000>;
76 vin-supply = <&avcc_1v8_s0>;
93 cpu-supply = <&vdd_cpu_big0_s0>;
97 cpu-supply = <&vdd_cpu_big0_s0>;
101 cpu-supply = <&vdd_cpu_big1_s0>;
105 cpu-supply = <&vdd_cpu_big1_s0>;
109 cpu-supply = <&vdd_cpu_lit_s0>;
113 cpu-supply = <&vdd_cpu_lit_s0>;
117 cpu-supply = <&vdd_cpu_lit_s0>;
121 cpu-supply = <&vdd_cpu_lit_s0>;
125 clock_in_out = "output";
126 phy-handle = <&rgmii_phy>;
127 phy-mode = "rgmii-rxid";
128 pinctrl-0 = <&gmac0_miim
133 pinctrl-names = "default";
140 pinctrl-0 = <&i2c0m2_xfer>;
143 vdd_cpu_big0_s0: regulator@42 {
144 compatible = "rockchip,rk8602";
146 fcs,suspend-voltage-selector = <1>;
147 regulator-name = "vdd_cpu_big0_s0";
150 regulator-min-microvolt = <550000>;
151 regulator-max-microvolt = <1050000>;
152 regulator-ramp-delay = <2300>;
153 vin-supply = <&vcc5v0_sys>;
155 regulator-state-mem {
156 regulator-off-in-suspend;
160 vdd_cpu_big1_s0: regulator@43 {
161 compatible = "rockchip,rk8603", "rockchip,rk8602";
163 fcs,suspend-voltage-selector = <1>;
164 regulator-name = "vdd_cpu_big1_s0";
167 regulator-min-microvolt = <550000>;
168 regulator-max-microvolt = <1050000>;
169 regulator-ramp-delay = <2300>;
170 vin-supply = <&vcc5v0_sys>;
172 regulator-state-mem {
173 regulator-off-in-suspend;
181 vdd_npu_s0: regulator@42 {
182 compatible = "rockchip,rk8602";
184 fcs,suspend-voltage-selector = <1>;
185 regulator-name = "vdd_npu_s0";
188 regulator-min-microvolt = <550000>;
189 regulator-max-microvolt = <950000>;
190 regulator-ramp-delay = <2300>;
191 vin-supply = <&vcc5v0_sys>;
193 regulator-state-mem {
194 regulator-off-in-suspend;
203 compatible = "haoyu,hym8563";
205 interrupt-parent = <&gpio0>;
206 interrupts = <RK_PD4 IRQ_TYPE_LEVEL_LOW>;
208 clock-output-names = "hym8563";
209 pinctrl-names = "default";
210 pinctrl-0 = <&hym8563_int>;
216 pinctrl-0 = <&i2c7m0_xfer>;
219 es8316: audio-codec@10 {
220 compatible = "everest,es8316";
222 assigned-clocks = <&cru I2S0_8CH_MCLKOUT>;
223 assigned-clock-rates = <12288000>;
224 clocks = <&cru I2S0_8CH_MCLKOUT>;
225 clock-names = "mclk";
226 #sound-dai-cells = <0>;
229 es8316_p0_0: endpoint {
230 remote-endpoint = <&i2s0_8ch_p0_0>;
237 pinctrl-0 = <&i2s0_lrck
245 i2s0_8ch_p0_0: endpoint {
248 remote-endpoint = <&es8316_p0_0>;
254 rgmii_phy: ethernet-phy@1 {
256 compatible = "ethernet-phy-ieee802.3-c22";
258 pinctrl-names = "default";
259 pinctrl-0 = <&yt8531_rst>;
260 reset-assert-us = <20000>;
261 reset-deassert-us = <100000>;
262 reset-gpios = <&gpio4 RK_PB3 GPIO_ACTIVE_LOW>;
268 reset-gpios = <&gpio3 RK_PD1 GPIO_ACTIVE_HIGH>;
269 vpcie3v3-supply = <&vcc3v3_sys>;
270 pinctrl-names = "default";
271 pinctrl-0 = <&yt6801_isolate>;
277 hym8563_int: hym8563-int {
278 rockchip,pins = <0 RK_PD4 RK_FUNC_GPIO &pcfg_pull_up>;
283 yt6801_isolate: yt6801-isolate {
284 rockchip,pins = <1 RK_PA4 RK_FUNC_GPIO &pcfg_pull_up>;
289 yt8531_rst: yt8531-rst {
290 rockchip,pins = <4 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>;
296 vref-supply = <&vcc_1v8_s0>;
302 max-frequency = <200000000>;
304 mmc-hs400-enhanced-strobe;
316 max-frequency = <150000000>;
320 vqmmc-supply = <&vccio_sd_s0>;
325 assigned-clocks = <&cru CLK_SPI2>;
326 assigned-clock-rates = <200000000>;
328 pinctrl-names = "default";
329 pinctrl-0 = <&spi2m2_cs0 &spi2m2_pins>;
333 compatible = "rockchip,rk806";
335 interrupt-parent = <&gpio0>;
336 interrupts = <7 IRQ_TYPE_LEVEL_LOW>;
339 pinctrl-names = "default";
340 pinctrl-0 = <&pmic_pins>, <&rk806_dvs1_null>,
341 <&rk806_dvs2_null>, <&rk806_dvs3_null>;
342 spi-max-frequency = <1000000>;
343 vcc1-supply = <&vcc5v0_sys>;
344 vcc2-supply = <&vcc5v0_sys>;
345 vcc3-supply = <&vcc5v0_sys>;
346 vcc4-supply = <&vcc5v0_sys>;
347 vcc5-supply = <&vcc5v0_sys>;
348 vcc6-supply = <&vcc5v0_sys>;
349 vcc7-supply = <&vcc5v0_sys>;
350 vcc8-supply = <&vcc5v0_sys>;
351 vcc9-supply = <&vcc5v0_sys>;
352 vcc10-supply = <&vcc5v0_sys>;
353 vcc11-supply = <&vcc_2v0_pldo_s3>;
354 vcc12-supply = <&vcc5v0_sys>;
355 vcc13-supply = <&vcc_2v0_pldo_s3>;
356 vcc14-supply = <&vcc_2v0_pldo_s3>;
357 vcca-supply = <&vcc5v0_sys>;
359 rk806_dvs1_null: dvs1-null-pins {
360 pins = "gpio_pwrctrl2";
361 function = "pin_fun0";
364 rk806_dvs2_null: dvs2-null-pins {
365 pins = "gpio_pwrctrl2";
366 function = "pin_fun0";
369 rk806_dvs3_null: dvs3-null-pins {
370 pins = "gpio_pwrctrl3";
371 function = "pin_fun0";
375 vdd_gpu_s0: vdd_gpu_mem_s0: dcdc-reg1 {
377 regulator-min-microvolt = <550000>;
378 regulator-max-microvolt = <950000>;
379 regulator-ramp-delay = <12500>;
380 regulator-name = "vdd_gpu_s0";
381 regulator-enable-ramp-delay = <400>;
383 regulator-state-mem {
384 regulator-off-in-suspend;
388 vdd_cpu_lit_s0: vdd_cpu_lit_mem_s0: dcdc-reg2 {
391 regulator-min-microvolt = <550000>;
392 regulator-max-microvolt = <950000>;
393 regulator-ramp-delay = <12500>;
394 regulator-name = "vdd_cpu_lit_s0";
396 regulator-state-mem {
397 regulator-off-in-suspend;
401 vdd_log_s0: dcdc-reg3 {
404 regulator-min-microvolt = <675000>;
405 regulator-max-microvolt = <750000>;
406 regulator-ramp-delay = <12500>;
407 regulator-name = "vdd_log_s0";
409 regulator-state-mem {
410 regulator-off-in-suspend;
411 regulator-suspend-microvolt = <750000>;
415 vdd_vdenc_s0: vdd_vdenc_mem_s0: dcdc-reg4 {
418 regulator-min-microvolt = <550000>;
419 regulator-max-microvolt = <950000>;
420 regulator-ramp-delay = <12500>;
421 regulator-name = "vdd_vdenc_s0";
423 regulator-state-mem {
424 regulator-off-in-suspend;
428 vdd_ddr_s0: dcdc-reg5 {
431 regulator-min-microvolt = <675000>;
432 regulator-max-microvolt = <900000>;
433 regulator-ramp-delay = <12500>;
434 regulator-name = "vdd_ddr_s0";
436 regulator-state-mem {
437 regulator-off-in-suspend;
438 regulator-suspend-microvolt = <850000>;
442 vdd2_ddr_s3: dcdc-reg6 {
445 regulator-name = "vdd2_ddr_s3";
447 regulator-state-mem {
448 regulator-on-in-suspend;
452 vcc_2v0_pldo_s3: dcdc-reg7 {
455 regulator-min-microvolt = <2000000>;
456 regulator-max-microvolt = <2000000>;
457 regulator-ramp-delay = <12500>;
458 regulator-name = "vdd_2v0_pldo_s3";
460 regulator-state-mem {
461 regulator-on-in-suspend;
462 regulator-suspend-microvolt = <2000000>;
466 vcc_3v3_s3: dcdc-reg8 {
469 regulator-min-microvolt = <3300000>;
470 regulator-max-microvolt = <3300000>;
471 regulator-name = "vcc_3v3_s3";
473 regulator-state-mem {
474 regulator-on-in-suspend;
475 regulator-suspend-microvolt = <3300000>;
479 vddq_ddr_s0: dcdc-reg9 {
482 regulator-name = "vddq_ddr_s0";
484 regulator-state-mem {
485 regulator-off-in-suspend;
489 vcc_1v8_s3: dcdc-reg10 {
492 regulator-min-microvolt = <1800000>;
493 regulator-max-microvolt = <1800000>;
494 regulator-name = "vcc_1v8_s3";
496 regulator-state-mem {
497 regulator-on-in-suspend;
498 regulator-suspend-microvolt = <1800000>;
502 avcc_1v8_s0: pldo-reg1 {
505 regulator-min-microvolt = <1800000>;
506 regulator-max-microvolt = <1800000>;
507 regulator-name = "avcc_1v8_s0";
509 regulator-state-mem {
510 regulator-off-in-suspend;
514 vcc_1v8_s0: pldo-reg2 {
517 regulator-min-microvolt = <1800000>;
518 regulator-max-microvolt = <1800000>;
519 regulator-name = "vcc_1v8_s0";
521 regulator-state-mem {
522 regulator-off-in-suspend;
523 regulator-suspend-microvolt = <1800000>;
527 avdd_1v2_s0: pldo-reg3 {
530 regulator-min-microvolt = <1200000>;
531 regulator-max-microvolt = <1200000>;
532 regulator-name = "avdd_1v2_s0";
534 regulator-state-mem {
535 regulator-off-in-suspend;
539 vcc_3v3_s0: pldo-reg4 {
542 regulator-min-microvolt = <3300000>;
543 regulator-max-microvolt = <3300000>;
544 regulator-ramp-delay = <12500>;
545 regulator-name = "vcc_3v3_s0";
547 regulator-state-mem {
548 regulator-off-in-suspend;
552 vccio_sd_s0: pldo-reg5 {
555 regulator-min-microvolt = <1800000>;
556 regulator-max-microvolt = <3300000>;
557 regulator-ramp-delay = <12500>;
558 regulator-name = "vccio_sd_s0";
560 regulator-state-mem {
561 regulator-off-in-suspend;
565 pldo6_s3: pldo-reg6 {
568 regulator-min-microvolt = <1800000>;
569 regulator-max-microvolt = <1800000>;
570 regulator-name = "pldo6_s3";
572 regulator-state-mem {
573 regulator-on-in-suspend;
574 regulator-suspend-microvolt = <1800000>;
578 vdd_0v75_s3: nldo-reg1 {
581 regulator-min-microvolt = <750000>;
582 regulator-max-microvolt = <750000>;
583 regulator-name = "vdd_0v75_s3";
585 regulator-state-mem {
586 regulator-on-in-suspend;
587 regulator-suspend-microvolt = <750000>;
591 vdd_ddr_pll_s0: nldo-reg2 {
594 regulator-min-microvolt = <850000>;
595 regulator-max-microvolt = <850000>;
596 regulator-name = "vdd_ddr_pll_s0";
598 regulator-state-mem {
599 regulator-off-in-suspend;
600 regulator-suspend-microvolt = <850000>;
604 avdd_0v75_s0: nldo-reg3 {
607 regulator-min-microvolt = <750000>;
608 regulator-max-microvolt = <750000>;
609 regulator-name = "avdd_0v75_s0";
611 regulator-state-mem {
612 regulator-off-in-suspend;
616 vdd_0v85_s0: nldo-reg4 {
619 regulator-min-microvolt = <850000>;
620 regulator-max-microvolt = <850000>;
621 regulator-name = "vdd_0v85_s0";
623 regulator-state-mem {
624 regulator-off-in-suspend;
628 vdd_0v75_s0: nldo-reg5 {
631 regulator-min-microvolt = <750000>;
632 regulator-max-microvolt = <750000>;
633 regulator-name = "vdd_0v75_s0";
635 regulator-state-mem {
636 regulator-off-in-suspend;
648 pinctrl-0 = <&uart2m0_xfer>;