Merge tag 'kvm-4.3-1' of git://git.kernel.org/pub/scm/virt/kvm/kvm
[deliverable/linux.git] / arch / arm / boot / dts / rk3288-firefly.dtsi
CommitLineData
6e81fadb
FN
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
f36abc86
HS
182&gmac {
183 assigned-clocks = <&cru SCLK_MAC>;
184 assigned-clock-parents = <&ext_gmac>;
185 clock_in_out = "input";
186 pinctrl-names = "default";
187 pinctrl-0 = <&rgmii_pins>, <&phy_rst>, <&phy_pmeb>, <&phy_int>;
188 phy-supply = <&vcc_lan>;
189 phy-mode = "rgmii";
190 snps,reset-active-low;
191 snps,reset-delays-us = <0 10000 1000000>;
192 snps,reset-gpio = <&gpio4 8 GPIO_ACTIVE_LOW>;
193 tx_delay = <0x30>;
194 rx_delay = <0x10>;
195 status = "ok";
196};
197
863b76b2 198&hdmi {
c25d8cbc 199 ddc-i2c-bus = <&i2c5>;
863b76b2
HS
200 status = "okay";
201};
202
6e81fadb
FN
203&i2c0 {
204 clock-frequency = <400000>;
205 status = "okay";
206
207 vdd_cpu: syr827@40 {
208 compatible = "silergy,syr827";
209 fcs,suspend-voltage-selector = <1>;
210 reg = <0x40>;
211 regulator-name = "vdd_cpu";
212 regulator-min-microvolt = <850000>;
213 regulator-max-microvolt = <1350000>;
214 regulator-always-on;
215 regulator-boot-on;
216 vin-supply = <&vcc_sys>;
217 };
218
219 vdd_gpu: syr828@41 {
220 compatible = "silergy,syr828";
221 fcs,suspend-voltage-selector = <1>;
222 reg = <0x41>;
223 regulator-name = "vdd_gpu";
224 regulator-min-microvolt = <850000>;
225 regulator-max-microvolt = <1350000>;
226 regulator-always-on;
227 vin-supply = <&vcc_sys>;
228 };
229
230 hym8563: hym8563@51 {
231 compatible = "haoyu,hym8563";
232 reg = <0x51>;
233 #clock-cells = <0>;
234 clock-frequency = <32768>;
235 clock-output-names = "xin32k";
236 interrupt-parent = <&gpio7>;
237 interrupts = <4 IRQ_TYPE_EDGE_FALLING>;
238 pinctrl-names = "default";
239 pinctrl-0 = <&rtc_int>;
240 };
241
242 act8846: act8846@5a {
243 compatible = "active-semi,act8846";
244 reg = <0x5a>;
245 pinctrl-names = "default";
246 pinctrl-0 = <&pmic_vsel>, <&pwr_hold>;
247 system-power-controller;
248
71126029
HS
249 vp1-supply = <&vcc_sys>;
250 vp2-supply = <&vcc_sys>;
251 vp3-supply = <&vcc_sys>;
252 vp4-supply = <&vcc_sys>;
253 inl1-supply = <&vcc_sys>;
254 inl2-supply = <&vcc_sys>;
255 inl3-supply = <&vcc_20>;
256
6e81fadb
FN
257 regulators {
258 vcc_ddr: REG1 {
259 regulator-name = "vcc_ddr";
260 regulator-min-microvolt = <1200000>;
261 regulator-max-microvolt = <1200000>;
262 regulator-always-on;
263 };
264
265 vcc_io: REG2 {
266 regulator-name = "vcc_io";
267 regulator-min-microvolt = <3300000>;
268 regulator-max-microvolt = <3300000>;
269 regulator-always-on;
270 };
271
272 vdd_log: REG3 {
273 regulator-name = "vdd_log";
274 regulator-min-microvolt = <1100000>;
275 regulator-max-microvolt = <1100000>;
276 regulator-always-on;
277 };
278
279 vcc_20: REG4 {
280 regulator-name = "vcc_20";
281 regulator-min-microvolt = <2000000>;
282 regulator-max-microvolt = <2000000>;
283 regulator-always-on;
284 };
285
286 vccio_sd: REG5 {
287 regulator-name = "vccio_sd";
288 regulator-min-microvolt = <3300000>;
289 regulator-max-microvolt = <3300000>;
290 regulator-always-on;
291 };
292
293 vdd10_lcd: REG6 {
294 regulator-name = "vdd10_lcd";
295 regulator-min-microvolt = <1000000>;
296 regulator-max-microvolt = <1000000>;
863b76b2 297 regulator-always-on;
6e81fadb
FN
298 };
299
300 vcca_18: REG7 {
301 regulator-name = "vcca_18";
302 regulator-min-microvolt = <1800000>;
303 regulator-max-microvolt = <1800000>;
304 };
305
306 vcca_33: REG8 {
307 regulator-name = "vcca_33";
308 regulator-min-microvolt = <3300000>;
309 regulator-max-microvolt = <3300000>;
310 };
311
312 vcc_lan: REG9 {
313 regulator-name = "vcc_lan";
314 regulator-min-microvolt = <3300000>;
315 regulator-max-microvolt = <3300000>;
316 };
317
318 vdd_10: REG10 {
319 regulator-name = "vdd_10";
320 regulator-min-microvolt = <1000000>;
321 regulator-max-microvolt = <1000000>;
322 regulator-always-on;
323 };
324
325 vcc_18: REG11 {
326 regulator-name = "vcc_18";
327 regulator-min-microvolt = <1800000>;
328 regulator-max-microvolt = <1800000>;
329 regulator-always-on;
330 };
331
332 vcc18_lcd: REG12 {
333 regulator-name = "vcc18_lcd";
334 regulator-min-microvolt = <1800000>;
335 regulator-max-microvolt = <1800000>;
863b76b2 336 regulator-always-on;
6e81fadb
FN
337 };
338 };
339 };
340};
341
342&i2c1 {
343 status = "okay";
344};
345
346&i2c2 {
347 status = "okay";
348};
349
350&i2c4 {
351 status = "okay";
352};
353
354&i2c5 {
355 status = "okay";
356};
357
358&pinctrl {
359 pcfg_output_high: pcfg-output-high {
360 output-high;
361 };
362
363 pcfg_output_low: pcfg-output-low {
364 output-low;
365 };
366
367 act8846 {
368 pwr_hold: pwr-hold {
369 rockchip,pins = <0 1 RK_FUNC_GPIO &pcfg_output_high>;
370 };
371 };
372
373 gmac {
374 phy_int: phy-int {
375 rockchip,pins = <0 9 RK_FUNC_GPIO &pcfg_pull_up>;
376 };
377
378 phy_pmeb: phy-pmeb {
379 rockchip,pins = <0 8 RK_FUNC_GPIO &pcfg_pull_up>;
380 };
381
382 phy_rst: phy-rst {
383 rockchip,pins = <4 8 RK_FUNC_GPIO &pcfg_output_high>;
384 };
385 };
386
387 hym8563 {
388 rtc_int: rtc-int {
389 rockchip,pins = <7 4 RK_FUNC_GPIO &pcfg_pull_up>;
390 };
391 };
392
393 keys {
394 pwr_key: pwr-key {
395 rockchip,pins = <0 5 RK_FUNC_GPIO &pcfg_pull_up>;
396 };
397 };
398
399 leds {
400 power_led: power-led {
401 rockchip,pins = <8 2 RK_FUNC_GPIO &pcfg_pull_none>;
402 };
403
404 work_led: work-led {
405 rockchip,pins = <8 1 RK_FUNC_GPIO &pcfg_pull_none>;
406 };
407 };
408
409 sdmmc {
410 sdmmc_pwr: sdmmc-pwr {
411 rockchip,pins = <7 11 RK_FUNC_GPIO &pcfg_pull_none>;
412 };
413 };
414
415 usb_host {
416 host_vbus_drv: host-vbus-drv {
417 rockchip,pins = <0 14 RK_FUNC_GPIO &pcfg_pull_none>;
418 };
419
420 usbhub_rst: usbhub-rst {
421 rockchip,pins = <8 3 RK_FUNC_GPIO &pcfg_output_high>;
422 };
423 };
424
425 usb_otg {
426 otg_vbus_drv: otg-vbus-drv {
427 rockchip,pins = <0 12 RK_FUNC_GPIO &pcfg_pull_none>;
428 };
429 };
430};
431
432&saradc {
433 vref-supply = <&vcc_18>;
434 status = "okay";
435};
436
437&sdio0 {
438 broken-cd;
439 bus-width = <4>;
440 disable-wp;
441 non-removable;
442 num-slots = <1>;
443 pinctrl-names = "default";
444 pinctrl-0 = <&sdio0_bus4>, <&sdio0_cmd>, <&sdio0_clk>;
445 vmmc-supply = <&vcc_18>;
446 status = "okay";
447};
448
449&sdmmc {
450 bus-width = <4>;
451 cap-mmc-highspeed;
452 cap-sd-highspeed;
453 card-detect-delay = <200>;
454 disable-wp;
455 num-slots = <1>;
456 pinctrl-names = "default";
457 pinctrl-0 = <&sdmmc_clk>, <&sdmmc_cmd>, <&sdmmc_cd>, <&sdmmc_bus4>;
458 vmmc-supply = <&vcc_sd>;
459 status = "okay";
460};
461
462&spi0 {
463 pinctrl-names = "default";
464 pinctrl-0 = <&spi0_clk>, <&spi0_cs0>, <&spi0_tx>, <&spi0_rx>, <&spi0_cs1>;
465 status = "okay";
466};
467
8c653f9a
HS
468&tsadc {
469 rockchip,hw-tshut-mode = <0>;
470 rockchip,hw-tshut-polarity = <0>;
471 status = "okay";
472};
473
6e81fadb
FN
474&uart0 {
475 pinctrl-names = "default";
476 pinctrl-0 = <&uart0_xfer>, <&uart0_cts>, <&uart0_rts>;
477 status = "okay";
478};
479
480&uart1 {
481 status = "okay";
482};
483
484&uart2 {
485 status = "okay";
486};
487
488&uart3 {
489 status = "okay";
490};
491
055b0c67
HS
492&usbphy {
493 status = "okay";
494};
495
6e81fadb
FN
496&usb_host1 {
497 pinctrl-names = "default";
498 pinctrl-0 = <&usbhub_rst>;
499 status = "okay";
500};
501
502&usb_otg {
503 status = "okay";
504};
505
863b76b2
HS
506&vopb {
507 status = "okay";
508};
509
510&vopb_mmu {
511 status = "okay";
512};
513
514&vopl {
515 status = "okay";
516};
517
518&vopl_mmu {
519 status = "okay";
520};
521
6e81fadb
FN
522&wdt {
523 status = "okay";
524};
This page took 0.070496 seconds and 5 git commands to generate.