1// 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&tsadc { 652 status = "okay"; 653}; 654 655&u2phy2 { 656 status = "okay"; 657}; 658 659&u2phy2_host { 660 phy-supply = <&vcc5v0_host>; 661 status = "okay"; 662}; 663 664&u2phy3 { 665 status = "okay"; 666}; 667 668&u2phy3_host { 669 phy-supply = <&vcc5v0_host>; 670 status = "okay"; 671}; 672 673&uart2 { 674 pinctrl-0 = <&uart2m0_xfer>; 675 status = "okay"; 676}; 677 678&usb_host0_ehci { 679 status = "okay"; 680}; 681 682&usb_host0_ohci { 683 status = "okay"; 684}; 685 686&usb_host1_ehci { 687 status = "okay"; 688}; 689 690&usb_host1_ohci { 691 status = "okay"; 692}; 693