Merge remote-tracking branches 'asoc/topic/jack', 'asoc/topic/max98357a', 'asoc/topic...
[deliverable/linux.git] / arch / arm / boot / dts / rk3288-firefly.dtsi
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 };
This page took 0.059304 seconds and 5 git commands to generate.