Merge tag 'exynos-dt-2' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux...
[sfrench/cifs-2.6.git] / arch / arm / boot / dts / at91sam9g45.dtsi
1 /*
2  * at91sam9g45.dtsi - Device Tree Include file for AT91SAM9G45 family SoC
3  *                    applies to AT91SAM9G45, AT91SAM9M10,
4  *                    AT91SAM9G46, AT91SAM9M11 SoC
5  *
6  *  Copyright (C) 2011 Atmel,
7  *                2011 Nicolas Ferre <nicolas.ferre@atmel.com>
8  *
9  * Licensed under GPLv2 or later.
10  */
11
12 #include "skeleton.dtsi"
13 #include <dt-bindings/dma/at91.h>
14 #include <dt-bindings/pinctrl/at91.h>
15 #include <dt-bindings/interrupt-controller/irq.h>
16 #include <dt-bindings/gpio/gpio.h>
17
18 / {
19         model = "Atmel AT91SAM9G45 family SoC";
20         compatible = "atmel,at91sam9g45";
21         interrupt-parent = <&aic>;
22
23         aliases {
24                 serial0 = &dbgu;
25                 serial1 = &usart0;
26                 serial2 = &usart1;
27                 serial3 = &usart2;
28                 serial4 = &usart3;
29                 gpio0 = &pioA;
30                 gpio1 = &pioB;
31                 gpio2 = &pioC;
32                 gpio3 = &pioD;
33                 gpio4 = &pioE;
34                 tcb0 = &tcb0;
35                 tcb1 = &tcb1;
36                 i2c0 = &i2c0;
37                 i2c1 = &i2c1;
38                 ssc0 = &ssc0;
39                 ssc1 = &ssc1;
40         };
41         cpus {
42                 #address-cells = <0>;
43                 #size-cells = <0>;
44
45                 cpu {
46                         compatible = "arm,arm926ej-s";
47                         device_type = "cpu";
48                 };
49         };
50
51         memory {
52                 reg = <0x70000000 0x10000000>;
53         };
54
55         ahb {
56                 compatible = "simple-bus";
57                 #address-cells = <1>;
58                 #size-cells = <1>;
59                 ranges;
60
61                 apb {
62                         compatible = "simple-bus";
63                         #address-cells = <1>;
64                         #size-cells = <1>;
65                         ranges;
66
67                         aic: interrupt-controller@fffff000 {
68                                 #interrupt-cells = <3>;
69                                 compatible = "atmel,at91rm9200-aic";
70                                 interrupt-controller;
71                                 reg = <0xfffff000 0x200>;
72                                 atmel,external-irqs = <31>;
73                         };
74
75                         ramc0: ramc@ffffe400 {
76                                 compatible = "atmel,at91sam9g45-ddramc";
77                                 reg = <0xffffe400 0x200
78                                        0xffffe600 0x200>;
79                         };
80
81                         pmc: pmc@fffffc00 {
82                                 compatible = "atmel,at91rm9200-pmc";
83                                 reg = <0xfffffc00 0x100>;
84                         };
85
86                         rstc@fffffd00 {
87                                 compatible = "atmel,at91sam9g45-rstc";
88                                 reg = <0xfffffd00 0x10>;
89                         };
90
91                         pit: timer@fffffd30 {
92                                 compatible = "atmel,at91sam9260-pit";
93                                 reg = <0xfffffd30 0xf>;
94                                 interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>;
95                         };
96
97
98                         shdwc@fffffd10 {
99                                 compatible = "atmel,at91sam9rl-shdwc";
100                                 reg = <0xfffffd10 0x10>;
101                         };
102
103                         tcb0: timer@fff7c000 {
104                                 compatible = "atmel,at91rm9200-tcb";
105                                 reg = <0xfff7c000 0x100>;
106                                 interrupts = <18 IRQ_TYPE_LEVEL_HIGH 0>;
107                         };
108
109                         tcb1: timer@fffd4000 {
110                                 compatible = "atmel,at91rm9200-tcb";
111                                 reg = <0xfffd4000 0x100>;
112                                 interrupts = <18 IRQ_TYPE_LEVEL_HIGH 0>;
113                         };
114
115                         dma: dma-controller@ffffec00 {
116                                 compatible = "atmel,at91sam9g45-dma";
117                                 reg = <0xffffec00 0x200>;
118                                 interrupts = <21 IRQ_TYPE_LEVEL_HIGH 0>;
119                                 #dma-cells = <2>;
120                         };
121
122                         pinctrl@fffff200 {
123                                 #address-cells = <1>;
124                                 #size-cells = <1>;
125                                 compatible = "atmel,at91rm9200-pinctrl", "simple-bus";
126                                 ranges = <0xfffff200 0xfffff200 0xa00>;
127
128                                 atmel,mux-mask = <
129                                       /*    A         B     */
130                                        0xffffffff 0xffc003ff  /* pioA */
131                                        0xffffffff 0x800f8f00  /* pioB */
132                                        0xffffffff 0x00000e00  /* pioC */
133                                        0xffffffff 0xff0c1381  /* pioD */
134                                        0xffffffff 0x81ffff81  /* pioE */
135                                       >;
136
137                                 /* shared pinctrl settings */
138                                 dbgu {
139                                         pinctrl_dbgu: dbgu-0 {
140                                                 atmel,pins =
141                                                         <AT91_PIOB 12 AT91_PERIPH_A AT91_PINCTRL_NONE   /* PB12 periph A */
142                                                          AT91_PIOB 13 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PB13 periph A */
143                                         };
144                                 };
145
146                                 usart0 {
147                                         pinctrl_usart0: usart0-0 {
148                                                 atmel,pins =
149                                                         <AT91_PIOB 19 AT91_PERIPH_A AT91_PINCTRL_PULL_UP        /* PB19 periph A with pullup */
150                                                          AT91_PIOB 18 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PB18 periph A */
151                                         };
152
153                                         pinctrl_usart0_rts: usart0_rts-0 {
154                                                 atmel,pins =
155                                                         <AT91_PIOB 17 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PB17 periph B */
156                                         };
157
158                                         pinctrl_usart0_cts: usart0_cts-0 {
159                                                 atmel,pins =
160                                                         <AT91_PIOB 15 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PB15 periph B */
161                                         };
162                                 };
163
164                                 uart1 {
165                                         pinctrl_usart1: usart1-0 {
166                                                 atmel,pins =
167                                                         <AT91_PIOB 4 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PB4 periph A with pullup */
168                                                          AT91_PIOB 5 AT91_PERIPH_A AT91_PINCTRL_NONE>;  /* PB5 periph A */
169                                         };
170
171                                         pinctrl_usart1_rts: usart1_rts-0 {
172                                                 atmel,pins =
173                                                         <AT91_PIOD 16 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PD16 periph A */
174                                         };
175
176                                         pinctrl_usart1_cts: usart1_cts-0 {
177                                                 atmel,pins =
178                                                         <AT91_PIOD 17 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PD17 periph A */
179                                         };
180                                 };
181
182                                 usart2 {
183                                         pinctrl_usart2: usart2-0 {
184                                                 atmel,pins =
185                                                         <AT91_PIOB 6 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PB6 periph A with pullup */
186                                                          AT91_PIOB 7 AT91_PERIPH_A AT91_PINCTRL_NONE>;  /* PB7 periph A */
187                                         };
188
189                                         pinctrl_usart2_rts: usart2_rts-0 {
190                                                 atmel,pins =
191                                                         <AT91_PIOC 9 AT91_PERIPH_B AT91_PINCTRL_NONE>;  /* PC9 periph B */
192                                         };
193
194                                         pinctrl_usart2_cts: usart2_cts-0 {
195                                                 atmel,pins =
196                                                         <AT91_PIOC 11 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PC11 periph B */
197                                         };
198                                 };
199
200                                 usart3 {
201                                         pinctrl_usart3: usart3-0 {
202                                                 atmel,pins =
203                                                         <AT91_PIOB 8 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PB9 periph A with pullup */
204                                                          AT91_PIOB 9 AT91_PERIPH_A AT91_PINCTRL_NONE>;  /* PB8 periph A */
205                                         };
206
207                                         pinctrl_usart3_rts: usart3_rts-0 {
208                                                 atmel,pins =
209                                                         <AT91_PIOA 23 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PA23 periph B */
210                                         };
211
212                                         pinctrl_usart3_cts: usart3_cts-0 {
213                                                 atmel,pins =
214                                                         <AT91_PIOA 24 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PA24 periph B */
215                                         };
216                                 };
217
218                                 nand {
219                                         pinctrl_nand: nand-0 {
220                                                 atmel,pins =
221                                                         <AT91_PIOC 8 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP      /* PC8 gpio RDY pin pull_up*/
222                                                          AT91_PIOC 14 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>;   /* PC14 gpio enable pin pull_up */
223                                         };
224                                 };
225
226                                 macb {
227                                         pinctrl_macb_rmii: macb_rmii-0 {
228                                                 atmel,pins =
229                                                         <AT91_PIOA 10 AT91_PERIPH_A AT91_PINCTRL_NONE   /* PA10 periph A */
230                                                          AT91_PIOA 11 AT91_PERIPH_A AT91_PINCTRL_NONE   /* PA11 periph A */
231                                                          AT91_PIOA 12 AT91_PERIPH_A AT91_PINCTRL_NONE   /* PA12 periph A */
232                                                          AT91_PIOA 13 AT91_PERIPH_A AT91_PINCTRL_NONE   /* PA13 periph A */
233                                                          AT91_PIOA 14 AT91_PERIPH_A AT91_PINCTRL_NONE   /* PA14 periph A */
234                                                          AT91_PIOA 15 AT91_PERIPH_A AT91_PINCTRL_NONE   /* PA15 periph A */
235                                                          AT91_PIOA 16 AT91_PERIPH_A AT91_PINCTRL_NONE   /* PA16 periph A */
236                                                          AT91_PIOA 17 AT91_PERIPH_A AT91_PINCTRL_NONE   /* PA17 periph A */
237                                                          AT91_PIOA 18 AT91_PERIPH_A AT91_PINCTRL_NONE   /* PA18 periph A */
238                                                          AT91_PIOA 19 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PA19 periph A */
239                                         };
240
241                                         pinctrl_macb_rmii_mii: macb_rmii_mii-0 {
242                                                 atmel,pins =
243                                                         <AT91_PIOA 6 AT91_PERIPH_B AT91_PINCTRL_NONE    /* PA6 periph B */
244                                                          AT91_PIOA 7 AT91_PERIPH_B AT91_PINCTRL_NONE    /* PA7 periph B */
245                                                          AT91_PIOA 8 AT91_PERIPH_B AT91_PINCTRL_NONE    /* PA8 periph B */
246                                                          AT91_PIOA 9 AT91_PERIPH_B AT91_PINCTRL_NONE    /* PA9 periph B */
247                                                          AT91_PIOA 27 AT91_PERIPH_B AT91_PINCTRL_NONE   /* PA27 periph B */
248                                                          AT91_PIOA 28 AT91_PERIPH_B AT91_PINCTRL_NONE   /* PA28 periph B */
249                                                          AT91_PIOA 29 AT91_PERIPH_B AT91_PINCTRL_NONE   /* PA29 periph B */
250                                                          AT91_PIOA 30 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PA30 periph B */
251                                         };
252                                 };
253
254                                 mmc0 {
255                                         pinctrl_mmc0_slot0_clk_cmd_dat0: mmc0_slot0_clk_cmd_dat0-0 {
256                                                 atmel,pins =
257                                                         <AT91_PIOA 0 AT91_PERIPH_A AT91_PINCTRL_NONE    /* PA0 periph A */
258                                                          AT91_PIOA 1 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PA1 periph A with pullup */
259                                                          AT91_PIOA 2 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;       /* PA2 periph A with pullup */
260                                         };
261
262                                         pinctrl_mmc0_slot0_dat1_3: mmc0_slot0_dat1_3-0 {
263                                                 atmel,pins =
264                                                         <AT91_PIOA 3 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PA3 periph A with pullup */
265                                                          AT91_PIOA 4 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PA4 periph A with pullup */
266                                                          AT91_PIOA 5 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;       /* PA5 periph A with pullup */
267                                         };
268
269                                         pinctrl_mmc0_slot0_dat4_7: mmc0_slot0_dat4_7-0 {
270                                                 atmel,pins =
271                                                         <AT91_PIOA 6 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PA6 periph A with pullup */
272                                                          AT91_PIOA 7 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PA7 periph A with pullup */
273                                                          AT91_PIOA 8 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PA8 periph A with pullup */
274                                                          AT91_PIOA 9 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;       /* PA9 periph A with pullup */
275                                         };
276                                 };
277
278                                 mmc1 {
279                                         pinctrl_mmc1_slot0_clk_cmd_dat0: mmc1_slot0_clk_cmd_dat0-0 {
280                                                 atmel,pins =
281                                                         <AT91_PIOA 31 AT91_PERIPH_A AT91_PINCTRL_NONE   /* PA31 periph A */
282                                                          AT91_PIOA 22 AT91_PERIPH_A AT91_PINCTRL_PULL_UP        /* PA22 periph A with pullup */
283                                                          AT91_PIOA 23 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;      /* PA23 periph A with pullup */
284                                         };
285
286                                         pinctrl_mmc1_slot0_dat1_3: mmc1_slot0_dat1_3-0 {
287                                                 atmel,pins =
288                                                         <AT91_PIOA 24 AT91_PERIPH_A AT91_PINCTRL_PULL_UP        /* PA24 periph A with pullup */
289                                                          AT91_PIOA 25 AT91_PERIPH_A AT91_PINCTRL_PULL_UP        /* PA25 periph A with pullup */
290                                                          AT91_PIOA 26 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;      /* PA26 periph A with pullup */
291                                         };
292
293                                         pinctrl_mmc1_slot0_dat4_7: mmc1_slot0_dat4_7-0 {
294                                                 atmel,pins =
295                                                         <AT91_PIOA 27 AT91_PERIPH_A AT91_PINCTRL_PULL_UP        /* PA27 periph A with pullup */
296                                                          AT91_PIOA 28 AT91_PERIPH_A AT91_PINCTRL_PULL_UP        /* PA28 periph A with pullup */
297                                                          AT91_PIOA 29 AT91_PERIPH_A AT91_PINCTRL_PULL_UP        /* PA29 periph A with pullup */
298                                                          AT91_PIOA 20 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;      /* PA30 periph A with pullup */
299                                         };
300                                 };
301
302                                 ssc0 {
303                                         pinctrl_ssc0_tx: ssc0_tx-0 {
304                                                 atmel,pins =
305                                                         <AT91_PIOD 0 AT91_PERIPH_A AT91_PINCTRL_NONE    /* PD0 periph A */
306                                                          AT91_PIOD 1 AT91_PERIPH_A AT91_PINCTRL_NONE    /* PD1 periph A */
307                                                          AT91_PIOD 2 AT91_PERIPH_A AT91_PINCTRL_NONE>;  /* PD2 periph A */
308                                         };
309
310                                         pinctrl_ssc0_rx: ssc0_rx-0 {
311                                                 atmel,pins =
312                                                         <AT91_PIOD 3 AT91_PERIPH_A AT91_PINCTRL_NONE    /* PD3 periph A */
313                                                          AT91_PIOD 4 AT91_PERIPH_A AT91_PINCTRL_NONE    /* PD4 periph A */
314                                                          AT91_PIOD 5 AT91_PERIPH_A AT91_PINCTRL_NONE>;  /* PD5 periph A */
315                                         };
316                                 };
317
318                                 ssc1 {
319                                         pinctrl_ssc1_tx: ssc1_tx-0 {
320                                                 atmel,pins =
321                                                         <AT91_PIOD 10 AT91_PERIPH_A AT91_PINCTRL_NONE   /* PD10 periph A */
322                                                          AT91_PIOD 11 AT91_PERIPH_A AT91_PINCTRL_NONE   /* PD11 periph A */
323                                                          AT91_PIOD 12 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PD12 periph A */
324                                         };
325
326                                         pinctrl_ssc1_rx: ssc1_rx-0 {
327                                                 atmel,pins =
328                                                         <AT91_PIOD 13 AT91_PERIPH_A AT91_PINCTRL_NONE   /* PD13 periph A */
329                                                          AT91_PIOD 14 AT91_PERIPH_A AT91_PINCTRL_NONE   /* PD14 periph A */
330                                                          AT91_PIOD 15 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PD15 periph A */
331                                         };
332                                 };
333
334                                 spi0 {
335                                         pinctrl_spi0: spi0-0 {
336                                                 atmel,pins =
337                                                         <AT91_PIOB 0 AT91_PERIPH_A AT91_PINCTRL_NONE    /* PB0 periph A SPI0_MISO pin */
338                                                          AT91_PIOB 1 AT91_PERIPH_A AT91_PINCTRL_NONE    /* PB1 periph A SPI0_MOSI pin */
339                                                          AT91_PIOB 2 AT91_PERIPH_A AT91_PINCTRL_NONE>;  /* PB2 periph A SPI0_SPCK pin */
340                                         };
341                                 };
342
343                                 spi1 {
344                                         pinctrl_spi1: spi1-0 {
345                                                 atmel,pins =
346                                                         <AT91_PIOB 14 AT91_PERIPH_A AT91_PINCTRL_NONE   /* PB14 periph A SPI1_MISO pin */
347                                                          AT91_PIOB 15 AT91_PERIPH_A AT91_PINCTRL_NONE   /* PB15 periph A SPI1_MOSI pin */
348                                                          AT91_PIOB 16 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PB16 periph A SPI1_SPCK pin */
349                                         };
350                                 };
351
352                                 tcb0 {
353                                         pinctrl_tcb0_tclk0: tcb0_tclk0-0 {
354                                                 atmel,pins = <AT91_PIOD 23 AT91_PERIPH_A AT91_PINCTRL_NONE>;
355                                         };
356
357                                         pinctrl_tcb0_tclk1: tcb0_tclk1-0 {
358                                                 atmel,pins = <AT91_PIOD 29 AT91_PERIPH_A AT91_PINCTRL_NONE>;
359                                         };
360
361                                         pinctrl_tcb0_tclk2: tcb0_tclk2-0 {
362                                                 atmel,pins = <AT91_PIOC 10 AT91_PERIPH_B AT91_PINCTRL_NONE>;
363                                         };
364
365                                         pinctrl_tcb0_tioa0: tcb0_tioa0-0 {
366                                                 atmel,pins = <AT91_PIOD 20 AT91_PERIPH_A AT91_PINCTRL_NONE>;
367                                         };
368
369                                         pinctrl_tcb0_tioa1: tcb0_tioa1-0 {
370                                                 atmel,pins = <AT91_PIOD 21 AT91_PERIPH_A AT91_PINCTRL_NONE>;
371                                         };
372
373                                         pinctrl_tcb0_tioa2: tcb0_tioa2-0 {
374                                                 atmel,pins = <AT91_PIOD 22 AT91_PERIPH_A AT91_PINCTRL_NONE>;
375                                         };
376
377                                         pinctrl_tcb0_tiob0: tcb0_tiob0-0 {
378                                                 atmel,pins = <AT91_PIOD 30 AT91_PERIPH_A AT91_PINCTRL_NONE>;
379                                         };
380
381                                         pinctrl_tcb0_tiob1: tcb0_tiob1-0 {
382                                                 atmel,pins = <AT91_PIOD 31 AT91_PERIPH_A AT91_PINCTRL_NONE>;
383                                         };
384
385                                         pinctrl_tcb0_tiob2: tcb0_tiob2-0 {
386                                                 atmel,pins = <AT91_PIOA 26 AT91_PERIPH_B AT91_PINCTRL_NONE>;
387                                         };
388                                 };
389
390                                 tcb1 {
391                                         pinctrl_tcb1_tclk0: tcb1_tclk0-0 {
392                                                 atmel,pins = <AT91_PIOA 0 AT91_PERIPH_B AT91_PINCTRL_NONE>;
393                                         };
394
395                                         pinctrl_tcb1_tclk1: tcb1_tclk1-0 {
396                                                 atmel,pins = <AT91_PIOA 3 AT91_PERIPH_B AT91_PINCTRL_NONE>;
397                                         };
398
399                                         pinctrl_tcb1_tclk2: tcb1_tclk2-0 {
400                                                 atmel,pins = <AT91_PIOD 9 AT91_PERIPH_B AT91_PINCTRL_NONE>;
401                                         };
402
403                                         pinctrl_tcb1_tioa0: tcb1_tioa0-0 {
404                                                 atmel,pins = <AT91_PIOA 1 AT91_PERIPH_B AT91_PINCTRL_NONE>;
405                                         };
406
407                                         pinctrl_tcb1_tioa1: tcb1_tioa1-0 {
408                                                 atmel,pins = <AT91_PIOA 4 AT91_PERIPH_B AT91_PINCTRL_NONE>;
409                                         };
410
411                                         pinctrl_tcb1_tioa2: tcb1_tioa2-0 {
412                                                 atmel,pins = <AT91_PIOD 7 AT91_PERIPH_B AT91_PINCTRL_NONE>;
413                                         };
414
415                                         pinctrl_tcb1_tiob0: tcb1_tiob0-0 {
416                                                 atmel,pins = <AT91_PIOA 2 AT91_PERIPH_B AT91_PINCTRL_NONE>;
417                                         };
418
419                                         pinctrl_tcb1_tiob1: tcb1_tiob1-0 {
420                                                 atmel,pins = <AT91_PIOA 5 AT91_PERIPH_B AT91_PINCTRL_NONE>;
421                                         };
422
423                                         pinctrl_tcb1_tiob2: tcb1_tiob2-0 {
424                                                 atmel,pins = <AT91_PIOD 8 AT91_PERIPH_B AT91_PINCTRL_NONE>;
425                                         };
426                                 };
427
428                                 pioA: gpio@fffff200 {
429                                         compatible = "atmel,at91rm9200-gpio";
430                                         reg = <0xfffff200 0x200>;
431                                         interrupts = <2 IRQ_TYPE_LEVEL_HIGH 1>;
432                                         #gpio-cells = <2>;
433                                         gpio-controller;
434                                         interrupt-controller;
435                                         #interrupt-cells = <2>;
436                                 };
437
438                                 pioB: gpio@fffff400 {
439                                         compatible = "atmel,at91rm9200-gpio";
440                                         reg = <0xfffff400 0x200>;
441                                         interrupts = <3 IRQ_TYPE_LEVEL_HIGH 1>;
442                                         #gpio-cells = <2>;
443                                         gpio-controller;
444                                         interrupt-controller;
445                                         #interrupt-cells = <2>;
446                                 };
447
448                                 pioC: gpio@fffff600 {
449                                         compatible = "atmel,at91rm9200-gpio";
450                                         reg = <0xfffff600 0x200>;
451                                         interrupts = <4 IRQ_TYPE_LEVEL_HIGH 1>;
452                                         #gpio-cells = <2>;
453                                         gpio-controller;
454                                         interrupt-controller;
455                                         #interrupt-cells = <2>;
456                                 };
457
458                                 pioD: gpio@fffff800 {
459                                         compatible = "atmel,at91rm9200-gpio";
460                                         reg = <0xfffff800 0x200>;
461                                         interrupts = <5 IRQ_TYPE_LEVEL_HIGH 1>;
462                                         #gpio-cells = <2>;
463                                         gpio-controller;
464                                         interrupt-controller;
465                                         #interrupt-cells = <2>;
466                                 };
467
468                                 pioE: gpio@fffffa00 {
469                                         compatible = "atmel,at91rm9200-gpio";
470                                         reg = <0xfffffa00 0x200>;
471                                         interrupts = <5 IRQ_TYPE_LEVEL_HIGH 1>;
472                                         #gpio-cells = <2>;
473                                         gpio-controller;
474                                         interrupt-controller;
475                                         #interrupt-cells = <2>;
476                                 };
477                         };
478
479                         dbgu: serial@ffffee00 {
480                                 compatible = "atmel,at91sam9260-usart";
481                                 reg = <0xffffee00 0x200>;
482                                 interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>;
483                                 pinctrl-names = "default";
484                                 pinctrl-0 = <&pinctrl_dbgu>;
485                                 status = "disabled";
486                         };
487
488                         usart0: serial@fff8c000 {
489                                 compatible = "atmel,at91sam9260-usart";
490                                 reg = <0xfff8c000 0x200>;
491                                 interrupts = <7 IRQ_TYPE_LEVEL_HIGH 5>;
492                                 atmel,use-dma-rx;
493                                 atmel,use-dma-tx;
494                                 pinctrl-names = "default";
495                                 pinctrl-0 = <&pinctrl_usart0>;
496                                 status = "disabled";
497                         };
498
499                         usart1: serial@fff90000 {
500                                 compatible = "atmel,at91sam9260-usart";
501                                 reg = <0xfff90000 0x200>;
502                                 interrupts = <8 IRQ_TYPE_LEVEL_HIGH 5>;
503                                 atmel,use-dma-rx;
504                                 atmel,use-dma-tx;
505                                 pinctrl-names = "default";
506                                 pinctrl-0 = <&pinctrl_usart1>;
507                                 status = "disabled";
508                         };
509
510                         usart2: serial@fff94000 {
511                                 compatible = "atmel,at91sam9260-usart";
512                                 reg = <0xfff94000 0x200>;
513                                 interrupts = <9 IRQ_TYPE_LEVEL_HIGH 5>;
514                                 atmel,use-dma-rx;
515                                 atmel,use-dma-tx;
516                                 pinctrl-names = "default";
517                                 pinctrl-0 = <&pinctrl_usart2>;
518                                 status = "disabled";
519                         };
520
521                         usart3: serial@fff98000 {
522                                 compatible = "atmel,at91sam9260-usart";
523                                 reg = <0xfff98000 0x200>;
524                                 interrupts = <10 IRQ_TYPE_LEVEL_HIGH 5>;
525                                 atmel,use-dma-rx;
526                                 atmel,use-dma-tx;
527                                 pinctrl-names = "default";
528                                 pinctrl-0 = <&pinctrl_usart3>;
529                                 status = "disabled";
530                         };
531
532                         macb0: ethernet@fffbc000 {
533                                 compatible = "cdns,at32ap7000-macb", "cdns,macb";
534                                 reg = <0xfffbc000 0x100>;
535                                 interrupts = <25 IRQ_TYPE_LEVEL_HIGH 3>;
536                                 pinctrl-names = "default";
537                                 pinctrl-0 = <&pinctrl_macb_rmii>;
538                                 status = "disabled";
539                         };
540
541                         i2c0: i2c@fff84000 {
542                                 compatible = "atmel,at91sam9g10-i2c";
543                                 reg = <0xfff84000 0x100>;
544                                 interrupts = <12 IRQ_TYPE_LEVEL_HIGH 6>;
545                                 #address-cells = <1>;
546                                 #size-cells = <0>;
547                                 status = "disabled";
548                         };
549
550                         i2c1: i2c@fff88000 {
551                                 compatible = "atmel,at91sam9g10-i2c";
552                                 reg = <0xfff88000 0x100>;
553                                 interrupts = <13 IRQ_TYPE_LEVEL_HIGH 6>;
554                                 #address-cells = <1>;
555                                 #size-cells = <0>;
556                                 status = "disabled";
557                         };
558
559                         ssc0: ssc@fff9c000 {
560                                 compatible = "atmel,at91sam9g45-ssc";
561                                 reg = <0xfff9c000 0x4000>;
562                                 interrupts = <16 IRQ_TYPE_LEVEL_HIGH 5>;
563                                 pinctrl-names = "default";
564                                 pinctrl-0 = <&pinctrl_ssc0_tx &pinctrl_ssc0_rx>;
565                                 status = "disabled";
566                         };
567
568                         ssc1: ssc@fffa0000 {
569                                 compatible = "atmel,at91sam9g45-ssc";
570                                 reg = <0xfffa0000 0x4000>;
571                                 interrupts = <17 IRQ_TYPE_LEVEL_HIGH 5>;
572                                 pinctrl-names = "default";
573                                 pinctrl-0 = <&pinctrl_ssc1_tx &pinctrl_ssc1_rx>;
574                                 status = "disabled";
575                         };
576
577                         adc0: adc@fffb0000 {
578                                 compatible = "atmel,at91sam9260-adc";
579                                 reg = <0xfffb0000 0x100>;
580                                 interrupts = <20 IRQ_TYPE_LEVEL_HIGH 0>;
581                                 atmel,adc-use-external-triggers;
582                                 atmel,adc-channels-used = <0xff>;
583                                 atmel,adc-vref = <3300>;
584                                 atmel,adc-num-channels = <8>;
585                                 atmel,adc-startup-time = <40>;
586                                 atmel,adc-channel-base = <0x30>;
587                                 atmel,adc-drdy-mask = <0x10000>;
588                                 atmel,adc-status-register = <0x1c>;
589                                 atmel,adc-trigger-register = <0x08>;
590                                 atmel,adc-res = <8 10>;
591                                 atmel,adc-res-names = "lowres", "highres";
592                                 atmel,adc-use-res = "highres";
593
594                                 trigger@0 {
595                                         trigger-name = "external-rising";
596                                         trigger-value = <0x1>;
597                                         trigger-external;
598                                 };
599                                 trigger@1 {
600                                         trigger-name = "external-falling";
601                                         trigger-value = <0x2>;
602                                         trigger-external;
603                                 };
604
605                                 trigger@2 {
606                                         trigger-name = "external-any";
607                                         trigger-value = <0x3>;
608                                         trigger-external;
609                                 };
610
611                                 trigger@3 {
612                                         trigger-name = "continuous";
613                                         trigger-value = <0x6>;
614                                 };
615                         };
616
617                         mmc0: mmc@fff80000 {
618                                 compatible = "atmel,hsmci";
619                                 reg = <0xfff80000 0x600>;
620                                 interrupts = <11 IRQ_TYPE_LEVEL_HIGH 0>;
621                                 dmas = <&dma 1 AT91_DMA_CFG_PER_ID(0)>;
622                                 dma-names = "rxtx";
623                                 #address-cells = <1>;
624                                 #size-cells = <0>;
625                                 status = "disabled";
626                         };
627
628                         mmc1: mmc@fffd0000 {
629                                 compatible = "atmel,hsmci";
630                                 reg = <0xfffd0000 0x600>;
631                                 interrupts = <29 IRQ_TYPE_LEVEL_HIGH 0>;
632                                 dmas = <&dma 1 AT91_DMA_CFG_PER_ID(13)>;
633                                 dma-names = "rxtx";
634                                 #address-cells = <1>;
635                                 #size-cells = <0>;
636                                 status = "disabled";
637                         };
638
639                         watchdog@fffffd40 {
640                                 compatible = "atmel,at91sam9260-wdt";
641                                 reg = <0xfffffd40 0x10>;
642                                 status = "disabled";
643                         };
644
645                         spi0: spi@fffa4000 {
646                                 #address-cells = <1>;
647                                 #size-cells = <0>;
648                                 compatible = "atmel,at91rm9200-spi";
649                                 reg = <0xfffa4000 0x200>;
650                                 interrupts = <14 4 3>;
651                                 pinctrl-names = "default";
652                                 pinctrl-0 = <&pinctrl_spi0>;
653                                 status = "disabled";
654                         };
655
656                         spi1: spi@fffa8000 {
657                                 #address-cells = <1>;
658                                 #size-cells = <0>;
659                                 compatible = "atmel,at91rm9200-spi";
660                                 reg = <0xfffa8000 0x200>;
661                                 interrupts = <15 4 3>;
662                                 pinctrl-names = "default";
663                                 pinctrl-0 = <&pinctrl_spi1>;
664                                 status = "disabled";
665                         };
666
667                         usb2: gadget@fff78000 {
668                                 #address-cells = <1>;
669                                 #size-cells = <0>;
670                                 compatible = "atmel,at91sam9rl-udc";
671                                 reg = <0x00600000 0x80000
672                                        0xfff78000 0x400>;
673                                 interrupts = <27 IRQ_TYPE_LEVEL_HIGH 0>;
674                                 status = "disabled";
675
676                                 ep0 {
677                                         reg = <0>;
678                                         atmel,fifo-size = <64>;
679                                         atmel,nb-banks = <1>;
680                                 };
681
682                                 ep1 {
683                                         reg = <1>;
684                                         atmel,fifo-size = <1024>;
685                                         atmel,nb-banks = <2>;
686                                         atmel,can-dma;
687                                         atmel,can-isoc;
688                                 };
689
690                                 ep2 {
691                                         reg = <2>;
692                                         atmel,fifo-size = <1024>;
693                                         atmel,nb-banks = <2>;
694                                         atmel,can-dma;
695                                         atmel,can-isoc;
696                                 };
697
698                                 ep3 {
699                                         reg = <3>;
700                                         atmel,fifo-size = <1024>;
701                                         atmel,nb-banks = <3>;
702                                         atmel,can-dma;
703                                 };
704
705                                 ep4 {
706                                         reg = <4>;
707                                         atmel,fifo-size = <1024>;
708                                         atmel,nb-banks = <3>;
709                                         atmel,can-dma;
710                                 };
711
712                                 ep5 {
713                                         reg = <5>;
714                                         atmel,fifo-size = <1024>;
715                                         atmel,nb-banks = <3>;
716                                         atmel,can-dma;
717                                         atmel,can-isoc;
718                                 };
719
720                                 ep6 {
721                                         reg = <6>;
722                                         atmel,fifo-size = <1024>;
723                                         atmel,nb-banks = <3>;
724                                         atmel,can-dma;
725                                         atmel,can-isoc;
726                                 };
727                         };
728                 };
729
730                 nand0: nand@40000000 {
731                         compatible = "atmel,at91rm9200-nand";
732                         #address-cells = <1>;
733                         #size-cells = <1>;
734                         reg = <0x40000000 0x10000000
735                                0xffffe200 0x200
736                               >;
737                         atmel,nand-addr-offset = <21>;
738                         atmel,nand-cmd-offset = <22>;
739                         pinctrl-names = "default";
740                         pinctrl-0 = <&pinctrl_nand>;
741                         gpios = <&pioC 8 GPIO_ACTIVE_HIGH
742                                  &pioC 14 GPIO_ACTIVE_HIGH
743                                  0
744                                 >;
745                         status = "disabled";
746                 };
747
748                 usb0: ohci@00700000 {
749                         compatible = "atmel,at91rm9200-ohci", "usb-ohci";
750                         reg = <0x00700000 0x100000>;
751                         interrupts = <22 IRQ_TYPE_LEVEL_HIGH 2>;
752                         status = "disabled";
753                 };
754
755                 usb1: ehci@00800000 {
756                         compatible = "atmel,at91sam9g45-ehci", "usb-ehci";
757                         reg = <0x00800000 0x100000>;
758                         interrupts = <22 IRQ_TYPE_LEVEL_HIGH 2>;
759                         status = "disabled";
760                 };
761         };
762
763         i2c@0 {
764                 compatible = "i2c-gpio";
765                 gpios = <&pioA 20 GPIO_ACTIVE_HIGH /* sda */
766                          &pioA 21 GPIO_ACTIVE_HIGH /* scl */
767                         >;
768                 i2c-gpio,sda-open-drain;
769                 i2c-gpio,scl-open-drain;
770                 i2c-gpio,delay-us = <5>;        /* ~100 kHz */
771                 #address-cells = <1>;
772                 #size-cells = <0>;
773                 status = "disabled";
774         };
775 };