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