0001 // SPDX-License-Identifier: GPL-2.0-or-later
0002 /*
0003 * DTS file for all SPEAr13xx SoCs
0004 *
0005 * Copyright 2012 Viresh Kumar <vireshk@kernel.org>
0006 */
0007
0008 / {
0009 #address-cells = <1>;
0010 #size-cells = <1>;
0011 interrupt-parent = <&gic>;
0012
0013 cpus {
0014 #address-cells = <1>;
0015 #size-cells = <0>;
0016
0017 cpu@0 {
0018 compatible = "arm,cortex-a9";
0019 device_type = "cpu";
0020 reg = <0>;
0021 next-level-cache = <&L2>;
0022 };
0023
0024 cpu@1 {
0025 compatible = "arm,cortex-a9";
0026 device_type = "cpu";
0027 reg = <1>;
0028 next-level-cache = <&L2>;
0029 };
0030 };
0031
0032 gic: interrupt-controller@ec801000 {
0033 compatible = "arm,cortex-a9-gic";
0034 interrupt-controller;
0035 #interrupt-cells = <3>;
0036 reg = < 0xec801000 0x1000 >,
0037 < 0xec800100 0x0100 >;
0038 };
0039
0040 pmu {
0041 compatible = "arm,cortex-a9-pmu";
0042 interrupts = <0 6 0x04
0043 0 7 0x04>;
0044 };
0045
0046 L2: cache-controller {
0047 compatible = "arm,pl310-cache";
0048 reg = <0xed000000 0x1000>;
0049 cache-unified;
0050 cache-level = <2>;
0051 };
0052
0053 memory {
0054 name = "memory";
0055 device_type = "memory";
0056 reg = <0 0x40000000>;
0057 };
0058
0059 chosen {
0060 bootargs = "console=ttyAMA0,115200";
0061 };
0062
0063 cpufreq {
0064 compatible = "st,cpufreq-spear";
0065 cpufreq_tbl = < 166000
0066 200000
0067 250000
0068 300000
0069 400000
0070 500000
0071 600000 >;
0072 status = "disabled";
0073 };
0074
0075 ahb {
0076 #address-cells = <1>;
0077 #size-cells = <1>;
0078 compatible = "simple-bus";
0079 ranges = <0x50000000 0x50000000 0x10000000
0080 0x80000000 0x80000000 0x20000000
0081 0xb0000000 0xb0000000 0x22000000
0082 0xd8000000 0xd8000000 0x01000000
0083 0xe0000000 0xe0000000 0x10000000>;
0084
0085 sdhci@b3000000 {
0086 compatible = "st,sdhci-spear";
0087 reg = <0xb3000000 0x100>;
0088 interrupts = <0 28 0x4>;
0089 status = "disabled";
0090 };
0091
0092 cf@b2800000 {
0093 compatible = "arasan,cf-spear1340";
0094 reg = <0xb2800000 0x1000>;
0095 interrupts = <0 29 0x4>;
0096 status = "disabled";
0097 dmas = <&dwdma0 0 0 0>;
0098 dma-names = "data";
0099 };
0100
0101 dwdma0: dma@ea800000 {
0102 compatible = "snps,dma-spear1340";
0103 reg = <0xea800000 0x1000>;
0104 interrupts = <0 19 0x4>;
0105 status = "disabled";
0106
0107 dma-channels = <8>;
0108 #dma-cells = <3>;
0109 dma-requests = <32>;
0110 chan_allocation_order = <1>;
0111 chan_priority = <1>;
0112 block_size = <0xfff>;
0113 dma-masters = <2>;
0114 data-width = <8 8>;
0115 multi-block = <1 1 1 1 1 1 1 1>;
0116 };
0117
0118 dma@eb000000 {
0119 compatible = "snps,dma-spear1340";
0120 reg = <0xeb000000 0x1000>;
0121 interrupts = <0 59 0x4>;
0122 status = "disabled";
0123
0124 dma-requests = <32>;
0125 dma-channels = <8>;
0126 dma-masters = <2>;
0127 #dma-cells = <3>;
0128 chan_allocation_order = <1>;
0129 chan_priority = <1>;
0130 block_size = <0xfff>;
0131 data-width = <8 8>;
0132 multi-block = <1 1 1 1 1 1 1 1>;
0133 };
0134
0135 fsmc: flash@b0000000 {
0136 compatible = "st,spear600-fsmc-nand";
0137 #address-cells = <1>;
0138 #size-cells = <1>;
0139 reg = <0xb0000000 0x1000 /* FSMC Register*/
0140 0xb0800000 0x0010 /* NAND Base DATA */
0141 0xb0820000 0x0010 /* NAND Base ADDR */
0142 0xb0810000 0x0010>; /* NAND Base CMD */
0143 reg-names = "fsmc_regs", "nand_data", "nand_addr", "nand_cmd";
0144 interrupts = <0 20 0x4
0145 0 21 0x4
0146 0 22 0x4
0147 0 23 0x4>;
0148 st,mode = <2>;
0149 status = "disabled";
0150 };
0151
0152 gmac0: eth@e2000000 {
0153 compatible = "st,spear600-gmac";
0154 reg = <0xe2000000 0x8000>;
0155 interrupts = <0 33 0x4
0156 0 34 0x4>;
0157 interrupt-names = "macirq", "eth_wake_irq";
0158 status = "disabled";
0159 };
0160
0161 pcm {
0162 compatible = "st,pcm-audio";
0163 #address-cells = <0>;
0164 #size-cells = <0>;
0165 status = "disabled";
0166 };
0167
0168 smi: flash@ea000000 {
0169 compatible = "st,spear600-smi";
0170 #address-cells = <1>;
0171 #size-cells = <1>;
0172 reg = <0xea000000 0x1000>;
0173 interrupts = <0 30 0x4>;
0174 status = "disabled";
0175 };
0176
0177 ehci@e4800000 {
0178 compatible = "st,spear600-ehci", "usb-ehci";
0179 reg = <0xe4800000 0x1000>;
0180 interrupts = <0 64 0x4>;
0181 usbh0_id = <0>;
0182 status = "disabled";
0183 };
0184
0185 ehci@e5800000 {
0186 compatible = "st,spear600-ehci", "usb-ehci";
0187 reg = <0xe5800000 0x1000>;
0188 interrupts = <0 66 0x4>;
0189 usbh1_id = <1>;
0190 status = "disabled";
0191 };
0192
0193 ohci@e4000000 {
0194 compatible = "st,spear600-ohci", "usb-ohci";
0195 reg = <0xe4000000 0x1000>;
0196 interrupts = <0 65 0x4>;
0197 usbh0_id = <0>;
0198 status = "disabled";
0199 };
0200
0201 ohci@e5000000 {
0202 compatible = "st,spear600-ohci", "usb-ohci";
0203 reg = <0xe5000000 0x1000>;
0204 interrupts = <0 67 0x4>;
0205 usbh1_id = <1>;
0206 status = "disabled";
0207 };
0208
0209 apb {
0210 #address-cells = <1>;
0211 #size-cells = <1>;
0212 compatible = "simple-bus";
0213 ranges = <0x50000000 0x50000000 0x10000000
0214 0xb0000000 0xb0000000 0x10000000
0215 0xd0000000 0xd0000000 0x02000000
0216 0xd8000000 0xd8000000 0x01000000
0217 0xe0000000 0xe0000000 0x10000000>;
0218
0219 misc: syscon@e0700000 {
0220 compatible = "st,spear1340-misc", "syscon";
0221 reg = <0xe0700000 0x1000>;
0222 };
0223
0224 gpio0: gpio@e0600000 {
0225 compatible = "arm,pl061", "arm,primecell";
0226 reg = <0xe0600000 0x1000>;
0227 interrupts = <0 24 0x4>;
0228 gpio-controller;
0229 #gpio-cells = <2>;
0230 interrupt-controller;
0231 #interrupt-cells = <2>;
0232 status = "disabled";
0233 };
0234
0235 gpio1: gpio@e0680000 {
0236 compatible = "arm,pl061", "arm,primecell";
0237 reg = <0xe0680000 0x1000>;
0238 interrupts = <0 25 0x4>;
0239 gpio-controller;
0240 #gpio-cells = <2>;
0241 interrupt-controller;
0242 #interrupt-cells = <2>;
0243 status = "disabled";
0244 };
0245
0246 kbd@e0300000 {
0247 compatible = "st,spear300-kbd";
0248 reg = <0xe0300000 0x1000>;
0249 interrupts = <0 52 0x4>;
0250 status = "disabled";
0251 };
0252
0253 i2c0: i2c@e0280000 {
0254 #address-cells = <1>;
0255 #size-cells = <0>;
0256 compatible = "snps,designware-i2c";
0257 reg = <0xe0280000 0x1000>;
0258 interrupts = <0 41 0x4>;
0259 status = "disabled";
0260 };
0261
0262 i2s@e0180000 {
0263 compatible = "st,designware-i2s";
0264 reg = <0xe0180000 0x1000>;
0265 interrupt-names = "play_irq", "record_irq";
0266 interrupts = <0 10 0x4
0267 0 11 0x4 >;
0268 status = "disabled";
0269 };
0270
0271 i2s@e0200000 {
0272 compatible = "st,designware-i2s";
0273 reg = <0xe0200000 0x1000>;
0274 interrupt-names = "play_irq", "record_irq";
0275 interrupts = <0 26 0x4
0276 0 53 0x4>;
0277 status = "disabled";
0278 };
0279
0280 spi0: spi@e0100000 {
0281 compatible = "arm,pl022", "arm,primecell";
0282 reg = <0xe0100000 0x1000>;
0283 #address-cells = <1>;
0284 #size-cells = <0>;
0285 interrupts = <0 31 0x4>;
0286 status = "disabled";
0287 dmas = <&dwdma0 5 0 0>,
0288 <&dwdma0 4 0 0>;
0289 dma-names = "rx", "tx";
0290 };
0291
0292 rtc@e0580000 {
0293 compatible = "st,spear600-rtc";
0294 reg = <0xe0580000 0x1000>;
0295 interrupts = <0 36 0x4>;
0296 status = "disabled";
0297 };
0298
0299 serial@e0000000 {
0300 compatible = "arm,pl011", "arm,primecell";
0301 reg = <0xe0000000 0x1000>;
0302 interrupts = <0 35 0x4>;
0303 status = "disabled";
0304 };
0305
0306 adc@e0080000 {
0307 compatible = "st,spear600-adc";
0308 reg = <0xe0080000 0x1000>;
0309 interrupts = <0 12 0x4>;
0310 status = "disabled";
0311 };
0312
0313 timer@e0380000 {
0314 compatible = "st,spear-timer";
0315 reg = <0xe0380000 0x400>;
0316 interrupts = <0 37 0x4>;
0317 };
0318
0319 timer@ec800600 {
0320 compatible = "arm,cortex-a9-twd-timer";
0321 reg = <0xec800600 0x20>;
0322 interrupts = <1 13 0x4>;
0323 status = "disabled";
0324 };
0325
0326 wdt@ec800620 {
0327 compatible = "arm,cortex-a9-twd-wdt";
0328 reg = <0xec800620 0x20>;
0329 status = "disabled";
0330 };
0331
0332 thermal@e07008c4 {
0333 compatible = "st,thermal-spear1340";
0334 reg = <0xe07008c4 0x4>;
0335 thermal_flags = <0x7000>;
0336 };
0337 };
0338 };
0339 };