1// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2/* 3 * Copyright (c) 2021 Rockchip Electronics Co., Ltd. 4 * 5 */ 6 7/dts-v1/; 8#include <dt-bindings/gpio/gpio.h> 9#include <dt-bindings/leds/common.h> 10#include <dt-bindings/pinctrl/rockchip.h> 11#include "rk3568.dtsi" 12 13/ { 14 model = "Rockchip RK3568 EVB1 DDR4 V10 Board"; 15 compatible = "rockchip,rk3568-evb1-v10", "rockchip,rk3568"; 16 17 aliases { 18 ethernet0 = &gmac0; 19 ethernet1 = &gmac1; 20 mmc0 = &sdmmc0; 21 mmc1 = &sdhci; 22 }; 23 24 chosen: chosen { 25 stdout-path = "serial2:1500000n8"; 26 }; 27 28 dc_12v: dc-12v { 29 compatible = "regulator-fixed"; 30 regulator-name = "dc_12v"; 31 regulator-always-on; 32 regulator-boot-on; 33 regulator-min-microvolt = <12000000>; 34 regulator-max-microvolt = <12000000>; 35 }; 36 37 leds { 38 compatible = "gpio-leds"; 39 40 led_work: led-0 { 41 gpios = <&gpio0 RK_PC0 GPIO_ACTIVE_HIGH>; 42 function = LED_FUNCTION_HEARTBEAT; 43 color = <LED_COLOR_ID_BLUE>; 44 linux,default-trigger = "heartbeat"; 45 pinctrl-names = "default"; 46 pinctrl-0 = <&led_work_en>; 47 }; 48 }; 49 50 rk809-sound { 51 compatible = "simple-audio-card"; 52 simple-audio-card,format = "i2s"; 53 simple-audio-card,name = "Analog RK809"; 54 simple-audio-card,mclk-fs = <256>; 55 56 simple-audio-card,cpu { 57 sound-dai = <&i2s1_8ch>; 58 }; 59 simple-audio-card,codec { 60 sound-dai = <&rk809>; 61 }; 62 }; 63 64 vcc3v3_sys: vcc3v3-sys { 65 compatible = "regulator-fixed"; 66 regulator-name = "vcc3v3_sys"; 67 regulator-always-on; 68 regulator-boot-on; 69 regulator-min-microvolt = <3300000>; 70 regulator-max-microvolt = <3300000>; 71 vin-supply = <&dc_12v>; 72 }; 73 74 vcc5v0_sys: vcc5v0-sys { 75 compatible = "regulator-fixed"; 76 regulator-name = "vcc5v0_sys"; 77 regulator-always-on; 78 regulator-boot-on; 79 regulator-min-microvolt = <5000000>; 80 regulator-max-microvolt = <5000000>; 81 vin-supply = <&dc_12v>; 82 }; 83 84 vcc5v0_usb: vcc5v0-usb { 85 compatible = "regulator-fixed"; 86 regulator-name = "vcc5v0_usb"; 87 regulator-always-on; 88 regulator-boot-on; 89 regulator-min-microvolt = <5000000>; 90 regulator-max-microvolt = <5000000>; 91 vin-supply = <&dc_12v>; 92 }; 93 94 vcc5v0_usb_host: vcc5v0-usb-host { 95 compatible = "regulator-fixed"; 96 enable-active-high; 97 gpio = <&gpio0 RK_PA6 GPIO_ACTIVE_HIGH>; 98 pinctrl-names = "default"; 99 pinctrl-0 = <&vcc5v0_usb_host_en>; 100 regulator-name = "vcc5v0_usb_host"; 101 regulator-min-microvolt = <5000000>; 102 regulator-max-microvolt = <5000000>; 103 vin-supply = <&vcc5v0_usb>; 104 }; 105 106 vcc5v0_usb_otg: vcc5v0-usb-otg { 107 compatible = "regulator-fixed"; 108 enable-active-high; 109 gpio = <&gpio0 RK_PA5 GPIO_ACTIVE_HIGH>; 110 pinctrl-names = "default"; 111 pinctrl-0 = <&vcc5v0_usb_otg_en>; 112 regulator-name = "vcc5v0_usb_otg"; 113 regulator-min-microvolt = <5000000>; 114 regulator-max-microvolt = <5000000>; 115 vin-supply = <&vcc5v0_usb>; 116 }; 117 118 vcc3v3_lcd0_n: vcc3v3-lcd0-n { 119 compatible = "regulator-fixed"; 120 regulator-name = "vcc3v3_lcd0_n"; 121 regulator-min-microvolt = <3300000>; 122 regulator-max-microvolt = <3300000>; 123 enable-active-high; 124 gpio = <&gpio0 RK_PC7 GPIO_ACTIVE_HIGH>; 125 vin-supply = <&vcc3v3_sys>; 126 pinctrl-names = "default"; 127 pinctrl-0 = <&vcc3v3_lcd0_n_en>; 128 129 regulator-state-mem { 130 regulator-off-in-suspend; 131 }; 132 }; 133 134 vcc3v3_lcd1_n: vcc3v3-lcd1-n { 135 compatible = "regulator-fixed"; 136 regulator-name = "vcc3v3_lcd1_n"; 137 regulator-min-microvolt = <3300000>; 138 regulator-max-microvolt = <3300000>; 139 enable-active-high; 140 gpio = <&gpio0 RK_PC5 GPIO_ACTIVE_HIGH>; 141 vin-supply = <&vcc3v3_sys>; 142 pinctrl-names = "default"; 143 pinctrl-0 = <&vcc3v3_lcd1_n_en>; 144 145 regulator-state-mem { 146 regulator-off-in-suspend; 147 }; 148 }; 149}; 150 151&combphy0 { 152 status = "okay"; 153}; 154 155&combphy1 { 156 status = "okay"; 157}; 158 159&cpu0 { 160 cpu-supply = <&vdd_cpu>; 161}; 162 163&cpu1 { 164 cpu-supply = <&vdd_cpu>; 165}; 166 167&cpu2 { 168 cpu-supply = <&vdd_cpu>; 169}; 170 171&cpu3 { 172 cpu-supply = <&vdd_cpu>; 173}; 174 175&gmac0 { 176 assigned-clocks = <&cru SCLK_GMAC0_RX_TX>, <&cru SCLK_GMAC0>; 177 assigned-clock-parents = <&cru SCLK_GMAC0_RGMII_SPEED>; 178 assigned-clock-rates = <0>, <125000000>; 179 clock_in_out = "output"; 180 phy-handle = <&rgmii_phy0>; 181 phy-mode = "rgmii-id"; 182 pinctrl-names = "default"; 183 pinctrl-0 = <&gmac0_miim 184 &gmac0_tx_bus2 185 &gmac0_rx_bus2 186 &gmac0_rgmii_clk 187 &gmac0_rgmii_bus>; 188 status = "okay"; 189}; 190 191&gmac1 { 192 assigned-clocks = <&cru SCLK_GMAC1_RX_TX>, <&cru SCLK_GMAC1>; 193 assigned-clock-parents = <&cru SCLK_GMAC1_RGMII_SPEED>; 194 assigned-clock-rates = <0>, <125000000>; 195 clock_in_out = "output"; 196 phy-handle = <&rgmii_phy1>; 197 phy-mode = "rgmii-id"; 198 pinctrl-names = "default"; 199 pinctrl-0 = <&gmac1m1_miim 200 &gmac1m1_tx_bus2 201 &gmac1m1_rx_bus2 202 &gmac1m1_rgmii_clk 203 &gmac1m1_rgmii_bus>; 204 status = "okay"; 205}; 206 207&gpu { 208 mali-supply = <&vdd_gpu>; 209 status = "okay"; 210}; 211 212&i2c0 { 213 status = "okay"; 214 215 vdd_cpu: regulator@1c { 216 compatible = "tcs,tcs4525"; 217 reg = <0x1c>; 218 fcs,suspend-voltage-selector = <1>; 219 regulator-name = "vdd_cpu"; 220 regulator-always-on; 221 regulator-boot-on; 222 regulator-min-microvolt = <800000>; 223 regulator-max-microvolt = <1150000>; 224 regulator-ramp-delay = <2300>; 225 vin-supply = <&vcc5v0_sys>; 226 227 regulator-state-mem { 228 regulator-off-in-suspend; 229 }; 230 }; 231 232 rk809: pmic@20 { 233 compatible = "rockchip,rk809"; 234 reg = <0x20>; 235 interrupt-parent = <&gpio0>; 236 interrupts = <RK_PA3 IRQ_TYPE_LEVEL_LOW>; 237 assigned-clocks = <&cru I2S1_MCLKOUT_TX>; 238 assigned-clock-parents = <&cru CLK_I2S1_8CH_TX>; 239 #clock-cells = <1>; 240 clock-names = "mclk"; 241 clocks = <&cru I2S1_MCLKOUT_TX>; 242 pinctrl-names = "default"; 243 pinctrl-0 = <&pmic_int>, <&i2s1m0_mclk>; 244 rockchip,system-power-controller; 245 #sound-dai-cells = <0>; 246 vcc1-supply = <&vcc3v3_sys>; 247 vcc2-supply = <&vcc3v3_sys>; 248 vcc3-supply = <&vcc3v3_sys>; 249 vcc4-supply = <&vcc3v3_sys>; 250 vcc5-supply = <&vcc3v3_sys>; 251 vcc6-supply = <&vcc3v3_sys>; 252 vcc7-supply = <&vcc3v3_sys>; 253 vcc8-supply = <&vcc3v3_sys>; 254 vcc9-supply = <&vcc3v3_sys>; 255 wakeup-source; 256 257 regulators { 258 vdd_logic: DCDC_REG1 { 259 regulator-name = "vdd_logic"; 260 regulator-always-on; 261 regulator-boot-on; 262 regulator-init-microvolt = <900000>; 263 regulator-initial-mode = <0x2>; 264 regulator-min-microvolt = <500000>; 265 regulator-max-microvolt = <1350000>; 266 regulator-ramp-delay = <6001>; 267 268 regulator-state-mem { 269 regulator-off-in-suspend; 270 }; 271 }; 272 273 vdd_gpu: DCDC_REG2 { 274 regulator-name = "vdd_gpu"; 275 regulator-always-on; 276 regulator-init-microvolt = <900000>; 277 regulator-initial-mode = <0x2>; 278 regulator-min-microvolt = <500000>; 279 regulator-max-microvolt = <1350000>; 280 regulator-ramp-delay = <6001>; 281 282 regulator-state-mem { 283 regulator-off-in-suspend; 284 }; 285 }; 286 287 vcc_ddr: DCDC_REG3 { 288 regulator-name = "vcc_ddr"; 289 regulator-always-on; 290 regulator-boot-on; 291 regulator-initial-mode = <0x2>; 292 293 regulator-state-mem { 294 regulator-on-in-suspend; 295 }; 296 }; 297 298 vdd_npu: DCDC_REG4 { 299 regulator-name = "vdd_npu"; 300 regulator-init-microvolt = <900000>; 301 regulator-initial-mode = <0x2>; 302 regulator-min-microvolt = <500000>; 303 regulator-max-microvolt = <1350000>; 304 regulator-ramp-delay = <6001>; 305 306 regulator-state-mem { 307 regulator-off-in-suspend; 308 }; 309 }; 310 311 vcc_1v8: DCDC_REG5 { 312 regulator-name = "vcc_1v8"; 313 regulator-always-on; 314 regulator-boot-on; 315 regulator-min-microvolt = <1800000>; 316 regulator-max-microvolt = <1800000>; 317 318 regulator-state-mem { 319 regulator-off-in-suspend; 320 }; 321 }; 322 323 vdda0v9_image: LDO_REG1 { 324 regulator-name = "vdda0v9_image"; 325 regulator-min-microvolt = <900000>; 326 regulator-max-microvolt = <900000>; 327 328 regulator-state-mem { 329 regulator-off-in-suspend; 330 }; 331 }; 332 333 vdda_0v9: LDO_REG2 { 334 regulator-name = "vdda_0v9"; 335 regulator-always-on; 336 regulator-boot-on; 337 regulator-min-microvolt = <900000>; 338 regulator-max-microvolt = <900000>; 339 340 regulator-state-mem { 341 regulator-off-in-suspend; 342 }; 343 }; 344 345 vdda0v9_pmu: LDO_REG3 { 346 regulator-name = "vdda0v9_pmu"; 347 regulator-always-on; 348 regulator-boot-on; 349 regulator-min-microvolt = <900000>; 350 regulator-max-microvolt = <900000>; 351 352 regulator-state-mem { 353 regulator-on-in-suspend; 354 regulator-suspend-microvolt = <900000>; 355 }; 356 }; 357 358 vccio_acodec: LDO_REG4 { 359 regulator-name = "vccio_acodec"; 360 regulator-always-on; 361 regulator-min-microvolt = <3300000>; 362 regulator-max-microvolt = <3300000>; 363 364 regulator-state-mem { 365 regulator-off-in-suspend; 366 }; 367 }; 368 369 vccio_sd: LDO_REG5 { 370 regulator-name = "vccio_sd"; 371 regulator-min-microvolt = <1800000>; 372 regulator-max-microvolt = <3300000>; 373 374 regulator-state-mem { 375 regulator-off-in-suspend; 376 }; 377 }; 378 379 vcc3v3_pmu: LDO_REG6 { 380 regulator-name = "vcc3v3_pmu"; 381 regulator-always-on; 382 regulator-boot-on; 383 regulator-min-microvolt = <3300000>; 384 regulator-max-microvolt = <3300000>; 385 386 regulator-state-mem { 387 regulator-on-in-suspend; 388 regulator-suspend-microvolt = <3300000>; 389 }; 390 }; 391 392 vcca_1v8: LDO_REG7 { 393 regulator-name = "vcca_1v8"; 394 regulator-always-on; 395 regulator-boot-on; 396 regulator-min-microvolt = <1800000>; 397 regulator-max-microvolt = <1800000>; 398 399 regulator-state-mem { 400 regulator-off-in-suspend; 401 }; 402 }; 403 404 vcca1v8_pmu: LDO_REG8 { 405 regulator-name = "vcca1v8_pmu"; 406 regulator-always-on; 407 regulator-boot-on; 408 regulator-min-microvolt = <1800000>; 409 regulator-max-microvolt = <1800000>; 410 411 regulator-state-mem { 412 regulator-on-in-suspend; 413 regulator-suspend-microvolt = <1800000>; 414 }; 415 }; 416 417 vcca1v8_image: LDO_REG9 { 418 regulator-name = "vcca1v8_image"; 419 regulator-min-microvolt = <1800000>; 420 regulator-max-microvolt = <1800000>; 421 422 regulator-state-mem { 423 regulator-off-in-suspend; 424 }; 425 }; 426 427 vcc_3v3: SWITCH_REG1 { 428 regulator-name = "vcc_3v3"; 429 regulator-always-on; 430 regulator-boot-on; 431 432 regulator-state-mem { 433 regulator-off-in-suspend; 434 }; 435 }; 436 437 vcc3v3_sd: SWITCH_REG2 { 438 regulator-name = "vcc3v3_sd"; 439 440 regulator-state-mem { 441 regulator-off-in-suspend; 442 }; 443 }; 444 }; 445 446 codec { 447 mic-in-differential; 448 }; 449 }; 450}; 451 452&i2c1 { 453 status = "okay"; 454 455 touchscreen0: goodix@14 { 456 compatible = "goodix,gt1151"; 457 reg = <0x14>; 458 interrupt-parent = <&gpio0>; 459 interrupts = <RK_PB5 IRQ_TYPE_EDGE_FALLING>; 460 AVDD28-supply = <&vcc3v3_lcd0_n>; 461 irq-gpios = <&gpio0 RK_PB5 GPIO_ACTIVE_HIGH>; 462 pinctrl-names = "default"; 463 pinctrl-0 = <&touch_int &touch_rst>; 464 reset-gpios = <&gpio0 RK_PB6 GPIO_ACTIVE_HIGH>; 465 VDDIO-supply = <&vcc3v3_lcd0_n>; 466 }; 467}; 468 469&i2s1_8ch { 470 rockchip,trcm-sync-tx-only; 471 status = "okay"; 472}; 473 474&mdio0 { 475 rgmii_phy0: ethernet-phy@0 { 476 compatible = "ethernet-phy-ieee802.3-c22"; 477 reg = <0x0>; 478 reset-assert-us = <20000>; 479 reset-deassert-us = <100000>; 480 reset-gpios = <&gpio2 RK_PD3 GPIO_ACTIVE_LOW>; 481 }; 482}; 483 484&mdio1 { 485 rgmii_phy1: ethernet-phy@0 { 486 compatible = "ethernet-phy-ieee802.3-c22"; 487 reg = <0x0>; 488 reset-assert-us = <20000>; 489 reset-deassert-us = <100000>; 490 reset-gpios = <&gpio2 RK_PD1 GPIO_ACTIVE_LOW>; 491 }; 492}; 493 494&pinctrl { 495 display { 496 vcc3v3_lcd0_n_en: vcc3v3_lcd0_n_en { 497 rockchip,pins = <0 RK_PC7 0 &pcfg_pull_none>; 498 }; 499 vcc3v3_lcd1_n_en: vcc3v3_lcd1_n_en { 500 rockchip,pins = <0 RK_PC5 0 &pcfg_pull_none>; 501 }; 502 }; 503 504 leds { 505 led_work_en: led_work_en { 506 rockchip,pins = <0 RK_PC0 RK_FUNC_GPIO &pcfg_pull_none>; 507 }; 508 }; 509 510 pmic { 511 pmic_int: pmic_int { 512 rockchip,pins = 513 <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>; 514 }; 515 }; 516 517 touchscreen { 518 touch_int: touch_int { 519 rockchip,pins = <0 RK_PB5 RK_FUNC_GPIO &pcfg_pull_up>; 520 }; 521 touch_rst: touch_rst { 522 rockchip,pins = <0 RK_PB6 RK_FUNC_GPIO &pcfg_pull_none>; 523 }; 524 }; 525 526 usb { 527 vcc5v0_usb_host_en: vcc5v0_usb_host_en { 528 rockchip,pins = <0 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>; 529 }; 530 vcc5v0_usb_otg_en: vcc5v0_usb_otg_en { 531 rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>; 532 }; 533 }; 534}; 535 536&pmu_io_domains { 537 pmuio1-supply = <&vcc3v3_pmu>; 538 pmuio2-supply = <&vcc3v3_pmu>; 539 vccio1-supply = <&vccio_acodec>; 540 vccio2-supply = <&vcc_1v8>; 541 vccio3-supply = <&vccio_sd>; 542 vccio4-supply = <&vcc_1v8>; 543 vccio5-supply = <&vcc_3v3>; 544 vccio6-supply = <&vcc_1v8>; 545 vccio7-supply = <&vcc_3v3>; 546 status = "okay"; 547}; 548 549&saradc { 550 vref-supply = <&vcca_1v8>; 551 status = "okay"; 552}; 553 554&sdhci { 555 bus-width = <8>; 556 max-frequency = <200000000>; 557 non-removable; 558 pinctrl-names = "default"; 559 pinctrl-0 = <&emmc_bus8 &emmc_clk &emmc_cmd &emmc_datastrobe>; 560 status = "okay"; 561}; 562 563&sdmmc0 { 564 bus-width = <4>; 565 cap-sd-highspeed; 566 cd-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_LOW>; 567 disable-wp; 568 pinctrl-names = "default"; 569 pinctrl-0 = <&sdmmc0_bus4 &sdmmc0_clk &sdmmc0_cmd &sdmmc0_det>; 570 sd-uhs-sdr104; 571 vmmc-supply = <&vcc3v3_sd>; 572 vqmmc-supply = <&vccio_sd>; 573 status = "okay"; 574}; 575 576&tsadc { 577 rockchip,hw-tshut-mode = <1>; 578 rockchip,hw-tshut-polarity = <0>; 579 status = "okay"; 580}; 581 582&uart2 { 583 status = "okay"; 584}; 585 586&usb_host0_ehci { 587 status = "okay"; 588}; 589 590&usb_host0_ohci { 591 status = "okay"; 592}; 593 594&usb_host0_xhci { 595 extcon = <&usb2phy0>; 596 status = "okay"; 597}; 598 599&usb_host1_ehci { 600 status = "okay"; 601}; 602 603&usb_host1_ohci { 604 status = "okay"; 605}; 606 607&usb_host1_xhci { 608 status = "okay"; 609}; 610 611&usb2phy0 { 612 status = "okay"; 613}; 614 615&usb2phy0_host { 616 phy-supply = <&vcc5v0_usb_host>; 617 status = "okay"; 618}; 619 620&usb2phy0_otg { 621 vbus-supply = <&vcc5v0_usb_otg>; 622 status = "okay"; 623}; 624 625&usb2phy1 { 626 status = "okay"; 627}; 628 629&usb2phy1_host { 630 phy-supply = <&vcc5v0_usb_host>; 631 status = "okay"; 632}; 633 634&usb2phy1_otg { 635 phy-supply = <&vcc5v0_usb_host>; 636 status = "okay"; 637}; 638