rk3288-firefly.dtsi revision 284090
1/* 2 * Copyright (c) 2014, 2015 FUKAUMI Naoki <naobsd@gmail.com> 3 * 4 * This file is dual-licensed: you can use it either under the terms 5 * of the GPL or the X11 license, at your option. Note that this dual 6 * licensing only applies to this file, and not this project as a 7 * whole. 8 * 9 * a) This file is free software; you can redistribute it and/or 10 * modify it under the terms of the GNU General Public License as 11 * published by the Free Software Foundation; either version 2 of the 12 * License, or (at your option) any later version. 13 * 14 * This file is distributed in the hope that it will be useful, 15 * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 * GNU General Public License for more details. 18 * 19 * Or, alternatively, 20 * 21 * b) Permission is hereby granted, free of charge, to any person 22 * obtaining a copy of this software and associated documentation 23 * files (the "Software"), to deal in the Software without 24 * restriction, including without limitation the rights to use, 25 * copy, modify, merge, publish, distribute, sublicense, and/or 26 * sell copies of the Software, and to permit persons to whom the 27 * Software is furnished to do so, subject to the following 28 * conditions: 29 * 30 * The above copyright notice and this permission notice shall be 31 * included in all copies or substantial portions of the Software. 32 * 33 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 34 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 35 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 36 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 37 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 38 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 39 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 40 * OTHER DEALINGS IN THE SOFTWARE. 41 */ 42 43#include "rk3288.dtsi" 44 45/ { 46 memory { 47 reg = <0 0x80000000>; 48 }; 49 50 ext_gmac: external-gmac-clock { 51 compatible = "fixed-clock"; 52 #clock-cells = <0>; 53 clock-frequency = <125000000>; 54 clock-output-names = "ext_gmac"; 55 }; 56 57 ir: ir-receiver { 58 compatible = "gpio-ir-receiver"; 59 pinctrl-names = "default"; 60 pinctrl-0 = <&ir_int>; 61 }; 62 63 keys: gpio-keys { 64 compatible = "gpio-keys"; 65 #address-cells = <1>; 66 #size-cells = <0>; 67 68 button@0 { 69 gpio-key,wakeup = <1>; 70 gpios = <&gpio0 5 GPIO_ACTIVE_LOW>; 71 label = "GPIO Power"; 72 linux,code = <116>; 73 pinctrl-names = "default"; 74 pinctrl-0 = <&pwr_key>; 75 }; 76 }; 77 78 leds { 79 compatible = "gpio-leds"; 80 81 work { 82 gpios = <&gpio8 1 GPIO_ACTIVE_LOW>; 83 label = "firefly:blue:user"; 84 linux,default-trigger = "rc-feedback"; 85 pinctrl-names = "default"; 86 pinctrl-0 = <&work_led>; 87 }; 88 89 power { 90 gpios = <&gpio8 2 GPIO_ACTIVE_LOW>; 91 label = "firefly:green:power"; 92 linux,default-trigger = "default-on"; 93 pinctrl-names = "default"; 94 pinctrl-0 = <&power_led>; 95 }; 96 }; 97 98 vcc_sys: vsys-regulator { 99 compatible = "regulator-fixed"; 100 regulator-name = "vcc_sys"; 101 regulator-min-microvolt = <5000000>; 102 regulator-max-microvolt = <5000000>; 103 regulator-always-on; 104 regulator-boot-on; 105 }; 106 107 vcc_sd: sdmmc-regulator { 108 compatible = "regulator-fixed"; 109 gpio = <&gpio7 11 GPIO_ACTIVE_LOW>; 110 pinctrl-names = "default"; 111 pinctrl-0 = <&sdmmc_pwr>; 112 regulator-name = "vcc_sd"; 113 regulator-min-microvolt = <3300000>; 114 regulator-max-microvolt = <3300000>; 115 startup-delay-us = <100000>; 116 vin-supply = <&vcc_io>; 117 }; 118 119 vcc_flash: flash-regulator { 120 compatible = "regulator-fixed"; 121 regulator-name = "vcc_flash"; 122 regulator-min-microvolt = <1800000>; 123 regulator-max-microvolt = <1800000>; 124 vin-supply = <&vcc_io>; 125 }; 126 127 vcc_5v: usb-regulator { 128 compatible = "regulator-fixed"; 129 regulator-name = "vcc_5v"; 130 regulator-min-microvolt = <5000000>; 131 regulator-max-microvolt = <5000000>; 132 regulator-always-on; 133 regulator-boot-on; 134 vin-supply = <&vcc_sys>; 135 }; 136 137 vcc_host_5v: usb-host-regulator { 138 compatible = "regulator-fixed"; 139 enable-active-high; 140 gpio = <&gpio0 14 GPIO_ACTIVE_HIGH>; 141 pinctrl-names = "default"; 142 pinctrl-0 = <&host_vbus_drv>; 143 regulator-name = "vcc_host_5v"; 144 regulator-min-microvolt = <5000000>; 145 regulator-max-microvolt = <5000000>; 146 regulator-always-on; 147 vin-supply = <&vcc_5v>; 148 }; 149 150 vcc_otg_5v: usb-otg-regulator { 151 compatible = "regulator-fixed"; 152 enable-active-high; 153 gpio = <&gpio0 12 GPIO_ACTIVE_HIGH>; 154 pinctrl-names = "default"; 155 pinctrl-0 = <&otg_vbus_drv>; 156 regulator-name = "vcc_otg_5v"; 157 regulator-min-microvolt = <5000000>; 158 regulator-max-microvolt = <5000000>; 159 regulator-always-on; 160 vin-supply = <&vcc_5v>; 161 }; 162}; 163 164&cpu0 { 165 cpu0-supply = <&vdd_cpu>; 166}; 167 168&emmc { 169 broken-cd; 170 bus-width = <8>; 171 cap-mmc-highspeed; 172 disable-wp; 173 non-removable; 174 num-slots = <1>; 175 pinctrl-names = "default"; 176 pinctrl-0 = <&emmc_clk>, <&emmc_cmd>, <&emmc_pwr>, <&emmc_bus8>; 177 vmmc-supply = <&vcc_io>; 178 vqmmc-supply = <&vcc_flash>; 179 status = "okay"; 180}; 181 182&hdmi { 183 ddc-i2c-bus = <&i2c5>; 184 status = "okay"; 185}; 186 187&i2c0 { 188 clock-frequency = <400000>; 189 status = "okay"; 190 191 vdd_cpu: syr827@40 { 192 compatible = "silergy,syr827"; 193 fcs,suspend-voltage-selector = <1>; 194 reg = <0x40>; 195 regulator-name = "vdd_cpu"; 196 regulator-min-microvolt = <850000>; 197 regulator-max-microvolt = <1350000>; 198 regulator-always-on; 199 regulator-boot-on; 200 vin-supply = <&vcc_sys>; 201 }; 202 203 vdd_gpu: syr828@41 { 204 compatible = "silergy,syr828"; 205 fcs,suspend-voltage-selector = <1>; 206 reg = <0x41>; 207 regulator-name = "vdd_gpu"; 208 regulator-min-microvolt = <850000>; 209 regulator-max-microvolt = <1350000>; 210 regulator-always-on; 211 vin-supply = <&vcc_sys>; 212 }; 213 214 hym8563: hym8563@51 { 215 compatible = "haoyu,hym8563"; 216 reg = <0x51>; 217 #clock-cells = <0>; 218 clock-frequency = <32768>; 219 clock-output-names = "xin32k"; 220 interrupt-parent = <&gpio7>; 221 interrupts = <4 IRQ_TYPE_EDGE_FALLING>; 222 pinctrl-names = "default"; 223 pinctrl-0 = <&rtc_int>; 224 }; 225 226 act8846: act8846@5a { 227 compatible = "active-semi,act8846"; 228 reg = <0x5a>; 229 pinctrl-names = "default"; 230 pinctrl-0 = <&pmic_vsel>, <&pwr_hold>; 231 system-power-controller; 232 233 regulators { 234 vcc_ddr: REG1 { 235 regulator-name = "vcc_ddr"; 236 regulator-min-microvolt = <1200000>; 237 regulator-max-microvolt = <1200000>; 238 regulator-always-on; 239 }; 240 241 vcc_io: REG2 { 242 regulator-name = "vcc_io"; 243 regulator-min-microvolt = <3300000>; 244 regulator-max-microvolt = <3300000>; 245 regulator-always-on; 246 }; 247 248 vdd_log: REG3 { 249 regulator-name = "vdd_log"; 250 regulator-min-microvolt = <1100000>; 251 regulator-max-microvolt = <1100000>; 252 regulator-always-on; 253 }; 254 255 vcc_20: REG4 { 256 regulator-name = "vcc_20"; 257 regulator-min-microvolt = <2000000>; 258 regulator-max-microvolt = <2000000>; 259 regulator-always-on; 260 }; 261 262 vccio_sd: REG5 { 263 regulator-name = "vccio_sd"; 264 regulator-min-microvolt = <3300000>; 265 regulator-max-microvolt = <3300000>; 266 regulator-always-on; 267 }; 268 269 vdd10_lcd: REG6 { 270 regulator-name = "vdd10_lcd"; 271 regulator-min-microvolt = <1000000>; 272 regulator-max-microvolt = <1000000>; 273 regulator-always-on; 274 }; 275 276 vcca_18: REG7 { 277 regulator-name = "vcca_18"; 278 regulator-min-microvolt = <1800000>; 279 regulator-max-microvolt = <1800000>; 280 }; 281 282 vcca_33: REG8 { 283 regulator-name = "vcca_33"; 284 regulator-min-microvolt = <3300000>; 285 regulator-max-microvolt = <3300000>; 286 }; 287 288 vcc_lan: REG9 { 289 regulator-name = "vcc_lan"; 290 regulator-min-microvolt = <3300000>; 291 regulator-max-microvolt = <3300000>; 292 }; 293 294 vdd_10: REG10 { 295 regulator-name = "vdd_10"; 296 regulator-min-microvolt = <1000000>; 297 regulator-max-microvolt = <1000000>; 298 regulator-always-on; 299 }; 300 301 vcc_18: REG11 { 302 regulator-name = "vcc_18"; 303 regulator-min-microvolt = <1800000>; 304 regulator-max-microvolt = <1800000>; 305 regulator-always-on; 306 }; 307 308 vcc18_lcd: REG12 { 309 regulator-name = "vcc18_lcd"; 310 regulator-min-microvolt = <1800000>; 311 regulator-max-microvolt = <1800000>; 312 regulator-always-on; 313 }; 314 }; 315 }; 316}; 317 318&i2c1 { 319 status = "okay"; 320}; 321 322&i2c2 { 323 status = "okay"; 324}; 325 326&i2c4 { 327 status = "okay"; 328}; 329 330&i2c5 { 331 status = "okay"; 332}; 333 334&pinctrl { 335 pcfg_output_high: pcfg-output-high { 336 output-high; 337 }; 338 339 pcfg_output_low: pcfg-output-low { 340 output-low; 341 }; 342 343 act8846 { 344 pwr_hold: pwr-hold { 345 rockchip,pins = <0 1 RK_FUNC_GPIO &pcfg_output_high>; 346 }; 347 }; 348 349 gmac { 350 phy_int: phy-int { 351 rockchip,pins = <0 9 RK_FUNC_GPIO &pcfg_pull_up>; 352 }; 353 354 phy_pmeb: phy-pmeb { 355 rockchip,pins = <0 8 RK_FUNC_GPIO &pcfg_pull_up>; 356 }; 357 358 phy_rst: phy-rst { 359 rockchip,pins = <4 8 RK_FUNC_GPIO &pcfg_output_high>; 360 }; 361 }; 362 363 hym8563 { 364 rtc_int: rtc-int { 365 rockchip,pins = <7 4 RK_FUNC_GPIO &pcfg_pull_up>; 366 }; 367 }; 368 369 keys { 370 pwr_key: pwr-key { 371 rockchip,pins = <0 5 RK_FUNC_GPIO &pcfg_pull_up>; 372 }; 373 }; 374 375 leds { 376 power_led: power-led { 377 rockchip,pins = <8 2 RK_FUNC_GPIO &pcfg_pull_none>; 378 }; 379 380 work_led: work-led { 381 rockchip,pins = <8 1 RK_FUNC_GPIO &pcfg_pull_none>; 382 }; 383 }; 384 385 sdmmc { 386 sdmmc_pwr: sdmmc-pwr { 387 rockchip,pins = <7 11 RK_FUNC_GPIO &pcfg_pull_none>; 388 }; 389 }; 390 391 usb_host { 392 host_vbus_drv: host-vbus-drv { 393 rockchip,pins = <0 14 RK_FUNC_GPIO &pcfg_pull_none>; 394 }; 395 396 usbhub_rst: usbhub-rst { 397 rockchip,pins = <8 3 RK_FUNC_GPIO &pcfg_output_high>; 398 }; 399 }; 400 401 usb_otg { 402 otg_vbus_drv: otg-vbus-drv { 403 rockchip,pins = <0 12 RK_FUNC_GPIO &pcfg_pull_none>; 404 }; 405 }; 406}; 407 408&saradc { 409 vref-supply = <&vcc_18>; 410 status = "okay"; 411}; 412 413&sdio0 { 414 broken-cd; 415 bus-width = <4>; 416 disable-wp; 417 non-removable; 418 num-slots = <1>; 419 pinctrl-names = "default"; 420 pinctrl-0 = <&sdio0_bus4>, <&sdio0_cmd>, <&sdio0_clk>; 421 vmmc-supply = <&vcc_18>; 422 status = "okay"; 423}; 424 425&sdmmc { 426 bus-width = <4>; 427 cap-mmc-highspeed; 428 cap-sd-highspeed; 429 card-detect-delay = <200>; 430 disable-wp; 431 num-slots = <1>; 432 pinctrl-names = "default"; 433 pinctrl-0 = <&sdmmc_clk>, <&sdmmc_cmd>, <&sdmmc_cd>, <&sdmmc_bus4>; 434 vmmc-supply = <&vcc_sd>; 435 status = "okay"; 436}; 437 438&spi0 { 439 pinctrl-names = "default"; 440 pinctrl-0 = <&spi0_clk>, <&spi0_cs0>, <&spi0_tx>, <&spi0_rx>, <&spi0_cs1>; 441 status = "okay"; 442}; 443 444&uart0 { 445 pinctrl-names = "default"; 446 pinctrl-0 = <&uart0_xfer>, <&uart0_cts>, <&uart0_rts>; 447 status = "okay"; 448}; 449 450&uart1 { 451 status = "okay"; 452}; 453 454&uart2 { 455 status = "okay"; 456}; 457 458&uart3 { 459 status = "okay"; 460}; 461 462&usb_host1 { 463 pinctrl-names = "default"; 464 pinctrl-0 = <&usbhub_rst>; 465 status = "okay"; 466}; 467 468&usb_otg { 469 status = "okay"; 470}; 471 472&vopb { 473 status = "okay"; 474}; 475 476&vopb_mmu { 477 status = "okay"; 478}; 479 480&vopl { 481 status = "okay"; 482}; 483 484&vopl_mmu { 485 status = "okay"; 486}; 487 488&wdt { 489 status = "okay"; 490}; 491