1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2 3 /dts-v1/; 4 5 #include <dt-bindings/gpio/gpio.h> 6 #include <dt-bindings/input/input.h> 7 #include <dt-bindings/leds/common.h> 8 #include <dt-bindings/pinctrl/rockchip.h> 9 #include <dt-bindings/soc/rockchip,vop2.h> 10 #include <dt-bindings/soc/rockchip,boot-mode.h 11 #include "rk3566.dtsi" 12 13 / { 14 model = "LCKFB Taishan Pi RK3566"; 15 compatible = "lckfb,tspi-rk3566", "roc 16 17 aliases { 18 mmc0 = &sdmmc0; 19 mmc1 = &sdhci; 20 mmc2 = &sdmmc1; 21 }; 22 23 chosen: chosen { 24 stdout-path = "serial2:1500000 25 }; 26 27 reserved-memory { 28 #address-cells = <2>; 29 #size-cells = <2>; 30 ranges; 31 32 ramoops: ramoops@110000 { 33 compatible = "ramoops" 34 reg = <0 0x110000 0 0x 35 console-size = <0x8000 36 ftrace-size = <0x00000 37 pmsg-size = <0x50000>; 38 record-size = <0x20000 39 }; 40 }; 41 42 adc_keys: adc-keys { 43 compatible = "adc-keys"; 44 io-channels = <&saradc 0>; 45 io-channel-names = "buttons"; 46 keyup-threshold-microvolt = <1 47 poll-interval = <100>; 48 49 button-recovery { 50 label = "recovery"; 51 linux,code = <KEY_REST 52 press-threshold-microv 53 }; 54 }; 55 56 hdmi_con: hdmi-con { 57 compatible = "hdmi-connector"; 58 type = "d"; 59 60 port { 61 hdmi_con_in: endpoint 62 remote-endpoin 63 }; 64 }; 65 }; 66 67 leds: leds { 68 compatible = "gpio-leds"; 69 70 rgb_led_r: rgb-led-r { 71 color = <LED_COLOR_ID_ 72 gpios = <&gpio1 RK_PB2 73 label = "status-red"; 74 }; 75 76 rgb_led_g: rgb-led-g { 77 gpios = <&gpio1 RK_PB1 78 color = <LED_COLOR_ID_ 79 label = "status-green" 80 }; 81 82 rgb_led_b: rgb-led-b { 83 gpios = <&gpio1 RK_PB0 84 color = <LED_COLOR_ID_ 85 label = "status-blue"; 86 }; 87 }; 88 89 multi_leds: multi-led { 90 compatible = "leds-group-multi 91 color = <LED_COLOR_ID_RGB>; 92 label = "status-rgb"; 93 function = LED_FUNCTION_INDICA 94 leds = <&rgb_led_r>, <&rgb_led 95 }; 96 97 vcc12v0_dcin: regulator-12v0-dcin { 98 compatible = "regulator-fixed" 99 regulator-name = "vcc12v0_dcin 100 regulator-always-on; 101 regulator-boot-on; 102 regulator-min-microvolt = <120 103 regulator-max-microvolt = <120 104 }; 105 106 vcc3v3_sys: regulator-3v3-vcc-sys { 107 compatible = "regulator-fixed" 108 regulator-name = "vcc3v3_sys"; 109 regulator-always-on; 110 regulator-boot-on; 111 regulator-min-microvolt = <330 112 regulator-max-microvolt = <330 113 vin-supply = <&vcc5v0_sys>; 114 }; 115 116 vcc5v0_sys: regulator-5v0-vcc-sys { 117 compatible = "regulator-fixed" 118 regulator-name = "vcc5v0_sys"; 119 regulator-always-on; 120 regulator-boot-on; 121 regulator-min-microvolt = <500 122 regulator-max-microvolt = <500 123 vin-supply = <&vcc12v0_dcin>; 124 }; 125 126 vcc5v0_host: regulator-5v0-vcc-host { 127 compatible = "regulator-fixed" 128 enable-active-high; 129 gpio = <&gpio4 RK_PC4 GPIO_ACT 130 pinctrl-names = "default"; 131 pinctrl-0 = <&vcc5v0_host_en>; 132 regulator-name = "vcc5v0_host" 133 regulator-min-microvolt = <500 134 regulator-max-microvolt = <500 135 vin-supply = <&vcc5v0_sys>; 136 }; 137 138 sdio_pwrseq: sdio-pwrseq { 139 compatible = "mmc-pwrseq-simpl 140 clocks = <&rk809 1>; 141 clock-names = "ext_clock"; 142 pinctrl-names = "default"; 143 pinctrl-0 = <&wifi_enable_h>; 144 post-power-on-delay-ms = <200> 145 reset-gpios = <&gpio2 RK_PB1 G 146 }; 147 148 sound { 149 compatible = "simple-audio-car 150 simple-audio-card,format = "i2 151 simple-audio-card,name = "Anal 152 simple-audio-card,mclk-fs = <2 153 154 simple-audio-card,cpu { 155 sound-dai = <&i2s1_8ch 156 }; 157 158 simple-audio-card,codec { 159 sound-dai = <&rk809>; 160 }; 161 }; 162 }; 163 164 &combphy1 { 165 status = "okay"; 166 }; 167 168 &combphy2 { 169 status = "okay"; 170 }; 171 172 &cpu0 { 173 cpu-supply = <&vdd_cpu>; 174 }; 175 176 &cpu1 { 177 cpu-supply = <&vdd_cpu>; 178 }; 179 180 &cpu2 { 181 cpu-supply = <&vdd_cpu>; 182 }; 183 184 &cpu3 { 185 cpu-supply = <&vdd_cpu>; 186 }; 187 188 &gpu { 189 mali-supply = <&vdd_gpu>; 190 status = "okay"; 191 }; 192 193 &hdmi { 194 avdd-0v9-supply = <&vdda0v9_image>; 195 avdd-1v8-supply = <&vcca1v8_image>; 196 status = "okay"; 197 }; 198 199 &hdmi_in { 200 hdmi_in_vp0: endpoint { 201 remote-endpoint = <&vp0_out_hd 202 }; 203 }; 204 205 &hdmi_out { 206 hdmi_out_con: endpoint { 207 remote-endpoint = <&hdmi_con_i 208 }; 209 }; 210 211 &hdmi_sound { 212 status = "okay"; 213 }; 214 215 &i2c0 { 216 status = "okay"; 217 218 vdd_cpu: regulator@1c { 219 compatible = "tcs,tcs4525"; 220 reg = <0x1c>; 221 fcs,suspend-voltage-selector = 222 regulator-name = "vdd_cpu"; 223 regulator-always-on; 224 regulator-boot-on; 225 regulator-min-microvolt = <800 226 regulator-max-microvolt = <115 227 regulator-ramp-delay = <2300>; 228 vin-supply = <&vcc5v0_sys>; 229 230 regulator-state-mem { 231 regulator-off-in-suspe 232 }; 233 }; 234 235 rk809: pmic@20 { 236 compatible = "rockchip,rk809"; 237 reg = <0x20>; 238 assigned-clocks = <&cru I2S1_M 239 assigned-clock-parents = <&cru 240 #clock-cells = <1>; 241 clock-output-names = "rk808-cl 242 clock-names = "mclk"; 243 clocks = <&cru I2S1_MCLKOUT_TX 244 interrupt-parent = <&gpio0>; 245 interrupts = <RK_PA3 IRQ_TYPE_ 246 pinctrl-names = "default"; 247 pinctrl-0 = <&pmic_int>, <&i2s 248 rockchip,system-power-controll 249 #sound-dai-cells = <0>; 250 wakeup-source; 251 252 vcc1-supply = <&vcc3v3_sys>; 253 vcc2-supply = <&vcc3v3_sys>; 254 vcc3-supply = <&vcc3v3_sys>; 255 vcc4-supply = <&vcc3v3_sys>; 256 vcc5-supply = <&vcc3v3_sys>; 257 vcc6-supply = <&vcc3v3_sys>; 258 vcc7-supply = <&vcc3v3_sys>; 259 vcc8-supply = <&vcc3v3_sys>; 260 vcc9-supply = <&vcc3v3_sys>; 261 262 regulators { 263 vdd_logic: DCDC_REG1 { 264 regulator-name 265 regulator-alwa 266 regulator-boot 267 regulator-min- 268 regulator-max- 269 regulator-ramp 270 regulator-init 271 272 regulator-stat 273 regula 274 }; 275 }; 276 277 vdd_gpu: DCDC_REG2 { 278 regulator-name 279 regulator-alwa 280 regulator-boot 281 regulator-min- 282 regulator-max- 283 regulator-ramp 284 regulator-init 285 286 regulator-stat 287 regula 288 }; 289 }; 290 291 vcc_ddr: DCDC_REG3 { 292 regulator-name 293 regulator-alwa 294 regulator-boot 295 regulator-init 296 297 regulator-stat 298 regula 299 }; 300 }; 301 302 vdd_npu: DCDC_REG4 { 303 regulator-name 304 regulator-alwa 305 regulator-boot 306 regulator-min- 307 regulator-max- 308 regulator-ramp 309 regulator-init 310 311 regulator-stat 312 regula 313 }; 314 }; 315 316 vdda0v9_image: LDO_REG 317 regulator-name 318 regulator-boot 319 regulator-alwa 320 regulator-min- 321 regulator-max- 322 323 regulator-stat 324 regula 325 }; 326 }; 327 328 vdda_0v9: LDO_REG2 { 329 regulator-name 330 regulator-alwa 331 regulator-boot 332 regulator-min- 333 regulator-max- 334 regulator-stat 335 regula 336 }; 337 }; 338 339 vdda0v9_pmu: LDO_REG3 340 regulator-name 341 regulator-alwa 342 regulator-boot 343 regulator-min- 344 regulator-max- 345 346 regulator-stat 347 regula 348 regula 349 }; 350 }; 351 352 vccio_acodec: LDO_REG4 353 regulator-name 354 regulator-alwa 355 regulator-boot 356 regulator-min- 357 regulator-max- 358 359 regulator-stat 360 regula 361 }; 362 }; 363 364 vccio_sd: LDO_REG5 { 365 regulator-name 366 regulator-alwa 367 regulator-boot 368 regulator-min- 369 regulator-max- 370 371 regulator-stat 372 regula 373 }; 374 }; 375 376 vcc3v3_pmu: LDO_REG6 { 377 regulator-name 378 regulator-alwa 379 regulator-boot 380 regulator-min- 381 regulator-max- 382 383 regulator-stat 384 regula 385 regula 386 }; 387 }; 388 389 vcca_1v8: LDO_REG7 { 390 regulator-name 391 regulator-alwa 392 regulator-boot 393 regulator-min- 394 regulator-max- 395 396 regulator-stat 397 regula 398 }; 399 }; 400 401 vcca1v8_pmu: LDO_REG8 402 regulator-name 403 regulator-alwa 404 regulator-boot 405 regulator-min- 406 regulator-max- 407 408 regulator-stat 409 regula 410 regula 411 }; 412 }; 413 414 vcca1v8_image: LDO_REG 415 regulator-name 416 regulator-alwa 417 regulator-boot 418 regulator-min- 419 regulator-max- 420 421 regulator-stat 422 regula 423 }; 424 }; 425 426 vcc_1v8: DCDC_REG5 { 427 regulator-name 428 regulator-alwa 429 regulator-boot 430 regulator-min- 431 regulator-max- 432 433 regulator-stat 434 regula 435 }; 436 }; 437 438 vcc_3v3: SWITCH_REG1 { 439 regulator-name 440 regulator-alwa 441 regulator-boot 442 443 regulator-stat 444 regula 445 }; 446 }; 447 448 vcc3v3_sd: SWITCH_REG2 449 regulator-name 450 regulator-alwa 451 regulator-boot 452 453 regulator-stat 454 regula 455 }; 456 }; 457 }; 458 459 codec { 460 rockchip,mic-in-differ 461 }; 462 }; 463 }; 464 465 &i2c1 { 466 status = "okay"; 467 /* Touch Screen */ 468 }; 469 470 &i2c4 { 471 pinctrl-names = "default"; 472 pinctrl-0 = <&i2c4m0_xfer>; 473 status = "okay"; 474 /* Camera */ 475 }; 476 477 &i2s0_8ch { 478 status = "okay"; 479 /* HDMI */ 480 }; 481 482 &i2s1_8ch { 483 pinctrl-names = "default"; 484 pinctrl-0 = <&i2s1m0_sclktx &i2s1m0_lr 485 rockchip,trcm-sync-tx-only; 486 status = "okay"; 487 /* PMIC */ 488 }; 489 490 &i2s2_2ch { 491 rockchip,trcm-sync-tx-only; 492 status = "okay"; 493 /* AP6212 Bluetooth */ 494 }; 495 496 &pinctrl { 497 bt { 498 bt_enable_h: bt-enable-h { 499 rockchip,pins = <2 RK_ 500 }; 501 502 bt_host_wake_l: bt-host-wake-l 503 rockchip,pins = <2 RK_ 504 }; 505 506 bt_wake_l: bt-wake-l { 507 rockchip,pins = <2 RK_ 508 }; 509 }; 510 511 hp-detect { 512 hp_det: hp-det { 513 rockchip,pins = <4 RK_ 514 }; 515 }; 516 517 pmic { 518 pmic_int: pmic-int { 519 rockchip,pins = <0 RK_ 520 }; 521 }; 522 523 sdio-pwrseq { 524 wifi_enable_h: wifi-enable-h { 525 rockchip,pins = <2 RK_ 526 }; 527 528 wifi_host_wake_h: wifi-host-wa 529 rockchip,pins = <2 RK_ 530 }; 531 }; 532 533 usb2 { 534 vcc5v0_host_en: vcc5v0-host-en 535 rockchip,pins = <4 RK_ 536 }; 537 }; 538 }; 539 540 &pmu_io_domains { 541 pmuio1-supply = <&vcc3v3_pmu>; 542 pmuio2-supply = <&vcc3v3_pmu>; 543 vccio1-supply = <&vccio_acodec>; 544 vccio2-supply = <&vcc_1v8>; 545 vccio3-supply = <&vccio_sd>; 546 vccio4-supply = <&vcc_1v8>; 547 vccio5-supply = <&vcc_3v3>; 548 vccio6-supply = <&vcc_1v8>; 549 vccio7-supply = <&vcc_3v3>; 550 status = "okay"; 551 }; 552 553 &pmugrf { 554 reboot-mode { 555 compatible = "syscon-reboot-mo 556 offset = <0x200>; 557 mode-normal = <BOOT_NORMAL>; 558 mode-loader = <BOOT_BL_DOWNLOA 559 mode-recovery = <BOOT_RECOVERY 560 mode-bootloader = <BOOT_FASTBO 561 }; 562 }; 563 564 &saradc { 565 vref-supply = <&vcca_1v8>; 566 status = "okay"; 567 /* Channel 0: Recovery Button */ 568 /* Channel 1: Hardware ID */ 569 }; 570 571 &sdhci { 572 bus-width = <8>; 573 max-frequency = <200000000>; 574 non-removable; 575 pinctrl-names = "default"; 576 pinctrl-0 = <&emmc_bus8 &emmc_clk &emm 577 vmmc-supply = <&vcc_3v3>; 578 vqmmc-supply = <&vcc_1v8>; 579 status = "okay"; 580 }; 581 582 &sdmmc0 { 583 bus-width = <4>; 584 cap-mmc-highspeed; 585 cap-sd-highspeed; 586 disable-wp; 587 max-frequency = <150000000>; 588 pinctrl-names = "default"; 589 pinctrl-0 = <&sdmmc0_bus4 &sdmmc0_clk 590 sd-uhs-sdr104; 591 vmmc-supply = <&vcc3v3_sd>; 592 vqmmc-supply = <&vcc_1v8>; 593 status = "okay"; 594 }; 595 596 &sdmmc1 { 597 bus-width = <4>; 598 cap-sd-highspeed; 599 cap-sdio-irq; 600 disable-wp; 601 keep-power-in-suspend; 602 max-frequency = <150000000>; 603 mmc-pwrseq = <&sdio_pwrseq>; 604 non-removable; 605 pinctrl-names = "default"; 606 pinctrl-0 = <&sdmmc1_bus4 &sdmmc1_cmd 607 sd-uhs-sdr104; 608 vmmc-supply = <&vcc3v3_sys>; 609 vqmmc-supply = <&vcc_1v8>; 610 #address-cells = <1>; 611 #size-cells = <0>; 612 status = "okay"; 613 614 brcmf: wifi@1 { 615 compatible = "brcm,bcm4329-fma 616 reg = <1>; 617 interrupt-parent = <&gpio2>; 618 interrupts = <RK_PB2 IRQ_TYPE_ 619 interrupt-names = "host-wake"; 620 pinctrl-names = "default"; 621 pinctrl-0 = <&wifi_host_wake_h 622 }; 623 }; 624 625 &tsadc { 626 rockchip,hw-tshut-mode = <1>; 627 rockchip,hw-tshut-polarity = <0>; 628 status = "okay"; 629 }; 630 631 &uart1 { 632 pinctrl-names = "default"; 633 pinctrl-0 = <&uart1m0_xfer &uart1m0_ct 634 uart-has-rtscts; 635 status = "okay"; 636 637 bluetooth: bluetooth { 638 compatible = "brcm,bcm43438-bt 639 clocks = <&rk809 1>; 640 clock-names = "lpo"; 641 max-speed = <3000000>; 642 pinctrl-names = "default"; 643 pinctrl-0 = <&bt_host_wake_l & 644 shutdown-gpios = <&gpio2 RK_PB 645 vbat-supply = <&vcc3v3_sys>; 646 vddio-supply = <&vcc_1v8>; 647 }; 648 }; 649 650 &uart2 { 651 pinctrl-names = "default"; 652 pinctrl-0 = <&uart2m0_xfer>; 653 status = "okay"; 654 }; 655 656 &usb_host0_ohci { 657 status = "okay"; 658 }; 659 660 &usb_host0_ehci { 661 status = "okay"; 662 }; 663 664 &usb_host0_xhci { 665 dr_mode = "otg"; 666 status = "okay"; 667 }; 668 669 &usb_host1_ohci { 670 status = "okay"; 671 }; 672 673 &usb_host1_ehci { 674 status = "okay"; 675 }; 676 677 &usb_host1_xhci { 678 dr_mode = "host"; 679 status = "okay"; 680 }; 681 682 &usb2phy0 { 683 status = "okay"; 684 }; 685 686 &usb2phy0_host { 687 phy-supply = <&vcc5v0_sys>; 688 status = "okay"; 689 }; 690 691 &usb2phy0_otg { 692 phy-supply = <&vcc5v0_sys>; 693 status = "okay"; 694 }; 695 696 &usb2phy1 { 697 status = "okay"; 698 }; 699 700 &usb2phy1_host { 701 phy-supply = <&vcc5v0_host>; 702 status = "okay"; 703 }; 704 705 &usb2phy1_otg { 706 phy-supply = <&vcc5v0_host>; 707 status = "okay"; 708 }; 709 710 &vop { 711 assigned-clocks = <&cru DCLK_VOP0>, <& 712 assigned-clock-parents = <&pmucru PLL_ 713 status = "okay"; 714 }; 715 716 &vop_mmu { 717 status = "okay"; 718 }; 719 720 &vp0 { 721 vp0_out_hdmi: endpoint@ROCKCHIP_VOP2_E 722 reg = <ROCKCHIP_VOP2_EP_HDMI0> 723 remote-endpoint = <&hdmi_in_vp 724 }; 725 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.