0001 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
0002 /*
0003 * Copyright (c) 2021 Rockchip Electronics Co., Ltd.
0004 *
0005 */
0006
0007 /dts-v1/;
0008 #include <dt-bindings/gpio/gpio.h>
0009 #include <dt-bindings/leds/common.h>
0010 #include <dt-bindings/pinctrl/rockchip.h>
0011 #include <dt-bindings/soc/rockchip,vop2.h>
0012 #include "rk3568.dtsi"
0013
0014 / {
0015 model = "Rockchip RK3568 EVB1 DDR4 V10 Board";
0016 compatible = "rockchip,rk3568-evb1-v10", "rockchip,rk3568";
0017
0018 aliases {
0019 ethernet0 = &gmac0;
0020 ethernet1 = &gmac1;
0021 mmc0 = &sdmmc0;
0022 mmc1 = &sdhci;
0023 };
0024
0025 chosen: chosen {
0026 stdout-path = "serial2:1500000n8";
0027 };
0028
0029 dc_12v: dc-12v {
0030 compatible = "regulator-fixed";
0031 regulator-name = "dc_12v";
0032 regulator-always-on;
0033 regulator-boot-on;
0034 regulator-min-microvolt = <12000000>;
0035 regulator-max-microvolt = <12000000>;
0036 };
0037
0038 hdmi-con {
0039 compatible = "hdmi-connector";
0040 type = "a";
0041
0042 port {
0043 hdmi_con_in: endpoint {
0044 remote-endpoint = <&hdmi_out_con>;
0045 };
0046 };
0047 };
0048
0049 leds {
0050 compatible = "gpio-leds";
0051
0052 led_work: led-0 {
0053 gpios = <&gpio0 RK_PC0 GPIO_ACTIVE_HIGH>;
0054 function = LED_FUNCTION_HEARTBEAT;
0055 color = <LED_COLOR_ID_BLUE>;
0056 linux,default-trigger = "heartbeat";
0057 pinctrl-names = "default";
0058 pinctrl-0 = <&led_work_en>;
0059 };
0060 };
0061
0062 rk809-sound {
0063 compatible = "simple-audio-card";
0064 simple-audio-card,format = "i2s";
0065 simple-audio-card,name = "Analog RK809";
0066 simple-audio-card,mclk-fs = <256>;
0067
0068 simple-audio-card,cpu {
0069 sound-dai = <&i2s1_8ch>;
0070 };
0071 simple-audio-card,codec {
0072 sound-dai = <&rk809>;
0073 };
0074 };
0075
0076 vcc3v3_sys: vcc3v3-sys {
0077 compatible = "regulator-fixed";
0078 regulator-name = "vcc3v3_sys";
0079 regulator-always-on;
0080 regulator-boot-on;
0081 regulator-min-microvolt = <3300000>;
0082 regulator-max-microvolt = <3300000>;
0083 vin-supply = <&dc_12v>;
0084 };
0085
0086 vcc5v0_sys: vcc5v0-sys {
0087 compatible = "regulator-fixed";
0088 regulator-name = "vcc5v0_sys";
0089 regulator-always-on;
0090 regulator-boot-on;
0091 regulator-min-microvolt = <5000000>;
0092 regulator-max-microvolt = <5000000>;
0093 vin-supply = <&dc_12v>;
0094 };
0095
0096 vcc5v0_usb: vcc5v0-usb {
0097 compatible = "regulator-fixed";
0098 regulator-name = "vcc5v0_usb";
0099 regulator-always-on;
0100 regulator-boot-on;
0101 regulator-min-microvolt = <5000000>;
0102 regulator-max-microvolt = <5000000>;
0103 vin-supply = <&dc_12v>;
0104 };
0105
0106 vcc5v0_usb_host: vcc5v0-usb-host {
0107 compatible = "regulator-fixed";
0108 enable-active-high;
0109 gpio = <&gpio0 RK_PA6 GPIO_ACTIVE_HIGH>;
0110 pinctrl-names = "default";
0111 pinctrl-0 = <&vcc5v0_usb_host_en>;
0112 regulator-name = "vcc5v0_usb_host";
0113 regulator-min-microvolt = <5000000>;
0114 regulator-max-microvolt = <5000000>;
0115 vin-supply = <&vcc5v0_usb>;
0116 };
0117
0118 vcc5v0_usb_otg: vcc5v0-usb-otg {
0119 compatible = "regulator-fixed";
0120 enable-active-high;
0121 gpio = <&gpio0 RK_PA5 GPIO_ACTIVE_HIGH>;
0122 pinctrl-names = "default";
0123 pinctrl-0 = <&vcc5v0_usb_otg_en>;
0124 regulator-name = "vcc5v0_usb_otg";
0125 regulator-min-microvolt = <5000000>;
0126 regulator-max-microvolt = <5000000>;
0127 vin-supply = <&vcc5v0_usb>;
0128 };
0129
0130 vcc3v3_lcd0_n: vcc3v3-lcd0-n {
0131 compatible = "regulator-fixed";
0132 regulator-name = "vcc3v3_lcd0_n";
0133 regulator-min-microvolt = <3300000>;
0134 regulator-max-microvolt = <3300000>;
0135 enable-active-high;
0136 gpio = <&gpio0 RK_PC7 GPIO_ACTIVE_HIGH>;
0137 vin-supply = <&vcc3v3_sys>;
0138 pinctrl-names = "default";
0139 pinctrl-0 = <&vcc3v3_lcd0_n_en>;
0140
0141 regulator-state-mem {
0142 regulator-off-in-suspend;
0143 };
0144 };
0145
0146 vcc3v3_lcd1_n: vcc3v3-lcd1-n {
0147 compatible = "regulator-fixed";
0148 regulator-name = "vcc3v3_lcd1_n";
0149 regulator-min-microvolt = <3300000>;
0150 regulator-max-microvolt = <3300000>;
0151 enable-active-high;
0152 gpio = <&gpio0 RK_PC5 GPIO_ACTIVE_HIGH>;
0153 vin-supply = <&vcc3v3_sys>;
0154 pinctrl-names = "default";
0155 pinctrl-0 = <&vcc3v3_lcd1_n_en>;
0156
0157 regulator-state-mem {
0158 regulator-off-in-suspend;
0159 };
0160 };
0161 };
0162
0163 &combphy0 {
0164 status = "okay";
0165 };
0166
0167 &combphy1 {
0168 status = "okay";
0169 };
0170
0171 &cpu0 {
0172 cpu-supply = <&vdd_cpu>;
0173 };
0174
0175 &cpu1 {
0176 cpu-supply = <&vdd_cpu>;
0177 };
0178
0179 &cpu2 {
0180 cpu-supply = <&vdd_cpu>;
0181 };
0182
0183 &cpu3 {
0184 cpu-supply = <&vdd_cpu>;
0185 };
0186
0187 &gmac0 {
0188 assigned-clocks = <&cru SCLK_GMAC0_RX_TX>, <&cru SCLK_GMAC0>;
0189 assigned-clock-parents = <&cru SCLK_GMAC0_RGMII_SPEED>;
0190 assigned-clock-rates = <0>, <125000000>;
0191 clock_in_out = "output";
0192 phy-handle = <&rgmii_phy0>;
0193 phy-mode = "rgmii-id";
0194 pinctrl-names = "default";
0195 pinctrl-0 = <&gmac0_miim
0196 &gmac0_tx_bus2
0197 &gmac0_rx_bus2
0198 &gmac0_rgmii_clk
0199 &gmac0_rgmii_bus>;
0200 status = "okay";
0201 };
0202
0203 &gmac1 {
0204 assigned-clocks = <&cru SCLK_GMAC1_RX_TX>, <&cru SCLK_GMAC1>;
0205 assigned-clock-parents = <&cru SCLK_GMAC1_RGMII_SPEED>;
0206 assigned-clock-rates = <0>, <125000000>;
0207 clock_in_out = "output";
0208 phy-handle = <&rgmii_phy1>;
0209 phy-mode = "rgmii-id";
0210 pinctrl-names = "default";
0211 pinctrl-0 = <&gmac1m1_miim
0212 &gmac1m1_tx_bus2
0213 &gmac1m1_rx_bus2
0214 &gmac1m1_rgmii_clk
0215 &gmac1m1_rgmii_bus>;
0216 status = "okay";
0217 };
0218
0219 &gpu {
0220 mali-supply = <&vdd_gpu>;
0221 status = "okay";
0222 };
0223
0224 &hdmi {
0225 avdd-0v9-supply = <&vdda0v9_image>;
0226 avdd-1v8-supply = <&vcca1v8_image>;
0227 status = "okay";
0228 };
0229
0230 &hdmi_in {
0231 hdmi_in_vp0: endpoint {
0232 remote-endpoint = <&vp0_out_hdmi>;
0233 };
0234 };
0235
0236 &hdmi_out {
0237 hdmi_out_con: endpoint {
0238 remote-endpoint = <&hdmi_con_in>;
0239 };
0240 };
0241
0242 &hdmi_sound {
0243 status = "okay";
0244 };
0245
0246 &i2c0 {
0247 status = "okay";
0248
0249 vdd_cpu: regulator@1c {
0250 compatible = "tcs,tcs4525";
0251 reg = <0x1c>;
0252 fcs,suspend-voltage-selector = <1>;
0253 regulator-name = "vdd_cpu";
0254 regulator-always-on;
0255 regulator-boot-on;
0256 regulator-min-microvolt = <800000>;
0257 regulator-max-microvolt = <1150000>;
0258 regulator-ramp-delay = <2300>;
0259 vin-supply = <&vcc5v0_sys>;
0260
0261 regulator-state-mem {
0262 regulator-off-in-suspend;
0263 };
0264 };
0265
0266 rk809: pmic@20 {
0267 compatible = "rockchip,rk809";
0268 reg = <0x20>;
0269 interrupt-parent = <&gpio0>;
0270 interrupts = <RK_PA3 IRQ_TYPE_LEVEL_LOW>;
0271 assigned-clocks = <&cru I2S1_MCLKOUT_TX>;
0272 assigned-clock-parents = <&cru CLK_I2S1_8CH_TX>;
0273 #clock-cells = <1>;
0274 clock-names = "mclk";
0275 clocks = <&cru I2S1_MCLKOUT_TX>;
0276 pinctrl-names = "default";
0277 pinctrl-0 = <&pmic_int>, <&i2s1m0_mclk>;
0278 rockchip,system-power-controller;
0279 #sound-dai-cells = <0>;
0280 vcc1-supply = <&vcc3v3_sys>;
0281 vcc2-supply = <&vcc3v3_sys>;
0282 vcc3-supply = <&vcc3v3_sys>;
0283 vcc4-supply = <&vcc3v3_sys>;
0284 vcc5-supply = <&vcc3v3_sys>;
0285 vcc6-supply = <&vcc3v3_sys>;
0286 vcc7-supply = <&vcc3v3_sys>;
0287 vcc8-supply = <&vcc3v3_sys>;
0288 vcc9-supply = <&vcc3v3_sys>;
0289 wakeup-source;
0290
0291 regulators {
0292 vdd_logic: DCDC_REG1 {
0293 regulator-name = "vdd_logic";
0294 regulator-always-on;
0295 regulator-boot-on;
0296 regulator-init-microvolt = <900000>;
0297 regulator-initial-mode = <0x2>;
0298 regulator-min-microvolt = <500000>;
0299 regulator-max-microvolt = <1350000>;
0300 regulator-ramp-delay = <6001>;
0301
0302 regulator-state-mem {
0303 regulator-off-in-suspend;
0304 };
0305 };
0306
0307 vdd_gpu: DCDC_REG2 {
0308 regulator-name = "vdd_gpu";
0309 regulator-always-on;
0310 regulator-init-microvolt = <900000>;
0311 regulator-initial-mode = <0x2>;
0312 regulator-min-microvolt = <500000>;
0313 regulator-max-microvolt = <1350000>;
0314 regulator-ramp-delay = <6001>;
0315
0316 regulator-state-mem {
0317 regulator-off-in-suspend;
0318 };
0319 };
0320
0321 vcc_ddr: DCDC_REG3 {
0322 regulator-name = "vcc_ddr";
0323 regulator-always-on;
0324 regulator-boot-on;
0325 regulator-initial-mode = <0x2>;
0326
0327 regulator-state-mem {
0328 regulator-on-in-suspend;
0329 };
0330 };
0331
0332 vdd_npu: DCDC_REG4 {
0333 regulator-name = "vdd_npu";
0334 regulator-init-microvolt = <900000>;
0335 regulator-initial-mode = <0x2>;
0336 regulator-min-microvolt = <500000>;
0337 regulator-max-microvolt = <1350000>;
0338 regulator-ramp-delay = <6001>;
0339
0340 regulator-state-mem {
0341 regulator-off-in-suspend;
0342 };
0343 };
0344
0345 vcc_1v8: DCDC_REG5 {
0346 regulator-name = "vcc_1v8";
0347 regulator-always-on;
0348 regulator-boot-on;
0349 regulator-min-microvolt = <1800000>;
0350 regulator-max-microvolt = <1800000>;
0351
0352 regulator-state-mem {
0353 regulator-off-in-suspend;
0354 };
0355 };
0356
0357 vdda0v9_image: LDO_REG1 {
0358 regulator-name = "vdda0v9_image";
0359 regulator-min-microvolt = <900000>;
0360 regulator-max-microvolt = <900000>;
0361
0362 regulator-state-mem {
0363 regulator-off-in-suspend;
0364 };
0365 };
0366
0367 vdda_0v9: LDO_REG2 {
0368 regulator-name = "vdda_0v9";
0369 regulator-always-on;
0370 regulator-boot-on;
0371 regulator-min-microvolt = <900000>;
0372 regulator-max-microvolt = <900000>;
0373
0374 regulator-state-mem {
0375 regulator-off-in-suspend;
0376 };
0377 };
0378
0379 vdda0v9_pmu: LDO_REG3 {
0380 regulator-name = "vdda0v9_pmu";
0381 regulator-always-on;
0382 regulator-boot-on;
0383 regulator-min-microvolt = <900000>;
0384 regulator-max-microvolt = <900000>;
0385
0386 regulator-state-mem {
0387 regulator-on-in-suspend;
0388 regulator-suspend-microvolt = <900000>;
0389 };
0390 };
0391
0392 vccio_acodec: LDO_REG4 {
0393 regulator-name = "vccio_acodec";
0394 regulator-always-on;
0395 regulator-min-microvolt = <3300000>;
0396 regulator-max-microvolt = <3300000>;
0397
0398 regulator-state-mem {
0399 regulator-off-in-suspend;
0400 };
0401 };
0402
0403 vccio_sd: LDO_REG5 {
0404 regulator-name = "vccio_sd";
0405 regulator-min-microvolt = <1800000>;
0406 regulator-max-microvolt = <3300000>;
0407
0408 regulator-state-mem {
0409 regulator-off-in-suspend;
0410 };
0411 };
0412
0413 vcc3v3_pmu: LDO_REG6 {
0414 regulator-name = "vcc3v3_pmu";
0415 regulator-always-on;
0416 regulator-boot-on;
0417 regulator-min-microvolt = <3300000>;
0418 regulator-max-microvolt = <3300000>;
0419
0420 regulator-state-mem {
0421 regulator-on-in-suspend;
0422 regulator-suspend-microvolt = <3300000>;
0423 };
0424 };
0425
0426 vcca_1v8: LDO_REG7 {
0427 regulator-name = "vcca_1v8";
0428 regulator-always-on;
0429 regulator-boot-on;
0430 regulator-min-microvolt = <1800000>;
0431 regulator-max-microvolt = <1800000>;
0432
0433 regulator-state-mem {
0434 regulator-off-in-suspend;
0435 };
0436 };
0437
0438 vcca1v8_pmu: LDO_REG8 {
0439 regulator-name = "vcca1v8_pmu";
0440 regulator-always-on;
0441 regulator-boot-on;
0442 regulator-min-microvolt = <1800000>;
0443 regulator-max-microvolt = <1800000>;
0444
0445 regulator-state-mem {
0446 regulator-on-in-suspend;
0447 regulator-suspend-microvolt = <1800000>;
0448 };
0449 };
0450
0451 vcca1v8_image: LDO_REG9 {
0452 regulator-name = "vcca1v8_image";
0453 regulator-min-microvolt = <1800000>;
0454 regulator-max-microvolt = <1800000>;
0455
0456 regulator-state-mem {
0457 regulator-off-in-suspend;
0458 };
0459 };
0460
0461 vcc_3v3: SWITCH_REG1 {
0462 regulator-name = "vcc_3v3";
0463 regulator-always-on;
0464 regulator-boot-on;
0465
0466 regulator-state-mem {
0467 regulator-off-in-suspend;
0468 };
0469 };
0470
0471 vcc3v3_sd: SWITCH_REG2 {
0472 regulator-name = "vcc3v3_sd";
0473
0474 regulator-state-mem {
0475 regulator-off-in-suspend;
0476 };
0477 };
0478 };
0479
0480 codec {
0481 mic-in-differential;
0482 };
0483 };
0484 };
0485
0486 &i2c1 {
0487 status = "okay";
0488
0489 touchscreen0: goodix@14 {
0490 compatible = "goodix,gt1151";
0491 reg = <0x14>;
0492 interrupt-parent = <&gpio0>;
0493 interrupts = <RK_PB5 IRQ_TYPE_EDGE_FALLING>;
0494 AVDD28-supply = <&vcc3v3_lcd0_n>;
0495 irq-gpios = <&gpio0 RK_PB5 GPIO_ACTIVE_HIGH>;
0496 pinctrl-names = "default";
0497 pinctrl-0 = <&touch_int &touch_rst>;
0498 reset-gpios = <&gpio0 RK_PB6 GPIO_ACTIVE_HIGH>;
0499 VDDIO-supply = <&vcc3v3_lcd0_n>;
0500 };
0501 };
0502
0503 &i2s0_8ch {
0504 status = "okay";
0505 };
0506
0507 &i2s1_8ch {
0508 rockchip,trcm-sync-tx-only;
0509 status = "okay";
0510 };
0511
0512 &mdio0 {
0513 rgmii_phy0: ethernet-phy@0 {
0514 compatible = "ethernet-phy-ieee802.3-c22";
0515 reg = <0x0>;
0516 reset-assert-us = <20000>;
0517 reset-deassert-us = <100000>;
0518 reset-gpios = <&gpio2 RK_PD3 GPIO_ACTIVE_LOW>;
0519 };
0520 };
0521
0522 &mdio1 {
0523 rgmii_phy1: ethernet-phy@0 {
0524 compatible = "ethernet-phy-ieee802.3-c22";
0525 reg = <0x0>;
0526 reset-assert-us = <20000>;
0527 reset-deassert-us = <100000>;
0528 reset-gpios = <&gpio2 RK_PD1 GPIO_ACTIVE_LOW>;
0529 };
0530 };
0531
0532 &pinctrl {
0533 display {
0534 vcc3v3_lcd0_n_en: vcc3v3_lcd0_n_en {
0535 rockchip,pins = <0 RK_PC7 0 &pcfg_pull_none>;
0536 };
0537 vcc3v3_lcd1_n_en: vcc3v3_lcd1_n_en {
0538 rockchip,pins = <0 RK_PC5 0 &pcfg_pull_none>;
0539 };
0540 };
0541
0542 leds {
0543 led_work_en: led_work_en {
0544 rockchip,pins = <0 RK_PC0 RK_FUNC_GPIO &pcfg_pull_none>;
0545 };
0546 };
0547
0548 pmic {
0549 pmic_int: pmic_int {
0550 rockchip,pins =
0551 <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>;
0552 };
0553 };
0554
0555 touchscreen {
0556 touch_int: touch_int {
0557 rockchip,pins = <0 RK_PB5 RK_FUNC_GPIO &pcfg_pull_up>;
0558 };
0559 touch_rst: touch_rst {
0560 rockchip,pins = <0 RK_PB6 RK_FUNC_GPIO &pcfg_pull_none>;
0561 };
0562 };
0563
0564 usb {
0565 vcc5v0_usb_host_en: vcc5v0_usb_host_en {
0566 rockchip,pins = <0 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>;
0567 };
0568 vcc5v0_usb_otg_en: vcc5v0_usb_otg_en {
0569 rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>;
0570 };
0571 };
0572 };
0573
0574 &pmu_io_domains {
0575 pmuio1-supply = <&vcc3v3_pmu>;
0576 pmuio2-supply = <&vcc3v3_pmu>;
0577 vccio1-supply = <&vccio_acodec>;
0578 vccio2-supply = <&vcc_1v8>;
0579 vccio3-supply = <&vccio_sd>;
0580 vccio4-supply = <&vcc_1v8>;
0581 vccio5-supply = <&vcc_3v3>;
0582 vccio6-supply = <&vcc_1v8>;
0583 vccio7-supply = <&vcc_3v3>;
0584 status = "okay";
0585 };
0586
0587 &saradc {
0588 vref-supply = <&vcca_1v8>;
0589 status = "okay";
0590 };
0591
0592 &sdhci {
0593 bus-width = <8>;
0594 max-frequency = <200000000>;
0595 non-removable;
0596 pinctrl-names = "default";
0597 pinctrl-0 = <&emmc_bus8 &emmc_clk &emmc_cmd &emmc_datastrobe>;
0598 status = "okay";
0599 };
0600
0601 &sdmmc0 {
0602 bus-width = <4>;
0603 cap-sd-highspeed;
0604 cd-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_LOW>;
0605 disable-wp;
0606 pinctrl-names = "default";
0607 pinctrl-0 = <&sdmmc0_bus4 &sdmmc0_clk &sdmmc0_cmd &sdmmc0_det>;
0608 sd-uhs-sdr104;
0609 vmmc-supply = <&vcc3v3_sd>;
0610 vqmmc-supply = <&vccio_sd>;
0611 status = "okay";
0612 };
0613
0614 &tsadc {
0615 rockchip,hw-tshut-mode = <1>;
0616 rockchip,hw-tshut-polarity = <0>;
0617 status = "okay";
0618 };
0619
0620 &uart2 {
0621 status = "okay";
0622 };
0623
0624 &usb_host0_ehci {
0625 status = "okay";
0626 };
0627
0628 &usb_host0_ohci {
0629 status = "okay";
0630 };
0631
0632 &usb_host0_xhci {
0633 extcon = <&usb2phy0>;
0634 status = "okay";
0635 };
0636
0637 &usb_host1_ehci {
0638 status = "okay";
0639 };
0640
0641 &usb_host1_ohci {
0642 status = "okay";
0643 };
0644
0645 &usb_host1_xhci {
0646 status = "okay";
0647 };
0648
0649 &usb2phy0 {
0650 status = "okay";
0651 };
0652
0653 &usb2phy0_host {
0654 phy-supply = <&vcc5v0_usb_host>;
0655 status = "okay";
0656 };
0657
0658 &usb2phy0_otg {
0659 phy-supply = <&vcc5v0_usb_otg>;
0660 status = "okay";
0661 };
0662
0663 &usb2phy1 {
0664 status = "okay";
0665 };
0666
0667 &usb2phy1_host {
0668 phy-supply = <&vcc5v0_usb_host>;
0669 status = "okay";
0670 };
0671
0672 &usb2phy1_otg {
0673 phy-supply = <&vcc5v0_usb_host>;
0674 status = "okay";
0675 };
0676
0677 &vop {
0678 assigned-clocks = <&cru DCLK_VOP0>, <&cru DCLK_VOP1>;
0679 assigned-clock-parents = <&pmucru PLL_HPLL>, <&cru PLL_VPLL>;
0680 status = "okay";
0681 };
0682
0683 &vop_mmu {
0684 status = "okay";
0685 };
0686
0687 &vp0 {
0688 vp0_out_hdmi: endpoint@ROCKCHIP_VOP2_EP_HDMI0 {
0689 reg = <ROCKCHIP_VOP2_EP_HDMI0>;
0690 remote-endpoint = <&hdmi_in_vp0>;
0691 };
0692 };