1 // SPDX-License-Identifier: GPL-2.0-or-later
3 * DTS file for CSR SiRFprimaII SoC
5 * Copyright (c) 2012 Cambridge Silicon Radio Limited, a CSR plc group company.
9 compatible = "sirf,prima2";
12 interrupt-parent = <&intc>;
19 compatible = "arm,cortex-a9";
22 d-cache-line-size = <32>;
23 i-cache-line-size = <32>;
24 d-cache-size = <32768>;
25 i-cache-size = <32768>;
27 timebase-frequency = <0>;
29 clock-frequency = <0>;
38 clock-latency = <150000>;
43 compatible = "arm,cortex-a9-pmu";
48 compatible = "simple-bus";
51 ranges = <0x40000000 0x40000000 0x80000000>;
53 l2-cache-controller@80040000 {
54 compatible = "arm,pl310-cache";
55 reg = <0x80040000 0x1000>;
57 arm,tag-latency = <1 1 1>;
58 arm,data-latency = <1 1 1>;
59 arm,filter-ranges = <0 0x40000000>;
62 intc: interrupt-controller@80020000 {
63 #interrupt-cells = <1>;
65 compatible = "sirf,prima2-intc";
66 reg = <0x80020000 0x1000>;
70 compatible = "simple-bus";
73 ranges = <0x88000000 0x88000000 0x40000>;
75 clks: clock-controller@88000000 {
76 compatible = "sirf,prima2-clkc";
77 reg = <0x88000000 0x1000>;
82 rstc: reset-controller@88010000 {
83 compatible = "sirf,prima2-rstc";
84 reg = <0x88010000 0x1000>;
88 rsc-controller@88020000 {
89 compatible = "sirf,prima2-rsc";
90 reg = <0x88020000 0x1000>;
94 compatible = "sirf,prima2-cphifbg";
95 reg = <0x88030000 0x1000>;
101 compatible = "simple-bus";
102 #address-cells = <1>;
104 ranges = <0x90000000 0x90000000 0x10000>;
106 memory-controller@90000000 {
107 compatible = "sirf,prima2-memc";
108 reg = <0x90000000 0x2000>;
114 compatible = "sirf,prima2-memcmon";
115 reg = <0x90002000 0x200>;
122 compatible = "simple-bus";
123 #address-cells = <1>;
125 ranges = <0x90010000 0x90010000 0x30000>;
128 compatible = "sirf,prima2-lcd";
129 reg = <0x90010000 0x20000>;
134 compatible = "sirf,prima2-vpp";
135 reg = <0x90020000 0x10000>;
143 compatible = "simple-bus";
144 #address-cells = <1>;
146 ranges = <0x98000000 0x98000000 0x8000000>;
149 compatible = "powervr,sgx531";
150 reg = <0x98000000 0x8000000>;
157 compatible = "simple-bus";
158 #address-cells = <1>;
160 ranges = <0xa0000000 0xa0000000 0x8000000>;
162 multimedia@a0000000 {
163 compatible = "sirf,prima2-video-codec";
164 reg = <0xa0000000 0x8000000>;
171 compatible = "simple-bus";
172 #address-cells = <1>;
174 ranges = <0xa8000000 0xa8000000 0x2000000>;
177 compatible = "sirf,prima2-dspif";
178 reg = <0xa8000000 0x10000>;
184 compatible = "sirf,prima2-gps";
185 reg = <0xa8010000 0x10000>;
192 compatible = "sirf,prima2-dsp";
193 reg = <0xa9000000 0x1000000>;
201 compatible = "simple-bus";
202 #address-cells = <1>;
204 ranges = <0xb0000000 0xb0000000 0x180000>,
205 <0x56000000 0x56000000 0x1b00000>;
208 compatible = "sirf,prima2-tick";
209 reg = <0xb0020000 0x1000>;
215 compatible = "sirf,prima2-nand";
216 reg = <0xb0030000 0x10000>;
222 compatible = "sirf,prima2-audio";
223 reg = <0xb0040000 0x10000>;
228 uart0: uart@b0050000 {
230 compatible = "sirf,prima2-uart";
231 reg = <0xb0050000 0x1000>;
235 dmas = <&dmac1 5>, <&dmac0 2>;
236 dma-names = "rx", "tx";
239 uart1: uart@b0060000 {
241 compatible = "sirf,prima2-uart";
242 reg = <0xb0060000 0x1000>;
248 uart2: uart@b0070000 {
250 compatible = "sirf,prima2-uart";
251 reg = <0xb0070000 0x1000>;
255 dmas = <&dmac0 6>, <&dmac0 7>;
256 dma-names = "rx", "tx";
261 compatible = "sirf,prima2-usp";
262 reg = <0xb0080000 0x10000>;
266 dmas = <&dmac1 1>, <&dmac1 2>;
267 dma-names = "rx", "tx";
272 compatible = "sirf,prima2-usp";
273 reg = <0xb0090000 0x10000>;
277 dmas = <&dmac0 14>, <&dmac0 15>;
278 dma-names = "rx", "tx";
283 compatible = "sirf,prima2-usp";
284 reg = <0xb00a0000 0x10000>;
288 dmas = <&dmac0 10>, <&dmac0 11>;
289 dma-names = "rx", "tx";
292 dmac0: dma-controller@b00b0000 {
294 compatible = "sirf,prima2-dmac";
295 reg = <0xb00b0000 0x10000>;
301 dmac1: dma-controller@b0160000 {
303 compatible = "sirf,prima2-dmac";
304 reg = <0xb0160000 0x10000>;
311 compatible = "sirf,prima2-vip";
312 reg = <0xb00C0000 0x10000>;
315 sirf,vip-dma-rx-channel = <16>;
320 compatible = "sirf,prima2-spi";
321 reg = <0xb00d0000 0x10000>;
323 sirf,spi-num-chipselects = <1>;
326 dma-names = "rx", "tx";
327 #address-cells = <1>;
335 compatible = "sirf,prima2-spi";
336 reg = <0xb0170000 0x10000>;
338 sirf,spi-num-chipselects = <1>;
341 dma-names = "rx", "tx";
342 #address-cells = <1>;
350 compatible = "sirf,prima2-i2c";
351 reg = <0xb00e0000 0x10000>;
354 #address-cells = <1>;
360 compatible = "sirf,prima2-i2c";
361 reg = <0xb00f0000 0x10000>;
364 #address-cells = <1>;
369 compatible = "sirf,prima2-tsc";
370 reg = <0xb0110000 0x10000>;
375 gpio: pinctrl@b0120000 {
377 #interrupt-cells = <2>;
378 compatible = "sirf,prima2-pinctrl";
379 reg = <0xb0120000 0x10000>;
380 interrupts = <43 44 45 46 47>;
382 interrupt-controller;
384 lcd_16pins_a: lcd0@0 {
386 sirf,pins = "lcd_16bitsgrp";
387 sirf,function = "lcd_16bits";
390 lcd_18pins_a: lcd0@1 {
392 sirf,pins = "lcd_18bitsgrp";
393 sirf,function = "lcd_18bits";
396 lcd_24pins_a: lcd0@2 {
398 sirf,pins = "lcd_24bitsgrp";
399 sirf,function = "lcd_24bits";
402 lcdrom_pins_a: lcdrom0@0 {
404 sirf,pins = "lcdromgrp";
405 sirf,function = "lcdrom";
408 uart0_pins_a: uart0@0 {
410 sirf,pins = "uart0grp";
411 sirf,function = "uart0";
414 uart0_noflow_pins_a: uart0@1 {
416 sirf,pins = "uart0_nostreamctrlgrp";
417 sirf,function = "uart0_nostreamctrl";
420 uart1_pins_a: uart1@0 {
422 sirf,pins = "uart1grp";
423 sirf,function = "uart1";
426 uart2_pins_a: uart2@0 {
428 sirf,pins = "uart2grp";
429 sirf,function = "uart2";
432 uart2_noflow_pins_a: uart2@1 {
434 sirf,pins = "uart2_nostreamctrlgrp";
435 sirf,function = "uart2_nostreamctrl";
438 spi0_pins_a: spi0@0 {
440 sirf,pins = "spi0grp";
441 sirf,function = "spi0";
444 spi1_pins_a: spi1@0 {
446 sirf,pins = "spi1grp";
447 sirf,function = "spi1";
450 i2c0_pins_a: i2c0@0 {
452 sirf,pins = "i2c0grp";
453 sirf,function = "i2c0";
456 i2c1_pins_a: i2c1@0 {
458 sirf,pins = "i2c1grp";
459 sirf,function = "i2c1";
462 pwm0_pins_a: pwm0@0 {
464 sirf,pins = "pwm0grp";
465 sirf,function = "pwm0";
468 pwm1_pins_a: pwm1@0 {
470 sirf,pins = "pwm1grp";
471 sirf,function = "pwm1";
474 pwm2_pins_a: pwm2@0 {
476 sirf,pins = "pwm2grp";
477 sirf,function = "pwm2";
480 pwm3_pins_a: pwm3@0 {
482 sirf,pins = "pwm3grp";
483 sirf,function = "pwm3";
488 sirf,pins = "gpsgrp";
489 sirf,function = "gps";
494 sirf,pins = "vipgrp";
495 sirf,function = "vip";
498 sdmmc0_pins_a: sdmmc0@0 {
500 sirf,pins = "sdmmc0grp";
501 sirf,function = "sdmmc0";
504 sdmmc1_pins_a: sdmmc1@0 {
506 sirf,pins = "sdmmc1grp";
507 sirf,function = "sdmmc1";
510 sdmmc2_pins_a: sdmmc2@0 {
512 sirf,pins = "sdmmc2grp";
513 sirf,function = "sdmmc2";
516 sdmmc3_pins_a: sdmmc3@0 {
518 sirf,pins = "sdmmc3grp";
519 sirf,function = "sdmmc3";
522 sdmmc4_pins_a: sdmmc4@0 {
524 sirf,pins = "sdmmc4grp";
525 sirf,function = "sdmmc4";
528 sdmmc5_pins_a: sdmmc5@0 {
530 sirf,pins = "sdmmc5grp";
531 sirf,function = "sdmmc5";
534 i2s_mclk_pins_a: i2s_mclk@0 {
536 sirf,pins = "i2smclkgrp";
537 sirf,function = "i2s_mclk";
540 i2s_ext_clk_input_pins_a: i2s_ext_clk_input@0 {
542 sirf,pins = "i2s_ext_clk_inputgrp";
543 sirf,function = "i2s_ext_clk_input";
548 sirf,pins = "i2sgrp";
549 sirf,function = "i2s";
552 i2s_no_din_pins_a: i2s_no_din@0 {
554 sirf,pins = "i2s_no_dingrp";
555 sirf,function = "i2s_no_din";
558 i2s_6chn_pins_a: i2s_6chn@0 {
560 sirf,pins = "i2s_6chngrp";
561 sirf,function = "i2s_6chn";
564 ac97_pins_a: ac97@0 {
566 sirf,pins = "ac97grp";
567 sirf,function = "ac97";
570 nand_pins_a: nand@0 {
572 sirf,pins = "nandgrp";
573 sirf,function = "nand";
576 usp0_pins_a: usp0@0 {
578 sirf,pins = "usp0grp";
579 sirf,function = "usp0";
582 usp0_uart_nostreamctrl_pins_a: usp0@1 {
585 "usp0_uart_nostreamctrl_grp";
587 "usp0_uart_nostreamctrl";
590 usp0_only_utfs_pins_a: usp0@2 {
592 sirf,pins = "usp0_only_utfs_grp";
593 sirf,function = "usp0_only_utfs";
596 usp0_only_urfs_pins_a: usp0@3 {
598 sirf,pins = "usp0_only_urfs_grp";
599 sirf,function = "usp0_only_urfs";
602 usp1_pins_a: usp1@0 {
604 sirf,pins = "usp1grp";
605 sirf,function = "usp1";
608 usp1_uart_nostreamctrl_pins_a: usp1@1 {
611 "usp1_uart_nostreamctrl_grp";
613 "usp1_uart_nostreamctrl";
616 usp2_pins_a: usp2@0 {
618 sirf,pins = "usp2grp";
619 sirf,function = "usp2";
622 usp2_uart_nostreamctrl_pins_a: usp2@1 {
625 "usp2_uart_nostreamctrl_grp";
627 "usp2_uart_nostreamctrl";
630 usb0_utmi_drvbus_pins_a: usb0_utmi_drvbus@0 {
632 sirf,pins = "usb0_utmi_drvbusgrp";
633 sirf,function = "usb0_utmi_drvbus";
636 usb1_utmi_drvbus_pins_a: usb1_utmi_drvbus@0 {
638 sirf,pins = "usb1_utmi_drvbusgrp";
639 sirf,function = "usb1_utmi_drvbus";
642 usb1_dp_dn_pins_a: usb1_dp_dn@0 {
644 sirf,pins = "usb1_dp_dngrp";
645 sirf,function = "usb1_dp_dn";
648 uart1_route_io_usb1_pins_a: uart1_route_io_usb1@0 {
649 uart1_route_io_usb1 {
650 sirf,pins = "uart1_route_io_usb1grp";
651 sirf,function = "uart1_route_io_usb1";
654 warm_rst_pins_a: warm_rst@0 {
656 sirf,pins = "warm_rstgrp";
657 sirf,function = "warm_rst";
660 pulse_count_pins_a: pulse_count@0 {
662 sirf,pins = "pulse_countgrp";
663 sirf,function = "pulse_count";
666 cko0_pins_a: cko0@0 {
668 sirf,pins = "cko0grp";
669 sirf,function = "cko0";
672 cko1_pins_a: cko1@0 {
674 sirf,pins = "cko1grp";
675 sirf,function = "cko1";
681 compatible = "sirf,prima2-pwm";
682 reg = <0xb0130000 0x10000>;
687 compatible = "sirf,prima2-efuse";
688 reg = <0xb0140000 0x10000>;
693 compatible = "sirf,prima2-pulsec";
694 reg = <0xb0150000 0x10000>;
700 compatible = "sirf,prima2-pciiobg", "simple-bus";
701 #address-cells = <1>;
703 ranges = <0x56000000 0x56000000 0x1b00000>;
705 sd0: sdhci@56000000 {
707 compatible = "sirf,prima2-sdhc";
708 reg = <0x56000000 0x100000>;
715 sd1: sdhci@56100000 {
717 compatible = "sirf,prima2-sdhc";
718 reg = <0x56100000 0x100000>;
725 sd2: sdhci@56200000 {
727 compatible = "sirf,prima2-sdhc";
728 reg = <0x56200000 0x100000>;
734 sd3: sdhci@56300000 {
736 compatible = "sirf,prima2-sdhc";
737 reg = <0x56300000 0x100000>;
743 sd4: sdhci@56400000 {
745 compatible = "sirf,prima2-sdhc";
746 reg = <0x56400000 0x100000>;
752 sd5: sdhci@56500000 {
754 compatible = "sirf,prima2-sdhc";
755 reg = <0x56500000 0x100000>;
761 compatible = "sirf,prima2-pcicp";
762 reg = <0x57900000 0x100000>;
766 rom-interface@57a00000 {
767 compatible = "sirf,prima2-romif";
768 reg = <0x57a00000 0x100000>;
774 compatible = "sirf,prima2-rtciobg", "sirf-prima2-rtciobg-bus", "simple-bus";
775 #address-cells = <1>;
777 reg = <0x80030000 0x10000>;
780 compatible = "sirf,prima2-gpsrtc";
781 reg = <0x1000 0x1000>;
782 interrupts = <55 56 57>;
786 compatible = "sirf,prima2-sysrtc";
787 reg = <0x2000 0x1000>;
788 interrupts = <52 53 54>;
792 compatible = "sirf,prima2-minigpsrtc";
793 reg = <0x2000 0x1000>;
798 compatible = "sirf,prima2-pwrc";
799 reg = <0x3000 0x1000>;
805 compatible = "simple-bus";
806 #address-cells = <1>;
808 ranges = <0xb8000000 0xb8000000 0x40000>;
811 compatible = "chipidea,ci13611a-prima2";
812 reg = <0xb8000000 0x10000>;
818 compatible = "chipidea,ci13611a-prima2";
819 reg = <0xb8010000 0x10000>;
825 compatible = "synopsys,dwc-ahsata";
826 reg = <0xb8020000 0x10000>;
831 compatible = "sirf,prima2-security";
832 reg = <0xb8030000 0x10000>;