Loading...
Note: File does not exist in v6.2.
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2/*
3 * sam9x7.dtsi - Device Tree Include file for Microchip SAM9X7 SoC family
4 *
5 * Copyright (C) 2023 Microchip Technology Inc. and its subsidiaries
6 *
7 * Author: Varshini Rajendran <varshini.rajendran@microchip.com>
8 */
9
10#include <dt-bindings/clock/at91.h>
11#include <dt-bindings/dma/at91.h>
12#include <dt-bindings/gpio/gpio.h>
13#include <dt-bindings/interrupt-controller/arm-gic.h>
14#include <dt-bindings/interrupt-controller/irq.h>
15#include <dt-bindings/mfd/at91-usart.h>
16#include <dt-bindings/mfd/atmel-flexcom.h>
17#include <dt-bindings/pinctrl/at91.h>
18
19/ {
20 model = "Microchip SAM9X7 SoC";
21 compatible = "microchip,sam9x7";
22 #address-cells = <1>;
23 #size-cells = <1>;
24 interrupt-parent = <&aic>;
25
26 aliases {
27 serial0 = &dbgu;
28 gpio0 = &pioA;
29 gpio1 = &pioB;
30 gpio2 = &pioC;
31 gpio3 = &pioD;
32 };
33
34 cpus {
35 #address-cells = <1>;
36 #size-cells = <0>;
37
38 cpu@0 {
39 compatible = "arm,arm926ej-s";
40 reg = <0>;
41 device_type = "cpu";
42 };
43 };
44
45 clocks {
46 slow_xtal: clock-slowxtal {
47 compatible = "fixed-clock";
48 #clock-cells = <0>;
49 };
50
51 main_xtal: clock-mainxtal {
52 compatible = "fixed-clock";
53 #clock-cells = <0>;
54 };
55 };
56
57 sram: sram@300000 {
58 compatible = "mmio-sram";
59 reg = <0x300000 0x10000>;
60 ranges = <0 0x300000 0x10000>;
61 #address-cells = <1>;
62 #size-cells = <1>;
63 };
64
65 ahb {
66 compatible = "simple-bus";
67 ranges;
68 #address-cells = <1>;
69 #size-cells = <1>;
70
71 sdmmc0: mmc@80000000 {
72 compatible = "microchip,sam9x7-sdhci", "microchip,sam9x60-sdhci";
73 reg = <0x80000000 0x300>;
74 interrupts = <12 IRQ_TYPE_LEVEL_HIGH 0>;
75 clocks = <&pmc PMC_TYPE_PERIPHERAL 12>, <&pmc PMC_TYPE_GCK 12>;
76 clock-names = "hclock", "multclk";
77 assigned-clocks = <&pmc PMC_TYPE_GCK 12>;
78 assigned-clock-rates = <100000000>;
79 status = "disabled";
80 };
81
82 sdmmc1: mmc@90000000 {
83 compatible = "microchip,sam9x7-sdhci", "microchip,sam9x60-sdhci";
84 reg = <0x90000000 0x300>;
85 interrupts = <26 IRQ_TYPE_LEVEL_HIGH 0>;
86 clocks = <&pmc PMC_TYPE_PERIPHERAL 26>, <&pmc PMC_TYPE_GCK 26>;
87 clock-names = "hclock", "multclk";
88 assigned-clocks = <&pmc PMC_TYPE_GCK 26>;
89 assigned-clock-rates = <100000000>;
90 status = "disabled";
91 };
92 };
93
94 apb {
95 compatible = "simple-bus";
96 ranges;
97 #address-cells = <1>;
98 #size-cells = <1>;
99
100 flx4: flexcom@f0000000 {
101 compatible = "microchip,sam9x7-flexcom", "atmel,sama5d2-flexcom";
102 reg = <0xf0000000 0x200>;
103 ranges = <0x0 0xf0000000 0x800>;
104 #address-cells = <1>;
105 #size-cells = <1>;
106 clocks = <&pmc PMC_TYPE_PERIPHERAL 13>;
107 status = "disabled";
108
109 uart4: serial@200 {
110 compatible = "microchip,sam9x7-usart", "atmel,at91sam9260-usart";
111 reg = <0x200 0x200>;
112 interrupts = <13 IRQ_TYPE_LEVEL_HIGH 7>;
113 clocks = <&pmc PMC_TYPE_PERIPHERAL 13>;
114 clock-names = "usart";
115 dmas = <&dma0
116 (AT91_XDMAC_DT_MEM_IF(0) |
117 AT91_XDMAC_DT_PER_IF(1) |
118 AT91_XDMAC_DT_PERID(8))>,
119 <&dma0
120 (AT91_XDMAC_DT_MEM_IF(0) |
121 AT91_XDMAC_DT_PER_IF(1) |
122 AT91_XDMAC_DT_PERID(9))>;
123 dma-names = "tx", "rx";
124 atmel,use-dma-rx;
125 atmel,use-dma-tx;
126 atmel,fifo-size = <16>;
127 atmel,usart-mode = <AT91_USART_MODE_SERIAL>;
128 status = "disabled";
129 };
130
131 spi4: spi@400 {
132 compatible = "microchip,sam9x7-spi", "atmel,at91rm9200-spi";
133 reg = <0x400 0x200>;
134 interrupts = <13 IRQ_TYPE_LEVEL_HIGH 7>;
135 clocks = <&pmc PMC_TYPE_PERIPHERAL 13>;
136 clock-names = "spi_clk";
137 dmas = <&dma0
138 (AT91_XDMAC_DT_MEM_IF(0) |
139 AT91_XDMAC_DT_PER_IF(1) |
140 AT91_XDMAC_DT_PERID(8))>,
141 <&dma0
142 (AT91_XDMAC_DT_MEM_IF(0) |
143 AT91_XDMAC_DT_PER_IF(1) |
144 AT91_XDMAC_DT_PERID(9))>;
145 dma-names = "tx", "rx";
146 atmel,fifo-size = <16>;
147 status = "disabled";
148 };
149
150 i2c4: i2c@600 {
151 compatible = "microchip,sam9x7-i2c", "microchip,sam9x60-i2c";
152 reg = <0x600 0x200>;
153 interrupts = <13 IRQ_TYPE_LEVEL_HIGH 7>;
154 clocks = <&pmc PMC_TYPE_PERIPHERAL 13>;
155 dmas = <&dma0
156 (AT91_XDMAC_DT_MEM_IF(0) |
157 AT91_XDMAC_DT_PER_IF(1) |
158 AT91_XDMAC_DT_PERID(8))>,
159 <&dma0
160 (AT91_XDMAC_DT_MEM_IF(0) |
161 AT91_XDMAC_DT_PER_IF(1) |
162 AT91_XDMAC_DT_PERID(9))>;
163 dma-names = "tx", "rx";
164 atmel,fifo-size = <16>;
165 status = "disabled";
166 };
167 };
168
169 flx5: flexcom@f0004000 {
170 compatible = "microchip,sam9x7-flexcom", "atmel,sama5d2-flexcom";
171 reg = <0xf0004000 0x200>;
172 ranges = <0x0 0xf0004000 0x800>;
173 #address-cells = <1>;
174 #size-cells = <1>;
175 clocks = <&pmc PMC_TYPE_PERIPHERAL 14>;
176 status = "disabled";
177
178 uart5: serial@200 {
179 compatible = "microchip,sam9x7-usart", "atmel,at91sam9260-usart";
180 reg = <0x200 0x200>;
181 interrupts = <14 IRQ_TYPE_LEVEL_HIGH 7>;
182 clocks = <&pmc PMC_TYPE_PERIPHERAL 14>;
183 clock-names = "usart";
184 dmas = <&dma0
185 (AT91_XDMAC_DT_MEM_IF(0) |
186 AT91_XDMAC_DT_PER_IF(1) |
187 AT91_XDMAC_DT_PERID(10))>,
188 <&dma0
189 (AT91_XDMAC_DT_MEM_IF(0) |
190 AT91_XDMAC_DT_PER_IF(1) |
191 AT91_XDMAC_DT_PERID(11))>;
192 dma-names = "tx", "rx";
193 atmel,use-dma-rx;
194 atmel,use-dma-tx;
195 atmel,fifo-size = <16>;
196 atmel,usart-mode = <AT91_USART_MODE_SERIAL>;
197 status = "disabled";
198 };
199
200 spi5: spi@400 {
201 compatible = "microchip,sam9x7-spi", "atmel,at91rm9200-spi";
202 reg = <0x400 0x200>;
203 interrupts = <14 IRQ_TYPE_LEVEL_HIGH 7>;
204 clocks = <&pmc PMC_TYPE_PERIPHERAL 14>;
205 clock-names = "spi_clk";
206 dmas = <&dma0
207 (AT91_XDMAC_DT_MEM_IF(0) |
208 AT91_XDMAC_DT_PER_IF(1) |
209 AT91_XDMAC_DT_PERID(10))>,
210 <&dma0
211 (AT91_XDMAC_DT_MEM_IF(0) |
212 AT91_XDMAC_DT_PER_IF(1) |
213 AT91_XDMAC_DT_PERID(11))>;
214 dma-names = "tx", "rx";
215 atmel,fifo-size = <16>;
216 status = "disabled";
217 };
218
219 i2c5: i2c@600 {
220 compatible = "microchip,sam9x7-i2c", "microchip,sam9x60-i2c";
221 reg = <0x600 0x200>;
222 interrupts = <14 IRQ_TYPE_LEVEL_HIGH 7>;
223 clocks = <&pmc PMC_TYPE_PERIPHERAL 14>;
224 dmas = <&dma0
225 (AT91_XDMAC_DT_MEM_IF(0) |
226 AT91_XDMAC_DT_PER_IF(1) |
227 AT91_XDMAC_DT_PERID(10))>,
228 <&dma0
229 (AT91_XDMAC_DT_MEM_IF(0) |
230 AT91_XDMAC_DT_PER_IF(1) |
231 AT91_XDMAC_DT_PERID(11))>;
232 dma-names = "tx", "rx";
233 atmel,fifo-size = <16>;
234 status = "disabled";
235 };
236 };
237
238 dma0: dma-controller@f0008000 {
239 compatible = "microchip,sam9x7-dma", "atmel,sama5d4-dma";
240 reg = <0xf0008000 0x1000>;
241 interrupts = <20 IRQ_TYPE_LEVEL_HIGH 0>;
242 #dma-cells = <1>;
243 clocks = <&pmc PMC_TYPE_PERIPHERAL 20>;
244 clock-names = "dma_clk";
245 status = "disabled";
246 };
247
248 ssc: ssc@f0010000 {
249 compatible = "microchip,sam9x7-ssc", "atmel,at91sam9g45-ssc";
250 reg = <0xf0010000 0x4000>;
251 interrupts = <28 IRQ_TYPE_LEVEL_HIGH 5>;
252 clocks = <&pmc PMC_TYPE_PERIPHERAL 28>;
253 clock-names = "pclk";
254 dmas = <&dma0
255 (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
256 AT91_XDMAC_DT_PERID(38))>,
257 <&dma0
258 (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
259 AT91_XDMAC_DT_PERID(39))>;
260 dma-names = "tx", "rx";
261 status = "disabled";
262 };
263
264 i2s: i2s@f001c000 {
265 compatible = "microchip,sam9x7-i2smcc", "microchip,sam9x60-i2smcc";
266 reg = <0xf001c000 0x100>;
267 interrupts = <34 IRQ_TYPE_LEVEL_HIGH 7>;
268 clocks = <&pmc PMC_TYPE_PERIPHERAL 34>, <&pmc PMC_TYPE_GCK 34>;
269 clock-names = "pclk", "gclk";
270 dmas = <&dma0
271 (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
272 AT91_XDMAC_DT_PERID(36))>,
273 <&dma0
274 (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
275 AT91_XDMAC_DT_PERID(37))>;
276 dma-names = "tx", "rx";
277 status = "disabled";
278 };
279
280 flx11: flexcom@f0020000 {
281 compatible = "microchip,sam9x7-flexcom", "atmel,sama5d2-flexcom";
282 reg = <0xf0020000 0x200>;
283 ranges = <0x0 0xf0020000 0x800>;
284 #address-cells = <1>;
285 #size-cells = <1>;
286 clocks = <&pmc PMC_TYPE_PERIPHERAL 32>;
287 status = "disabled";
288
289 uart11: serial@200 {
290 compatible = "microchip,sam9x7-usart", "atmel,at91sam9260-usart";
291 reg = <0x200 0x200>;
292 interrupts = <32 IRQ_TYPE_LEVEL_HIGH 7>;
293 clocks = <&pmc PMC_TYPE_PERIPHERAL 32>;
294 clock-names = "usart";
295 dmas = <&dma0
296 (AT91_XDMAC_DT_MEM_IF(0) |
297 AT91_XDMAC_DT_PER_IF(1) |
298 AT91_XDMAC_DT_PERID(22))>,
299 <&dma0
300 (AT91_XDMAC_DT_MEM_IF(0) |
301 AT91_XDMAC_DT_PER_IF(1) |
302 AT91_XDMAC_DT_PERID(23))>;
303 dma-names = "tx", "rx";
304 atmel,use-dma-rx;
305 atmel,use-dma-tx;
306 atmel,fifo-size = <16>;
307 atmel,usart-mode = <AT91_USART_MODE_SERIAL>;
308 status = "disabled";
309 };
310
311 i2c11: i2c@600 {
312 compatible = "microchip,sam9x7-i2c", "microchip,sam9x60-i2c";
313 reg = <0x600 0x200>;
314 interrupts = <32 IRQ_TYPE_LEVEL_HIGH 7>;
315 clocks = <&pmc PMC_TYPE_PERIPHERAL 32>;
316 dmas = <&dma0
317 (AT91_XDMAC_DT_MEM_IF(0) |
318 AT91_XDMAC_DT_PER_IF(1) |
319 AT91_XDMAC_DT_PERID(22))>,
320 <&dma0
321 (AT91_XDMAC_DT_MEM_IF(0) |
322 AT91_XDMAC_DT_PER_IF(1) |
323 AT91_XDMAC_DT_PERID(23))>;
324 dma-names = "tx", "rx";
325 atmel,fifo-size = <16>;
326 status = "disabled";
327 };
328 };
329
330 flx12: flexcom@f0024000 {
331 compatible = "microchip,sam9x7-flexcom", "atmel,sama5d2-flexcom";
332 reg = <0xf0024000 0x200>;
333 ranges = <0x0 0xf0024000 0x800>;
334 #address-cells = <1>;
335 #size-cells = <1>;
336 clocks = <&pmc PMC_TYPE_PERIPHERAL 33>;
337 status = "disabled";
338
339 uart12: serial@200 {
340 compatible = "microchip,sam9x7-usart", "atmel,at91sam9260-usart";
341 reg = <0x200 0x200>;
342 interrupts = <33 IRQ_TYPE_LEVEL_HIGH 7>;
343 clocks = <&pmc PMC_TYPE_PERIPHERAL 33>;
344 clock-names = "usart";
345 dmas = <&dma0
346 (AT91_XDMAC_DT_MEM_IF(0) |
347 AT91_XDMAC_DT_PER_IF(1) |
348 AT91_XDMAC_DT_PERID(24))>,
349 <&dma0
350 (AT91_XDMAC_DT_MEM_IF(0) |
351 AT91_XDMAC_DT_PER_IF(1) |
352 AT91_XDMAC_DT_PERID(25))>;
353 dma-names = "tx", "rx";
354 atmel,use-dma-rx;
355 atmel,use-dma-tx;
356 atmel,fifo-size = <16>;
357 atmel,usart-mode = <AT91_USART_MODE_SERIAL>;
358 status = "disabled";
359 };
360
361 i2c12: i2c@600 {
362 compatible = "microchip,sam9x7-i2c", "microchip,sam9x60-i2c";
363 reg = <0x600 0x200>;
364 interrupts = <33 IRQ_TYPE_LEVEL_HIGH 7>;
365 clocks = <&pmc PMC_TYPE_PERIPHERAL 33>;
366 dmas = <&dma0
367 (AT91_XDMAC_DT_MEM_IF(0) |
368 AT91_XDMAC_DT_PER_IF(1) |
369 AT91_XDMAC_DT_PERID(24))>,
370 <&dma0
371 (AT91_XDMAC_DT_MEM_IF(0) |
372 AT91_XDMAC_DT_PER_IF(1) |
373 AT91_XDMAC_DT_PERID(25))>;
374 dma-names = "tx", "rx";
375 atmel,fifo-size = <16>;
376 status = "disabled";
377 };
378 };
379
380 pit64b0: timer@f0028000 {
381 compatible = "microchip,sam9x7-pit64b", "microchip,sam9x60-pit64b";
382 reg = <0xf0028000 0x100>;
383 interrupts = <37 IRQ_TYPE_LEVEL_HIGH 7>;
384 clocks = <&pmc PMC_TYPE_PERIPHERAL 37>, <&pmc PMC_TYPE_GCK 37>;
385 clock-names = "pclk", "gclk";
386 };
387
388 sha: crypto@f002c000 {
389 compatible = "microchip,sam9x7-sha", "atmel,at91sam9g46-sha";
390 reg = <0xf002c000 0x100>;
391 interrupts = <41 IRQ_TYPE_LEVEL_HIGH 0>;
392 clocks = <&pmc PMC_TYPE_PERIPHERAL 41>;
393 clock-names = "sha_clk";
394 dmas = <&dma0
395 (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
396 AT91_XDMAC_DT_PERID(34))>;
397 dma-names = "tx";
398 };
399
400 trng: rng@f0030000 {
401 compatible = "microchip,sam9x7-trng", "microchip,sam9x60-trng";
402 reg = <0xf0030000 0x100>;
403 interrupts = <38 IRQ_TYPE_LEVEL_HIGH 0>;
404 clocks = <&pmc PMC_TYPE_PERIPHERAL 38>;
405 status = "disabled";
406 };
407
408 aes: crypto@f0034000 {
409 compatible = "microchip,sam9x7-aes", "atmel,at91sam9g46-aes";
410 reg = <0xf0034000 0x100>;
411 interrupts = <39 IRQ_TYPE_LEVEL_HIGH 0>;
412 clocks = <&pmc PMC_TYPE_PERIPHERAL 39>;
413 clock-names = "aes_clk";
414 dmas = <&dma0
415 (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
416 AT91_XDMAC_DT_PERID(32))>,
417 <&dma0
418 (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
419 AT91_XDMAC_DT_PERID(33))>;
420 dma-names = "tx", "rx";
421 };
422
423 tdes: crypto@f0038000 {
424 compatible = "microchip,sam9x7-tdes", "atmel,at91sam9g46-tdes";
425 reg = <0xf0038000 0x100>;
426 interrupts = <40 IRQ_TYPE_LEVEL_HIGH 0>;
427 clocks = <&pmc PMC_TYPE_PERIPHERAL 40>;
428 clock-names = "tdes_clk";
429 dmas = <&dma0
430 (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
431 AT91_XDMAC_DT_PERID(31))>,
432 <&dma0
433 (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
434 AT91_XDMAC_DT_PERID(30))>;
435 dma-names = "tx", "rx";
436 };
437
438 classd: sound@f003c000 {
439 compatible = "microchip,sam9x7-classd", "atmel,sama5d2-classd";
440 reg = <0xf003c000 0x100>;
441 interrupts = <42 IRQ_TYPE_LEVEL_HIGH 7>;
442 clocks = <&pmc PMC_TYPE_PERIPHERAL 42>, <&pmc PMC_TYPE_GCK 42>;
443 clock-names = "pclk", "gclk";
444 dmas = <&dma0
445 (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
446 AT91_XDMAC_DT_PERID(35))>;
447 dma-names = "tx";
448 status = "disabled";
449 };
450
451 pit64b1: timer@f0040000 {
452 compatible = "microchip,sam9x7-pit64b", "microchip,sam9x60-pit64b";
453 reg = <0xf0040000 0x100>;
454 interrupts = <58 IRQ_TYPE_LEVEL_HIGH 7>;
455 clocks = <&pmc PMC_TYPE_PERIPHERAL 58>, <&pmc PMC_TYPE_GCK 58>;
456 clock-names = "pclk", "gclk";
457 };
458
459 can0: can@f8000000 {
460 compatible = "bosch,m_can";
461 reg = <0xf8000000 0x100>, <0x300000 0x7800>;
462 reg-names = "m_can", "message_ram";
463 interrupts = <29 IRQ_TYPE_LEVEL_HIGH 0>,
464 <68 IRQ_TYPE_LEVEL_HIGH 0>;
465 interrupt-names = "int0", "int1";
466 clocks = <&pmc PMC_TYPE_PERIPHERAL 29>, <&pmc PMC_TYPE_GCK 29>;
467 clock-names = "hclk", "cclk";
468 assigned-clocks = <&pmc PMC_TYPE_CORE PMC_UTMI>, <&pmc PMC_TYPE_GCK 29>;
469 assigned-clock-rates = <480000000>, <40000000>;
470 assigned-clock-parents = <&pmc PMC_TYPE_CORE PMC_UTMI>, <&pmc PMC_TYPE_CORE PMC_UTMI>;
471 bosch,mram-cfg = <0x3400 0 0 64 0 0 32 32>;
472 status = "disabled";
473 };
474
475 can1: can@f8004000 {
476 compatible = "bosch,m_can";
477 reg = <0xf8004000 0x100>, <0x300000 0xbc00>;
478 reg-names = "m_can", "message_ram";
479 interrupts = <30 IRQ_TYPE_LEVEL_HIGH 0>,
480 <69 IRQ_TYPE_LEVEL_HIGH 0>;
481 interrupt-names = "int0", "int1";
482 clocks = <&pmc PMC_TYPE_PERIPHERAL 30>, <&pmc PMC_TYPE_GCK 30>;
483 clock-names = "hclk", "cclk";
484 assigned-clocks = <&pmc PMC_TYPE_CORE PMC_UTMI>, <&pmc PMC_TYPE_GCK 30>;
485 assigned-clock-rates = <480000000>, <40000000>;
486 assigned-clock-parents = <&pmc PMC_TYPE_CORE PMC_UTMI>, <&pmc PMC_TYPE_CORE PMC_UTMI>;
487 bosch,mram-cfg = <0x7800 0 0 64 0 0 32 32>;
488 status = "disabled";
489 };
490
491 tcb: timer@f8008000 {
492 compatible = "microchip,sam9x7-tcb","atmel,sama5d2-tcb", "simple-mfd", "syscon";
493 reg = <0xf8008000 0x100>;
494 #address-cells = <1>;
495 #size-cells = <0>;
496 interrupts = <17 IRQ_TYPE_LEVEL_HIGH 0>;
497 clocks = <&pmc PMC_TYPE_PERIPHERAL 17>, <&pmc PMC_TYPE_GCK 17>, <&clk32k 0>;
498 clock-names = "t0_clk", "gclk", "slow_clk";
499 };
500
501 flx6: flexcom@f8010000 {
502 compatible = "microchip,sam9x7-flexcom", "atmel,sama5d2-flexcom";
503 reg = <0xf8010000 0x200>;
504 ranges = <0x0 0xf8010000 0x800>;
505 #address-cells = <1>;
506 #size-cells = <1>;
507 clocks = <&pmc PMC_TYPE_PERIPHERAL 9>;
508 status = "disabled";
509
510 uart6: serial@200 {
511 compatible = "microchip,sam9x7-usart", "atmel,at91sam9260-usart";
512 reg = <0x200 0x200>;
513 interrupts = <9 IRQ_TYPE_LEVEL_HIGH 7>;
514 clocks = <&pmc PMC_TYPE_PERIPHERAL 9>;
515 clock-names = "usart";
516 dmas = <&dma0
517 (AT91_XDMAC_DT_MEM_IF(0) |
518 AT91_XDMAC_DT_PER_IF(1) |
519 AT91_XDMAC_DT_PERID(12))>,
520 <&dma0
521 (AT91_XDMAC_DT_MEM_IF(0) |
522 AT91_XDMAC_DT_PER_IF(1) |
523 AT91_XDMAC_DT_PERID(13))>;
524 dma-names = "tx", "rx";
525 atmel,use-dma-rx;
526 atmel,use-dma-tx;
527 atmel,fifo-size = <16>;
528 atmel,usart-mode = <AT91_USART_MODE_SERIAL>;
529 status = "disabled";
530 };
531
532 i2c6: i2c@600 {
533 compatible = "microchip,sam9x7-i2c", "microchip,sam9x60-i2c";
534 reg = <0x600 0x200>;
535 interrupts = <9 IRQ_TYPE_LEVEL_HIGH 7>;
536 clocks = <&pmc PMC_TYPE_PERIPHERAL 9>;
537 dmas = <&dma0
538 (AT91_XDMAC_DT_MEM_IF(0) |
539 AT91_XDMAC_DT_PER_IF(1) |
540 AT91_XDMAC_DT_PERID(12))>,
541 <&dma0
542 (AT91_XDMAC_DT_MEM_IF(0) |
543 AT91_XDMAC_DT_PER_IF(1) |
544 AT91_XDMAC_DT_PERID(13))>;
545 dma-names = "tx", "rx";
546 atmel,fifo-size = <16>;
547 status = "disabled";
548 };
549 };
550
551 flx7: flexcom@f8014000 {
552 compatible = "microchip,sam9x7-flexcom", "atmel,sama5d2-flexcom";
553 reg = <0xf8014000 0x200>;
554 ranges = <0x0 0xf8014000 0x800>;
555 #address-cells = <1>;
556 #size-cells = <1>;
557 clocks = <&pmc PMC_TYPE_PERIPHERAL 10>;
558 status = "disabled";
559
560 uart7: serial@200 {
561 compatible = "microchip,sam9x7-usart", "atmel,at91sam9260-usart";
562 reg = <0x200 0x200>;
563 interrupts = <10 IRQ_TYPE_LEVEL_HIGH 7>;
564 clocks = <&pmc PMC_TYPE_PERIPHERAL 10>;
565 clock-names = "usart";
566 dmas = <&dma0
567 (AT91_XDMAC_DT_MEM_IF(0) |
568 AT91_XDMAC_DT_PER_IF(1) |
569 AT91_XDMAC_DT_PERID(14))>,
570 <&dma0
571 (AT91_XDMAC_DT_MEM_IF(0) |
572 AT91_XDMAC_DT_PER_IF(1) |
573 AT91_XDMAC_DT_PERID(15))>;
574 dma-names = "tx", "rx";
575 atmel,use-dma-rx;
576 atmel,use-dma-tx;
577 atmel,fifo-size = <16>;
578 atmel,usart-mode = <AT91_USART_MODE_SERIAL>;
579 status = "disabled";
580 };
581
582 i2c7: i2c@600 {
583 compatible = "microchip,sam9x7-i2c", "microchip,sam9x60-i2c";
584 reg = <0x600 0x200>;
585 interrupts = <10 IRQ_TYPE_LEVEL_HIGH 7>;
586 clocks = <&pmc PMC_TYPE_PERIPHERAL 10>;
587 dmas = <&dma0
588 (AT91_XDMAC_DT_MEM_IF(0) |
589 AT91_XDMAC_DT_PER_IF(1) |
590 AT91_XDMAC_DT_PERID(14))>,
591 <&dma0
592 (AT91_XDMAC_DT_MEM_IF(0) |
593 AT91_XDMAC_DT_PER_IF(1) |
594 AT91_XDMAC_DT_PERID(15))>;
595 dma-names = "tx", "rx";
596 atmel,fifo-size = <16>;
597 status = "disabled";
598 };
599 };
600
601 flx8: flexcom@f8018000 {
602 compatible = "microchip,sam9x7-flexcom", "atmel,sama5d2-flexcom";
603 reg = <0xf8018000 0x200>;
604 ranges = <0x0 0xf8018000 0x800>;
605 #address-cells = <1>;
606 #size-cells = <1>;
607 clocks = <&pmc PMC_TYPE_PERIPHERAL 11>;
608 status = "disabled";
609
610 uart8: serial@200 {
611 compatible = "microchip,sam9x7-usart", "atmel,at91sam9260-usart";
612 reg = <0x200 0x200>;
613 interrupts = <11 IRQ_TYPE_LEVEL_HIGH 7>;
614 clocks = <&pmc PMC_TYPE_PERIPHERAL 11>;
615 clock-names = "usart";
616 dmas = <&dma0
617 (AT91_XDMAC_DT_MEM_IF(0) |
618 AT91_XDMAC_DT_PER_IF(1) |
619 AT91_XDMAC_DT_PERID(16))>,
620 <&dma0
621 (AT91_XDMAC_DT_MEM_IF(0) |
622 AT91_XDMAC_DT_PER_IF(1) |
623 AT91_XDMAC_DT_PERID(17))>;
624 dma-names = "tx", "rx";
625 atmel,use-dma-rx;
626 atmel,use-dma-tx;
627 atmel,fifo-size = <16>;
628 atmel,usart-mode = <AT91_USART_MODE_SERIAL>;
629 status = "disabled";
630 };
631
632 i2c8: i2c@600 {
633 compatible = "microchip,sam9x7-i2c", "microchip,sam9x60-i2c";
634 reg = <0x600 0x200>;
635 interrupts = <11 IRQ_TYPE_LEVEL_HIGH 7>;
636 clocks = <&pmc PMC_TYPE_PERIPHERAL 11>;
637 dmas = <&dma0
638 (AT91_XDMAC_DT_MEM_IF(0) |
639 AT91_XDMAC_DT_PER_IF(1) |
640 AT91_XDMAC_DT_PERID(16))>,
641 <&dma0
642 (AT91_XDMAC_DT_MEM_IF(0) |
643 AT91_XDMAC_DT_PER_IF(1) |
644 AT91_XDMAC_DT_PERID(17))>;
645 dma-names = "tx", "rx";
646 atmel,fifo-size = <16>;
647 status = "disabled";
648 };
649 };
650
651 flx0: flexcom@f801c000 {
652 compatible = "microchip,sam9x7-flexcom", "atmel,sama5d2-flexcom";
653 reg = <0xf801c000 0x200>;
654 ranges = <0x0 0xf801c000 0x800>;
655 #address-cells = <1>;
656 #size-cells = <1>;
657 clocks = <&pmc PMC_TYPE_PERIPHERAL 5>;
658 status = "disabled";
659
660 uart0: serial@200 {
661 compatible = "microchip,sam9x7-usart", "atmel,at91sam9260-usart";
662 reg = <0x200 0x200>;
663 interrupts = <5 IRQ_TYPE_LEVEL_HIGH 7>;
664 clocks = <&pmc PMC_TYPE_PERIPHERAL 5>;
665 clock-names = "usart";
666 dmas = <&dma0
667 (AT91_XDMAC_DT_MEM_IF(0) |
668 AT91_XDMAC_DT_PER_IF(1) |
669 AT91_XDMAC_DT_PERID(0))>,
670 <&dma0
671 (AT91_XDMAC_DT_MEM_IF(0) |
672 AT91_XDMAC_DT_PER_IF(1) |
673 AT91_XDMAC_DT_PERID(1))>;
674 dma-names = "tx", "rx";
675 atmel,use-dma-rx;
676 atmel,use-dma-tx;
677 atmel,fifo-size = <16>;
678 atmel,usart-mode = <AT91_USART_MODE_SERIAL>;
679 status = "disabled";
680 };
681
682 spi0: spi@400 {
683 compatible = "microchip,sam9x7-spi", "atmel,at91rm9200-spi";
684 reg = <0x400 0x200>;
685 interrupts = <5 IRQ_TYPE_LEVEL_HIGH 7>;
686 clocks = <&pmc PMC_TYPE_PERIPHERAL 5>;
687 clock-names = "spi_clk";
688 dmas = <&dma0
689 (AT91_XDMAC_DT_MEM_IF(0) |
690 AT91_XDMAC_DT_PER_IF(1) |
691 AT91_XDMAC_DT_PERID(0))>,
692 <&dma0
693 (AT91_XDMAC_DT_MEM_IF(0) |
694 AT91_XDMAC_DT_PER_IF(1) |
695 AT91_XDMAC_DT_PERID(1))>;
696 dma-names = "tx", "rx";
697 atmel,fifo-size = <16>;
698 status = "disabled";
699 };
700
701 i2c0: i2c@600 {
702 compatible = "microchip,sam9x7-i2c", "microchip,sam9x60-i2c";
703 reg = <0x600 0x200>;
704 interrupts = <5 IRQ_TYPE_LEVEL_HIGH 7>;
705 clocks = <&pmc PMC_TYPE_PERIPHERAL 5>;
706 dmas = <&dma0
707 (AT91_XDMAC_DT_MEM_IF(0) |
708 AT91_XDMAC_DT_PER_IF(1) |
709 AT91_XDMAC_DT_PERID(0))>,
710 <&dma0
711 (AT91_XDMAC_DT_MEM_IF(0) |
712 AT91_XDMAC_DT_PER_IF(1) |
713 AT91_XDMAC_DT_PERID(1))>;
714 dma-names = "tx", "rx";
715 atmel,fifo-size = <16>;
716 status = "disabled";
717 };
718 };
719
720 flx1: flexcom@f8020000 {
721 compatible = "microchip,sam9x7-flexcom", "atmel,sama5d2-flexcom";
722 reg = <0xf8020000 0x200>;
723 ranges = <0x0 0xf8020000 0x800>;
724 #address-cells = <1>;
725 #size-cells = <1>;
726 clocks = <&pmc PMC_TYPE_PERIPHERAL 6>;
727 status = "disabled";
728
729 uart1: serial@200 {
730 compatible = "microchip,sam9x7-usart", "atmel,at91sam9260-usart";
731 reg = <0x200 0x200>;
732 interrupts = <6 IRQ_TYPE_LEVEL_HIGH 7>;
733 clocks = <&pmc PMC_TYPE_PERIPHERAL 6>;
734 clock-names = "usart";
735 dmas = <&dma0
736 (AT91_XDMAC_DT_MEM_IF(0) |
737 AT91_XDMAC_DT_PER_IF(1) |
738 AT91_XDMAC_DT_PERID(2))>,
739 <&dma0
740 (AT91_XDMAC_DT_MEM_IF(0) |
741 AT91_XDMAC_DT_PER_IF(1) |
742 AT91_XDMAC_DT_PERID(3))>;
743 dma-names = "tx", "rx";
744 atmel,use-dma-rx;
745 atmel,use-dma-tx;
746 atmel,fifo-size = <16>;
747 atmel,usart-mode = <AT91_USART_MODE_SERIAL>;
748 status = "disabled";
749 };
750
751 spi1: spi@400 {
752 compatible = "microchip,sam9x7-spi", "atmel,at91rm9200-spi";
753 reg = <0x400 0x200>;
754 interrupts = <6 IRQ_TYPE_LEVEL_HIGH 7>;
755 clocks = <&pmc PMC_TYPE_PERIPHERAL 6>;
756 clock-names = "spi_clk";
757 dmas = <&dma0
758 (AT91_XDMAC_DT_MEM_IF(0) |
759 AT91_XDMAC_DT_PER_IF(1) |
760 AT91_XDMAC_DT_PERID(2))>,
761 <&dma0
762 (AT91_XDMAC_DT_MEM_IF(0) |
763 AT91_XDMAC_DT_PER_IF(1) |
764 AT91_XDMAC_DT_PERID(3))>;
765 dma-names = "tx", "rx";
766 atmel,fifo-size = <16>;
767 status = "disabled";
768 };
769
770 i2c1: i2c@600 {
771 compatible = "microchip,sam9x7-i2c", "microchip,sam9x60-i2c";
772 reg = <0x600 0x200>;
773 interrupts = <6 IRQ_TYPE_LEVEL_HIGH 7>;
774 clocks = <&pmc PMC_TYPE_PERIPHERAL 6>;
775 dmas = <&dma0
776 (AT91_XDMAC_DT_MEM_IF(0) |
777 AT91_XDMAC_DT_PER_IF(1) |
778 AT91_XDMAC_DT_PERID(2))>,
779 <&dma0
780 (AT91_XDMAC_DT_MEM_IF(0) |
781 AT91_XDMAC_DT_PER_IF(1) |
782 AT91_XDMAC_DT_PERID(3))>;
783 dma-names = "tx", "rx";
784 atmel,fifo-size = <16>;
785 status = "disabled";
786 };
787 };
788
789 flx2: flexcom@f8024000 {
790 compatible = "microchip,sam9x7-flexcom", "atmel,sama5d2-flexcom";
791 reg = <0xf8024000 0x200>;
792 ranges = <0x0 0xf8024000 0x800>;
793 #address-cells = <1>;
794 #size-cells = <1>;
795 clocks = <&pmc PMC_TYPE_PERIPHERAL 7>;
796 status = "disabled";
797
798 uart2: serial@200 {
799 compatible = "microchip,sam9x7-usart", "atmel,at91sam9260-usart";
800 reg = <0x200 0x200>;
801 interrupts = <7 IRQ_TYPE_LEVEL_HIGH 7>;
802 clocks = <&pmc PMC_TYPE_PERIPHERAL 7>;
803 clock-names = "usart";
804 dmas = <&dma0
805 (AT91_XDMAC_DT_MEM_IF(0) |
806 AT91_XDMAC_DT_PER_IF(1) |
807 AT91_XDMAC_DT_PERID(4))>,
808 <&dma0
809 (AT91_XDMAC_DT_MEM_IF(0) |
810 AT91_XDMAC_DT_PER_IF(1) |
811 AT91_XDMAC_DT_PERID(5))>;
812 dma-names = "tx", "rx";
813 atmel,use-dma-rx;
814 atmel,use-dma-tx;
815 atmel,fifo-size = <16>;
816 atmel,usart-mode = <AT91_USART_MODE_SERIAL>;
817 status = "disabled";
818 };
819
820 spi2: spi@400 {
821 compatible = "microchip,sam9x7-spi", "atmel,at91rm9200-spi";
822 reg = <0x400 0x200>;
823 interrupts = <7 IRQ_TYPE_LEVEL_HIGH 7>;
824 clocks = <&pmc PMC_TYPE_PERIPHERAL 7>;
825 clock-names = "spi_clk";
826 dmas = <&dma0
827 (AT91_XDMAC_DT_MEM_IF(0) |
828 AT91_XDMAC_DT_PER_IF(1) |
829 AT91_XDMAC_DT_PERID(4))>,
830 <&dma0
831 (AT91_XDMAC_DT_MEM_IF(0) |
832 AT91_XDMAC_DT_PER_IF(1) |
833 AT91_XDMAC_DT_PERID(5))>;
834 dma-names = "tx", "rx";
835 atmel,fifo-size = <16>;
836 status = "disabled";
837 };
838
839 i2c2: i2c@600 {
840 compatible = "microchip,sam9x7-i2c", "microchip,sam9x60-i2c";
841 reg = <0x600 0x200>;
842 interrupts = <7 IRQ_TYPE_LEVEL_HIGH 7>;
843 clocks = <&pmc PMC_TYPE_PERIPHERAL 7>;
844 dmas = <&dma0
845 (AT91_XDMAC_DT_MEM_IF(0) |
846 AT91_XDMAC_DT_PER_IF(1) |
847 AT91_XDMAC_DT_PERID(4))>,
848 <&dma0
849 (AT91_XDMAC_DT_MEM_IF(0) |
850 AT91_XDMAC_DT_PER_IF(1) |
851 AT91_XDMAC_DT_PERID(5))>;
852 dma-names = "tx", "rx";
853 atmel,fifo-size = <16>;
854 status = "disabled";
855 };
856 };
857
858 flx3: flexcom@f8028000 {
859 compatible = "microchip,sam9x7-flexcom", "atmel,sama5d2-flexcom";
860 reg = <0xf8028000 0x200>;
861 ranges = <0x0 0xf8028000 0x800>;
862 #address-cells = <1>;
863 #size-cells = <1>;
864 clocks = <&pmc PMC_TYPE_PERIPHERAL 8>;
865 status = "disabled";
866
867 uart3: serial@200 {
868 compatible = "microchip,sam9x7-usart", "atmel,at91sam9260-usart";
869 reg = <0x200 0x200>;
870 interrupts = <8 IRQ_TYPE_LEVEL_HIGH 7>;
871 clocks = <&pmc PMC_TYPE_PERIPHERAL 8>;
872 clock-names = "usart";
873 dmas = <&dma0
874 (AT91_XDMAC_DT_MEM_IF(0) |
875 AT91_XDMAC_DT_PER_IF(1) |
876 AT91_XDMAC_DT_PERID(6))>,
877 <&dma0
878 (AT91_XDMAC_DT_MEM_IF(0) |
879 AT91_XDMAC_DT_PER_IF(1) |
880 AT91_XDMAC_DT_PERID(7))>;
881 dma-names = "tx", "rx";
882 atmel,use-dma-rx;
883 atmel,use-dma-tx;
884 atmel,fifo-size = <16>;
885 atmel,usart-mode = <AT91_USART_MODE_SERIAL>;
886 status = "disabled";
887 };
888
889 spi3: spi@400 {
890 compatible = "microchip,sam9x7-spi", "atmel,at91rm9200-spi";
891 reg = <0x400 0x200>;
892 interrupts = <8 IRQ_TYPE_LEVEL_HIGH 7>;
893 clocks = <&pmc PMC_TYPE_PERIPHERAL 8>;
894 clock-names = "spi_clk";
895 dmas = <&dma0
896 (AT91_XDMAC_DT_MEM_IF(0) |
897 AT91_XDMAC_DT_PER_IF(1) |
898 AT91_XDMAC_DT_PERID(6))>,
899 <&dma0
900 (AT91_XDMAC_DT_MEM_IF(0) |
901 AT91_XDMAC_DT_PER_IF(1) |
902 AT91_XDMAC_DT_PERID(7))>;
903 dma-names = "tx", "rx";
904 atmel,fifo-size = <16>;
905 status = "disabled";
906 };
907
908 i2c3: i2c@600 {
909 compatible = "microchip,sam9x7-i2c", "microchip,sam9x60-i2c";
910 reg = <0x600 0x200>;
911 interrupts = <8 IRQ_TYPE_LEVEL_HIGH 7>;
912 clocks = <&pmc PMC_TYPE_PERIPHERAL 8>;
913 dmas = <&dma0
914 (AT91_XDMAC_DT_MEM_IF(0) |
915 AT91_XDMAC_DT_PER_IF(1) |
916 AT91_XDMAC_DT_PERID(6))>,
917 <&dma0
918 (AT91_XDMAC_DT_MEM_IF(0) |
919 AT91_XDMAC_DT_PER_IF(1) |
920 AT91_XDMAC_DT_PERID(7))>;
921 dma-names = "tx", "rx";
922 atmel,fifo-size = <16>;
923 status = "disabled";
924 };
925 };
926
927 gmac: ethernet@f802c000 {
928 compatible = "microchip,sam9x7-gem", "microchip,sama7g5-gem";
929 reg = <0xf802c000 0x1000>;
930 interrupts = <24 IRQ_TYPE_LEVEL_HIGH 3>, /* Queue 0 */
931 <60 IRQ_TYPE_LEVEL_HIGH 3>, /* Queue 1 */
932 <61 IRQ_TYPE_LEVEL_HIGH 3>, /* Queue 2 */
933 <62 IRQ_TYPE_LEVEL_HIGH 3>, /* Queue 3 */
934 <63 IRQ_TYPE_LEVEL_HIGH 3>, /* Queue 4 */
935 <64 IRQ_TYPE_LEVEL_HIGH 3>; /* Queue 5 */
936 clocks = <&pmc PMC_TYPE_PERIPHERAL 24>, <&pmc PMC_TYPE_PERIPHERAL 24>, <&pmc PMC_TYPE_GCK 24>, <&pmc PMC_TYPE_GCK 67>;
937 clock-names = "hclk", "pclk", "tx_clk", "tsu_clk";
938 assigned-clocks = <&pmc PMC_TYPE_GCK 67>;
939 assigned-clock-rates = <266666666>;
940 status = "disabled";
941 };
942
943 pwm0: pwm@f8034000 {
944 compatible = "microchip,sam9x7-pwm", "microchip,sam9x60-pwm";
945 reg = <0xf8034000 0x300>;
946 interrupts = <18 IRQ_TYPE_LEVEL_HIGH 4>;
947 clocks = <&pmc PMC_TYPE_PERIPHERAL 18>;
948 #pwm-cells = <3>;
949 status = "disabled";
950 };
951
952 flx9: flexcom@f8040000 {
953 compatible = "microchip,sam9x7-flexcom", "atmel,sama5d2-flexcom";
954 reg = <0xf8040000 0x200>;
955 ranges = <0x0 0xf8040000 0x800>;
956 #address-cells = <1>;
957 #size-cells = <1>;
958 clocks = <&pmc PMC_TYPE_PERIPHERAL 15>;
959 status = "disabled";
960
961 uart9: serial@200 {
962 compatible = "microchip,sam9x7-usart", "atmel,at91sam9260-usart";
963 reg = <0x200 0x200>;
964 interrupts = <15 IRQ_TYPE_LEVEL_HIGH 7>;
965 clocks = <&pmc PMC_TYPE_PERIPHERAL 15>;
966 clock-names = "usart";
967 dmas = <&dma0
968 (AT91_XDMAC_DT_MEM_IF(0) |
969 AT91_XDMAC_DT_PER_IF(1) |
970 AT91_XDMAC_DT_PERID(18))>,
971 <&dma0
972 (AT91_XDMAC_DT_MEM_IF(0) |
973 AT91_XDMAC_DT_PER_IF(1) |
974 AT91_XDMAC_DT_PERID(19))>;
975 dma-names = "tx", "rx";
976 atmel,use-dma-rx;
977 atmel,use-dma-tx;
978 atmel,fifo-size = <16>;
979 atmel,usart-mode = <AT91_USART_MODE_SERIAL>;
980 status = "disabled";
981 };
982
983 i2c9: i2c@600 {
984 compatible = "microchip,sam9x7-i2c", "microchip,sam9x60-i2c";
985 reg = <0x600 0x200>;
986 interrupts = <15 IRQ_TYPE_LEVEL_HIGH 7>;
987 clocks = <&pmc PMC_TYPE_PERIPHERAL 15>;
988 dmas = <&dma0
989 (AT91_XDMAC_DT_MEM_IF(0) |
990 AT91_XDMAC_DT_PER_IF(1) |
991 AT91_XDMAC_DT_PERID(18))>,
992 <&dma0
993 (AT91_XDMAC_DT_MEM_IF(0) |
994 AT91_XDMAC_DT_PER_IF(1) |
995 AT91_XDMAC_DT_PERID(19))>;
996 dma-names = "tx", "rx";
997 atmel,fifo-size = <16>;
998 status = "disabled";
999 };
1000 };
1001
1002 flx10: flexcom@f8044000 {
1003 compatible = "microchip,sam9x7-flexcom", "atmel,sama5d2-flexcom";
1004 reg = <0xf8044000 0x200>;
1005 ranges = <0x0 0xf8044000 0x800>;
1006 #address-cells = <1>;
1007 #size-cells = <1>;
1008 clocks = <&pmc PMC_TYPE_PERIPHERAL 16>;
1009 status = "disabled";
1010
1011 uart10: serial@200 {
1012 compatible = "microchip,sam9x7-usart", "atmel,at91sam9260-usart";
1013 reg = <0x200 0x200>;
1014 interrupts = <16 IRQ_TYPE_LEVEL_HIGH 7>;
1015 clocks = <&pmc PMC_TYPE_PERIPHERAL 16>;
1016 clock-names = "usart";
1017 dmas = <&dma0
1018 (AT91_XDMAC_DT_MEM_IF(0) |
1019 AT91_XDMAC_DT_PER_IF(1) |
1020 AT91_XDMAC_DT_PERID(20))>,
1021 <&dma0
1022 (AT91_XDMAC_DT_MEM_IF(0) |
1023 AT91_XDMAC_DT_PER_IF(1) |
1024 AT91_XDMAC_DT_PERID(21))>;
1025 dma-names = "tx", "rx";
1026 atmel,use-dma-rx;
1027 atmel,use-dma-tx;
1028 atmel,fifo-size = <16>;
1029 atmel,usart-mode = <AT91_USART_MODE_SERIAL>;
1030 status = "disabled";
1031 };
1032
1033 i2c10: i2c@600 {
1034 compatible = "microchip,sam9x7-i2c", "microchip,sam9x60-i2c";
1035 reg = <0x600 0x200>;
1036 interrupts = <16 IRQ_TYPE_LEVEL_HIGH 7>;
1037 clocks = <&pmc PMC_TYPE_PERIPHERAL 16>;
1038 dmas = <&dma0
1039 (AT91_XDMAC_DT_MEM_IF(0) |
1040 AT91_XDMAC_DT_PER_IF(1) |
1041 AT91_XDMAC_DT_PERID(20))>,
1042 <&dma0
1043 (AT91_XDMAC_DT_MEM_IF(0) |
1044 AT91_XDMAC_DT_PER_IF(1) |
1045 AT91_XDMAC_DT_PERID(21))>;
1046 dma-names = "tx", "rx";
1047 atmel,fifo-size = <16>;
1048 status = "disabled";
1049 };
1050 };
1051
1052 matrix: matrix@ffffde00 {
1053 compatible = "microchip,sam9x7-matrix", "atmel,at91sam9x5-matrix", "syscon";
1054 reg = <0xffffde00 0x200>;
1055 };
1056
1057 pmecc: ecc-engine@ffffe000 {
1058 compatible = "microchip,sam9x7-pmecc", "atmel,at91sam9g45-pmecc";
1059 reg = <0xffffe000 0x300>, <0xffffe600 0x100>;
1060 };
1061
1062 mpddrc: mpddrc@ffffe800 {
1063 compatible = "microchip,sam9x7-ddramc", "atmel,sama5d3-ddramc";
1064 reg = <0xffffe800 0x200>;
1065 clocks = <&pmc PMC_TYPE_SYSTEM 2>, <&pmc PMC_TYPE_CORE PMC_MCK>;
1066 clock-names = "ddrck", "mpddr";
1067 };
1068
1069 smc: smc@ffffea00 {
1070 compatible = "microchip,sam9x7-smc", "atmel,at91sam9260-smc", "syscon";
1071 reg = <0xffffea00 0x100>;
1072 };
1073
1074 aic: interrupt-controller@fffff100 {
1075 compatible = "microchip,sam9x7-aic";
1076 reg = <0xfffff100 0x100>;
1077 #interrupt-cells = <3>;
1078 interrupt-controller;
1079 atmel,external-irqs = <31>;
1080 };
1081
1082 dbgu: serial@fffff200 {
1083 compatible = "microchip,sam9x7-dbgu", "atmel,at91sam9260-dbgu", "microchip,sam9x7-usart", "atmel,at91sam9260-usart";
1084 reg = <0xfffff200 0x200>;
1085 interrupts = <47 IRQ_TYPE_LEVEL_HIGH 7>;
1086 clocks = <&pmc PMC_TYPE_PERIPHERAL 47>;
1087 clock-names = "usart";
1088 dmas = <&dma0
1089 (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
1090 AT91_XDMAC_DT_PERID(28))>,
1091 <&dma0
1092 (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
1093 AT91_XDMAC_DT_PERID(29))>;
1094 dma-names = "tx", "rx";
1095 atmel,usart-mode = <AT91_USART_MODE_SERIAL>;
1096 status = "disabled";
1097 };
1098
1099 pinctrl: pinctrl@fffff400 {
1100 compatible = "microchip,sam9x7-pinctrl", "microchip,sam9x60-pinctrl", "simple-mfd";
1101 ranges = <0xfffff400 0xfffff400 0x800>;
1102 #address-cells = <1>;
1103 #size-cells = <1>;
1104
1105 /* mux-mask corresponding to sam9x7 SoC in TFBGA228L package */
1106 atmel,mux-mask = <
1107 /* A B C D */
1108 0xffffffff 0xffffefc0 0xc0ffd000 0x00000000 /* pioA */
1109 0x07ffffff 0x0805fe7f 0x01ff9f81 0x06078000 /* pioB */
1110 0xffffffff 0x07dfffff 0xfa3fffff 0x00000000 /* pioC */
1111 0x00003fff 0x00003fe0 0x0000003f 0x00000000 /* pioD */
1112 >;
1113
1114 pioA: gpio@fffff400 {
1115 compatible = "microchip,sam9x7-gpio", "microchip,sam9x60-gpio", "atmel,at91rm9200-gpio";
1116 reg = <0xfffff400 0x200>;
1117 interrupts = <2 IRQ_TYPE_LEVEL_HIGH 1>;
1118 #interrupt-cells = <2>;
1119 interrupt-controller;
1120 #gpio-cells = <2>;
1121 gpio-controller;
1122 clocks = <&pmc PMC_TYPE_PERIPHERAL 2>;
1123 };
1124
1125 pioB: gpio@fffff600 {
1126 compatible = "microchip,sam9x7-gpio", "microchip,sam9x60-gpio", "atmel,at91rm9200-gpio";
1127 reg = <0xfffff600 0x200>;
1128 interrupts = <3 IRQ_TYPE_LEVEL_HIGH 1>;
1129 #interrupt-cells = <2>;
1130 interrupt-controller;
1131 #gpio-cells = <2>;
1132 gpio-controller;
1133 #gpio-lines = <26>;
1134 clocks = <&pmc PMC_TYPE_PERIPHERAL 3>;
1135 };
1136
1137 pioC: gpio@fffff800 {
1138 compatible = "microchip,sam9x7-gpio", "microchip,sam9x60-gpio", "atmel,at91rm9200-gpio";
1139 reg = <0xfffff800 0x200>;
1140 interrupts = <4 IRQ_TYPE_LEVEL_HIGH 1>;
1141 #interrupt-cells = <2>;
1142 interrupt-controller;
1143 #gpio-cells = <2>;
1144 gpio-controller;
1145 clocks = <&pmc PMC_TYPE_PERIPHERAL 4>;
1146 };
1147
1148 pioD: gpio@fffffa00 {
1149 compatible = "microchip,sam9x7-gpio", "microchip,sam9x60-gpio", "atmel,at91rm9200-gpio";
1150 reg = <0xfffffa00 0x200>;
1151 interrupts = <44 IRQ_TYPE_LEVEL_HIGH 1>;
1152 #interrupt-cells = <2>;
1153 interrupt-controller;
1154 #gpio-cells = <2>;
1155 gpio-controller;
1156 #gpio-lines = <22>;
1157 clocks = <&pmc PMC_TYPE_PERIPHERAL 44>;
1158 };
1159 };
1160
1161 pmc: clock-controller@fffffc00 {
1162 compatible = "microchip,sam9x7-pmc", "syscon";
1163 reg = <0xfffffc00 0x200>;
1164 interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>;
1165 #clock-cells = <2>;
1166 clocks = <&clk32k 1>, <&clk32k 0>, <&main_xtal>;
1167 clock-names = "td_slck", "md_slck", "main_xtal";
1168 };
1169
1170 reset_controller: reset-controller@fffffe00 {
1171 compatible = "microchip,sam9x7-rstc", "microchip,sam9x60-rstc";
1172 reg = <0xfffffe00 0x10>;
1173 clocks = <&clk32k 0>;
1174 };
1175
1176 poweroff: poweroff@fffffe10 {
1177 compatible = "microchip,sam9x7-shdwc", "microchip,sam9x60-shdwc";
1178 reg = <0xfffffe10 0x10>;
1179 #address-cells = <1>;
1180 #size-cells = <0>;
1181 clocks = <&clk32k 0>;
1182 atmel,wakeup-rtc-timer;
1183 atmel,wakeup-rtt-timer;
1184 status = "disabled";
1185 };
1186
1187 rtt: rtc@fffffe20 {
1188 compatible = "microchip,sam9x7-rtt", "atmel,at91sam9260-rtt";
1189 reg = <0xfffffe20 0x20>;
1190 interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>;
1191 clocks = <&clk32k 0>;
1192 };
1193
1194 clk32k: clock-controller@fffffe50 {
1195 compatible = "microchip,sam9x7-sckc", "microchip,sam9x60-sckc";
1196 reg = <0xfffffe50 0x4>;
1197 clocks = <&slow_xtal>;
1198 #clock-cells = <1>;
1199 };
1200
1201 gpbr: syscon@fffffe60 {
1202 compatible = "microchip,sam9x7-gpbr", "atmel,at91sam9260-gpbr", "syscon";
1203 reg = <0xfffffe60 0x10>;
1204 };
1205
1206 rtc: rtc@fffffea8 {
1207 compatible = "microchip,sam9x7-rtc", "microchip,sam9x60-rtc";
1208 reg = <0xfffffea8 0x100>;
1209 interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>;
1210 clocks = <&clk32k 0>;
1211 };
1212
1213 watchdog: watchdog@ffffff80 {
1214 compatible = "microchip,sam9x7-wdt", "microchip,sam9x60-wdt";
1215 reg = <0xffffff80 0x24>;
1216 interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>;
1217 status = "disabled";
1218 };
1219 };
1220};