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-ramp-delay = <12500>; 432 433 regulator-state-mem { 434 regulator-off-in-suspend; 435 }; 436 }; 437 438 vdd_ddr_s0: dcdc-reg5 { 439 regulator-name = "vdd_ddr_s0"; 440 regulator-always-on; 441 regulator-boot-on; 442 regulator-min-microvolt = <675000>; 443 regulator-max-microvolt = <900000>; 444 regulator-ramp-delay = <12500>; 445 446 regulator-state-mem { 447 regulator-off-in-suspend; 448 regulator-suspend-microvolt = <850000>; 449 }; 450 }; 451 452 vdd2_ddr_s3: dcdc-reg6 { 453 regulator-name = "vdd2_ddr_s3"; 454 regulator-always-on; 455 regulator-boot-on; 456 457 regulator-state-mem { 458 regulator-on-in-suspend; 459 }; 460 }; 461 462 vcc_2v0_pldo_s3: dcdc-reg7 { 463 regulator-name = "vdd_2v0_pldo_s3"; 464 regulator-always-on; 465 regulator-boot-on; 466 regulator-min-microvolt = <2000000>; 467 regulator-max-microvolt = <2000000>; 468 469 regulator-state-mem { 470 regulator-on-in-suspend; 471 regulator-suspend-microvolt = <2000000>; 472 }; 473 }; 474 475 vcc_3v3_s3: dcdc-reg8 { 476 regulator-name = "vcc_3v3_s3"; 477 regulator-always-on; 478 regulator-boot-on; 479 regulator-min-microvolt = <3300000>; 480 regulator-max-microvolt = <3300000>; 481 482 regulator-state-mem { 483 regulator-on-in-suspend; 484 regulator-suspend-microvolt = <3300000>; 485 }; 486 }; 487 488 vddq_ddr_s0: dcdc-reg9 { 489 regulator-name = "vddq_ddr_s0"; 490 regulator-always-on; 491 regulator-boot-on; 492 493 regulator-state-mem { 494 regulator-off-in-suspend; 495 }; 496 }; 497 498 vcc_1v8_s3: dcdc-reg10 { 499 regulator-name = "vcc_1v8_s3"; 500 regulator-always-on; 501 regulator-boot-on; 502 regulator-min-microvolt = <1800000>; 503 regulator-max-microvolt = <1800000>; 504 505 regulator-state-mem { 506 regulator-on-in-suspend; 507 regulator-suspend-microvolt = <1800000>; 508 }; 509 }; 510 511 avcc_1v8_s0: pldo-reg1 { 512 regulator-name = "avcc_1v8_s0"; 513 regulator-always-on; 514 regulator-boot-on; 515 regulator-min-microvolt = <1800000>; 516 regulator-max-microvolt = <1800000>; 517 518 regulator-state-mem { 519 regulator-off-in-suspend; 520 }; 521 }; 522 523 vcc_1v8_s0: pldo-reg2 { 524 regulator-name = "vcc_1v8_s0"; 525 regulator-always-on; 526 regulator-boot-on; 527 regulator-min-microvolt = <1800000>; 528 regulator-max-microvolt = <1800000>; 529 530 regulator-state-mem { 531 regulator-off-in-suspend; 532 regulator-suspend-microvolt = <1800000>; 533 }; 534 }; 535 536 avdd_1v2_s0: pldo-reg3 { 537 regulator-name = "avdd_1v2_s0"; 538 regulator-always-on; 539 regulator-boot-on; 540 regulator-min-microvolt = <1200000>; 541 regulator-max-microvolt = <1200000>; 542 543 regulator-state-mem { 544 regulator-off-in-suspend; 545 }; 546 }; 547 548 vcc_3v3_s0: pldo-reg4 { 549 regulator-name = "vcc_3v3_s0"; 550 regulator-always-on; 551 regulator-boot-on; 552 regulator-min-microvolt = <3300000>; 553 regulator-max-microvolt = <3300000>; 554 555 regulator-state-mem { 556 regulator-off-in-suspend; 557 }; 558 }; 559 560 vccio_sd_s0: pldo-reg5 { 561 regulator-name = "vccio_sd_s0"; 562 regulator-always-on; 563 regulator-boot-on; 564 regulator-min-microvolt = <1800000>; 565 regulator-max-microvolt = <3300000>; 566 567 regulator-state-mem { 568 regulator-off-in-suspend; 569 }; 570 }; 571 572 pldo6_s3: pldo-reg6 { 573 regulator-name = "pldo6_s3"; 574 regulator-always-on; 575 regulator-boot-on; 576 regulator-min-microvolt = <1800000>; 577 regulator-max-microvolt = <1800000>; 578 579 regulator-state-mem { 580 regulator-on-in-suspend; 581 regulator-suspend-microvolt = <1800000>; 582 }; 583 }; 584 585 vdd_0v75_s3: nldo-reg1 { 586 regulator-name = "vdd_0v75_s3"; 587 regulator-always-on; 588 regulator-boot-on; 589 regulator-min-microvolt = <750000>; 590 regulator-max-microvolt = <750000>; 591 592 regulator-state-mem { 593 regulator-on-in-suspend; 594 regulator-suspend-microvolt = <750000>; 595 }; 596 }; 597 598 vdd_ddr_pll_s0: nldo-reg2 { 599 regulator-name = "vdd_ddr_pll_s0"; 600 regulator-always-on; 601 regulator-boot-on; 602 regulator-min-microvolt = <850000>; 603 regulator-max-microvolt = <850000>; 604 605 regulator-state-mem { 606 regulator-off-in-suspend; 607 regulator-suspend-microvolt = <850000>; 608 }; 609 }; 610 611 avdd_0v75_s0: nldo-reg3 { 612 regulator-name = "avdd_0v75_s0"; 613 regulator-always-on; 614 regulator-boot-on; 615 regulator-min-microvolt = <837500>; 616 regulator-max-microvolt = <837500>; 617 618 regulator-state-mem { 619 regulator-off-in-suspend; 620 }; 621 }; 622 623 vdd_0v85_s0: nldo-reg4 { 624 regulator-name = "vdd_0v85_s0"; 625 regulator-always-on; 626 regulator-boot-on; 627 regulator-min-microvolt = <850000>; 628 regulator-max-microvolt = <850000>; 629 630 regulator-state-mem { 631 regulator-off-in-suspend; 632 }; 633 }; 634 635 vdd_0v75_s0: nldo-reg5 { 636 regulator-name = "vdd_0v75_s0"; 637 regulator-always-on; 638 regulator-boot-on; 639 regulator-min-microvolt = <750000>; 640 regulator-max-microvolt = <750000>; 641 642 regulator-state-mem { 643 regulator-off-in-suspend; 644 }; 645 }; 646 }; 647 }; 648}; 649 650&tsadc { 651 status = "okay"; 652}; 653 654&u2phy2 { 655 status = "okay"; 656}; 657 658&u2phy2_host { 659 phy-supply = <&vcc5v0_host>; 660 status = "okay"; 661}; 662 663&u2phy3 { 664 status = "okay"; 665}; 666 667&u2phy3_host { 668 phy-supply = <&vcc5v0_host>; 669 status = "okay"; 670}; 671 672&uart2 { 673 pinctrl-0 = <&uart2m0_xfer>; 674 status = "okay"; 675}; 676 677&usb_host0_ehci { 678 status = "okay"; 679}; 680 681&usb_host0_ohci { 682 status = "okay"; 683}; 684 685&usb_host1_ehci { 686 status = "okay"; 687}; 688 689&usb_host1_ohci { 690 status = "okay"; 691}; 692