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: 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: 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: vsys-regulator { 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: 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: 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: 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: 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 vusb1_5v: vusb1-5v { 93 compatible = "regulator-fixed"; 94 regulator-name = "vusb1_5v"; 95 enable-active-high; 96 gpio = <&gpio0 RK_PB4 GPIO_ACTIVE_HIGH>; /* OTG_VBUS_DRV */ 97 pinctrl-names = "default"; 98 pinctrl-0 = <&otg_vbus_drv>; 99 regulator-min-microvolt = <5000000>; 100 regulator-max-microvolt = <5000000>; 101 regulator-always-on; 102 regulator-boot-on; 103 vin-supply = <&vsus_5v>; 104 }; 105 106 vusb2_5v: vusb2-5v { 107 compatible = "regulator-fixed"; 108 regulator-name = "vusb2_5v"; 109 enable-active-high; 110 gpio = <&gpio8 RK_PB1 GPIO_ACTIVE_HIGH>; /* USB2_PWR_EN */ 111 pinctrl-names = "default"; 112 pinctrl-0 = <&usb2_pwr_en>; 113 regulator-min-microvolt = <5000000>; 114 regulator-max-microvolt = <5000000>; 115 regulator-always-on; 116 regulator-boot-on; 117 vin-supply = <&vsus_5v>; 118 }; 119 120 ext_gmac: external-gmac-clock { 121 compatible = "fixed-clock"; 122 #clock-cells = <0>; 123 clock-frequency = <125000000>; 124 clock-output-names = "ext_gmac"; 125 }; 126}; 127 128&cpu0 { 129 cpu0-supply = <&vdd_cpu>; 130}; 131 132&emmc { 133 bus-width = <8>; 134 cap-mmc-highspeed; 135 non-removable; 136 pinctrl-names = "default"; 137 pinctrl-0 = <&emmc_clk &emmc_cmd &emmc_pwr &emmc_bus8>; 138 vmmc-supply = <&vcc_io>; 139 status = "okay"; 140}; 141 142&gmac { 143 assigned-clocks = <&cru SCLK_MAC>; 144 assigned-clock-parents = <&ext_gmac>; 145 clock_in_out = "input"; 146 pinctrl-names = "default"; 147 pinctrl-0 = <&rgmii_pins>, <&phy_rst>, <&phy_pmeb>, <&phy_int>; 148 phy-supply = <&vcc_lan>; 149 phy-mode = "rgmii"; 150 snps,reset-active-low; 151 snps,reset-delays-us = <0 10000 1000000>; 152 snps,reset-gpio = <&gpio4 RK_PB0 GPIO_ACTIVE_LOW>; 153 tx_delay = <0x30>; 154 rx_delay = <0x10>; 155 status = "okay"; 156}; 157 158&gpu { 159 mali-supply = <&vdd_gpu>; 160 status = "okay"; 161}; 162 163&hdmi { 164 ddc-i2c-bus = <&i2c5>; 165 status = "okay"; 166}; 167 168&i2c0 { 169 clock-frequency = <400000>; 170 status = "okay"; 171 172 rk808: pmic@1b { 173 compatible = "rockchip,rk808"; 174 reg = <0x1b>; 175 interrupt-parent = <&gpio0>; 176 interrupts = <RK_PA4 IRQ_TYPE_LEVEL_LOW>; 177 #clock-cells = <1>; 178 clock-output-names = "xin32k", "rk808-clkout2"; 179 pinctrl-names = "default"; 180 pinctrl-0 = <&pmic_int &global_pwroff>; 181 rockchip,system-power-controller; 182 wakeup-source; 183 184 vcc1-supply = <&vcc_sys>; 185 vcc2-supply = <&vcc_sys>; 186 vcc3-supply = <&vcc_sys>; 187 vcc4-supply = <&vcc_sys>; 188 vcc6-supply = <&vcc_sys>; 189 vcc7-supply = <&vcc_sys>; 190 vcc8-supply = <&vcc_io>; 191 vcc9-supply = <&vcc_sys>; 192 vcc10-supply = <&vcc_sys>; 193 vcc11-supply = <&vcc_sys>; 194 vcc12-supply = <&vcc_io>; 195 196 regulators { 197 vdd_cpu: DCDC_REG1 { 198 regulator-name = "vdd_arm"; 199 regulator-min-microvolt = <750000>; 200 regulator-max-microvolt = <1350000>; 201 regulator-always-on; 202 regulator-boot-on; 203 regulator-state-mem { 204 regulator-off-in-suspend; 205 }; 206 }; 207 208 vdd_gpu: DCDC_REG2 { 209 regulator-name = "vdd_gpu"; 210 regulator-min-microvolt = <850000>; 211 regulator-max-microvolt = <1250000>; 212 regulator-always-on; 213 regulator-boot-on; 214 regulator-state-mem { 215 regulator-on-in-suspend; 216 regulator-suspend-microvolt = <1000000>; 217 }; 218 }; 219 220 vcc_ddr: DCDC_REG3 { 221 regulator-name = "vcc_ddr"; 222 regulator-always-on; 223 regulator-boot-on; 224 regulator-state-mem { 225 regulator-on-in-suspend; 226 }; 227 }; 228 229 vcc_io: DCDC_REG4 { 230 regulator-name = "vcc_io"; 231 regulator-min-microvolt = <3300000>; 232 regulator-max-microvolt = <3300000>; 233 regulator-always-on; 234 regulator-boot-on; 235 regulator-state-mem { 236 regulator-on-in-suspend; 237 regulator-suspend-microvolt = <3300000>; 238 }; 239 }; 240 241 vcca_tp: LDO_REG1 { 242 regulator-name = "vcc_tp"; 243 regulator-min-microvolt = <3300000>; 244 regulator-max-microvolt = <3300000>; 245 regulator-always-on; 246 regulator-boot-on; 247 regulator-state-mem { 248 regulator-on-in-suspend; 249 regulator-suspend-microvolt = <3300000>; 250 }; 251 }; 252 253 vcc_codec: LDO_REG2 { 254 regulator-name = "vcc_codec"; 255 regulator-min-microvolt = <3300000>; 256 regulator-max-microvolt = <3300000>; 257 regulator-always-on; 258 regulator-boot-on; 259 regulator-state-mem { 260 regulator-off-in-suspend; 261 }; 262 }; 263 264 vdd_10: LDO_REG3 { 265 regulator-name = "vdd_10"; 266 regulator-min-microvolt = <1000000>; 267 regulator-max-microvolt = <1000000>; 268 regulator-always-on; 269 regulator-boot-on; 270 regulator-state-mem { 271 regulator-on-in-suspend; 272 regulator-suspend-microvolt = <1000000>; 273 }; 274 }; 275 276 vcc_gps: LDO_REG4 { 277 regulator-name = "vcc_gps"; 278 regulator-min-microvolt = <1800000>; 279 regulator-max-microvolt = <1800000>; 280 regulator-always-on; 281 regulator-boot-on; 282 regulator-state-mem { 283 regulator-on-in-suspend; 284 regulator-suspend-microvolt = <1800000>; 285 }; 286 }; 287 288 vccio_sd: LDO_REG5 { 289 regulator-name = "vccio_sd"; 290 regulator-min-microvolt = <1800000>; 291 regulator-max-microvolt = <3300000>; 292 regulator-always-on; 293 regulator-boot-on; 294 regulator-state-mem { 295 regulator-on-in-suspend; 296 regulator-suspend-microvolt = <3300000>; 297 }; 298 }; 299 300 vdd10_lcd: LDO_REG6 { 301 regulator-name = "vdd10_lcd"; 302 regulator-min-microvolt = <1000000>; 303 regulator-max-microvolt = <1000000>; 304 regulator-always-on; 305 regulator-boot-on; 306 regulator-state-mem { 307 regulator-on-in-suspend; 308 regulator-suspend-microvolt = <1000000>; 309 }; 310 }; 311 312 vcc_18: LDO_REG7 { 313 regulator-name = "vcc_18"; 314 regulator-min-microvolt = <1800000>; 315 regulator-max-microvolt = <1800000>; 316 regulator-always-on; 317 regulator-boot-on; 318 regulator-state-mem { 319 regulator-on-in-suspend; 320 regulator-suspend-microvolt = <1800000>; 321 }; 322 }; 323 324 vcc18_lcd: LDO_REG8 { 325 regulator-name = "vcc18_lcd"; 326 regulator-min-microvolt = <1800000>; 327 regulator-max-microvolt = <1800000>; 328 regulator-always-on; 329 regulator-boot-on; 330 regulator-state-mem { 331 regulator-on-in-suspend; 332 regulator-suspend-microvolt = <1800000>; 333 }; 334 }; 335 336 vcc_sd: SWITCH_REG1 { 337 regulator-name = "vcc_sd"; 338 regulator-min-microvolt = <3300000>; 339 regulator-max-microvolt = <3300000>; 340 regulator-always-on; 341 regulator-boot-on; 342 regulator-state-mem { 343 regulator-on-in-suspend; 344 }; 345 }; 346 347 vcc_lan: SWITCH_REG2 { 348 regulator-name = "vcc_lan"; 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 }; 359}; 360 361&i2c5 { 362 status = "okay"; 363}; 364 365&sdmmc { 366 bus-width = <4>; 367 cap-mmc-highspeed; 368 cap-sd-highspeed; 369 card-detect-delay = <200>; 370 disable-wp; 371 pinctrl-names = "default"; 372 pinctrl-0 = <&sdmmc_clk>, <&sdmmc_cmd>, <&sdmmc_cd>, <&sdmmc_bus4>; 373 vmmc-supply = <&vcc_sd>; 374 vqmmc-supply = <&vccio_sd>; 375 status = "okay"; 376}; 377 378&tsadc { 379 rockchip,hw-tshut-mode = <1>; /* tshut mode 0:CRU 1:GPIO */ 380 rockchip,hw-tshut-polarity = <1>; /* tshut polarity 0:LOW 1:HIGH */ 381 status = "okay"; 382}; 383 384&uart2 { 385 status = "okay"; 386}; 387 388&usbphy { 389 status = "okay"; 390}; 391 392&usb_host0_ehci { 393 status = "okay"; 394}; 395 396&usb_host1 { 397 pinctrl-names = "default"; 398 pinctrl-0 = <&phy_pwr_en>; 399 status = "okay"; 400}; 401 402&usb_otg { 403 status = "okay"; 404}; 405 406&vopb { 407 status = "okay"; 408}; 409 410&vopb_mmu { 411 status = "okay"; 412}; 413 414&vopl { 415 status = "okay"; 416}; 417 418&vopl_mmu { 419 status = "okay"; 420}; 421 422&wdt { 423 status = "okay"; 424}; 425 426&pinctrl { 427 pcfg_output_high: pcfg-output-high { 428 output-high; 429 }; 430 431 gmac { 432 phy_int: phy-int { 433 rockchip,pins = <0 RK_PB1 RK_FUNC_GPIO &pcfg_pull_up>; 434 }; 435 436 phy_pmeb: phy-pmeb { 437 rockchip,pins = <0 RK_PA6 RK_FUNC_GPIO &pcfg_pull_up>; 438 }; 439 440 phy_rst: phy-rst { 441 rockchip,pins = <4 RK_PB0 RK_FUNC_GPIO &pcfg_output_high>; 442 }; 443 }; 444 445 hdmi { 446 vcc50_hdmi_en: vcc50-hdmi-en { 447 rockchip,pins = <7 RK_PB4 RK_FUNC_GPIO &pcfg_pull_none>; 448 }; 449 }; 450 451 pmic { 452 pmic_int: pmic-int { 453 rockchip,pins = <0 RK_PA4 RK_FUNC_GPIO &pcfg_pull_up>; 454 }; 455 }; 456 457 usb_host { 458 phy_pwr_en: phy-pwr-en { 459 rockchip,pins = <2 RK_PB1 RK_FUNC_GPIO &pcfg_output_high>; 460 }; 461 462 usb2_pwr_en: usb2-pwr-en { 463 rockchip,pins = <8 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>; 464 }; 465 }; 466 467 usb_otg { 468 otg_vbus_drv: otg-vbus-drv { 469 rockchip,pins = <0 RK_PB4 RK_FUNC_GPIO &pcfg_pull_none>; 470 471 }; 472 }; 473}; 474