diff options
author | Kevin Hilman <khilman@linaro.org> | 2013-08-21 19:05:07 -0400 |
---|---|---|
committer | Kevin Hilman <khilman@linaro.org> | 2013-08-21 19:05:07 -0400 |
commit | 656d79cafc88137c87c0f6ac85080ce5dae2234b (patch) | |
tree | da328b1c56bc4f3a5387ac4b364319b5f957713c | |
parent | 7a37ffa07bfb80d22c1e91705f39079b504056b4 (diff) | |
parent | e476ac8b483de4ce1d8570509be343afc7cd3baf (diff) |
Merge tag 'sunxi-dt-for-3.12-2' of https://github.com/mripard/linux into next/dt
Allwinner sunXi DT additions for 3.12, take 2
These patches add basic support for:
- Allwinner A31 and A20 SoCs
- The Olimex A20-Olinuxino board
- The Olimex A10s-Olinuxino board
* tag 'sunxi-dt-for-3.12-2' of https://github.com/mripard/linux:
ARM: sun7i: Add Olimex A20-Olinuxino-Micro support
ARM: sun7i: Add Allwinner A20 DTSI
ARM: sun6i: Add WITS Colombus A31 evaluation kit support
ARM: sunxi: Add Allwinner A31 DTSI
-rw-r--r-- | arch/arm/boot/dts/Makefile | 4 | ||||
-rw-r--r-- | arch/arm/boot/dts/sun6i-a31-colombus.dts | 30 | ||||
-rw-r--r-- | arch/arm/boot/dts/sun6i-a31.dtsi | 156 | ||||
-rw-r--r-- | arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts | 34 | ||||
-rw-r--r-- | arch/arm/boot/dts/sun7i-a20.dtsi | 172 |
5 files changed, 395 insertions, 1 deletions
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile index 198df7fb5db0..e6ca771b0e4c 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile | |||
@@ -213,7 +213,9 @@ dtb-$(CONFIG_ARCH_SUNXI) += \ | |||
213 | sun4i-a10-mini-xplus.dtb \ | 213 | sun4i-a10-mini-xplus.dtb \ |
214 | sun4i-a10-hackberry.dtb \ | 214 | sun4i-a10-hackberry.dtb \ |
215 | sun5i-a10s-olinuxino-micro.dtb \ | 215 | sun5i-a10s-olinuxino-micro.dtb \ |
216 | sun5i-a13-olinuxino.dtb | 216 | sun5i-a13-olinuxino.dtb \ |
217 | sun6i-a31-colombus.dtb \ | ||
218 | sun7i-a20-olinuxino-micro.dtb | ||
217 | dtb-$(CONFIG_ARCH_TEGRA) += tegra20-harmony.dtb \ | 219 | dtb-$(CONFIG_ARCH_TEGRA) += tegra20-harmony.dtb \ |
218 | tegra20-iris-512.dtb \ | 220 | tegra20-iris-512.dtb \ |
219 | tegra20-medcom-wide.dtb \ | 221 | tegra20-medcom-wide.dtb \ |
diff --git a/arch/arm/boot/dts/sun6i-a31-colombus.dts b/arch/arm/boot/dts/sun6i-a31-colombus.dts new file mode 100644 index 000000000000..99c4b1847cab --- /dev/null +++ b/arch/arm/boot/dts/sun6i-a31-colombus.dts | |||
@@ -0,0 +1,30 @@ | |||
1 | /* | ||
2 | * Copyright 2013 Maxime Ripard | ||
3 | * | ||
4 | * Maxime Ripard <maxime.ripard@free-electrons.com> | ||
5 | * | ||
6 | * The code contained herein is licensed under the GNU General Public | ||
7 | * License. You may obtain a copy of the GNU General Public License | ||
8 | * Version 2 or later at the following locations: | ||
9 | * | ||
10 | * http://www.opensource.org/licenses/gpl-license.html | ||
11 | * http://www.gnu.org/copyleft/gpl.html | ||
12 | */ | ||
13 | |||
14 | /dts-v1/; | ||
15 | /include/ "sun6i-a31.dtsi" | ||
16 | |||
17 | / { | ||
18 | model = "WITS A31 Colombus Evaluation Board"; | ||
19 | compatible = "wits,colombus", "allwinner,sun6i-a31"; | ||
20 | |||
21 | chosen { | ||
22 | bootargs = "earlyprintk console=ttyS0,115200"; | ||
23 | }; | ||
24 | |||
25 | soc@01c00000 { | ||
26 | uart0: serial@01c28000 { | ||
27 | status = "okay"; | ||
28 | }; | ||
29 | }; | ||
30 | }; | ||
diff --git a/arch/arm/boot/dts/sun6i-a31.dtsi b/arch/arm/boot/dts/sun6i-a31.dtsi new file mode 100644 index 000000000000..4d076ec24885 --- /dev/null +++ b/arch/arm/boot/dts/sun6i-a31.dtsi | |||
@@ -0,0 +1,156 @@ | |||
1 | /* | ||
2 | * Copyright 2013 Maxime Ripard | ||
3 | * | ||
4 | * Maxime Ripard <maxime.ripard@free-electrons.com> | ||
5 | * | ||
6 | * The code contained herein is licensed under the GNU General Public | ||
7 | * License. You may obtain a copy of the GNU General Public License | ||
8 | * Version 2 or later at the following locations: | ||
9 | * | ||
10 | * http://www.opensource.org/licenses/gpl-license.html | ||
11 | * http://www.gnu.org/copyleft/gpl.html | ||
12 | */ | ||
13 | |||
14 | /include/ "skeleton.dtsi" | ||
15 | |||
16 | / { | ||
17 | interrupt-parent = <&gic>; | ||
18 | |||
19 | cpus { | ||
20 | #address-cells = <1>; | ||
21 | #size-cells = <0>; | ||
22 | |||
23 | cpu@0 { | ||
24 | compatible = "arm,cortex-a7"; | ||
25 | device_type = "cpu"; | ||
26 | reg = <0>; | ||
27 | }; | ||
28 | |||
29 | cpu@1 { | ||
30 | compatible = "arm,cortex-a7"; | ||
31 | device_type = "cpu"; | ||
32 | reg = <1>; | ||
33 | }; | ||
34 | |||
35 | cpu@2 { | ||
36 | compatible = "arm,cortex-a7"; | ||
37 | device_type = "cpu"; | ||
38 | reg = <2>; | ||
39 | }; | ||
40 | |||
41 | cpu@3 { | ||
42 | compatible = "arm,cortex-a7"; | ||
43 | device_type = "cpu"; | ||
44 | reg = <3>; | ||
45 | }; | ||
46 | }; | ||
47 | |||
48 | memory { | ||
49 | reg = <0x40000000 0x80000000>; | ||
50 | }; | ||
51 | |||
52 | clocks { | ||
53 | #address-cells = <1>; | ||
54 | #size-cells = <0>; | ||
55 | |||
56 | osc: oscillator { | ||
57 | #clock-cells = <0>; | ||
58 | compatible = "fixed-clock"; | ||
59 | clock-frequency = <24000000>; | ||
60 | }; | ||
61 | }; | ||
62 | |||
63 | soc@01c00000 { | ||
64 | compatible = "simple-bus"; | ||
65 | #address-cells = <1>; | ||
66 | #size-cells = <1>; | ||
67 | ranges; | ||
68 | |||
69 | timer@01c20c00 { | ||
70 | compatible = "allwinner,sun4i-timer"; | ||
71 | reg = <0x01c20c00 0xa0>; | ||
72 | interrupts = <0 18 1>, | ||
73 | <0 19 1>, | ||
74 | <0 20 1>, | ||
75 | <0 21 1>, | ||
76 | <0 22 1>; | ||
77 | clocks = <&osc>; | ||
78 | }; | ||
79 | |||
80 | wdt1: watchdog@01c20ca0 { | ||
81 | compatible = "allwinner,sun6i-wdt"; | ||
82 | reg = <0x01c20ca0 0x20>; | ||
83 | }; | ||
84 | |||
85 | uart0: serial@01c28000 { | ||
86 | compatible = "snps,dw-apb-uart"; | ||
87 | reg = <0x01c28000 0x400>; | ||
88 | interrupts = <0 0 1>; | ||
89 | reg-shift = <2>; | ||
90 | reg-io-width = <4>; | ||
91 | clocks = <&osc>; | ||
92 | status = "disabled"; | ||
93 | }; | ||
94 | |||
95 | uart1: serial@01c28400 { | ||
96 | compatible = "snps,dw-apb-uart"; | ||
97 | reg = <0x01c28400 0x400>; | ||
98 | interrupts = <0 1 1>; | ||
99 | reg-shift = <2>; | ||
100 | reg-io-width = <4>; | ||
101 | clocks = <&osc>; | ||
102 | status = "disabled"; | ||
103 | }; | ||
104 | |||
105 | uart2: serial@01c28800 { | ||
106 | compatible = "snps,dw-apb-uart"; | ||
107 | reg = <0x01c28800 0x400>; | ||
108 | interrupts = <0 2 1>; | ||
109 | reg-shift = <2>; | ||
110 | reg-io-width = <4>; | ||
111 | clocks = <&osc>; | ||
112 | status = "disabled"; | ||
113 | }; | ||
114 | |||
115 | uart3: serial@01c28c00 { | ||
116 | compatible = "snps,dw-apb-uart"; | ||
117 | reg = <0x01c28c00 0x400>; | ||
118 | interrupts = <0 3 1>; | ||
119 | reg-shift = <2>; | ||
120 | reg-io-width = <4>; | ||
121 | clocks = <&osc>; | ||
122 | status = "disabled"; | ||
123 | }; | ||
124 | |||
125 | uart4: serial@01c29000 { | ||
126 | compatible = "snps,dw-apb-uart"; | ||
127 | reg = <0x01c29000 0x400>; | ||
128 | interrupts = <0 4 1>; | ||
129 | reg-shift = <2>; | ||
130 | reg-io-width = <4>; | ||
131 | clocks = <&osc>; | ||
132 | status = "disabled"; | ||
133 | }; | ||
134 | |||
135 | uart5: serial@01c29400 { | ||
136 | compatible = "snps,dw-apb-uart"; | ||
137 | reg = <0x01c29400 0x400>; | ||
138 | interrupts = <0 5 1>; | ||
139 | reg-shift = <2>; | ||
140 | reg-io-width = <4>; | ||
141 | clocks = <&osc>; | ||
142 | status = "disabled"; | ||
143 | }; | ||
144 | |||
145 | gic: interrupt-controller@01c81000 { | ||
146 | compatible = "arm,cortex-a7-gic", "arm,cortex-a15-gic"; | ||
147 | reg = <0x01c81000 0x1000>, | ||
148 | <0x01c82000 0x1000>, | ||
149 | <0x01c84000 0x2000>, | ||
150 | <0x01c86000 0x2000>; | ||
151 | interrupt-controller; | ||
152 | #interrupt-cells = <3>; | ||
153 | interrupts = <1 9 0xf04>; | ||
154 | }; | ||
155 | }; | ||
156 | }; | ||
diff --git a/arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts b/arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts new file mode 100644 index 000000000000..d3395846491c --- /dev/null +++ b/arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts | |||
@@ -0,0 +1,34 @@ | |||
1 | /* | ||
2 | * Copyright 2013 Maxime Ripard | ||
3 | * | ||
4 | * Maxime Ripard <maxime.ripard@free-electrons.com> | ||
5 | * | ||
6 | * The code contained herein is licensed under the GNU General Public | ||
7 | * License. You may obtain a copy of the GNU General Public License | ||
8 | * Version 2 or later at the following locations: | ||
9 | * | ||
10 | * http://www.opensource.org/licenses/gpl-license.html | ||
11 | * http://www.gnu.org/copyleft/gpl.html | ||
12 | */ | ||
13 | |||
14 | /dts-v1/; | ||
15 | /include/ "sun7i-a20.dtsi" | ||
16 | |||
17 | / { | ||
18 | model = "Olimex A20-Olinuxino Micro"; | ||
19 | compatible = "olimex,a20-olinuxino-micro", "allwinner,sun7i-a20"; | ||
20 | |||
21 | soc@01c00000 { | ||
22 | uart0: serial@01c28000 { | ||
23 | status = "okay"; | ||
24 | }; | ||
25 | |||
26 | uart6: serial@01c29800 { | ||
27 | status = "okay"; | ||
28 | }; | ||
29 | |||
30 | uart7: serial@01c29c00 { | ||
31 | status = "okay"; | ||
32 | }; | ||
33 | }; | ||
34 | }; | ||
diff --git a/arch/arm/boot/dts/sun7i-a20.dtsi b/arch/arm/boot/dts/sun7i-a20.dtsi new file mode 100644 index 000000000000..33391517118c --- /dev/null +++ b/arch/arm/boot/dts/sun7i-a20.dtsi | |||
@@ -0,0 +1,172 @@ | |||
1 | /* | ||
2 | * Copyright 2013 Maxime Ripard | ||
3 | * | ||
4 | * Maxime Ripard <maxime.ripard@free-electrons.com> | ||
5 | * | ||
6 | * The code contained herein is licensed under the GNU General Public | ||
7 | * License. You may obtain a copy of the GNU General Public License | ||
8 | * Version 2 or later at the following locations: | ||
9 | * | ||
10 | * http://www.opensource.org/licenses/gpl-license.html | ||
11 | * http://www.gnu.org/copyleft/gpl.html | ||
12 | */ | ||
13 | |||
14 | /include/ "skeleton.dtsi" | ||
15 | |||
16 | / { | ||
17 | interrupt-parent = <&gic>; | ||
18 | |||
19 | cpus { | ||
20 | #address-cells = <1>; | ||
21 | #size-cells = <0>; | ||
22 | |||
23 | cpu@0 { | ||
24 | compatible = "arm,cortex-a7"; | ||
25 | device_type = "cpu"; | ||
26 | reg = <0>; | ||
27 | }; | ||
28 | |||
29 | cpu@1 { | ||
30 | compatible = "arm,cortex-a7"; | ||
31 | device_type = "cpu"; | ||
32 | reg = <1>; | ||
33 | }; | ||
34 | }; | ||
35 | |||
36 | memory { | ||
37 | reg = <0x40000000 0x80000000>; | ||
38 | }; | ||
39 | |||
40 | clocks { | ||
41 | #address-cells = <1>; | ||
42 | #size-cells = <1>; | ||
43 | ranges; | ||
44 | |||
45 | osc24M: osc24M@01c20050 { | ||
46 | #clock-cells = <0>; | ||
47 | compatible = "fixed-clock"; | ||
48 | clock-frequency = <24000000>; | ||
49 | }; | ||
50 | |||
51 | osc32k: osc32k { | ||
52 | #clock-cells = <0>; | ||
53 | compatible = "fixed-clock"; | ||
54 | clock-frequency = <32768>; | ||
55 | }; | ||
56 | }; | ||
57 | |||
58 | soc@01c00000 { | ||
59 | compatible = "simple-bus"; | ||
60 | #address-cells = <1>; | ||
61 | #size-cells = <1>; | ||
62 | ranges; | ||
63 | |||
64 | timer@01c20c00 { | ||
65 | compatible = "allwinner,sun4i-timer"; | ||
66 | reg = <0x01c20c00 0x90>; | ||
67 | interrupts = <0 22 1>, | ||
68 | <0 23 1>, | ||
69 | <0 24 1>, | ||
70 | <0 25 1>, | ||
71 | <0 67 1>, | ||
72 | <0 68 1>; | ||
73 | clocks = <&osc24M>; | ||
74 | }; | ||
75 | |||
76 | wdt: watchdog@01c20c90 { | ||
77 | compatible = "allwinner,sun4i-wdt"; | ||
78 | reg = <0x01c20c90 0x10>; | ||
79 | }; | ||
80 | |||
81 | uart0: serial@01c28000 { | ||
82 | compatible = "snps,dw-apb-uart"; | ||
83 | reg = <0x01c28000 0x400>; | ||
84 | interrupts = <0 1 1>; | ||
85 | reg-shift = <2>; | ||
86 | reg-io-width = <4>; | ||
87 | clocks = <&osc24M>; | ||
88 | status = "disabled"; | ||
89 | }; | ||
90 | |||
91 | uart1: serial@01c28400 { | ||
92 | compatible = "snps,dw-apb-uart"; | ||
93 | reg = <0x01c28400 0x400>; | ||
94 | interrupts = <0 2 1>; | ||
95 | reg-shift = <2>; | ||
96 | reg-io-width = <4>; | ||
97 | clocks = <&osc24M>; | ||
98 | status = "disabled"; | ||
99 | }; | ||
100 | |||
101 | uart2: serial@01c28800 { | ||
102 | compatible = "snps,dw-apb-uart"; | ||
103 | reg = <0x01c28800 0x400>; | ||
104 | interrupts = <0 3 1>; | ||
105 | reg-shift = <2>; | ||
106 | reg-io-width = <4>; | ||
107 | clocks = <&osc24M>; | ||
108 | status = "disabled"; | ||
109 | }; | ||
110 | |||
111 | uart3: serial@01c28c00 { | ||
112 | compatible = "snps,dw-apb-uart"; | ||
113 | reg = <0x01c28c00 0x400>; | ||
114 | interrupts = <0 4 1>; | ||
115 | reg-shift = <2>; | ||
116 | reg-io-width = <4>; | ||
117 | clocks = <&osc24M>; | ||
118 | status = "disabled"; | ||
119 | }; | ||
120 | |||
121 | uart4: serial@01c29000 { | ||
122 | compatible = "snps,dw-apb-uart"; | ||
123 | reg = <0x01c29000 0x400>; | ||
124 | interrupts = <0 17 1>; | ||
125 | reg-shift = <2>; | ||
126 | reg-io-width = <4>; | ||
127 | clocks = <&osc24M>; | ||
128 | status = "disabled"; | ||
129 | }; | ||
130 | |||
131 | uart5: serial@01c29400 { | ||
132 | compatible = "snps,dw-apb-uart"; | ||
133 | reg = <0x01c29400 0x400>; | ||
134 | interrupts = <0 18 1>; | ||
135 | reg-shift = <2>; | ||
136 | reg-io-width = <4>; | ||
137 | clocks = <&osc24M>; | ||
138 | status = "disabled"; | ||
139 | }; | ||
140 | |||
141 | uart6: serial@01c29800 { | ||
142 | compatible = "snps,dw-apb-uart"; | ||
143 | reg = <0x01c29800 0x400>; | ||
144 | interrupts = <0 19 1>; | ||
145 | reg-shift = <2>; | ||
146 | reg-io-width = <4>; | ||
147 | clocks = <&osc24M>; | ||
148 | status = "disabled"; | ||
149 | }; | ||
150 | |||
151 | uart7: serial@01c29c00 { | ||
152 | compatible = "snps,dw-apb-uart"; | ||
153 | reg = <0x01c29c00 0x400>; | ||
154 | interrupts = <0 20 1>; | ||
155 | reg-shift = <2>; | ||
156 | reg-io-width = <4>; | ||
157 | clocks = <&osc24M>; | ||
158 | status = "disabled"; | ||
159 | }; | ||
160 | |||
161 | gic: interrupt-controller@01c81000 { | ||
162 | compatible = "arm,cortex-a7-gic", "arm,cortex-a15-gic"; | ||
163 | reg = <0x01c81000 0x1000>, | ||
164 | <0x01c82000 0x1000>, | ||
165 | <0x01c84000 0x2000>, | ||
166 | <0x01c86000 0x2000>; | ||
167 | interrupt-controller; | ||
168 | #interrupt-cells = <3>; | ||
169 | interrupts = <1 9 0xf04>; | ||
170 | }; | ||
171 | }; | ||
172 | }; | ||