GNU Linux-libre 4.19.264-gnu1
[releases.git] / arch / arm / boot / dts / spear320-hmi.dts
1 /*
2  * DTS file for SPEAr320 Evaluation Baord
3  *
4  * Copyright 2012 Shiraz Hashim <shiraz.linux.kernel@gmail.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                                 wakeup-source;
145                         };
146
147                         button@2 {
148                                 label = "user button 2";
149                                 linux,code = <0x200>;
150                                 gpios = <&stmpegpio 2 0x4>;
151                                 debounce-interval = <20>;
152                                 wakeup-source;
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 };