aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFUKAUMI Naoki <naobsd@gmail.com>2015-01-25 07:39:35 -0500
committerHeiko Stuebner <heiko@sntech.de>2015-01-25 19:15:02 -0500
commit6e81fadb2c0ddc4ff3c34789c3cea40f7eaed138 (patch)
treefa0c5b4fe96004af77ace76521c42571bffbbfb0
parent37e73ac467fb92180b9784bf6e74d1ff1d03ef69 (diff)
ARM: dts: rockchip: add dts for Firefly Firefly-RK3288 boards
This adds support for Firefly-RK3288, Rockchip RK3288 based development boards made by Firefly. There are 2 dts for 2 versions of the board. rk3288-firefly-beta.dts is for the beta version, rk3288-firefly.dts is for the mass production version. Signed-off-by: FUKAUMI Naoki <naobsd@gmail.com> [removed gmac reference, due to the gmac node going through the net-tree] Tested-by: Heiko Stuebner <heiko@sntech.de> Signed-off-by: Heiko Stuebner <heiko@sntech.de>
-rw-r--r--arch/arm/boot/dts/Makefile4
-rw-r--r--arch/arm/boot/dts/rk3288-firefly-beta.dts71
-rw-r--r--arch/arm/boot/dts/rk3288-firefly.dts71
-rw-r--r--arch/arm/boot/dts/rk3288-firefly.dtsi467
4 files changed, 612 insertions, 1 deletions
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index 91bd5bd62857..89e617365af0 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -394,7 +394,9 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += \
394 rk3066a-marsboard.dtb \ 394 rk3066a-marsboard.dtb \
395 rk3188-radxarock.dtb \ 395 rk3188-radxarock.dtb \
396 rk3288-evb-act8846.dtb \ 396 rk3288-evb-act8846.dtb \
397 rk3288-evb-rk808.dtb 397 rk3288-evb-rk808.dtb \
398 rk3288-firefly-beta.dtb \
399 rk3288-firefly.dtb
398dtb-$(CONFIG_ARCH_S3C24XX) += s3c2416-smdk2416.dtb 400dtb-$(CONFIG_ARCH_S3C24XX) += s3c2416-smdk2416.dtb
399dtb-$(CONFIG_ARCH_S3C64XX) += s3c6410-mini6410.dtb \ 401dtb-$(CONFIG_ARCH_S3C64XX) += s3c6410-mini6410.dtb \
400 s3c6410-smdk6410.dtb 402 s3c6410-smdk6410.dtb
diff --git a/arch/arm/boot/dts/rk3288-firefly-beta.dts b/arch/arm/boot/dts/rk3288-firefly-beta.dts
new file mode 100644
index 000000000000..75d77e38e0d6
--- /dev/null
+++ b/arch/arm/boot/dts/rk3288-firefly-beta.dts
@@ -0,0 +1,71 @@
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/dts-v1/;
44#include "rk3288-firefly.dtsi"
45
46/ {
47 model = "Firefly-RK3288 Beta";
48 compatible = "firefly,firefly-rk3288-beta", "rockchip,rk3288";
49};
50
51&ir {
52 gpios = <&gpio7 5 GPIO_ACTIVE_LOW>;
53};
54
55&pinctrl {
56 act8846 {
57 pmic_vsel: pmic-vsel {
58 rockchip,pins = <7 1 RK_FUNC_GPIO &pcfg_output_low>;
59 };
60 };
61
62 ir {
63 ir_int: ir-int {
64 rockchip,pins = <7 5 RK_FUNC_GPIO &pcfg_pull_up>;
65 };
66 };
67};
68
69&pwm0 {
70 status = "okay";
71};
diff --git a/arch/arm/boot/dts/rk3288-firefly.dts b/arch/arm/boot/dts/rk3288-firefly.dts
new file mode 100644
index 000000000000..c07fe92dc69f
--- /dev/null
+++ b/arch/arm/boot/dts/rk3288-firefly.dts
@@ -0,0 +1,71 @@
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/dts-v1/;
44#include "rk3288-firefly.dtsi"
45
46/ {
47 model = "Firefly-RK3288";
48 compatible = "firefly,firefly-rk3288", "rockchip,rk3288";
49};
50
51&ir {
52 gpios = <&gpio7 0 GPIO_ACTIVE_LOW>;
53};
54
55&pinctrl {
56 act8846 {
57 pmic_vsel: pmic-vsel {
58 rockchip,pins = <7 14 RK_FUNC_GPIO &pcfg_output_low>;
59 };
60 };
61
62 ir {
63 ir_int: ir-int {
64 rockchip,pins = <7 0 RK_FUNC_GPIO &pcfg_pull_up>;
65 };
66 };
67};
68
69&pwm1 {
70 status = "okay";
71};
diff --git a/arch/arm/boot/dts/rk3288-firefly.dtsi b/arch/arm/boot/dts/rk3288-firefly.dtsi
new file mode 100644
index 000000000000..7f0ba9b24869
--- /dev/null
+++ b/arch/arm/boot/dts/rk3288-firefly.dtsi
@@ -0,0 +1,467 @@
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&i2c0 {
183 clock-frequency = <400000>;
184 status = "okay";
185
186 vdd_cpu: syr827@40 {
187 compatible = "silergy,syr827";
188 fcs,suspend-voltage-selector = <1>;
189 reg = <0x40>;
190 regulator-name = "vdd_cpu";
191 regulator-min-microvolt = <850000>;
192 regulator-max-microvolt = <1350000>;
193 regulator-always-on;
194 regulator-boot-on;
195 vin-supply = <&vcc_sys>;
196 };
197
198 vdd_gpu: syr828@41 {
199 compatible = "silergy,syr828";
200 fcs,suspend-voltage-selector = <1>;
201 reg = <0x41>;
202 regulator-name = "vdd_gpu";
203 regulator-min-microvolt = <850000>;
204 regulator-max-microvolt = <1350000>;
205 regulator-always-on;
206 vin-supply = <&vcc_sys>;
207 };
208
209 hym8563: hym8563@51 {
210 compatible = "haoyu,hym8563";
211 reg = <0x51>;
212 #clock-cells = <0>;
213 clock-frequency = <32768>;
214 clock-output-names = "xin32k";
215 interrupt-parent = <&gpio7>;
216 interrupts = <4 IRQ_TYPE_EDGE_FALLING>;
217 pinctrl-names = "default";
218 pinctrl-0 = <&rtc_int>;
219 };
220
221 act8846: act8846@5a {
222 compatible = "active-semi,act8846";
223 reg = <0x5a>;
224 pinctrl-names = "default";
225 pinctrl-0 = <&pmic_vsel>, <&pwr_hold>;
226 system-power-controller;
227
228 regulators {
229 vcc_ddr: REG1 {
230 regulator-name = "vcc_ddr";
231 regulator-min-microvolt = <1200000>;
232 regulator-max-microvolt = <1200000>;
233 regulator-always-on;
234 };
235
236 vcc_io: REG2 {
237 regulator-name = "vcc_io";
238 regulator-min-microvolt = <3300000>;
239 regulator-max-microvolt = <3300000>;
240 regulator-always-on;
241 };
242
243 vdd_log: REG3 {
244 regulator-name = "vdd_log";
245 regulator-min-microvolt = <1100000>;
246 regulator-max-microvolt = <1100000>;
247 regulator-always-on;
248 };
249
250 vcc_20: REG4 {
251 regulator-name = "vcc_20";
252 regulator-min-microvolt = <2000000>;
253 regulator-max-microvolt = <2000000>;
254 regulator-always-on;
255 };
256
257 vccio_sd: REG5 {
258 regulator-name = "vccio_sd";
259 regulator-min-microvolt = <3300000>;
260 regulator-max-microvolt = <3300000>;
261 regulator-always-on;
262 };
263
264 vdd10_lcd: REG6 {
265 regulator-name = "vdd10_lcd";
266 regulator-min-microvolt = <1000000>;
267 regulator-max-microvolt = <1000000>;
268 };
269
270 vcca_18: REG7 {
271 regulator-name = "vcca_18";
272 regulator-min-microvolt = <1800000>;
273 regulator-max-microvolt = <1800000>;
274 };
275
276 vcca_33: REG8 {
277 regulator-name = "vcca_33";
278 regulator-min-microvolt = <3300000>;
279 regulator-max-microvolt = <3300000>;
280 };
281
282 vcc_lan: REG9 {
283 regulator-name = "vcc_lan";
284 regulator-min-microvolt = <3300000>;
285 regulator-max-microvolt = <3300000>;
286 };
287
288 vdd_10: REG10 {
289 regulator-name = "vdd_10";
290 regulator-min-microvolt = <1000000>;
291 regulator-max-microvolt = <1000000>;
292 regulator-always-on;
293 };
294
295 vcc_18: REG11 {
296 regulator-name = "vcc_18";
297 regulator-min-microvolt = <1800000>;
298 regulator-max-microvolt = <1800000>;
299 regulator-always-on;
300 };
301
302 vcc18_lcd: REG12 {
303 regulator-name = "vcc18_lcd";
304 regulator-min-microvolt = <1800000>;
305 regulator-max-microvolt = <1800000>;
306 };
307 };
308 };
309};
310
311&i2c1 {
312 status = "okay";
313};
314
315&i2c2 {
316 status = "okay";
317};
318
319&i2c4 {
320 status = "okay";
321};
322
323&i2c5 {
324 status = "okay";
325};
326
327&pinctrl {
328 pcfg_output_high: pcfg-output-high {
329 output-high;
330 };
331
332 pcfg_output_low: pcfg-output-low {
333 output-low;
334 };
335
336 act8846 {
337 pwr_hold: pwr-hold {
338 rockchip,pins = <0 1 RK_FUNC_GPIO &pcfg_output_high>;
339 };
340 };
341
342 gmac {
343 phy_int: phy-int {
344 rockchip,pins = <0 9 RK_FUNC_GPIO &pcfg_pull_up>;
345 };
346
347 phy_pmeb: phy-pmeb {
348 rockchip,pins = <0 8 RK_FUNC_GPIO &pcfg_pull_up>;
349 };
350
351 phy_rst: phy-rst {
352 rockchip,pins = <4 8 RK_FUNC_GPIO &pcfg_output_high>;
353 };
354 };
355
356 hym8563 {
357 rtc_int: rtc-int {
358 rockchip,pins = <7 4 RK_FUNC_GPIO &pcfg_pull_up>;
359 };
360 };
361
362 keys {
363 pwr_key: pwr-key {
364 rockchip,pins = <0 5 RK_FUNC_GPIO &pcfg_pull_up>;
365 };
366 };
367
368 leds {
369 power_led: power-led {
370 rockchip,pins = <8 2 RK_FUNC_GPIO &pcfg_pull_none>;
371 };
372
373 work_led: work-led {
374 rockchip,pins = <8 1 RK_FUNC_GPIO &pcfg_pull_none>;
375 };
376 };
377
378 sdmmc {
379 sdmmc_pwr: sdmmc-pwr {
380 rockchip,pins = <7 11 RK_FUNC_GPIO &pcfg_pull_none>;
381 };
382 };
383
384 usb_host {
385 host_vbus_drv: host-vbus-drv {
386 rockchip,pins = <0 14 RK_FUNC_GPIO &pcfg_pull_none>;
387 };
388
389 usbhub_rst: usbhub-rst {
390 rockchip,pins = <8 3 RK_FUNC_GPIO &pcfg_output_high>;
391 };
392 };
393
394 usb_otg {
395 otg_vbus_drv: otg-vbus-drv {
396 rockchip,pins = <0 12 RK_FUNC_GPIO &pcfg_pull_none>;
397 };
398 };
399};
400
401&saradc {
402 vref-supply = <&vcc_18>;
403 status = "okay";
404};
405
406&sdio0 {
407 broken-cd;
408 bus-width = <4>;
409 disable-wp;
410 non-removable;
411 num-slots = <1>;
412 pinctrl-names = "default";
413 pinctrl-0 = <&sdio0_bus4>, <&sdio0_cmd>, <&sdio0_clk>;
414 vmmc-supply = <&vcc_18>;
415 status = "okay";
416};
417
418&sdmmc {
419 bus-width = <4>;
420 cap-mmc-highspeed;
421 cap-sd-highspeed;
422 card-detect-delay = <200>;
423 disable-wp;
424 num-slots = <1>;
425 pinctrl-names = "default";
426 pinctrl-0 = <&sdmmc_clk>, <&sdmmc_cmd>, <&sdmmc_cd>, <&sdmmc_bus4>;
427 vmmc-supply = <&vcc_sd>;
428 status = "okay";
429};
430
431&spi0 {
432 pinctrl-names = "default";
433 pinctrl-0 = <&spi0_clk>, <&spi0_cs0>, <&spi0_tx>, <&spi0_rx>, <&spi0_cs1>;
434 status = "okay";
435};
436
437&uart0 {
438 pinctrl-names = "default";
439 pinctrl-0 = <&uart0_xfer>, <&uart0_cts>, <&uart0_rts>;
440 status = "okay";
441};
442
443&uart1 {
444 status = "okay";
445};
446
447&uart2 {
448 status = "okay";
449};
450
451&uart3 {
452 status = "okay";
453};
454
455&usb_host1 {
456 pinctrl-names = "default";
457 pinctrl-0 = <&usbhub_rst>;
458 status = "okay";
459};
460
461&usb_otg {
462 status = "okay";
463};
464
465&wdt {
466 status = "okay";
467};