Merge ACPI APEI material for v5.11.
[linux-2.6-microblaze.git] / arch / arm / boot / dts / sama5d3.dtsi
1 // SPDX-License-Identifier: GPL-2.0-or-later
2 /*
3  * sama5d3.dtsi - Device Tree Include file for SAMA5D3 family SoC
4  *                applies to SAMA5D31, SAMA5D33, SAMA5D34, SAMA5D35, SAMA5D36 SoC
5  *
6  *  Copyright (C) 2013 Atmel,
7  *                2013 Ludovic Desroches <ludovic.desroches@atmel.com>
8  */
9
10 #include <dt-bindings/dma/at91.h>
11 #include <dt-bindings/pinctrl/at91.h>
12 #include <dt-bindings/interrupt-controller/irq.h>
13 #include <dt-bindings/gpio/gpio.h>
14 #include <dt-bindings/clock/at91.h>
15
16 / {
17         #address-cells = <1>;
18         #size-cells = <1>;
19         model = "Atmel SAMA5D3 family SoC";
20         compatible = "atmel,sama5d3", "atmel,sama5";
21         interrupt-parent = <&aic>;
22
23         aliases {
24                 serial0 = &dbgu;
25                 serial1 = &usart0;
26                 serial2 = &usart1;
27                 serial3 = &usart2;
28                 serial4 = &usart3;
29                 serial5 = &uart0;
30                 gpio0 = &pioA;
31                 gpio1 = &pioB;
32                 gpio2 = &pioC;
33                 gpio3 = &pioD;
34                 gpio4 = &pioE;
35                 tcb0 = &tcb0;
36                 i2c0 = &i2c0;
37                 i2c1 = &i2c1;
38                 i2c2 = &i2c2;
39                 ssc0 = &ssc0;
40                 ssc1 = &ssc1;
41                 pwm0 = &pwm0;
42         };
43         cpus {
44                 #address-cells = <1>;
45                 #size-cells = <0>;
46                 cpu@0 {
47                         device_type = "cpu";
48                         compatible = "arm,cortex-a5";
49                         reg = <0x0>;
50                 };
51         };
52
53         pmu {
54                 compatible = "arm,cortex-a5-pmu";
55                 interrupts = <46 IRQ_TYPE_LEVEL_HIGH 0>;
56         };
57
58         memory@20000000 {
59                 device_type = "memory";
60                 reg = <0x20000000 0x8000000>;
61         };
62
63         clocks {
64                 slow_xtal: slow_xtal {
65                         compatible = "fixed-clock";
66                         #clock-cells = <0>;
67                         clock-frequency = <0>;
68                 };
69
70                 main_xtal: main_xtal {
71                         compatible = "fixed-clock";
72                         #clock-cells = <0>;
73                         clock-frequency = <0>;
74                 };
75
76                 adc_op_clk: adc_op_clk{
77                         compatible = "fixed-clock";
78                         #clock-cells = <0>;
79                         clock-frequency = <1000000>;
80                 };
81         };
82
83         sram: sram@300000 {
84                 compatible = "mmio-sram";
85                 reg = <0x00300000 0x20000>;
86                 #address-cells = <1>;
87                 #size-cells = <1>;
88                 ranges = <0 0x00300000 0x20000>;
89         };
90
91         ahb {
92                 compatible = "simple-bus";
93                 #address-cells = <1>;
94                 #size-cells = <1>;
95                 ranges;
96
97                 apb {
98                         compatible = "simple-bus";
99                         #address-cells = <1>;
100                         #size-cells = <1>;
101                         ranges;
102
103                         mmc0: mmc@f0000000 {
104                                 compatible = "atmel,hsmci";
105                                 reg = <0xf0000000 0x600>;
106                                 interrupts = <21 IRQ_TYPE_LEVEL_HIGH 0>;
107                                 dmas = <&dma0 2 AT91_DMA_CFG_PER_ID(0)>;
108                                 dma-names = "rxtx";
109                                 pinctrl-names = "default";
110                                 pinctrl-0 = <&pinctrl_mmc0_clk_cmd_dat0 &pinctrl_mmc0_dat1_3 &pinctrl_mmc0_dat4_7>;
111                                 status = "disabled";
112                                 #address-cells = <1>;
113                                 #size-cells = <0>;
114                                 clocks = <&pmc PMC_TYPE_PERIPHERAL 21>;
115                                 clock-names = "mci_clk";
116                         };
117
118                         spi0: spi@f0004000 {
119                                 #address-cells = <1>;
120                                 #size-cells = <0>;
121                                 compatible = "atmel,at91rm9200-spi";
122                                 reg = <0xf0004000 0x100>;
123                                 interrupts = <24 IRQ_TYPE_LEVEL_HIGH 3>;
124                                 dmas = <&dma0 2 AT91_DMA_CFG_PER_ID(1)>,
125                                        <&dma0 2 AT91_DMA_CFG_PER_ID(2)>;
126                                 dma-names = "tx", "rx";
127                                 pinctrl-names = "default";
128                                 pinctrl-0 = <&pinctrl_spi0>;
129                                 clocks = <&pmc PMC_TYPE_PERIPHERAL 24>;
130                                 clock-names = "spi_clk";
131                                 status = "disabled";
132                         };
133
134                         ssc0: ssc@f0008000 {
135                                 compatible = "atmel,at91sam9g45-ssc";
136                                 reg = <0xf0008000 0x4000>;
137                                 interrupts = <38 IRQ_TYPE_LEVEL_HIGH 4>;
138                                 dmas = <&dma0 2 AT91_DMA_CFG_PER_ID(13)>,
139                                        <&dma0 2 AT91_DMA_CFG_PER_ID(14)>;
140                                 dma-names = "tx", "rx";
141                                 pinctrl-names = "default";
142                                 pinctrl-0 = <&pinctrl_ssc0_tx &pinctrl_ssc0_rx>;
143                                 clocks = <&pmc PMC_TYPE_PERIPHERAL 38>;
144                                 clock-names = "pclk";
145                                 status = "disabled";
146                         };
147
148                         tcb0: timer@f0010000 {
149                                 compatible = "atmel,at91sam9x5-tcb", "simple-mfd", "syscon";
150                                 #address-cells = <1>;
151                                 #size-cells = <0>;
152                                 reg = <0xf0010000 0x100>;
153                                 interrupts = <26 IRQ_TYPE_LEVEL_HIGH 0>;
154                                 clocks = <&pmc PMC_TYPE_PERIPHERAL 26>, <&clk32k>;
155                                 clock-names = "t0_clk", "slow_clk";
156                         };
157
158                         i2c0: i2c@f0014000 {
159                                 compatible = "atmel,at91sam9x5-i2c";
160                                 reg = <0xf0014000 0x4000>;
161                                 interrupts = <18 IRQ_TYPE_LEVEL_HIGH 6>;
162                                 dmas = <&dma0 2 AT91_DMA_CFG_PER_ID(7)>,
163                                        <&dma0 2 AT91_DMA_CFG_PER_ID(8)>;
164                                 dma-names = "tx", "rx";
165                                 pinctrl-names = "default", "gpio";
166                                 pinctrl-0 = <&pinctrl_i2c0>;
167                                 pinctrl-1 = <&pinctrl_i2c0_gpio>;
168                                 sda-gpios = <&pioA 30 GPIO_ACTIVE_HIGH>;
169                                 scl-gpios = <&pioA 31 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
170                                 #address-cells = <1>;
171                                 #size-cells = <0>;
172                                 clocks = <&pmc PMC_TYPE_PERIPHERAL 18>;
173                                 status = "disabled";
174                         };
175
176                         i2c1: i2c@f0018000 {
177                                 compatible = "atmel,at91sam9x5-i2c";
178                                 reg = <0xf0018000 0x4000>;
179                                 interrupts = <19 IRQ_TYPE_LEVEL_HIGH 6>;
180                                 dmas = <&dma0 2 AT91_DMA_CFG_PER_ID(9)>,
181                                        <&dma0 2 AT91_DMA_CFG_PER_ID(10)>;
182                                 dma-names = "tx", "rx";
183                                 pinctrl-names = "default", "gpio";
184                                 pinctrl-0 = <&pinctrl_i2c1>;
185                                 pinctrl-1 = <&pinctrl_i2c1_gpio>;
186                                 sda-gpios = <&pioC 26 GPIO_ACTIVE_HIGH>;
187                                 scl-gpios = <&pioC 27 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
188                                 #address-cells = <1>;
189                                 #size-cells = <0>;
190                                 clocks = <&pmc PMC_TYPE_PERIPHERAL 19>;
191                                 status = "disabled";
192                         };
193
194                         usart0: serial@f001c000 {
195                                 compatible = "atmel,at91sam9260-usart";
196                                 reg = <0xf001c000 0x100>;
197                                 interrupts = <12 IRQ_TYPE_LEVEL_HIGH 5>;
198                                 dmas = <&dma0 2 AT91_DMA_CFG_PER_ID(3)>,
199                                        <&dma0 2 (AT91_DMA_CFG_PER_ID(4) | AT91_DMA_CFG_FIFOCFG_ASAP)>;
200                                 dma-names = "tx", "rx";
201                                 pinctrl-names = "default";
202                                 pinctrl-0 = <&pinctrl_usart0>;
203                                 clocks = <&pmc PMC_TYPE_PERIPHERAL 12>;
204                                 clock-names = "usart";
205                                 status = "disabled";
206                         };
207
208                         usart1: serial@f0020000 {
209                                 compatible = "atmel,at91sam9260-usart";
210                                 reg = <0xf0020000 0x100>;
211                                 interrupts = <13 IRQ_TYPE_LEVEL_HIGH 5>;
212                                 dmas = <&dma0 2 AT91_DMA_CFG_PER_ID(5)>,
213                                        <&dma0 2 (AT91_DMA_CFG_PER_ID(6) | AT91_DMA_CFG_FIFOCFG_ASAP)>;
214                                 dma-names = "tx", "rx";
215                                 pinctrl-names = "default";
216                                 pinctrl-0 = <&pinctrl_usart1>;
217                                 clocks = <&pmc PMC_TYPE_PERIPHERAL 13>;
218                                 clock-names = "usart";
219                                 status = "disabled";
220                         };
221
222                         uart0: serial@f0024000 {
223                                 compatible = "atmel,at91sam9260-usart";
224                                 reg = <0xf0024000 0x100>;
225                                 interrupts = <16 IRQ_TYPE_LEVEL_HIGH 5>;
226                                 pinctrl-names = "default";
227                                 pinctrl-0 = <&pinctrl_uart0>;
228                                 clocks = <&pmc PMC_TYPE_PERIPHERAL 16>;
229                                 clock-names = "usart";
230                                 status = "disabled";
231                         };
232
233                         pwm0: pwm@f002c000 {
234                                 compatible = "atmel,sama5d3-pwm";
235                                 reg = <0xf002c000 0x300>;
236                                 interrupts = <28 IRQ_TYPE_LEVEL_HIGH 4>;
237                                 #pwm-cells = <3>;
238                                 clocks = <&pmc PMC_TYPE_PERIPHERAL 28>;
239                                 status = "disabled";
240                         };
241
242                         isi: isi@f0034000 {
243                                 compatible = "atmel,at91sam9g45-isi";
244                                 reg = <0xf0034000 0x4000>;
245                                 interrupts = <37 IRQ_TYPE_LEVEL_HIGH 5>;
246                                 pinctrl-names = "default";
247                                 pinctrl-0 = <&pinctrl_isi_data_0_7>;
248                                 clocks = <&pmc PMC_TYPE_PERIPHERAL 37>;
249                                 clock-names = "isi_clk";
250                                 status = "disabled";
251                                 port {
252                                         #address-cells = <1>;
253                                         #size-cells = <0>;
254                                 };
255                         };
256
257                         sfr: sfr@f0038000 {
258                                 compatible = "atmel,sama5d3-sfr", "syscon";
259                                 reg = <0xf0038000 0x60>;
260                         };
261
262                         mmc1: mmc@f8000000 {
263                                 compatible = "atmel,hsmci";
264                                 reg = <0xf8000000 0x600>;
265                                 interrupts = <22 IRQ_TYPE_LEVEL_HIGH 0>;
266                                 dmas = <&dma1 2 AT91_DMA_CFG_PER_ID(0)>;
267                                 dma-names = "rxtx";
268                                 pinctrl-names = "default";
269                                 pinctrl-0 = <&pinctrl_mmc1_clk_cmd_dat0 &pinctrl_mmc1_dat1_3>;
270                                 status = "disabled";
271                                 #address-cells = <1>;
272                                 #size-cells = <0>;
273                                 clocks = <&pmc PMC_TYPE_PERIPHERAL 22>;
274                                 clock-names = "mci_clk";
275                         };
276
277                         spi1: spi@f8008000 {
278                                 #address-cells = <1>;
279                                 #size-cells = <0>;
280                                 compatible = "atmel,at91rm9200-spi";
281                                 reg = <0xf8008000 0x100>;
282                                 interrupts = <25 IRQ_TYPE_LEVEL_HIGH 3>;
283                                 dmas = <&dma1 2 AT91_DMA_CFG_PER_ID(15)>,
284                                        <&dma1 2 AT91_DMA_CFG_PER_ID(16)>;
285                                 dma-names = "tx", "rx";
286                                 pinctrl-names = "default";
287                                 pinctrl-0 = <&pinctrl_spi1>;
288                                 clocks = <&pmc PMC_TYPE_PERIPHERAL 25>;
289                                 clock-names = "spi_clk";
290                                 status = "disabled";
291                         };
292
293                         ssc1: ssc@f800c000 {
294                                 compatible = "atmel,at91sam9g45-ssc";
295                                 reg = <0xf800c000 0x4000>;
296                                 interrupts = <39 IRQ_TYPE_LEVEL_HIGH 4>;
297                                 dmas = <&dma1 2 AT91_DMA_CFG_PER_ID(3)>,
298                                        <&dma1 2 AT91_DMA_CFG_PER_ID(4)>;
299                                 dma-names = "tx", "rx";
300                                 pinctrl-names = "default";
301                                 pinctrl-0 = <&pinctrl_ssc1_tx &pinctrl_ssc1_rx>;
302                                 clocks = <&pmc PMC_TYPE_PERIPHERAL 39>;
303                                 clock-names = "pclk";
304                                 status = "disabled";
305                         };
306
307                         adc0: adc@f8018000 {
308                                 #address-cells = <1>;
309                                 #size-cells = <0>;
310                                 compatible = "atmel,at91sam9x5-adc";
311                                 reg = <0xf8018000 0x100>;
312                                 interrupts = <29 IRQ_TYPE_LEVEL_HIGH 5>;
313                                 pinctrl-names = "default";
314                                 pinctrl-0 = <
315                                         &pinctrl_adc0_adtrg
316                                         &pinctrl_adc0_ad0
317                                         &pinctrl_adc0_ad1
318                                         &pinctrl_adc0_ad2
319                                         &pinctrl_adc0_ad3
320                                         &pinctrl_adc0_ad4
321                                         &pinctrl_adc0_ad5
322                                         &pinctrl_adc0_ad6
323                                         &pinctrl_adc0_ad7
324                                         &pinctrl_adc0_ad8
325                                         &pinctrl_adc0_ad9
326                                         &pinctrl_adc0_ad10
327                                         &pinctrl_adc0_ad11
328                                         >;
329                                 clocks = <&pmc PMC_TYPE_PERIPHERAL 29>,
330                                          <&adc_op_clk>;
331                                 clock-names = "adc_clk", "adc_op_clk";
332                                 atmel,adc-channels-used = <0xfff>;
333                                 atmel,adc-startup-time = <40>;
334                                 atmel,adc-use-external-triggers;
335                                 atmel,adc-vref = <3000>;
336                                 atmel,adc-res = <10 12>;
337                                 atmel,adc-sample-hold-time = <11>;
338                                 atmel,adc-res-names = "lowres", "highres";
339                                 status = "disabled";
340
341                                 trigger0 {
342                                         trigger-name = "external-rising";
343                                         trigger-value = <0x1>;
344                                         trigger-external;
345                                 };
346                                 trigger1 {
347                                         trigger-name = "external-falling";
348                                         trigger-value = <0x2>;
349                                         trigger-external;
350                                 };
351                                 trigger2 {
352                                         trigger-name = "external-any";
353                                         trigger-value = <0x3>;
354                                         trigger-external;
355                                 };
356                                 trigger3 {
357                                         trigger-name = "continuous";
358                                         trigger-value = <0x6>;
359                                 };
360                         };
361
362                         i2c2: i2c@f801c000 {
363                                 compatible = "atmel,at91sam9x5-i2c";
364                                 reg = <0xf801c000 0x4000>;
365                                 interrupts = <20 IRQ_TYPE_LEVEL_HIGH 6>;
366                                 dmas = <&dma1 2 AT91_DMA_CFG_PER_ID(11)>,
367                                        <&dma1 2 AT91_DMA_CFG_PER_ID(12)>;
368                                 dma-names = "tx", "rx";
369                                 pinctrl-names = "default", "gpio";
370                                 pinctrl-0 = <&pinctrl_i2c2>;
371                                 pinctrl-1 = <&pinctrl_i2c2_gpio>;
372                                 sda-gpios = <&pioA 18 GPIO_ACTIVE_HIGH>;
373                                 scl-gpios = <&pioA 19 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
374                                 #address-cells = <1>;
375                                 #size-cells = <0>;
376                                 clocks = <&pmc PMC_TYPE_PERIPHERAL 20>;
377                                 status = "disabled";
378                         };
379
380                         usart2: serial@f8020000 {
381                                 compatible = "atmel,at91sam9260-usart";
382                                 reg = <0xf8020000 0x100>;
383                                 interrupts = <14 IRQ_TYPE_LEVEL_HIGH 5>;
384                                 dmas = <&dma1 2 AT91_DMA_CFG_PER_ID(7)>,
385                                        <&dma1 2 (AT91_DMA_CFG_PER_ID(8) | AT91_DMA_CFG_FIFOCFG_ASAP)>;
386                                 dma-names = "tx", "rx";
387                                 pinctrl-names = "default";
388                                 pinctrl-0 = <&pinctrl_usart2>;
389                                 clocks = <&pmc PMC_TYPE_PERIPHERAL 14>;
390                                 clock-names = "usart";
391                                 status = "disabled";
392                         };
393
394                         usart3: serial@f8024000 {
395                                 compatible = "atmel,at91sam9260-usart";
396                                 reg = <0xf8024000 0x100>;
397                                 interrupts = <15 IRQ_TYPE_LEVEL_HIGH 5>;
398                                 dmas = <&dma1 2 AT91_DMA_CFG_PER_ID(9)>,
399                                        <&dma1 2 (AT91_DMA_CFG_PER_ID(10) | AT91_DMA_CFG_FIFOCFG_ASAP)>;
400                                 dma-names = "tx", "rx";
401                                 pinctrl-names = "default";
402                                 pinctrl-0 = <&pinctrl_usart3>;
403                                 clocks = <&pmc PMC_TYPE_PERIPHERAL 15>;
404                                 clock-names = "usart";
405                                 status = "disabled";
406                         };
407
408                         sha@f8034000 {
409                                 compatible = "atmel,at91sam9g46-sha";
410                                 reg = <0xf8034000 0x100>;
411                                 interrupts = <42 IRQ_TYPE_LEVEL_HIGH 0>;
412                                 dmas = <&dma1 2 AT91_DMA_CFG_PER_ID(17)>;
413                                 dma-names = "tx";
414                                 clocks = <&pmc PMC_TYPE_PERIPHERAL 42>;
415                                 clock-names = "sha_clk";
416                         };
417
418                         aes@f8038000 {
419                                 compatible = "atmel,at91sam9g46-aes";
420                                 reg = <0xf8038000 0x100>;
421                                 interrupts = <43 IRQ_TYPE_LEVEL_HIGH 0>;
422                                 dmas = <&dma1 2 AT91_DMA_CFG_PER_ID(18)>,
423                                        <&dma1 2 AT91_DMA_CFG_PER_ID(19)>;
424                                 dma-names = "tx", "rx";
425                                 clocks = <&pmc PMC_TYPE_PERIPHERAL 43>;
426                                 clock-names = "aes_clk";
427                         };
428
429                         tdes@f803c000 {
430                                 compatible = "atmel,at91sam9g46-tdes";
431                                 reg = <0xf803c000 0x100>;
432                                 interrupts = <44 IRQ_TYPE_LEVEL_HIGH 0>;
433                                 dmas = <&dma1 2 AT91_DMA_CFG_PER_ID(20)>,
434                                        <&dma1 2 AT91_DMA_CFG_PER_ID(21)>;
435                                 dma-names = "tx", "rx";
436                                 clocks = <&pmc PMC_TYPE_PERIPHERAL 44>;
437                                 clock-names = "tdes_clk";
438                         };
439
440                         trng@f8040000 {
441                                 compatible = "atmel,at91sam9g45-trng";
442                                 reg = <0xf8040000 0x100>;
443                                 interrupts = <45 IRQ_TYPE_LEVEL_HIGH 0>;
444                                 clocks = <&pmc PMC_TYPE_PERIPHERAL 45>;
445                         };
446
447                         hsmc: hsmc@ffffc000 {
448                                 compatible = "atmel,sama5d3-smc", "syscon", "simple-mfd";
449                                 reg = <0xffffc000 0x1000>;
450                                 interrupts = <5 IRQ_TYPE_LEVEL_HIGH 6>;
451                                 clocks = <&pmc PMC_TYPE_PERIPHERAL 5>;
452                                 #address-cells = <1>;
453                                 #size-cells = <1>;
454                                 ranges;
455
456                                 pmecc: ecc-engine@ffffc070 {
457                                         compatible = "atmel,at91sam9g45-pmecc";
458                                         reg = <0xffffc070 0x490>,
459                                               <0xffffc500 0x100>;
460                                 };
461                         };
462
463                         dma0: dma-controller@ffffe600 {
464                                 compatible = "atmel,at91sam9g45-dma";
465                                 reg = <0xffffe600 0x200>;
466                                 interrupts = <30 IRQ_TYPE_LEVEL_HIGH 0>;
467                                 #dma-cells = <2>;
468                                 clocks = <&pmc PMC_TYPE_PERIPHERAL 30>;
469                                 clock-names = "dma_clk";
470                         };
471
472                         dma1: dma-controller@ffffe800 {
473                                 compatible = "atmel,at91sam9g45-dma";
474                                 reg = <0xffffe800 0x200>;
475                                 interrupts = <31 IRQ_TYPE_LEVEL_HIGH 0>;
476                                 #dma-cells = <2>;
477                                 clocks = <&pmc PMC_TYPE_PERIPHERAL 31>;
478                                 clock-names = "dma_clk";
479                         };
480
481                         ramc0: ramc@ffffea00 {
482                                 compatible = "atmel,sama5d3-ddramc";
483                                 reg = <0xffffea00 0x200>;
484                                 clocks = <&pmc PMC_TYPE_SYSTEM 2>, <&pmc PMC_TYPE_PERIPHERAL 49>;
485                                 clock-names = "ddrck", "mpddr";
486                         };
487
488                         dbgu: serial@ffffee00 {
489                                 compatible = "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";
490                                 reg = <0xffffee00 0x200>;
491                                 interrupts = <2 IRQ_TYPE_LEVEL_HIGH 7>;
492                                 dmas = <&dma1 2 AT91_DMA_CFG_PER_ID(13)>,
493                                        <&dma1 2 (AT91_DMA_CFG_PER_ID(14) | AT91_DMA_CFG_FIFOCFG_ASAP)>;
494                                 dma-names = "tx", "rx";
495                                 pinctrl-names = "default";
496                                 pinctrl-0 = <&pinctrl_dbgu>;
497                                 clocks = <&pmc PMC_TYPE_PERIPHERAL 2>;
498                                 clock-names = "usart";
499                                 status = "disabled";
500                         };
501
502                         aic: interrupt-controller@fffff000 {
503                                 #interrupt-cells = <3>;
504                                 compatible = "atmel,sama5d3-aic";
505                                 interrupt-controller;
506                                 reg = <0xfffff000 0x200>;
507                                 atmel,external-irqs = <47>;
508                         };
509
510                         pinctrl: pinctrl@fffff200 {
511                                 #address-cells = <1>;
512                                 #size-cells = <1>;
513                                 compatible = "atmel,sama5d3-pinctrl", "atmel,at91sam9x5-pinctrl", "simple-bus";
514                                 ranges = <0xfffff200 0xfffff200 0xa00>;
515                                 atmel,mux-mask = <
516                                         /*   A          B          C  */
517                                         0xffffffff 0xc0fc0000 0xc0ff0000        /* pioA */
518                                         0xffffffff 0x0ff8ffff 0x00000000        /* pioB */
519                                         0xffffffff 0xbc00f1ff 0x7c00fc00        /* pioC */
520                                         0xffffffff 0xc001c0e0 0x0001c1e0        /* pioD */
521                                         0xffffffff 0xbf9f8000 0x18000000        /* pioE */
522                                         >;
523
524                                 /* shared pinctrl settings */
525                                 adc0 {
526                                         pinctrl_adc0_adtrg: adc0_adtrg {
527                                                 atmel,pins =
528                                                         <AT91_PIOD 19 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PD19 periph A ADTRG */
529                                         };
530                                         pinctrl_adc0_ad0: adc0_ad0 {
531                                                 atmel,pins =
532                                                         <AT91_PIOD 20 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PD20 periph A AD0 */
533                                         };
534                                         pinctrl_adc0_ad1: adc0_ad1 {
535                                                 atmel,pins =
536                                                         <AT91_PIOD 21 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PD21 periph A AD1 */
537                                         };
538                                         pinctrl_adc0_ad2: adc0_ad2 {
539                                                 atmel,pins =
540                                                         <AT91_PIOD 22 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PD22 periph A AD2 */
541                                         };
542                                         pinctrl_adc0_ad3: adc0_ad3 {
543                                                 atmel,pins =
544                                                         <AT91_PIOD 23 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PD23 periph A AD3 */
545                                         };
546                                         pinctrl_adc0_ad4: adc0_ad4 {
547                                                 atmel,pins =
548                                                         <AT91_PIOD 24 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PD24 periph A AD4 */
549                                         };
550                                         pinctrl_adc0_ad5: adc0_ad5 {
551                                                 atmel,pins =
552                                                         <AT91_PIOD 25 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PD25 periph A AD5 */
553                                         };
554                                         pinctrl_adc0_ad6: adc0_ad6 {
555                                                 atmel,pins =
556                                                         <AT91_PIOD 26 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PD26 periph A AD6 */
557                                         };
558                                         pinctrl_adc0_ad7: adc0_ad7 {
559                                                 atmel,pins =
560                                                         <AT91_PIOD 27 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PD27 periph A AD7 */
561                                         };
562                                         pinctrl_adc0_ad8: adc0_ad8 {
563                                                 atmel,pins =
564                                                         <AT91_PIOD 28 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PD28 periph A AD8 */
565                                         };
566                                         pinctrl_adc0_ad9: adc0_ad9 {
567                                                 atmel,pins =
568                                                         <AT91_PIOD 29 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PD29 periph A AD9 */
569                                         };
570                                         pinctrl_adc0_ad10: adc0_ad10 {
571                                                 atmel,pins =
572                                                         <AT91_PIOD 30 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PD30 periph A AD10, conflicts with PCK0 */
573                                         };
574                                         pinctrl_adc0_ad11: adc0_ad11 {
575                                                 atmel,pins =
576                                                         <AT91_PIOD 31 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PD31 periph A AD11, conflicts with PCK1 */
577                                         };
578                                 };
579
580                                 dbgu {
581                                         pinctrl_dbgu: dbgu-0 {
582                                                 atmel,pins =
583                                                         <AT91_PIOB 30 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
584                                                          AT91_PIOB 31 AT91_PERIPH_A AT91_PINCTRL_NONE>;
585                                         };
586                                 };
587
588                                 ebi {
589                                         pinctrl_ebi_addr: ebi-addr-0 {
590                                                 atmel,pins =
591                                                         <AT91_PIOE 1 AT91_PERIPH_A AT91_PINCTRL_NONE
592                                                          AT91_PIOE 2 AT91_PERIPH_A AT91_PINCTRL_NONE
593                                                          AT91_PIOE 3 AT91_PERIPH_A AT91_PINCTRL_NONE
594                                                          AT91_PIOE 4 AT91_PERIPH_A AT91_PINCTRL_NONE
595                                                          AT91_PIOE 5 AT91_PERIPH_A AT91_PINCTRL_NONE
596                                                          AT91_PIOE 6 AT91_PERIPH_A AT91_PINCTRL_NONE
597                                                          AT91_PIOE 7 AT91_PERIPH_A AT91_PINCTRL_NONE
598                                                          AT91_PIOE 8 AT91_PERIPH_A AT91_PINCTRL_NONE
599                                                          AT91_PIOE 9 AT91_PERIPH_A AT91_PINCTRL_NONE
600                                                          AT91_PIOE 10 AT91_PERIPH_A AT91_PINCTRL_NONE
601                                                          AT91_PIOE 11 AT91_PERIPH_A AT91_PINCTRL_NONE
602                                                          AT91_PIOE 12 AT91_PERIPH_A AT91_PINCTRL_NONE
603                                                          AT91_PIOE 13 AT91_PERIPH_A AT91_PINCTRL_NONE
604                                                          AT91_PIOE 14 AT91_PERIPH_A AT91_PINCTRL_NONE
605                                                          AT91_PIOE 15 AT91_PERIPH_A AT91_PINCTRL_NONE
606                                                          AT91_PIOE 16 AT91_PERIPH_A AT91_PINCTRL_NONE
607                                                          AT91_PIOE 17 AT91_PERIPH_A AT91_PINCTRL_NONE
608                                                          AT91_PIOE 18 AT91_PERIPH_A AT91_PINCTRL_NONE
609                                                          AT91_PIOE 19 AT91_PERIPH_A AT91_PINCTRL_NONE
610                                                          AT91_PIOE 20 AT91_PERIPH_A AT91_PINCTRL_NONE
611                                                          AT91_PIOE 21 AT91_PERIPH_A AT91_PINCTRL_NONE
612                                                          AT91_PIOE 22 AT91_PERIPH_A AT91_PINCTRL_NONE
613                                                          AT91_PIOE 23 AT91_PERIPH_A AT91_PINCTRL_NONE>;
614                                         };
615
616                                         pinctrl_ebi_nand_addr: ebi-addr-1 {
617                                                 atmel,pins =
618                                                         <AT91_PIOE 21 AT91_PERIPH_A AT91_PINCTRL_NONE
619                                                          AT91_PIOE 22 AT91_PERIPH_A AT91_PINCTRL_NONE>;
620                                         };
621
622                                         pinctrl_ebi_cs0: ebi-cs0-0 {
623                                                 atmel,pins =
624                                                         <AT91_PIOE 24 AT91_PERIPH_A AT91_PINCTRL_NONE>;
625                                         };
626
627                                         pinctrl_ebi_cs1: ebi-cs1-0 {
628                                                 atmel,pins =
629                                                         <AT91_PIOE 25 AT91_PERIPH_A AT91_PINCTRL_NONE>;
630                                         };
631
632                                         pinctrl_ebi_cs2: ebi-cs2-0 {
633                                                 atmel,pins =
634                                                         <AT91_PIOE 26 AT91_PERIPH_A AT91_PINCTRL_NONE>;
635                                         };
636
637                                         pinctrl_ebi_nwait: ebi-nwait-0 {
638                                                 atmel,pins =
639                                                         <AT91_PIOE 28 AT91_PERIPH_A AT91_PINCTRL_NONE>;
640                                         };
641
642                                         pinctrl_ebi_nwr1_nbs1: ebi-nwr1-nbs1-0 {
643                                                 atmel,pins =
644                                                         <AT91_PIOE 27 AT91_PERIPH_A AT91_PINCTRL_NONE>;
645                                         };
646                                 };
647
648                                 i2c0 {
649                                         pinctrl_i2c0: i2c0-0 {
650                                                 atmel,pins =
651                                                         <AT91_PIOA 30 AT91_PERIPH_A AT91_PINCTRL_NONE   /* PA30 periph A TWD0 pin, conflicts with URXD1, ISI_VSYNC */
652                                                          AT91_PIOA 31 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PA31 periph A TWCK0 pin, conflicts with UTXD1, ISI_HSYNC */
653                                         };
654
655                                         pinctrl_i2c0_gpio: i2c0-gpio {
656                                                 atmel,pins =
657                                                         <AT91_PIOA 30 AT91_PERIPH_GPIO AT91_PINCTRL_NONE
658                                                          AT91_PIOA 31 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
659                                         };
660                                 };
661
662                                 i2c1 {
663                                         pinctrl_i2c1: i2c1-0 {
664                                                 atmel,pins =
665                                                         <AT91_PIOC 26 AT91_PERIPH_B AT91_PINCTRL_NONE   /* PC26 periph B TWD1 pin, conflicts with SPI1_NPCS1, ISI_D11 */
666                                                          AT91_PIOC 27 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PC27 periph B TWCK1 pin, conflicts with SPI1_NPCS2, ISI_D10 */
667                                         };
668
669                                         pinctrl_i2c1_gpio: i2c1-gpio {
670                                                 atmel,pins =
671                                                         <AT91_PIOC 26 AT91_PERIPH_GPIO AT91_PINCTRL_NONE
672                                                          AT91_PIOC 27 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
673                                         };
674                                 };
675
676                                 i2c2 {
677                                         pinctrl_i2c2: i2c2-0 {
678                                                 atmel,pins =
679                                                         <AT91_PIOA 18 AT91_PERIPH_B AT91_PINCTRL_NONE   /* TWD2 pin, conflicts with LCDDAT18, ISI_D2 */
680                                                          AT91_PIOA 19 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* TWCK2 pin, conflicts with LCDDAT19, ISI_D3 */
681                                         };
682
683                                         pinctrl_i2c2_gpio: i2c2-gpio {
684                                                 atmel,pins =
685                                                         <AT91_PIOA 18 AT91_PERIPH_GPIO AT91_PINCTRL_NONE
686                                                          AT91_PIOA 19 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
687                                         };
688                                 };
689
690                                 isi {
691                                         pinctrl_isi_data_0_7: isi-0-data-0-7 {
692                                                 atmel,pins =
693                                                         <AT91_PIOA 16 AT91_PERIPH_C AT91_PINCTRL_NONE   /* PA16 periph C ISI_D0, conflicts with LCDDAT16 */
694                                                          AT91_PIOA 17 AT91_PERIPH_C AT91_PINCTRL_NONE   /* PA17 periph C ISI_D1, conflicts with LCDDAT17 */
695                                                          AT91_PIOA 18 AT91_PERIPH_C AT91_PINCTRL_NONE   /* PA18 periph C ISI_D2, conflicts with LCDDAT18, TWD2 */
696                                                          AT91_PIOA 19 AT91_PERIPH_C AT91_PINCTRL_NONE   /* PA19 periph C ISI_D3, conflicts with LCDDAT19, TWCK2 */
697                                                          AT91_PIOA 20 AT91_PERIPH_C AT91_PINCTRL_NONE   /* PA20 periph C ISI_D4, conflicts with LCDDAT20, PWMH0 */
698                                                          AT91_PIOA 21 AT91_PERIPH_C AT91_PINCTRL_NONE   /* PA21 periph C ISI_D5, conflicts with LCDDAT21, PWML0 */
699                                                          AT91_PIOA 22 AT91_PERIPH_C AT91_PINCTRL_NONE   /* PA22 periph C ISI_D6, conflicts with LCDDAT22, PWMH1 */
700                                                          AT91_PIOA 23 AT91_PERIPH_C AT91_PINCTRL_NONE   /* PA23 periph C ISI_D7, conflicts with LCDDAT23, PWML1 */
701                                                          AT91_PIOC 30 AT91_PERIPH_C AT91_PINCTRL_NONE   /* PC30 periph C ISI_PCK, conflicts with UTXD0 */
702                                                          AT91_PIOA 31 AT91_PERIPH_C AT91_PINCTRL_NONE   /* PA31 periph C ISI_HSYNC, conflicts with TWCK0, UTXD1 */
703                                                          AT91_PIOA 30 AT91_PERIPH_C AT91_PINCTRL_NONE>; /* PA30 periph C ISI_VSYNC, conflicts with TWD0, URXD1 */
704                                         };
705
706                                         pinctrl_isi_data_8_9: isi-0-data-8-9 {
707                                                 atmel,pins =
708                                                         <AT91_PIOC 29 AT91_PERIPH_C AT91_PINCTRL_NONE   /* PC29 periph C ISI_PD8, conflicts with URXD0, PWMFI2 */
709                                                          AT91_PIOC 28 AT91_PERIPH_C AT91_PINCTRL_NONE>; /* PC28 periph C ISI_PD9, conflicts with SPI1_NPCS3, PWMFI0 */
710                                         };
711
712                                         pinctrl_isi_data_10_11: isi-0-data-10-11 {
713                                                 atmel,pins =
714                                                         <AT91_PIOC 27 AT91_PERIPH_C AT91_PINCTRL_NONE   /* PC27 periph C ISI_PD10, conflicts with SPI1_NPCS2, TWCK1 */
715                                                          AT91_PIOC 26 AT91_PERIPH_C AT91_PINCTRL_NONE>; /* PC26 periph C ISI_PD11, conflicts with SPI1_NPCS1, TWD1 */
716                                         };
717                                 };
718
719                                 mmc0 {
720                                         pinctrl_mmc0_clk_cmd_dat0: mmc0_clk_cmd_dat0 {
721                                                 atmel,pins =
722                                                         <AT91_PIOD 9 AT91_PERIPH_A AT91_PINCTRL_NONE    /* PD9 periph A MCI0_CK */
723                                                          AT91_PIOD 0 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PD0 periph A MCI0_CDA with pullup */
724                                                          AT91_PIOD 1 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;       /* PD1 periph A MCI0_DA0 with pullup */
725                                         };
726                                         pinctrl_mmc0_dat1_3: mmc0_dat1_3 {
727                                                 atmel,pins =
728                                                         <AT91_PIOD 2 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PD2 periph A MCI0_DA1 with pullup */
729                                                          AT91_PIOD 3 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PD3 periph A MCI0_DA2 with pullup */
730                                                          AT91_PIOD 4 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;       /* PD4 periph A MCI0_DA3 with pullup */
731                                         };
732                                         pinctrl_mmc0_dat4_7: mmc0_dat4_7 {
733                                                 atmel,pins =
734                                                         <AT91_PIOD 5 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PD5 periph A MCI0_DA4 with pullup, conflicts with TIOA0, PWMH2 */
735                                                          AT91_PIOD 6 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PD6 periph A MCI0_DA5 with pullup, conflicts with TIOB0, PWML2 */
736                                                          AT91_PIOD 7 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PD7 periph A MCI0_DA6 with pullup, conlicts with TCLK0, PWMH3 */
737                                                          AT91_PIOD 8 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;       /* PD8 periph A MCI0_DA7 with pullup, conflicts with PWML3 */
738                                         };
739                                 };
740
741                                 mmc1 {
742                                         pinctrl_mmc1_clk_cmd_dat0: mmc1_clk_cmd_dat0 {
743                                                 atmel,pins =
744                                                         <AT91_PIOB 24 AT91_PERIPH_A AT91_PINCTRL_NONE   /* PB24 periph A MCI1_CK, conflicts with GRX5 */
745                                                          AT91_PIOB 19 AT91_PERIPH_A AT91_PINCTRL_PULL_UP        /* PB19 periph A MCI1_CDA with pullup, conflicts with GTX4 */
746                                                          AT91_PIOB 20 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;      /* PB20 periph A MCI1_DA0 with pullup, conflicts with GTX5 */
747                                         };
748                                         pinctrl_mmc1_dat1_3: mmc1_dat1_3 {
749                                                 atmel,pins =
750                                                         <AT91_PIOB 21 AT91_PERIPH_A AT91_PINCTRL_PULL_UP        /* PB21 periph A MCI1_DA1 with pullup, conflicts with GTX6 */
751                                                          AT91_PIOB 22 AT91_PERIPH_A AT91_PINCTRL_PULL_UP        /* PB22 periph A MCI1_DA2 with pullup, conflicts with GTX7 */
752                                                          AT91_PIOB 23 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;      /* PB23 periph A MCI1_DA3 with pullup, conflicts with GRX4 */
753                                         };
754                                 };
755
756                                 nand0 {
757                                         pinctrl_nand0_ale_cle: nand0_ale_cle-0 {
758                                                 atmel,pins =
759                                                         <AT91_PIOE 21 AT91_PERIPH_A AT91_PINCTRL_PULL_UP        /* PE21 periph A with pullup */
760                                                          AT91_PIOE 22 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;      /* PE22 periph A with pullup */
761                                         };
762                                 };
763
764                                 pwm0 {
765                                         pinctrl_pwm0_pwmh0_0: pwm0_pwmh0-0 {
766                                                 atmel,pins =
767                                                         <AT91_PIOA 20 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* conflicts with ISI_D4 and LCDDAT20 */
768                                         };
769                                         pinctrl_pwm0_pwmh0_1: pwm0_pwmh0-1 {
770                                                 atmel,pins =
771                                                         <AT91_PIOB 0 AT91_PERIPH_B AT91_PINCTRL_NONE>;  /* conflicts with GTX0 */
772                                         };
773                                         pinctrl_pwm0_pwml0_0: pwm0_pwml0-0 {
774                                                 atmel,pins =
775                                                         <AT91_PIOA 21 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* conflicts with ISI_D5 and LCDDAT21 */
776                                         };
777                                         pinctrl_pwm0_pwml0_1: pwm0_pwml0-1 {
778                                                 atmel,pins =
779                                                         <AT91_PIOB 1 AT91_PERIPH_B AT91_PINCTRL_NONE>;  /* conflicts with GTX1 */
780                                         };
781
782                                         pinctrl_pwm0_pwmh1_0: pwm0_pwmh1-0 {
783                                                 atmel,pins =
784                                                         <AT91_PIOA 22 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* conflicts with ISI_D6 and LCDDAT22 */
785                                         };
786                                         pinctrl_pwm0_pwmh1_1: pwm0_pwmh1-1 {
787                                                 atmel,pins =
788                                                         <AT91_PIOB 4 AT91_PERIPH_B AT91_PINCTRL_NONE>;  /* conflicts with GRX0 */
789                                         };
790                                         pinctrl_pwm0_pwmh1_2: pwm0_pwmh1-2 {
791                                                 atmel,pins =
792                                                         <AT91_PIOB 27 AT91_PERIPH_C AT91_PINCTRL_NONE>; /* conflicts with G125CKO and RTS1 */
793                                         };
794                                         pinctrl_pwm0_pwml1_0: pwm0_pwml1-0 {
795                                                 atmel,pins =
796                                                         <AT91_PIOA 23 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* conflicts with ISI_D7 and LCDDAT23 */
797                                         };
798                                         pinctrl_pwm0_pwml1_1: pwm0_pwml1-1 {
799                                                 atmel,pins =
800                                                         <AT91_PIOB 5 AT91_PERIPH_B AT91_PINCTRL_NONE>;  /* conflicts with GRX1 */
801                                         };
802                                         pinctrl_pwm0_pwml1_2: pwm0_pwml1-2 {
803                                                 atmel,pins =
804                                                         <AT91_PIOE 31 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* conflicts with IRQ */
805                                         };
806
807                                         pinctrl_pwm0_pwmh2_0: pwm0_pwmh2-0 {
808                                                 atmel,pins =
809                                                         <AT91_PIOB 8 AT91_PERIPH_B AT91_PINCTRL_NONE>;  /* conflicts with GTXCK */
810                                         };
811                                         pinctrl_pwm0_pwmh2_1: pwm0_pwmh2-1 {
812                                                 atmel,pins =
813                                                         <AT91_PIOD 5 AT91_PERIPH_C AT91_PINCTRL_NONE>;  /* conflicts with MCI0_DA4 and TIOA0 */
814                                         };
815                                         pinctrl_pwm0_pwml2_0: pwm0_pwml2-0 {
816                                                 atmel,pins =
817                                                         <AT91_PIOB 9 AT91_PERIPH_B AT91_PINCTRL_NONE>;  /* conflicts with GTXEN */
818                                         };
819                                         pinctrl_pwm0_pwml2_1: pwm0_pwml2-1 {
820                                                 atmel,pins =
821                                                         <AT91_PIOD 6 AT91_PERIPH_C AT91_PINCTRL_NONE>;  /* conflicts with MCI0_DA5 and TIOB0 */
822                                         };
823
824                                         pinctrl_pwm0_pwmh3_0: pwm0_pwmh3-0 {
825                                                 atmel,pins =
826                                                         <AT91_PIOB 12 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* conflicts with GRXDV */
827                                         };
828                                         pinctrl_pwm0_pwmh3_1: pwm0_pwmh3-1 {
829                                                 atmel,pins =
830                                                         <AT91_PIOD 7 AT91_PERIPH_C AT91_PINCTRL_NONE>;  /* conflicts with MCI0_DA6 and TCLK0 */
831                                         };
832                                         pinctrl_pwm0_pwml3_0: pwm0_pwml3-0 {
833                                                 atmel,pins =
834                                                         <AT91_PIOB 13 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* conflicts with GRXER */
835                                         };
836                                         pinctrl_pwm0_pwml3_1: pwm0_pwml3-1 {
837                                                 atmel,pins =
838                                                         <AT91_PIOD 8 AT91_PERIPH_C AT91_PINCTRL_NONE>;  /* conflicts with MCI0_DA7 */
839                                         };
840                                 };
841
842                                 spi0 {
843                                         pinctrl_spi0: spi0-0 {
844                                                 atmel,pins =
845                                                         <AT91_PIOD 10 AT91_PERIPH_A AT91_PINCTRL_NONE   /* PD10 periph A SPI0_MISO pin */
846                                                          AT91_PIOD 11 AT91_PERIPH_A AT91_PINCTRL_NONE   /* PD11 periph A SPI0_MOSI pin */
847                                                          AT91_PIOD 12 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PD12 periph A SPI0_SPCK pin */
848                                         };
849                                 };
850
851                                 spi1 {
852                                         pinctrl_spi1: spi1-0 {
853                                                 atmel,pins =
854                                                         <AT91_PIOC 22 AT91_PERIPH_A AT91_PINCTRL_NONE   /* PC22 periph A SPI1_MISO pin */
855                                                          AT91_PIOC 23 AT91_PERIPH_A AT91_PINCTRL_NONE   /* PC23 periph A SPI1_MOSI pin */
856                                                          AT91_PIOC 24 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PC24 periph A SPI1_SPCK pin */
857                                         };
858                                 };
859
860                                 ssc0 {
861                                         pinctrl_ssc0_tx: ssc0_tx {
862                                                 atmel,pins =
863                                                         <AT91_PIOC 16 AT91_PERIPH_A AT91_PINCTRL_NONE   /* PC16 periph A TK0 */
864                                                          AT91_PIOC 17 AT91_PERIPH_A AT91_PINCTRL_NONE   /* PC17 periph A TF0 */
865                                                          AT91_PIOC 18 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PC18 periph A TD0 */
866                                         };
867
868                                         pinctrl_ssc0_rx: ssc0_rx {
869                                                 atmel,pins =
870                                                         <AT91_PIOC 19 AT91_PERIPH_A AT91_PINCTRL_NONE   /* PC19 periph A RK0 */
871                                                          AT91_PIOC 20 AT91_PERIPH_A AT91_PINCTRL_NONE   /* PC20 periph A RF0 */
872                                                          AT91_PIOC 21 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PC21 periph A RD0 */
873                                         };
874                                 };
875
876                                 ssc1 {
877                                         pinctrl_ssc1_tx: ssc1_tx {
878                                                 atmel,pins =
879                                                         <AT91_PIOB 2 AT91_PERIPH_B AT91_PINCTRL_NONE    /* PB2 periph B TK1, conflicts with GTX2 */
880                                                          AT91_PIOB 3 AT91_PERIPH_B AT91_PINCTRL_NONE    /* PB3 periph B TF1, conflicts with GTX3 */
881                                                          AT91_PIOB 6 AT91_PERIPH_B AT91_PINCTRL_NONE>;  /* PB6 periph B TD1, conflicts with TD1 */
882                                         };
883
884                                         pinctrl_ssc1_rx: ssc1_rx {
885                                                 atmel,pins =
886                                                         <AT91_PIOB 7 AT91_PERIPH_B AT91_PINCTRL_NONE    /* PB7 periph B RK1, conflicts with EREFCK */
887                                                          AT91_PIOB 10 AT91_PERIPH_B AT91_PINCTRL_NONE   /* PB10 periph B RF1, conflicts with GTXER */
888                                                          AT91_PIOB 11 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PB11 periph B RD1, conflicts with GRXCK */
889                                         };
890                                 };
891
892                                 uart0 {
893                                         pinctrl_uart0: uart0-0 {
894                                                 atmel,pins =
895                                                         <AT91_PIOC 29 AT91_PERIPH_A AT91_PINCTRL_PULL_UP        /* conflicts with PWMFI2, ISI_D8 */
896                                                          AT91_PIOC 30 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* conflicts with ISI_PCK */
897                                         };
898                                 };
899
900                                 uart1 {
901                                         pinctrl_uart1: uart1-0 {
902                                                 atmel,pins =
903                                                         <AT91_PIOA 30 AT91_PERIPH_B AT91_PINCTRL_PULL_UP        /* conflicts with TWD0, ISI_VSYNC */
904                                                          AT91_PIOA 31 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* conflicts with TWCK0, ISI_HSYNC */
905                                         };
906                                 };
907
908                                 usart0 {
909                                         pinctrl_usart0: usart0-0 {
910                                                 atmel,pins =
911                                                         <AT91_PIOD 17 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
912                                                          AT91_PIOD 18 AT91_PERIPH_A AT91_PINCTRL_NONE>;
913                                         };
914
915                                         pinctrl_usart0_rts_cts: usart0_rts_cts-0 {
916                                                 atmel,pins =
917                                                         <AT91_PIOD 15 AT91_PERIPH_A AT91_PINCTRL_NONE   /* PD15 periph A, conflicts with SPI0_NPCS2, CANTX0 */
918                                                          AT91_PIOD 16 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PD16 periph A, conflicts with SPI0_NPCS3, PWMFI3 */
919                                         };
920                                 };
921
922                                 usart1 {
923                                         pinctrl_usart1: usart1-0 {
924                                                 atmel,pins =
925                                                         <AT91_PIOB 28 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
926                                                          AT91_PIOB 29 AT91_PERIPH_A AT91_PINCTRL_NONE>;
927                                         };
928
929                                         pinctrl_usart1_rts_cts: usart1_rts_cts-0 {
930                                                 atmel,pins =
931                                                         <AT91_PIOB 26 AT91_PERIPH_A AT91_PINCTRL_NONE   /* PB26 periph A, conflicts with GRX7 */
932                                                          AT91_PIOB 27 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PB27 periph A, conflicts with G125CKO */
933                                         };
934                                 };
935
936                                 usart2 {
937                                         pinctrl_usart2: usart2-0 {
938                                                 atmel,pins =
939                                                         <AT91_PIOE 25 AT91_PERIPH_B AT91_PINCTRL_PULL_UP        /* conflicts with A25 */
940                                                          AT91_PIOE 26 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* conflicts NCS0 */
941                                         };
942
943                                         pinctrl_usart2_rts_cts: usart2_rts_cts-0 {
944                                                 atmel,pins =
945                                                         <AT91_PIOE 23 AT91_PERIPH_B AT91_PINCTRL_NONE   /* PE23 periph B, conflicts with A23 */
946                                                          AT91_PIOE 24 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PE24 periph B, conflicts with A24 */
947                                         };
948                                 };
949
950                                 usart3 {
951                                         pinctrl_usart3: usart3-0 {
952                                                 atmel,pins =
953                                                         <AT91_PIOE 18 AT91_PERIPH_B AT91_PINCTRL_PULL_UP        /* conflicts with A18 */
954                                                          AT91_PIOE 19 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* conflicts with A19 */
955                                         };
956
957                                         pinctrl_usart3_rts_cts: usart3_rts_cts-0 {
958                                                 atmel,pins =
959                                                         <AT91_PIOE 16 AT91_PERIPH_B AT91_PINCTRL_NONE   /* PE16 periph B, conflicts with A16 */
960                                                          AT91_PIOE 17 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PE17 periph B, conflicts with A17 */
961                                         };
962                                 };
963
964
965                                 pioA: gpio@fffff200 {
966                                         compatible = "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio";
967                                         reg = <0xfffff200 0x100>;
968                                         interrupts = <6 IRQ_TYPE_LEVEL_HIGH 1>;
969                                         #gpio-cells = <2>;
970                                         gpio-controller;
971                                         interrupt-controller;
972                                         #interrupt-cells = <2>;
973                                         clocks = <&pmc PMC_TYPE_PERIPHERAL 6>;
974                                 };
975
976                                 pioB: gpio@fffff400 {
977                                         compatible = "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio";
978                                         reg = <0xfffff400 0x100>;
979                                         interrupts = <7 IRQ_TYPE_LEVEL_HIGH 1>;
980                                         #gpio-cells = <2>;
981                                         gpio-controller;
982                                         interrupt-controller;
983                                         #interrupt-cells = <2>;
984                                         clocks = <&pmc PMC_TYPE_PERIPHERAL 7>;
985                                 };
986
987                                 pioC: gpio@fffff600 {
988                                         compatible = "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio";
989                                         reg = <0xfffff600 0x100>;
990                                         interrupts = <8 IRQ_TYPE_LEVEL_HIGH 1>;
991                                         #gpio-cells = <2>;
992                                         gpio-controller;
993                                         interrupt-controller;
994                                         #interrupt-cells = <2>;
995                                         clocks = <&pmc PMC_TYPE_PERIPHERAL 8>;
996                                 };
997
998                                 pioD: gpio@fffff800 {
999                                         compatible = "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio";
1000                                         reg = <0xfffff800 0x100>;
1001                                         interrupts = <9 IRQ_TYPE_LEVEL_HIGH 1>;
1002                                         #gpio-cells = <2>;
1003                                         gpio-controller;
1004                                         interrupt-controller;
1005                                         #interrupt-cells = <2>;
1006                                         clocks = <&pmc PMC_TYPE_PERIPHERAL 9>;
1007                                 };
1008
1009                                 pioE: gpio@fffffa00 {
1010                                         compatible = "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio";
1011                                         reg = <0xfffffa00 0x100>;
1012                                         interrupts = <10 IRQ_TYPE_LEVEL_HIGH 1>;
1013                                         #gpio-cells = <2>;
1014                                         gpio-controller;
1015                                         interrupt-controller;
1016                                         #interrupt-cells = <2>;
1017                                         clocks = <&pmc PMC_TYPE_PERIPHERAL 10>;
1018                                 };
1019                         };
1020
1021                         pmc: pmc@fffffc00 {
1022                                 compatible = "atmel,sama5d3-pmc", "syscon";
1023                                 reg = <0xfffffc00 0x120>;
1024                                 interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>;
1025                                 #clock-cells = <2>;
1026                                 clocks = <&clk32k>, <&main_xtal>;
1027                                 clock-names = "slow_clk", "main_xtal";
1028                         };
1029
1030                         reset_controller: rstc@fffffe00 {
1031                                 compatible = "atmel,sama5d3-rstc", "atmel,at91sam9g45-rstc";
1032                                 reg = <0xfffffe00 0x10>;
1033                                 clocks = <&clk32k>;
1034                         };
1035
1036                         shutdown_controller: shutdown-controller@fffffe10 {
1037                                 compatible = "atmel,at91sam9x5-shdwc";
1038                                 reg = <0xfffffe10 0x10>;
1039                                 clocks = <&clk32k>;
1040                         };
1041
1042                         pit: timer@fffffe30 {
1043                                 compatible = "atmel,at91sam9260-pit";
1044                                 reg = <0xfffffe30 0xf>;
1045                                 interrupts = <3 IRQ_TYPE_LEVEL_HIGH 5>;
1046                                 clocks = <&pmc PMC_TYPE_CORE PMC_MCK>;
1047                         };
1048
1049                         watchdog: watchdog@fffffe40 {
1050                                 compatible = "atmel,at91sam9260-wdt";
1051                                 reg = <0xfffffe40 0x10>;
1052                                 interrupts = <4 IRQ_TYPE_LEVEL_HIGH 7>;
1053                                 clocks = <&clk32k>;
1054                                 atmel,watchdog-type = "hardware";
1055                                 atmel,reset-type = "all";
1056                                 atmel,dbg-halt;
1057                                 status = "disabled";
1058                         };
1059
1060                         clk32k: sckc@fffffe50 {
1061                                 compatible = "atmel,sama5d3-sckc";
1062                                 reg = <0xfffffe50 0x4>;
1063                                 clocks = <&slow_xtal>;
1064                                 #clock-cells = <0>;
1065                         };
1066
1067                         rtc@fffffeb0 {
1068                                 compatible = "atmel,at91rm9200-rtc";
1069                                 reg = <0xfffffeb0 0x30>;
1070                                 interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>;
1071                                 clocks = <&clk32k>;
1072                         };
1073                 };
1074
1075                 nfc_sram: sram@200000 {
1076                         compatible = "mmio-sram";
1077                         no-memory-wc;
1078                         reg = <0x200000 0x2400>;
1079                         #address-cells = <1>;
1080                         #size-cells = <1>;
1081                         ranges = <0 0x200000 0x2400>;
1082                 };
1083
1084                 usb0: gadget@500000 {
1085                         compatible = "atmel,sama5d3-udc";
1086                         reg = <0x00500000 0x100000
1087                                0xf8030000 0x4000>;
1088                         interrupts = <33 IRQ_TYPE_LEVEL_HIGH 2>;
1089                         clocks = <&pmc PMC_TYPE_PERIPHERAL 33>, <&pmc PMC_TYPE_CORE PMC_UTMI>;
1090                         clock-names = "pclk", "hclk";
1091                         status = "disabled";
1092                 };
1093
1094                 usb1: ohci@600000 {
1095                         compatible = "atmel,at91rm9200-ohci", "usb-ohci";
1096                         reg = <0x00600000 0x100000>;
1097                         interrupts = <32 IRQ_TYPE_LEVEL_HIGH 2>;
1098                         clocks = <&pmc PMC_TYPE_PERIPHERAL 32>, <&pmc PMC_TYPE_PERIPHERAL 32>, <&pmc PMC_TYPE_SYSTEM 6>;
1099                         clock-names = "ohci_clk", "hclk", "uhpck";
1100                         status = "disabled";
1101                 };
1102
1103                 usb2: ehci@700000 {
1104                         compatible = "atmel,at91sam9g45-ehci", "usb-ehci";
1105                         reg = <0x00700000 0x100000>;
1106                         interrupts = <32 IRQ_TYPE_LEVEL_HIGH 2>;
1107                         clocks = <&pmc PMC_TYPE_CORE PMC_UTMI>, <&pmc PMC_TYPE_PERIPHERAL 32>;
1108                         clock-names = "usb_clk", "ehci_clk";
1109                         status = "disabled";
1110                 };
1111
1112                 ebi: ebi@10000000 {
1113                         compatible = "atmel,sama5d3-ebi";
1114                         #address-cells = <2>;
1115                         #size-cells = <1>;
1116                         atmel,smc = <&hsmc>;
1117                         reg = <0x10000000 0x10000000
1118                                0x40000000 0x30000000>;
1119                         ranges = <0x0 0x0 0x10000000 0x10000000
1120                                   0x1 0x0 0x40000000 0x10000000
1121                                   0x2 0x0 0x50000000 0x10000000
1122                                   0x3 0x0 0x60000000 0x10000000>;
1123                         clocks = <&pmc PMC_TYPE_CORE PMC_MCK>;
1124                         status = "disabled";
1125
1126                         nand_controller: nand-controller {
1127                                 compatible = "atmel,sama5d3-nand-controller";
1128                                 atmel,nfc-sram = <&nfc_sram>;
1129                                 atmel,nfc-io = <&nfc_io>;
1130                                 ecc-engine = <&pmecc>;
1131                                 #address-cells = <2>;
1132                                 #size-cells = <1>;
1133                                 ranges;
1134                                 status = "disabled";
1135                         };
1136                 };
1137
1138                 nfc_io: nfc-io@70000000 {
1139                         compatible = "atmel,sama5d3-nfc-io", "syscon";
1140                         reg = <0x70000000 0x8000000>;
1141                 };
1142         };
1143 };