1// SPDX-License-Identifier: GPL-2.0+ OR X11 2/* 3 * Copyright (c) 2014, 2015 FUKAUMI Naoki <naobsd@gmail.com> 4 */ 5 6#include "rk3288.dtsi" 7 8/ { 9 memory { 10 reg = <0 0x80000000>; 11 }; 12 13 ext_gmac: external-gmac-clock { 14 compatible = "fixed-clock"; 15 #clock-cells = <0>; 16 clock-frequency = <125000000>; 17 clock-output-names = "ext_gmac"; 18 }; 19 20 ir: ir-receiver { 21 compatible = "gpio-ir-receiver"; 22 pinctrl-names = "default"; 23 pinctrl-0 = <&ir_int>; 24 }; 25 26 keys: gpio-keys { 27 compatible = "gpio-keys"; 28 29 button@0 { 30 gpio-key,wakeup = <1>; 31 gpios = <&gpio0 5 GPIO_ACTIVE_LOW>; 32 label = "GPIO Power"; 33 linux,code = <116>; 34 pinctrl-names = "default"; 35 pinctrl-0 = <&pwr_key>; 36 }; 37 }; 38 39 leds { 40 u-boot,dm-pre-reloc; 41 compatible = "gpio-leds"; 42 43 work { 44 u-boot,dm-pre-reloc; 45 gpios = <&gpio8 1 GPIO_ACTIVE_LOW>; 46 label = "firefly:blue:user"; 47 linux,default-trigger = "rc-feedback"; 48 pinctrl-names = "default"; 49 pinctrl-0 = <&work_led>; 50 }; 51 52 power { 53 u-boot,dm-pre-reloc; 54 gpios = <&gpio8 2 GPIO_ACTIVE_LOW>; 55 label = "firefly:green:power"; 56 linux,default-trigger = "default-on"; 57 pinctrl-names = "default"; 58 pinctrl-0 = <&power_led>; 59 }; 60 }; 61 62 vcc_sys: vsys-regulator { 63 compatible = "regulator-fixed"; 64 regulator-name = "vcc_sys"; 65 regulator-min-microvolt = <5000000>; 66 regulator-max-microvolt = <5000000>; 67 regulator-always-on; 68 regulator-boot-on; 69 }; 70 71 vcc_sd: sdmmc-regulator { 72 compatible = "regulator-fixed"; 73 gpio = <&gpio7 11 GPIO_ACTIVE_LOW>; 74 pinctrl-names = "default"; 75 pinctrl-0 = <&sdmmc_pwr>; 76 regulator-name = "vcc_sd"; 77 regulator-min-microvolt = <3300000>; 78 regulator-max-microvolt = <3300000>; 79 startup-delay-us = <100000>; 80 vin-supply = <&vcc_io>; 81 }; 82 83 vcc_flash: flash-regulator { 84 compatible = "regulator-fixed"; 85 regulator-name = "vcc_flash"; 86 regulator-min-microvolt = <1800000>; 87 regulator-max-microvolt = <1800000>; 88 vin-supply = <&vcc_io>; 89 }; 90 91 vcc_5v: usb-regulator { 92 compatible = "regulator-fixed"; 93 regulator-name = "vcc_5v"; 94 regulator-min-microvolt = <5000000>; 95 regulator-max-microvolt = <5000000>; 96 regulator-always-on; 97 regulator-boot-on; 98 vin-supply = <&vcc_sys>; 99 }; 100 101 vcc_host_5v: usb-host-regulator { 102 compatible = "regulator-fixed"; 103 enable-active-high; 104 gpio = <&gpio0 14 GPIO_ACTIVE_HIGH>; 105 pinctrl-names = "default"; 106 pinctrl-0 = <&host_vbus_drv>; 107 regulator-name = "vcc_host_5v"; 108 regulator-min-microvolt = <5000000>; 109 regulator-max-microvolt = <5000000>; 110 regulator-always-on; 111 vin-supply = <&vcc_5v>; 112 }; 113 114 vcc_otg_5v: usb-otg-regulator { 115 compatible = "regulator-fixed"; 116 enable-active-high; 117 gpio = <&gpio0 12 GPIO_ACTIVE_HIGH>; 118 pinctrl-names = "default"; 119 pinctrl-0 = <&otg_vbus_drv>; 120 regulator-name = "vcc_otg_5v"; 121 regulator-min-microvolt = <5000000>; 122 regulator-max-microvolt = <5000000>; 123 regulator-always-on; 124 vin-supply = <&vcc_5v>; 125 }; 126}; 127 128&cpu0 { 129 cpu0-supply = <&vdd_cpu>; 130}; 131 132&emmc { 133 broken-cd; 134 bus-width = <8>; 135 cap-mmc-highspeed; 136 disable-wp; 137 non-removable; 138 num-slots = <1>; 139 pinctrl-names = "default"; 140 pinctrl-0 = <&emmc_clk>, <&emmc_cmd>, <&emmc_pwr>, <&emmc_bus8>; 141 vmmc-supply = <&vcc_io>; 142 vqmmc-supply = <&vcc_flash>; 143 status = "okay"; 144}; 145 146&gmac { 147 assigned-clocks = <&cru SCLK_MAC>; 148 assigned-clock-parents = <&ext_gmac>; 149 clock_in_out = "input"; 150 pinctrl-names = "default"; 151 pinctrl-0 = <&rgmii_pins>, <&phy_rst>, <&phy_pmeb>, <&phy_int>; 152 phy-supply = <&vcc_lan>; 153 phy-mode = "rgmii"; 154 snps,reset-active-low; 155 snps,reset-delays-us = <0 10000 1000000>; 156 snps,reset-gpio = <&gpio4 8 GPIO_ACTIVE_LOW>; 157 tx_delay = <0x30>; 158 rx_delay = <0x10>; 159 status = "okay"; 160}; 161 162&hdmi { 163 ddc-i2c-bus = <&i2c5>; 164 status = "okay"; 165}; 166 167&i2c0 { 168 clock-frequency = <400000>; 169 status = "okay"; 170 171 vdd_cpu: syr827@40 { 172 compatible = "silergy,syr827"; 173 fcs,suspend-voltage-selector = <1>; 174 reg = <0x40>; 175 regulator-name = "vdd_cpu"; 176 regulator-min-microvolt = <850000>; 177 regulator-max-microvolt = <1350000>; 178 regulator-always-on; 179 regulator-boot-on; 180 vin-supply = <&vcc_sys>; 181 }; 182 183 vdd_gpu: syr828@41 { 184 compatible = "silergy,syr828"; 185 fcs,suspend-voltage-selector = <1>; 186 reg = <0x41>; 187 regulator-name = "vdd_gpu"; 188 regulator-min-microvolt = <850000>; 189 regulator-max-microvolt = <1350000>; 190 regulator-always-on; 191 vin-supply = <&vcc_sys>; 192 }; 193 194 hym8563: hym8563@51 { 195 compatible = "haoyu,hym8563"; 196 reg = <0x51>; 197 #clock-cells = <0>; 198 clock-frequency = <32768>; 199 clock-output-names = "xin32k"; 200 interrupt-parent = <&gpio7>; 201 interrupts = <4 IRQ_TYPE_EDGE_FALLING>; 202 pinctrl-names = "default"; 203 pinctrl-0 = <&rtc_int>; 204 }; 205 206 act8846: act8846@5a { 207 compatible = "active-semi,act8846"; 208 reg = <0x5a>; 209 pinctrl-names = "default"; 210 pinctrl-0 = <&pmic_vsel>, <&pwr_hold>; 211 system-power-controller; 212 213 regulators { 214 vcc_ddr: REG1 { 215 regulator-name = "vcc_ddr"; 216 regulator-min-microvolt = <1200000>; 217 regulator-max-microvolt = <1200000>; 218 regulator-always-on; 219 }; 220 221 vcc_io: REG2 { 222 regulator-name = "vcc_io"; 223 regulator-min-microvolt = <3300000>; 224 regulator-max-microvolt = <3300000>; 225 regulator-always-on; 226 }; 227 228 vdd_log: REG3 { 229 regulator-name = "vdd_log"; 230 regulator-min-microvolt = <1100000>; 231 regulator-max-microvolt = <1100000>; 232 regulator-always-on; 233 }; 234 235 vcc_20: REG4 { 236 regulator-name = "vcc_20"; 237 regulator-min-microvolt = <2000000>; 238 regulator-max-microvolt = <2000000>; 239 regulator-always-on; 240 }; 241 242 vccio_sd: REG5 { 243 regulator-name = "vccio_sd"; 244 regulator-min-microvolt = <3300000>; 245 regulator-max-microvolt = <3300000>; 246 regulator-always-on; 247 }; 248 249 vdd10_lcd: REG6 { 250 regulator-name = "vdd10_lcd"; 251 regulator-min-microvolt = <1000000>; 252 regulator-max-microvolt = <1000000>; 253 regulator-always-on; 254 }; 255 256 vcca_18: REG7 { 257 regulator-name = "vcca_18"; 258 regulator-min-microvolt = <1800000>; 259 regulator-max-microvolt = <1800000>; 260 }; 261 262 vcca_33: REG8 { 263 regulator-name = "vcca_33"; 264 regulator-min-microvolt = <3300000>; 265 regulator-max-microvolt = <3300000>; 266 }; 267 268 vcc_lan: REG9 { 269 regulator-name = "vcc_lan"; 270 regulator-min-microvolt = <3300000>; 271 regulator-max-microvolt = <3300000>; 272 }; 273 274 vdd_10: REG10 { 275 regulator-name = "vdd_10"; 276 regulator-min-microvolt = <1000000>; 277 regulator-max-microvolt = <1000000>; 278 regulator-always-on; 279 }; 280 281 vcc_18: REG11 { 282 regulator-name = "vcc_18"; 283 regulator-min-microvolt = <1800000>; 284 regulator-max-microvolt = <1800000>; 285 regulator-always-on; 286 }; 287 288 vcc18_lcd: REG12 { 289 regulator-name = "vcc18_lcd"; 290 regulator-min-microvolt = <1800000>; 291 regulator-max-microvolt = <1800000>; 292 regulator-always-on; 293 }; 294 }; 295 }; 296}; 297 298&i2c1 { 299 status = "okay"; 300}; 301 302&i2c2 { 303 status = "okay"; 304}; 305 306&i2c4 { 307 status = "okay"; 308}; 309 310&i2c5 { 311 status = "okay"; 312}; 313 314&pinctrl { 315 pcfg_output_high: pcfg-output-high { 316 output-high; 317 }; 318 319 pcfg_output_low: pcfg-output-low { 320 output-low; 321 }; 322 323 act8846 { 324 pwr_hold: pwr-hold { 325 rockchip,pins = <0 1 RK_FUNC_GPIO &pcfg_output_high>; 326 }; 327 }; 328 329 gmac { 330 phy_int: phy-int { 331 rockchip,pins = <0 9 RK_FUNC_GPIO &pcfg_pull_up>; 332 }; 333 334 phy_pmeb: phy-pmeb { 335 rockchip,pins = <0 8 RK_FUNC_GPIO &pcfg_pull_up>; 336 }; 337 338 phy_rst: phy-rst { 339 rockchip,pins = <4 8 RK_FUNC_GPIO &pcfg_output_high>; 340 }; 341 }; 342 343 hym8563 { 344 rtc_int: rtc-int { 345 rockchip,pins = <7 4 RK_FUNC_GPIO &pcfg_pull_up>; 346 }; 347 }; 348 349 keys { 350 pwr_key: pwr-key { 351 rockchip,pins = <0 5 RK_FUNC_GPIO &pcfg_pull_up>; 352 }; 353 }; 354 355 leds { 356 power_led: power-led { 357 rockchip,pins = <8 2 RK_FUNC_GPIO &pcfg_pull_none>; 358 }; 359 360 work_led: work-led { 361 rockchip,pins = <8 1 RK_FUNC_GPIO &pcfg_pull_none>; 362 }; 363 }; 364 365 sdmmc { 366 sdmmc_pwr: sdmmc-pwr { 367 rockchip,pins = <7 11 RK_FUNC_GPIO &pcfg_pull_none>; 368 }; 369 }; 370 371 usb_host { 372 host_vbus_drv: host-vbus-drv { 373 rockchip,pins = <0 14 RK_FUNC_GPIO &pcfg_pull_none>; 374 }; 375 376 usbhub_rst: usbhub-rst { 377 rockchip,pins = <8 3 RK_FUNC_GPIO &pcfg_output_high>; 378 }; 379 }; 380 381 usb_otg { 382 otg_vbus_drv: otg-vbus-drv { 383 rockchip,pins = <0 12 RK_FUNC_GPIO &pcfg_pull_none>; 384 }; 385 }; 386}; 387 388&saradc { 389 vref-supply = <&vcc_18>; 390 status = "okay"; 391}; 392 393&sdio0 { 394 broken-cd; 395 bus-width = <4>; 396 disable-wp; 397 non-removable; 398 num-slots = <1>; 399 pinctrl-names = "default"; 400 pinctrl-0 = <&sdio0_bus4>, <&sdio0_cmd>, <&sdio0_clk>; 401 vmmc-supply = <&vcc_18>; 402 status = "disabled"; 403}; 404 405&sdmmc { 406 bus-width = <4>; 407 cap-mmc-highspeed; 408 cap-sd-highspeed; 409 card-detect-delay = <200>; 410 disable-wp; 411 num-slots = <1>; 412 pinctrl-names = "default"; 413 pinctrl-0 = <&sdmmc_clk>, <&sdmmc_cmd>, <&sdmmc_cd>, <&sdmmc_bus4>; 414 vmmc-supply = <&vcc_sd>; 415 status = "okay"; 416}; 417 418&spi0 { 419 pinctrl-names = "default"; 420 pinctrl-0 = <&spi0_clk>, <&spi0_cs0>, <&spi0_tx>, <&spi0_rx>, <&spi0_cs1>; 421 status = "okay"; 422}; 423 424&uart0 { 425 pinctrl-names = "default"; 426 pinctrl-0 = <&uart0_xfer>, <&uart0_cts>, <&uart0_rts>; 427 status = "okay"; 428}; 429 430&uart1 { 431 status = "okay"; 432}; 433 434&uart2 { 435 status = "okay"; 436}; 437 438&uart3 { 439 status = "okay"; 440}; 441 442&usb_host1 { 443 pinctrl-names = "default"; 444 pinctrl-0 = <&usbhub_rst>; 445 status = "okay"; 446}; 447 448&usb_otg { 449 status = "okay"; 450}; 451 452&vopb { 453 status = "okay"; 454}; 455 456&vopb_mmu { 457 status = "okay"; 458}; 459 460&vopl { 461 status = "okay"; 462}; 463 464&vopl_mmu { 465 status = "okay"; 466}; 467 468&wdt { 469 status = "okay"; 470}; 471