1/* 2 * Copyright (c) 2016 Heiko Stuebner <heiko@sntech.de> 3 * 4 * SPDX-License-Identifier: GPL-2.0+ X11 5 */ 6 7#include "rk3288.dtsi" 8 9/ { 10 memory { 11 device_type = "memory"; 12 reg = <0 0x80000000>; 13 }; 14 15 ext_gmac: external-gmac-clock { 16 compatible = "fixed-clock"; 17 #clock-cells = <0>; 18 clock-frequency = <125000000>; 19 clock-output-names = "ext_gmac"; 20 }; 21 22 io_domains: io-domains { 23 compatible = "rockchip,rk3288-io-voltage-domain"; 24 rockchip,grf = <&grf>; 25 26 audio-supply = <&vcca_33>; 27 flash0-supply = <&vcc_flash>; 28 flash1-supply = <&vcc_lan>; 29 gpio30-supply = <&vcc_io>; 30 gpio1830-supply = <&vcc_io>; 31 lcdc-supply = <&vcc_io>; 32 sdcard-supply = <&vccio_sd>; 33 wifi-supply = <&vcc_18>; 34 }; 35 36 37 leds { 38 u-boot,dm-pre-reloc; 39 compatible = "gpio-leds"; 40 41 work { 42 u-boot,dm-pre-reloc; 43 gpios = <&gpio7 4 GPIO_ACTIVE_LOW>; 44 label = "miqi:green:user"; 45 linux,default-trigger = "default-on"; 46 pinctrl-names = "default"; 47 pinctrl-0 = <&led_ctl>; 48 }; 49 }; 50 51 vcc_flash: flash-regulator { 52 compatible = "regulator-fixed"; 53 regulator-name = "vcc_flash"; 54 regulator-min-microvolt = <1800000>; 55 regulator-max-microvolt = <1800000>; 56 vin-supply = <&vcc_io>; 57 }; 58 59 vcc_host: usb-host-regulator { 60 compatible = "regulator-fixed"; 61 enable-active-high; 62 gpio = <&gpio0 14 GPIO_ACTIVE_HIGH>; 63 pinctrl-names = "default"; 64 pinctrl-0 = <&host_vbus_drv>; 65 regulator-name = "vcc_host"; 66 regulator-min-microvolt = <5000000>; 67 regulator-max-microvolt = <5000000>; 68 regulator-always-on; 69 vin-supply = <&vcc_sys>; 70 }; 71 72 vcc_sd: sdmmc-regulator { 73 compatible = "regulator-fixed"; 74 gpio = <&gpio7 11 GPIO_ACTIVE_LOW>; 75 pinctrl-names = "default"; 76 pinctrl-0 = <&sdmmc_pwr>; 77 regulator-name = "vcc_sd"; 78 regulator-min-microvolt = <3300000>; 79 regulator-max-microvolt = <3300000>; 80 startup-delay-us = <100000>; 81 vin-supply = <&vcc_io>; 82 }; 83 84 vcc_sys: vsys-regulator { 85 compatible = "regulator-fixed"; 86 regulator-name = "vcc_sys"; 87 regulator-min-microvolt = <5000000>; 88 regulator-max-microvolt = <5000000>; 89 regulator-always-on; 90 regulator-boot-on; 91 }; 92}; 93 94&cpu0 { 95 cpu0-supply = <&vdd_cpu>; 96}; 97 98&emmc { 99 bus-width = <8>; 100 cap-mmc-highspeed; 101 disable-wp; 102 non-removable; 103 num-slots = <1>; 104 pinctrl-names = "default"; 105 pinctrl-0 = <&emmc_clk>, <&emmc_cmd>, <&emmc_pwr>, <&emmc_bus8>; 106 vmmc-supply = <&vcc_io>; 107 vqmmc-supply = <&vcc_flash>; 108 status = "okay"; 109}; 110 111&gmac { 112 assigned-clocks = <&cru SCLK_MAC>; 113 assigned-clock-parents = <&ext_gmac>; 114 clock_in_out = "input"; 115 pinctrl-names = "default"; 116 pinctrl-0 = <&rgmii_pins>, <&phy_rst>, <&phy_pmeb>, <&phy_int>; 117 phy-supply = <&vcc_lan>; 118 phy-mode = "rgmii"; 119 snps,reset-active-low; 120 snps,reset-delays-us = <0 10000 1000000>; 121 snps,reset-gpio = <&gpio4 8 GPIO_ACTIVE_LOW>; 122 tx_delay = <0x30>; 123 rx_delay = <0x10>; 124 status = "okay"; 125}; 126 127&hdmi { 128 ddc-i2c-bus = <&i2c5>; 129 status = "okay"; 130}; 131 132&i2c0 { 133 clock-frequency = <400000>; 134 status = "okay"; 135 136 vdd_cpu: syr827@40 { 137 compatible = "silergy,syr827"; 138 fcs,suspend-voltage-selector = <1>; 139 reg = <0x40>; 140 regulator-name = "vdd_cpu"; 141 regulator-min-microvolt = <850000>; 142 regulator-max-microvolt = <1350000>; 143 regulator-always-on; 144 regulator-boot-on; 145 regulator-enable-ramp-delay = <300>; 146 regulator-ramp-delay = <8000>; 147 vin-supply = <&vcc_sys>; 148 }; 149 150 vdd_gpu: syr828@41 { 151 compatible = "silergy,syr828"; 152 fcs,suspend-voltage-selector = <1>; 153 reg = <0x41>; 154 regulator-name = "vdd_gpu"; 155 regulator-min-microvolt = <850000>; 156 regulator-max-microvolt = <1350000>; 157 regulator-always-on; 158 vin-supply = <&vcc_sys>; 159 }; 160 161 hym8563: hym8563@51 { 162 compatible = "haoyu,hym8563"; 163 reg = <0x51>; 164 #clock-cells = <0>; 165 clock-frequency = <32768>; 166 clock-output-names = "xin32k"; 167 }; 168 169 act8846: act8846@5a { 170 compatible = "active-semi,act8846"; 171 reg = <0x5a>; 172 pinctrl-names = "default"; 173 pinctrl-0 = <&pmic_vsel>; 174 system-power-controller; 175 176 vp1-supply = <&vcc_sys>; 177 vp2-supply = <&vcc_sys>; 178 vp3-supply = <&vcc_sys>; 179 vp4-supply = <&vcc_sys>; 180 inl1-supply = <&vcc_sys>; 181 inl2-supply = <&vcc_sys>; 182 inl3-supply = <&vcc_20>; 183 184 regulators { 185 vcc_ddr: REG1 { 186 regulator-name = "vcc_ddr"; 187 regulator-always-on; 188 }; 189 190 vcc_io: REG2 { 191 regulator-name = "vcc_io"; 192 regulator-min-microvolt = <3300000>; 193 regulator-max-microvolt = <3300000>; 194 regulator-always-on; 195 }; 196 197 vdd_log: REG3 { 198 regulator-name = "vdd_log"; 199 regulator-min-microvolt = <1100000>; 200 regulator-max-microvolt = <1100000>; 201 regulator-always-on; 202 }; 203 204 vcc_20: REG4 { 205 regulator-name = "vcc_20"; 206 regulator-min-microvolt = <2000000>; 207 regulator-max-microvolt = <2000000>; 208 regulator-always-on; 209 }; 210 211 vccio_sd: REG5 { 212 regulator-name = "vccio_sd"; 213 regulator-min-microvolt = <3300000>; 214 regulator-max-microvolt = <3300000>; 215 regulator-always-on; 216 }; 217 218 vdd10_lcd: REG6 { 219 regulator-name = "vdd10_lcd"; 220 regulator-min-microvolt = <1000000>; 221 regulator-max-microvolt = <1000000>; 222 regulator-always-on; 223 }; 224 225 vcca_18: REG7 { 226 regulator-name = "vcca_18"; 227 regulator-min-microvolt = <1800000>; 228 regulator-max-microvolt = <1800000>; 229 }; 230 231 vcca_33: REG8 { 232 regulator-name = "vcca_33"; 233 regulator-min-microvolt = <3300000>; 234 regulator-max-microvolt = <3300000>; 235 }; 236 237 vcc_lan: REG9 { 238 regulator-name = "vcc_lan"; 239 regulator-min-microvolt = <3300000>; 240 regulator-max-microvolt = <3300000>; 241 }; 242 243 vdd_10: REG10 { 244 regulator-name = "vdd_10"; 245 regulator-min-microvolt = <1000000>; 246 regulator-max-microvolt = <1000000>; 247 regulator-always-on; 248 }; 249 250 vcc_18: REG11 { 251 regulator-name = "vcc_18"; 252 regulator-min-microvolt = <1800000>; 253 regulator-max-microvolt = <1800000>; 254 regulator-always-on; 255 }; 256 257 vcc18_lcd: REG12 { 258 regulator-name = "vcc18_lcd"; 259 regulator-min-microvolt = <1800000>; 260 regulator-max-microvolt = <1800000>; 261 regulator-always-on; 262 }; 263 }; 264 }; 265}; 266 267&i2c1 { 268 status = "okay"; 269}; 270 271&i2c2 { 272 status = "okay"; 273}; 274 275&i2c4 { 276 status = "okay"; 277}; 278 279&i2c5 { 280 status = "okay"; 281}; 282 283&pinctrl { 284 pcfg_output_high: pcfg-output-high { 285 output-high; 286 }; 287 288 pcfg_output_low: pcfg-output-low { 289 output-low; 290 }; 291 292 pcfg_pull_up_drv_12ma: pcfg-pull-up-drv-12ma { 293 bias-pull-up; 294 drive-strength = <12>; 295 }; 296 297 act8846 { 298 pmic_int: pmic-int { 299 rockchip,pins = <0 4 RK_FUNC_GPIO &pcfg_pull_up>; 300 }; 301 302 pmic_sleep: pmic-sleep { 303 rockchip,pins = <0 0 RK_FUNC_GPIO &pcfg_output_low>; 304 }; 305 306 pmic_vsel: pmic-vsel { 307 rockchip,pins = <7 1 RK_FUNC_GPIO &pcfg_output_low>; 308 }; 309 }; 310 311 gmac { 312 phy_int: phy-int { 313 rockchip,pins = <0 9 RK_FUNC_GPIO &pcfg_pull_up>; 314 }; 315 316 phy_pmeb: phy-pmeb { 317 rockchip,pins = <0 8 RK_FUNC_GPIO &pcfg_pull_up>; 318 }; 319 320 phy_rst: phy-rst { 321 rockchip,pins = <4 8 RK_FUNC_GPIO &pcfg_output_high>; 322 }; 323 }; 324 325 leds { 326 led_ctl: led-ctl { 327 rockchip,pins = <7 4 RK_FUNC_GPIO &pcfg_pull_none>; 328 }; 329 }; 330 331 sdmmc { 332 /* 333 * Default drive strength isn't enough to achieve even 334 * high-speed mode on firefly board so bump up to 12ma. 335 */ 336 sdmmc_bus4: sdmmc-bus4 { 337 rockchip,pins = <6 16 RK_FUNC_1 &pcfg_pull_up_drv_12ma>, 338 <6 17 RK_FUNC_1 &pcfg_pull_up_drv_12ma>, 339 <6 18 RK_FUNC_1 &pcfg_pull_up_drv_12ma>, 340 <6 19 RK_FUNC_1 &pcfg_pull_up_drv_12ma>; 341 }; 342 343 sdmmc_clk: sdmmc-clk { 344 rockchip,pins = <6 20 RK_FUNC_1 &pcfg_pull_none_12ma>; 345 }; 346 347 sdmmc_cmd: sdmmc-cmd { 348 rockchip,pins = <6 21 RK_FUNC_1 &pcfg_pull_up_drv_12ma>; 349 }; 350 351 sdmmc_pwr: sdmmc-pwr { 352 rockchip,pins = <7 11 RK_FUNC_GPIO &pcfg_pull_none>; 353 }; 354 }; 355 356 usb_host { 357 host_vbus_drv: host-vbus-drv { 358 rockchip,pins = <0 14 RK_FUNC_GPIO &pcfg_pull_none>; 359 }; 360 }; 361}; 362 363&saradc { 364 vref-supply = <&vcc_18>; 365 status = "okay"; 366}; 367 368&sdmmc { 369 bus-width = <4>; 370 cap-mmc-highspeed; 371 cap-sd-highspeed; 372 card-detect-delay = <200>; 373 disable-wp; 374 num-slots = <1>; 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 = <0>; 384 rockchip,hw-tshut-polarity = <0>; 385 status = "okay"; 386}; 387 388&uart2 { 389 status = "okay"; 390}; 391 392&uart3 { 393 status = "okay"; 394}; 395 396&usbphy { 397 status = "okay"; 398}; 399 400&usb_host1 { 401 vbus-supply = <&vcc_host>; 402 status = "okay"; 403}; 404 405&vopb { 406 status = "okay"; 407}; 408 409&vopb_mmu { 410 status = "okay"; 411}; 412 413&vopl { 414 status = "okay"; 415}; 416 417&vopl_mmu { 418 status = "okay"; 419}; 420 421&wdt { 422 status = "okay"; 423}; 424