diff options
author | Shiraz Hashim <shiraz.hashim@st.com> | 2012-08-08 19:20:11 -0400 |
---|---|---|
committer | Viresh Kumar <viresh.kumar@linaro.org> | 2012-11-26 06:25:33 -0500 |
commit | e2eb69183ec4156eb814e67672e492bf902bbcd2 (patch) | |
tree | f3c438ef27d5fe1a0598957c910f16b2eb87d5b8 /arch/arm | |
parent | 86edd7b8ac2791ddf42ab082799ddb843813c3bc (diff) |
ARM: SPEAr320: DT: Add SPEAr 320 HMI board support
This adds support for SPEAr320-HMI board.
Signed-off-by: Shiraz Hashim <shiraz.hashim@st.com>
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Diffstat (limited to 'arch/arm')
-rw-r--r-- | arch/arm/boot/dts/Makefile | 3 | ||||
-rw-r--r-- | arch/arm/boot/dts/spear320-hmi.dts | 305 | ||||
-rw-r--r-- | arch/arm/mach-spear3xx/spear320.c | 1 |
3 files changed, 308 insertions, 1 deletions
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile index f37cf9fa5fa..07e6cfaaa31 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile | |||
@@ -82,7 +82,8 @@ dtb-$(CONFIG_ARCH_SPEAR13XX) += spear1310-evb.dtb \ | |||
82 | spear1340-evb.dtb | 82 | spear1340-evb.dtb |
83 | dtb-$(CONFIG_ARCH_SPEAR3XX)+= spear300-evb.dtb \ | 83 | dtb-$(CONFIG_ARCH_SPEAR3XX)+= spear300-evb.dtb \ |
84 | spear310-evb.dtb \ | 84 | spear310-evb.dtb \ |
85 | spear320-evb.dtb | 85 | spear320-evb.dtb \ |
86 | spear320-hmi.dtb | ||
86 | dtb-$(CONFIG_ARCH_SPEAR6XX)+= spear600-evb.dtb | 87 | dtb-$(CONFIG_ARCH_SPEAR6XX)+= spear600-evb.dtb |
87 | dtb-$(CONFIG_ARCH_TEGRA) += tegra20-harmony.dtb \ | 88 | dtb-$(CONFIG_ARCH_TEGRA) += tegra20-harmony.dtb \ |
88 | tegra20-medcom-wide.dtb \ | 89 | tegra20-medcom-wide.dtb \ |
diff --git a/arch/arm/boot/dts/spear320-hmi.dts b/arch/arm/boot/dts/spear320-hmi.dts new file mode 100644 index 00000000000..3075d2d3a8b --- /dev/null +++ b/arch/arm/boot/dts/spear320-hmi.dts | |||
@@ -0,0 +1,305 @@ | |||
1 | /* | ||
2 | * DTS file for SPEAr320 Evaluation Baord | ||
3 | * | ||
4 | * Copyright 2012 Shiraz Hashim <shiraz.hashim@st.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/ "spear320.dtsi" | ||
16 | |||
17 | / { | ||
18 | model = "ST SPEAr320 HMI Board"; | ||
19 | compatible = "st,spear320-hmi", "st,spear320"; | ||
20 | #address-cells = <1>; | ||
21 | #size-cells = <1>; | ||
22 | |||
23 | memory { | ||
24 | reg = <0 0x40000000>; | ||
25 | }; | ||
26 | |||
27 | ahb { | ||
28 | pinmux@b3000000 { | ||
29 | st,pinmux-mode = <4>; | ||
30 | pinctrl-names = "default"; | ||
31 | pinctrl-0 = <&state_default>; | ||
32 | |||
33 | state_default: pinmux { | ||
34 | i2c0 { | ||
35 | st,pins = "i2c0_grp"; | ||
36 | st,function = "i2c0"; | ||
37 | }; | ||
38 | ssp0 { | ||
39 | st,pins = "ssp0_grp"; | ||
40 | st,function = "ssp0"; | ||
41 | }; | ||
42 | uart0 { | ||
43 | st,pins = "uart0_grp"; | ||
44 | st,function = "uart0"; | ||
45 | }; | ||
46 | clcd { | ||
47 | st,pins = "clcd_grp"; | ||
48 | st,function = "clcd"; | ||
49 | }; | ||
50 | fsmc { | ||
51 | st,pins = "fsmc_8bit_grp"; | ||
52 | st,function = "fsmc"; | ||
53 | }; | ||
54 | sdhci { | ||
55 | st,pins = "sdhci_cd_12_grp"; | ||
56 | st,function = "sdhci"; | ||
57 | }; | ||
58 | i2s { | ||
59 | st,pins = "i2s_grp"; | ||
60 | st,function = "i2s"; | ||
61 | }; | ||
62 | uart1 { | ||
63 | st,pins = "uart1_grp"; | ||
64 | st,function = "uart1"; | ||
65 | }; | ||
66 | uart2 { | ||
67 | st,pins = "uart2_grp"; | ||
68 | st,function = "uart2"; | ||
69 | }; | ||
70 | can0 { | ||
71 | st,pins = "can0_grp"; | ||
72 | st,function = "can0"; | ||
73 | }; | ||
74 | can1 { | ||
75 | st,pins = "can1_grp"; | ||
76 | st,function = "can1"; | ||
77 | }; | ||
78 | mii0_1 { | ||
79 | st,pins = "rmii0_1_grp"; | ||
80 | st,function = "mii0_1"; | ||
81 | }; | ||
82 | pwm0_1 { | ||
83 | st,pins = "pwm0_1_pin_37_38_grp"; | ||
84 | st,function = "pwm0_1"; | ||
85 | }; | ||
86 | pwm2 { | ||
87 | st,pins = "pwm2_pin_34_grp"; | ||
88 | st,function = "pwm2"; | ||
89 | }; | ||
90 | }; | ||
91 | }; | ||
92 | |||
93 | clcd@90000000 { | ||
94 | status = "okay"; | ||
95 | }; | ||
96 | |||
97 | dma@fc400000 { | ||
98 | status = "okay"; | ||
99 | }; | ||
100 | |||
101 | ehci@e1800000 { | ||
102 | status = "okay"; | ||
103 | }; | ||
104 | |||
105 | fsmc: flash@4c000000 { | ||
106 | status = "okay"; | ||
107 | |||
108 | partition@0 { | ||
109 | label = "xloader"; | ||
110 | reg = <0x0 0x80000>; | ||
111 | }; | ||
112 | partition@80000 { | ||
113 | label = "u-boot"; | ||
114 | reg = <0x80000 0x140000>; | ||
115 | }; | ||
116 | partition@1C0000 { | ||
117 | label = "environment"; | ||
118 | reg = <0x1C0000 0x40000>; | ||
119 | }; | ||
120 | partition@200000 { | ||
121 | label = "dtb"; | ||
122 | reg = <0x200000 0x40000>; | ||
123 | }; | ||
124 | partition@240000 { | ||
125 | label = "linux"; | ||
126 | reg = <0x240000 0xC00000>; | ||
127 | }; | ||
128 | partition@E40000 { | ||
129 | label = "rootfs"; | ||
130 | reg = <0xE40000 0x0>; | ||
131 | }; | ||
132 | }; | ||
133 | |||
134 | gpio_keys { | ||
135 | compatible = "gpio-keys"; | ||
136 | #address-cells = <1>; | ||
137 | #size-cells = <0>; | ||
138 | |||
139 | button@1 { | ||
140 | label = "user button 1"; | ||
141 | linux,code = <0x100>; | ||
142 | gpios = <&stmpegpio 3 0x4>; | ||
143 | debounce-interval = <20>; | ||
144 | gpio-key,wakeup = <1>; | ||
145 | }; | ||
146 | |||
147 | button@2 { | ||
148 | label = "user button 2"; | ||
149 | linux,code = <0x200>; | ||
150 | gpios = <&stmpegpio 2 0x4>; | ||
151 | debounce-interval = <20>; | ||
152 | gpio-key,wakeup = <1>; | ||
153 | }; | ||
154 | }; | ||
155 | |||
156 | ohci@e1900000 { | ||
157 | status = "okay"; | ||
158 | }; | ||
159 | |||
160 | ohci@e2100000 { | ||
161 | status = "okay"; | ||
162 | }; | ||
163 | |||
164 | pwm: pwm@a8000000 { | ||
165 | status = "okay"; | ||
166 | }; | ||
167 | |||
168 | sdhci@70000000 { | ||
169 | power-gpio = <&gpiopinctrl 50 1>; | ||
170 | power_always_enb; | ||
171 | status = "okay"; | ||
172 | }; | ||
173 | |||
174 | smi: flash@fc000000 { | ||
175 | status = "okay"; | ||
176 | clock-rate=<50000000>; | ||
177 | |||
178 | flash@f8000000 { | ||
179 | #address-cells = <1>; | ||
180 | #size-cells = <1>; | ||
181 | reg = <0xf8000000 0x800000>; | ||
182 | st,smi-fast-mode; | ||
183 | |||
184 | partition@0 { | ||
185 | label = "xloader"; | ||
186 | reg = <0x0 0x10000>; | ||
187 | }; | ||
188 | partition@10000 { | ||
189 | label = "u-boot"; | ||
190 | reg = <0x10000 0x50000>; | ||
191 | }; | ||
192 | partition@60000 { | ||
193 | label = "environment"; | ||
194 | reg = <0x60000 0x10000>; | ||
195 | }; | ||
196 | partition@70000 { | ||
197 | label = "dtb"; | ||
198 | reg = <0x70000 0x10000>; | ||
199 | }; | ||
200 | partition@80000 { | ||
201 | label = "linux"; | ||
202 | reg = <0x80000 0x310000>; | ||
203 | }; | ||
204 | partition@390000 { | ||
205 | label = "rootfs"; | ||
206 | reg = <0x390000 0x0>; | ||
207 | }; | ||
208 | }; | ||
209 | }; | ||
210 | |||
211 | spi0: spi@d0100000 { | ||
212 | status = "okay"; | ||
213 | }; | ||
214 | |||
215 | spi1: spi@a5000000 { | ||
216 | status = "okay"; | ||
217 | }; | ||
218 | |||
219 | spi2: spi@a6000000 { | ||
220 | status = "okay"; | ||
221 | }; | ||
222 | |||
223 | usbd@e1100000 { | ||
224 | status = "okay"; | ||
225 | }; | ||
226 | |||
227 | apb { | ||
228 | gpio0: gpio@fc980000 { | ||
229 | status = "okay"; | ||
230 | }; | ||
231 | |||
232 | gpio@b3000000 { | ||
233 | status = "okay"; | ||
234 | }; | ||
235 | |||
236 | i2c0: i2c@d0180000 { | ||
237 | status = "okay"; | ||
238 | |||
239 | stmpe811@41 { | ||
240 | compatible = "st,stmpe811"; | ||
241 | #address-cells = <1>; | ||
242 | #size-cells = <0>; | ||
243 | reg = <0x41>; | ||
244 | irq-over-gpio; | ||
245 | irq-gpios = <&gpiopinctrl 29 0x4>; | ||
246 | id = <0>; | ||
247 | blocks = <0x5>; | ||
248 | irq-trigger = <0x1>; | ||
249 | |||
250 | stmpegpio: stmpe-gpio { | ||
251 | compatible = "stmpe,gpio"; | ||
252 | reg = <0>; | ||
253 | gpio-controller; | ||
254 | #gpio-cells = <2>; | ||
255 | gpio,norequest-mask = <0xF3>; | ||
256 | }; | ||
257 | |||
258 | stmpe610-ts { | ||
259 | compatible = "stmpe,ts"; | ||
260 | reg = <0>; | ||
261 | ts,sample-time = <4>; | ||
262 | ts,mod-12b = <1>; | ||
263 | ts,ref-sel = <0>; | ||
264 | ts,adc-freq = <1>; | ||
265 | ts,ave-ctrl = <1>; | ||
266 | ts,touch-det-delay = <3>; | ||
267 | ts,settling = <4>; | ||
268 | ts,fraction-z = <7>; | ||
269 | ts,i-drive = <1>; | ||
270 | }; | ||
271 | }; | ||
272 | }; | ||
273 | |||
274 | i2c1: i2c@a7000000 { | ||
275 | status = "okay"; | ||
276 | }; | ||
277 | |||
278 | rtc@fc900000 { | ||
279 | status = "okay"; | ||
280 | }; | ||
281 | |||
282 | serial@d0000000 { | ||
283 | status = "okay"; | ||
284 | pinctrl-names = "default"; | ||
285 | pinctrl-0 = <>; | ||
286 | }; | ||
287 | |||
288 | serial@a3000000 { | ||
289 | status = "okay"; | ||
290 | pinctrl-names = "default"; | ||
291 | pinctrl-0 = <>; | ||
292 | }; | ||
293 | |||
294 | serial@a4000000 { | ||
295 | status = "okay"; | ||
296 | pinctrl-names = "default"; | ||
297 | pinctrl-0 = <>; | ||
298 | }; | ||
299 | |||
300 | wdt@fc880000 { | ||
301 | status = "okay"; | ||
302 | }; | ||
303 | }; | ||
304 | }; | ||
305 | }; | ||
diff --git a/arch/arm/mach-spear3xx/spear320.c b/arch/arm/mach-spear3xx/spear320.c index 707504b84e0..66e3a0c33e7 100644 --- a/arch/arm/mach-spear3xx/spear320.c +++ b/arch/arm/mach-spear3xx/spear320.c | |||
@@ -247,6 +247,7 @@ static void __init spear320_dt_init(void) | |||
247 | static const char * const spear320_dt_board_compat[] = { | 247 | static const char * const spear320_dt_board_compat[] = { |
248 | "st,spear320", | 248 | "st,spear320", |
249 | "st,spear320-evb", | 249 | "st,spear320-evb", |
250 | "st,spear320-hmi", | ||
250 | NULL, | 251 | NULL, |
251 | }; | 252 | }; |
252 | 253 | ||