]> git.ipfire.org Git - people/arne_f/kernel.git/blob - arch/arm/boot/dts/spear1340-evb.dts
sun7i: dts: add bananapro.
[people/arne_f/kernel.git] / arch / arm / boot / dts / spear1340-evb.dts
1 /*
2 * DTS file for SPEAr1340 Evaluation Baord
3 *
4 * Copyright 2012 Viresh Kumar <viresh.linux@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/ "spear1340.dtsi"
16
17 / {
18 model = "ST SPEAr1340 Evaluation Board";
19 compatible = "st,spear1340-evb", "st,spear1340";
20 #address-cells = <1>;
21 #size-cells = <1>;
22
23 memory {
24 reg = <0 0x40000000>;
25 };
26
27 ahb {
28 pinmux@e0700000 {
29 pinctrl-names = "default";
30 pinctrl-0 = <&state_default>;
31
32 state_default: pinmux {
33 pads_as_gpio {
34 st,pins = "pads_as_gpio_grp";
35 st,function = "pads_as_gpio";
36 };
37 fsmc {
38 st,pins = "fsmc_8bit_grp";
39 st,function = "fsmc";
40 };
41 uart0 {
42 st,pins = "uart0_grp";
43 st,function = "uart0";
44 };
45 i2c0 {
46 st,pins = "i2c0_grp";
47 st,function = "i2c0";
48 };
49 i2c1 {
50 st,pins = "i2c1_grp";
51 st,function = "i2c1";
52 };
53 spdif-in {
54 st,pins = "spdif_in_grp";
55 st,function = "spdif_in";
56 };
57 spdif-out {
58 st,pins = "spdif_out_grp";
59 st,function = "spdif_out";
60 };
61 ssp0 {
62 st,pins = "ssp0_grp", "ssp0_cs1_grp", "ssp0_cs2_grp", "ssp0_cs3_grp";
63 st,function = "ssp0";
64 };
65 smi-pmx {
66 st,pins = "smi_grp";
67 st,function = "smi";
68 };
69 i2s {
70 st,pins = "i2s_in_grp", "i2s_out_grp";
71 st,function = "i2s";
72 };
73 gmac {
74 st,pins = "gmii_grp", "rgmii_grp";
75 st,function = "gmac";
76 };
77 cam0 {
78 st,pins = "cam0_grp";
79 st,function = "cam0";
80 };
81 cam1 {
82 st,pins = "cam1_grp";
83 st,function = "cam1";
84 };
85 cam2 {
86 st,pins = "cam2_grp";
87 st,function = "cam2";
88 };
89 cam3 {
90 st,pins = "cam3_grp";
91 st,function = "cam3";
92 };
93 cec0 {
94 st,pins = "cec0_grp";
95 st,function = "cec0";
96 };
97 cec1 {
98 st,pins = "cec1_grp";
99 st,function = "cec1";
100 };
101 sdhci {
102 st,pins = "sdhci_grp";
103 st,function = "sdhci";
104 };
105 clcd {
106 st,pins = "clcd_grp";
107 st,function = "clcd";
108 };
109 sata {
110 st,pins = "sata_grp";
111 st,function = "sata";
112 };
113 pcie {
114 st,pins = "pcie_grp";
115 st,function = "pcie";
116 };
117
118 };
119 };
120
121 ahci@b1000000 {
122 status = "okay";
123 };
124
125 dma@ea800000 {
126 status = "okay";
127 };
128
129 dma@eb000000 {
130 status = "okay";
131 };
132
133 fsmc: flash@b0000000 {
134 status = "okay";
135
136 partition@0 {
137 label = "xloader";
138 reg = <0x0 0x200000>;
139 };
140 partition@200000 {
141 label = "u-boot";
142 reg = <0x200000 0x200000>;
143 };
144 partition@400000 {
145 label = "environment";
146 reg = <0x400000 0x100000>;
147 };
148 partition@500000 {
149 label = "dtb";
150 reg = <0x500000 0x100000>;
151 };
152 partition@600000 {
153 label = "linux";
154 reg = <0x600000 0xC00000>;
155 };
156 partition@1200000 {
157 label = "rootfs";
158 reg = <0x1200000 0x0>;
159 };
160 };
161
162 gmac0: eth@e2000000 {
163 phy-mode = "rgmii";
164 status = "okay";
165 };
166
167 sdhci@b3000000 {
168 status = "okay";
169 };
170
171 smi: flash@ea000000 {
172 status = "okay";
173 clock-rate=<50000000>;
174
175 flash@e6000000 {
176 #address-cells = <1>;
177 #size-cells = <1>;
178 reg = <0xe6000000 0x800000>;
179 st,smi-fast-mode;
180
181 partition@0 {
182 label = "xloader";
183 reg = <0x0 0x10000>;
184 };
185 partition@10000 {
186 label = "u-boot";
187 reg = <0x10000 0x50000>;
188 };
189 partition@60000 {
190 label = "environment";
191 reg = <0x60000 0x10000>;
192 };
193 partition@70000 {
194 label = "dtb";
195 reg = <0x70000 0x10000>;
196 };
197 partition@80000 {
198 label = "linux";
199 reg = <0x80000 0x310000>;
200 };
201 partition@390000 {
202 label = "rootfs";
203 reg = <0x390000 0x0>;
204 };
205 };
206 };
207
208 ehci@e4800000 {
209 status = "okay";
210 };
211
212 gpio_keys {
213 compatible = "gpio-keys";
214 #address-cells = <1>;
215 #size-cells = <0>;
216
217 button@1 {
218 label = "wakeup";
219 linux,code = <0x100>;
220 gpios = <&gpio1 1 0x4>;
221 debounce-interval = <20>;
222 gpio-key,wakeup = <1>;
223 };
224 };
225
226 ehci@e5800000 {
227 status = "okay";
228 };
229
230 i2s0: i2s-play@b2400000 {
231 status = "okay";
232 };
233
234 i2s1: i2s-rec@b2000000 {
235 status = "okay";
236 };
237
238 incodec: dir-hifi {
239 compatible = "dummy,dir-hifi";
240 status = "okay";
241 };
242
243 ohci@e4000000 {
244 status = "okay";
245 };
246
247 ohci@e5000000 {
248 status = "okay";
249 };
250
251 outcodec: dit-hifi {
252 compatible = "dummy,dit-hifi";
253 status = "okay";
254 };
255
256 sound {
257 compatible = "spear,spear-evb";
258 audio-controllers = <&spdif0 &spdif1 &i2s0 &i2s1>;
259 audio-codecs = <&incodec &outcodec &sta529 &sta529>;
260 codec_dai_name = "dir-hifi", "dit-hifi", "sta529-audio", "sta529-audio";
261 stream_name = "spdif-cap", "spdif-play", "i2s-play", "i2s-cap";
262 dai_name = "spdifin-pcm", "spdifout-pcm", "i2s0-pcm", "i2s1-pcm";
263 nr_controllers = <4>;
264 status = "okay";
265 };
266
267 spdif0: spdif-in@d0100000 {
268 status = "okay";
269 };
270
271 spdif1: spdif-out@d0000000 {
272 status = "okay";
273 };
274
275 apb {
276 adc@e0080000 {
277 status = "okay";
278 };
279
280 i2s-play@b2400000 {
281 status = "okay";
282 };
283
284 i2s-rec@b2000000 {
285 status = "okay";
286 };
287
288 gpio0: gpio@e0600000 {
289 status = "okay";
290 };
291
292 gpio1: gpio@e0680000 {
293 status = "okay";
294 };
295
296 gpio@e2800000 {
297 status = "okay";
298 };
299
300 i2c0: i2c@e0280000 {
301 status = "okay";
302
303 sta529: sta529@1a {
304 compatible = "st,sta529";
305 reg = <0x1a>;
306 };
307 };
308
309 i2c1: i2c@b4000000 {
310 status = "okay";
311
312 eeprom0@56 {
313 compatible = "st,eeprom";
314 reg = <0x56>;
315 };
316
317 stmpe801@41 {
318 compatible = "st,stmpe801";
319 #address-cells = <1>;
320 #size-cells = <0>;
321 reg = <0x41>;
322 interrupts = <4 0x4>;
323 interrupt-parent = <&gpio0>;
324 irq-trigger = <0x2>;
325
326 stmpegpio: stmpe_gpio {
327 compatible = "st,stmpe-gpio";
328 gpio-controller;
329 #gpio-cells = <2>;
330 };
331 };
332 };
333
334 kbd@e0300000 {
335 linux,keymap = < 0x00000001
336 0x00010002
337 0x00020003
338 0x00030004
339 0x00040005
340 0x00050006
341 0x00060007
342 0x00070008
343 0x00080009
344 0x0100000a
345 0x0101000c
346 0x0102000d
347 0x0103000e
348 0x0104000f
349 0x01050010
350 0x01060011
351 0x01070012
352 0x01080013
353 0x02000014
354 0x02010015
355 0x02020016
356 0x02030017
357 0x02040018
358 0x02050019
359 0x0206001a
360 0x0207001b
361 0x0208001c
362 0x0300001d
363 0x0301001e
364 0x0302001f
365 0x03030020
366 0x03040021
367 0x03050022
368 0x03060023
369 0x03070024
370 0x03080025
371 0x04000026
372 0x04010027
373 0x04020028
374 0x04030029
375 0x0404002a
376 0x0405002b
377 0x0406002c
378 0x0407002d
379 0x0408002e
380 0x0500002f
381 0x05010030
382 0x05020031
383 0x05030032
384 0x05040033
385 0x05050034
386 0x05060035
387 0x05070036
388 0x05080037
389 0x06000038
390 0x06010039
391 0x0602003a
392 0x0603003b
393 0x0604003c
394 0x0605003d
395 0x0606003e
396 0x0607003f
397 0x06080040
398 0x07000041
399 0x07010042
400 0x07020043
401 0x07030044
402 0x07040045
403 0x07050046
404 0x07060047
405 0x07070048
406 0x07080049
407 0x0800004a
408 0x0801004b
409 0x0802004c
410 0x0803004d
411 0x0804004e
412 0x0805004f
413 0x08060050
414 0x08070051
415 0x08080052 >;
416 autorepeat;
417 st,mode = <0>;
418 suspended_rate = <2000000>;
419 status = "okay";
420 };
421
422 rtc@e0580000 {
423 status = "okay";
424 };
425
426 serial@e0000000 {
427 status = "okay";
428 pinctrl-names = "default";
429 pinctrl-0 = <>;
430 };
431
432 serial@b4100000 {
433 status = "okay";
434 pinctrl-names = "default";
435 pinctrl-0 = <>;
436 };
437
438 spi0: spi@e0100000 {
439 status = "okay";
440 num-cs = <3>;
441 cs-gpios = <&gpiopinctrl 80 0>, <&gpiopinctrl 24 0>,
442 <&gpiopinctrl 85 0>;
443
444 m25p80@0 {
445 compatible = "m25p80";
446 reg = <0>;
447 spi-max-frequency = <12000000>;
448 spi-cpol;
449 spi-cpha;
450 pl022,hierarchy = <0>;
451 pl022,interface = <0>;
452 pl022,slave-tx-disable;
453 pl022,com-mode = <0x2>;
454 pl022,rx-level-trig = <0>;
455 pl022,tx-level-trig = <0>;
456 pl022,ctrl-len = <0x11>;
457 pl022,wait-state = <0>;
458 pl022,duplex = <0>;
459 };
460
461 stmpe610@1 {
462 compatible = "st,stmpe610";
463 spi-max-frequency = <1000000>;
464 spi-cpha;
465 reg = <1>;
466 pl022,hierarchy = <0>;
467 pl022,interface = <0>;
468 pl022,slave-tx-disable;
469 pl022,com-mode = <0>;
470 pl022,rx-level-trig = <0>;
471 pl022,tx-level-trig = <0>;
472 pl022,ctrl-len = <0x7>;
473 pl022,wait-state = <0>;
474 pl022,duplex = <0>;
475 interrupts = <100 0>;
476 interrupt-parent = <&gpiopinctrl>;
477 irq-trigger = <0x2>;
478 #address-cells = <1>;
479 #size-cells = <0>;
480
481 stmpe_touchscreen {
482 compatible = "st,stmpe-ts";
483 ts,sample-time = <4>;
484 ts,mod-12b = <1>;
485 ts,ref-sel = <0>;
486 ts,adc-freq = <1>;
487 ts,ave-ctrl = <1>;
488 ts,touch-det-delay = <2>;
489 ts,settling = <2>;
490 ts,fraction-z = <7>;
491 ts,i-drive = <1>;
492 };
493 };
494
495 spidev@2 {
496 compatible = "spidev";
497 reg = <2>;
498 spi-max-frequency = <25000000>;
499 spi-cpha;
500 pl022,hierarchy = <0>;
501 pl022,interface = <0>;
502 pl022,slave-tx-disable;
503 pl022,com-mode = <0x2>;
504 pl022,rx-level-trig = <0>;
505 pl022,tx-level-trig = <0>;
506 pl022,ctrl-len = <0x11>;
507 pl022,wait-state = <0>;
508 pl022,duplex = <0>;
509 };
510 };
511
512 timer@ec800600 {
513 status = "okay";
514 };
515
516 wdt@ec800620 {
517 status = "okay";
518 };
519 };
520 };
521 };