]> git.ipfire.org Git - people/ms/u-boot.git/blob - arch/arm/dts/sama5d2.dtsi
4233ef8c189f9b9cd77fe852f600a048f7541a41
[people/ms/u-boot.git] / arch / arm / dts / sama5d2.dtsi
1 #include "skeleton.dtsi"
2
3 / {
4 model = "Atmel SAMA5D2 family SoC";
5 compatible = "atmel,sama5d2";
6
7 aliases {
8 spi0 = &spi0;
9 spi1 = &qspi0;
10 i2c0 = &i2c0;
11 i2c1 = &i2c1;
12 };
13
14 clocks {
15 slow_xtal: slow_xtal {
16 compatible = "fixed-clock";
17 #clock-cells = <0>;
18 clock-frequency = <0>;
19 };
20
21 main_xtal: main_xtal {
22 compatible = "fixed-clock";
23 #clock-cells = <0>;
24 clock-frequency = <0>;
25 };
26 };
27
28 ahb {
29 compatible = "simple-bus";
30 #address-cells = <1>;
31 #size-cells = <1>;
32 u-boot,dm-pre-reloc;
33
34 usb1: ohci@00400000 {
35 compatible = "atmel,at91rm9200-ohci", "usb-ohci";
36 reg = <0x00400000 0x100000>;
37 clocks = <&uhphs_clk>, <&uhphs_clk>, <&uhpck>;
38 clock-names = "ohci_clk", "hclk", "uhpck";
39 status = "disabled";
40 };
41
42 usb2: ehci@00500000 {
43 compatible = "atmel,at91sam9g45-ehci", "usb-ehci";
44 reg = <0x00500000 0x100000>;
45 clocks = <&utmi>, <&uhphs_clk>;
46 clock-names = "usb_clk", "ehci_clk";
47 status = "disabled";
48 };
49
50 sdmmc0: sdio-host@a0000000 {
51 compatible = "atmel,sama5d2-sdhci";
52 reg = <0xa0000000 0x300>;
53 clocks = <&sdmmc0_hclk>, <&sdmmc0_gclk>, <&main>;
54 clock-names = "hclock", "multclk", "baseclk";
55 status = "disabled";
56 };
57
58 sdmmc1: sdio-host@b0000000 {
59 compatible = "atmel,sama5d2-sdhci";
60 reg = <0xb0000000 0x300>;
61 clocks = <&sdmmc1_hclk>, <&sdmmc1_gclk>, <&main>;
62 clock-names = "hclock", "multclk", "baseclk";
63 status = "disabled";
64 };
65
66 apb {
67 compatible = "simple-bus";
68 #address-cells = <1>;
69 #size-cells = <1>;
70 u-boot,dm-pre-reloc;
71
72 pmc: pmc@f0014000 {
73 compatible = "atmel,sama5d2-pmc", "syscon";
74 reg = <0xf0014000 0x160>;
75 #address-cells = <1>;
76 #size-cells = <0>;
77 #interrupt-cells = <1>;
78 u-boot,dm-pre-reloc;
79
80 main: mainck {
81 compatible = "atmel,at91sam9x5-clk-main";
82 #clock-cells = <0>;
83 u-boot,dm-pre-reloc;
84 };
85
86 plla: pllack@0 {
87 compatible = "atmel,sama5d3-clk-pll";
88 #clock-cells = <0>;
89 clocks = <&main>;
90 reg = <0>;
91 atmel,clk-input-range = <12000000 12000000>;
92 #atmel,pll-clk-output-range-cells = <4>;
93 atmel,pll-clk-output-ranges = <600000000 1200000000 0 0>;
94 u-boot,dm-pre-reloc;
95 };
96
97 plladiv: plladivck {
98 compatible = "atmel,at91sam9x5-clk-plldiv";
99 #clock-cells = <0>;
100 clocks = <&plla>;
101 };
102
103 audio_pll_frac: audiopll_fracck {
104 compatible = "atmel,sama5d2-clk-audio-pll-frac";
105 #clock-cells = <0>;
106 clocks = <&main>;
107 };
108
109 audio_pll_pad: audiopll_padck {
110 compatible = "atmel,sama5d2-clk-audio-pll-pad";
111 #clock-cells = <0>;
112 clocks = <&audio_pll_frac>;
113 };
114
115 audio_pll_pmc: audiopll_pmcck {
116 compatible = "atmel,sama5d2-clk-audio-pll-pmc";
117 #clock-cells = <0>;
118 clocks = <&audio_pll_frac>;
119 };
120
121 utmi: utmick {
122 compatible = "atmel,at91sam9x5-clk-utmi";
123 #clock-cells = <0>;
124 clocks = <&main>;
125 regmap-sfr = <&sfr>;
126 u-boot,dm-pre-reloc;
127 };
128
129 mck: masterck {
130 compatible = "atmel,at91sam9x5-clk-master";
131 #clock-cells = <0>;
132 clocks = <&main>, <&plladiv>, <&utmi>;
133 atmel,clk-output-range = <124000000 166000000>;
134 atmel,clk-divisors = <1 2 4 3>;
135 u-boot,dm-pre-reloc;
136 };
137
138 h32ck: h32mxck {
139 #clock-cells = <0>;
140 compatible = "atmel,sama5d4-clk-h32mx";
141 clocks = <&mck>;
142 u-boot,dm-pre-reloc;
143 };
144
145 usb: usbck {
146 compatible = "atmel,at91sam9x5-clk-usb";
147 #clock-cells = <0>;
148 clocks = <&plladiv>, <&utmi>;
149 };
150
151 prog: progck {
152 compatible = "atmel,at91sam9x5-clk-programmable";
153 #address-cells = <1>;
154 #size-cells = <0>;
155 interrupt-parent = <&pmc>;
156 clocks = <&main>, <&plladiv>, <&utmi>, <&mck>;
157
158 prog0: prog@0 {
159 #clock-cells = <0>;
160 reg = <0>;
161 };
162
163 prog1: prog@1 {
164 #clock-cells = <0>;
165 reg = <1>;
166 };
167
168 prog2: prog@2 {
169 #clock-cells = <0>;
170 reg = <2>;
171 };
172 };
173
174 systemck {
175 compatible = "atmel,at91rm9200-clk-system";
176 #address-cells = <1>;
177 #size-cells = <0>;
178
179 ddrck: ddrck@2 {
180 #clock-cells = <0>;
181 reg = <2>;
182 clocks = <&mck>;
183 };
184
185 lcdck: lcdck@3 {
186 #clock-cells = <0>;
187 reg = <3>;
188 clocks = <&mck>;
189 };
190
191 uhpck: uhpck@6 {
192 #clock-cells = <0>;
193 reg = <6>;
194 clocks = <&usb>;
195 };
196
197 udpck: udpck@7 {
198 #clock-cells = <0>;
199 reg = <7>;
200 clocks = <&usb>;
201 };
202
203 pck0: pck0@8 {
204 #clock-cells = <0>;
205 reg = <8>;
206 clocks = <&prog0>;
207 };
208
209 pck1: pck1@9 {
210 #clock-cells = <0>;
211 reg = <9>;
212 clocks = <&prog1>;
213 };
214
215 pck2: pck2@10 {
216 #clock-cells = <0>;
217 reg = <10>;
218 clocks = <&prog2>;
219 };
220
221 iscck: iscck@18 {
222 #clock-cells = <0>;
223 reg = <18>;
224 clocks = <&mck>;
225 };
226 };
227
228 periph32ck {
229 compatible = "atmel,at91sam9x5-clk-peripheral";
230 #address-cells = <1>;
231 #size-cells = <0>;
232 clocks = <&h32ck>;
233 u-boot,dm-pre-reloc;
234
235 macb0_clk: macb0_clk@5 {
236 #clock-cells = <0>;
237 reg = <5>;
238 atmel,clk-output-range = <0 83000000>;
239 };
240
241 tdes_clk: tdes_clk@11 {
242 #clock-cells = <0>;
243 reg = <11>;
244 atmel,clk-output-range = <0 83000000>;
245 };
246
247 matrix1_clk: matrix1_clk@14 {
248 #clock-cells = <0>;
249 reg = <14>;
250 };
251
252 hsmc_clk: hsmc_clk@17 {
253 #clock-cells = <0>;
254 reg = <17>;
255 };
256
257 pioA_clk: pioA_clk@18 {
258 #clock-cells = <0>;
259 reg = <18>;
260 atmel,clk-output-range = <0 83000000>;
261 u-boot,dm-pre-reloc;
262 };
263
264 flx0_clk: flx0_clk@19 {
265 #clock-cells = <0>;
266 reg = <19>;
267 atmel,clk-output-range = <0 83000000>;
268 };
269
270 flx1_clk: flx1_clk@20 {
271 #clock-cells = <0>;
272 reg = <20>;
273 atmel,clk-output-range = <0 83000000>;
274 };
275
276 flx2_clk: flx2_clk@21 {
277 #clock-cells = <0>;
278 reg = <21>;
279 atmel,clk-output-range = <0 83000000>;
280 };
281
282 flx3_clk: flx3_clk@22 {
283 #clock-cells = <0>;
284 reg = <22>;
285 atmel,clk-output-range = <0 83000000>;
286 };
287
288 flx4_clk: flx4_clk@23 {
289 #clock-cells = <0>;
290 reg = <23>;
291 atmel,clk-output-range = <0 83000000>;
292 };
293
294 uart0_clk: uart0_clk@24 {
295 #clock-cells = <0>;
296 reg = <24>;
297 atmel,clk-output-range = <0 83000000>;
298 };
299
300 uart1_clk: uart1_clk@25 {
301 #clock-cells = <0>;
302 reg = <25>;
303 atmel,clk-output-range = <0 83000000>;
304 u-boot,dm-pre-reloc;
305 };
306
307 uart2_clk: uart2_clk@26 {
308 #clock-cells = <0>;
309 reg = <26>;
310 atmel,clk-output-range = <0 83000000>;
311 };
312
313 uart3_clk: uart3_clk@27 {
314 #clock-cells = <0>;
315 reg = <27>;
316 atmel,clk-output-range = <0 83000000>;
317 };
318
319 uart4_clk: uart4_clk@28 {
320 #clock-cells = <0>;
321 reg = <28>;
322 atmel,clk-output-range = <0 83000000>;
323 };
324
325 twi0_clk: twi0_clk@29 {
326 reg = <29>;
327 #clock-cells = <0>;
328 atmel,clk-output-range = <0 83000000>;
329 };
330
331 twi1_clk: twi1_clk@30 {
332 #clock-cells = <0>;
333 reg = <30>;
334 atmel,clk-output-range = <0 83000000>;
335 };
336
337 spi0_clk: spi0_clk@33 {
338 #clock-cells = <0>;
339 reg = <33>;
340 atmel,clk-output-range = <0 83000000>;
341 u-boot,dm-pre-reloc;
342 };
343
344 spi1_clk: spi1_clk@34 {
345 #clock-cells = <0>;
346 reg = <34>;
347 atmel,clk-output-range = <0 83000000>;
348 };
349
350 tcb0_clk: tcb0_clk@35 {
351 #clock-cells = <0>;
352 reg = <35>;
353 atmel,clk-output-range = <0 83000000>;
354 };
355
356 tcb1_clk: tcb1_clk@36 {
357 #clock-cells = <0>;
358 reg = <36>;
359 atmel,clk-output-range = <0 83000000>;
360 };
361
362 pwm_clk: pwm_clk@38 {
363 #clock-cells = <0>;
364 reg = <38>;
365 atmel,clk-output-range = <0 83000000>;
366 };
367
368 adc_clk: adc_clk@40 {
369 #clock-cells = <0>;
370 reg = <40>;
371 atmel,clk-output-range = <0 83000000>;
372 };
373
374 uhphs_clk: uhphs_clk@41 {
375 #clock-cells = <0>;
376 reg = <41>;
377 atmel,clk-output-range = <0 83000000>;
378 };
379
380 udphs_clk: udphs_clk@42 {
381 #clock-cells = <0>;
382 reg = <42>;
383 atmel,clk-output-range = <0 83000000>;
384 };
385
386 ssc0_clk: ssc0_clk@43 {
387 #clock-cells = <0>;
388 reg = <43>;
389 atmel,clk-output-range = <0 83000000>;
390 };
391
392 ssc1_clk: ssc1_clk@44 {
393 #clock-cells = <0>;
394 reg = <44>;
395 atmel,clk-output-range = <0 83000000>;
396 };
397
398 trng_clk: trng_clk@47 {
399 #clock-cells = <0>;
400 reg = <47>;
401 atmel,clk-output-range = <0 83000000>;
402 };
403
404 pdmic_clk: pdmic_clk@48 {
405 #clock-cells = <0>;
406 reg = <48>;
407 atmel,clk-output-range = <0 83000000>;
408 };
409
410 i2s0_clk: i2s0_clk@54 {
411 #clock-cells = <0>;
412 reg = <54>;
413 atmel,clk-output-range = <0 83000000>;
414 };
415
416 i2s1_clk: i2s1_clk@55 {
417 #clock-cells = <0>;
418 reg = <55>;
419 atmel,clk-output-range = <0 83000000>;
420 };
421
422 can0_clk: can0_clk@56 {
423 #clock-cells = <0>;
424 reg = <56>;
425 atmel,clk-output-range = <0 83000000>;
426 };
427
428 can1_clk: can1_clk@57 {
429 #clock-cells = <0>;
430 reg = <57>;
431 atmel,clk-output-range = <0 83000000>;
432 };
433
434 classd_clk: classd_clk@59 {
435 #clock-cells = <0>;
436 reg = <59>;
437 atmel,clk-output-range = <0 83000000>;
438 };
439 };
440
441 periph64ck {
442 compatible = "atmel,at91sam9x5-clk-peripheral";
443 #address-cells = <1>;
444 #size-cells = <0>;
445 clocks = <&mck>;
446 u-boot,dm-pre-reloc;
447
448 dma0_clk: dma0_clk@6 {
449 #clock-cells = <0>;
450 reg = <6>;
451 };
452
453 dma1_clk: dma1_clk@7 {
454 #clock-cells = <0>;
455 reg = <7>;
456 };
457
458 aes_clk: aes_clk@9 {
459 #clock-cells = <0>;
460 reg = <9>;
461 };
462
463 aesb_clk: aesb_clk@10 {
464 #clock-cells = <0>;
465 reg = <10>;
466 };
467
468 sha_clk: sha_clk@12 {
469 #clock-cells = <0>;
470 reg = <12>;
471 };
472
473 mpddr_clk: mpddr_clk@13 {
474 #clock-cells = <0>;
475 reg = <13>;
476 };
477
478 matrix0_clk: matrix0_clk@15 {
479 #clock-cells = <0>;
480 reg = <15>;
481 };
482
483 sdmmc0_hclk: sdmmc0_hclk@31 {
484 #clock-cells = <0>;
485 reg = <31>;
486 u-boot,dm-pre-reloc;
487 };
488
489 sdmmc1_hclk: sdmmc1_hclk@32 {
490 #clock-cells = <0>;
491 reg = <32>;
492 u-boot,dm-pre-reloc;
493 };
494
495 lcdc_clk: lcdc_clk@45 {
496 #clock-cells = <0>;
497 reg = <45>;
498 };
499
500 isc_clk: isc_clk@46 {
501 #clock-cells = <0>;
502 reg = <46>;
503 };
504
505 qspi0_clk: qspi0_clk@52 {
506 #clock-cells = <0>;
507 reg = <52>;
508 };
509
510 qspi1_clk: qspi1_clk@53 {
511 #clock-cells = <0>;
512 reg = <53>;
513 };
514 };
515
516 gck {
517 compatible = "atmel,sama5d2-clk-generated";
518 #address-cells = <1>;
519 #size-cells = <0>;
520 interrupt-parent = <&pmc>;
521 clocks = <&main>, <&plla>, <&utmi>, <&mck>;
522 u-boot,dm-pre-reloc;
523
524 sdmmc0_gclk: sdmmc0_gclk@31 {
525 #clock-cells = <0>;
526 reg = <31>;
527 u-boot,dm-pre-reloc;
528 };
529
530 sdmmc1_gclk: sdmmc1_gclk@32 {
531 #clock-cells = <0>;
532 reg = <32>;
533 u-boot,dm-pre-reloc;
534 };
535
536 tcb0_gclk: tcb0_gclk@35 {
537 #clock-cells = <0>;
538 reg = <35>;
539 atmel,clk-output-range = <0 83000000>;
540 };
541
542 tcb1_gclk: tcb1_gclk@36 {
543 #clock-cells = <0>;
544 reg = <36>;
545 atmel,clk-output-range = <0 83000000>;
546 };
547
548 pwm_gclk: pwm_gclk@38 {
549 #clock-cells = <0>;
550 reg = <38>;
551 atmel,clk-output-range = <0 83000000>;
552 };
553
554 pdmic_gclk: pdmic_gclk@48 {
555 #clock-cells = <0>;
556 reg = <48>;
557 };
558
559 i2s0_gclk: i2s0_gclk@54 {
560 #clock-cells = <0>;
561 reg = <54>;
562 };
563
564 i2s1_gclk: i2s1_gclk@55 {
565 #clock-cells = <0>;
566 reg = <55>;
567 };
568
569 can0_gclk: can0_gclk@56 {
570 #clock-cells = <0>;
571 reg = <56>;
572 atmel,clk-output-range = <0 80000000>;
573 };
574
575 can1_gclk: can1_gclk@57 {
576 #clock-cells = <0>;
577 reg = <57>;
578 atmel,clk-output-range = <0 80000000>;
579 };
580
581 classd_gclk: classd_gclk@59 {
582 #clock-cells = <0>;
583 reg = <59>;
584 atmel,clk-output-range = <0 100000000>;
585 };
586 };
587 };
588
589 qspi0: spi@f0020000 {
590 compatible = "atmel,sama5d2-qspi";
591 reg = <0xf0020000 0x100>, <0xd0000000 0x08000000>;
592 reg-names = "qspi_base", "qspi_mmap";
593 #address-cells = <1>;
594 #size-cells = <0>;
595 clocks = <&qspi0_clk>;
596 status = "disabled";
597 };
598
599 spi0: spi@f8000000 {
600 compatible = "atmel,at91rm9200-spi";
601 reg = <0xf8000000 0x100>;
602 clocks = <&spi0_clk>;
603 clock-names = "spi_clk";
604 #address-cells = <1>;
605 #size-cells = <0>;
606 status = "disabled";
607 };
608
609 macb0: ethernet@f8008000 {
610 compatible = "cdns,macb";
611 reg = <0xf8008000 0x1000>;
612 #address-cells = <1>;
613 #size-cells = <0>;
614 clocks = <&macb0_clk>, <&macb0_clk>;
615 clock-names = "hclk", "pclk";
616 status = "disabled";
617 };
618
619 uart1: serial@f8020000 {
620 compatible = "atmel,at91sam9260-usart";
621 reg = <0xf8020000 0x100>;
622 clocks = <&uart1_clk>;
623 clock-names = "usart";
624 status = "disabled";
625 };
626
627 i2c0: i2c@f8028000 {
628 compatible = "atmel,sama5d2-i2c";
629 reg = <0xf8028000 0x100>;
630 #address-cells = <1>;
631 #size-cells = <0>;
632 clocks = <&twi0_clk>;
633 status = "disabled";
634 };
635
636 rstc@f8048000 {
637 compatible = "atmel,sama5d3-rstc";
638 reg = <0xf8048000 0x10>;
639 clocks = <&clk32k>;
640 };
641
642 shdwc@f8048010 {
643 compatible = "atmel,sama5d2-shdwc";
644 reg = <0xf8048010 0x10>;
645 clocks = <&clk32k>;
646 #address-cells = <1>;
647 #size-cells = <0>;
648 atmel,wakeup-rtc-timer;
649 };
650
651 pit: timer@f8048030 {
652 compatible = "atmel,at91sam9260-pit";
653 reg = <0xf8048030 0x10>;
654 clocks = <&h32ck>;
655 };
656
657 watchdog@f8048040 {
658 compatible = "atmel,sama5d4-wdt";
659 reg = <0xf8048040 0x10>;
660 clocks = <&clk32k>;
661 status = "disabled";
662 };
663
664 sfr: sfr@f8030000 {
665 compatible = "atmel,sama5d2-sfr", "syscon";
666 reg = <0xf8030000 0x98>;
667 };
668
669 sckc@f8048050 {
670 compatible = "atmel,at91sam9x5-sckc";
671 reg = <0xf8048050 0x4>;
672
673 slow_rc_osc: slow_rc_osc {
674 compatible = "atmel,at91sam9x5-clk-slow-rc-osc";
675 #clock-cells = <0>;
676 clock-frequency = <32768>;
677 clock-accuracy = <250000000>;
678 atmel,startup-time-usec = <75>;
679 };
680
681 slow_osc: slow_osc {
682 compatible = "atmel,at91sam9x5-clk-slow-osc";
683 #clock-cells = <0>;
684 clocks = <&slow_xtal>;
685 atmel,startup-time-usec = <1200000>;
686 };
687
688 clk32k: slowck {
689 compatible = "atmel,at91sam9x5-clk-slow";
690 #clock-cells = <0>;
691 clocks = <&slow_rc_osc &slow_osc>;
692 };
693 };
694
695 spi1: spi@fc000000 {
696 compatible = "atmel,at91rm9200-spi";
697 reg = <0xfc000000 0x100>;
698 #address-cells = <1>;
699 #size-cells = <0>;
700 status = "disabled";
701 };
702
703 i2c1: i2c@fc028000 {
704 compatible = "atmel,sama5d2-i2c";
705 reg = <0xfc028000 0x100>;
706 #address-cells = <1>;
707 #size-cells = <0>;
708 clocks = <&twi1_clk>;
709 status = "disabled";
710 };
711
712 pioA: gpio@fc038000 {
713 compatible = "atmel,sama5d2-gpio";
714 reg = <0xfc038000 0x600>;
715 clocks = <&pioA_clk>;
716 gpio-controller;
717 #gpio-cells = <2>;
718 u-boot,dm-pre-reloc;
719
720 pinctrl {
721 compatible = "atmel,sama5d2-pinctrl";
722 u-boot,dm-pre-reloc;
723 };
724 };
725 };
726 };
727 };