1/*
2 * sama5d2.dtsi - Device Tree Include file for SAMA5D2 family SoC
3 *
4 *  Copyright (C) 2015 Atmel,
5 *                2015 Ludovic Desroches <ludovic.desroches@atmel.com>
6 *
7 * This file is dual-licensed: you can use it either under the terms
8 * of the GPL or the X11 license, at your option. Note that this dual
9 * licensing only applies to this file, and not this project as a
10 * whole.
11 *
12 *  a) This file is free software; you can redistribute it and/or
13 *     modify it under the terms of the GNU General Public License as
14 *     published by the Free Software Foundation; either version 2 of the
15 *     License, or (at your option) any later version.
16 *
17 *     This file is distributed in the hope that it will be useful,
18 *     but WITHOUT ANY WARRANTY; without even the implied warranty of
19 *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
20 *     GNU General Public License for more details.
21 *
22 * Or, alternatively,
23 *
24 *  b) Permission is hereby granted, free of charge, to any person
25 *     obtaining a copy of this software and associated documentation
26 *     files (the "Software"), to deal in the Software without
27 *     restriction, including without limitation the rights to use,
28 *     copy, modify, merge, publish, distribute, sublicense, and/or
29 *     sell copies of the Software, and to permit persons to whom the
30 *     Software is furnished to do so, subject to the following
31 *     conditions:
32 *
33 *     The above copyright notice and this permission notice shall be
34 *     included in all copies or substantial portions of the Software.
35 *
36 *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
37 *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
38 *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
39 *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
40 *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
41 *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
42 *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
43 *     OTHER DEALINGS IN THE SOFTWARE.
44 */
45
46#include "skeleton.dtsi"
47#include <dt-bindings/dma/at91.h>
48#include <dt-bindings/interrupt-controller/irq.h>
49#include <dt-bindings/clock/at91.h>
50
51/ {
52	model = "Atmel SAMA5D2 family SoC";
53	compatible = "atmel,sama5d2";
54	interrupt-parent = <&aic>;
55
56	aliases {
57		serial0 = &uart1;
58		serial1 = &uart3;
59		tcb0 = &tcb0;
60		tcb1 = &tcb1;
61	};
62
63	cpus {
64		#address-cells = <1>;
65		#size-cells = <0>;
66
67		cpu@0 {
68			device_type = "cpu";
69			compatible = "arm,cortex-a5";
70			reg = <0>;
71			next-level-cache = <&L2>;
72		};
73	};
74
75	pmu {
76		compatible = "arm,cortex-a5-pmu";
77		interrupts = <2 IRQ_TYPE_LEVEL_HIGH 0>;
78	};
79
80	etb {
81		compatible = "arm,coresight-etb10", "arm,primecell";
82		reg = <0x740000 0x1000>;
83
84		clocks = <&mck>;
85		clock-names = "apb_pclk";
86
87		port {
88			etb_in: endpoint {
89				slave-mode;
90				remote-endpoint = <&etm_out>;
91			};
92		};
93	};
94
95	etm {
96		compatible = "arm,coresight-etm3x", "arm,primecell";
97		reg = <0x73C000 0x1000>;
98
99		clocks = <&mck>;
100		clock-names = "apb_pclk";
101
102		port {
103			etm_out: endpoint {
104				remote-endpoint = <&etb_in>;
105			};
106		};
107	};
108
109	memory {
110		reg = <0x20000000 0x20000000>;
111	};
112
113	clocks {
114		slow_xtal: slow_xtal {
115			compatible = "fixed-clock";
116			#clock-cells = <0>;
117			clock-frequency = <0>;
118		};
119
120		main_xtal: main_xtal {
121			compatible = "fixed-clock";
122			#clock-cells = <0>;
123			clock-frequency = <0>;
124		};
125	};
126
127	ns_sram: sram@200000 {
128		compatible = "mmio-sram";
129		reg = <0x00200000 0x20000>;
130	};
131
132	ahb {
133		compatible = "simple-bus";
134		#address-cells = <1>;
135		#size-cells = <1>;
136		ranges;
137
138		nfc_sram: sram@100000 {
139			compatible = "mmio-sram";
140			no-memory-wc;
141			reg = <0x00100000 0x2400>;
142		};
143
144		usb0: gadget@300000 {
145			#address-cells = <1>;
146			#size-cells = <0>;
147			compatible = "atmel,sama5d3-udc";
148			reg = <0x00300000 0x100000
149			       0xfc02c000 0x400>;
150			interrupts = <42 IRQ_TYPE_LEVEL_HIGH 2>;
151			clocks = <&udphs_clk>, <&utmi>;
152			clock-names = "pclk", "hclk";
153			status = "disabled";
154
155			ep@0 {
156				reg = <0>;
157				atmel,fifo-size = <64>;
158				atmel,nb-banks = <1>;
159			};
160
161			ep@1 {
162				reg = <1>;
163				atmel,fifo-size = <1024>;
164				atmel,nb-banks = <3>;
165				atmel,can-dma;
166				atmel,can-isoc;
167			};
168
169			ep@2 {
170				reg = <2>;
171				atmel,fifo-size = <1024>;
172				atmel,nb-banks = <3>;
173				atmel,can-dma;
174				atmel,can-isoc;
175			};
176
177			ep@3 {
178				reg = <3>;
179				atmel,fifo-size = <1024>;
180				atmel,nb-banks = <2>;
181				atmel,can-dma;
182				atmel,can-isoc;
183			};
184
185			ep@4 {
186				reg = <4>;
187				atmel,fifo-size = <1024>;
188				atmel,nb-banks = <2>;
189				atmel,can-dma;
190				atmel,can-isoc;
191			};
192
193			ep@5 {
194				reg = <5>;
195				atmel,fifo-size = <1024>;
196				atmel,nb-banks = <2>;
197				atmel,can-dma;
198				atmel,can-isoc;
199			};
200
201			ep@6 {
202				reg = <6>;
203				atmel,fifo-size = <1024>;
204				atmel,nb-banks = <2>;
205				atmel,can-dma;
206				atmel,can-isoc;
207			};
208
209			ep@7 {
210				reg = <7>;
211				atmel,fifo-size = <1024>;
212				atmel,nb-banks = <2>;
213				atmel,can-dma;
214				atmel,can-isoc;
215			};
216
217			ep@8 {
218				reg = <8>;
219				atmel,fifo-size = <1024>;
220				atmel,nb-banks = <2>;
221				atmel,can-isoc;
222			};
223
224			ep@9 {
225				reg = <9>;
226				atmel,fifo-size = <1024>;
227				atmel,nb-banks = <2>;
228				atmel,can-isoc;
229			};
230
231			ep@10 {
232				reg = <10>;
233				atmel,fifo-size = <1024>;
234				atmel,nb-banks = <2>;
235				atmel,can-isoc;
236			};
237
238			ep@11 {
239				reg = <11>;
240				atmel,fifo-size = <1024>;
241				atmel,nb-banks = <2>;
242				atmel,can-isoc;
243			};
244
245			ep@12 {
246				reg = <12>;
247				atmel,fifo-size = <1024>;
248				atmel,nb-banks = <2>;
249				atmel,can-isoc;
250			};
251
252			ep@13 {
253				reg = <13>;
254				atmel,fifo-size = <1024>;
255				atmel,nb-banks = <2>;
256				atmel,can-isoc;
257			};
258
259			ep@14 {
260				reg = <14>;
261				atmel,fifo-size = <1024>;
262				atmel,nb-banks = <2>;
263				atmel,can-isoc;
264			};
265
266			ep@15 {
267				reg = <15>;
268				atmel,fifo-size = <1024>;
269				atmel,nb-banks = <2>;
270				atmel,can-isoc;
271			};
272		};
273
274		usb1: ohci@400000 {
275			compatible = "atmel,at91rm9200-ohci", "usb-ohci";
276			reg = <0x00400000 0x100000>;
277			interrupts = <41 IRQ_TYPE_LEVEL_HIGH 2>;
278			clocks = <&uhphs_clk>, <&uhphs_clk>, <&uhpck>;
279			clock-names = "ohci_clk", "hclk", "uhpck";
280			status = "disabled";
281		};
282
283		usb2: ehci@500000 {
284			compatible = "atmel,at91sam9g45-ehci", "usb-ehci";
285			reg = <0x00500000 0x100000>;
286			interrupts = <41 IRQ_TYPE_LEVEL_HIGH 2>;
287			clocks = <&utmi>, <&uhphs_clk>;
288			clock-names = "usb_clk", "ehci_clk";
289			status = "disabled";
290		};
291
292		L2: cache-controller@a00000 {
293			compatible = "arm,pl310-cache";
294			reg = <0x00a00000 0x1000>;
295			interrupts = <63 IRQ_TYPE_LEVEL_HIGH 4>;
296			cache-unified;
297			cache-level = <2>;
298		};
299
300		ebi: ebi@10000000 {
301			compatible = "atmel,sama5d3-ebi";
302			#address-cells = <2>;
303			#size-cells = <1>;
304			atmel,smc = <&hsmc>;
305			reg = <0x10000000 0x10000000
306			       0x60000000 0x30000000>;
307			ranges = <0x0 0x0 0x10000000 0x10000000
308				  0x1 0x0 0x60000000 0x10000000
309				  0x2 0x0 0x70000000 0x10000000
310				  0x3 0x0 0x80000000 0x10000000>;
311			clocks = <&mck>;
312			status = "disabled";
313
314			nand_controller: nand-controller {
315				compatible = "atmel,sama5d3-nand-controller";
316				atmel,nfc-sram = <&nfc_sram>;
317				atmel,nfc-io = <&nfc_io>;
318				ecc-engine = <&pmecc>;
319				#address-cells = <2>;
320				#size-cells = <1>;
321				ranges;
322				status = "disabled";
323			};
324		};
325
326		nand0: nand@80000000 {
327			compatible = "atmel,sama5d2-nand";
328			#address-cells = <1>;
329			#size-cells = <1>;
330			ranges;
331			reg = < /* EBI CS3 */
332				0x80000000 0x08000000
333				/* SMC PMECC regs */
334				0xf8014070 0x00000490
335				/* SMC PMECC Error Location regs */
336				0xf8014500 0x00000200
337				/* ROM Galois tables */
338				0x00040000 0x00018000
339				>;
340			interrupts = <17 IRQ_TYPE_LEVEL_HIGH 6>;
341			atmel,nand-addr-offset = <21>;
342			atmel,nand-cmd-offset = <22>;
343			atmel,nand-has-dma;
344			atmel,has-pmecc;
345			atmel,pmecc-lookup-table-offset = <0x0 0x8000>;
346			status = "disabled";
347
348			nfc@c0000000 {
349				compatible = "atmel,sama5d3-nfc";
350				#address-cells = <1>;
351				#size-cells = <1>;
352				reg = < /* NFC Command Registers */
353					0xc0000000 0x08000000
354					/* NFC HSMC regs */
355					0xf8014000 0x00000070
356					/* NFC SRAM banks */
357					0x00100000 0x00100000
358					>;
359				clocks = <&hsmc_clk>;
360				atmel,write-by-sram;
361			};
362		};
363
364		sdmmc0: sdio-host@a0000000 {
365			compatible = "atmel,sama5d2-sdhci";
366			reg = <0xa0000000 0x300>;
367			interrupts = <31 IRQ_TYPE_LEVEL_HIGH 0>;
368			clocks = <&sdmmc0_hclk>, <&sdmmc0_gclk>, <&main>;
369			clock-names = "hclock", "multclk", "baseclk";
370			status = "disabled";
371		};
372
373		sdmmc1: sdio-host@b0000000 {
374			compatible = "atmel,sama5d2-sdhci";
375			reg = <0xb0000000 0x300>;
376			interrupts = <32 IRQ_TYPE_LEVEL_HIGH 0>;
377			clocks = <&sdmmc1_hclk>, <&sdmmc1_gclk>, <&main>;
378			clock-names = "hclock", "multclk", "baseclk";
379			status = "disabled";
380		};
381
382		nfc_io: nfc-io@c0000000 {
383			compatible = "atmel,sama5d3-nfc-io", "syscon";
384			reg = <0xc0000000 0x8000000>;
385		};
386
387		apb {
388			compatible = "simple-bus";
389			#address-cells = <1>;
390			#size-cells = <1>;
391			ranges;
392
393			hlcdc: hlcdc@f0000000 {
394				compatible = "atmel,sama5d2-hlcdc";
395				reg = <0xf0000000 0x2000>;
396				interrupts = <45 IRQ_TYPE_LEVEL_HIGH 0>;
397				clocks = <&lcdc_clk>, <&lcdck>, <&clk32k>;
398				clock-names = "periph_clk","sys_clk", "slow_clk";
399				status = "disabled";
400
401				hlcdc-display-controller {
402					compatible = "atmel,hlcdc-display-controller";
403					#address-cells = <1>;
404					#size-cells = <0>;
405
406					port@0 {
407						#address-cells = <1>;
408						#size-cells = <0>;
409						reg = <0>;
410					};
411				};
412
413				hlcdc_pwm: hlcdc-pwm {
414					compatible = "atmel,hlcdc-pwm";
415					#pwm-cells = <3>;
416				};
417			};
418
419			isc: isc@f0008000 {
420				compatible = "atmel,sama5d2-isc";
421				reg = <0xf0008000 0x4000>;
422				interrupts = <46 IRQ_TYPE_LEVEL_HIGH 5>;
423				clocks = <&isc_clk>, <&iscck>, <&isc_gclk>;
424				clock-names = "hclock", "iscck", "gck";
425				#clock-cells = <0>;
426				clock-output-names = "isc-mck";
427				status = "disabled";
428			};
429
430			ramc0: ramc@f000c000 {
431				compatible = "atmel,sama5d3-ddramc";
432				reg = <0xf000c000 0x200>;
433				clocks = <&ddrck>, <&mpddr_clk>;
434				clock-names = "ddrck", "mpddr";
435			};
436
437			dma0: dma-controller@f0010000 {
438				compatible = "atmel,sama5d4-dma";
439				reg = <0xf0010000 0x1000>;
440				interrupts = <6 IRQ_TYPE_LEVEL_HIGH 0>;
441				#dma-cells = <1>;
442				clocks = <&dma0_clk>;
443				clock-names = "dma_clk";
444			};
445
446			/* Place dma1 here despite its address */
447			dma1: dma-controller@f0004000 {
448				compatible = "atmel,sama5d4-dma";
449				reg = <0xf0004000 0x1000>;
450				interrupts = <7 IRQ_TYPE_LEVEL_HIGH 0>;
451				#dma-cells = <1>;
452				clocks = <&dma1_clk>;
453				clock-names = "dma_clk";
454			};
455
456			pmc: pmc@f0014000 {
457				compatible = "atmel,sama5d2-pmc", "syscon";
458				reg = <0xf0014000 0x160>;
459				interrupts = <74 IRQ_TYPE_LEVEL_HIGH 7>;
460				interrupt-controller;
461				#address-cells = <1>;
462				#size-cells = <0>;
463				#interrupt-cells = <1>;
464
465				main_rc_osc: main_rc_osc {
466					compatible = "atmel,at91sam9x5-clk-main-rc-osc";
467					#clock-cells = <0>;
468					interrupt-parent = <&pmc>;
469					interrupts = <AT91_PMC_MOSCRCS>;
470					clock-frequency = <12000000>;
471					clock-accuracy = <100000000>;
472				};
473
474				main_osc: main_osc {
475					compatible = "atmel,at91rm9200-clk-main-osc";
476					#clock-cells = <0>;
477					interrupt-parent = <&pmc>;
478					interrupts = <AT91_PMC_MOSCS>;
479					clocks = <&main_xtal>;
480				};
481
482				main: mainck {
483					compatible = "atmel,at91sam9x5-clk-main";
484					#clock-cells = <0>;
485					interrupt-parent = <&pmc>;
486					interrupts = <AT91_PMC_MOSCSELS>;
487					clocks = <&main_rc_osc &main_osc>;
488				};
489
490				plla: pllack {
491					compatible = "atmel,sama5d3-clk-pll";
492					#clock-cells = <0>;
493					interrupt-parent = <&pmc>;
494					interrupts = <AT91_PMC_LOCKA>;
495					clocks = <&main>;
496					reg = <0>;
497					atmel,clk-input-range = <12000000 12000000>;
498					#atmel,pll-clk-output-range-cells = <4>;
499					atmel,pll-clk-output-ranges = <600000000 1200000000 0 0>;
500				};
501
502				plladiv: plladivck {
503					compatible = "atmel,at91sam9x5-clk-plldiv";
504					#clock-cells = <0>;
505					clocks = <&plla>;
506				};
507
508				audio_pll_frac: audiopll_fracck {
509					compatible = "atmel,sama5d2-clk-audio-pll-frac";
510					#clock-cells = <0>;
511					clocks = <&main>;
512				};
513
514				audio_pll_pad: audiopll_padck {
515					compatible = "atmel,sama5d2-clk-audio-pll-pad";
516					#clock-cells = <0>;
517					clocks = <&audio_pll_frac>;
518				};
519
520				audio_pll_pmc: audiopll_pmcck {
521					compatible = "atmel,sama5d2-clk-audio-pll-pmc";
522					#clock-cells = <0>;
523					clocks = <&audio_pll_frac>;
524				};
525
526				utmi: utmick {
527					compatible = "atmel,at91sam9x5-clk-utmi";
528					#clock-cells = <0>;
529					interrupt-parent = <&pmc>;
530					interrupts = <AT91_PMC_LOCKU>;
531					clocks = <&main>;
532				};
533
534				mck: masterck {
535					compatible = "atmel,at91sam9x5-clk-master";
536					#clock-cells = <0>;
537					interrupt-parent = <&pmc>;
538					interrupts = <AT91_PMC_MCKRDY>;
539					clocks = <&clk32k>, <&main>, <&plladiv>, <&utmi>;
540					atmel,clk-output-range = <124000000 166000000>;
541					atmel,clk-divisors = <1 2 4 3>;
542				};
543
544				h32ck: h32mxck {
545					#clock-cells = <0>;
546					compatible = "atmel,sama5d4-clk-h32mx";
547					clocks = <&mck>;
548				};
549
550				usb: usbck {
551					compatible = "atmel,at91sam9x5-clk-usb";
552					#clock-cells = <0>;
553					clocks = <&plladiv>, <&utmi>;
554				};
555
556				prog: progck {
557					compatible = "atmel,at91sam9x5-clk-programmable";
558					#address-cells = <1>;
559					#size-cells = <0>;
560					interrupt-parent = <&pmc>;
561					clocks = <&clk32k>, <&main>, <&plladiv>, <&utmi>, <&mck>;
562
563					prog0: prog0 {
564						#clock-cells = <0>;
565						reg = <0>;
566						interrupts = <AT91_PMC_PCKRDY(0)>;
567					};
568
569					prog1: prog1 {
570						#clock-cells = <0>;
571						reg = <1>;
572						interrupts = <AT91_PMC_PCKRDY(1)>;
573					};
574
575					prog2: prog2 {
576						#clock-cells = <0>;
577						reg = <2>;
578						interrupts = <AT91_PMC_PCKRDY(2)>;
579					};
580				};
581
582				systemck {
583					compatible = "atmel,at91rm9200-clk-system";
584					#address-cells = <1>;
585					#size-cells = <0>;
586
587					ddrck: ddrck {
588						#clock-cells = <0>;
589						reg = <2>;
590						clocks = <&mck>;
591					};
592
593					lcdck: lcdck {
594						#clock-cells = <0>;
595						reg = <3>;
596						clocks = <&mck>;
597					};
598
599					uhpck: uhpck {
600						#clock-cells = <0>;
601						reg = <6>;
602						clocks = <&usb>;
603					};
604
605					udpck: udpck {
606						#clock-cells = <0>;
607						reg = <7>;
608						clocks = <&usb>;
609					};
610
611					pck0: pck0 {
612						#clock-cells = <0>;
613						reg = <8>;
614						clocks = <&prog0>;
615					};
616
617					pck1: pck1 {
618						#clock-cells = <0>;
619						reg = <9>;
620						clocks = <&prog1>;
621					};
622
623					pck2: pck2 {
624						#clock-cells = <0>;
625						reg = <10>;
626						clocks = <&prog2>;
627					};
628
629					iscck: iscck {
630						#clock-cells = <0>;
631						reg = <18>;
632						clocks = <&mck>;
633					};
634				};
635
636				periph32ck {
637					compatible = "atmel,at91sam9x5-clk-peripheral";
638					#address-cells = <1>;
639					#size-cells = <0>;
640					clocks = <&h32ck>;
641
642					macb0_clk: macb0_clk {
643						#clock-cells = <0>;
644						reg = <5>;
645						atmel,clk-output-range = <0 83000000>;
646					};
647
648					tdes_clk: tdes_clk {
649						#clock-cells = <0>;
650						reg = <11>;
651						atmel,clk-output-range = <0 83000000>;
652					};
653
654					matrix1_clk: matrix1_clk {
655						#clock-cells = <0>;
656						reg = <14>;
657					};
658
659					hsmc_clk: hsmc_clk {
660						#clock-cells = <0>;
661						reg = <17>;
662					};
663
664					pioA_clk: pioA_clk {
665						#clock-cells = <0>;
666						reg = <18>;
667						atmel,clk-output-range = <0 83000000>;
668					};
669
670					flx0_clk: flx0_clk {
671						#clock-cells = <0>;
672						reg = <19>;
673						atmel,clk-output-range = <0 83000000>;
674					};
675
676					flx1_clk: flx1_clk {
677						#clock-cells = <0>;
678						reg = <20>;
679						atmel,clk-output-range = <0 83000000>;
680					};
681
682					flx2_clk: flx2_clk {
683						#clock-cells = <0>;
684						reg = <21>;
685						atmel,clk-output-range = <0 83000000>;
686					};
687
688					flx3_clk: flx3_clk {
689						#clock-cells = <0>;
690						reg = <22>;
691						atmel,clk-output-range = <0 83000000>;
692					};
693
694					flx4_clk: flx4_clk {
695						#clock-cells = <0>;
696						reg = <23>;
697						atmel,clk-output-range = <0 83000000>;
698					};
699
700					uart0_clk: uart0_clk {
701						#clock-cells = <0>;
702						reg = <24>;
703						atmel,clk-output-range = <0 83000000>;
704					};
705
706					uart1_clk: uart1_clk {
707						#clock-cells = <0>;
708						reg = <25>;
709						atmel,clk-output-range = <0 83000000>;
710					};
711
712					uart2_clk: uart2_clk {
713						#clock-cells = <0>;
714						reg = <26>;
715						atmel,clk-output-range = <0 83000000>;
716					};
717
718					uart3_clk: uart3_clk {
719						#clock-cells = <0>;
720						reg = <27>;
721						atmel,clk-output-range = <0 83000000>;
722					};
723
724					uart4_clk: uart4_clk {
725						#clock-cells = <0>;
726						reg = <28>;
727						atmel,clk-output-range = <0 83000000>;
728					};
729
730					twi0_clk: twi0_clk {
731						reg = <29>;
732						#clock-cells = <0>;
733						atmel,clk-output-range = <0 83000000>;
734					};
735
736					twi1_clk: twi1_clk {
737						#clock-cells = <0>;
738						reg = <30>;
739						atmel,clk-output-range = <0 83000000>;
740					};
741
742					spi0_clk: spi0_clk {
743						#clock-cells = <0>;
744						reg = <33>;
745						atmel,clk-output-range = <0 83000000>;
746					};
747
748					spi1_clk: spi1_clk {
749						#clock-cells = <0>;
750						reg = <34>;
751						atmel,clk-output-range = <0 83000000>;
752					};
753
754					tcb0_clk: tcb0_clk {
755						#clock-cells = <0>;
756						reg = <35>;
757						atmel,clk-output-range = <0 83000000>;
758					};
759
760					tcb1_clk: tcb1_clk {
761						#clock-cells = <0>;
762						reg = <36>;
763						atmel,clk-output-range = <0 83000000>;
764					};
765
766					pwm_clk: pwm_clk {
767						#clock-cells = <0>;
768						reg = <38>;
769						atmel,clk-output-range = <0 83000000>;
770					};
771
772					adc_clk: adc_clk {
773						#clock-cells = <0>;
774						reg = <40>;
775						atmel,clk-output-range = <0 83000000>;
776					};
777
778					uhphs_clk: uhphs_clk {
779						#clock-cells = <0>;
780						reg = <41>;
781						atmel,clk-output-range = <0 83000000>;
782					};
783
784					udphs_clk: udphs_clk {
785						#clock-cells = <0>;
786						reg = <42>;
787						atmel,clk-output-range = <0 83000000>;
788					};
789
790					ssc0_clk: ssc0_clk {
791						#clock-cells = <0>;
792						reg = <43>;
793						atmel,clk-output-range = <0 83000000>;
794					};
795
796					ssc1_clk: ssc1_clk {
797						#clock-cells = <0>;
798						reg = <44>;
799						atmel,clk-output-range = <0 83000000>;
800					};
801
802					trng_clk: trng_clk {
803						#clock-cells = <0>;
804						reg = <47>;
805						atmel,clk-output-range = <0 83000000>;
806					};
807
808					pdmic_clk: pdmic_clk {
809						#clock-cells = <0>;
810						reg = <48>;
811						atmel,clk-output-range = <0 83000000>;
812					};
813
814					securam_clk: securam_clk {
815						#clock-cells = <0>;
816						reg = <51>;
817					};
818
819					i2s0_clk: i2s0_clk {
820						#clock-cells = <0>;
821						reg = <54>;
822						atmel,clk-output-range = <0 83000000>;
823					};
824
825					i2s1_clk: i2s1_clk {
826						#clock-cells = <0>;
827						reg = <55>;
828						atmel,clk-output-range = <0 83000000>;
829					};
830
831					can0_clk: can0_clk {
832						#clock-cells = <0>;
833						reg = <56>;
834						atmel,clk-output-range = <0 83000000>;
835					};
836
837					can1_clk: can1_clk {
838						#clock-cells = <0>;
839						reg = <57>;
840						atmel,clk-output-range = <0 83000000>;
841					};
842
843					classd_clk: classd_clk {
844						#clock-cells = <0>;
845						reg = <59>;
846						atmel,clk-output-range = <0 83000000>;
847					};
848				};
849
850				periph64ck {
851					compatible = "atmel,at91sam9x5-clk-peripheral";
852					#address-cells = <1>;
853					#size-cells = <0>;
854					clocks = <&mck>;
855
856					dma0_clk: dma0_clk {
857						#clock-cells = <0>;
858						reg = <6>;
859					};
860
861					dma1_clk: dma1_clk {
862						#clock-cells = <0>;
863						reg = <7>;
864					};
865
866					aes_clk: aes_clk {
867						#clock-cells = <0>;
868						reg = <9>;
869					};
870
871					aesb_clk: aesb_clk {
872						#clock-cells = <0>;
873						reg = <10>;
874					};
875
876					sha_clk: sha_clk {
877						#clock-cells = <0>;
878						reg = <12>;
879					};
880
881					mpddr_clk: mpddr_clk {
882						#clock-cells = <0>;
883						reg = <13>;
884					};
885
886					matrix0_clk: matrix0_clk {
887						#clock-cells = <0>;
888						reg = <15>;
889					};
890
891					sdmmc0_hclk: sdmmc0_hclk {
892						#clock-cells = <0>;
893						reg = <31>;
894					};
895
896					sdmmc1_hclk: sdmmc1_hclk {
897						#clock-cells = <0>;
898						reg = <32>;
899					};
900
901					lcdc_clk: lcdc_clk {
902						#clock-cells = <0>;
903						reg = <45>;
904					};
905
906					isc_clk: isc_clk {
907						#clock-cells = <0>;
908						reg = <46>;
909					};
910
911					qspi0_clk: qspi0_clk {
912						#clock-cells = <0>;
913						reg = <52>;
914					};
915
916					qspi1_clk: qspi1_clk {
917						#clock-cells = <0>;
918						reg = <53>;
919					};
920				};
921
922				gck {
923					compatible = "atmel,sama5d2-clk-generated";
924					#address-cells = <1>;
925					#size-cells = <0>;
926					interrupt-parent = <&pmc>;
927					clocks = <&clk32k>, <&main>, <&plladiv>, <&utmi>, <&mck>, <&audio_pll_pmc>;
928
929					sdmmc0_gclk: sdmmc0_gclk {
930						#clock-cells = <0>;
931						reg = <31>;
932					};
933
934					sdmmc1_gclk: sdmmc1_gclk {
935						#clock-cells = <0>;
936						reg = <32>;
937					};
938
939					tcb0_gclk: tcb0_gclk {
940						#clock-cells = <0>;
941						reg = <35>;
942						atmel,clk-output-range = <0 83000000>;
943					};
944
945					tcb1_gclk: tcb1_gclk {
946						#clock-cells = <0>;
947						reg = <36>;
948						atmel,clk-output-range = <0 83000000>;
949					};
950
951					pwm_gclk: pwm_gclk {
952						#clock-cells = <0>;
953						reg = <38>;
954						atmel,clk-output-range = <0 83000000>;
955					};
956
957					isc_gclk: isc_gclk {
958						#clock-cells = <0>;
959						reg = <46>;
960					};
961
962					pdmic_gclk: pdmic_gclk {
963						#clock-cells = <0>;
964						reg = <48>;
965					};
966
967					i2s0_gclk: i2s0_gclk {
968						#clock-cells = <0>;
969						reg = <54>;
970					};
971
972					i2s1_gclk: i2s1_gclk {
973						#clock-cells = <0>;
974						reg = <55>;
975					};
976
977					can0_gclk: can0_gclk {
978						#clock-cells = <0>;
979						reg = <56>;
980						atmel,clk-output-range = <0 80000000>;
981					};
982
983					can1_gclk: can1_gclk {
984						#clock-cells = <0>;
985						reg = <57>;
986						atmel,clk-output-range = <0 80000000>;
987					};
988
989					classd_gclk: classd_gclk {
990						#clock-cells = <0>;
991						reg = <59>;
992						atmel,clk-output-range = <0 100000000>;
993					};
994				};
995			};
996
997			qspi0: spi@f0020000 {
998				compatible = "atmel,sama5d2-qspi";
999				reg = <0xf0020000 0x100>, <0xd0000000 0x08000000>;
1000				reg-names = "qspi_base", "qspi_mmap";
1001				interrupts = <52 IRQ_TYPE_LEVEL_HIGH 7>;
1002				clocks = <&qspi0_clk>;
1003				#address-cells = <1>;
1004				#size-cells = <0>;
1005				status = "disabled";
1006			};
1007
1008			qspi1: spi@f0024000 {
1009				compatible = "atmel,sama5d2-qspi";
1010				reg = <0xf0024000 0x100>, <0xd8000000 0x08000000>;
1011				reg-names = "qspi_base", "qspi_mmap";
1012				interrupts = <53 IRQ_TYPE_LEVEL_HIGH 7>;
1013				clocks = <&qspi1_clk>;
1014				#address-cells = <1>;
1015				#size-cells = <0>;
1016				status = "disabled";
1017			};
1018
1019			sha@f0028000 {
1020				compatible = "atmel,at91sam9g46-sha";
1021				reg = <0xf0028000 0x100>;
1022				interrupts = <12 IRQ_TYPE_LEVEL_HIGH 0>;
1023				dmas = <&dma0
1024					(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
1025					 AT91_XDMAC_DT_PERID(30))>;
1026				dma-names = "tx";
1027				clocks = <&sha_clk>;
1028				clock-names = "sha_clk";
1029				status = "okay";
1030			};
1031
1032			aes@f002c000 {
1033				compatible = "atmel,at91sam9g46-aes";
1034				reg = <0xf002c000 0x100>;
1035				interrupts = <9 IRQ_TYPE_LEVEL_HIGH 0>;
1036				dmas = <&dma0
1037					(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
1038					 AT91_XDMAC_DT_PERID(26))>,
1039				       <&dma0
1040					(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
1041					 AT91_XDMAC_DT_PERID(27))>;
1042				dma-names = "tx", "rx";
1043				clocks = <&aes_clk>;
1044				clock-names = "aes_clk";
1045				status = "okay";
1046			};
1047
1048			spi0: spi@f8000000 {
1049				compatible = "atmel,at91rm9200-spi";
1050				reg = <0xf8000000 0x100>;
1051				interrupts = <33 IRQ_TYPE_LEVEL_HIGH 7>;
1052				dmas = <&dma0
1053					(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
1054					 AT91_XDMAC_DT_PERID(6))>,
1055				       <&dma0
1056					(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
1057					 AT91_XDMAC_DT_PERID(7))>;
1058				dma-names = "tx", "rx";
1059				clocks = <&spi0_clk>;
1060				clock-names = "spi_clk";
1061				atmel,fifo-size = <16>;
1062				#address-cells = <1>;
1063				#size-cells = <0>;
1064				status = "disabled";
1065			};
1066
1067			ssc0: ssc@f8004000 {
1068				compatible = "atmel,at91sam9g45-ssc";
1069				reg = <0xf8004000 0x4000>;
1070				interrupts = <43 IRQ_TYPE_LEVEL_HIGH 4>;
1071				dmas = <&dma0
1072					(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
1073					AT91_XDMAC_DT_PERID(21))>,
1074				       <&dma0
1075					(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
1076					AT91_XDMAC_DT_PERID(22))>;
1077				dma-names = "tx", "rx";
1078				clocks = <&ssc0_clk>;
1079				clock-names = "pclk";
1080				status = "disabled";
1081			};
1082
1083			macb0: ethernet@f8008000 {
1084				compatible = "atmel,sama5d2-gem";
1085				reg = <0xf8008000 0x1000>;
1086				interrupts = <5  IRQ_TYPE_LEVEL_HIGH 3		/* Queue 0 */
1087					      66 IRQ_TYPE_LEVEL_HIGH 3          /* Queue 1 */
1088					      67 IRQ_TYPE_LEVEL_HIGH 3>;        /* Queue 2 */
1089				#address-cells = <1>;
1090				#size-cells = <0>;
1091				clocks = <&macb0_clk>, <&macb0_clk>;
1092				clock-names = "hclk", "pclk";
1093				status = "disabled";
1094			};
1095
1096			tcb0: timer@f800c000 {
1097				compatible = "atmel,at91sam9x5-tcb", "simple-mfd", "syscon";
1098				#address-cells = <1>;
1099				#size-cells = <0>;
1100				reg = <0xf800c000 0x100>;
1101				interrupts = <35 IRQ_TYPE_LEVEL_HIGH 0>;
1102				clocks = <&tcb0_clk>, <&clk32k>;
1103				clock-names = "t0_clk", "slow_clk";
1104			};
1105
1106			tcb1: timer@f8010000 {
1107				compatible = "atmel,at91sam9x5-tcb", "simple-mfd", "syscon";
1108				#address-cells = <1>;
1109				#size-cells = <0>;
1110				reg = <0xf8010000 0x100>;
1111				interrupts = <36 IRQ_TYPE_LEVEL_HIGH 0>;
1112				clocks = <&tcb1_clk>, <&clk32k>;
1113				clock-names = "t0_clk", "slow_clk";
1114			};
1115
1116			hsmc: hsmc@f8014000 {
1117				compatible = "atmel,sama5d2-smc", "syscon", "simple-mfd";
1118				reg = <0xf8014000 0x1000>;
1119				interrupts = <17 IRQ_TYPE_LEVEL_HIGH 6>;
1120				clocks = <&hsmc_clk>;
1121				#address-cells = <1>;
1122				#size-cells = <1>;
1123				ranges;
1124
1125				pmecc: ecc-engine@f8014070 {
1126					compatible = "atmel,sama5d2-pmecc";
1127					reg = <0xf8014070 0x490>,
1128					      <0xf8014500 0x100>;
1129				};
1130			};
1131
1132			pdmic: pdmic@f8018000 {
1133				compatible = "atmel,sama5d2-pdmic";
1134				reg = <0xf8018000 0x124>;
1135				interrupts = <48 IRQ_TYPE_LEVEL_HIGH 7>;
1136				dmas = <&dma0
1137					(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1)
1138					| AT91_XDMAC_DT_PERID(50))>;
1139				dma-names = "rx";
1140				clocks = <&pdmic_clk>, <&pdmic_gclk>;
1141				clock-names = "pclk", "gclk";
1142				status = "disabled";
1143			};
1144
1145			uart0: serial@f801c000 {
1146				compatible = "atmel,at91sam9260-usart";
1147				reg = <0xf801c000 0x100>;
1148				interrupts = <24 IRQ_TYPE_LEVEL_HIGH 7>;
1149				dmas = <&dma0
1150					(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
1151					 AT91_XDMAC_DT_PERID(35))>,
1152				       <&dma0
1153					(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
1154					 AT91_XDMAC_DT_PERID(36))>;
1155				dma-names = "tx", "rx";
1156				clocks = <&uart0_clk>;
1157				clock-names = "usart";
1158				status = "disabled";
1159			};
1160
1161			uart1: serial@f8020000 {
1162				compatible = "atmel,at91sam9260-usart";
1163				reg = <0xf8020000 0x100>;
1164				interrupts = <25 IRQ_TYPE_LEVEL_HIGH 7>;
1165				dmas = <&dma0
1166					(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
1167					 AT91_XDMAC_DT_PERID(37))>,
1168				       <&dma0
1169					(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
1170					 AT91_XDMAC_DT_PERID(38))>;
1171				dma-names = "tx", "rx";
1172				clocks = <&uart1_clk>;
1173				clock-names = "usart";
1174				status = "disabled";
1175			};
1176
1177			uart2: serial@f8024000 {
1178				compatible = "atmel,at91sam9260-usart";
1179				reg = <0xf8024000 0x100>;
1180				interrupts = <26 IRQ_TYPE_LEVEL_HIGH 7>;
1181				dmas = <&dma0
1182					(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
1183					 AT91_XDMAC_DT_PERID(39))>,
1184				       <&dma0
1185					(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
1186					 AT91_XDMAC_DT_PERID(40))>;
1187				dma-names = "tx", "rx";
1188				clocks = <&uart2_clk>;
1189				clock-names = "usart";
1190				status = "disabled";
1191			};
1192
1193			i2c0: i2c@f8028000 {
1194				compatible = "atmel,sama5d2-i2c";
1195				reg = <0xf8028000 0x100>;
1196				interrupts = <29 IRQ_TYPE_LEVEL_HIGH 7>;
1197				dmas = <&dma0
1198					(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
1199					 AT91_XDMAC_DT_PERID(0))>,
1200				       <&dma0
1201					(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
1202					 AT91_XDMAC_DT_PERID(1))>;
1203				dma-names = "tx", "rx";
1204				#address-cells = <1>;
1205				#size-cells = <0>;
1206				clocks = <&twi0_clk>;
1207				atmel,fifo-size = <16>;
1208				status = "disabled";
1209			};
1210
1211			pwm0: pwm@f802c000 {
1212				compatible = "atmel,sama5d2-pwm";
1213				reg = <0xf802c000 0x4000>;
1214				interrupts = <38 IRQ_TYPE_LEVEL_HIGH 7>;
1215				#pwm-cells = <3>;
1216				clocks = <&pwm_clk>;
1217			};
1218
1219			sfr: sfr@f8030000 {
1220				compatible = "atmel,sama5d2-sfr", "syscon";
1221				reg = <0xf8030000 0x98>;
1222			};
1223
1224			flx0: flexcom@f8034000 {
1225				compatible = "atmel,sama5d2-flexcom";
1226				reg = <0xf8034000 0x200>;
1227				clocks = <&flx0_clk>;
1228				#address-cells = <1>;
1229				#size-cells = <1>;
1230				ranges = <0x0 0xf8034000 0x800>;
1231				status = "disabled";
1232			};
1233
1234			flx1: flexcom@f8038000 {
1235				compatible = "atmel,sama5d2-flexcom";
1236				reg = <0xf8038000 0x200>;
1237				clocks = <&flx1_clk>;
1238				#address-cells = <1>;
1239				#size-cells = <1>;
1240				ranges = <0x0 0xf8038000 0x800>;
1241				status = "disabled";
1242			};
1243
1244			securam: sram@f8044000 {
1245				compatible = "atmel,sama5d2-securam", "mmio-sram";
1246				reg = <0xf8044000 0x1420>;
1247				clocks = <&securam_clk>;
1248				#address-cells = <1>;
1249				#size-cells = <1>;
1250				ranges = <0 0xf8044000 0x1420>;
1251			};
1252
1253			rstc@f8048000 {
1254				compatible = "atmel,sama5d3-rstc";
1255				reg = <0xf8048000 0x10>;
1256				clocks = <&clk32k>;
1257			};
1258
1259			shdwc@f8048010 {
1260				compatible = "atmel,sama5d2-shdwc";
1261				reg = <0xf8048010 0x10>;
1262				clocks = <&clk32k>;
1263				#address-cells = <1>;
1264				#size-cells = <0>;
1265				atmel,wakeup-rtc-timer;
1266			};
1267
1268			pit: timer@f8048030 {
1269				compatible = "atmel,at91sam9260-pit";
1270				reg = <0xf8048030 0x10>;
1271				interrupts = <3 IRQ_TYPE_LEVEL_HIGH 5>;
1272				clocks = <&h32ck>;
1273			};
1274
1275			watchdog@f8048040 {
1276				compatible = "atmel,sama5d4-wdt";
1277				reg = <0xf8048040 0x10>;
1278				interrupts = <4 IRQ_TYPE_LEVEL_HIGH 7>;
1279				clocks = <&clk32k>;
1280				status = "disabled";
1281			};
1282
1283			clk32k: sckc@f8048050 {
1284				compatible = "atmel,sama5d4-sckc";
1285				reg = <0xf8048050 0x4>;
1286
1287				clocks = <&slow_xtal>;
1288				#clock-cells = <0>;
1289			};
1290
1291			rtc@f80480b0 {
1292				compatible = "atmel,at91rm9200-rtc";
1293				reg = <0xf80480b0 0x30>;
1294				interrupts = <74 IRQ_TYPE_LEVEL_HIGH 7>;
1295				clocks = <&clk32k>;
1296			};
1297
1298			can0: can@f8054000 {
1299				compatible = "bosch,m_can";
1300				reg = <0xf8054000 0x4000>, <0x210000 0x4000>;
1301				reg-names = "m_can", "message_ram";
1302				interrupts = <56 IRQ_TYPE_LEVEL_HIGH 7>,
1303					     <64 IRQ_TYPE_LEVEL_HIGH 7>;
1304				interrupt-names = "int0", "int1";
1305				clocks = <&can0_clk>, <&can0_gclk>;
1306				clock-names = "hclk", "cclk";
1307				assigned-clocks = <&can0_gclk>;
1308				assigned-clock-parents = <&utmi>;
1309				assigned-clock-rates = <40000000>;
1310				bosch,mram-cfg = <0x0 0 0 64 0 0 32 32>;
1311				status = "disabled";
1312			};
1313
1314			spi1: spi@fc000000 {
1315				compatible = "atmel,at91rm9200-spi";
1316				reg = <0xfc000000 0x100>;
1317				interrupts = <34 IRQ_TYPE_LEVEL_HIGH 7>;
1318				dmas = <&dma0
1319					(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
1320					 AT91_XDMAC_DT_PERID(8))>,
1321				       <&dma0
1322					(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
1323					 AT91_XDMAC_DT_PERID(9))>;
1324				dma-names = "tx", "rx";
1325				clocks = <&spi1_clk>;
1326				clock-names = "spi_clk";
1327				atmel,fifo-size = <16>;
1328				#address-cells = <1>;
1329				#size-cells = <0>;
1330				status = "disabled";
1331			};
1332
1333			uart3: serial@fc008000 {
1334				compatible = "atmel,at91sam9260-usart";
1335				reg = <0xfc008000 0x100>;
1336				interrupts = <27 IRQ_TYPE_LEVEL_HIGH 7>;
1337				dmas = <&dma1
1338					(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
1339					 AT91_XDMAC_DT_PERID(41))>,
1340				       <&dma1
1341					(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
1342					 AT91_XDMAC_DT_PERID(42))>;
1343				dma-names = "tx", "rx";
1344				clocks = <&uart3_clk>;
1345				clock-names = "usart";
1346				status = "disabled";
1347			};
1348
1349			uart4: serial@fc00c000 {
1350				compatible = "atmel,at91sam9260-usart";
1351				reg = <0xfc00c000 0x100>;
1352				dmas = <&dma0
1353					(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
1354					 AT91_XDMAC_DT_PERID(43))>,
1355				       <&dma0
1356					(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
1357					 AT91_XDMAC_DT_PERID(44))>;
1358				dma-names = "tx", "rx";
1359				interrupts = <28 IRQ_TYPE_LEVEL_HIGH 7>;
1360				clocks = <&uart4_clk>;
1361				clock-names = "usart";
1362				status = "disabled";
1363			};
1364
1365			flx2: flexcom@fc010000 {
1366				compatible = "atmel,sama5d2-flexcom";
1367				reg = <0xfc010000 0x200>;
1368				clocks = <&flx2_clk>;
1369				#address-cells = <1>;
1370				#size-cells = <1>;
1371				ranges = <0x0 0xfc010000 0x800>;
1372				status = "disabled";
1373			};
1374
1375			flx3: flexcom@fc014000 {
1376				compatible = "atmel,sama5d2-flexcom";
1377				reg = <0xfc014000 0x200>;
1378				clocks = <&flx3_clk>;
1379				#address-cells = <1>;
1380				#size-cells = <1>;
1381				ranges = <0x0 0xfc014000 0x800>;
1382				status = "disabled";
1383			};
1384
1385			flx4: flexcom@fc018000 {
1386				compatible = "atmel,sama5d2-flexcom";
1387				reg = <0xfc018000 0x200>;
1388				clocks = <&flx4_clk>;
1389				#address-cells = <1>;
1390				#size-cells = <1>;
1391				ranges = <0x0 0xfc018000 0x800>;
1392				status = "disabled";
1393			};
1394
1395			trng@fc01c000 {
1396				compatible = "atmel,at91sam9g45-trng";
1397				reg = <0xfc01c000 0x100>;
1398				interrupts = <47 IRQ_TYPE_LEVEL_HIGH 0>;
1399				clocks = <&trng_clk>;
1400			};
1401
1402			aic: interrupt-controller@fc020000 {
1403				#interrupt-cells = <3>;
1404				compatible = "atmel,sama5d2-aic";
1405				interrupt-controller;
1406				reg = <0xfc020000 0x200>;
1407				atmel,external-irqs = <49>;
1408			};
1409
1410			i2c1: i2c@fc028000 {
1411				compatible = "atmel,sama5d2-i2c";
1412				reg = <0xfc028000 0x100>;
1413				interrupts = <30 IRQ_TYPE_LEVEL_HIGH 7>;
1414				dmas = <&dma0
1415					(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
1416					 AT91_XDMAC_DT_PERID(2))>,
1417				       <&dma0
1418					(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
1419					 AT91_XDMAC_DT_PERID(3))>;
1420				dma-names = "tx", "rx";
1421				#address-cells = <1>;
1422				#size-cells = <0>;
1423				clocks = <&twi1_clk>;
1424				atmel,fifo-size = <16>;
1425				status = "disabled";
1426			};
1427
1428			adc: adc@fc030000 {
1429				compatible = "atmel,sama5d2-adc";
1430				reg = <0xfc030000 0x100>;
1431				interrupts = <40 IRQ_TYPE_LEVEL_HIGH 7>;
1432				clocks = <&adc_clk>;
1433				clock-names = "adc_clk";
1434				dmas = <&dma0 (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) | AT91_XDMAC_DT_PERID(25))>;
1435				dma-names = "rx";
1436				atmel,min-sample-rate-hz = <200000>;
1437				atmel,max-sample-rate-hz = <20000000>;
1438				atmel,startup-time-ms = <4>;
1439				atmel,trigger-edge-type = <IRQ_TYPE_EDGE_RISING>;
1440				status = "disabled";
1441			};
1442
1443			pioA: pinctrl@fc038000 {
1444				compatible = "atmel,sama5d2-pinctrl";
1445				reg = <0xfc038000 0x600>;
1446				interrupts = <18 IRQ_TYPE_LEVEL_HIGH 7>,
1447					     <68 IRQ_TYPE_LEVEL_HIGH 7>,
1448					     <69 IRQ_TYPE_LEVEL_HIGH 7>,
1449					     <70 IRQ_TYPE_LEVEL_HIGH 7>;
1450				interrupt-controller;
1451				#interrupt-cells = <2>;
1452				gpio-controller;
1453				#gpio-cells = <2>;
1454				clocks = <&pioA_clk>;
1455			};
1456
1457			secumod@fc040000 {
1458				compatible = "atmel,sama5d2-secumod", "syscon";
1459				reg = <0xfc040000 0x100>;
1460			};
1461
1462			tdes@fc044000 {
1463				compatible = "atmel,at91sam9g46-tdes";
1464				reg = <0xfc044000 0x100>;
1465				interrupts = <11 IRQ_TYPE_LEVEL_HIGH 0>;
1466				dmas = <&dma0
1467					(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
1468					 AT91_XDMAC_DT_PERID(28))>,
1469				       <&dma0
1470					(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
1471					 AT91_XDMAC_DT_PERID(29))>;
1472				dma-names = "tx", "rx";
1473				clocks = <&tdes_clk>;
1474				clock-names = "tdes_clk";
1475				status = "okay";
1476			};
1477
1478			classd: classd@fc048000 {
1479				compatible = "atmel,sama5d2-classd";
1480				reg = <0xfc048000 0x100>;
1481				interrupts = <59 IRQ_TYPE_LEVEL_HIGH 7>;
1482				dmas = <&dma0
1483					(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
1484					 AT91_XDMAC_DT_PERID(47))>;
1485				dma-names = "tx";
1486				clocks = <&classd_clk>, <&classd_gclk>;
1487				clock-names = "pclk", "gclk";
1488				status = "disabled";
1489			};
1490
1491			can1: can@fc050000 {
1492				compatible = "bosch,m_can";
1493				reg = <0xfc050000 0x4000>, <0x210000 0x4000>;
1494				reg-names = "m_can", "message_ram";
1495				interrupts = <57 IRQ_TYPE_LEVEL_HIGH 7>,
1496					     <65 IRQ_TYPE_LEVEL_HIGH 7>;
1497				interrupt-names = "int0", "int1";
1498				clocks = <&can1_clk>, <&can1_gclk>;
1499				clock-names = "hclk", "cclk";
1500				assigned-clocks = <&can1_gclk>;
1501				assigned-clock-parents = <&utmi>;
1502				assigned-clock-rates = <40000000>;
1503				bosch,mram-cfg = <0x1100 0 0 64 0 0 32 32>;
1504				status = "disabled";
1505			};
1506
1507			sfrbu: sfr@fc05c000 {
1508				compatible = "atmel,sama5d2-sfrbu", "syscon";
1509				reg = <0xfc05c000 0x20>;
1510			};
1511
1512			chipid@fc069000 {
1513				compatible = "atmel,sama5d2-chipid";
1514				reg = <0xfc069000 0x8>;
1515			};
1516		};
1517	};
1518};
1519