ARM: dts: sirf: fix interrupt and dma prop of VIP for prima2 and atlas6
[deliverable/linux.git] / arch / arm / boot / dts / prima2.dtsi
1 /*
2 * DTS file for CSR SiRFprimaII SoC
3 *
4 * Copyright (c) 2012 Cambridge Silicon Radio Limited, a CSR plc group company.
5 *
6 * Licensed under GPLv2 or later.
7 */
8
9 /include/ "skeleton.dtsi"
10 / {
11 compatible = "sirf,prima2";
12 #address-cells = <1>;
13 #size-cells = <1>;
14 interrupt-parent = <&intc>;
15
16 cpus {
17 #address-cells = <1>;
18 #size-cells = <0>;
19
20 cpu@0 {
21 compatible = "arm,cortex-a9";
22 device_type = "cpu";
23 reg = <0x0>;
24 d-cache-line-size = <32>;
25 i-cache-line-size = <32>;
26 d-cache-size = <32768>;
27 i-cache-size = <32768>;
28 /* from bootloader */
29 timebase-frequency = <0>;
30 bus-frequency = <0>;
31 clock-frequency = <0>;
32 };
33 };
34
35 axi {
36 compatible = "simple-bus";
37 #address-cells = <1>;
38 #size-cells = <1>;
39 ranges = <0x40000000 0x40000000 0x80000000>;
40
41 l2-cache-controller@80040000 {
42 compatible = "arm,pl310-cache", "sirf,prima2-pl310-cache";
43 reg = <0x80040000 0x1000>;
44 interrupts = <59>;
45 arm,tag-latency = <1 1 1>;
46 arm,data-latency = <1 1 1>;
47 arm,filter-ranges = <0 0x40000000>;
48 };
49
50 intc: interrupt-controller@80020000 {
51 #interrupt-cells = <1>;
52 interrupt-controller;
53 compatible = "sirf,prima2-intc";
54 reg = <0x80020000 0x1000>;
55 };
56
57 sys-iobg {
58 compatible = "simple-bus";
59 #address-cells = <1>;
60 #size-cells = <1>;
61 ranges = <0x88000000 0x88000000 0x40000>;
62
63 clks: clock-controller@88000000 {
64 compatible = "sirf,prima2-clkc";
65 reg = <0x88000000 0x1000>;
66 interrupts = <3>;
67 #clock-cells = <1>;
68 };
69
70 reset-controller@88010000 {
71 compatible = "sirf,prima2-rstc";
72 reg = <0x88010000 0x1000>;
73 };
74
75 rsc-controller@88020000 {
76 compatible = "sirf,prima2-rsc";
77 reg = <0x88020000 0x1000>;
78 };
79 };
80
81 mem-iobg {
82 compatible = "simple-bus";
83 #address-cells = <1>;
84 #size-cells = <1>;
85 ranges = <0x90000000 0x90000000 0x10000>;
86
87 memory-controller@90000000 {
88 compatible = "sirf,prima2-memc";
89 reg = <0x90000000 0x10000>;
90 interrupts = <27>;
91 clocks = <&clks 5>;
92 };
93 };
94
95 disp-iobg {
96 compatible = "simple-bus";
97 #address-cells = <1>;
98 #size-cells = <1>;
99 ranges = <0x90010000 0x90010000 0x30000>;
100
101 display@90010000 {
102 compatible = "sirf,prima2-lcd";
103 reg = <0x90010000 0x20000>;
104 interrupts = <30>;
105 };
106
107 vpp@90020000 {
108 compatible = "sirf,prima2-vpp";
109 reg = <0x90020000 0x10000>;
110 interrupts = <31>;
111 clocks = <&clks 35>;
112 };
113 };
114
115 graphics-iobg {
116 compatible = "simple-bus";
117 #address-cells = <1>;
118 #size-cells = <1>;
119 ranges = <0x98000000 0x98000000 0x8000000>;
120
121 graphics@98000000 {
122 compatible = "powervr,sgx531";
123 reg = <0x98000000 0x8000000>;
124 interrupts = <6>;
125 clocks = <&clks 32>;
126 };
127 };
128
129 multimedia-iobg {
130 compatible = "simple-bus";
131 #address-cells = <1>;
132 #size-cells = <1>;
133 ranges = <0xa0000000 0xa0000000 0x8000000>;
134
135 multimedia@a0000000 {
136 compatible = "sirf,prima2-video-codec";
137 reg = <0xa0000000 0x8000000>;
138 interrupts = <5>;
139 clocks = <&clks 33>;
140 };
141 };
142
143 dsp-iobg {
144 compatible = "simple-bus";
145 #address-cells = <1>;
146 #size-cells = <1>;
147 ranges = <0xa8000000 0xa8000000 0x2000000>;
148
149 dspif@a8000000 {
150 compatible = "sirf,prima2-dspif";
151 reg = <0xa8000000 0x10000>;
152 interrupts = <9>;
153 };
154
155 gps@a8010000 {
156 compatible = "sirf,prima2-gps";
157 reg = <0xa8010000 0x10000>;
158 interrupts = <7>;
159 clocks = <&clks 9>;
160 };
161
162 dsp@a9000000 {
163 compatible = "sirf,prima2-dsp";
164 reg = <0xa9000000 0x1000000>;
165 interrupts = <8>;
166 clocks = <&clks 8>;
167 };
168 };
169
170 peri-iobg {
171 compatible = "simple-bus";
172 #address-cells = <1>;
173 #size-cells = <1>;
174 ranges = <0xb0000000 0xb0000000 0x180000>,
175 <0x56000000 0x56000000 0x1b00000>;
176
177 timer@b0020000 {
178 compatible = "sirf,prima2-tick";
179 reg = <0xb0020000 0x1000>;
180 interrupts = <0>;
181 };
182
183 nand@b0030000 {
184 compatible = "sirf,prima2-nand";
185 reg = <0xb0030000 0x10000>;
186 interrupts = <41>;
187 clocks = <&clks 26>;
188 };
189
190 audio@b0040000 {
191 compatible = "sirf,prima2-audio";
192 reg = <0xb0040000 0x10000>;
193 interrupts = <35>;
194 clocks = <&clks 27>;
195 };
196
197 uart0: uart@b0050000 {
198 cell-index = <0>;
199 compatible = "sirf,prima2-uart";
200 reg = <0xb0050000 0x1000>;
201 interrupts = <17>;
202 fifosize = <128>;
203 clocks = <&clks 13>;
204 sirf,uart-dma-rx-channel = <21>;
205 sirf,uart-dma-tx-channel = <2>;
206 };
207
208 uart1: uart@b0060000 {
209 cell-index = <1>;
210 compatible = "sirf,prima2-uart";
211 reg = <0xb0060000 0x1000>;
212 interrupts = <18>;
213 fifosize = <32>;
214 clocks = <&clks 14>;
215 };
216
217 uart2: uart@b0070000 {
218 cell-index = <2>;
219 compatible = "sirf,prima2-uart";
220 reg = <0xb0070000 0x1000>;
221 interrupts = <19>;
222 fifosize = <128>;
223 clocks = <&clks 15>;
224 sirf,uart-dma-rx-channel = <6>;
225 sirf,uart-dma-tx-channel = <7>;
226 };
227
228 usp0: usp@b0080000 {
229 cell-index = <0>;
230 compatible = "sirf,prima2-usp";
231 reg = <0xb0080000 0x10000>;
232 interrupts = <20>;
233 fifosize = <128>;
234 clocks = <&clks 28>;
235 sirf,usp-dma-rx-channel = <17>;
236 sirf,usp-dma-tx-channel = <18>;
237 };
238
239 usp1: usp@b0090000 {
240 cell-index = <1>;
241 compatible = "sirf,prima2-usp";
242 reg = <0xb0090000 0x10000>;
243 interrupts = <21>;
244 fifosize = <128>;
245 clocks = <&clks 29>;
246 sirf,usp-dma-rx-channel = <14>;
247 sirf,usp-dma-tx-channel = <15>;
248 };
249
250 usp2: usp@b00a0000 {
251 cell-index = <2>;
252 compatible = "sirf,prima2-usp";
253 reg = <0xb00a0000 0x10000>;
254 interrupts = <22>;
255 fifosize = <128>;
256 clocks = <&clks 30>;
257 sirf,usp-dma-rx-channel = <10>;
258 sirf,usp-dma-tx-channel = <11>;
259 };
260
261 dmac0: dma-controller@b00b0000 {
262 cell-index = <0>;
263 compatible = "sirf,prima2-dmac";
264 reg = <0xb00b0000 0x10000>;
265 interrupts = <12>;
266 clocks = <&clks 24>;
267 };
268
269 dmac1: dma-controller@b0160000 {
270 cell-index = <1>;
271 compatible = "sirf,prima2-dmac";
272 reg = <0xb0160000 0x10000>;
273 interrupts = <13>;
274 clocks = <&clks 25>;
275 };
276
277 vip@b00C0000 {
278 compatible = "sirf,prima2-vip";
279 reg = <0xb00C0000 0x10000>;
280 clocks = <&clks 31>;
281 interrupts = <14>;
282 sirf,vip-dma-rx-channel = <16>;
283 };
284
285 spi0: spi@b00d0000 {
286 cell-index = <0>;
287 compatible = "sirf,prima2-spi";
288 reg = <0xb00d0000 0x10000>;
289 interrupts = <15>;
290 clocks = <&clks 19>;
291 };
292
293 spi1: spi@b0170000 {
294 cell-index = <1>;
295 compatible = "sirf,prima2-spi";
296 reg = <0xb0170000 0x10000>;
297 interrupts = <16>;
298 clocks = <&clks 20>;
299 };
300
301 i2c0: i2c@b00e0000 {
302 cell-index = <0>;
303 compatible = "sirf,prima2-i2c";
304 reg = <0xb00e0000 0x10000>;
305 interrupts = <24>;
306 clocks = <&clks 17>;
307 };
308
309 i2c1: i2c@b00f0000 {
310 cell-index = <1>;
311 compatible = "sirf,prima2-i2c";
312 reg = <0xb00f0000 0x10000>;
313 interrupts = <25>;
314 clocks = <&clks 18>;
315 };
316
317 tsc@b0110000 {
318 compatible = "sirf,prima2-tsc";
319 reg = <0xb0110000 0x10000>;
320 interrupts = <33>;
321 clocks = <&clks 16>;
322 };
323
324 gpio: pinctrl@b0120000 {
325 #gpio-cells = <2>;
326 #interrupt-cells = <2>;
327 compatible = "sirf,prima2-pinctrl";
328 reg = <0xb0120000 0x10000>;
329 interrupts = <43 44 45 46 47>;
330 gpio-controller;
331 interrupt-controller;
332
333 lcd_16pins_a: lcd0@0 {
334 lcd {
335 sirf,pins = "lcd_16bitsgrp";
336 sirf,function = "lcd_16bits";
337 };
338 };
339 lcd_18pins_a: lcd0@1 {
340 lcd {
341 sirf,pins = "lcd_18bitsgrp";
342 sirf,function = "lcd_18bits";
343 };
344 };
345 lcd_24pins_a: lcd0@2 {
346 lcd {
347 sirf,pins = "lcd_24bitsgrp";
348 sirf,function = "lcd_24bits";
349 };
350 };
351 lcdrom_pins_a: lcdrom0@0 {
352 lcd {
353 sirf,pins = "lcdromgrp";
354 sirf,function = "lcdrom";
355 };
356 };
357 uart0_pins_a: uart0@0 {
358 uart {
359 sirf,pins = "uart0grp";
360 sirf,function = "uart0";
361 };
362 };
363 uart1_pins_a: uart1@0 {
364 uart {
365 sirf,pins = "uart1grp";
366 sirf,function = "uart1";
367 };
368 };
369 uart2_pins_a: uart2@0 {
370 uart {
371 sirf,pins = "uart2grp";
372 sirf,function = "uart2";
373 };
374 };
375 uart2_noflow_pins_a: uart2@1 {
376 uart {
377 sirf,pins = "uart2_nostreamctrlgrp";
378 sirf,function = "uart2_nostreamctrl";
379 };
380 };
381 spi0_pins_a: spi0@0 {
382 spi {
383 sirf,pins = "spi0grp";
384 sirf,function = "spi0";
385 };
386 };
387 spi1_pins_a: spi1@0 {
388 spi {
389 sirf,pins = "spi1grp";
390 sirf,function = "spi1";
391 };
392 };
393 i2c0_pins_a: i2c0@0 {
394 i2c {
395 sirf,pins = "i2c0grp";
396 sirf,function = "i2c0";
397 };
398 };
399 i2c1_pins_a: i2c1@0 {
400 i2c {
401 sirf,pins = "i2c1grp";
402 sirf,function = "i2c1";
403 };
404 };
405 pwm0_pins_a: pwm0@0 {
406 pwm {
407 sirf,pins = "pwm0grp";
408 sirf,function = "pwm0";
409 };
410 };
411 pwm1_pins_a: pwm1@0 {
412 pwm {
413 sirf,pins = "pwm1grp";
414 sirf,function = "pwm1";
415 };
416 };
417 pwm2_pins_a: pwm2@0 {
418 pwm {
419 sirf,pins = "pwm2grp";
420 sirf,function = "pwm2";
421 };
422 };
423 pwm3_pins_a: pwm3@0 {
424 pwm {
425 sirf,pins = "pwm3grp";
426 sirf,function = "pwm3";
427 };
428 };
429 gps_pins_a: gps@0 {
430 gps {
431 sirf,pins = "gpsgrp";
432 sirf,function = "gps";
433 };
434 };
435 vip_pins_a: vip@0 {
436 vip {
437 sirf,pins = "vipgrp";
438 sirf,function = "vip";
439 };
440 };
441 sdmmc0_pins_a: sdmmc0@0 {
442 sdmmc0 {
443 sirf,pins = "sdmmc0grp";
444 sirf,function = "sdmmc0";
445 };
446 };
447 sdmmc1_pins_a: sdmmc1@0 {
448 sdmmc1 {
449 sirf,pins = "sdmmc1grp";
450 sirf,function = "sdmmc1";
451 };
452 };
453 sdmmc2_pins_a: sdmmc2@0 {
454 sdmmc2 {
455 sirf,pins = "sdmmc2grp";
456 sirf,function = "sdmmc2";
457 };
458 };
459 sdmmc3_pins_a: sdmmc3@0 {
460 sdmmc3 {
461 sirf,pins = "sdmmc3grp";
462 sirf,function = "sdmmc3";
463 };
464 };
465 sdmmc4_pins_a: sdmmc4@0 {
466 sdmmc4 {
467 sirf,pins = "sdmmc4grp";
468 sirf,function = "sdmmc4";
469 };
470 };
471 sdmmc5_pins_a: sdmmc5@0 {
472 sdmmc5 {
473 sirf,pins = "sdmmc5grp";
474 sirf,function = "sdmmc5";
475 };
476 };
477 i2s_pins_a: i2s@0 {
478 i2s {
479 sirf,pins = "i2sgrp";
480 sirf,function = "i2s";
481 };
482 };
483 ac97_pins_a: ac97@0 {
484 ac97 {
485 sirf,pins = "ac97grp";
486 sirf,function = "ac97";
487 };
488 };
489 nand_pins_a: nand@0 {
490 nand {
491 sirf,pins = "nandgrp";
492 sirf,function = "nand";
493 };
494 };
495 usp0_pins_a: usp0@0 {
496 usp0 {
497 sirf,pins = "usp0grp";
498 sirf,function = "usp0";
499 };
500 };
501 usp1_pins_a: usp1@0 {
502 usp1 {
503 sirf,pins = "usp1grp";
504 sirf,function = "usp1";
505 };
506 };
507 usp2_pins_a: usp2@0 {
508 usp2 {
509 sirf,pins = "usp2grp";
510 sirf,function = "usp2";
511 };
512 };
513 usb0_utmi_drvbus_pins_a: usb0_utmi_drvbus@0 {
514 usb0_utmi_drvbus {
515 sirf,pins = "usb0_utmi_drvbusgrp";
516 sirf,function = "usb0_utmi_drvbus";
517 };
518 };
519 usb1_utmi_drvbus_pins_a: usb1_utmi_drvbus@0 {
520 usb1_utmi_drvbus {
521 sirf,pins = "usb1_utmi_drvbusgrp";
522 sirf,function = "usb1_utmi_drvbus";
523 };
524 };
525 warm_rst_pins_a: warm_rst@0 {
526 warm_rst {
527 sirf,pins = "warm_rstgrp";
528 sirf,function = "warm_rst";
529 };
530 };
531 pulse_count_pins_a: pulse_count@0 {
532 pulse_count {
533 sirf,pins = "pulse_countgrp";
534 sirf,function = "pulse_count";
535 };
536 };
537 cko0_pins_a: cko0@0 {
538 cko0 {
539 sirf,pins = "cko0grp";
540 sirf,function = "cko0";
541 };
542 };
543 cko1_pins_a: cko1@0 {
544 cko1 {
545 sirf,pins = "cko1grp";
546 sirf,function = "cko1";
547 };
548 };
549 };
550
551 pwm@b0130000 {
552 compatible = "sirf,prima2-pwm";
553 reg = <0xb0130000 0x10000>;
554 clocks = <&clks 21>;
555 };
556
557 efusesys@b0140000 {
558 compatible = "sirf,prima2-efuse";
559 reg = <0xb0140000 0x10000>;
560 clocks = <&clks 22>;
561 };
562
563 pulsec@b0150000 {
564 compatible = "sirf,prima2-pulsec";
565 reg = <0xb0150000 0x10000>;
566 interrupts = <48>;
567 clocks = <&clks 23>;
568 };
569
570 pci-iobg {
571 compatible = "sirf,prima2-pciiobg", "simple-bus";
572 #address-cells = <1>;
573 #size-cells = <1>;
574 ranges = <0x56000000 0x56000000 0x1b00000>;
575
576 sd0: sdhci@56000000 {
577 cell-index = <0>;
578 compatible = "sirf,prima2-sdhc";
579 reg = <0x56000000 0x100000>;
580 interrupts = <38>;
581 };
582
583 sd1: sdhci@56100000 {
584 cell-index = <1>;
585 compatible = "sirf,prima2-sdhc";
586 reg = <0x56100000 0x100000>;
587 interrupts = <38>;
588 };
589
590 sd2: sdhci@56200000 {
591 cell-index = <2>;
592 compatible = "sirf,prima2-sdhc";
593 reg = <0x56200000 0x100000>;
594 interrupts = <23>;
595 };
596
597 sd3: sdhci@56300000 {
598 cell-index = <3>;
599 compatible = "sirf,prima2-sdhc";
600 reg = <0x56300000 0x100000>;
601 interrupts = <23>;
602 };
603
604 sd4: sdhci@56400000 {
605 cell-index = <4>;
606 compatible = "sirf,prima2-sdhc";
607 reg = <0x56400000 0x100000>;
608 interrupts = <39>;
609 };
610
611 sd5: sdhci@56500000 {
612 cell-index = <5>;
613 compatible = "sirf,prima2-sdhc";
614 reg = <0x56500000 0x100000>;
615 interrupts = <39>;
616 };
617
618 pci-copy@57900000 {
619 compatible = "sirf,prima2-pcicp";
620 reg = <0x57900000 0x100000>;
621 interrupts = <40>;
622 };
623
624 rom-interface@57a00000 {
625 compatible = "sirf,prima2-romif";
626 reg = <0x57a00000 0x100000>;
627 };
628 };
629 };
630
631 rtc-iobg {
632 compatible = "sirf,prima2-rtciobg", "sirf-prima2-rtciobg-bus", "simple-bus";
633 #address-cells = <1>;
634 #size-cells = <1>;
635 reg = <0x80030000 0x10000>;
636
637 gpsrtc@1000 {
638 compatible = "sirf,prima2-gpsrtc";
639 reg = <0x1000 0x1000>;
640 interrupts = <55 56 57>;
641 };
642
643 sysrtc@2000 {
644 compatible = "sirf,prima2-sysrtc";
645 reg = <0x2000 0x1000>;
646 interrupts = <52 53 54>;
647 };
648
649 pwrc@3000 {
650 compatible = "sirf,prima2-pwrc";
651 reg = <0x3000 0x1000>;
652 interrupts = <32>;
653 };
654 };
655
656 uus-iobg {
657 compatible = "simple-bus";
658 #address-cells = <1>;
659 #size-cells = <1>;
660 ranges = <0xb8000000 0xb8000000 0x40000>;
661
662 usb0: usb@b00e0000 {
663 compatible = "chipidea,ci13611a-prima2";
664 reg = <0xb8000000 0x10000>;
665 interrupts = <10>;
666 clocks = <&clks 40>;
667 };
668
669 usb1: usb@b00f0000 {
670 compatible = "chipidea,ci13611a-prima2";
671 reg = <0xb8010000 0x10000>;
672 interrupts = <11>;
673 clocks = <&clks 41>;
674 };
675
676 sata@b00f0000 {
677 compatible = "synopsys,dwc-ahsata";
678 reg = <0xb8020000 0x10000>;
679 interrupts = <37>;
680 };
681
682 security@b00f0000 {
683 compatible = "sirf,prima2-security";
684 reg = <0xb8030000 0x10000>;
685 interrupts = <42>;
686 clocks = <&clks 7>;
687 };
688 };
689 };
690 };
This page took 0.078453 seconds and 5 git commands to generate.