Merge tag 'asoc-3.8p1' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound...
[firefly-linux-kernel-4.4.55.git] / arch / arm / boot / dts / at91sam9x5.dtsi
1 /*
2  * at91sam9x5.dtsi - Device Tree Include file for AT91SAM9x5 family SoC
3  *                   applies to AT91SAM9G15, AT91SAM9G25, AT91SAM9G35,
4  *                   AT91SAM9X25, AT91SAM9X35 SoC
5  *
6  *  Copyright (C) 2012 Atmel,
7  *                2012 Nicolas Ferre <nicolas.ferre@atmel.com>
8  *
9  * Licensed under GPLv2 or later.
10  */
11
12 /include/ "skeleton.dtsi"
13
14 / {
15         model = "Atmel AT91SAM9x5 family SoC";
16         compatible = "atmel,at91sam9x5";
17         interrupt-parent = <&aic>;
18
19         aliases {
20                 serial0 = &dbgu;
21                 serial1 = &usart0;
22                 serial2 = &usart1;
23                 serial3 = &usart2;
24                 gpio0 = &pioA;
25                 gpio1 = &pioB;
26                 gpio2 = &pioC;
27                 gpio3 = &pioD;
28                 tcb0 = &tcb0;
29                 tcb1 = &tcb1;
30                 i2c0 = &i2c0;
31                 i2c1 = &i2c1;
32                 i2c2 = &i2c2;
33                 ssc0 = &ssc0;
34         };
35         cpus {
36                 cpu@0 {
37                         compatible = "arm,arm926ejs";
38                 };
39         };
40
41         memory {
42                 reg = <0x20000000 0x10000000>;
43         };
44
45         ahb {
46                 compatible = "simple-bus";
47                 #address-cells = <1>;
48                 #size-cells = <1>;
49                 ranges;
50
51                 apb {
52                         compatible = "simple-bus";
53                         #address-cells = <1>;
54                         #size-cells = <1>;
55                         ranges;
56
57                         aic: interrupt-controller@fffff000 {
58                                 #interrupt-cells = <3>;
59                                 compatible = "atmel,at91rm9200-aic";
60                                 interrupt-controller;
61                                 reg = <0xfffff000 0x200>;
62                                 atmel,external-irqs = <31>;
63                         };
64
65                         ramc0: ramc@ffffe800 {
66                                 compatible = "atmel,at91sam9g45-ddramc";
67                                 reg = <0xffffe800 0x200>;
68                         };
69
70                         pmc: pmc@fffffc00 {
71                                 compatible = "atmel,at91rm9200-pmc";
72                                 reg = <0xfffffc00 0x100>;
73                         };
74
75                         rstc@fffffe00 {
76                                 compatible = "atmel,at91sam9g45-rstc";
77                                 reg = <0xfffffe00 0x10>;
78                         };
79
80                         shdwc@fffffe10 {
81                                 compatible = "atmel,at91sam9x5-shdwc";
82                                 reg = <0xfffffe10 0x10>;
83                         };
84
85                         pit: timer@fffffe30 {
86                                 compatible = "atmel,at91sam9260-pit";
87                                 reg = <0xfffffe30 0xf>;
88                                 interrupts = <1 4 7>;
89                         };
90
91                         ssc0: ssc@f0010000 {
92                                 compatible = "atmel,at91sam9g45-ssc";
93                                 reg = <0xf0010000 0x4000>;
94                                 interrupts = <28 4 5>;
95                                 status = "disabled";
96                         };
97
98                         tcb0: timer@f8008000 {
99                                 compatible = "atmel,at91sam9x5-tcb";
100                                 reg = <0xf8008000 0x100>;
101                                 interrupts = <17 4 0>;
102                         };
103
104                         tcb1: timer@f800c000 {
105                                 compatible = "atmel,at91sam9x5-tcb";
106                                 reg = <0xf800c000 0x100>;
107                                 interrupts = <17 4 0>;
108                         };
109
110                         dma0: dma-controller@ffffec00 {
111                                 compatible = "atmel,at91sam9g45-dma";
112                                 reg = <0xffffec00 0x200>;
113                                 interrupts = <20 4 0>;
114                         };
115
116                         dma1: dma-controller@ffffee00 {
117                                 compatible = "atmel,at91sam9g45-dma";
118                                 reg = <0xffffee00 0x200>;
119                                 interrupts = <21 4 0>;
120                         };
121
122                         pioA: gpio@fffff400 {
123                                 compatible = "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio";
124                                 reg = <0xfffff400 0x100>;
125                                 interrupts = <2 4 1>;
126                                 #gpio-cells = <2>;
127                                 gpio-controller;
128                                 interrupt-controller;
129                                 #interrupt-cells = <2>;
130                         };
131
132                         pioB: gpio@fffff600 {
133                                 compatible = "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio";
134                                 reg = <0xfffff600 0x100>;
135                                 interrupts = <2 4 1>;
136                                 #gpio-cells = <2>;
137                                 gpio-controller;
138                                 interrupt-controller;
139                                 #interrupt-cells = <2>;
140                         };
141
142                         pioC: gpio@fffff800 {
143                                 compatible = "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio";
144                                 reg = <0xfffff800 0x100>;
145                                 interrupts = <3 4 1>;
146                                 #gpio-cells = <2>;
147                                 gpio-controller;
148                                 interrupt-controller;
149                                 #interrupt-cells = <2>;
150                         };
151
152                         pioD: gpio@fffffa00 {
153                                 compatible = "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio";
154                                 reg = <0xfffffa00 0x100>;
155                                 interrupts = <3 4 1>;
156                                 #gpio-cells = <2>;
157                                 gpio-controller;
158                                 interrupt-controller;
159                                 #interrupt-cells = <2>;
160                         };
161
162                         dbgu: serial@fffff200 {
163                                 compatible = "atmel,at91sam9260-usart";
164                                 reg = <0xfffff200 0x200>;
165                                 interrupts = <1 4 7>;
166                                 status = "disabled";
167                         };
168
169                         usart0: serial@f801c000 {
170                                 compatible = "atmel,at91sam9260-usart";
171                                 reg = <0xf801c000 0x200>;
172                                 interrupts = <5 4 5>;
173                                 atmel,use-dma-rx;
174                                 atmel,use-dma-tx;
175                                 status = "disabled";
176                         };
177
178                         usart1: serial@f8020000 {
179                                 compatible = "atmel,at91sam9260-usart";
180                                 reg = <0xf8020000 0x200>;
181                                 interrupts = <6 4 5>;
182                                 atmel,use-dma-rx;
183                                 atmel,use-dma-tx;
184                                 status = "disabled";
185                         };
186
187                         usart2: serial@f8024000 {
188                                 compatible = "atmel,at91sam9260-usart";
189                                 reg = <0xf8024000 0x200>;
190                                 interrupts = <7 4 5>;
191                                 atmel,use-dma-rx;
192                                 atmel,use-dma-tx;
193                                 status = "disabled";
194                         };
195
196                         macb0: ethernet@f802c000 {
197                                 compatible = "cdns,at32ap7000-macb", "cdns,macb";
198                                 reg = <0xf802c000 0x100>;
199                                 interrupts = <24 4 3>;
200                                 status = "disabled";
201                         };
202
203                         macb1: ethernet@f8030000 {
204                                 compatible = "cdns,at32ap7000-macb", "cdns,macb";
205                                 reg = <0xf8030000 0x100>;
206                                 interrupts = <27 4 3>;
207                                 status = "disabled";
208                         };
209
210                         i2c0: i2c@f8010000 {
211                                 compatible = "atmel,at91sam9x5-i2c";
212                                 reg = <0xf8010000 0x100>;
213                                 interrupts = <9 4 6>;
214                                 #address-cells = <1>;
215                                 #size-cells = <0>;
216                                 status = "disabled";
217                         };
218
219                         i2c1: i2c@f8014000 {
220                                 compatible = "atmel,at91sam9x5-i2c";
221                                 reg = <0xf8014000 0x100>;
222                                 interrupts = <10 4 6>;
223                                 #address-cells = <1>;
224                                 #size-cells = <0>;
225                                 status = "disabled";
226                         };
227
228                         i2c2: i2c@f8018000 {
229                                 compatible = "atmel,at91sam9x5-i2c";
230                                 reg = <0xf8018000 0x100>;
231                                 interrupts = <11 4 6>;
232                                 #address-cells = <1>;
233                                 #size-cells = <0>;
234                                 status = "disabled";
235                         };
236
237                         adc0: adc@f804c000 {
238                                 compatible = "atmel,at91sam9260-adc";
239                                 reg = <0xf804c000 0x100>;
240                                 interrupts = <19 4 0>;
241                                 atmel,adc-use-external;
242                                 atmel,adc-channels-used = <0xffff>;
243                                 atmel,adc-vref = <3300>;
244                                 atmel,adc-num-channels = <12>;
245                                 atmel,adc-startup-time = <40>;
246                                 atmel,adc-channel-base = <0x50>;
247                                 atmel,adc-drdy-mask = <0x1000000>;
248                                 atmel,adc-status-register = <0x30>;
249                                 atmel,adc-trigger-register = <0xc0>;
250
251                                 trigger@0 {
252                                         trigger-name = "external-rising";
253                                         trigger-value = <0x1>;
254                                         trigger-external;
255                                 };
256
257                                 trigger@1 {
258                                         trigger-name = "external-falling";
259                                         trigger-value = <0x2>;
260                                         trigger-external;
261                                 };
262
263                                 trigger@2 {
264                                         trigger-name = "external-any";
265                                         trigger-value = <0x3>;
266                                         trigger-external;
267                                 };
268
269                                 trigger@3 {
270                                         trigger-name = "continuous";
271                                         trigger-value = <0x6>;
272                                 };
273                         };
274                 };
275
276                 nand0: nand@40000000 {
277                         compatible = "atmel,at91rm9200-nand";
278                         #address-cells = <1>;
279                         #size-cells = <1>;
280                         reg = <0x40000000 0x10000000
281                               >;
282                         atmel,nand-addr-offset = <21>;
283                         atmel,nand-cmd-offset = <22>;
284                         gpios = <&pioD 5 0
285                                  &pioD 4 0
286                                  0
287                                 >;
288                         status = "disabled";
289                 };
290
291                 usb0: ohci@00600000 {
292                         compatible = "atmel,at91rm9200-ohci", "usb-ohci";
293                         reg = <0x00600000 0x100000>;
294                         interrupts = <22 4 2>;
295                         status = "disabled";
296                 };
297
298                 usb1: ehci@00700000 {
299                         compatible = "atmel,at91sam9g45-ehci", "usb-ehci";
300                         reg = <0x00700000 0x100000>;
301                         interrupts = <22 4 2>;
302                         status = "disabled";
303                 };
304         };
305
306         i2c@0 {
307                 compatible = "i2c-gpio";
308                 gpios = <&pioA 30 0 /* sda */
309                          &pioA 31 0 /* scl */
310                         >;
311                 i2c-gpio,sda-open-drain;
312                 i2c-gpio,scl-open-drain;
313                 i2c-gpio,delay-us = <2>;        /* ~100 kHz */
314                 #address-cells = <1>;
315                 #size-cells = <0>;
316                 status = "disabled";
317         };
318
319         i2c@1 {
320                 compatible = "i2c-gpio";
321                 gpios = <&pioC 0 0 /* sda */
322                          &pioC 1 0 /* scl */
323                         >;
324                 i2c-gpio,sda-open-drain;
325                 i2c-gpio,scl-open-drain;
326                 i2c-gpio,delay-us = <2>;        /* ~100 kHz */
327                 #address-cells = <1>;
328                 #size-cells = <0>;
329                 status = "disabled";
330         };
331
332         i2c@2 {
333                 compatible = "i2c-gpio";
334                 gpios = <&pioB 4 0 /* sda */
335                          &pioB 5 0 /* scl */
336                         >;
337                 i2c-gpio,sda-open-drain;
338                 i2c-gpio,scl-open-drain;
339                 i2c-gpio,delay-us = <2>;        /* ~100 kHz */
340                 #address-cells = <1>;
341                 #size-cells = <0>;
342                 status = "disabled";
343         };
344 };