Merge branch 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
[sfrench/cifs-2.6.git] / arch / arm / boot / dts / at91sam9260.dtsi
1 // SPDX-License-Identifier: GPL-2.0-or-later
2 /*
3  * at91sam9260.dtsi - Device Tree Include file for AT91SAM9260 family SoC
4  *
5  *  Copyright (C) 2011 Atmel,
6  *                2011 Nicolas Ferre <nicolas.ferre@atmel.com>,
7  *                2011 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
8  */
9
10 #include <dt-bindings/pinctrl/at91.h>
11 #include <dt-bindings/interrupt-controller/irq.h>
12 #include <dt-bindings/gpio/gpio.h>
13 #include <dt-bindings/clock/at91.h>
14
15 / {
16         #address-cells = <1>;
17         #size-cells = <1>;
18         model = "Atmel AT91SAM9260 family SoC";
19         compatible = "atmel,at91sam9260";
20         interrupt-parent = <&aic>;
21
22         aliases {
23                 serial0 = &dbgu;
24                 serial1 = &usart0;
25                 serial2 = &usart1;
26                 serial3 = &usart2;
27                 serial4 = &usart3;
28                 serial5 = &uart0;
29                 serial6 = &uart1;
30                 gpio0 = &pioA;
31                 gpio1 = &pioB;
32                 gpio2 = &pioC;
33                 tcb0 = &tcb0;
34                 tcb1 = &tcb1;
35                 i2c0 = &i2c0;
36                 ssc0 = &ssc0;
37         };
38         cpus {
39                 #address-cells = <0>;
40                 #size-cells = <0>;
41
42                 cpu {
43                         compatible = "arm,arm926ej-s";
44                         device_type = "cpu";
45                 };
46         };
47
48         memory {
49                 device_type = "memory";
50                 reg = <0x20000000 0x04000000>;
51         };
52
53         clocks {
54                 slow_xtal: slow_xtal {
55                         compatible = "fixed-clock";
56                         #clock-cells = <0>;
57                         clock-frequency = <0>;
58                 };
59
60                 main_xtal: main_xtal {
61                         compatible = "fixed-clock";
62                         #clock-cells = <0>;
63                         clock-frequency = <0>;
64                 };
65
66                 adc_op_clk: adc_op_clk{
67                         compatible = "fixed-clock";
68                         #clock-cells = <0>;
69                         clock-frequency = <5000000>;
70                 };
71         };
72
73         sram0: sram@2ff000 {
74                 compatible = "mmio-sram";
75                 reg = <0x002ff000 0x2000>;
76         };
77
78         ahb {
79                 compatible = "simple-bus";
80                 #address-cells = <1>;
81                 #size-cells = <1>;
82                 ranges;
83
84                 apb {
85                         compatible = "simple-bus";
86                         #address-cells = <1>;
87                         #size-cells = <1>;
88                         ranges;
89
90                         aic: interrupt-controller@fffff000 {
91                                 #interrupt-cells = <3>;
92                                 compatible = "atmel,at91rm9200-aic";
93                                 interrupt-controller;
94                                 reg = <0xfffff000 0x200>;
95                                 atmel,external-irqs = <29 30 31>;
96                         };
97
98                         ramc0: ramc@ffffea00 {
99                                 compatible = "atmel,at91sam9260-sdramc";
100                                 reg = <0xffffea00 0x200>;
101                         };
102
103                         smc: smc@ffffec00 {
104                                 compatible = "atmel,at91sam9260-smc", "syscon";
105                                 reg = <0xffffec00 0x200>;
106                         };
107
108                         matrix: matrix@ffffee00 {
109                                 compatible = "atmel,at91sam9260-matrix", "syscon";
110                                 reg = <0xffffee00 0x200>;
111                         };
112
113                         pmc: pmc@fffffc00 {
114                                 compatible = "atmel,at91sam9260-pmc", "syscon";
115                                 reg = <0xfffffc00 0x100>;
116                                 interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>;
117                                 #clock-cells = <2>;
118                                 clocks = <&slow_xtal>, <&main_xtal>;
119                                 clock-names = "slow_xtal", "main_xtal";
120                         };
121
122                         rstc@fffffd00 {
123                                 compatible = "atmel,at91sam9260-rstc";
124                                 reg = <0xfffffd00 0x10>;
125                                 clocks = <&pmc PMC_TYPE_CORE PMC_SLOW>;
126                         };
127
128                         shdwc@fffffd10 {
129                                 compatible = "atmel,at91sam9260-shdwc";
130                                 reg = <0xfffffd10 0x10>;
131                                 clocks = <&pmc PMC_TYPE_CORE PMC_SLOW>;
132                         };
133
134                         pit: timer@fffffd30 {
135                                 compatible = "atmel,at91sam9260-pit";
136                                 reg = <0xfffffd30 0xf>;
137                                 interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>;
138                                 clocks = <&pmc PMC_TYPE_CORE PMC_MCK>;
139                         };
140
141                         tcb0: timer@fffa0000 {
142                                 compatible = "atmel,at91rm9200-tcb", "simple-mfd", "syscon";
143                                 #address-cells = <1>;
144                                 #size-cells = <0>;
145                                 reg = <0xfffa0000 0x100>;
146                                 interrupts = <17 IRQ_TYPE_LEVEL_HIGH 0
147                                               18 IRQ_TYPE_LEVEL_HIGH 0
148                                               19 IRQ_TYPE_LEVEL_HIGH 0>;
149                                 clocks = <&pmc PMC_TYPE_PERIPHERAL 17>, <&pmc PMC_TYPE_PERIPHERAL 18>, <&pmc PMC_TYPE_PERIPHERAL 19>, <&pmc PMC_TYPE_CORE PMC_SLOW>;
150                                 clock-names = "t0_clk", "t1_clk", "t2_clk", "slow_clk";
151                         };
152
153                         tcb1: timer@fffdc000 {
154                                 compatible = "atmel,at91rm9200-tcb", "simple-mfd", "syscon";
155                                 #address-cells = <1>;
156                                 #size-cells = <0>;
157                                 reg = <0xfffdc000 0x100>;
158                                 interrupts = <26 IRQ_TYPE_LEVEL_HIGH 0
159                                               27 IRQ_TYPE_LEVEL_HIGH 0
160                                               28 IRQ_TYPE_LEVEL_HIGH 0>;
161                                 clocks = <&pmc PMC_TYPE_PERIPHERAL 26>, <&pmc PMC_TYPE_PERIPHERAL 27>, <&pmc PMC_TYPE_PERIPHERAL 28>, <&pmc PMC_TYPE_CORE PMC_SLOW>;
162                                 clock-names = "t0_clk", "t1_clk", "t2_clk", "slow_clk";
163                         };
164
165                         pinctrl@fffff400 {
166                                 #address-cells = <1>;
167                                 #size-cells = <1>;
168                                 compatible = "atmel,at91rm9200-pinctrl", "simple-bus";
169                                 ranges = <0xfffff400 0xfffff400 0x600>;
170
171                                 atmel,mux-mask = <
172                                       /*    A         B     */
173                                        0xffffffff 0xffc00c3b  /* pioA */
174                                        0xffffffff 0x7fff3ccf  /* pioB */
175                                        0xffffffff 0x007fffff  /* pioC */
176                                       >;
177
178                                 /* shared pinctrl settings */
179                                 dbgu {
180                                         pinctrl_dbgu: dbgu-0 {
181                                                 atmel,pins =
182                                                         <AT91_PIOB 14 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
183                                                          AT91_PIOB 15 AT91_PERIPH_A AT91_PINCTRL_NONE>;
184                                         };
185                                 };
186
187                                 usart0 {
188                                         pinctrl_usart0: usart0-0 {
189                                                 atmel,pins =
190                                                         <AT91_PIOB 4 AT91_PERIPH_A AT91_PINCTRL_NONE
191                                                          AT91_PIOB 5 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
192                                         };
193
194                                         pinctrl_usart0_rts: usart0_rts-0 {
195                                                 atmel,pins =
196                                                         <AT91_PIOB 26 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PB26 periph A */
197                                         };
198
199                                         pinctrl_usart0_cts: usart0_cts-0 {
200                                                 atmel,pins =
201                                                         <AT91_PIOB 27 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PB27 periph A */
202                                         };
203
204                                         pinctrl_usart0_dtr_dsr: usart0_dtr_dsr-0 {
205                                                 atmel,pins =
206                                                         <AT91_PIOB 24 AT91_PERIPH_A AT91_PINCTRL_NONE   /* PB24 periph A */
207                                                          AT91_PIOB 22 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PB22 periph A */
208                                         };
209
210                                         pinctrl_usart0_dcd: usart0_dcd-0 {
211                                                 atmel,pins =
212                                                         <AT91_PIOB 23 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PB23 periph A */
213                                         };
214
215                                         pinctrl_usart0_ri: usart0_ri-0 {
216                                                 atmel,pins =
217                                                         <AT91_PIOB 25 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PB25 periph A */
218                                         };
219                                 };
220
221                                 usart1 {
222                                         pinctrl_usart1: usart1-0 {
223                                                 atmel,pins =
224                                                         <AT91_PIOB 6 AT91_PERIPH_A AT91_PINCTRL_NONE
225                                                          AT91_PIOB 7 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
226                                         };
227
228                                         pinctrl_usart1_rts: usart1_rts-0 {
229                                                 atmel,pins =
230                                                         <AT91_PIOB 28 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PB28 periph A */
231                                         };
232
233                                         pinctrl_usart1_cts: usart1_cts-0 {
234                                                 atmel,pins =
235                                                         <AT91_PIOB 29 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PB29 periph A */
236                                         };
237                                 };
238
239                                 usart2 {
240                                         pinctrl_usart2: usart2-0 {
241                                                 atmel,pins =
242                                                         <AT91_PIOB 8 AT91_PERIPH_A AT91_PINCTRL_NONE
243                                                          AT91_PIOB 9 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
244                                         };
245
246                                         pinctrl_usart2_rts: usart2_rts-0 {
247                                                 atmel,pins =
248                                                         <AT91_PIOA 4 AT91_PERIPH_A AT91_PINCTRL_NONE>;  /* PA4 periph A */
249                                         };
250
251                                         pinctrl_usart2_cts: usart2_cts-0 {
252                                                 atmel,pins =
253                                                         <AT91_PIOA 5 AT91_PERIPH_A AT91_PINCTRL_NONE>;  /* PA5 periph A */
254                                         };
255                                 };
256
257                                 usart3 {
258                                         pinctrl_usart3: usart3-0 {
259                                                 atmel,pins =
260                                                         <AT91_PIOB 10 AT91_PERIPH_A AT91_PINCTRL_NONE
261                                                          AT91_PIOB 11 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
262                                         };
263
264                                         pinctrl_usart3_rts: usart3_rts-0 {
265                                                 atmel,pins =
266                                                         <AT91_PIOC 8 AT91_PERIPH_B AT91_PINCTRL_NONE>;
267                                         };
268
269                                         pinctrl_usart3_cts: usart3_cts-0 {
270                                                 atmel,pins =
271                                                         <AT91_PIOC 10 AT91_PERIPH_B AT91_PINCTRL_NONE>;
272                                         };
273                                 };
274
275                                 uart0 {
276                                         pinctrl_uart0: uart0-0 {
277                                                 atmel,pins =
278                                                         <AT91_PIOA 31 AT91_PERIPH_B AT91_PINCTRL_NONE
279                                                          AT91_PIOA 30 AT91_PERIPH_B AT91_PINCTRL_PULL_UP>;
280                                         };
281                                 };
282
283                                 uart1 {
284                                         pinctrl_uart1: uart1-0 {
285                                                 atmel,pins =
286                                                         <AT91_PIOB 12 AT91_PERIPH_A AT91_PINCTRL_NONE
287                                                          AT91_PIOB 13 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
288                                         };
289                                 };
290
291                                 nand {
292                                         pinctrl_nand_rb: nand-rb-0 {
293                                                 atmel,pins =
294                                                         <AT91_PIOC 13 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>;
295                                         };
296
297                                         pinctrl_nand_cs: nand-cs-0 {
298                                                 atmel,pins =
299                                                          <AT91_PIOC 14 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>;
300                                         };
301                                 };
302
303                                 macb {
304                                         pinctrl_macb_rmii: macb_rmii-0 {
305                                                 atmel,pins =
306                                                         <AT91_PIOA 12 AT91_PERIPH_A AT91_PINCTRL_NONE   /* PA12 periph A */
307                                                          AT91_PIOA 13 AT91_PERIPH_A AT91_PINCTRL_NONE   /* PA13 periph A */
308                                                          AT91_PIOA 14 AT91_PERIPH_A AT91_PINCTRL_NONE   /* PA14 periph A */
309                                                          AT91_PIOA 15 AT91_PERIPH_A AT91_PINCTRL_NONE   /* PA15 periph A */
310                                                          AT91_PIOA 16 AT91_PERIPH_A AT91_PINCTRL_NONE   /* PA16 periph A */
311                                                          AT91_PIOA 17 AT91_PERIPH_A AT91_PINCTRL_NONE   /* PA17 periph A */
312                                                          AT91_PIOA 18 AT91_PERIPH_A AT91_PINCTRL_NONE   /* PA18 periph A */
313                                                          AT91_PIOA 19 AT91_PERIPH_A AT91_PINCTRL_NONE   /* PA19 periph A */
314                                                          AT91_PIOA 20 AT91_PERIPH_A AT91_PINCTRL_NONE   /* PA20 periph A */
315                                                          AT91_PIOA 21 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PA21 periph A */
316                                         };
317
318                                         pinctrl_macb_rmii_mii: macb_rmii_mii-0 {
319                                                 atmel,pins =
320                                                         <AT91_PIOA 22 AT91_PERIPH_B AT91_PINCTRL_NONE   /* PA22 periph B */
321                                                          AT91_PIOA 23 AT91_PERIPH_B AT91_PINCTRL_NONE   /* PA23 periph B */
322                                                          AT91_PIOA 24 AT91_PERIPH_B AT91_PINCTRL_NONE   /* PA24 periph B */
323                                                          AT91_PIOA 25 AT91_PERIPH_B AT91_PINCTRL_NONE   /* PA25 periph B */
324                                                          AT91_PIOA 26 AT91_PERIPH_B AT91_PINCTRL_NONE   /* PA26 periph B */
325                                                          AT91_PIOA 27 AT91_PERIPH_B AT91_PINCTRL_NONE   /* PA27 periph B */
326                                                          AT91_PIOA 28 AT91_PERIPH_B AT91_PINCTRL_NONE   /* PA28 periph B */
327                                                          AT91_PIOA 29 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PA29 periph B */
328                                         };
329
330                                         pinctrl_macb_rmii_mii_alt: macb_rmii_mii-1 {
331                                                 atmel,pins =
332                                                         <AT91_PIOA 10 AT91_PERIPH_B AT91_PINCTRL_NONE   /* PA10 periph B */
333                                                          AT91_PIOA 11 AT91_PERIPH_B AT91_PINCTRL_NONE   /* PA11 periph B */
334                                                          AT91_PIOA 22 AT91_PERIPH_B AT91_PINCTRL_NONE   /* PA22 periph B */
335                                                          AT91_PIOA 25 AT91_PERIPH_B AT91_PINCTRL_NONE   /* PA25 periph B */
336                                                          AT91_PIOA 26 AT91_PERIPH_B AT91_PINCTRL_NONE   /* PA26 periph B */
337                                                          AT91_PIOA 27 AT91_PERIPH_B AT91_PINCTRL_NONE   /* PA27 periph B */
338                                                          AT91_PIOA 28 AT91_PERIPH_B AT91_PINCTRL_NONE   /* PA28 periph B */
339                                                          AT91_PIOA 29 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PA29 periph B */
340                                         };
341                                 };
342
343                                 mmc0 {
344                                         pinctrl_mmc0_clk: mmc0_clk-0 {
345                                                 atmel,pins =
346                                                         <AT91_PIOA 8 AT91_PERIPH_A AT91_PINCTRL_NONE>;  /* PA8 periph A */
347                                         };
348
349                                         pinctrl_mmc0_slot0_cmd_dat0: mmc0_slot0_cmd_dat0-0 {
350                                                 atmel,pins =
351                                                         <AT91_PIOA 7 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PA7 periph A with pullup */
352                                                          AT91_PIOA 6 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;       /* PA6 periph A with pullup */
353                                         };
354
355                                         pinctrl_mmc0_slot0_dat1_3: mmc0_slot0_dat1_3-0 {
356                                                 atmel,pins =
357                                                         <AT91_PIOA 9 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PA9 periph A with pullup */
358                                                          AT91_PIOA 10 AT91_PERIPH_A AT91_PINCTRL_PULL_UP        /* PA10 periph A with pullup */
359                                                          AT91_PIOA 11 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;      /* PA11 periph A with pullup */
360                                         };
361
362                                         pinctrl_mmc0_slot1_cmd_dat0: mmc0_slot1_cmd_dat0-0 {
363                                                 atmel,pins =
364                                                         <AT91_PIOA 1 AT91_PERIPH_B AT91_PINCTRL_PULL_UP /* PA1 periph B with pullup */
365                                                          AT91_PIOA 0 AT91_PERIPH_B AT91_PINCTRL_PULL_UP>;       /* PA0 periph B with pullup */
366                                         };
367
368                                         pinctrl_mmc0_slot1_dat1_3: mmc0_slot1_dat1_3-0 {
369                                                 atmel,pins =
370                                                         <AT91_PIOA 5 AT91_PERIPH_B AT91_PINCTRL_PULL_UP /* PA5 periph B with pullup */
371                                                          AT91_PIOA 4 AT91_PERIPH_B AT91_PINCTRL_PULL_UP /* PA4 periph B with pullup */
372                                                          AT91_PIOA 3 AT91_PERIPH_B AT91_PINCTRL_PULL_UP>;       /* PA3 periph B with pullup */
373                                         };
374                                 };
375
376                                 ssc0 {
377                                         pinctrl_ssc0_tx: ssc0_tx-0 {
378                                                 atmel,pins =
379                                                         <AT91_PIOB 16 AT91_PERIPH_A AT91_PINCTRL_NONE   /* PB16 periph A */
380                                                          AT91_PIOB 17 AT91_PERIPH_A AT91_PINCTRL_NONE   /* PB17 periph A */
381                                                          AT91_PIOB 18 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PB18 periph A */
382                                         };
383
384                                         pinctrl_ssc0_rx: ssc0_rx-0 {
385                                                 atmel,pins =
386                                                         <AT91_PIOB 19 AT91_PERIPH_A AT91_PINCTRL_NONE   /* PB19 periph A */
387                                                          AT91_PIOB 20 AT91_PERIPH_A AT91_PINCTRL_NONE   /* PB20 periph A */
388                                                          AT91_PIOB 21 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PB21 periph A */
389                                         };
390                                 };
391
392                                 spi0 {
393                                         pinctrl_spi0: spi0-0 {
394                                                 atmel,pins =
395                                                         <AT91_PIOA 0 AT91_PERIPH_A AT91_PINCTRL_NONE    /* PA0 periph A SPI0_MISO pin */
396                                                          AT91_PIOA 1 AT91_PERIPH_A AT91_PINCTRL_NONE    /* PA1 periph A SPI0_MOSI pin */
397                                                          AT91_PIOA 2 AT91_PERIPH_A AT91_PINCTRL_NONE>;  /* PA2 periph A SPI0_SPCK pin */
398                                         };
399                                 };
400
401                                 spi1 {
402                                         pinctrl_spi1: spi1-0 {
403                                                 atmel,pins =
404                                                         <AT91_PIOB 0 AT91_PERIPH_A AT91_PINCTRL_NONE    /* PB0 periph A SPI1_MISO pin */
405                                                          AT91_PIOB 1 AT91_PERIPH_A AT91_PINCTRL_NONE    /* PB1 periph A SPI1_MOSI pin */
406                                                          AT91_PIOB 2 AT91_PERIPH_A AT91_PINCTRL_NONE>;  /* PB2 periph A SPI1_SPCK pin */
407                                         };
408                                 };
409
410                                 i2c_gpio0 {
411                                         pinctrl_i2c_gpio0: i2c_gpio0-0 {
412                                                 atmel,pins =
413                                                         <AT91_PIOA 23 AT91_PERIPH_GPIO AT91_PINCTRL_MULTI_DRIVE
414                                                          AT91_PIOA 24 AT91_PERIPH_GPIO AT91_PINCTRL_MULTI_DRIVE>;
415                                         };
416                                 };
417
418                                 tcb0 {
419                                         pinctrl_tcb0_tclk0: tcb0_tclk0-0 {
420                                                 atmel,pins = <AT91_PIOA 25 AT91_PERIPH_A AT91_PINCTRL_NONE>;
421                                         };
422
423                                         pinctrl_tcb0_tclk1: tcb0_tclk1-0 {
424                                                 atmel,pins = <AT91_PIOB 6 AT91_PERIPH_B AT91_PINCTRL_NONE>;
425                                         };
426
427                                         pinctrl_tcb0_tclk2: tcb0_tclk2-0 {
428                                                 atmel,pins = <AT91_PIOB 7 AT91_PERIPH_B AT91_PINCTRL_NONE>;
429                                         };
430
431                                         pinctrl_tcb0_tioa0: tcb0_tioa0-0 {
432                                                 atmel,pins = <AT91_PIOA 26 AT91_PERIPH_A AT91_PINCTRL_NONE>;
433                                         };
434
435                                         pinctrl_tcb0_tioa1: tcb0_tioa1-0 {
436                                                 atmel,pins = <AT91_PIOA 27 AT91_PERIPH_A AT91_PINCTRL_NONE>;
437                                         };
438
439                                         pinctrl_tcb0_tioa2: tcb0_tioa2-0 {
440                                                 atmel,pins = <AT91_PIOA 28 AT91_PERIPH_A AT91_PINCTRL_NONE>;
441                                         };
442
443                                         pinctrl_tcb0_tiob0: tcb0_tiob0-0 {
444                                                 atmel,pins = <AT91_PIOC 9 AT91_PERIPH_B AT91_PINCTRL_NONE>;
445                                         };
446
447                                         pinctrl_tcb0_tiob1: tcb0_tiob1-0 {
448                                                 atmel,pins = <AT91_PIOC 7 AT91_PERIPH_A AT91_PINCTRL_NONE>;
449                                         };
450
451                                         pinctrl_tcb0_tiob2: tcb0_tiob2-0 {
452                                                 atmel,pins = <AT91_PIOC 6 AT91_PERIPH_A AT91_PINCTRL_NONE>;
453                                         };
454                                 };
455
456                                 tcb1 {
457                                         pinctrl_tcb1_tclk0: tcb1_tclk0-0 {
458                                                 atmel,pins = <AT91_PIOB 16 AT91_PERIPH_B AT91_PINCTRL_NONE>;
459                                         };
460
461                                         pinctrl_tcb1_tclk1: tcb1_tclk1-0 {
462                                                 atmel,pins = <AT91_PIOB 17 AT91_PERIPH_B AT91_PINCTRL_NONE>;
463                                         };
464
465                                         pinctrl_tcb1_tclk2: tcb1_tclk2-0 {
466                                                 atmel,pins = <AT91_PIOC 22 AT91_PERIPH_B AT91_PINCTRL_NONE>;
467                                         };
468
469                                         pinctrl_tcb1_tioa0: tcb1_tioa0-0 {
470                                                 atmel,pins = <AT91_PIOB 0 AT91_PERIPH_B AT91_PINCTRL_NONE>;
471                                         };
472
473                                         pinctrl_tcb1_tioa1: tcb1_tioa1-0 {
474                                                 atmel,pins = <AT91_PIOB 2 AT91_PERIPH_B AT91_PINCTRL_NONE>;
475                                         };
476
477                                         pinctrl_tcb1_tioa2: tcb1_tioa2-0 {
478                                                 atmel,pins = <AT91_PIOB 3 AT91_PERIPH_B AT91_PINCTRL_NONE>;
479                                         };
480
481                                         pinctrl_tcb1_tiob0: tcb1_tiob0-0 {
482                                                 atmel,pins = <AT91_PIOB 1 AT91_PERIPH_B AT91_PINCTRL_NONE>;
483                                         };
484
485                                         pinctrl_tcb1_tiob1: tcb1_tiob1-0 {
486                                                 atmel,pins = <AT91_PIOB 18 AT91_PERIPH_B AT91_PINCTRL_NONE>;
487                                         };
488
489                                         pinctrl_tcb1_tiob2: tcb1_tiob2-0 {
490                                                 atmel,pins = <AT91_PIOB 19 AT91_PERIPH_B AT91_PINCTRL_NONE>;
491                                         };
492                                 };
493
494                                 pioA: gpio@fffff400 {
495                                         compatible = "atmel,at91rm9200-gpio";
496                                         reg = <0xfffff400 0x200>;
497                                         interrupts = <2 IRQ_TYPE_LEVEL_HIGH 1>;
498                                         #gpio-cells = <2>;
499                                         gpio-controller;
500                                         interrupt-controller;
501                                         #interrupt-cells = <2>;
502                                         clocks = <&pmc PMC_TYPE_PERIPHERAL 2>;
503                                 };
504
505                                 pioB: gpio@fffff600 {
506                                         compatible = "atmel,at91rm9200-gpio";
507                                         reg = <0xfffff600 0x200>;
508                                         interrupts = <3 IRQ_TYPE_LEVEL_HIGH 1>;
509                                         #gpio-cells = <2>;
510                                         gpio-controller;
511                                         interrupt-controller;
512                                         #interrupt-cells = <2>;
513                                         clocks = <&pmc PMC_TYPE_PERIPHERAL 3>;
514                                 };
515
516                                 pioC: gpio@fffff800 {
517                                         compatible = "atmel,at91rm9200-gpio";
518                                         reg = <0xfffff800 0x200>;
519                                         interrupts = <4 IRQ_TYPE_LEVEL_HIGH 1>;
520                                         #gpio-cells = <2>;
521                                         gpio-controller;
522                                         interrupt-controller;
523                                         #interrupt-cells = <2>;
524                                         clocks = <&pmc PMC_TYPE_PERIPHERAL 4>;
525                                 };
526                         };
527
528                         dbgu: serial@fffff200 {
529                                 compatible = "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";
530                                 reg = <0xfffff200 0x200>;
531                                 interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>;
532                                 pinctrl-names = "default";
533                                 pinctrl-0 = <&pinctrl_dbgu>;
534                                 clocks = <&pmc PMC_TYPE_CORE PMC_MCK>;
535                                 clock-names = "usart";
536                                 status = "disabled";
537                         };
538
539                         usart0: serial@fffb0000 {
540                                 compatible = "atmel,at91sam9260-usart";
541                                 reg = <0xfffb0000 0x200>;
542                                 interrupts = <6 IRQ_TYPE_LEVEL_HIGH 5>;
543                                 atmel,use-dma-rx;
544                                 atmel,use-dma-tx;
545                                 pinctrl-names = "default";
546                                 pinctrl-0 = <&pinctrl_usart0>;
547                                 clocks = <&pmc PMC_TYPE_PERIPHERAL 6>;
548                                 clock-names = "usart";
549                                 status = "disabled";
550                         };
551
552                         usart1: serial@fffb4000 {
553                                 compatible = "atmel,at91sam9260-usart";
554                                 reg = <0xfffb4000 0x200>;
555                                 interrupts = <7 IRQ_TYPE_LEVEL_HIGH 5>;
556                                 atmel,use-dma-rx;
557                                 atmel,use-dma-tx;
558                                 pinctrl-names = "default";
559                                 pinctrl-0 = <&pinctrl_usart1>;
560                                 clocks = <&pmc PMC_TYPE_PERIPHERAL 7>;
561                                 clock-names = "usart";
562                                 status = "disabled";
563                         };
564
565                         usart2: serial@fffb8000 {
566                                 compatible = "atmel,at91sam9260-usart";
567                                 reg = <0xfffb8000 0x200>;
568                                 interrupts = <8 IRQ_TYPE_LEVEL_HIGH 5>;
569                                 atmel,use-dma-rx;
570                                 atmel,use-dma-tx;
571                                 pinctrl-names = "default";
572                                 pinctrl-0 = <&pinctrl_usart2>;
573                                 clocks = <&pmc PMC_TYPE_PERIPHERAL 8>;
574                                 clock-names = "usart";
575                                 status = "disabled";
576                         };
577
578                         usart3: serial@fffd0000 {
579                                 compatible = "atmel,at91sam9260-usart";
580                                 reg = <0xfffd0000 0x200>;
581                                 interrupts = <23 IRQ_TYPE_LEVEL_HIGH 5>;
582                                 atmel,use-dma-rx;
583                                 atmel,use-dma-tx;
584                                 pinctrl-names = "default";
585                                 pinctrl-0 = <&pinctrl_usart3>;
586                                 clocks = <&pmc PMC_TYPE_PERIPHERAL 23>;
587                                 clock-names = "usart";
588                                 status = "disabled";
589                         };
590
591                         uart0: serial@fffd4000 {
592                                 compatible = "atmel,at91sam9260-usart";
593                                 reg = <0xfffd4000 0x200>;
594                                 interrupts = <24 IRQ_TYPE_LEVEL_HIGH 5>;
595                                 atmel,use-dma-rx;
596                                 atmel,use-dma-tx;
597                                 pinctrl-names = "default";
598                                 pinctrl-0 = <&pinctrl_uart0>;
599                                 clocks = <&pmc PMC_TYPE_PERIPHERAL 24>;
600                                 clock-names = "usart";
601                                 status = "disabled";
602                         };
603
604                         uart1: serial@fffd8000 {
605                                 compatible = "atmel,at91sam9260-usart";
606                                 reg = <0xfffd8000 0x200>;
607                                 interrupts = <25 IRQ_TYPE_LEVEL_HIGH 5>;
608                                 atmel,use-dma-rx;
609                                 atmel,use-dma-tx;
610                                 pinctrl-names = "default";
611                                 pinctrl-0 = <&pinctrl_uart1>;
612                                 clocks = <&pmc PMC_TYPE_PERIPHERAL 25>;
613                                 clock-names = "usart";
614                                 status = "disabled";
615                         };
616
617                         macb0: ethernet@fffc4000 {
618                                 compatible = "cdns,at91sam9260-macb", "cdns,macb";
619                                 reg = <0xfffc4000 0x100>;
620                                 interrupts = <21 IRQ_TYPE_LEVEL_HIGH 3>;
621                                 pinctrl-names = "default";
622                                 pinctrl-0 = <&pinctrl_macb_rmii>;
623                                 clocks = <&pmc PMC_TYPE_PERIPHERAL 21>, <&pmc PMC_TYPE_PERIPHERAL 21>;
624                                 clock-names = "hclk", "pclk";
625                                 status = "disabled";
626                         };
627
628                         usb1: gadget@fffa4000 {
629                                 compatible = "atmel,at91sam9260-udc";
630                                 reg = <0xfffa4000 0x4000>;
631                                 interrupts = <10 IRQ_TYPE_LEVEL_HIGH 2>;
632                                 clocks = <&pmc PMC_TYPE_PERIPHERAL 10>, <&pmc PMC_TYPE_SYSTEM 7>;
633                                 clock-names = "pclk", "hclk";
634                                 status = "disabled";
635                         };
636
637                         i2c0: i2c@fffac000 {
638                                 compatible = "atmel,at91sam9260-i2c";
639                                 reg = <0xfffac000 0x100>;
640                                 interrupts = <11 IRQ_TYPE_LEVEL_HIGH 6>;
641                                 #address-cells = <1>;
642                                 #size-cells = <0>;
643                                 clocks = <&pmc PMC_TYPE_PERIPHERAL 11>;
644                                 status = "disabled";
645                         };
646
647                         mmc0: mmc@fffa8000 {
648                                 compatible = "atmel,hsmci";
649                                 reg = <0xfffa8000 0x600>;
650                                 interrupts = <9 IRQ_TYPE_LEVEL_HIGH 0>;
651                                 #address-cells = <1>;
652                                 #size-cells = <0>;
653                                 pinctrl-names = "default";
654                                 clocks = <&pmc PMC_TYPE_PERIPHERAL 9>;
655                                 clock-names = "mci_clk";
656                                 status = "disabled";
657                         };
658
659                         ssc0: ssc@fffbc000 {
660                                 compatible = "atmel,at91rm9200-ssc";
661                                 reg = <0xfffbc000 0x4000>;
662                                 interrupts = <14 IRQ_TYPE_LEVEL_HIGH 5>;
663                                 pinctrl-names = "default";
664                                 pinctrl-0 = <&pinctrl_ssc0_tx &pinctrl_ssc0_rx>;
665                                 clocks = <&pmc PMC_TYPE_PERIPHERAL 14>;
666                                 clock-names = "pclk";
667                                 status = "disabled";
668                         };
669
670                         spi0: spi@fffc8000 {
671                                 #address-cells = <1>;
672                                 #size-cells = <0>;
673                                 compatible = "atmel,at91rm9200-spi";
674                                 reg = <0xfffc8000 0x200>;
675                                 interrupts = <12 IRQ_TYPE_LEVEL_HIGH 3>;
676                                 pinctrl-names = "default";
677                                 pinctrl-0 = <&pinctrl_spi0>;
678                                 clocks = <&pmc PMC_TYPE_PERIPHERAL 12>;
679                                 clock-names = "spi_clk";
680                                 status = "disabled";
681                         };
682
683                         spi1: spi@fffcc000 {
684                                 #address-cells = <1>;
685                                 #size-cells = <0>;
686                                 compatible = "atmel,at91rm9200-spi";
687                                 reg = <0xfffcc000 0x200>;
688                                 interrupts = <13 IRQ_TYPE_LEVEL_HIGH 3>;
689                                 pinctrl-names = "default";
690                                 pinctrl-0 = <&pinctrl_spi1>;
691                                 clocks = <&pmc PMC_TYPE_PERIPHERAL 13>;
692                                 clock-names = "spi_clk";
693                                 status = "disabled";
694                         };
695
696                         adc0: adc@fffe0000 {
697                                 #address-cells = <1>;
698                                 #size-cells = <0>;
699                                 compatible = "atmel,at91sam9260-adc";
700                                 reg = <0xfffe0000 0x100>;
701                                 interrupts = <5 IRQ_TYPE_LEVEL_HIGH 0>;
702                                 clocks = <&pmc PMC_TYPE_PERIPHERAL 5>, <&adc_op_clk>;
703                                 clock-names = "adc_clk", "adc_op_clk";
704                                 atmel,adc-use-external-triggers;
705                                 atmel,adc-channels-used = <0xf>;
706                                 atmel,adc-vref = <3300>;
707                                 atmel,adc-startup-time = <15>;
708                                 atmel,adc-res = <8 10>;
709                                 atmel,adc-res-names = "lowres", "highres";
710                                 atmel,adc-use-res = "highres";
711
712                                 trigger0 {
713                                         trigger-name = "timer-counter-0";
714                                         trigger-value = <0x1>;
715                                 };
716                                 trigger1 {
717                                         trigger-name = "timer-counter-1";
718                                         trigger-value = <0x3>;
719                                 };
720
721                                 trigger2 {
722                                         trigger-name = "timer-counter-2";
723                                         trigger-value = <0x5>;
724                                 };
725
726                                 trigger3 {
727                                         trigger-name = "external";
728                                         trigger-value = <0xd>;
729                                         trigger-external;
730                                 };
731                         };
732
733                         rtc@fffffd20 {
734                                 compatible = "atmel,at91sam9260-rtt";
735                                 reg = <0xfffffd20 0x10>;
736                                 interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>;
737                                 clocks = <&pmc PMC_TYPE_CORE PMC_SLOW>;
738                                 status = "disabled";
739                         };
740
741                         watchdog@fffffd40 {
742                                 compatible = "atmel,at91sam9260-wdt";
743                                 reg = <0xfffffd40 0x10>;
744                                 interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>;
745                                 clocks = <&pmc PMC_TYPE_CORE PMC_SLOW>;
746                                 atmel,watchdog-type = "hardware";
747                                 atmel,reset-type = "all";
748                                 atmel,dbg-halt;
749                                 status = "disabled";
750                         };
751
752                         gpbr: syscon@fffffd50 {
753                                 compatible = "atmel,at91sam9260-gpbr", "syscon";
754                                 reg = <0xfffffd50 0x10>;
755                                 status = "disabled";
756                         };
757                 };
758
759                 usb0: ohci@500000 {
760                         compatible = "atmel,at91rm9200-ohci", "usb-ohci";
761                         reg = <0x00500000 0x100000>;
762                         interrupts = <20 IRQ_TYPE_LEVEL_HIGH 2>;
763                         clocks = <&pmc PMC_TYPE_PERIPHERAL 20>, <&pmc PMC_TYPE_PERIPHERAL 20>, <&pmc PMC_TYPE_SYSTEM 6>;
764                         clock-names = "ohci_clk", "hclk", "uhpck";
765                         status = "disabled";
766                 };
767
768                 ebi: ebi@10000000 {
769                         compatible = "atmel,at91sam9260-ebi";
770                         #address-cells = <2>;
771                         #size-cells = <1>;
772                         atmel,smc = <&smc>;
773                         atmel,matrix = <&matrix>;
774                         reg = <0x10000000 0x80000000>;
775                         ranges = <0x0 0x0 0x10000000 0x10000000
776                                   0x1 0x0 0x20000000 0x10000000
777                                   0x2 0x0 0x30000000 0x10000000
778                                   0x3 0x0 0x40000000 0x10000000
779                                   0x4 0x0 0x50000000 0x10000000
780                                   0x5 0x0 0x60000000 0x10000000
781                                   0x6 0x0 0x70000000 0x10000000
782                                   0x7 0x0 0x80000000 0x10000000>;
783                         clocks = <&pmc PMC_TYPE_CORE PMC_MCK>;
784                         status = "disabled";
785
786                         nand_controller: nand-controller {
787                                 compatible = "atmel,at91sam9260-nand-controller";
788                                 #address-cells = <2>;
789                                 #size-cells = <1>;
790                                 ranges;
791                                 status = "disabled";
792                         };
793                 };
794         };
795
796         i2c-gpio-0 {
797                 compatible = "i2c-gpio";
798                 gpios = <&pioA 23 GPIO_ACTIVE_HIGH /* sda */
799                          &pioA 24 GPIO_ACTIVE_HIGH /* scl */
800                         >;
801                 i2c-gpio,sda-open-drain;
802                 i2c-gpio,scl-open-drain;
803                 i2c-gpio,delay-us = <2>;        /* ~100 kHz */
804                 #address-cells = <1>;
805                 #size-cells = <0>;
806                 pinctrl-names = "default";
807                 pinctrl-0 = <&pinctrl_i2c_gpio0>;
808                 status = "disabled";
809         };
810 };