1// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2/* 3 * Copyright (C) 2017 Jagan Teki <jagan@amarulasolutions.com> 4 */ 5 6/dts-v1/; 7#include "rk3288.dtsi" 8 9/ { 10 model = "Amarula Vyasa-RK3288"; 11 compatible = "amarula,vyasa-rk3288", "rockchip,rk3288"; 12 13 chosen { 14 stdout-path = &uart2; 15 }; 16 17 memory { 18 reg = <0x0 0x0 0x0 0x80000000>; 19 device_type = "memory"; 20 }; 21 22 dc12_vbat: regulator-dc12-vbat { 23 compatible = "regulator-fixed"; 24 regulator-name = "dc12_vbat"; 25 regulator-min-microvolt = <12000000>; 26 regulator-max-microvolt = <12000000>; 27 regulator-always-on; 28 regulator-boot-on; 29 }; 30 31 vboot_3v3: regulator-vboot-3v3 { 32 compatible = "regulator-fixed"; 33 regulator-name = "vboot_3v3"; 34 regulator-min-microvolt = <3300000>; 35 regulator-max-microvolt = <3300000>; 36 regulator-always-on; 37 regulator-boot-on; 38 vin-supply = <&dc12_vbat>; 39 }; 40 41 vcc_sys: regulator-vsys { 42 compatible = "regulator-fixed"; 43 regulator-name = "vcc_sys"; 44 regulator-min-microvolt = <3700000>; 45 regulator-max-microvolt = <3700000>; 46 regulator-always-on; 47 regulator-boot-on; 48 vin-supply = <&dc12_vbat>; 49 }; 50 51 vboot_5v: regulator-vboot-5v { 52 compatible = "regulator-fixed"; 53 regulator-name = "vboot_sv"; 54 regulator-min-microvolt = <5000000>; 55 regulator-max-microvolt = <5000000>; 56 regulator-always-on; 57 regulator-boot-on; 58 vin-supply = <&dc12_vbat>; 59 }; 60 61 v3g_3v3: regulator-v3g-3v3 { 62 compatible = "regulator-fixed"; 63 regulator-name = "v3g_3v3"; 64 regulator-min-microvolt = <3300000>; 65 regulator-max-microvolt = <3300000>; 66 regulator-always-on; 67 regulator-boot-on; 68 vin-supply = <&dc12_vbat>; 69 }; 70 71 vsus_5v: regulator-vsus-5v { 72 compatible = "regulator-fixed"; 73 regulator-name = "vsus_5v"; 74 regulator-min-microvolt = <5000000>; 75 regulator-max-microvolt = <5000000>; 76 regulator-always-on; 77 regulator-boot-on; 78 vin-supply = <&vcc_io>; 79 }; 80 81 vcc50_hdmi: regulator-vcc50-hdmi { 82 compatible = "regulator-fixed"; 83 regulator-name = "vcc50_hdmi"; 84 enable-active-high; 85 gpio = <&gpio7 RK_PB4 GPIO_ACTIVE_HIGH>; /* HDMI_EN */ 86 pinctrl-names = "default"; 87 pinctrl-0 = <&vcc50_hdmi_en>; 88 regulator-always-on; 89 regulator-boot-on; 90 vin-supply = <&vsus_5v>; 91 }; 92 93 vusb1_5v: regulator-vusb1-5v { 94 compatible = "regulator-fixed"; 95 regulator-name = "vusb1_5v"; 96 enable-active-high; 97 gpio = <&gpio0 RK_PB4 GPIO_ACTIVE_HIGH>; /* OTG_VBUS_DRV */ 98 pinctrl-names = "default"; 99 pinctrl-0 = <&otg_vbus_drv>; 100 regulator-min-microvolt = <5000000>; 101 regulator-max-microvolt = <5000000>; 102 vin-supply = <&vsus_5v>; 103 }; 104 105 vusb2_5v: regulator-vusb2-5v { 106 compatible = "regulator-fixed"; 107 regulator-name = "vusb2_5v"; 108 enable-active-high; 109 gpio = <&gpio8 RK_PB1 GPIO_ACTIVE_HIGH>; /* USB2_PWR_EN */ 110 pinctrl-names = "default"; 111 pinctrl-0 = <&usb2_pwr_en>; 112 regulator-min-microvolt = <5000000>; 113 regulator-max-microvolt = <5000000>; 114 regulator-always-on; 115 regulator-boot-on; 116 vin-supply = <&vsus_5v>; 117 }; 118 119 ext_gmac: external-gmac-clock { 120 compatible = "fixed-clock"; 121 #clock-cells = <0>; 122 clock-frequency = <125000000>; 123 clock-output-names = "ext_gmac"; 124 }; 125}; 126 127&cpu0 { 128 cpu-supply = <&vdd_cpu>; 129}; 130 131&cpu1 { 132 cpu-supply = <&vdd_cpu>; 133}; 134 135&cpu2 { 136 cpu-supply = <&vdd_cpu>; 137}; 138 139&cpu3 { 140 cpu-supply = <&vdd_cpu>; 141}; 142 143&emmc { 144 bus-width = <8>; 145 cap-mmc-highspeed; 146 non-removable; 147 pinctrl-names = "default"; 148 pinctrl-0 = <&emmc_clk &emmc_cmd &emmc_pwr &emmc_bus8>; 149 vmmc-supply = <&vcc_io>; 150 status = "okay"; 151}; 152 153&gmac { 154 assigned-clocks = <&cru SCLK_MAC>; 155 assigned-clock-parents = <&ext_gmac>; 156 clock_in_out = "input"; 157 pinctrl-names = "default"; 158 pinctrl-0 = <&rgmii_pins>, <&phy_rst>, <&phy_pmeb>, <&phy_int>; 159 phy-supply = <&vcc_lan>; 160 phy-mode = "rgmii"; 161 snps,reset-active-low; 162 snps,reset-delays-us = <0 10000 1000000>; 163 snps,reset-gpio = <&gpio4 RK_PB0 GPIO_ACTIVE_LOW>; 164 tx_delay = <0x30>; 165 rx_delay = <0x10>; 166 status = "okay"; 167}; 168 169&gpu { 170 mali-supply = <&vdd_gpu>; 171 status = "okay"; 172}; 173 174&hdmi { 175 ddc-i2c-bus = <&i2c5>; 176 status = "okay"; 177}; 178 179&i2c0 { 180 clock-frequency = <400000>; 181 status = "okay"; 182 183 rk808: pmic@1b { 184 compatible = "rockchip,rk808"; 185 reg = <0x1b>; 186 interrupt-parent = <&gpio0>; 187 interrupts = <RK_PA4 IRQ_TYPE_LEVEL_LOW>; 188 #clock-cells = <1>; 189 clock-output-names = "xin32k", "rk808-clkout2"; 190 pinctrl-names = "default"; 191 pinctrl-0 = <&pmic_int &global_pwroff>; 192 rockchip,system-power-controller; 193 wakeup-source; 194 195 vcc1-supply = <&vcc_sys>; 196 vcc2-supply = <&vcc_sys>; 197 vcc3-supply = <&vcc_sys>; 198 vcc4-supply = <&vcc_sys>; 199 vcc6-supply = <&vcc_sys>; 200 vcc7-supply = <&vcc_sys>; 201 vcc8-supply = <&vcc_io>; 202 vcc9-supply = <&vcc_sys>; 203 vcc10-supply = <&vcc_sys>; 204 vcc11-supply = <&vcc_sys>; 205 vcc12-supply = <&vcc_io>; 206 207 regulators { 208 vdd_cpu: DCDC_REG1 { 209 regulator-name = "vdd_arm"; 210 regulator-min-microvolt = <750000>; 211 regulator-max-microvolt = <1350000>; 212 regulator-always-on; 213 regulator-boot-on; 214 regulator-state-mem { 215 regulator-off-in-suspend; 216 }; 217 }; 218 219 vdd_gpu: DCDC_REG2 { 220 regulator-name = "vdd_gpu"; 221 regulator-min-microvolt = <850000>; 222 regulator-max-microvolt = <1250000>; 223 regulator-always-on; 224 regulator-boot-on; 225 regulator-state-mem { 226 regulator-on-in-suspend; 227 regulator-suspend-microvolt = <1000000>; 228 }; 229 }; 230 231 vcc_ddr: DCDC_REG3 { 232 regulator-name = "vcc_ddr"; 233 regulator-always-on; 234 regulator-boot-on; 235 regulator-state-mem { 236 regulator-on-in-suspend; 237 }; 238 }; 239 240 vcc_io: DCDC_REG4 { 241 regulator-name = "vcc_io"; 242 regulator-min-microvolt = <3300000>; 243 regulator-max-microvolt = <3300000>; 244 regulator-always-on; 245 regulator-boot-on; 246 regulator-state-mem { 247 regulator-on-in-suspend; 248 regulator-suspend-microvolt = <3300000>; 249 }; 250 }; 251 252 vcca_tp: LDO_REG1 { 253 regulator-name = "vcc_tp"; 254 regulator-min-microvolt = <3300000>; 255 regulator-max-microvolt = <3300000>; 256 regulator-always-on; 257 regulator-boot-on; 258 regulator-state-mem { 259 regulator-on-in-suspend; 260 regulator-suspend-microvolt = <3300000>; 261 }; 262 }; 263 264 vcc_codec: LDO_REG2 { 265 regulator-name = "vcc_codec"; 266 regulator-min-microvolt = <3300000>; 267 regulator-max-microvolt = <3300000>; 268 regulator-always-on; 269 regulator-boot-on; 270 regulator-state-mem { 271 regulator-off-in-suspend; 272 }; 273 }; 274 275 vdd_10: LDO_REG3 { 276 regulator-name = "vdd_10"; 277 regulator-min-microvolt = <1000000>; 278 regulator-max-microvolt = <1000000>; 279 regulator-always-on; 280 regulator-boot-on; 281 regulator-state-mem { 282 regulator-on-in-suspend; 283 regulator-suspend-microvolt = <1000000>; 284 }; 285 }; 286 287 vcc_gps: LDO_REG4 { 288 regulator-name = "vcc_gps"; 289 regulator-min-microvolt = <1800000>; 290 regulator-max-microvolt = <1800000>; 291 regulator-always-on; 292 regulator-boot-on; 293 regulator-state-mem { 294 regulator-on-in-suspend; 295 regulator-suspend-microvolt = <1800000>; 296 }; 297 }; 298 299 vccio_sd: LDO_REG5 { 300 regulator-name = "vccio_sd"; 301 regulator-min-microvolt = <1800000>; 302 regulator-max-microvolt = <3300000>; 303 regulator-always-on; 304 regulator-boot-on; 305 regulator-state-mem { 306 regulator-on-in-suspend; 307 regulator-suspend-microvolt = <3300000>; 308 }; 309 }; 310 311 vdd10_lcd: LDO_REG6 { 312 regulator-name = "vdd10_lcd"; 313 regulator-min-microvolt = <1000000>; 314 regulator-max-microvolt = <1000000>; 315 regulator-always-on; 316 regulator-boot-on; 317 regulator-state-mem { 318 regulator-on-in-suspend; 319 regulator-suspend-microvolt = <1000000>; 320 }; 321 }; 322 323 vcc_18: LDO_REG7 { 324 regulator-name = "vcc_18"; 325 regulator-min-microvolt = <1800000>; 326 regulator-max-microvolt = <1800000>; 327 regulator-always-on; 328 regulator-boot-on; 329 regulator-state-mem { 330 regulator-on-in-suspend; 331 regulator-suspend-microvolt = <1800000>; 332 }; 333 }; 334 335 vcc18_lcd: LDO_REG8 { 336 regulator-name = "vcc18_lcd"; 337 regulator-min-microvolt = <1800000>; 338 regulator-max-microvolt = <1800000>; 339 regulator-always-on; 340 regulator-boot-on; 341 regulator-state-mem { 342 regulator-on-in-suspend; 343 regulator-suspend-microvolt = <1800000>; 344 }; 345 }; 346 347 vcc_sd: SWITCH_REG1 { 348 regulator-name = "vcc_sd"; 349 regulator-min-microvolt = <3300000>; 350 regulator-max-microvolt = <3300000>; 351 regulator-always-on; 352 regulator-boot-on; 353 regulator-state-mem { 354 regulator-on-in-suspend; 355 }; 356 }; 357 358 vcc_lan: SWITCH_REG2 { 359 regulator-name = "vcc_lan"; 360 regulator-min-microvolt = <3300000>; 361 regulator-max-microvolt = <3300000>; 362 regulator-always-on; 363 regulator-boot-on; 364 regulator-state-mem { 365 regulator-on-in-suspend; 366 }; 367 }; 368 }; 369 }; 370}; 371 372&i2c5 { 373 status = "okay"; 374}; 375 376&io_domains { 377 status = "okay"; 378 379 audio-supply = <&vcc_18>; 380 bb-supply = <&vcc_io>; 381 dvp-supply = <&vcc_io>; 382 flash0-supply = <&vcc_18>; 383 flash1-supply = <&vcc_lan>; 384 gpio30-supply = <&vcc_io>; 385 gpio1830-supply = <&vcc_io>; 386 lcdc-supply = <&vcc_io>; 387 sdcard-supply = <&vccio_sd>; 388 wifi-supply = <&vcc_18>; 389}; 390 391&sdmmc { 392 bus-width = <4>; 393 cap-mmc-highspeed; 394 cap-sd-highspeed; 395 card-detect-delay = <200>; 396 disable-wp; 397 pinctrl-names = "default"; 398 pinctrl-0 = <&sdmmc_clk>, <&sdmmc_cmd>, <&sdmmc_cd>, <&sdmmc_bus4>; 399 vmmc-supply = <&vcc_sd>; 400 vqmmc-supply = <&vccio_sd>; 401 status = "okay"; 402}; 403 404&tsadc { 405 rockchip,hw-tshut-mode = <1>; /* tshut mode 0:CRU 1:GPIO */ 406 rockchip,hw-tshut-polarity = <1>; /* tshut polarity 0:LOW 1:HIGH */ 407 status = "okay"; 408}; 409 410&uart2 { 411 status = "okay"; 412}; 413 414&usbphy { 415 status = "okay"; 416}; 417 418&usb_host0_ehci { 419 status = "okay"; 420}; 421 422&usb_host1 { 423 pinctrl-names = "default"; 424 pinctrl-0 = <&phy_pwr_en>; 425 status = "okay"; 426}; 427 428&usb_otg { 429 vbus-supply = <&vusb1_5v>; 430 status = "okay"; 431}; 432 433&vopb { 434 status = "okay"; 435}; 436 437&vopb_mmu { 438 status = "okay"; 439}; 440 441&vopl { 442 status = "okay"; 443}; 444 445&vopl_mmu { 446 status = "okay"; 447}; 448 449&wdt { 450 status = "okay"; 451}; 452 453&pinctrl { 454 pcfg_output_high: pcfg-output-high { 455 output-high; 456 }; 457 458 gmac { 459 phy_int: phy-int { 460 rockchip,pins = <0 RK_PB1 RK_FUNC_GPIO &pcfg_pull_up>; 461 }; 462 463 phy_pmeb: phy-pmeb { 464 rockchip,pins = <0 RK_PA6 RK_FUNC_GPIO &pcfg_pull_up>; 465 }; 466 467 phy_rst: phy-rst { 468 rockchip,pins = <4 RK_PB0 RK_FUNC_GPIO &pcfg_output_high>; 469 }; 470 }; 471 472 hdmi { 473 vcc50_hdmi_en: vcc50-hdmi-en { 474 rockchip,pins = <7 RK_PB4 RK_FUNC_GPIO &pcfg_pull_none>; 475 }; 476 }; 477 478 pmic { 479 pmic_int: pmic-int { 480 rockchip,pins = <0 RK_PA4 RK_FUNC_GPIO &pcfg_pull_up>; 481 }; 482 }; 483 484 usb_host { 485 phy_pwr_en: phy-pwr-en { 486 rockchip,pins = <2 RK_PB1 RK_FUNC_GPIO &pcfg_output_high>; 487 }; 488 489 usb2_pwr_en: usb2-pwr-en { 490 rockchip,pins = <8 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>; 491 }; 492 }; 493 494 usb_otg { 495 otg_vbus_drv: otg-vbus-drv { 496 rockchip,pins = <0 RK_PB4 RK_FUNC_GPIO &pcfg_pull_none>; 497 498 }; 499 }; 500}; 501