Skip to content

Commit e2eb691

Browse files
shiraz-zzvireshk
authored andcommitted
ARM: SPEAr320: DT: Add SPEAr 320 HMI board support
This adds support for SPEAr320-HMI board. Signed-off-by: Shiraz Hashim <[email protected]> Signed-off-by: Viresh Kumar <[email protected]>
1 parent 86edd7b commit e2eb691

File tree

3 files changed

+308
-1
lines changed

3 files changed

+308
-1
lines changed

arch/arm/boot/dts/Makefile

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,8 @@ dtb-$(CONFIG_ARCH_SPEAR13XX) += spear1310-evb.dtb \
8282
spear1340-evb.dtb
8383
dtb-$(CONFIG_ARCH_SPEAR3XX)+= spear300-evb.dtb \
8484
spear310-evb.dtb \
85-
spear320-evb.dtb
85+
spear320-evb.dtb \
86+
spear320-hmi.dtb
8687
dtb-$(CONFIG_ARCH_SPEAR6XX)+= spear600-evb.dtb
8788
dtb-$(CONFIG_ARCH_TEGRA) += tegra20-harmony.dtb \
8889
tegra20-medcom-wide.dtb \

arch/arm/boot/dts/spear320-hmi.dts

Lines changed: 305 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,305 @@
1+
/*
2+
* DTS file for SPEAr320 Evaluation Baord
3+
*
4+
* Copyright 2012 Shiraz Hashim <[email protected]>
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+
};

arch/arm/mach-spear3xx/spear320.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -247,6 +247,7 @@ static void __init spear320_dt_init(void)
247247
static const char * const spear320_dt_board_compat[] = {
248248
"st,spear320",
249249
"st,spear320-evb",
250+
"st,spear320-hmi",
250251
NULL,
251252
};
252253

0 commit comments

Comments
 (0)