2 * DTS file for CSR SiRFmarco SoC
4 * Copyright (c) 2012 Cambridge Silicon Radio Limited, a CSR plc group company.
6 * Licensed under GPLv2 or later.
9 /include/ "skeleton.dtsi"
11 compatible = "sirf,marco";
14 interrupt-parent = <&gic>;
22 compatible = "arm,cortex-a9";
27 compatible = "arm,cortex-a9";
33 compatible = "simple-bus";
36 ranges = <0x40000000 0x40000000 0xa0000000>;
38 l2-cache-controller@c0030000 {
39 compatible = "sirf,marco-pl310-cache", "arm,pl310-cache";
40 reg = <0xc0030000 0x1000>;
41 interrupts = <0 59 0>;
42 arm,tag-latency = <1 1 1>;
43 arm,data-latency = <1 1 1>;
44 arm,filter-ranges = <0x40000000 0x80000000>;
47 gic: interrupt-controller@c0011000 {
48 compatible = "arm,cortex-a9-gic";
50 #interrupt-cells = <3>;
51 reg = <0xc0011000 0x1000>,
56 compatible = "simple-bus";
59 ranges = <0xc2000000 0xc2000000 0x1000000>;
61 reset-controller@c2000000 {
62 compatible = "sirf,marco-rstc";
63 reg = <0xc2000000 0x10000>;
68 compatible = "simple-bus";
71 ranges = <0xc3000000 0xc3000000 0x1000000>;
73 clock-controller@c3000000 {
74 compatible = "sirf,marco-clkc";
75 reg = <0xc3000000 0x1000>;
79 rsc-controller@c3010000 {
80 compatible = "sirf,marco-rsc";
81 reg = <0xc3010000 0x1000>;
86 compatible = "simple-bus";
89 ranges = <0xc4000000 0xc4000000 0x1000000>;
91 memory-controller@c4000000 {
92 compatible = "sirf,marco-memc";
93 reg = <0xc4000000 0x10000>;
94 interrupts = <0 27 0>;
99 compatible = "simple-bus";
100 #address-cells = <1>;
102 ranges = <0xc5000000 0xc5000000 0x1000000>;
105 compatible = "sirf,marco-lcd";
106 reg = <0xc5000000 0x10000>;
107 interrupts = <0 30 0>;
111 compatible = "sirf,marco-vpp";
112 reg = <0xc5010000 0x10000>;
113 interrupts = <0 31 0>;
118 compatible = "simple-bus";
119 #address-cells = <1>;
121 ranges = <0xc6000000 0xc6000000 0x1000000>;
124 compatible = "sirf,marco-lcd";
125 reg = <0xc6000000 0x10000>;
126 interrupts = <0 62 0>;
130 compatible = "sirf,marco-vpp";
131 reg = <0xc6010000 0x10000>;
132 interrupts = <0 63 0>;
137 compatible = "simple-bus";
138 #address-cells = <1>;
140 ranges = <0xc8000000 0xc8000000 0x1000000>;
143 compatible = "powervr,sgx540";
144 reg = <0xc8000000 0x1000000>;
145 interrupts = <0 6 0>;
150 compatible = "simple-bus";
151 #address-cells = <1>;
153 ranges = <0xc9000000 0xc9000000 0x1000000>;
155 multimedia@a0000000 {
156 compatible = "sirf,marco-video-codec";
157 reg = <0xc9000000 0x1000000>;
158 interrupts = <0 5 0>;
163 compatible = "simple-bus";
164 #address-cells = <1>;
166 ranges = <0xca000000 0xca000000 0x2000000>;
169 compatible = "sirf,marco-dspif";
170 reg = <0xca000000 0x10000>;
171 interrupts = <0 9 0>;
175 compatible = "sirf,marco-gps";
176 reg = <0xca010000 0x10000>;
177 interrupts = <0 7 0>;
181 compatible = "sirf,marco-dsp";
182 reg = <0xcb000000 0x1000000>;
183 interrupts = <0 8 0>;
188 compatible = "simple-bus";
189 #address-cells = <1>;
191 ranges = <0xcc000000 0xcc000000 0x2000000>;
194 compatible = "sirf,marco-tick";
195 reg = <0xcc020000 0x1000>;
196 interrupts = <0 0 0>,
205 compatible = "sirf,marco-nand";
206 reg = <0xcc030000 0x10000>;
207 interrupts = <0 41 0>;
211 compatible = "sirf,marco-audio";
212 reg = <0xcc040000 0x10000>;
213 interrupts = <0 35 0>;
216 uart0: uart@cc050000 {
218 compatible = "sirf,marco-uart";
219 reg = <0xcc050000 0x1000>;
220 interrupts = <0 17 0>;
225 uart1: uart@cc060000 {
227 compatible = "sirf,marco-uart";
228 reg = <0xcc060000 0x1000>;
229 interrupts = <0 18 0>;
234 uart2: uart@cc070000 {
236 compatible = "sirf,marco-uart";
237 reg = <0xcc070000 0x1000>;
238 interrupts = <0 19 0>;
243 uart3: uart@cc190000 {
245 compatible = "sirf,marco-uart";
246 reg = <0xcc190000 0x1000>;
247 interrupts = <0 66 0>;
252 uart4: uart@cc1a0000 {
254 compatible = "sirf,marco-uart";
255 reg = <0xcc1a0000 0x1000>;
256 interrupts = <0 69 0>;
263 compatible = "sirf,marco-usp";
264 reg = <0xcc080000 0x10000>;
265 interrupts = <0 20 0>;
271 compatible = "sirf,marco-usp";
272 reg = <0xcc090000 0x10000>;
273 interrupts = <0 21 0>;
279 compatible = "sirf,marco-usp";
280 reg = <0xcc0a0000 0x10000>;
281 interrupts = <0 22 0>;
285 dmac0: dma-controller@cc0b0000 {
287 compatible = "sirf,marco-dmac";
288 reg = <0xcc0b0000 0x10000>;
289 interrupts = <0 12 0>;
292 dmac1: dma-controller@cc160000 {
294 compatible = "sirf,marco-dmac";
295 reg = <0xcc160000 0x10000>;
296 interrupts = <0 13 0>;
300 compatible = "sirf,marco-vip";
301 reg = <0xcc0c0000 0x10000>;
306 compatible = "sirf,marco-spi";
307 reg = <0xcc0d0000 0x10000>;
308 interrupts = <0 15 0>;
309 sirf,spi-num-chipselects = <1>;
310 cs-gpios = <&gpio 0 0>;
311 sirf,spi-dma-rx-channel = <25>;
312 sirf,spi-dma-tx-channel = <20>;
313 #address-cells = <1>;
320 compatible = "sirf,marco-spi";
321 reg = <0xcc170000 0x10000>;
322 interrupts = <0 16 0>;
323 sirf,spi-num-chipselects = <1>;
324 cs-gpios = <&gpio 0 0>;
325 sirf,spi-dma-rx-channel = <12>;
326 sirf,spi-dma-tx-channel = <13>;
327 #address-cells = <1>;
334 compatible = "sirf,marco-i2c";
335 reg = <0xcc0e0000 0x10000>;
336 interrupts = <0 24 0>;
337 #address-cells = <1>;
344 compatible = "sirf,marco-i2c";
345 reg = <0xcc0f0000 0x10000>;
346 interrupts = <0 25 0>;
347 #address-cells = <1>;
353 compatible = "sirf,marco-tsc";
354 reg = <0xcc110000 0x10000>;
355 interrupts = <0 33 0>;
358 gpio: pinctrl@cc120000 {
360 #interrupt-cells = <2>;
361 compatible = "sirf,marco-pinctrl";
362 reg = <0xcc120000 0x10000>;
363 interrupts = <0 43 0>,
369 interrupt-controller;
371 lcd_16pins_a: lcd0_0 {
373 sirf,pins = "lcd_16bitsgrp";
374 sirf,function = "lcd_16bits";
377 lcd_18pins_a: lcd0_1 {
379 sirf,pins = "lcd_18bitsgrp";
380 sirf,function = "lcd_18bits";
383 lcd_24pins_a: lcd0_2 {
385 sirf,pins = "lcd_24bitsgrp";
386 sirf,function = "lcd_24bits";
389 lcdrom_pins_a: lcdrom0_0 {
391 sirf,pins = "lcdromgrp";
392 sirf,function = "lcdrom";
395 uart0_pins_a: uart0_0 {
397 sirf,pins = "uart0grp";
398 sirf,function = "uart0";
401 uart1_pins_a: uart1_0 {
403 sirf,pins = "uart1grp";
404 sirf,function = "uart1";
407 uart2_pins_a: uart2_0 {
409 sirf,pins = "uart2grp";
410 sirf,function = "uart2";
413 uart2_noflow_pins_a: uart2_1 {
415 sirf,pins = "uart2_nostreamctrlgrp";
416 sirf,function = "uart2_nostreamctrl";
419 spi0_pins_a: spi0_0 {
421 sirf,pins = "spi0grp";
422 sirf,function = "spi0";
425 spi1_pins_a: spi1_0 {
427 sirf,pins = "spi1grp";
428 sirf,function = "spi1";
431 i2c0_pins_a: i2c0_0 {
433 sirf,pins = "i2c0grp";
434 sirf,function = "i2c0";
437 i2c1_pins_a: i2c1_0 {
439 sirf,pins = "i2c1grp";
440 sirf,function = "i2c1";
443 pwm0_pins_a: pwm0_0 {
445 sirf,pins = "pwm0grp";
446 sirf,function = "pwm0";
449 pwm1_pins_a: pwm1_0 {
451 sirf,pins = "pwm1grp";
452 sirf,function = "pwm1";
455 pwm2_pins_a: pwm2_0 {
457 sirf,pins = "pwm2grp";
458 sirf,function = "pwm2";
461 pwm3_pins_a: pwm3_0 {
463 sirf,pins = "pwm3grp";
464 sirf,function = "pwm3";
469 sirf,pins = "gpsgrp";
470 sirf,function = "gps";
475 sirf,pins = "vipgrp";
476 sirf,function = "vip";
479 sdmmc0_pins_a: sdmmc0_0 {
481 sirf,pins = "sdmmc0grp";
482 sirf,function = "sdmmc0";
485 sdmmc1_pins_a: sdmmc1_0 {
487 sirf,pins = "sdmmc1grp";
488 sirf,function = "sdmmc1";
491 sdmmc2_pins_a: sdmmc2_0 {
493 sirf,pins = "sdmmc2grp";
494 sirf,function = "sdmmc2";
497 sdmmc3_pins_a: sdmmc3_0 {
499 sirf,pins = "sdmmc3grp";
500 sirf,function = "sdmmc3";
503 sdmmc4_pins_a: sdmmc4_0 {
505 sirf,pins = "sdmmc4grp";
506 sirf,function = "sdmmc4";
509 sdmmc5_pins_a: sdmmc5_0 {
511 sirf,pins = "sdmmc5grp";
512 sirf,function = "sdmmc5";
517 sirf,pins = "i2sgrp";
518 sirf,function = "i2s";
521 ac97_pins_a: ac97_0 {
523 sirf,pins = "ac97grp";
524 sirf,function = "ac97";
527 nand_pins_a: nand_0 {
529 sirf,pins = "nandgrp";
530 sirf,function = "nand";
533 usp0_pins_a: usp0_0 {
535 sirf,pins = "usp0grp";
536 sirf,function = "usp0";
539 usp1_pins_a: usp1_0 {
541 sirf,pins = "usp1grp";
542 sirf,function = "usp1";
545 usp2_pins_a: usp2_0 {
547 sirf,pins = "usp2grp";
548 sirf,function = "usp2";
551 usb0_utmi_drvbus_pins_a: usb0_utmi_drvbus_0 {
553 sirf,pins = "usb0_utmi_drvbusgrp";
554 sirf,function = "usb0_utmi_drvbus";
557 usb1_utmi_drvbus_pins_a: usb1_utmi_drvbus_0 {
559 sirf,pins = "usb1_utmi_drvbusgrp";
560 sirf,function = "usb1_utmi_drvbus";
563 warm_rst_pins_a: warm_rst_0 {
565 sirf,pins = "warm_rstgrp";
566 sirf,function = "warm_rst";
569 pulse_count_pins_a: pulse_count_0 {
571 sirf,pins = "pulse_countgrp";
572 sirf,function = "pulse_count";
575 cko0_rst_pins_a: cko0_rst_0 {
577 sirf,pins = "cko0_rstgrp";
578 sirf,function = "cko0_rst";
581 cko1_rst_pins_a: cko1_rst_0 {
583 sirf,pins = "cko1_rstgrp";
584 sirf,function = "cko1_rst";
590 compatible = "sirf,marco-pwm";
591 reg = <0xcc130000 0x10000>;
595 compatible = "sirf,marco-efuse";
596 reg = <0xcc140000 0x10000>;
600 compatible = "sirf,marco-pulsec";
601 reg = <0xcc150000 0x10000>;
602 interrupts = <0 48 0>;
606 compatible = "sirf,marco-pciiobg", "simple-bus";
607 #address-cells = <1>;
609 ranges = <0xcd000000 0xcd000000 0x1000000>;
611 sd0: sdhci@cd000000 {
613 compatible = "sirf,marco-sdhc";
614 reg = <0xcd000000 0x100000>;
615 interrupts = <0 38 0>;
619 sd1: sdhci@cd100000 {
621 compatible = "sirf,marco-sdhc";
622 reg = <0xcd100000 0x100000>;
623 interrupts = <0 38 0>;
627 sd2: sdhci@cd200000 {
629 compatible = "sirf,marco-sdhc";
630 reg = <0xcd200000 0x100000>;
631 interrupts = <0 23 0>;
635 sd3: sdhci@cd300000 {
637 compatible = "sirf,marco-sdhc";
638 reg = <0xcd300000 0x100000>;
639 interrupts = <0 23 0>;
643 sd4: sdhci@cd400000 {
645 compatible = "sirf,marco-sdhc";
646 reg = <0xcd400000 0x100000>;
647 interrupts = <0 39 0>;
651 sd5: sdhci@cd500000 {
653 compatible = "sirf,marco-sdhc";
654 reg = <0xcd500000 0x100000>;
655 interrupts = <0 39 0>;
660 compatible = "sirf,marco-pcicp";
661 reg = <0xcd900000 0x100000>;
662 interrupts = <0 40 0>;
665 rom-interface@cda00000 {
666 compatible = "sirf,marco-romif";
667 reg = <0xcda00000 0x100000>;
673 compatible = "sirf,marco-rtciobg", "sirf-marco-rtciobg-bus";
674 #address-cells = <1>;
676 reg = <0xc1000000 0x10000>;
679 compatible = "sirf,marco-gpsrtc";
680 reg = <0x1000 0x1000>;
681 interrupts = <0 55 0>,
687 compatible = "sirf,marco-sysrtc";
688 reg = <0x2000 0x1000>;
689 interrupts = <0 52 0>,
695 compatible = "sirf,marco-pwrc";
696 reg = <0x3000 0x1000>;
697 interrupts = <0 32 0>;
702 compatible = "simple-bus";
703 #address-cells = <1>;
705 ranges = <0xce000000 0xce000000 0x1000000>;
708 compatible = "chipidea,ci13611a-marco";
709 reg = <0xce000000 0x10000>;
710 interrupts = <0 10 0>;
714 compatible = "chipidea,ci13611a-marco";
715 reg = <0xce010000 0x10000>;
716 interrupts = <0 11 0>;
720 compatible = "sirf,marco-security";
721 reg = <0xce020000 0x10000>;
722 interrupts = <0 42 0>;
727 compatible = "simple-bus";
728 #address-cells = <1>;
730 ranges = <0xd0000000 0xd0000000 0x1000000>;
733 compatible = "sirf,marco-can";
734 reg = <0xd0000000 0x10000>;
738 compatible = "sirf,marco-can";
739 reg = <0xd0010000 0x10000>;
744 compatible = "simple-bus";
745 #address-cells = <1>;
747 ranges = <0xd1000000 0xd1000000 0x1000000>;
750 compatible = "sirf,marco-lvds";
751 reg = <0xd1000000 0x10000>;
752 interrupts = <0 64 0>;