1// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2/* 3 * Device tree definitions for the Turing RK1 SoM. 4 * 5 * Copyright (c) 2023 Sam Edwards <CFSworks@gmail.com> 6 * 7 * Based on RK3588-EVB1 devicetree 8 * Copyright (c) 2021 Rockchip Electronics Co., Ltd. 9 */ 10 11/dts-v1/; 12#include <dt-bindings/gpio/gpio.h> 13#include <dt-bindings/pinctrl/rockchip.h> 14#include "rk3588.dtsi" 15 16/ { 17 compatible = "turing,rk1", "rockchip,rk3588"; 18 19 aliases { 20 ethernet0 = &gmac1; 21 mmc0 = &sdhci; 22 }; 23 24 fan: pwm-fan { 25 compatible = "pwm-fan"; 26 cooling-levels = <0 25 95 145 195 255>; 27 fan-supply = <&vcc5v0_sys>; 28 pinctrl-names = "default"; 29 pinctrl-0 = <&pwm0m2_pins &fan_int>; 30 interrupt-parent = <&gpio0>; 31 interrupts = <RK_PA4 IRQ_TYPE_EDGE_FALLING>; 32 pwms = <&pwm0 0 50000 0>; 33 #cooling-cells = <2>; 34 }; 35 36 vcc3v3_pcie30: vcc3v3-pcie30-regulator { 37 compatible = "regulator-fixed"; 38 regulator-name = "vcc3v3_pcie30"; 39 regulator-min-microvolt = <3300000>; 40 regulator-max-microvolt = <3300000>; 41 enable-active-high; 42 gpios = <&gpio2 RK_PC5 GPIO_ACTIVE_HIGH>; 43 pinctrl-names = "default"; 44 pinctrl-0 = <&vcc3v3_pcie30_en>; 45 startup-delay-us = <5000>; 46 }; 47 48 vcc5v0_sys: vcc5v0-sys-regulator { 49 compatible = "regulator-fixed"; 50 regulator-name = "vcc5v0_sys"; 51 regulator-always-on; 52 regulator-boot-on; 53 regulator-min-microvolt = <5000000>; 54 regulator-max-microvolt = <5000000>; 55 }; 56 57 vcc_1v1_nldo_s3: vcc-1v1-nldo-s3-regulator { 58 compatible = "regulator-fixed"; 59 regulator-name = "vcc_1v1_nldo_s3"; 60 regulator-always-on; 61 regulator-boot-on; 62 regulator-min-microvolt = <1100000>; 63 regulator-max-microvolt = <1100000>; 64 vin-supply = <&vcc5v0_sys>; 65 }; 66}; 67 68&combphy2_psu { 69 status = "okay"; 70}; 71 72&cpu_b0 { 73 cpu-supply = <&vdd_cpu_big0_s0>; 74}; 75 76&cpu_b1 { 77 cpu-supply = <&vdd_cpu_big0_s0>; 78}; 79 80&cpu_b2 { 81 cpu-supply = <&vdd_cpu_big1_s0>; 82}; 83 84&cpu_b3 { 85 cpu-supply = <&vdd_cpu_big1_s0>; 86}; 87 88&cpu_l0 { 89 cpu-supply = <&vdd_cpu_lit_s0>; 90}; 91 92&cpu_l1 { 93 cpu-supply = <&vdd_cpu_lit_s0>; 94}; 95 96&cpu_l2 { 97 cpu-supply = <&vdd_cpu_lit_s0>; 98}; 99 100&cpu_l3 { 101 cpu-supply = <&vdd_cpu_lit_s0>; 102}; 103 104&gmac1 { 105 clock_in_out = "output"; 106 phy-handle = <&rgmii_phy>; 107 phy-mode = "rgmii-rxid"; 108 pinctrl-0 = <&gmac1_miim 109 &gmac1_tx_bus2 110 &gmac1_rx_bus2 111 &gmac1_rgmii_clk 112 &gmac1_rgmii_bus>; 113 pinctrl-names = "default"; 114 rx_delay = <0x00>; 115 tx_delay = <0x43>; 116 status = "okay"; 117}; 118 119&i2c0 { 120 pinctrl-names = "default"; 121 pinctrl-0 = <&i2c0m2_xfer>; 122 status = "okay"; 123 124 vdd_cpu_big0_s0: regulator@42 { 125 compatible = "rockchip,rk8602"; 126 reg = <0x42>; 127 fcs,suspend-voltage-selector = <1>; 128 regulator-name = "vdd_cpu_big0_s0"; 129 regulator-always-on; 130 regulator-boot-on; 131 regulator-min-microvolt = <550000>; 132 regulator-max-microvolt = <1050000>; 133 regulator-ramp-delay = <2300>; 134 vin-supply = <&vcc5v0_sys>; 135 136 regulator-state-mem { 137 regulator-off-in-suspend; 138 }; 139 }; 140 141 vdd_cpu_big1_s0: regulator@43 { 142 compatible = "rockchip,rk8603", "rockchip,rk8602"; 143 reg = <0x43>; 144 fcs,suspend-voltage-selector = <1>; 145 regulator-name = "vdd_cpu_big1_s0"; 146 regulator-always-on; 147 regulator-boot-on; 148 regulator-min-microvolt = <550000>; 149 regulator-max-microvolt = <1050000>; 150 regulator-ramp-delay = <2300>; 151 vin-supply = <&vcc5v0_sys>; 152 153 regulator-state-mem { 154 regulator-off-in-suspend; 155 }; 156 }; 157}; 158 159&i2c1 { 160 pinctrl-names = "default"; 161 pinctrl-0 = <&i2c1m2_xfer>; 162 status = "okay"; 163 164 vdd_npu_s0: regulator@42 { 165 compatible = "rockchip,rk8602"; 166 reg = <0x42>; 167 fcs,suspend-voltage-selector = <1>; 168 regulator-name = "vdd_npu_s0"; 169 regulator-always-on; 170 regulator-boot-on; 171 regulator-min-microvolt = <550000>; 172 regulator-max-microvolt = <950000>; 173 regulator-ramp-delay = <2300>; 174 vin-supply = <&vcc5v0_sys>; 175 176 regulator-state-mem { 177 regulator-off-in-suspend; 178 }; 179 }; 180}; 181 182&i2c6 { 183 status = "okay"; 184 185 hym8563: rtc@51 { 186 compatible = "haoyu,hym8563"; 187 reg = <0x51>; 188 #clock-cells = <0>; 189 clock-output-names = "hym8563"; 190 pinctrl-names = "default"; 191 pinctrl-0 = <&hym8563_int>; 192 interrupt-parent = <&gpio0>; 193 interrupts = <RK_PB0 IRQ_TYPE_LEVEL_LOW>; 194 wakeup-source; 195 }; 196}; 197 198&mdio1 { 199 rgmii_phy: ethernet-phy@1 { 200 /* RTL8211F */ 201 compatible = "ethernet-phy-id001c.c916"; 202 reg = <0x1>; 203 pinctrl-names = "default"; 204 pinctrl-0 = <&rtl8211f_rst>; 205 reset-assert-us = <15000>; 206 reset-deassert-us = <50000>; 207 reset-gpios = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>; 208 }; 209}; 210 211&pcie2x1l1 { 212 linux,pci-domain = <1>; 213 pinctrl-names = "default"; 214 pinctrl-0 = <&pcie2_reset>; 215 reset-gpios = <&gpio4 RK_PA2 GPIO_ACTIVE_HIGH>; 216 status = "okay"; 217}; 218 219&pcie30phy { 220 status = "okay"; 221}; 222 223&pcie3x4 { 224 linux,pci-domain = <0>; 225 pinctrl-names = "default"; 226 pinctrl-0 = <&pcie3_reset>; 227 reset-gpios = <&gpio4 RK_PB6 GPIO_ACTIVE_HIGH>; 228 vpcie3v3-supply = <&vcc3v3_pcie30>; 229 status = "okay"; 230}; 231 232&pinctrl { 233 fan { 234 fan_int: fan-int { 235 rockchip,pins = <0 RK_PA4 RK_FUNC_GPIO &pcfg_pull_up>; 236 }; 237 }; 238 239 hym8563 { 240 hym8563_int: hym8563-int { 241 rockchip,pins = <0 RK_PB0 RK_FUNC_GPIO &pcfg_pull_up>; 242 }; 243 }; 244 245 pcie2 { 246 pcie2_reset: pcie2-reset { 247 rockchip,pins = <4 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>; 248 }; 249 }; 250 251 pcie3 { 252 pcie3_reset: pcie3-reset { 253 rockchip,pins = <4 RK_PB6 RK_FUNC_GPIO &pcfg_pull_none>; 254 }; 255 256 vcc3v3_pcie30_en: pcie3-reg { 257 rockchip,pins = <2 RK_PC5 RK_FUNC_GPIO &pcfg_pull_none>; 258 }; 259 }; 260 261 rtl8211f { 262 rtl8211f_rst: rtl8211f-rst { 263 rockchip,pins = <3 RK_PB7 RK_FUNC_GPIO &pcfg_pull_none>; 264 }; 265 }; 266}; 267 268&pwm0 { 269 status = "okay"; 270}; 271 272&sdhci { 273 bus-width = <8>; 274 no-sdio; 275 no-sd; 276 non-removable; 277 mmc-hs400-1_8v; 278 mmc-hs400-enhanced-strobe; 279 status = "okay"; 280}; 281 282&spi2 { 283 status = "okay"; 284 pinctrl-names = "default"; 285 pinctrl-0 = <&spi2m2_cs0 &spi2m2_pins>; 286 num-cs = <1>; 287 288 pmic@0 { 289 compatible = "rockchip,rk806"; 290 spi-max-frequency = <1000000>; 291 reg = <0x0>; 292 293 interrupt-parent = <&gpio0>; 294 interrupts = <7 IRQ_TYPE_LEVEL_LOW>; 295 296 pinctrl-names = "default"; 297 pinctrl-0 = <&pmic_pins>, <&rk806_dvs1_null>, 298 <&rk806_dvs2_null>, <&rk806_dvs3_null>; 299 system-power-controller; 300 301 vcc1-supply = <&vcc5v0_sys>; 302 vcc2-supply = <&vcc5v0_sys>; 303 vcc3-supply = <&vcc5v0_sys>; 304 vcc4-supply = <&vcc5v0_sys>; 305 vcc5-supply = <&vcc5v0_sys>; 306 vcc6-supply = <&vcc5v0_sys>; 307 vcc7-supply = <&vcc5v0_sys>; 308 vcc8-supply = <&vcc5v0_sys>; 309 vcc9-supply = <&vcc5v0_sys>; 310 vcc10-supply = <&vcc5v0_sys>; 311 vcc11-supply = <&vcc_2v0_pldo_s3>; 312 vcc12-supply = <&vcc5v0_sys>; 313 vcc13-supply = <&vcc_1v1_nldo_s3>; 314 vcc14-supply = <&vcc_1v1_nldo_s3>; 315 vcca-supply = <&vcc5v0_sys>; 316 317 gpio-controller; 318 #gpio-cells = <2>; 319 320 rk806_dvs1_null: dvs1-null-pins { 321 pins = "gpio_pwrctrl1"; 322 function = "pin_fun0"; 323 }; 324 325 rk806_dvs2_null: dvs2-null-pins { 326 pins = "gpio_pwrctrl2"; 327 function = "pin_fun0"; 328 }; 329 330 rk806_dvs3_null: dvs3-null-pins { 331 pins = "gpio_pwrctrl3"; 332 function = "pin_fun0"; 333 }; 334 335 regulators { 336 vdd_gpu_s0: vdd_gpu_mem_s0: dcdc-reg1 { 337 regulator-boot-on; 338 regulator-min-microvolt = <550000>; 339 regulator-max-microvolt = <950000>; 340 regulator-ramp-delay = <12500>; 341 regulator-name = "vdd_gpu_s0"; 342 regulator-enable-ramp-delay = <400>; 343 344 regulator-state-mem { 345 regulator-off-in-suspend; 346 }; 347 }; 348 349 vdd_cpu_lit_s0: vdd_cpu_lit_mem_s0: dcdc-reg2 { 350 regulator-always-on; 351 regulator-boot-on; 352 regulator-min-microvolt = <550000>; 353 regulator-max-microvolt = <950000>; 354 regulator-ramp-delay = <12500>; 355 regulator-name = "vdd_cpu_lit_s0"; 356 357 regulator-state-mem { 358 regulator-off-in-suspend; 359 }; 360 }; 361 362 vdd_log_s0: dcdc-reg3 { 363 regulator-always-on; 364 regulator-boot-on; 365 regulator-min-microvolt = <675000>; 366 regulator-max-microvolt = <750000>; 367 regulator-ramp-delay = <12500>; 368 regulator-name = "vdd_log_s0"; 369 370 regulator-state-mem { 371 regulator-off-in-suspend; 372 regulator-suspend-microvolt = <750000>; 373 }; 374 }; 375 376 vdd_vdenc_s0: vdd_vdenc_mem_s0: dcdc-reg4 { 377 regulator-always-on; 378 regulator-boot-on; 379 regulator-min-microvolt = <550000>; 380 regulator-max-microvolt = <950000>; 381 regulator-ramp-delay = <12500>; 382 regulator-name = "vdd_vdenc_s0"; 383 384 regulator-state-mem { 385 regulator-off-in-suspend; 386 }; 387 }; 388 389 vdd_ddr_s0: dcdc-reg5 { 390 regulator-always-on; 391 regulator-boot-on; 392 regulator-min-microvolt = <675000>; 393 regulator-max-microvolt = <900000>; 394 regulator-ramp-delay = <12500>; 395 regulator-name = "vdd_ddr_s0"; 396 397 regulator-state-mem { 398 regulator-off-in-suspend; 399 regulator-suspend-microvolt = <850000>; 400 }; 401 }; 402 403 vdd2_ddr_s3: dcdc-reg6 { 404 regulator-always-on; 405 regulator-boot-on; 406 regulator-name = "vdd2_ddr_s3"; 407 408 regulator-state-mem { 409 regulator-on-in-suspend; 410 }; 411 }; 412 413 vcc_2v0_pldo_s3: dcdc-reg7 { 414 regulator-always-on; 415 regulator-boot-on; 416 regulator-min-microvolt = <2000000>; 417 regulator-max-microvolt = <2000000>; 418 regulator-ramp-delay = <12500>; 419 regulator-name = "vdd_2v0_pldo_s3"; 420 421 regulator-state-mem { 422 regulator-on-in-suspend; 423 regulator-suspend-microvolt = <2000000>; 424 }; 425 }; 426 427 vcc_3v3_s3: dcdc-reg8 { 428 regulator-always-on; 429 regulator-boot-on; 430 regulator-min-microvolt = <3300000>; 431 regulator-max-microvolt = <3300000>; 432 regulator-name = "vcc_3v3_s3"; 433 434 regulator-state-mem { 435 regulator-on-in-suspend; 436 regulator-suspend-microvolt = <3300000>; 437 }; 438 }; 439 440 vddq_ddr_s0: dcdc-reg9 { 441 regulator-always-on; 442 regulator-boot-on; 443 regulator-name = "vddq_ddr_s0"; 444 445 regulator-state-mem { 446 regulator-off-in-suspend; 447 }; 448 }; 449 450 vcc_1v8_s3: dcdc-reg10 { 451 regulator-always-on; 452 regulator-boot-on; 453 regulator-min-microvolt = <1800000>; 454 regulator-max-microvolt = <1800000>; 455 regulator-name = "vcc_1v8_s3"; 456 457 regulator-state-mem { 458 regulator-on-in-suspend; 459 regulator-suspend-microvolt = <1800000>; 460 }; 461 }; 462 463 avcc_1v8_s0: pldo-reg1 { 464 regulator-always-on; 465 regulator-boot-on; 466 regulator-min-microvolt = <1800000>; 467 regulator-max-microvolt = <1800000>; 468 regulator-name = "avcc_1v8_s0"; 469 470 regulator-state-mem { 471 regulator-off-in-suspend; 472 }; 473 }; 474 475 vcc_1v8_s0: pldo-reg2 { 476 regulator-always-on; 477 regulator-boot-on; 478 regulator-min-microvolt = <1800000>; 479 regulator-max-microvolt = <1800000>; 480 regulator-name = "vcc_1v8_s0"; 481 482 regulator-state-mem { 483 regulator-off-in-suspend; 484 regulator-suspend-microvolt = <1800000>; 485 }; 486 }; 487 488 avdd_1v2_s0: pldo-reg3 { 489 regulator-always-on; 490 regulator-boot-on; 491 regulator-min-microvolt = <1200000>; 492 regulator-max-microvolt = <1200000>; 493 regulator-name = "avdd_1v2_s0"; 494 495 regulator-state-mem { 496 regulator-off-in-suspend; 497 }; 498 }; 499 500 vcc_3v3_s0: pldo-reg4 { 501 regulator-always-on; 502 regulator-boot-on; 503 regulator-min-microvolt = <3300000>; 504 regulator-max-microvolt = <3300000>; 505 regulator-ramp-delay = <12500>; 506 regulator-name = "vcc_3v3_s0"; 507 508 regulator-state-mem { 509 regulator-off-in-suspend; 510 }; 511 }; 512 513 vccio_sd_s0: pldo-reg5 { 514 regulator-always-on; 515 regulator-boot-on; 516 regulator-min-microvolt = <1800000>; 517 regulator-max-microvolt = <3300000>; 518 regulator-ramp-delay = <12500>; 519 regulator-name = "vccio_sd_s0"; 520 521 regulator-state-mem { 522 regulator-off-in-suspend; 523 }; 524 }; 525 526 pldo6_s3: pldo-reg6 { 527 regulator-always-on; 528 regulator-boot-on; 529 regulator-min-microvolt = <1800000>; 530 regulator-max-microvolt = <1800000>; 531 regulator-name = "pldo6_s3"; 532 533 regulator-state-mem { 534 regulator-on-in-suspend; 535 regulator-suspend-microvolt = <1800000>; 536 }; 537 }; 538 539 vdd_0v75_s3: nldo-reg1 { 540 regulator-always-on; 541 regulator-boot-on; 542 regulator-min-microvolt = <750000>; 543 regulator-max-microvolt = <750000>; 544 regulator-name = "vdd_0v75_s3"; 545 546 regulator-state-mem { 547 regulator-on-in-suspend; 548 regulator-suspend-microvolt = <750000>; 549 }; 550 }; 551 552 vdd_ddr_pll_s0: nldo-reg2 { 553 regulator-always-on; 554 regulator-boot-on; 555 regulator-min-microvolt = <850000>; 556 regulator-max-microvolt = <850000>; 557 regulator-name = "vdd_ddr_pll_s0"; 558 559 regulator-state-mem { 560 regulator-off-in-suspend; 561 regulator-suspend-microvolt = <850000>; 562 }; 563 }; 564 565 avdd_0v75_s0: nldo-reg3 { 566 regulator-always-on; 567 regulator-boot-on; 568 regulator-min-microvolt = <750000>; 569 regulator-max-microvolt = <750000>; 570 regulator-name = "avdd_0v75_s0"; 571 572 regulator-state-mem { 573 regulator-off-in-suspend; 574 }; 575 }; 576 577 vdd_0v85_s0: nldo-reg4 { 578 regulator-always-on; 579 regulator-boot-on; 580 regulator-min-microvolt = <850000>; 581 regulator-max-microvolt = <850000>; 582 regulator-name = "vdd_0v85_s0"; 583 584 regulator-state-mem { 585 regulator-off-in-suspend; 586 }; 587 }; 588 589 vdd_0v75_s0: nldo-reg5 { 590 regulator-always-on; 591 regulator-boot-on; 592 regulator-min-microvolt = <750000>; 593 regulator-max-microvolt = <750000>; 594 regulator-name = "vdd_0v75_s0"; 595 596 regulator-state-mem { 597 regulator-off-in-suspend; 598 }; 599 }; 600 }; 601 }; 602}; 603 604&tsadc { 605 status = "okay"; 606}; 607 608&uart2 { 609 pinctrl-0 = <&uart2m0_xfer>; 610 status = "okay"; 611}; 612 613&uart9 { 614 pinctrl-0 = <&uart9m0_xfer>; 615 status = "okay"; 616}; 617