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