ARM: STi: STiH416: Add Pinctrl settings for PWM
[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 &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
198 &hdmi {
199 ddc-i2c-bus = <&i2c5>;
200 status = "okay";
201 };
202
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
249 regulators {
250 vcc_ddr: REG1 {
251 regulator-name = "vcc_ddr";
252 regulator-min-microvolt = <1200000>;
253 regulator-max-microvolt = <1200000>;
254 regulator-always-on;
255 };
256
257 vcc_io: REG2 {
258 regulator-name = "vcc_io";
259 regulator-min-microvolt = <3300000>;
260 regulator-max-microvolt = <3300000>;
261 regulator-always-on;
262 };
263
264 vdd_log: REG3 {
265 regulator-name = "vdd_log";
266 regulator-min-microvolt = <1100000>;
267 regulator-max-microvolt = <1100000>;
268 regulator-always-on;
269 };
270
271 vcc_20: REG4 {
272 regulator-name = "vcc_20";
273 regulator-min-microvolt = <2000000>;
274 regulator-max-microvolt = <2000000>;
275 regulator-always-on;
276 };
277
278 vccio_sd: REG5 {
279 regulator-name = "vccio_sd";
280 regulator-min-microvolt = <3300000>;
281 regulator-max-microvolt = <3300000>;
282 regulator-always-on;
283 };
284
285 vdd10_lcd: REG6 {
286 regulator-name = "vdd10_lcd";
287 regulator-min-microvolt = <1000000>;
288 regulator-max-microvolt = <1000000>;
289 regulator-always-on;
290 };
291
292 vcca_18: REG7 {
293 regulator-name = "vcca_18";
294 regulator-min-microvolt = <1800000>;
295 regulator-max-microvolt = <1800000>;
296 };
297
298 vcca_33: REG8 {
299 regulator-name = "vcca_33";
300 regulator-min-microvolt = <3300000>;
301 regulator-max-microvolt = <3300000>;
302 };
303
304 vcc_lan: REG9 {
305 regulator-name = "vcc_lan";
306 regulator-min-microvolt = <3300000>;
307 regulator-max-microvolt = <3300000>;
308 };
309
310 vdd_10: REG10 {
311 regulator-name = "vdd_10";
312 regulator-min-microvolt = <1000000>;
313 regulator-max-microvolt = <1000000>;
314 regulator-always-on;
315 };
316
317 vcc_18: REG11 {
318 regulator-name = "vcc_18";
319 regulator-min-microvolt = <1800000>;
320 regulator-max-microvolt = <1800000>;
321 regulator-always-on;
322 };
323
324 vcc18_lcd: REG12 {
325 regulator-name = "vcc18_lcd";
326 regulator-min-microvolt = <1800000>;
327 regulator-max-microvolt = <1800000>;
328 regulator-always-on;
329 };
330 };
331 };
332 };
333
334 &i2c1 {
335 status = "okay";
336 };
337
338 &i2c2 {
339 status = "okay";
340 };
341
342 &i2c4 {
343 status = "okay";
344 };
345
346 &i2c5 {
347 status = "okay";
348 };
349
350 &pinctrl {
351 pcfg_output_high: pcfg-output-high {
352 output-high;
353 };
354
355 pcfg_output_low: pcfg-output-low {
356 output-low;
357 };
358
359 act8846 {
360 pwr_hold: pwr-hold {
361 rockchip,pins = <0 1 RK_FUNC_GPIO &pcfg_output_high>;
362 };
363 };
364
365 gmac {
366 phy_int: phy-int {
367 rockchip,pins = <0 9 RK_FUNC_GPIO &pcfg_pull_up>;
368 };
369
370 phy_pmeb: phy-pmeb {
371 rockchip,pins = <0 8 RK_FUNC_GPIO &pcfg_pull_up>;
372 };
373
374 phy_rst: phy-rst {
375 rockchip,pins = <4 8 RK_FUNC_GPIO &pcfg_output_high>;
376 };
377 };
378
379 hym8563 {
380 rtc_int: rtc-int {
381 rockchip,pins = <7 4 RK_FUNC_GPIO &pcfg_pull_up>;
382 };
383 };
384
385 keys {
386 pwr_key: pwr-key {
387 rockchip,pins = <0 5 RK_FUNC_GPIO &pcfg_pull_up>;
388 };
389 };
390
391 leds {
392 power_led: power-led {
393 rockchip,pins = <8 2 RK_FUNC_GPIO &pcfg_pull_none>;
394 };
395
396 work_led: work-led {
397 rockchip,pins = <8 1 RK_FUNC_GPIO &pcfg_pull_none>;
398 };
399 };
400
401 sdmmc {
402 sdmmc_pwr: sdmmc-pwr {
403 rockchip,pins = <7 11 RK_FUNC_GPIO &pcfg_pull_none>;
404 };
405 };
406
407 usb_host {
408 host_vbus_drv: host-vbus-drv {
409 rockchip,pins = <0 14 RK_FUNC_GPIO &pcfg_pull_none>;
410 };
411
412 usbhub_rst: usbhub-rst {
413 rockchip,pins = <8 3 RK_FUNC_GPIO &pcfg_output_high>;
414 };
415 };
416
417 usb_otg {
418 otg_vbus_drv: otg-vbus-drv {
419 rockchip,pins = <0 12 RK_FUNC_GPIO &pcfg_pull_none>;
420 };
421 };
422 };
423
424 &saradc {
425 vref-supply = <&vcc_18>;
426 status = "okay";
427 };
428
429 &sdio0 {
430 broken-cd;
431 bus-width = <4>;
432 disable-wp;
433 non-removable;
434 num-slots = <1>;
435 pinctrl-names = "default";
436 pinctrl-0 = <&sdio0_bus4>, <&sdio0_cmd>, <&sdio0_clk>;
437 vmmc-supply = <&vcc_18>;
438 status = "okay";
439 };
440
441 &sdmmc {
442 bus-width = <4>;
443 cap-mmc-highspeed;
444 cap-sd-highspeed;
445 card-detect-delay = <200>;
446 disable-wp;
447 num-slots = <1>;
448 pinctrl-names = "default";
449 pinctrl-0 = <&sdmmc_clk>, <&sdmmc_cmd>, <&sdmmc_cd>, <&sdmmc_bus4>;
450 vmmc-supply = <&vcc_sd>;
451 status = "okay";
452 };
453
454 &spi0 {
455 pinctrl-names = "default";
456 pinctrl-0 = <&spi0_clk>, <&spi0_cs0>, <&spi0_tx>, <&spi0_rx>, <&spi0_cs1>;
457 status = "okay";
458 };
459
460 &uart0 {
461 pinctrl-names = "default";
462 pinctrl-0 = <&uart0_xfer>, <&uart0_cts>, <&uart0_rts>;
463 status = "okay";
464 };
465
466 &uart1 {
467 status = "okay";
468 };
469
470 &uart2 {
471 status = "okay";
472 };
473
474 &uart3 {
475 status = "okay";
476 };
477
478 &usbphy {
479 status = "okay";
480 };
481
482 &usb_host1 {
483 pinctrl-names = "default";
484 pinctrl-0 = <&usbhub_rst>;
485 status = "okay";
486 };
487
488 &usb_otg {
489 status = "okay";
490 };
491
492 &vopb {
493 status = "okay";
494 };
495
496 &vopb_mmu {
497 status = "okay";
498 };
499
500 &vopl {
501 status = "okay";
502 };
503
504 &vopl_mmu {
505 status = "okay";
506 };
507
508 &wdt {
509 status = "okay";
510 };
This page took 0.040437 seconds and 5 git commands to generate.