Loading...
1/*
2 * DTS file for all SPEAr13xx SoCs
3 *
4 * Copyright 2012 Viresh Kumar <vireshk@kernel.org>
5 *
6 * The code contained herein is licensed under the GNU General Public
7 * License. You may obtain a copy of the GNU General Public License
8 * Version 2 or later at the following locations:
9 *
10 * http://www.opensource.org/licenses/gpl-license.html
11 * http://www.gnu.org/copyleft/gpl.html
12 */
13
14/include/ "skeleton.dtsi"
15
16/ {
17 interrupt-parent = <&gic>;
18
19 cpus {
20 #address-cells = <1>;
21 #size-cells = <0>;
22
23 cpu@0 {
24 compatible = "arm,cortex-a9";
25 device_type = "cpu";
26 reg = <0>;
27 next-level-cache = <&L2>;
28 };
29
30 cpu@1 {
31 compatible = "arm,cortex-a9";
32 device_type = "cpu";
33 reg = <1>;
34 next-level-cache = <&L2>;
35 };
36 };
37
38 gic: interrupt-controller@ec801000 {
39 compatible = "arm,cortex-a9-gic";
40 interrupt-controller;
41 #interrupt-cells = <3>;
42 reg = < 0xec801000 0x1000 >,
43 < 0xec800100 0x0100 >;
44 };
45
46 pmu {
47 compatible = "arm,cortex-a9-pmu";
48 interrupts = <0 6 0x04
49 0 7 0x04>;
50 };
51
52 L2: l2-cache {
53 compatible = "arm,pl310-cache";
54 reg = <0xed000000 0x1000>;
55 cache-unified;
56 cache-level = <2>;
57 };
58
59 memory {
60 name = "memory";
61 device_type = "memory";
62 reg = <0 0x40000000>;
63 };
64
65 chosen {
66 bootargs = "console=ttyAMA0,115200";
67 };
68
69 cpufreq {
70 compatible = "st,cpufreq-spear";
71 cpufreq_tbl = < 166000
72 200000
73 250000
74 300000
75 400000
76 500000
77 600000 >;
78 status = "disabled";
79 };
80
81 ahb {
82 #address-cells = <1>;
83 #size-cells = <1>;
84 compatible = "simple-bus";
85 ranges = <0x50000000 0x50000000 0x10000000
86 0x80000000 0x80000000 0x20000000
87 0xb0000000 0xb0000000 0x22000000
88 0xd8000000 0xd8000000 0x01000000
89 0xe0000000 0xe0000000 0x10000000>;
90
91 sdhci@b3000000 {
92 compatible = "st,sdhci-spear";
93 reg = <0xb3000000 0x100>;
94 interrupts = <0 28 0x4>;
95 status = "disabled";
96 };
97
98 cf@b2800000 {
99 compatible = "arasan,cf-spear1340";
100 reg = <0xb2800000 0x1000>;
101 interrupts = <0 29 0x4>;
102 status = "disabled";
103 dmas = <&dwdma0 0 0 0>;
104 dma-names = "data";
105 };
106
107 dwdma0: dma@ea800000 {
108 compatible = "snps,dma-spear1340";
109 reg = <0xea800000 0x1000>;
110 interrupts = <0 19 0x4>;
111 status = "disabled";
112
113 dma-channels = <8>;
114 #dma-cells = <3>;
115 dma-requests = <32>;
116 chan_allocation_order = <1>;
117 chan_priority = <1>;
118 block_size = <0xfff>;
119 dma-masters = <2>;
120 data-width = <8 8>;
121 multi-block = <1 1 1 1 1 1 1 1>;
122 };
123
124 dma@eb000000 {
125 compatible = "snps,dma-spear1340";
126 reg = <0xeb000000 0x1000>;
127 interrupts = <0 59 0x4>;
128 status = "disabled";
129
130 dma-requests = <32>;
131 dma-channels = <8>;
132 dma-masters = <2>;
133 #dma-cells = <3>;
134 chan_allocation_order = <1>;
135 chan_priority = <1>;
136 block_size = <0xfff>;
137 data-width = <8 8>;
138 multi-block = <1 1 1 1 1 1 1 1>;
139 };
140
141 fsmc: flash@b0000000 {
142 compatible = "st,spear600-fsmc-nand";
143 #address-cells = <1>;
144 #size-cells = <1>;
145 reg = <0xb0000000 0x1000 /* FSMC Register*/
146 0xb0800000 0x0010 /* NAND Base DATA */
147 0xb0820000 0x0010 /* NAND Base ADDR */
148 0xb0810000 0x0010>; /* NAND Base CMD */
149 reg-names = "fsmc_regs", "nand_data", "nand_addr", "nand_cmd";
150 interrupts = <0 20 0x4
151 0 21 0x4
152 0 22 0x4
153 0 23 0x4>;
154 st,mode = <2>;
155 status = "disabled";
156 };
157
158 gmac0: eth@e2000000 {
159 compatible = "st,spear600-gmac";
160 reg = <0xe2000000 0x8000>;
161 interrupts = <0 33 0x4
162 0 34 0x4>;
163 interrupt-names = "macirq", "eth_wake_irq";
164 status = "disabled";
165 };
166
167 pcm {
168 compatible = "st,pcm-audio";
169 #address-cells = <0>;
170 #size-cells = <0>;
171 status = "disabled";
172 };
173
174 smi: flash@ea000000 {
175 compatible = "st,spear600-smi";
176 #address-cells = <1>;
177 #size-cells = <1>;
178 reg = <0xea000000 0x1000>;
179 interrupts = <0 30 0x4>;
180 status = "disabled";
181 };
182
183 ehci@e4800000 {
184 compatible = "st,spear600-ehci", "usb-ehci";
185 reg = <0xe4800000 0x1000>;
186 interrupts = <0 64 0x4>;
187 usbh0_id = <0>;
188 status = "disabled";
189 };
190
191 ehci@e5800000 {
192 compatible = "st,spear600-ehci", "usb-ehci";
193 reg = <0xe5800000 0x1000>;
194 interrupts = <0 66 0x4>;
195 usbh1_id = <1>;
196 status = "disabled";
197 };
198
199 ohci@e4000000 {
200 compatible = "st,spear600-ohci", "usb-ohci";
201 reg = <0xe4000000 0x1000>;
202 interrupts = <0 65 0x4>;
203 usbh0_id = <0>;
204 status = "disabled";
205 };
206
207 ohci@e5000000 {
208 compatible = "st,spear600-ohci", "usb-ohci";
209 reg = <0xe5000000 0x1000>;
210 interrupts = <0 67 0x4>;
211 usbh1_id = <1>;
212 status = "disabled";
213 };
214
215 apb {
216 #address-cells = <1>;
217 #size-cells = <1>;
218 compatible = "simple-bus";
219 ranges = <0x50000000 0x50000000 0x10000000
220 0xb0000000 0xb0000000 0x10000000
221 0xd0000000 0xd0000000 0x02000000
222 0xd8000000 0xd8000000 0x01000000
223 0xe0000000 0xe0000000 0x10000000>;
224
225 misc: syscon@e0700000 {
226 compatible = "st,spear1340-misc", "syscon";
227 reg = <0xe0700000 0x1000>;
228 };
229
230 gpio0: gpio@e0600000 {
231 compatible = "arm,pl061", "arm,primecell";
232 reg = <0xe0600000 0x1000>;
233 interrupts = <0 24 0x4>;
234 gpio-controller;
235 #gpio-cells = <2>;
236 interrupt-controller;
237 #interrupt-cells = <2>;
238 status = "disabled";
239 };
240
241 gpio1: gpio@e0680000 {
242 compatible = "arm,pl061", "arm,primecell";
243 reg = <0xe0680000 0x1000>;
244 interrupts = <0 25 0x4>;
245 gpio-controller;
246 #gpio-cells = <2>;
247 interrupt-controller;
248 #interrupt-cells = <2>;
249 status = "disabled";
250 };
251
252 kbd@e0300000 {
253 compatible = "st,spear300-kbd";
254 reg = <0xe0300000 0x1000>;
255 interrupts = <0 52 0x4>;
256 status = "disabled";
257 };
258
259 i2c0: i2c@e0280000 {
260 #address-cells = <1>;
261 #size-cells = <0>;
262 compatible = "snps,designware-i2c";
263 reg = <0xe0280000 0x1000>;
264 interrupts = <0 41 0x4>;
265 status = "disabled";
266 };
267
268 i2s@e0180000 {
269 compatible = "st,designware-i2s";
270 reg = <0xe0180000 0x1000>;
271 interrupt-names = "play_irq", "record_irq";
272 interrupts = <0 10 0x4
273 0 11 0x4 >;
274 status = "disabled";
275 };
276
277 i2s@e0200000 {
278 compatible = "st,designware-i2s";
279 reg = <0xe0200000 0x1000>;
280 interrupt-names = "play_irq", "record_irq";
281 interrupts = <0 26 0x4
282 0 53 0x4>;
283 status = "disabled";
284 };
285
286 spi0: spi@e0100000 {
287 compatible = "arm,pl022", "arm,primecell";
288 reg = <0xe0100000 0x1000>;
289 #address-cells = <1>;
290 #size-cells = <0>;
291 interrupts = <0 31 0x4>;
292 status = "disabled";
293 dmas = <&dwdma0 4 0 0>,
294 <&dwdma0 5 0 0>;
295 dma-names = "tx", "rx";
296 };
297
298 rtc@e0580000 {
299 compatible = "st,spear600-rtc";
300 reg = <0xe0580000 0x1000>;
301 interrupts = <0 36 0x4>;
302 status = "disabled";
303 };
304
305 serial@e0000000 {
306 compatible = "arm,pl011", "arm,primecell";
307 reg = <0xe0000000 0x1000>;
308 interrupts = <0 35 0x4>;
309 status = "disabled";
310 };
311
312 adc@e0080000 {
313 compatible = "st,spear600-adc";
314 reg = <0xe0080000 0x1000>;
315 interrupts = <0 12 0x4>;
316 status = "disabled";
317 };
318
319 timer@e0380000 {
320 compatible = "st,spear-timer";
321 reg = <0xe0380000 0x400>;
322 interrupts = <0 37 0x4>;
323 };
324
325 timer@ec800600 {
326 compatible = "arm,cortex-a9-twd-timer";
327 reg = <0xec800600 0x20>;
328 interrupts = <1 13 0x4>;
329 status = "disabled";
330 };
331
332 wdt@ec800620 {
333 compatible = "arm,cortex-a9-twd-wdt";
334 reg = <0xec800620 0x20>;
335 status = "disabled";
336 };
337
338 thermal@e07008c4 {
339 compatible = "st,thermal-spear1340";
340 reg = <0xe07008c4 0x4>;
341 thermal_flags = <0x7000>;
342 };
343 };
344 };
345};
1// SPDX-License-Identifier: GPL-2.0-or-later
2/*
3 * DTS file for all SPEAr13xx SoCs
4 *
5 * Copyright 2012 Viresh Kumar <vireshk@kernel.org>
6 */
7
8/ {
9 #address-cells = <1>;
10 #size-cells = <1>;
11 interrupt-parent = <&gic>;
12
13 cpus {
14 #address-cells = <1>;
15 #size-cells = <0>;
16
17 cpu@0 {
18 compatible = "arm,cortex-a9";
19 device_type = "cpu";
20 reg = <0>;
21 next-level-cache = <&L2>;
22 };
23
24 cpu@1 {
25 compatible = "arm,cortex-a9";
26 device_type = "cpu";
27 reg = <1>;
28 next-level-cache = <&L2>;
29 };
30 };
31
32 gic: interrupt-controller@ec801000 {
33 compatible = "arm,cortex-a9-gic";
34 interrupt-controller;
35 #interrupt-cells = <3>;
36 reg = < 0xec801000 0x1000 >,
37 < 0xec800100 0x0100 >;
38 };
39
40 pmu {
41 compatible = "arm,cortex-a9-pmu";
42 interrupts = <0 6 0x04
43 0 7 0x04>;
44 };
45
46 L2: cache-controller {
47 compatible = "arm,pl310-cache";
48 reg = <0xed000000 0x1000>;
49 cache-unified;
50 cache-level = <2>;
51 };
52
53 memory {
54 name = "memory";
55 device_type = "memory";
56 reg = <0 0x40000000>;
57 };
58
59 chosen {
60 bootargs = "console=ttyAMA0,115200";
61 };
62
63 cpufreq {
64 compatible = "st,cpufreq-spear";
65 cpufreq_tbl = < 166000
66 200000
67 250000
68 300000
69 400000
70 500000
71 600000 >;
72 status = "disabled";
73 };
74
75 ahb {
76 #address-cells = <1>;
77 #size-cells = <1>;
78 compatible = "simple-bus";
79 ranges = <0x50000000 0x50000000 0x10000000
80 0x80000000 0x80000000 0x20000000
81 0xb0000000 0xb0000000 0x22000000
82 0xd8000000 0xd8000000 0x01000000
83 0xe0000000 0xe0000000 0x10000000>;
84
85 sdhci@b3000000 {
86 compatible = "st,sdhci-spear";
87 reg = <0xb3000000 0x100>;
88 interrupts = <0 28 0x4>;
89 status = "disabled";
90 };
91
92 cf@b2800000 {
93 compatible = "arasan,cf-spear1340";
94 reg = <0xb2800000 0x1000>;
95 interrupts = <0 29 0x4>;
96 status = "disabled";
97 dmas = <&dwdma0 0 0 0>;
98 dma-names = "data";
99 };
100
101 dwdma0: dma@ea800000 {
102 compatible = "snps,dma-spear1340";
103 reg = <0xea800000 0x1000>;
104 interrupts = <0 19 0x4>;
105 status = "disabled";
106
107 dma-channels = <8>;
108 #dma-cells = <3>;
109 dma-requests = <32>;
110 chan_allocation_order = <1>;
111 chan_priority = <1>;
112 block_size = <0xfff>;
113 dma-masters = <2>;
114 data-width = <8 8>;
115 multi-block = <1 1 1 1 1 1 1 1>;
116 };
117
118 dma@eb000000 {
119 compatible = "snps,dma-spear1340";
120 reg = <0xeb000000 0x1000>;
121 interrupts = <0 59 0x4>;
122 status = "disabled";
123
124 dma-requests = <32>;
125 dma-channels = <8>;
126 dma-masters = <2>;
127 #dma-cells = <3>;
128 chan_allocation_order = <1>;
129 chan_priority = <1>;
130 block_size = <0xfff>;
131 data-width = <8 8>;
132 multi-block = <1 1 1 1 1 1 1 1>;
133 };
134
135 fsmc: flash@b0000000 {
136 compatible = "st,spear600-fsmc-nand";
137 #address-cells = <1>;
138 #size-cells = <1>;
139 reg = <0xb0000000 0x1000 /* FSMC Register*/
140 0xb0800000 0x0010 /* NAND Base DATA */
141 0xb0820000 0x0010 /* NAND Base ADDR */
142 0xb0810000 0x0010>; /* NAND Base CMD */
143 reg-names = "fsmc_regs", "nand_data", "nand_addr", "nand_cmd";
144 interrupts = <0 20 0x4
145 0 21 0x4
146 0 22 0x4
147 0 23 0x4>;
148 st,mode = <2>;
149 status = "disabled";
150 };
151
152 gmac0: eth@e2000000 {
153 compatible = "st,spear600-gmac";
154 reg = <0xe2000000 0x8000>;
155 interrupts = <0 33 0x4
156 0 34 0x4>;
157 interrupt-names = "macirq", "eth_wake_irq";
158 status = "disabled";
159 };
160
161 pcm {
162 compatible = "st,pcm-audio";
163 #address-cells = <0>;
164 #size-cells = <0>;
165 status = "disabled";
166 };
167
168 smi: flash@ea000000 {
169 compatible = "st,spear600-smi";
170 #address-cells = <1>;
171 #size-cells = <1>;
172 reg = <0xea000000 0x1000>;
173 interrupts = <0 30 0x4>;
174 status = "disabled";
175 };
176
177 ehci@e4800000 {
178 compatible = "st,spear600-ehci", "usb-ehci";
179 reg = <0xe4800000 0x1000>;
180 interrupts = <0 64 0x4>;
181 usbh0_id = <0>;
182 status = "disabled";
183 };
184
185 ehci@e5800000 {
186 compatible = "st,spear600-ehci", "usb-ehci";
187 reg = <0xe5800000 0x1000>;
188 interrupts = <0 66 0x4>;
189 usbh1_id = <1>;
190 status = "disabled";
191 };
192
193 ohci@e4000000 {
194 compatible = "st,spear600-ohci", "usb-ohci";
195 reg = <0xe4000000 0x1000>;
196 interrupts = <0 65 0x4>;
197 usbh0_id = <0>;
198 status = "disabled";
199 };
200
201 ohci@e5000000 {
202 compatible = "st,spear600-ohci", "usb-ohci";
203 reg = <0xe5000000 0x1000>;
204 interrupts = <0 67 0x4>;
205 usbh1_id = <1>;
206 status = "disabled";
207 };
208
209 apb {
210 #address-cells = <1>;
211 #size-cells = <1>;
212 compatible = "simple-bus";
213 ranges = <0x50000000 0x50000000 0x10000000
214 0xb0000000 0xb0000000 0x10000000
215 0xd0000000 0xd0000000 0x02000000
216 0xd8000000 0xd8000000 0x01000000
217 0xe0000000 0xe0000000 0x10000000>;
218
219 misc: syscon@e0700000 {
220 compatible = "st,spear1340-misc", "syscon";
221 reg = <0xe0700000 0x1000>;
222 };
223
224 gpio0: gpio@e0600000 {
225 compatible = "arm,pl061", "arm,primecell";
226 reg = <0xe0600000 0x1000>;
227 interrupts = <0 24 0x4>;
228 gpio-controller;
229 #gpio-cells = <2>;
230 interrupt-controller;
231 #interrupt-cells = <2>;
232 status = "disabled";
233 };
234
235 gpio1: gpio@e0680000 {
236 compatible = "arm,pl061", "arm,primecell";
237 reg = <0xe0680000 0x1000>;
238 interrupts = <0 25 0x4>;
239 gpio-controller;
240 #gpio-cells = <2>;
241 interrupt-controller;
242 #interrupt-cells = <2>;
243 status = "disabled";
244 };
245
246 kbd@e0300000 {
247 compatible = "st,spear300-kbd";
248 reg = <0xe0300000 0x1000>;
249 interrupts = <0 52 0x4>;
250 status = "disabled";
251 };
252
253 i2c0: i2c@e0280000 {
254 #address-cells = <1>;
255 #size-cells = <0>;
256 compatible = "snps,designware-i2c";
257 reg = <0xe0280000 0x1000>;
258 interrupts = <0 41 0x4>;
259 status = "disabled";
260 };
261
262 i2s@e0180000 {
263 compatible = "st,designware-i2s";
264 reg = <0xe0180000 0x1000>;
265 interrupt-names = "play_irq", "record_irq";
266 interrupts = <0 10 0x4
267 0 11 0x4 >;
268 status = "disabled";
269 };
270
271 i2s@e0200000 {
272 compatible = "st,designware-i2s";
273 reg = <0xe0200000 0x1000>;
274 interrupt-names = "play_irq", "record_irq";
275 interrupts = <0 26 0x4
276 0 53 0x4>;
277 status = "disabled";
278 };
279
280 spi0: spi@e0100000 {
281 compatible = "arm,pl022", "arm,primecell";
282 reg = <0xe0100000 0x1000>;
283 #address-cells = <1>;
284 #size-cells = <0>;
285 interrupts = <0 31 0x4>;
286 status = "disabled";
287 dmas = <&dwdma0 4 0 0>,
288 <&dwdma0 5 0 0>;
289 dma-names = "tx", "rx";
290 };
291
292 rtc@e0580000 {
293 compatible = "st,spear600-rtc";
294 reg = <0xe0580000 0x1000>;
295 interrupts = <0 36 0x4>;
296 status = "disabled";
297 };
298
299 serial@e0000000 {
300 compatible = "arm,pl011", "arm,primecell";
301 reg = <0xe0000000 0x1000>;
302 interrupts = <0 35 0x4>;
303 status = "disabled";
304 };
305
306 adc@e0080000 {
307 compatible = "st,spear600-adc";
308 reg = <0xe0080000 0x1000>;
309 interrupts = <0 12 0x4>;
310 status = "disabled";
311 };
312
313 timer@e0380000 {
314 compatible = "st,spear-timer";
315 reg = <0xe0380000 0x400>;
316 interrupts = <0 37 0x4>;
317 };
318
319 timer@ec800600 {
320 compatible = "arm,cortex-a9-twd-timer";
321 reg = <0xec800600 0x20>;
322 interrupts = <1 13 0x4>;
323 status = "disabled";
324 };
325
326 wdt@ec800620 {
327 compatible = "arm,cortex-a9-twd-wdt";
328 reg = <0xec800620 0x20>;
329 status = "disabled";
330 };
331
332 thermal@e07008c4 {
333 compatible = "st,thermal-spear1340";
334 reg = <0xe07008c4 0x4>;
335 thermal_flags = <0x7000>;
336 };
337 };
338 };
339};