1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2 3 /* 4 * Author: Piotr Oniszczuk piotr.oniszczuk@gma 5 * Based on Quartz64 DT by: Peter Geis pgwipeo 6 */ 7 8 /dts-v1/; 9 10 #include <dt-bindings/gpio/gpio.h> 11 #include <dt-bindings/leds/common.h> 12 #include <dt-bindings/pinctrl/rockchip.h> 13 #include <dt-bindings/soc/rockchip,vop2.h> 14 #include "rk3566.dtsi" 15 16 / { 17 model = "Rockchip RK3566 BOX DEMO Boar 18 compatible = "rockchip,rk3566-box-demo 19 20 aliases { 21 ethernet0 = &gmac1; 22 mmc0 = &sdmmc0; 23 mmc1 = &sdmmc1; 24 mmc2 = &sdhci; 25 }; 26 27 chosen: chosen { 28 stdout-path = "serial2:1500000 29 }; 30 31 gmac1_clkin: external-gmac1-clock { 32 compatible = "fixed-clock"; 33 clock-frequency = <125000000>; 34 clock-output-names = "gmac1_cl 35 #clock-cells = <0>; 36 }; 37 38 hdmi-con { 39 compatible = "hdmi-connector"; 40 type = "a"; 41 42 port { 43 hdmi_con_in: endpoint 44 remote-endpoin 45 }; 46 }; 47 }; 48 49 ir-receiver { 50 compatible = "gpio-ir-receiver 51 gpios = <&gpio4 RK_PC3 GPIO_AC 52 pinctrl-0 = <&ir_int>; 53 linux,rc-map-name = "rc-beelin 54 status = "okay"; 55 }; 56 57 leds { 58 compatible = "gpio-leds"; 59 60 led_work: led-0 { 61 gpios = <&gpio0 RK_PC3 62 function = LED_FUNCTIO 63 color = <LED_COLOR_ID_ 64 linux,default-trigger 65 pinctrl-names = "defau 66 pinctrl-0 = <&led_work 67 }; 68 }; 69 70 sdio_pwrseq: sdio-pwrseq { 71 status = "okay"; 72 compatible = "mmc-pwrseq-simpl 73 clocks = <&pmucru CLK_RTC_32K> 74 clock-names = "ext_clock"; 75 pinctrl-names = "default"; 76 pinctrl-0 = <&wifi_enable_h &w 77 reset-gpios = <&gpio2 RK_PB1 G 78 }; 79 80 spdif_dit: spdif-dit { 81 compatible = "linux,spdif-dit" 82 #sound-dai-cells = <0>; 83 }; 84 85 spdif_sound: spdif-sound { 86 compatible = "simple-audio-car 87 simple-audio-card,name = "SPDI 88 89 simple-audio-card,cpu { 90 sound-dai = <&spdif>; 91 }; 92 93 simple-audio-card,codec { 94 sound-dai = <&spdif_di 95 }; 96 }; 97 98 vcc12v0_dcin: regulator-vcc12v0-dcin { 99 compatible = "regulator-fixed" 100 regulator-name = "vcc12v0_dcin 101 regulator-always-on; 102 regulator-boot-on; 103 regulator-min-microvolt = <120 104 regulator-max-microvolt = <120 105 }; 106 107 vcc5v0_sys: regulator-vcc5v0-sys { 108 compatible = "regulator-fixed" 109 regulator-name = "vcc5v0_sys"; 110 regulator-always-on; 111 regulator-boot-on; 112 regulator-min-microvolt = <500 113 regulator-max-microvolt = <500 114 vin-supply = <&vcc12v0_dcin>; 115 }; 116 117 vcc3v3_sys: regulator-vcc3v3-sys { 118 compatible = "regulator-fixed" 119 regulator-name = "vcc3v3_sys"; 120 regulator-always-on; 121 regulator-boot-on; 122 regulator-min-microvolt = <330 123 regulator-max-microvolt = <330 124 vin-supply = <&vcc12v0_dcin>; 125 }; 126 127 vcc_3v3: regulator-vcc-3v3 { 128 compatible = "regulator-fixed" 129 regulator-name = "vcc_3v3"; 130 regulator-always-on; 131 regulator-boot-on; 132 regulator-min-microvolt = <330 133 regulator-max-microvolt = <330 134 vin-supply = <&vcc3v3_sys>; 135 }; 136 137 vcc5v0_usb_host: regulator-vcc5v0-usb- 138 compatible = "regulator-fixed" 139 enable-active-high; 140 gpio = <&gpio0 RK_PA6 GPIO_ACT 141 pinctrl-names = "default"; 142 pinctrl-0 = <&vcc5v0_usb_host_ 143 regulator-name = "vcc5v0_usb_h 144 regulator-min-microvolt = <500 145 regulator-max-microvolt = <500 146 vin-supply = <&vcc5v0_sys>; 147 }; 148 149 vcc5v0_usb2_otg: regulator-vcc5v0-usb2 150 compatible = "regulator-fixed" 151 enable-active-high; 152 gpio = <&gpio0 RK_PC6 GPIO_ACT 153 pinctrl-names = "default"; 154 pinctrl-0 = <&vcc5v0_usb2_otg_ 155 regulator-name = "vcc5v0_usb_o 156 regulator-min-microvolt = <500 157 regulator-max-microvolt = <500 158 vin-supply = <&vcc5v0_sys>; 159 }; 160 161 vcca_1v8: regulator-vcca-1v8 { 162 compatible = "regulator-fixed" 163 regulator-name = "vcca_1v8"; 164 regulator-always-on; 165 regulator-boot-on; 166 regulator-min-microvolt = <180 167 regulator-max-microvolt = <180 168 vin-supply = <&vcc3v3_sys>; 169 }; 170 171 vdda_0v9: regulator-vdda-0v9 { 172 compatible = "regulator-fixed" 173 regulator-name = "vdda_0v9"; 174 regulator-always-on; 175 regulator-boot-on; 176 regulator-min-microvolt = <900 177 regulator-max-microvolt = <900 178 vin-supply = <&vcc3v3_sys>; 179 }; 180 181 vdd_fixed: regulator-vdd-fixed { 182 compatible = "regulator-fixed" 183 regulator-name = "vdd_fixed"; 184 regulator-min-microvolt = <950 185 regulator-max-microvolt = <950 186 regulator-always-on; 187 regulator-boot-on; 188 vin-supply = <&vcc5v0_sys>; 189 }; 190 191 vdd_cpu: regulator-vdd-cpu { 192 compatible = "pwm-regulator"; 193 pwms = <&pwm0 0 5000 1>; 194 regulator-name = "vdd_cpu"; 195 regulator-min-microvolt = <800 196 regulator-max-microvolt = <120 197 regulator-always-on; 198 regulator-boot-on; 199 regulator-settling-time-up-us 200 pwm-supply = <&vcc5v0_sys>; 201 }; 202 203 vdd_logic: regulator-vdd-logic { 204 compatible = "pwm-regulator"; 205 pwms = <&pwm1 0 5000 1>; 206 regulator-name = "vdd_logic"; 207 regulator-min-microvolt = <800 208 regulator-max-microvolt = <110 209 regulator-always-on; 210 regulator-boot-on; 211 regulator-settling-time-up-us 212 pwm-supply = <&vcc5v0_sys>; 213 }; 214 }; 215 216 &combphy1 { 217 status = "okay"; 218 }; 219 220 &combphy2 { 221 status = "okay"; 222 }; 223 224 &cpu0 { 225 cpu-supply = <&vdd_cpu>; 226 }; 227 228 &cpu1 { 229 cpu-supply = <&vdd_cpu>; 230 }; 231 232 &cpu2 { 233 cpu-supply = <&vdd_cpu>; 234 }; 235 236 &cpu3 { 237 cpu-supply = <&vdd_cpu>; 238 }; 239 240 &gmac1 { 241 assigned-clocks = <&cru SCLK_GMAC1_RX_ 242 assigned-clock-parents = <&cru SCLK_GM 243 phy-mode = "rgmii"; 244 clock_in_out = "input"; 245 pinctrl-names = "default"; 246 pinctrl-0 = <&gmac1m1_miim 247 &gmac1m1_tx_bus2 248 &gmac1m1_rx_bus2 249 &gmac1m1_rgmii_clk 250 &gmac1m1_rgmii_bus 251 &gmac1m1_clkinout>; 252 snps,reset-gpio = <&gpio4 RK_PC2 GPIO_ 253 snps,reset-active-low; 254 /* Reset time is 20ms, 100ms for rtl82 255 snps,reset-delays-us = <0 20000 100000 256 257 tx_delay = <0x4f>; 258 rx_delay = <0x2d>; 259 phy-handle = <&rgmii_phy1>; 260 status = "okay"; 261 }; 262 263 &mdio1 { 264 rgmii_phy1: ethernet-phy@1 { 265 compatible = "ethernet-phy-iee 266 reg = <0x1>; 267 }; 268 }; 269 270 &hdmi { 271 assigned-clocks = <&cru CLK_HDMI_CEC>; 272 assigned-clock-rates = <32768>; 273 avdd-0v9-supply = <&vdda_0v9>; 274 avdd-1v8-supply = <&vcca_1v8>; 275 status = "okay"; 276 }; 277 278 &hdmi_in { 279 hdmi_in_vp0: endpoint { 280 remote-endpoint = <&vp0_out_hd 281 }; 282 }; 283 284 &hdmi_out { 285 hdmi_out_con: endpoint { 286 remote-endpoint = <&hdmi_con_i 287 }; 288 }; 289 290 &hdmi_sound { 291 status = "okay"; 292 }; 293 294 &gpu { 295 status = "okay"; 296 }; 297 298 &i2s0_8ch { 299 status = "okay"; 300 }; 301 302 &i2s1_8ch { 303 rockchip,trcm-sync-tx-only; 304 status = "okay"; 305 }; 306 307 &pinctrl { 308 bt { 309 bt_enable_h: bt-enable-h { 310 rockchip,pins = <2 RK_ 311 }; 312 313 bt_host_wake_l: bt-host-wake-l 314 rockchip,pins = <2 RK_ 315 }; 316 317 bt_wake_l: bt-wake-l { 318 rockchip,pins = <2 RK_ 319 }; 320 }; 321 322 sdio-pwrseq { 323 wifi_enable_h: wifi-enable-h { 324 rockchip,pins = <2 RK_ 325 }; 326 327 wifi_host_wake_h: wifi-host-wa 328 rockchip,pins = <2 RK_ 329 }; 330 331 wifi_32k: wifi-32k { 332 rockchip,pins = <2 RK_ 333 }; 334 }; 335 336 usb { 337 vcc5v0_usb_host_en: vcc5v0_usb 338 rockchip,pins = <0 RK_ 339 }; 340 341 vcc5v0_usb2_otg_en: vcc5v0_usb 342 rockchip,pins = <0 RK_ 343 }; 344 345 }; 346 347 ir { 348 ir_int: ir-int { 349 rockchip,pins = <4 RK_ 350 }; 351 }; 352 353 led { 354 led_work_en: led_work_en { 355 rockchip,pins = <0 RK_ 356 }; 357 }; 358 }; 359 360 &pmu_io_domains { 361 pmuio2-supply = <&vcc_3v3>; 362 vccio1-supply = <&vcc_3v3>; 363 vccio3-supply = <&vcc_3v3>; 364 vccio4-supply = <&vcca_1v8>; 365 vccio5-supply = <&vcc_3v3>; 366 vccio6-supply = <&vcca_1v8>; 367 vccio7-supply = <&vcc_3v3>; 368 status = "okay"; 369 }; 370 371 &pwm0 { 372 status = "okay"; 373 }; 374 375 &pwm1 { 376 status = "okay"; 377 }; 378 379 &sdhci { 380 bus-width = <8>; 381 mmc-hs200-1_8v; 382 non-removable; 383 status = "okay"; 384 }; 385 386 &sdmmc0 { 387 bus-width = <4>; 388 cap-sd-highspeed; 389 cd-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_ 390 disable-wp; 391 pinctrl-names = "default"; 392 pinctrl-0 = <&sdmmc0_bus4 &sdmmc0_clk 393 vmmc-supply = <&vcc_3v3>; 394 status = "okay"; 395 }; 396 397 &sdmmc1 { 398 /* WiFi & BT combo module AMPAK AP6398 399 #address-cells = <1>; 400 #size-cells = <0>; 401 bus-width = <4>; 402 clock-frequency = <150000000>; 403 cap-sdio-irq; 404 cap-sd-highspeed; 405 sd-uhs-sdr104; 406 keep-power-in-suspend; 407 mmc-pwrseq = <&sdio_pwrseq>; 408 non-removable; 409 pinctrl-names = "default"; 410 pinctrl-0 = <&sdmmc1_bus4 &sdmmc1_cmd 411 vmmc-supply = <&vcc_3v3>; 412 vqmmc-supply = <&vcca_1v8>; 413 status = "okay"; 414 415 brcmf: wifi@1 { 416 compatible = "brcm,bcm4329-fma 417 reg = <1>; 418 interrupt-parent = <&gpio2>; 419 interrupts = <RK_PB2 IRQ_TYPE_ 420 interrupt-names = "host-wake"; 421 pinctrl-names = "default"; 422 pinctrl-0 = <&wifi_host_wake_h 423 }; 424 }; 425 426 &spdif { 427 status = "okay"; 428 }; 429 430 &spi1 { 431 pinctrl-names = "default"; 432 pinctrl-0 = <&spi1m1_cs0 &spi1m1_pins> 433 }; 434 435 &tsadc { 436 /* tshut mode 0:CRU 1:GPIO */ 437 rockchip,hw-tshut-mode = <1>; 438 /* tshut polarity 0:LOW 1:HIGH */ 439 rockchip,hw-tshut-polarity = <0>; 440 status = "okay"; 441 }; 442 443 &uart1 { 444 pinctrl-names = "default"; 445 pinctrl-0 = <&uart1m0_xfer &uart1m0_ct 446 status = "okay"; 447 uart-has-rtscts; 448 449 bluetooth { 450 compatible = "brcm,bcm43438-bt 451 clocks = <&pmucru CLK_RTC_32K> 452 clock-names = "ext_clock"; 453 device-wake-gpios = <&gpio2 RK 454 host-wake-gpios = <&gpio2 RK_P 455 shutdown-gpios = <&gpio2 RK_PB 456 pinctrl-names = "default"; 457 pinctrl-0 = <&bt_host_wake_l & 458 vbat-supply = <&vcc3v3_sys>; 459 vddio-supply = <&vcca_1v8>; 460 }; 461 }; 462 463 &uart2 { 464 status = "okay"; 465 }; 466 467 &vop { 468 assigned-clocks = <&cru DCLK_VOP0>, <& 469 assigned-clock-parents = <&pmucru PLL_ 470 status = "okay"; 471 }; 472 473 &vop_mmu { 474 status = "okay"; 475 }; 476 477 &vp0 { 478 vp0_out_hdmi: endpoint@ROCKCHIP_VOP2_E 479 reg = <ROCKCHIP_VOP2_EP_HDMI0> 480 remote-endpoint = <&hdmi_in_vp 481 }; 482 }; 483 484 &vpu { 485 status = "okay"; 486 }; 487 488 &vdpu_mmu { 489 status = "okay"; 490 }; 491 492 &usb2phy0_host { 493 phy-supply = <&vcc5v0_usb_host>; 494 status = "okay"; 495 }; 496 497 &usb2phy0_otg { 498 phy-supply = <&vcc5v0_usb2_otg>; 499 status = "okay"; 500 }; 501 502 &usb2phy1_host { 503 phy-supply = <&vcc5v0_usb_host>; 504 status = "okay"; 505 }; 506 507 &usb2phy1_otg { 508 phy-supply = <&vcc5v0_usb_host>; 509 status = "okay"; 510 }; 511 512 &usb2phy1 { 513 status = "okay"; 514 }; 515 516 &usb_host0_ehci { 517 status = "okay"; 518 }; 519 520 &usb_host0_ohci { 521 status = "okay"; 522 }; 523 524 &usb_host1_ehci { 525 status = "okay"; 526 }; 527 528 &usb_host1_ohci { 529 status = "okay"; 530 }; 531 532 &usb_host1_xhci { 533 status = "okay"; 534 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.