Merge tag 'cxl-for-5.15' of git://git.kernel.org/pub/scm/linux/kernel/git/cxl/cxl
[linux-2.6-microblaze.git] / arch / arm / boot / dts / at91sam9263.dtsi
1 // SPDX-License-Identifier: GPL-2.0-only
2 /*
3  * at91sam9263.dtsi - Device Tree Include file for AT91SAM9263 family SoC
4  *
5  *  Copyright (C) 2012 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
6  */
7
8 #include <dt-bindings/pinctrl/at91.h>
9 #include <dt-bindings/interrupt-controller/irq.h>
10 #include <dt-bindings/gpio/gpio.h>
11 #include <dt-bindings/clock/at91.h>
12
13 / {
14         #address-cells = <1>;
15         #size-cells = <1>;
16         model = "Atmel AT91SAM9263 family SoC";
17         compatible = "atmel,at91sam9263";
18         interrupt-parent = <&aic>;
19
20         aliases {
21                 serial0 = &dbgu;
22                 serial1 = &usart0;
23                 serial2 = &usart1;
24                 serial3 = &usart2;
25                 gpio0 = &pioA;
26                 gpio1 = &pioB;
27                 gpio2 = &pioC;
28                 gpio3 = &pioD;
29                 gpio4 = &pioE;
30                 tcb0 = &tcb0;
31                 i2c0 = &i2c0;
32                 ssc0 = &ssc0;
33                 ssc1 = &ssc1;
34                 pwm0 = &pwm0;
35         };
36
37         cpus {
38                 #address-cells = <1>;
39                 #size-cells = <0>;
40
41                 cpu@0 {
42                         compatible = "arm,arm926ej-s";
43                         device_type = "cpu";
44                         reg = <0>;
45                 };
46         };
47
48         memory@20000000 {
49                 device_type = "memory";
50                 reg = <0x20000000 0x08000000>;
51         };
52
53         clocks {
54                 main_xtal: main_xtal {
55                         compatible = "fixed-clock";
56                         #clock-cells = <0>;
57                         clock-frequency = <0>;
58                 };
59
60                 slow_xtal: slow_xtal {
61                         compatible = "fixed-clock";
62                         #clock-cells = <0>;
63                         clock-frequency = <0>;
64                 };
65         };
66
67         sram0: sram@300000 {
68                 compatible = "mmio-sram";
69                 reg = <0x00300000 0x14000>;
70                 #address-cells = <1>;
71                 #size-cells = <1>;
72                 ranges = <0 0x00300000 0x14000>;
73         };
74
75         sram1: sram@500000 {
76                 compatible = "mmio-sram";
77                 reg = <0x00500000 0x4000>;
78                 #address-cells = <1>;
79                 #size-cells = <1>;
80                 ranges = <0 0x00500000 0x4000>;
81         };
82
83         ahb {
84                 compatible = "simple-bus";
85                 #address-cells = <1>;
86                 #size-cells = <1>;
87                 ranges;
88
89                 apb {
90                         compatible = "simple-bus";
91                         #address-cells = <1>;
92                         #size-cells = <1>;
93                         ranges;
94
95                         aic: interrupt-controller@fffff000 {
96                                 #interrupt-cells = <3>;
97                                 compatible = "atmel,at91rm9200-aic";
98                                 interrupt-controller;
99                                 reg = <0xfffff000 0x200>;
100                                 atmel,external-irqs = <30 31>;
101                         };
102
103                         pmc: pmc@fffffc00 {
104                                 compatible = "atmel,at91sam9263-pmc", "syscon";
105                                 reg = <0xfffffc00 0x100>;
106                                 interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>;
107                                 #clock-cells = <2>;
108                                 clocks = <&slow_xtal>, <&main_xtal>;
109                                 clock-names = "slow_xtal", "main_xtal";
110                         };
111
112                         ramc0: ramc@ffffe200 {
113                                 compatible = "atmel,at91sam9260-sdramc";
114                                 reg = <0xffffe200 0x200>;
115                         };
116
117                         smc0: smc@ffffe400 {
118                                 compatible = "atmel,at91sam9260-smc", "syscon";
119                                 reg = <0xffffe400 0x200>;
120                         };
121
122                         ramc1: ramc@ffffe800 {
123                                 compatible = "atmel,at91sam9260-sdramc";
124                                 reg = <0xffffe800 0x200>;
125                         };
126
127                         smc1: smc@ffffea00 {
128                                 compatible = "atmel,at91sam9260-smc", "syscon";
129                                 reg = <0xffffea00 0x200>;
130                         };
131
132                         matrix: matrix@ffffec00 {
133                                 compatible = "atmel,at91sam9263-matrix", "syscon";
134                                 reg = <0xffffec00 0x200>;
135                         };
136
137                         pit: timer@fffffd30 {
138                                 compatible = "atmel,at91sam9260-pit";
139                                 reg = <0xfffffd30 0xf>;
140                                 interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>;
141                                 clocks = <&pmc PMC_TYPE_CORE PMC_MCK>;
142                         };
143
144                         tcb0: timer@fff7c000 {
145                                 compatible = "atmel,at91rm9200-tcb", "simple-mfd", "syscon";
146                                 #address-cells = <1>;
147                                 #size-cells = <0>;
148                                 reg = <0xfff7c000 0x100>;
149                                 interrupts = <19 IRQ_TYPE_LEVEL_HIGH 0>;
150                                 clocks = <&pmc PMC_TYPE_PERIPHERAL 19>, <&slow_xtal>;
151                                 clock-names = "t0_clk", "slow_clk";
152                         };
153
154                         rstc@fffffd00 {
155                                 compatible = "atmel,at91sam9260-rstc";
156                                 reg = <0xfffffd00 0x10>;
157                                 clocks = <&slow_xtal>;
158                         };
159
160                         shdwc@fffffd10 {
161                                 compatible = "atmel,at91sam9260-shdwc";
162                                 reg = <0xfffffd10 0x10>;
163                                 clocks = <&slow_xtal>;
164                         };
165
166                         pinctrl@fffff200 {
167                                 #address-cells = <1>;
168                                 #size-cells = <1>;
169                                 compatible = "atmel,at91rm9200-pinctrl", "simple-bus";
170                                 ranges = <0xfffff200 0xfffff200 0xa00>;
171
172                                 atmel,mux-mask = <
173                                       /*    A         B     */
174                                        0xfffffffb 0xffffe07f  /* pioA */
175                                        0x0007ffff 0x39072fff  /* pioB */
176                                        0xffffffff 0x3ffffff8  /* pioC */
177                                        0xfffffbff 0xffffffff  /* pioD */
178                                        0xffe00fff 0xfbfcff00  /* pioE */
179                                       >;
180
181                                 /* shared pinctrl settings */
182                                 dbgu {
183                                         pinctrl_dbgu: dbgu-0 {
184                                                 atmel,pins =
185                                                         <AT91_PIOC 30 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
186                                                          AT91_PIOC 31 AT91_PERIPH_A AT91_PINCTRL_NONE>;
187                                         };
188                                 };
189
190                                 usart0 {
191                                         pinctrl_usart0: usart0-0 {
192                                                 atmel,pins =
193                                                         <AT91_PIOA 26 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
194                                                          AT91_PIOA 27 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
195                                         };
196
197                                         pinctrl_usart0_rts: usart0_rts-0 {
198                                                 atmel,pins =
199                                                         <AT91_PIOA 28 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PA28 periph A */
200                                         };
201
202                                         pinctrl_usart0_cts: usart0_cts-0 {
203                                                 atmel,pins =
204                                                         <AT91_PIOA 29 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PA29 periph A */
205                                         };
206                                 };
207
208                                 usart1 {
209                                         pinctrl_usart1: usart1-0 {
210                                                 atmel,pins =
211                                                         <AT91_PIOD 0 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
212                                                          AT91_PIOD 1 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
213                                         };
214
215                                         pinctrl_usart1_rts: usart1_rts-0 {
216                                                 atmel,pins =
217                                                         <AT91_PIOD 7 AT91_PERIPH_B AT91_PINCTRL_NONE>;  /* PD7 periph B */
218                                         };
219
220                                         pinctrl_usart1_cts: usart1_cts-0 {
221                                                 atmel,pins =
222                                                         <AT91_PIOD 8 AT91_PERIPH_B AT91_PINCTRL_NONE>;  /* PD8 periph B */
223                                         };
224                                 };
225
226                                 usart2 {
227                                         pinctrl_usart2: usart2-0 {
228                                                 atmel,pins =
229                                                         <AT91_PIOD 2 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
230                                                          AT91_PIOD 3 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
231                                         };
232
233                                         pinctrl_usart2_rts: usart2_rts-0 {
234                                                 atmel,pins =
235                                                         <AT91_PIOD 5 AT91_PERIPH_B AT91_PINCTRL_NONE>;  /* PD5 periph B */
236                                         };
237
238                                         pinctrl_usart2_cts: usart2_cts-0 {
239                                                 atmel,pins =
240                                                         <AT91_PIOD 6 AT91_PERIPH_B AT91_PINCTRL_NONE>;  /* PD6 periph B */
241                                         };
242                                 };
243
244                                 nand {
245                                         pinctrl_nand_rb: nand-rb-0 {
246                                                 atmel,pins =
247                                                         <AT91_PIOA 22 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>;
248                                         };
249
250                                         pinctrl_nand_cs: nand-cs-0 {
251                                                 atmel,pins =
252                                                          <AT91_PIOD 15 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>;
253                                         };
254                                 };
255
256                                 macb {
257                                         pinctrl_macb_rmii: macb_rmii-0 {
258                                                 atmel,pins =
259                                                         <AT91_PIOC 25 AT91_PERIPH_B AT91_PINCTRL_NONE   /* PC25 periph B */
260                                                          AT91_PIOE 21 AT91_PERIPH_A AT91_PINCTRL_NONE   /* PE21 periph A */
261                                                          AT91_PIOE 23 AT91_PERIPH_A AT91_PINCTRL_NONE   /* PE23 periph A */
262                                                          AT91_PIOE 24 AT91_PERIPH_A AT91_PINCTRL_NONE   /* PE24 periph A */
263                                                          AT91_PIOE 25 AT91_PERIPH_A AT91_PINCTRL_NONE   /* PE25 periph A */
264                                                          AT91_PIOE 26 AT91_PERIPH_A AT91_PINCTRL_NONE   /* PE26 periph A */
265                                                          AT91_PIOE 27 AT91_PERIPH_A AT91_PINCTRL_NONE   /* PE27 periph A */
266                                                          AT91_PIOE 28 AT91_PERIPH_A AT91_PINCTRL_NONE   /* PE28 periph A */
267                                                          AT91_PIOE 29 AT91_PERIPH_A AT91_PINCTRL_NONE   /* PE29 periph A */
268                                                          AT91_PIOE 30 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PE30 periph A */
269                                         };
270
271                                         pinctrl_macb_rmii_mii: macb_rmii_mii-0 {
272                                                 atmel,pins =
273                                                         <AT91_PIOC 20 AT91_PERIPH_B AT91_PINCTRL_NONE   /* PC20 periph B */
274                                                          AT91_PIOC 21 AT91_PERIPH_B AT91_PINCTRL_NONE   /* PC21 periph B */
275                                                          AT91_PIOC 22 AT91_PERIPH_B AT91_PINCTRL_NONE   /* PC22 periph B */
276                                                          AT91_PIOC 23 AT91_PERIPH_B AT91_PINCTRL_NONE   /* PC23 periph B */
277                                                          AT91_PIOC 24 AT91_PERIPH_B AT91_PINCTRL_NONE   /* PC24 periph B */
278                                                          AT91_PIOC 25 AT91_PERIPH_B AT91_PINCTRL_NONE   /* PC25 periph B */
279                                                          AT91_PIOC 27 AT91_PERIPH_B AT91_PINCTRL_NONE   /* PC27 periph B */
280                                                          AT91_PIOE 22 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PE22 periph B */
281                                         };
282                                 };
283
284                                 mmc0 {
285                                         pinctrl_mmc0_clk: mmc0_clk-0 {
286                                                 atmel,pins =
287                                                         <AT91_PIOA 12 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PA12 periph A */
288                                         };
289
290                                         pinctrl_mmc0_slot0_cmd_dat0: mmc0_slot0_cmd_dat0-0 {
291                                                 atmel,pins =
292                                                         <AT91_PIOA 1 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PA1 periph A with pullup */
293                                                          AT91_PIOA 0 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;       /* PA0 periph A with pullup */
294                                         };
295
296                                         pinctrl_mmc0_slot0_dat1_3: mmc0_slot0_dat1_3-0 {
297                                                 atmel,pins =
298                                                         <AT91_PIOA 3 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PA3 periph A with pullup */
299                                                          AT91_PIOA 4 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PA4 periph A with pullup */
300                                                          AT91_PIOA 5 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;       /* PA5 periph A with pullup */
301                                         };
302
303                                         pinctrl_mmc0_slot1_cmd_dat0: mmc0_slot1_cmd_dat0-0 {
304                                                 atmel,pins =
305                                                         <AT91_PIOA 16 AT91_PERIPH_A AT91_PINCTRL_PULL_UP        /* PA16 periph A with pullup */
306                                                          AT91_PIOA 17 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;      /* PA17 periph A with pullup */
307                                         };
308
309                                         pinctrl_mmc0_slot1_dat1_3: mmc0_slot1_dat1_3-0 {
310                                                 atmel,pins =
311                                                         <AT91_PIOA 18 AT91_PERIPH_A AT91_PINCTRL_PULL_UP        /* PA18 periph A with pullup */
312                                                          AT91_PIOA 19 AT91_PERIPH_A AT91_PINCTRL_PULL_UP        /* PA19 periph A with pullup */
313                                                          AT91_PIOA 20 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;      /* PA20 periph A with pullup */
314                                         };
315                                 };
316
317                                 mmc1 {
318                                         pinctrl_mmc1_clk: mmc1_clk-0 {
319                                                 atmel,pins =
320                                                         <AT91_PIOA 6 AT91_PERIPH_A AT91_PINCTRL_NONE>;  /* PA6 periph A */
321                                         };
322
323                                         pinctrl_mmc1_slot0_cmd_dat0: mmc1_slot0_cmd_dat0-0 {
324                                                 atmel,pins =
325                                                         <AT91_PIOA 7 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PA7 periph A with pullup */
326                                                          AT91_PIOA 8 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;       /* PA8 periph A with pullup */
327                                         };
328
329                                         pinctrl_mmc1_slot0_dat1_3: mmc1_slot0_dat1_3-0 {
330                                                 atmel,pins =
331                                                         <AT91_PIOA 9 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PA9 periph A with pullup */
332                                                          AT91_PIOA 10 AT91_PERIPH_A AT91_PINCTRL_PULL_UP        /* PA10 periph A with pullup */
333                                                          AT91_PIOA 11 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;      /* PA11 periph A with pullup */
334                                         };
335
336                                         pinctrl_mmc1_slot1_cmd_dat0: mmc1_slot1_cmd_dat0-0 {
337                                                 atmel,pins =
338                                                         <AT91_PIOA 21 AT91_PERIPH_A AT91_PINCTRL_PULL_UP        /* PA21 periph A with pullup */
339                                                          AT91_PIOA 22 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;      /* PA22 periph A with pullup */
340                                         };
341
342                                         pinctrl_mmc1_slot1_dat1_3: mmc1_slot1_dat1_3-0 {
343                                                 atmel,pins =
344                                                         <AT91_PIOA 23 AT91_PERIPH_A AT91_PINCTRL_PULL_UP        /* PA23 periph A with pullup */
345                                                          AT91_PIOA 24 AT91_PERIPH_A AT91_PINCTRL_PULL_UP        /* PA24 periph A with pullup */
346                                                          AT91_PIOA 25 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;      /* PA25 periph A with pullup */
347                                         };
348                                 };
349
350                                 ssc0 {
351                                         pinctrl_ssc0_tx: ssc0_tx-0 {
352                                                 atmel,pins =
353                                                         <AT91_PIOB 0 AT91_PERIPH_B AT91_PINCTRL_NONE    /* PB0 periph B */
354                                                          AT91_PIOB 1 AT91_PERIPH_B AT91_PINCTRL_NONE    /* PB1 periph B */
355                                                          AT91_PIOB 2 AT91_PERIPH_B AT91_PINCTRL_NONE>;  /* PB2 periph B */
356                                         };
357
358                                         pinctrl_ssc0_rx: ssc0_rx-0 {
359                                                 atmel,pins =
360                                                         <AT91_PIOB 3 AT91_PERIPH_B AT91_PINCTRL_NONE    /* PB3 periph B */
361                                                          AT91_PIOB 4 AT91_PERIPH_B AT91_PINCTRL_NONE    /* PB4 periph B */
362                                                          AT91_PIOB 5 AT91_PERIPH_B AT91_PINCTRL_NONE>;  /* PB5 periph B */
363                                         };
364                                 };
365
366                                 ssc1 {
367                                         pinctrl_ssc1_tx: ssc1_tx-0 {
368                                                 atmel,pins =
369                                                         <AT91_PIOB 6 AT91_PERIPH_A AT91_PINCTRL_NONE    /* PB6 periph A */
370                                                          AT91_PIOB 7 AT91_PERIPH_A AT91_PINCTRL_NONE    /* PB7 periph A */
371                                                          AT91_PIOB 8 AT91_PERIPH_A AT91_PINCTRL_NONE>;  /* PB8 periph A */
372                                         };
373
374                                         pinctrl_ssc1_rx: ssc1_rx-0 {
375                                                 atmel,pins =
376                                                         <AT91_PIOB 9 AT91_PERIPH_A AT91_PINCTRL_NONE    /* PB9 periph A */
377                                                          AT91_PIOB 10 AT91_PERIPH_A AT91_PINCTRL_NONE   /* PB10 periph A */
378                                                          AT91_PIOB 11 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PB11 periph A */
379                                         };
380                                 };
381
382                                 spi0 {
383                                         pinctrl_spi0: spi0-0 {
384                                                 atmel,pins =
385                                                         <AT91_PIOA 0 AT91_PERIPH_B AT91_PINCTRL_NONE    /* PA0 periph B SPI0_MISO pin */
386                                                          AT91_PIOA 1 AT91_PERIPH_B AT91_PINCTRL_NONE    /* PA1 periph B SPI0_MOSI pin */
387                                                          AT91_PIOA 2 AT91_PERIPH_B AT91_PINCTRL_NONE>;  /* PA2 periph B SPI0_SPCK pin */
388                                         };
389                                 };
390
391                                 spi1 {
392                                         pinctrl_spi1: spi1-0 {
393                                                 atmel,pins =
394                                                         <AT91_PIOB 12 AT91_PERIPH_A AT91_PINCTRL_NONE   /* PB12 periph A SPI1_MISO pin */
395                                                          AT91_PIOB 13 AT91_PERIPH_A AT91_PINCTRL_NONE   /* PB13 periph A SPI1_MOSI pin */
396                                                          AT91_PIOB 14 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PB14 periph A SPI1_SPCK pin */
397                                         };
398                                 };
399
400                                 tcb0 {
401                                         pinctrl_tcb0_tclk0: tcb0_tclk0-0 {
402                                                 atmel,pins = <AT91_PIOB 28 AT91_PERIPH_B AT91_PINCTRL_NONE>;
403                                         };
404
405                                         pinctrl_tcb0_tclk1: tcb0_tclk1-0 {
406                                                 atmel,pins = <AT91_PIOC 28 AT91_PERIPH_B AT91_PINCTRL_NONE>;
407                                         };
408
409                                         pinctrl_tcb0_tclk2: tcb0_tclk2-0 {
410                                                 atmel,pins = <AT91_PIOA 15 AT91_PERIPH_A AT91_PINCTRL_NONE>;
411                                         };
412
413                                         pinctrl_tcb0_tioa0: tcb0_tioa0-0 {
414                                                 atmel,pins = <AT91_PIOE 18 AT91_PERIPH_B AT91_PINCTRL_NONE>;
415                                         };
416
417                                         pinctrl_tcb0_tioa1: tcb0_tioa1-0 {
418                                                 atmel,pins = <AT91_PIOE 8 AT91_PERIPH_B AT91_PINCTRL_NONE>;
419                                         };
420
421                                         pinctrl_tcb0_tioa2: tcb0_tioa2-0 {
422                                                 atmel,pins = <AT91_PIOB 17 AT91_PERIPH_B AT91_PINCTRL_NONE>;
423                                         };
424
425                                         pinctrl_tcb0_tiob0: tcb0_tiob0-0 {
426                                                 atmel,pins = <AT91_PIOE 19 AT91_PERIPH_B AT91_PINCTRL_NONE>;
427                                         };
428
429                                         pinctrl_tcb0_tiob1: tcb0_tiob1-0 {
430                                                 atmel,pins = <AT91_PIOE 9 AT91_PERIPH_B AT91_PINCTRL_NONE>;
431                                         };
432
433                                         pinctrl_tcb0_tiob2: tcb0_tiob2-0 {
434                                                 atmel,pins = <AT91_PIOB 18 AT91_PERIPH_B AT91_PINCTRL_NONE>;
435                                         };
436                                 };
437
438                                 fb {
439                                         pinctrl_fb: fb-0 {
440                                                 atmel,pins =
441                                                         <AT91_PIOC 1 AT91_PERIPH_A AT91_PINCTRL_NONE    /* PC1 periph A */
442                                                          AT91_PIOC 2 AT91_PERIPH_A AT91_PINCTRL_NONE    /* PC2 periph A */
443                                                          AT91_PIOC 3 AT91_PERIPH_A AT91_PINCTRL_NONE    /* PC3 periph A */
444                                                          AT91_PIOB 9 AT91_PERIPH_B AT91_PINCTRL_NONE    /* PB9 periph B */
445                                                          AT91_PIOC 6 AT91_PERIPH_A AT91_PINCTRL_NONE    /* PC6 periph A */
446                                                          AT91_PIOC 7 AT91_PERIPH_A AT91_PINCTRL_NONE    /* PC7 periph A */
447                                                          AT91_PIOC 8 AT91_PERIPH_A AT91_PINCTRL_NONE    /* PC8 periph A */
448                                                          AT91_PIOC 9 AT91_PERIPH_A AT91_PINCTRL_NONE    /* PC9 periph A */
449                                                          AT91_PIOC 10 AT91_PERIPH_A AT91_PINCTRL_NONE   /* PC10 periph A */
450                                                          AT91_PIOC 11 AT91_PERIPH_A AT91_PINCTRL_NONE   /* PC11 periph A */
451                                                          AT91_PIOC 14 AT91_PERIPH_A AT91_PINCTRL_NONE   /* PC14 periph A */
452                                                          AT91_PIOC 15 AT91_PERIPH_A AT91_PINCTRL_NONE   /* PC15 periph A */
453                                                          AT91_PIOC 16 AT91_PERIPH_A AT91_PINCTRL_NONE   /* PC16 periph A */
454                                                          AT91_PIOC 12 AT91_PERIPH_B AT91_PINCTRL_NONE   /* PC12 periph B */
455                                                          AT91_PIOC 18 AT91_PERIPH_A AT91_PINCTRL_NONE   /* PC18 periph A */
456                                                          AT91_PIOC 19 AT91_PERIPH_A AT91_PINCTRL_NONE   /* PC19 periph A */
457                                                          AT91_PIOC 22 AT91_PERIPH_A AT91_PINCTRL_NONE   /* PC22 periph A */
458                                                          AT91_PIOC 23 AT91_PERIPH_A AT91_PINCTRL_NONE   /* PC23 periph A */
459                                                          AT91_PIOC 24 AT91_PERIPH_A AT91_PINCTRL_NONE   /* PC24 periph A */
460                                                          AT91_PIOC 17 AT91_PERIPH_B AT91_PINCTRL_NONE   /* PC17 periph B */
461                                                          AT91_PIOC 26 AT91_PERIPH_A AT91_PINCTRL_NONE   /* PC26 periph A */
462                                                          AT91_PIOC 27 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PC27 periph A */
463                                         };
464                                 };
465
466                                 can {
467                                         pinctrl_can_rx_tx: can_rx_tx {
468                                                 atmel,pins =
469                                                         <AT91_PIOA 14 AT91_PERIPH_A AT91_PINCTRL_NONE   /* CANRX, conflicts with IRQ0 */
470                                                          AT91_PIOA 13 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* CANTX, conflicts with PCK0 */
471                                         };
472                                 };
473
474                                 ac97 {
475                                         pinctrl_ac97: ac97-0 {
476                                                 atmel,pins =
477                                                         <AT91_PIOB 0 AT91_PERIPH_A AT91_PINCTRL_NONE    /* PB12 periph A AC97FS pin */
478                                                          AT91_PIOB 1 AT91_PERIPH_A AT91_PINCTRL_NONE    /* PB13 periph A AC97CK pin */
479                                                          AT91_PIOB 2 AT91_PERIPH_A AT91_PINCTRL_NONE    /* PB14 periph A AC97TX pin */
480                                                          AT91_PIOB 3 AT91_PERIPH_A AT91_PINCTRL_NONE>;  /* PB14 periph A AC97RX pin */
481                                         };
482                                 };
483
484                                 pioA: gpio@fffff200 {
485                                         compatible = "atmel,at91rm9200-gpio";
486                                         reg = <0xfffff200 0x200>;
487                                         interrupts = <2 IRQ_TYPE_LEVEL_HIGH 1>;
488                                         #gpio-cells = <2>;
489                                         gpio-controller;
490                                         interrupt-controller;
491                                         #interrupt-cells = <2>;
492                                         clocks = <&pmc PMC_TYPE_PERIPHERAL 2>;
493                                 };
494
495                                 pioB: gpio@fffff400 {
496                                         compatible = "atmel,at91rm9200-gpio";
497                                         reg = <0xfffff400 0x200>;
498                                         interrupts = <3 IRQ_TYPE_LEVEL_HIGH 1>;
499                                         #gpio-cells = <2>;
500                                         gpio-controller;
501                                         interrupt-controller;
502                                         #interrupt-cells = <2>;
503                                         clocks = <&pmc PMC_TYPE_PERIPHERAL 3>;
504                                 };
505
506                                 pioC: gpio@fffff600 {
507                                         compatible = "atmel,at91rm9200-gpio";
508                                         reg = <0xfffff600 0x200>;
509                                         interrupts = <4 IRQ_TYPE_LEVEL_HIGH 1>;
510                                         #gpio-cells = <2>;
511                                         gpio-controller;
512                                         interrupt-controller;
513                                         #interrupt-cells = <2>;
514                                         clocks = <&pmc PMC_TYPE_PERIPHERAL 4>;
515                                 };
516
517                                 pioD: gpio@fffff800 {
518                                         compatible = "atmel,at91rm9200-gpio";
519                                         reg = <0xfffff800 0x200>;
520                                         interrupts = <4 IRQ_TYPE_LEVEL_HIGH 1>;
521                                         #gpio-cells = <2>;
522                                         gpio-controller;
523                                         interrupt-controller;
524                                         #interrupt-cells = <2>;
525                                         clocks = <&pmc PMC_TYPE_PERIPHERAL 4>;
526                                 };
527
528                                 pioE: gpio@fffffa00 {
529                                         compatible = "atmel,at91rm9200-gpio";
530                                         reg = <0xfffffa00 0x200>;
531                                         interrupts = <4 IRQ_TYPE_LEVEL_HIGH 1>;
532                                         #gpio-cells = <2>;
533                                         gpio-controller;
534                                         interrupt-controller;
535                                         #interrupt-cells = <2>;
536                                         clocks = <&pmc PMC_TYPE_PERIPHERAL 4>;
537                                 };
538                         };
539
540                         dbgu: serial@ffffee00 {
541                                 compatible = "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";
542                                 reg = <0xffffee00 0x200>;
543                                 interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>;
544                                 pinctrl-names = "default";
545                                 pinctrl-0 = <&pinctrl_dbgu>;
546                                 clocks = <&pmc PMC_TYPE_CORE PMC_MCK>;
547                                 clock-names = "usart";
548                                 status = "disabled";
549                         };
550
551                         usart0: serial@fff8c000 {
552                                 compatible = "atmel,at91sam9260-usart";
553                                 reg = <0xfff8c000 0x200>;
554                                 interrupts = <7 IRQ_TYPE_LEVEL_HIGH 5>;
555                                 atmel,use-dma-rx;
556                                 atmel,use-dma-tx;
557                                 pinctrl-names = "default";
558                                 pinctrl-0 = <&pinctrl_usart0>;
559                                 clocks = <&pmc PMC_TYPE_PERIPHERAL 7>;
560                                 clock-names = "usart";
561                                 status = "disabled";
562                         };
563
564                         usart1: serial@fff90000 {
565                                 compatible = "atmel,at91sam9260-usart";
566                                 reg = <0xfff90000 0x200>;
567                                 interrupts = <8 IRQ_TYPE_LEVEL_HIGH 5>;
568                                 atmel,use-dma-rx;
569                                 atmel,use-dma-tx;
570                                 pinctrl-names = "default";
571                                 pinctrl-0 = <&pinctrl_usart1>;
572                                 clocks = <&pmc PMC_TYPE_PERIPHERAL 8>;
573                                 clock-names = "usart";
574                                 status = "disabled";
575                         };
576
577                         usart2: serial@fff94000 {
578                                 compatible = "atmel,at91sam9260-usart";
579                                 reg = <0xfff94000 0x200>;
580                                 interrupts = <9 IRQ_TYPE_LEVEL_HIGH 5>;
581                                 atmel,use-dma-rx;
582                                 atmel,use-dma-tx;
583                                 pinctrl-names = "default";
584                                 pinctrl-0 = <&pinctrl_usart2>;
585                                 clocks = <&pmc PMC_TYPE_PERIPHERAL 9>;
586                                 clock-names = "usart";
587                                 status = "disabled";
588                         };
589
590                         ssc0: ssc@fff98000 {
591                                 compatible = "atmel,at91rm9200-ssc";
592                                 reg = <0xfff98000 0x4000>;
593                                 interrupts = <16 IRQ_TYPE_LEVEL_HIGH 5>;
594                                 pinctrl-names = "default";
595                                 pinctrl-0 = <&pinctrl_ssc0_tx &pinctrl_ssc0_rx>;
596                                 clocks = <&pmc PMC_TYPE_PERIPHERAL 16>;
597                                 clock-names = "pclk";
598                                 status = "disabled";
599                         };
600
601                         ssc1: ssc@fff9c000 {
602                                 compatible = "atmel,at91rm9200-ssc";
603                                 reg = <0xfff9c000 0x4000>;
604                                 interrupts = <17 IRQ_TYPE_LEVEL_HIGH 5>;
605                                 pinctrl-names = "default";
606                                 pinctrl-0 = <&pinctrl_ssc1_tx &pinctrl_ssc1_rx>;
607                                 clocks = <&pmc PMC_TYPE_PERIPHERAL 17>;
608                                 clock-names = "pclk";
609                                 status = "disabled";
610                         };
611
612                         ac97: sound@fffa0000 {
613                                 compatible = "atmel,at91sam9263-ac97c";
614                                 reg = <0xfffa0000 0x4000>;
615                                 interrupts = <18 IRQ_TYPE_LEVEL_HIGH 5>;
616                                 pinctrl-names = "default";
617                                 pinctrl-0 = <&pinctrl_ac97>;
618                                 clocks = <&pmc PMC_TYPE_PERIPHERAL 18>;
619                                 clock-names = "ac97_clk";
620                                 status = "disabled";
621                         };
622
623                         macb0: ethernet@fffbc000 {
624                                 compatible = "cdns,at91sam9260-macb", "cdns,macb";
625                                 reg = <0xfffbc000 0x100>;
626                                 interrupts = <21 IRQ_TYPE_LEVEL_HIGH 3>;
627                                 pinctrl-names = "default";
628                                 pinctrl-0 = <&pinctrl_macb_rmii>;
629                                 clocks = <&pmc PMC_TYPE_PERIPHERAL 21>, <&pmc PMC_TYPE_PERIPHERAL 21>;
630                                 clock-names = "hclk", "pclk";
631                                 status = "disabled";
632                         };
633
634                         usb1: gadget@fff78000 {
635                                 compatible = "atmel,at91sam9263-udc";
636                                 reg = <0xfff78000 0x4000>;
637                                 interrupts = <24 IRQ_TYPE_LEVEL_HIGH 2>;
638                                 clocks = <&pmc PMC_TYPE_PERIPHERAL 24>, <&pmc PMC_TYPE_SYSTEM 7>;
639                                 clock-names = "pclk", "hclk";
640                                 status = "disabled";
641                         };
642
643                         i2c0: i2c@fff88000 {
644                                 compatible = "atmel,at91sam9260-i2c";
645                                 reg = <0xfff88000 0x100>;
646                                 interrupts = <13 IRQ_TYPE_LEVEL_HIGH 6>;
647                                 #address-cells = <1>;
648                                 #size-cells = <0>;
649                                 clocks = <&pmc PMC_TYPE_PERIPHERAL 13>;
650                                 status = "disabled";
651                         };
652
653                         mmc0: mmc@fff80000 {
654                                 compatible = "atmel,hsmci";
655                                 reg = <0xfff80000 0x600>;
656                                 interrupts = <10 IRQ_TYPE_LEVEL_HIGH 0>;
657                                 #address-cells = <1>;
658                                 #size-cells = <0>;
659                                 clocks = <&pmc PMC_TYPE_PERIPHERAL 10>;
660                                 clock-names = "mci_clk";
661                                 status = "disabled";
662                         };
663
664                         mmc1: mmc@fff84000 {
665                                 compatible = "atmel,hsmci";
666                                 reg = <0xfff84000 0x600>;
667                                 interrupts = <11 IRQ_TYPE_LEVEL_HIGH 0>;
668                                 #address-cells = <1>;
669                                 #size-cells = <0>;
670                                 clocks = <&pmc PMC_TYPE_PERIPHERAL 11>;
671                                 clock-names = "mci_clk";
672                                 status = "disabled";
673                         };
674
675                         watchdog@fffffd40 {
676                                 compatible = "atmel,at91sam9260-wdt";
677                                 reg = <0xfffffd40 0x10>;
678                                 interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>;
679                                 clocks = <&slow_xtal>;
680                                 atmel,watchdog-type = "hardware";
681                                 atmel,reset-type = "all";
682                                 atmel,dbg-halt;
683                                 status = "disabled";
684                         };
685
686                         spi0: spi@fffa4000 {
687                                 #address-cells = <1>;
688                                 #size-cells = <0>;
689                                 compatible = "atmel,at91rm9200-spi";
690                                 reg = <0xfffa4000 0x200>;
691                                 interrupts = <14 IRQ_TYPE_LEVEL_HIGH 3>;
692                                 pinctrl-names = "default";
693                                 pinctrl-0 = <&pinctrl_spi0>;
694                                 clocks = <&pmc PMC_TYPE_PERIPHERAL 14>;
695                                 clock-names = "spi_clk";
696                                 status = "disabled";
697                         };
698
699                         spi1: spi@fffa8000 {
700                                 #address-cells = <1>;
701                                 #size-cells = <0>;
702                                 compatible = "atmel,at91rm9200-spi";
703                                 reg = <0xfffa8000 0x200>;
704                                 interrupts = <15 IRQ_TYPE_LEVEL_HIGH 3>;
705                                 pinctrl-names = "default";
706                                 pinctrl-0 = <&pinctrl_spi1>;
707                                 clocks = <&pmc PMC_TYPE_PERIPHERAL 15>;
708                                 clock-names = "spi_clk";
709                                 status = "disabled";
710                         };
711
712                         pwm0: pwm@fffb8000 {
713                                 compatible = "atmel,at91sam9rl-pwm";
714                                 reg = <0xfffb8000 0x300>;
715                                 interrupts = <20 IRQ_TYPE_LEVEL_HIGH 4>;
716                                 #pwm-cells = <3>;
717                                 clocks = <&pmc PMC_TYPE_PERIPHERAL 20>;
718                                 clock-names = "pwm_clk";
719                                 status = "disabled";
720                         };
721
722                         can: can@fffac000 {
723                                 compatible = "atmel,at91sam9263-can";
724                                 reg = <0xfffac000 0x300>;
725                                 interrupts = <12 IRQ_TYPE_LEVEL_HIGH 3>;
726                                 pinctrl-names = "default";
727                                 pinctrl-0 = <&pinctrl_can_rx_tx>;
728                                 clocks = <&pmc PMC_TYPE_PERIPHERAL 12>;
729                                 clock-names = "can_clk";
730                         };
731
732                         rtc@fffffd20 {
733                                 compatible = "atmel,at91sam9260-rtt";
734                                 reg = <0xfffffd20 0x10>;
735                                 interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>;
736                                 clocks = <&slow_xtal>;
737                                 status = "disabled";
738                         };
739
740                         rtc@fffffd50 {
741                                 compatible = "atmel,at91sam9260-rtt";
742                                 reg = <0xfffffd50 0x10>;
743                                 interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>;
744                                 clocks = <&slow_xtal>;
745                                 status = "disabled";
746                         };
747
748                         gpbr: syscon@fffffd60 {
749                                 compatible = "atmel,at91sam9260-gpbr", "syscon";
750                                 reg = <0xfffffd60 0x50>;
751                                 status = "disabled";
752                         };
753                 };
754
755                 fb0: fb@700000 {
756                         compatible = "atmel,at91sam9263-lcdc";
757                         reg = <0x00700000 0x1000>;
758                         interrupts = <26 IRQ_TYPE_LEVEL_HIGH 3>;
759                         pinctrl-names = "default";
760                         pinctrl-0 = <&pinctrl_fb>;
761                         clocks = <&pmc PMC_TYPE_PERIPHERAL 26>, <&pmc PMC_TYPE_PERIPHERAL 26>;
762                         clock-names = "lcdc_clk", "hclk";
763                         status = "disabled";
764                 };
765
766                 usb0: ohci@a00000 {
767                         compatible = "atmel,at91rm9200-ohci", "usb-ohci";
768                         reg = <0x00a00000 0x100000>;
769                         interrupts = <29 IRQ_TYPE_LEVEL_HIGH 2>;
770                         clocks = <&pmc PMC_TYPE_PERIPHERAL 29>, <&pmc PMC_TYPE_PERIPHERAL 29>, <&pmc PMC_TYPE_SYSTEM 6>;
771                         clock-names = "ohci_clk", "hclk", "uhpck";
772                         status = "disabled";
773                 };
774
775                 ebi0: ebi@10000000 {
776                         compatible = "atmel,at91sam9263-ebi0";
777                         #address-cells = <2>;
778                         #size-cells = <1>;
779                         atmel,smc = <&smc0>;
780                         atmel,matrix = <&matrix>;
781                         reg = <0x10000000 0x80000000>;
782                         ranges = <0x0 0x0 0x10000000 0x10000000
783                                   0x1 0x0 0x20000000 0x10000000
784                                   0x2 0x0 0x30000000 0x10000000
785                                   0x3 0x0 0x40000000 0x10000000
786                                   0x4 0x0 0x50000000 0x10000000
787                                   0x5 0x0 0x60000000 0x10000000>;
788                         clocks = <&pmc PMC_TYPE_CORE PMC_MCK>;
789                         status = "disabled";
790
791                         nand_controller0: nand-controller {
792                                 compatible = "atmel,at91sam9260-nand-controller";
793                                 #address-cells = <2>;
794                                 #size-cells = <1>;
795                                 ranges;
796                                 status = "disabled";
797                         };
798                 };
799
800                 ebi1: ebi@70000000 {
801                         compatible = "atmel,at91sam9263-ebi1";
802                         #address-cells = <2>;
803                         #size-cells = <1>;
804                         atmel,smc = <&smc1>;
805                         atmel,matrix = <&matrix>;
806                         reg = <0x80000000 0x20000000>;
807                         ranges = <0x0 0x0 0x80000000 0x10000000
808                                   0x1 0x0 0x90000000 0x10000000>;
809                         clocks = <&pmc PMC_TYPE_CORE PMC_MCK>;
810                         status = "disabled";
811
812                         nand_controller1: nand-controller {
813                                 compatible = "atmel,at91sam9260-nand-controller";
814                                 #address-cells = <2>;
815                                 #size-cells = <1>;
816                                 ranges;
817                                 status = "disabled";
818                         };
819                 };
820         };
821
822         i2c-gpio-0 {
823                 compatible = "i2c-gpio";
824                 gpios = <&pioB 4 GPIO_ACTIVE_HIGH /* sda */
825                          &pioB 5 GPIO_ACTIVE_HIGH /* scl */
826                         >;
827                 i2c-gpio,sda-open-drain;
828                 i2c-gpio,scl-open-drain;
829                 i2c-gpio,delay-us = <2>;        /* ~100 kHz */
830                 #address-cells = <1>;
831                 #size-cells = <0>;
832                 status = "disabled";
833         };
834 };