Merge tag 'dt-5.16' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc
[platform/kernel/linux-starfive.git] / arch / arm / boot / dts / sama7g5.dtsi
1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2 /*
3  *  sama7g5.dtsi - Device Tree Include file for SAMA7G5 family SoC
4  *
5  *  Copyright (C) 2020 Microchip Technology, Inc. and its subsidiaries
6  *
7  *  Author: Eugen Hristev <eugen.hristev@microchip.com>
8  *  Author: Claudiu Beznea <claudiu.beznea@microchip.com>
9  *
10  */
11
12 #include <dt-bindings/interrupt-controller/irq.h>
13 #include <dt-bindings/interrupt-controller/arm-gic.h>
14 #include <dt-bindings/clock/at91.h>
15 #include <dt-bindings/dma/at91.h>
16 #include <dt-bindings/gpio/gpio.h>
17
18 / {
19         model = "Microchip SAMA7G5 family SoC";
20         compatible = "microchip,sama7g5";
21         #address-cells = <1>;
22         #size-cells = <1>;
23         interrupt-parent = <&gic>;
24
25         cpus {
26                 #address-cells = <1>;
27                 #size-cells = <0>;
28
29                 cpu0: cpu@0 {
30                         device_type = "cpu";
31                         compatible = "arm,cortex-a7";
32                         reg = <0x0>;
33                 };
34         };
35
36         clocks {
37                 slow_xtal: slow_xtal {
38                         compatible = "fixed-clock";
39                         #clock-cells = <0>;
40                 };
41
42                 main_xtal: main_xtal {
43                         compatible = "fixed-clock";
44                         #clock-cells = <0>;
45                 };
46
47                 usb_clk: usb_clk {
48                         compatible = "fixed-clock";
49                         #clock-cells = <0>;
50                         clock-frequency = <48000000>;
51                 };
52         };
53
54         vddout25: fixed-regulator-vddout25 {
55                 compatible = "regulator-fixed";
56
57                 regulator-name = "VDDOUT25";
58                 regulator-min-microvolt = <2500000>;
59                 regulator-max-microvolt = <2500000>;
60                 regulator-boot-on;
61                 status = "disabled";
62         };
63
64         ns_sram: sram@100000 {
65                 compatible = "mmio-sram";
66                 #address-cells = <1>;
67                 #size-cells = <1>;
68                 reg = <0x100000 0x20000>;
69                 ranges;
70         };
71
72         soc {
73                 compatible = "simple-bus";
74                 #address-cells = <1>;
75                 #size-cells = <1>;
76                 ranges;
77
78                 securam: securam@e0000000 {
79                         compatible = "microchip,sama7g5-securam", "atmel,sama5d2-securam", "mmio-sram";
80                         reg = <0xe0000000 0x4000>;
81                         clocks = <&pmc PMC_TYPE_PERIPHERAL 18>;
82                         #address-cells = <1>;
83                         #size-cells = <1>;
84                         ranges = <0 0xe0000000 0x4000>;
85                         no-memory-wc;
86                         status = "okay";
87                 };
88
89                 secumod: secumod@e0004000 {
90                         compatible = "microchip,sama7g5-secumod", "atmel,sama5d2-secumod", "syscon";
91                         reg = <0xe0004000 0x4000>;
92                         gpio-controller;
93                         #gpio-cells = <2>;
94                 };
95
96                 sfrbu: sfr@e0008000 {
97                         compatible = "microchip,sama7g5-sfrbu", "atmel,sama5d2-sfrbu", "syscon";
98                         reg = <0xe0008000 0x20>;
99                 };
100
101                 pioA: pinctrl@e0014000 {
102                         compatible = "microchip,sama7g5-pinctrl";
103                         reg = <0xe0014000 0x800>;
104                         interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>,
105                                 <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>,
106                                 <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>,
107                                 <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>,
108                                 <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
109                         interrupt-controller;
110                         #interrupt-cells = <2>;
111                         gpio-controller;
112                         #gpio-cells = <2>;
113                         clocks = <&pmc PMC_TYPE_PERIPHERAL 11>;
114                 };
115
116                 pmc: pmc@e0018000 {
117                         compatible = "microchip,sama7g5-pmc", "syscon";
118                         reg = <0xe0018000 0x200>;
119                         interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
120                         #clock-cells = <2>;
121                         clocks = <&clk32k 1>, <&clk32k 0>, <&main_xtal>;
122                         clock-names = "td_slck", "md_slck", "main_xtal";
123                 };
124
125                 shdwc: shdwc@e001d010 {
126                         compatible = "microchip,sama7g5-shdwc", "syscon";
127                         reg = <0xe001d010 0x10>;
128                         clocks = <&clk32k 0>;
129                         #address-cells = <1>;
130                         #size-cells = <0>;
131                         atmel,wakeup-rtc-timer;
132                         atmel,wakeup-rtt-timer;
133                         status = "disabled";
134                 };
135
136                 rtt: rtt@e001d020 {
137                         compatible = "microchip,sama7g5-rtt", "microchip,sam9x60-rtt", "atmel,at91sam9260-rtt";
138                         reg = <0xe001d020 0x30>;
139                         interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
140                         clocks = <&clk32k 0>;
141                 };
142
143                 clk32k: clock-controller@e001d050 {
144                         compatible = "microchip,sama7g5-sckc", "microchip,sam9x60-sckc";
145                         reg = <0xe001d050 0x4>;
146                         clocks = <&slow_xtal>;
147                         #clock-cells = <1>;
148                 };
149
150                 gpbr: gpbr@e001d060 {
151                         compatible = "microchip,sama7g5-gpbr", "syscon";
152                         reg = <0xe001d060 0x48>;
153                 };
154
155                 rtc: rtc@e001d0a8 {
156                         compatible = "microchip,sama7g5-rtc", "microchip,sam9x60-rtc";
157                         reg = <0xe001d0a8 0x30>;
158                         interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
159                         clocks = <&clk32k 1>;
160                 };
161
162                 ps_wdt: watchdog@e001d180 {
163                         compatible = "microchip,sama7g5-wdt";
164                         reg = <0xe001d180 0x24>;
165                         interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
166                         clocks = <&clk32k 0>;
167                 };
168
169                 chipid@e0020000 {
170                         compatible = "microchip,sama7g5-chipid";
171                         reg = <0xe0020000 0x8>;
172                 };
173
174                 tcb1: timer@e0800000 {
175                         compatible = "atmel,sama5d2-tcb", "simple-mfd", "syscon";
176                         #address-cells = <1>;
177                         #size-cells = <0>;
178                         reg = <0xe0800000 0x100>;
179                         interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>;
180                         clocks = <&pmc PMC_TYPE_PERIPHERAL 91>, <&pmc PMC_TYPE_PERIPHERAL 92>, <&pmc PMC_TYPE_PERIPHERAL 93>, <&clk32k 1>;
181                         clock-names = "t0_clk", "t1_clk", "t2_clk", "slow_clk";
182                 };
183
184                 adc: adc@e1000000 {
185                         compatible = "microchip,sama7g5-adc";
186                         reg = <0xe1000000 0x200>;
187                         interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
188                         clocks = <&pmc PMC_TYPE_GCK 26>;
189                         assigned-clocks = <&pmc PMC_TYPE_GCK 26>;
190                         assigned-clock-rates = <100000000>;
191                         clock-names = "adc_clk";
192                         dmas = <&dma0 AT91_XDMAC_DT_PERID(0)>;
193                         dma-names = "rx";
194                         atmel,min-sample-rate-hz = <200000>;
195                         atmel,max-sample-rate-hz = <20000000>;
196                         atmel,startup-time-ms = <4>;
197                         status = "disabled";
198                 };
199
200                 sdmmc0: mmc@e1204000 {
201                         compatible = "microchip,sama7g5-sdhci", "microchip,sam9x60-sdhci";
202                         reg = <0xe1204000 0x4000>;
203                         interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>;
204                         clocks = <&pmc PMC_TYPE_PERIPHERAL 80>, <&pmc PMC_TYPE_GCK 80>;
205                         clock-names = "hclock", "multclk";
206                         assigned-clock-parents = <&pmc PMC_TYPE_CORE PMC_SYSPLL>;
207                         assigned-clocks = <&pmc PMC_TYPE_GCK 80>;
208                         assigned-clock-rates = <200000000>;
209                         microchip,sdcal-inverted;
210                         status = "disabled";
211                 };
212
213                 sdmmc1: mmc@e1208000 {
214                         compatible = "microchip,sama7g5-sdhci", "microchip,sam9x60-sdhci";
215                         reg = <0xe1208000 0x4000>;
216                         interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>;
217                         clocks = <&pmc PMC_TYPE_PERIPHERAL 81>, <&pmc PMC_TYPE_GCK 81>;
218                         clock-names = "hclock", "multclk";
219                         assigned-clock-parents = <&pmc PMC_TYPE_CORE PMC_SYSPLL>;
220                         assigned-clocks = <&pmc PMC_TYPE_GCK 81>;
221                         assigned-clock-rates = <200000000>;
222                         microchip,sdcal-inverted;
223                         status = "disabled";
224                 };
225
226                 sdmmc2: mmc@e120c000 {
227                         compatible = "microchip,sama7g5-sdhci", "microchip,sam9x60-sdhci";
228                         reg = <0xe120c000 0x4000>;
229                         interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
230                         clocks = <&pmc PMC_TYPE_PERIPHERAL 82>, <&pmc PMC_TYPE_GCK 82>;
231                         clock-names = "hclock", "multclk";
232                         assigned-clock-parents = <&pmc PMC_TYPE_CORE PMC_SYSPLL>;
233                         assigned-clocks = <&pmc PMC_TYPE_GCK 82>;
234                         assigned-clock-rates = <200000000>;
235                         microchip,sdcal-inverted;
236                         status = "disabled";
237                 };
238
239                 pwm: pwm@e1604000 {
240                         compatible = "microchip,sama7g5-pwm", "atmel,sama5d2-pwm";
241                         reg = <0xe1604000 0x4000>;
242                         interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>;
243                         #pwm-cells = <3>;
244                         clocks = <&pmc PMC_TYPE_PERIPHERAL 77>;
245                         status = "disabled";
246                 };
247
248                 spdifrx: spdifrx@e1614000 {
249                         #sound-dai-cells = <0>;
250                         compatible = "microchip,sama7g5-spdifrx";
251                         reg = <0xe1614000 0x4000>;
252                         interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
253                         dmas = <&dma0 AT91_XDMAC_DT_PERID(49)>;
254                         dma-names = "rx";
255                         clocks = <&pmc PMC_TYPE_PERIPHERAL 84>, <&pmc PMC_TYPE_GCK 84>;
256                         clock-names = "pclk", "gclk";
257                         status = "disabled";
258                 };
259
260                 spdiftx: spdiftx@e1618000 {
261                         #sound-dai-cells = <0>;
262                         compatible = "microchip,sama7g5-spdiftx";
263                         reg = <0xe1618000 0x4000>;
264                         interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
265                         dmas = <&dma0 AT91_XDMAC_DT_PERID(50)>;
266                         dma-names = "tx";
267                         clocks = <&pmc PMC_TYPE_PERIPHERAL 85>, <&pmc PMC_TYPE_GCK 85>;
268                         clock-names = "pclk", "gclk";
269                 };
270
271                 i2s0: i2s@e161c000 {
272                         compatible = "microchip,sama7g5-i2smcc";
273                         #sound-dai-cells = <0>;
274                         reg = <0xe161c000 0x4000>;
275                         interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>;
276                         dmas = <&dma0 AT91_XDMAC_DT_PERID(34)>, <&dma0 AT91_XDMAC_DT_PERID(33)>;
277                         dma-names = "tx", "rx";
278                         clocks = <&pmc PMC_TYPE_PERIPHERAL 57>, <&pmc PMC_TYPE_GCK 57>;
279                         clock-names = "pclk", "gclk";
280                         status = "disabled";
281                 };
282
283                 i2s1: i2s@e1620000 {
284                         compatible = "microchip,sama7g5-i2smcc";
285                         #sound-dai-cells = <0>;
286                         reg = <0xe1620000 0x4000>;
287                         interrupts = <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>;
288                         dmas = <&dma0 AT91_XDMAC_DT_PERID(36)>, <&dma0 AT91_XDMAC_DT_PERID(35)>;
289                         dma-names = "tx", "rx";
290                         clocks = <&pmc PMC_TYPE_PERIPHERAL 58>, <&pmc PMC_TYPE_GCK 58>;
291                         clock-names = "pclk", "gclk";
292                         status = "disabled";
293                 };
294
295                 pit64b0: timer@e1800000 {
296                         compatible = "microchip,sama7g5-pit64b", "microchip,sam9x60-pit64b";
297                         reg = <0xe1800000 0x4000>;
298                         interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>;
299                         clocks = <&pmc PMC_TYPE_PERIPHERAL 70>, <&pmc PMC_TYPE_GCK 70>;
300                         clock-names = "pclk", "gclk";
301                 };
302
303                 pit64b1: timer@e1804000 {
304                         compatible = "microchip,sama7g5-pit64b", "microchip,sam9x60-pit64b";
305                         reg = <0xe1804000 0x4000>;
306                         interrupts = <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
307                         clocks = <&pmc PMC_TYPE_PERIPHERAL 71>, <&pmc PMC_TYPE_GCK 71>;
308                         clock-names = "pclk", "gclk";
309                 };
310
311                 flx0: flexcom@e1818000 {
312                         compatible = "atmel,sama5d2-flexcom";
313                         reg = <0xe1818000 0x200>;
314                         clocks = <&pmc PMC_TYPE_PERIPHERAL 38>;
315                         #address-cells = <1>;
316                         #size-cells = <1>;
317                         ranges = <0x0 0xe1818000 0x800>;
318                         status = "disabled";
319
320                         uart0: serial@200 {
321                                 compatible = "atmel,at91sam9260-usart";
322                                 reg = <0x200 0x200>;
323                                 interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
324                                 clocks = <&pmc PMC_TYPE_PERIPHERAL 38>;
325                                 clock-names = "usart";
326                                 dmas = <&dma1 AT91_XDMAC_DT_PERID(6)>,
327                                         <&dma1 AT91_XDMAC_DT_PERID(5)>;
328                                 dma-names = "tx", "rx";
329                                 atmel,use-dma-rx;
330                                 atmel,use-dma-tx;
331                                 status = "disabled";
332                         };
333                 };
334
335                 flx1: flexcom@e181c000 {
336                         compatible = "atmel,sama5d2-flexcom";
337                         reg = <0xe181c000 0x200>;
338                         clocks = <&pmc PMC_TYPE_PERIPHERAL 39>;
339                         #address-cells = <1>;
340                         #size-cells = <1>;
341                         ranges = <0x0 0xe181c000 0x800>;
342                         status = "disabled";
343
344                         i2c1: i2c@600 {
345                                 compatible = "microchip,sama7g5-i2c", "microchip,sam9x60-i2c";
346                                 reg = <0x600 0x200>;
347                                 interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>;
348                                 #address-cells = <1>;
349                                 #size-cells = <0>;
350                                 clocks = <&pmc PMC_TYPE_PERIPHERAL 39>;
351                                 atmel,fifo-size = <32>;
352                                 dmas = <&dma0 AT91_XDMAC_DT_PERID(7)>,
353                                         <&dma0 AT91_XDMAC_DT_PERID(8)>;
354                                 dma-names = "rx", "tx";
355                                 atmel,use-dma-rx;
356                                 atmel,use-dma-tx;
357                                 status = "disabled";
358                         };
359                 };
360
361                 flx3: flexcom@e1824000 {
362                         compatible = "atmel,sama5d2-flexcom";
363                         reg = <0xe1824000 0x200>;
364                         clocks = <&pmc PMC_TYPE_PERIPHERAL 41>;
365                         #address-cells = <1>;
366                         #size-cells = <1>;
367                         ranges = <0x0 0xe1824000 0x800>;
368                         status = "disabled";
369
370                         uart3: serial@200 {
371                                 compatible = "atmel,at91sam9260-usart";
372                                 reg = <0x200 0x200>;
373                                 interrupts = <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>;
374                                 clocks = <&pmc PMC_TYPE_PERIPHERAL 41>;
375                                 clock-names = "usart";
376                                 dmas = <&dma1 AT91_XDMAC_DT_PERID(12)>,
377                                         <&dma1 AT91_XDMAC_DT_PERID(11)>;
378                                 dma-names = "tx", "rx";
379                                 atmel,use-dma-rx;
380                                 atmel,use-dma-tx;
381                                 status = "disabled";
382                         };
383                 };
384
385                 trng: rng@e2010000 {
386                         compatible = "microchip,sama7g5-trng", "atmel,at91sam9g45-trng";
387                         reg = <0xe2010000 0x100>;
388                         interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
389                         clocks = <&pmc PMC_TYPE_PERIPHERAL 97>;
390                         status = "disabled";
391                 };
392
393                 flx4: flexcom@e2018000 {
394                         compatible = "atmel,sama5d2-flexcom";
395                         reg = <0xe2018000 0x200>;
396                         clocks = <&pmc PMC_TYPE_PERIPHERAL 42>;
397                         #address-cells = <1>;
398                         #size-cells = <1>;
399                         ranges = <0x0 0xe2018000 0x800>;
400                         status = "disabled";
401
402                         uart4: serial@200 {
403                                 compatible = "atmel,at91sam9260-usart";
404                                 reg = <0x200 0x200>;
405                                 interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>;
406                                 clocks = <&pmc PMC_TYPE_PERIPHERAL 42>;
407                                 clock-names = "usart";
408                                 dmas = <&dma1 AT91_XDMAC_DT_PERID(14)>,
409                                         <&dma1 AT91_XDMAC_DT_PERID(13)>;
410                                 dma-names = "tx", "rx";
411                                 atmel,use-dma-rx;
412                                 atmel,use-dma-tx;
413                                 atmel,fifo-size = <16>;
414                                 status = "disabled";
415                         };
416                 };
417
418                 flx7: flexcom@e2024000 {
419                         compatible = "atmel,sama5d2-flexcom";
420                         reg = <0xe2024000 0x200>;
421                         clocks = <&pmc PMC_TYPE_PERIPHERAL 45>;
422                         #address-cells = <1>;
423                         #size-cells = <1>;
424                         ranges = <0x0 0xe2024000 0x800>;
425                         status = "disabled";
426
427                         uart7: serial@200 {
428                                 compatible = "atmel,at91sam9260-usart";
429                                 reg = <0x200 0x200>;
430                                 interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
431                                 clocks = <&pmc PMC_TYPE_PERIPHERAL 45>;
432                                 clock-names = "usart";
433                                 dmas = <&dma1 AT91_XDMAC_DT_PERID(20)>,
434                                         <&dma1 AT91_XDMAC_DT_PERID(19)>;
435                                 dma-names = "tx", "rx";
436                                 atmel,use-dma-rx;
437                                 atmel,use-dma-tx;
438                                 atmel,fifo-size = <16>;
439                                 status = "disabled";
440                         };
441                 };
442
443                 gmac0: ethernet@e2800000 {
444                         compatible = "microchip,sama7g5-gem";
445                         reg = <0xe2800000 0x1000>;
446                         interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH
447                                       GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH
448                                       GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH
449                                       GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH
450                                       GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH
451                                       GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>;
452                         clocks = <&pmc PMC_TYPE_PERIPHERAL 51>, <&pmc PMC_TYPE_PERIPHERAL 51>, <&pmc PMC_TYPE_GCK 51>, <&pmc PMC_TYPE_GCK 53>;
453                         clock-names = "pclk", "hclk", "tx_clk", "tsu_clk";
454                         assigned-clocks = <&pmc PMC_TYPE_GCK 51>;
455                         assigned-clock-rates = <125000000>;
456                         status = "disabled";
457                 };
458
459                 gmac1: ethernet@e2804000 {
460                         compatible = "microchip,sama7g5-emac";
461                         reg = <0xe2804000 0x1000>;
462                         interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH
463                                       GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>;
464                         clocks = <&pmc PMC_TYPE_PERIPHERAL 52>, <&pmc PMC_TYPE_PERIPHERAL 52>;
465                         clock-names = "pclk", "hclk";
466                         status = "disabled";
467                 };
468
469                 dma0: dma-controller@e2808000 {
470                         compatible = "microchip,sama7g5-dma";
471                         reg = <0xe2808000 0x1000>;
472                         interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>;
473                         #dma-cells = <1>;
474                         clocks = <&pmc PMC_TYPE_PERIPHERAL 22>;
475                         clock-names = "dma_clk";
476                         status = "disabled";
477                 };
478
479                 dma1: dma-controller@e280c000 {
480                         compatible = "microchip,sama7g5-dma";
481                         reg = <0xe280c000 0x1000>;
482                         interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>;
483                         #dma-cells = <1>;
484                         clocks = <&pmc PMC_TYPE_PERIPHERAL 23>;
485                         clock-names = "dma_clk";
486                         status = "disabled";
487                 };
488
489                 /* Place dma2 here despite it's address */
490                 dma2: dma-controller@e1200000 {
491                         compatible = "microchip,sama7g5-dma";
492                         reg = <0xe1200000 0x1000>;
493                         interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>;
494                         #dma-cells = <1>;
495                         clocks = <&pmc PMC_TYPE_PERIPHERAL 24>;
496                         clock-names = "dma_clk";
497                         dma-requests = <0>;
498                         status = "disabled";
499                 };
500
501                 tcb0: timer@e2814000 {
502                         compatible = "atmel,sama5d2-tcb", "simple-mfd", "syscon";
503                         #address-cells = <1>;
504                         #size-cells = <0>;
505                         reg = <0xe2814000 0x100>;
506                         interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>;
507                         clocks = <&pmc PMC_TYPE_PERIPHERAL 88>, <&pmc PMC_TYPE_PERIPHERAL 89>, <&pmc PMC_TYPE_PERIPHERAL 90>, <&clk32k 1>;
508                         clock-names = "t0_clk", "t1_clk", "t2_clk", "slow_clk";
509                 };
510
511                 flx8: flexcom@e2818000 {
512                         compatible = "atmel,sama5d2-flexcom";
513                         reg = <0xe2818000 0x200>;
514                         clocks = <&pmc PMC_TYPE_PERIPHERAL 46>;
515                         #address-cells = <1>;
516                         #size-cells = <1>;
517                         ranges = <0x0 0xe2818000 0x800>;
518                         status = "disabled";
519
520                         i2c8: i2c@600 {
521                                 compatible = "microchip,sama7g5-i2c", "microchip,sam9x60-i2c";
522                                 reg = <0x600 0x200>;
523                                 interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
524                                 #address-cells = <1>;
525                                 #size-cells = <0>;
526                                 clocks = <&pmc PMC_TYPE_PERIPHERAL 46>;
527                                 atmel,fifo-size = <32>;
528                                 dmas = <&dma0 AT91_XDMAC_DT_PERID(21)>,
529                                         <&dma0 AT91_XDMAC_DT_PERID(22)>;
530                                 dma-names = "rx", "tx";
531                                 atmel,use-dma-rx;
532                                 atmel,use-dma-tx;
533                                 status = "disabled";
534                         };
535                 };
536
537                 flx9: flexcom@e281c000 {
538                         compatible = "atmel,sama5d2-flexcom";
539                         reg = <0xe281c000 0x200>;
540                         clocks = <&pmc PMC_TYPE_PERIPHERAL 47>;
541                         #address-cells = <1>;
542                         #size-cells = <1>;
543                         ranges = <0x0 0xe281c000 0x800>;
544                         status = "disabled";
545
546                         i2c9: i2c@600 {
547                                 compatible = "microchip,sama7g5-i2c", "microchip,sam9x60-i2c";
548                                 reg = <0x600 0x200>;
549                                 interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>;
550                                 #address-cells = <1>;
551                                 #size-cells = <0>;
552                                 clocks = <&pmc PMC_TYPE_PERIPHERAL 47>;
553                                 atmel,fifo-size = <32>;
554                                 dmas = <&dma0 AT91_XDMAC_DT_PERID(23)>,
555                                         <&dma0 AT91_XDMAC_DT_PERID(24)>;
556                                 dma-names = "rx", "tx";
557                                 atmel,use-dma-rx;
558                                 atmel,use-dma-tx;
559                                 status = "disabled";
560                         };
561                 };
562
563                 flx11: flexcom@e2824000 {
564                         compatible = "atmel,sama5d2-flexcom";
565                         reg = <0xe2824000 0x200>;
566                         clocks = <&pmc PMC_TYPE_PERIPHERAL 49>;
567                         #address-cells = <1>;
568                         #size-cells = <1>;
569                         ranges = <0x0 0xe2824000 0x800>;
570                         status = "disabled";
571
572                         spi11: spi@400 {
573                                 compatible = "atmel,at91rm9200-spi";
574                                 reg = <0x400 0x200>;
575                                 interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>;
576                                 clocks = <&pmc PMC_TYPE_PERIPHERAL 49>;
577                                 clock-names = "spi_clk";
578                                 #address-cells = <1>;
579                                 #size-cells = <0>;
580                                 atmel,fifo-size = <32>;
581                                 dmas = <&dma0 AT91_XDMAC_DT_PERID(27)>,
582                                             <&dma0 AT91_XDMAC_DT_PERID(28)>;
583                                 dma-names = "rx", "tx";
584                                 status = "disabled";
585                         };
586                 };
587
588                 uddrc: uddrc@e3800000 {
589                         compatible = "microchip,sama7g5-uddrc";
590                         reg = <0xe3800000 0x4000>;
591                         status = "okay";
592                 };
593
594                 ddr3phy: ddr3phy@e3804000 {
595                         compatible = "microchip,sama7g5-ddr3phy";
596                         reg = <0xe3804000 0x1000>;
597                         status = "okay";
598                 };
599
600                 gic: interrupt-controller@e8c11000 {
601                         compatible = "arm,cortex-a7-gic";
602                         #interrupt-cells = <3>;
603                         #address-cells = <0>;
604                         interrupt-controller;
605                         interrupt-parent;
606                         reg = <0xe8c11000 0x1000>,
607                                 <0xe8c12000 0x2000>;
608                 };
609         };
610 };