diff options
author | Paul Mundt <lethal@linux-sh.org> | 2011-08-08 03:41:23 -0400 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2011-08-08 03:41:23 -0400 |
commit | 4791d63bd40ec63c533060707dae0232b9969dc0 (patch) | |
tree | 8e10fe91cea556c10f7d211b65c5f6bdd7ffeb55 /arch/arm/boot | |
parent | b3623080ff6974e696710b6c6eb4cdbf2bbab347 (diff) | |
parent | 322a8b034003c0d46d39af85bf24fee27b902f48 (diff) |
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux into rmobile-latest
Diffstat (limited to 'arch/arm/boot')
-rw-r--r-- | arch/arm/boot/Makefile | 6 | ||||
-rw-r--r-- | arch/arm/boot/dts/prima2-cb.dts | 416 | ||||
-rw-r--r-- | arch/arm/boot/dts/skeleton.dtsi | 13 | ||||
-rw-r--r-- | arch/arm/boot/dts/tegra-harmony.dts | 70 | ||||
-rw-r--r-- | arch/arm/boot/dts/tegra-seaboard.dts | 28 | ||||
-rw-r--r-- | arch/arm/boot/dts/tegra20.dtsi | 139 | ||||
-rw-r--r-- | arch/arm/boot/dts/versatile-ab.dts | 192 | ||||
-rw-r--r-- | arch/arm/boot/dts/versatile-pb.dts | 48 | ||||
-rw-r--r-- | arch/arm/boot/dts/zynq-ep107.dts | 52 |
9 files changed, 964 insertions, 0 deletions
diff --git a/arch/arm/boot/Makefile b/arch/arm/boot/Makefile index 9128fddf1109..a1edfd5a129a 100644 --- a/arch/arm/boot/Makefile +++ b/arch/arm/boot/Makefile | |||
@@ -59,6 +59,12 @@ $(obj)/zImage: $(obj)/compressed/vmlinux FORCE | |||
59 | 59 | ||
60 | endif | 60 | endif |
61 | 61 | ||
62 | # Rule to build device tree blobs | ||
63 | $(obj)/%.dtb: $(src)/dts/%.dts | ||
64 | $(call cmd,dtc) | ||
65 | |||
66 | $(obj)/dtbs: $(addprefix $(obj)/, $(dtb-y)) | ||
67 | |||
62 | quiet_cmd_uimage = UIMAGE $@ | 68 | quiet_cmd_uimage = UIMAGE $@ |
63 | cmd_uimage = $(CONFIG_SHELL) $(MKIMAGE) -A arm -O linux -T kernel \ | 69 | cmd_uimage = $(CONFIG_SHELL) $(MKIMAGE) -A arm -O linux -T kernel \ |
64 | -C none -a $(LOADADDR) -e $(STARTADDR) \ | 70 | -C none -a $(LOADADDR) -e $(STARTADDR) \ |
diff --git a/arch/arm/boot/dts/prima2-cb.dts b/arch/arm/boot/dts/prima2-cb.dts new file mode 100644 index 000000000000..6fecc88065b2 --- /dev/null +++ b/arch/arm/boot/dts/prima2-cb.dts | |||
@@ -0,0 +1,416 @@ | |||
1 | /dts-v1/; | ||
2 | / { | ||
3 | model = "SiRF Prima2 eVB"; | ||
4 | compatible = "sirf,prima2-cb", "sirf,prima2"; | ||
5 | #address-cells = <1>; | ||
6 | #size-cells = <1>; | ||
7 | interrupt-parent = <&intc>; | ||
8 | |||
9 | memory { | ||
10 | reg = <0x00000000 0x20000000>; | ||
11 | }; | ||
12 | |||
13 | chosen { | ||
14 | bootargs = "mem=512M real_root=/dev/mmcblk0p2 console=ttyS0 panel=1 bootsplash=true bpp=16 androidboot.console=ttyS1"; | ||
15 | linux,stdout-path = &uart1; | ||
16 | }; | ||
17 | |||
18 | cpus { | ||
19 | #address-cells = <1>; | ||
20 | #size-cells = <0>; | ||
21 | |||
22 | cpu@0 { | ||
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"; | ||
43 | reg = <0x80040000 0x1000>; | ||
44 | interrupts = <59>; | ||
45 | }; | ||
46 | |||
47 | intc: interrupt-controller@80020000 { | ||
48 | #interrupt-cells = <1>; | ||
49 | interrupt-controller; | ||
50 | compatible = "sirf,prima2-intc"; | ||
51 | reg = <0x80020000 0x1000>; | ||
52 | }; | ||
53 | |||
54 | sys-iobg { | ||
55 | compatible = "simple-bus"; | ||
56 | #address-cells = <1>; | ||
57 | #size-cells = <1>; | ||
58 | ranges = <0x88000000 0x88000000 0x40000>; | ||
59 | |||
60 | clock-controller@88000000 { | ||
61 | compatible = "sirf,prima2-clkc"; | ||
62 | reg = <0x88000000 0x1000>; | ||
63 | interrupts = <3>; | ||
64 | }; | ||
65 | |||
66 | reset-controller@88010000 { | ||
67 | compatible = "sirf,prima2-rstc"; | ||
68 | reg = <0x88010000 0x1000>; | ||
69 | }; | ||
70 | }; | ||
71 | |||
72 | mem-iobg { | ||
73 | compatible = "simple-bus"; | ||
74 | #address-cells = <1>; | ||
75 | #size-cells = <1>; | ||
76 | ranges = <0x90000000 0x90000000 0x10000>; | ||
77 | |||
78 | memory-controller@90000000 { | ||
79 | compatible = "sirf,prima2-memc"; | ||
80 | reg = <0x90000000 0x10000>; | ||
81 | interrupts = <27>; | ||
82 | }; | ||
83 | }; | ||
84 | |||
85 | disp-iobg { | ||
86 | compatible = "simple-bus"; | ||
87 | #address-cells = <1>; | ||
88 | #size-cells = <1>; | ||
89 | ranges = <0x90010000 0x90010000 0x30000>; | ||
90 | |||
91 | display@90010000 { | ||
92 | compatible = "sirf,prima2-lcd"; | ||
93 | reg = <0x90010000 0x20000>; | ||
94 | interrupts = <30>; | ||
95 | }; | ||
96 | |||
97 | vpp@90020000 { | ||
98 | compatible = "sirf,prima2-vpp"; | ||
99 | reg = <0x90020000 0x10000>; | ||
100 | interrupts = <31>; | ||
101 | }; | ||
102 | }; | ||
103 | |||
104 | graphics-iobg { | ||
105 | compatible = "simple-bus"; | ||
106 | #address-cells = <1>; | ||
107 | #size-cells = <1>; | ||
108 | ranges = <0x98000000 0x98000000 0x8000000>; | ||
109 | |||
110 | graphics@98000000 { | ||
111 | compatible = "powervr,sgx531"; | ||
112 | reg = <0x98000000 0x8000000>; | ||
113 | interrupts = <6>; | ||
114 | }; | ||
115 | }; | ||
116 | |||
117 | multimedia-iobg { | ||
118 | compatible = "simple-bus"; | ||
119 | #address-cells = <1>; | ||
120 | #size-cells = <1>; | ||
121 | ranges = <0xa0000000 0xa0000000 0x8000000>; | ||
122 | |||
123 | multimedia@a0000000 { | ||
124 | compatible = "sirf,prima2-video-codec"; | ||
125 | reg = <0xa0000000 0x8000000>; | ||
126 | interrupts = <5>; | ||
127 | }; | ||
128 | }; | ||
129 | |||
130 | dsp-iobg { | ||
131 | compatible = "simple-bus"; | ||
132 | #address-cells = <1>; | ||
133 | #size-cells = <1>; | ||
134 | ranges = <0xa8000000 0xa8000000 0x2000000>; | ||
135 | |||
136 | dspif@a8000000 { | ||
137 | compatible = "sirf,prima2-dspif"; | ||
138 | reg = <0xa8000000 0x10000>; | ||
139 | interrupts = <9>; | ||
140 | }; | ||
141 | |||
142 | gps@a8010000 { | ||
143 | compatible = "sirf,prima2-gps"; | ||
144 | reg = <0xa8010000 0x10000>; | ||
145 | interrupts = <7>; | ||
146 | }; | ||
147 | |||
148 | dsp@a9000000 { | ||
149 | compatible = "sirf,prima2-dsp"; | ||
150 | reg = <0xa9000000 0x1000000>; | ||
151 | interrupts = <8>; | ||
152 | }; | ||
153 | }; | ||
154 | |||
155 | peri-iobg { | ||
156 | compatible = "simple-bus"; | ||
157 | #address-cells = <1>; | ||
158 | #size-cells = <1>; | ||
159 | ranges = <0xb0000000 0xb0000000 0x180000>; | ||
160 | |||
161 | timer@b0020000 { | ||
162 | compatible = "sirf,prima2-tick"; | ||
163 | reg = <0xb0020000 0x1000>; | ||
164 | interrupts = <0>; | ||
165 | }; | ||
166 | |||
167 | nand@b0030000 { | ||
168 | compatible = "sirf,prima2-nand"; | ||
169 | reg = <0xb0030000 0x10000>; | ||
170 | interrupts = <41>; | ||
171 | }; | ||
172 | |||
173 | audio@b0040000 { | ||
174 | compatible = "sirf,prima2-audio"; | ||
175 | reg = <0xb0040000 0x10000>; | ||
176 | interrupts = <35>; | ||
177 | }; | ||
178 | |||
179 | uart0: uart@b0050000 { | ||
180 | cell-index = <0>; | ||
181 | compatible = "sirf,prima2-uart"; | ||
182 | reg = <0xb0050000 0x10000>; | ||
183 | interrupts = <17>; | ||
184 | }; | ||
185 | |||
186 | uart1: uart@b0060000 { | ||
187 | cell-index = <1>; | ||
188 | compatible = "sirf,prima2-uart"; | ||
189 | reg = <0xb0060000 0x10000>; | ||
190 | interrupts = <18>; | ||
191 | }; | ||
192 | |||
193 | uart2: uart@b0070000 { | ||
194 | cell-index = <2>; | ||
195 | compatible = "sirf,prima2-uart"; | ||
196 | reg = <0xb0070000 0x10000>; | ||
197 | interrupts = <19>; | ||
198 | }; | ||
199 | |||
200 | usp0: usp@b0080000 { | ||
201 | cell-index = <0>; | ||
202 | compatible = "sirf,prima2-usp"; | ||
203 | reg = <0xb0080000 0x10000>; | ||
204 | interrupts = <20>; | ||
205 | }; | ||
206 | |||
207 | usp1: usp@b0090000 { | ||
208 | cell-index = <1>; | ||
209 | compatible = "sirf,prima2-usp"; | ||
210 | reg = <0xb0090000 0x10000>; | ||
211 | interrupts = <21>; | ||
212 | }; | ||
213 | |||
214 | usp2: usp@b00a0000 { | ||
215 | cell-index = <2>; | ||
216 | compatible = "sirf,prima2-usp"; | ||
217 | reg = <0xb00a0000 0x10000>; | ||
218 | interrupts = <22>; | ||
219 | }; | ||
220 | |||
221 | dmac0: dma-controller@b00b0000 { | ||
222 | cell-index = <0>; | ||
223 | compatible = "sirf,prima2-dmac"; | ||
224 | reg = <0xb00b0000 0x10000>; | ||
225 | interrupts = <12>; | ||
226 | }; | ||
227 | |||
228 | dmac1: dma-controller@b0160000 { | ||
229 | cell-index = <1>; | ||
230 | compatible = "sirf,prima2-dmac"; | ||
231 | reg = <0xb0160000 0x10000>; | ||
232 | interrupts = <13>; | ||
233 | }; | ||
234 | |||
235 | vip@b00C0000 { | ||
236 | compatible = "sirf,prima2-vip"; | ||
237 | reg = <0xb00C0000 0x10000>; | ||
238 | }; | ||
239 | |||
240 | spi0: spi@b00d0000 { | ||
241 | cell-index = <0>; | ||
242 | compatible = "sirf,prima2-spi"; | ||
243 | reg = <0xb00d0000 0x10000>; | ||
244 | interrupts = <15>; | ||
245 | }; | ||
246 | |||
247 | spi1: spi@b0170000 { | ||
248 | cell-index = <1>; | ||
249 | compatible = "sirf,prima2-spi"; | ||
250 | reg = <0xb0170000 0x10000>; | ||
251 | interrupts = <16>; | ||
252 | }; | ||
253 | |||
254 | i2c0: i2c@b00e0000 { | ||
255 | cell-index = <0>; | ||
256 | compatible = "sirf,prima2-i2c"; | ||
257 | reg = <0xb00e0000 0x10000>; | ||
258 | interrupts = <24>; | ||
259 | }; | ||
260 | |||
261 | i2c1: i2c@b00f0000 { | ||
262 | cell-index = <1>; | ||
263 | compatible = "sirf,prima2-i2c"; | ||
264 | reg = <0xb00f0000 0x10000>; | ||
265 | interrupts = <25>; | ||
266 | }; | ||
267 | |||
268 | tsc@b0110000 { | ||
269 | compatible = "sirf,prima2-tsc"; | ||
270 | reg = <0xb0110000 0x10000>; | ||
271 | interrupts = <33>; | ||
272 | }; | ||
273 | |||
274 | gpio: gpio-controller@b0120000 { | ||
275 | #gpio-cells = <2>; | ||
276 | #interrupt-cells = <2>; | ||
277 | compatible = "sirf,prima2-gpio"; | ||
278 | reg = <0xb0120000 0x10000>; | ||
279 | gpio-controller; | ||
280 | interrupt-controller; | ||
281 | }; | ||
282 | |||
283 | pwm@b0130000 { | ||
284 | compatible = "sirf,prima2-pwm"; | ||
285 | reg = <0xb0130000 0x10000>; | ||
286 | }; | ||
287 | |||
288 | efusesys@b0140000 { | ||
289 | compatible = "sirf,prima2-efuse"; | ||
290 | reg = <0xb0140000 0x10000>; | ||
291 | }; | ||
292 | |||
293 | pulsec@b0150000 { | ||
294 | compatible = "sirf,prima2-pulsec"; | ||
295 | reg = <0xb0150000 0x10000>; | ||
296 | interrupts = <48>; | ||
297 | }; | ||
298 | |||
299 | pci-iobg { | ||
300 | compatible = "sirf,prima2-pciiobg", "simple-bus"; | ||
301 | #address-cells = <1>; | ||
302 | #size-cells = <1>; | ||
303 | ranges = <0x56000000 0x56000000 0x1b00000>; | ||
304 | |||
305 | sd0: sdhci@56000000 { | ||
306 | cell-index = <0>; | ||
307 | compatible = "sirf,prima2-sdhc"; | ||
308 | reg = <0x56000000 0x100000>; | ||
309 | interrupts = <38>; | ||
310 | }; | ||
311 | |||
312 | sd1: sdhci@56100000 { | ||
313 | cell-index = <1>; | ||
314 | compatible = "sirf,prima2-sdhc"; | ||
315 | reg = <0x56100000 0x100000>; | ||
316 | interrupts = <38>; | ||
317 | }; | ||
318 | |||
319 | sd2: sdhci@56200000 { | ||
320 | cell-index = <2>; | ||
321 | compatible = "sirf,prima2-sdhc"; | ||
322 | reg = <0x56200000 0x100000>; | ||
323 | interrupts = <23>; | ||
324 | }; | ||
325 | |||
326 | sd3: sdhci@56300000 { | ||
327 | cell-index = <3>; | ||
328 | compatible = "sirf,prima2-sdhc"; | ||
329 | reg = <0x56300000 0x100000>; | ||
330 | interrupts = <23>; | ||
331 | }; | ||
332 | |||
333 | sd4: sdhci@56400000 { | ||
334 | cell-index = <4>; | ||
335 | compatible = "sirf,prima2-sdhc"; | ||
336 | reg = <0x56400000 0x100000>; | ||
337 | interrupts = <39>; | ||
338 | }; | ||
339 | |||
340 | sd5: sdhci@56500000 { | ||
341 | cell-index = <5>; | ||
342 | compatible = "sirf,prima2-sdhc"; | ||
343 | reg = <0x56500000 0x100000>; | ||
344 | interrupts = <39>; | ||
345 | }; | ||
346 | |||
347 | pci-copy@57900000 { | ||
348 | compatible = "sirf,prima2-pcicp"; | ||
349 | reg = <0x57900000 0x100000>; | ||
350 | interrupts = <40>; | ||
351 | }; | ||
352 | |||
353 | rom-interface@57a00000 { | ||
354 | compatible = "sirf,prima2-romif"; | ||
355 | reg = <0x57a00000 0x100000>; | ||
356 | }; | ||
357 | }; | ||
358 | }; | ||
359 | |||
360 | rtc-iobg { | ||
361 | compatible = "sirf,prima2-rtciobg", "simple-bus"; | ||
362 | #address-cells = <1>; | ||
363 | #size-cells = <1>; | ||
364 | reg = <0x80030000 0x10000>; | ||
365 | |||
366 | gpsrtc@1000 { | ||
367 | compatible = "sirf,prima2-gpsrtc"; | ||
368 | reg = <0x1000 0x1000>; | ||
369 | interrupts = <55 56 57>; | ||
370 | }; | ||
371 | |||
372 | sysrtc@2000 { | ||
373 | compatible = "sirf,prima2-sysrtc"; | ||
374 | reg = <0x2000 0x1000>; | ||
375 | interrupts = <52 53 54>; | ||
376 | }; | ||
377 | |||
378 | pwrc@3000 { | ||
379 | compatible = "sirf,prima2-pwrc"; | ||
380 | reg = <0x3000 0x1000>; | ||
381 | interrupts = <32>; | ||
382 | }; | ||
383 | }; | ||
384 | |||
385 | uus-iobg { | ||
386 | compatible = "simple-bus"; | ||
387 | #address-cells = <1>; | ||
388 | #size-cells = <1>; | ||
389 | ranges = <0xb8000000 0xb8000000 0x40000>; | ||
390 | |||
391 | usb0: usb@b00e0000 { | ||
392 | compatible = "chipidea,ci13611a-prima2"; | ||
393 | reg = <0xb8000000 0x10000>; | ||
394 | interrupts = <10>; | ||
395 | }; | ||
396 | |||
397 | usb1: usb@b00f0000 { | ||
398 | compatible = "chipidea,ci13611a-prima2"; | ||
399 | reg = <0xb8010000 0x10000>; | ||
400 | interrupts = <11>; | ||
401 | }; | ||
402 | |||
403 | sata@b00f0000 { | ||
404 | compatible = "synopsys,dwc-ahsata"; | ||
405 | reg = <0xb8020000 0x10000>; | ||
406 | interrupts = <37>; | ||
407 | }; | ||
408 | |||
409 | security@b00f0000 { | ||
410 | compatible = "sirf,prima2-security"; | ||
411 | reg = <0xb8030000 0x10000>; | ||
412 | interrupts = <42>; | ||
413 | }; | ||
414 | }; | ||
415 | }; | ||
416 | }; | ||
diff --git a/arch/arm/boot/dts/skeleton.dtsi b/arch/arm/boot/dts/skeleton.dtsi new file mode 100644 index 000000000000..b41d241de2cd --- /dev/null +++ b/arch/arm/boot/dts/skeleton.dtsi | |||
@@ -0,0 +1,13 @@ | |||
1 | /* | ||
2 | * Skeleton device tree; the bare minimum needed to boot; just include and | ||
3 | * add a compatible value. The bootloader will typically populate the memory | ||
4 | * node. | ||
5 | */ | ||
6 | |||
7 | / { | ||
8 | #address-cells = <1>; | ||
9 | #size-cells = <1>; | ||
10 | chosen { }; | ||
11 | aliases { }; | ||
12 | memory { device_type = "memory"; reg = <0 0>; }; | ||
13 | }; | ||
diff --git a/arch/arm/boot/dts/tegra-harmony.dts b/arch/arm/boot/dts/tegra-harmony.dts new file mode 100644 index 000000000000..4c053340ce33 --- /dev/null +++ b/arch/arm/boot/dts/tegra-harmony.dts | |||
@@ -0,0 +1,70 @@ | |||
1 | /dts-v1/; | ||
2 | |||
3 | /memreserve/ 0x1c000000 0x04000000; | ||
4 | /include/ "tegra20.dtsi" | ||
5 | |||
6 | / { | ||
7 | model = "NVIDIA Tegra2 Harmony evaluation board"; | ||
8 | compatible = "nvidia,harmony", "nvidia,tegra20"; | ||
9 | |||
10 | chosen { | ||
11 | bootargs = "vmalloc=192M video=tegrafb console=ttyS0,115200n8 root=/dev/mmcblk0p2 rw rootwait"; | ||
12 | }; | ||
13 | |||
14 | memory@0 { | ||
15 | reg = < 0x00000000 0x40000000 >; | ||
16 | }; | ||
17 | |||
18 | i2c@7000c000 { | ||
19 | clock-frequency = <400000>; | ||
20 | |||
21 | codec: wm8903@1a { | ||
22 | compatible = "wlf,wm8903"; | ||
23 | reg = <0x1a>; | ||
24 | interrupts = < 347 >; | ||
25 | |||
26 | gpio-controller; | ||
27 | #gpio-cells = <2>; | ||
28 | |||
29 | /* 0x8000 = Not configured */ | ||
30 | gpio-cfg = < 0x8000 0x8000 0 0x8000 0x8000 >; | ||
31 | }; | ||
32 | }; | ||
33 | |||
34 | i2c@7000c400 { | ||
35 | clock-frequency = <400000>; | ||
36 | }; | ||
37 | |||
38 | i2c@7000c500 { | ||
39 | clock-frequency = <400000>; | ||
40 | }; | ||
41 | |||
42 | i2c@7000d000 { | ||
43 | clock-frequency = <400000>; | ||
44 | }; | ||
45 | |||
46 | sound { | ||
47 | compatible = "nvidia,harmony-sound", "nvidia,tegra-wm8903"; | ||
48 | |||
49 | spkr-en-gpios = <&codec 2 0>; | ||
50 | hp-det-gpios = <&gpio 178 0>; | ||
51 | int-mic-en-gpios = <&gpio 184 0>; | ||
52 | ext-mic-en-gpios = <&gpio 185 0>; | ||
53 | }; | ||
54 | |||
55 | serial@70006300 { | ||
56 | clock-frequency = < 216000000 >; | ||
57 | }; | ||
58 | |||
59 | sdhci@c8000200 { | ||
60 | gpios = <&gpio 69 0>, /* cd, gpio PI5 */ | ||
61 | <&gpio 57 0>, /* wp, gpio PH1 */ | ||
62 | <&gpio 155 0>; /* power, gpio PT3 */ | ||
63 | }; | ||
64 | |||
65 | sdhci@c8000600 { | ||
66 | gpios = <&gpio 58 0>, /* cd, gpio PH2 */ | ||
67 | <&gpio 59 0>, /* wp, gpio PH3 */ | ||
68 | <&gpio 70 0>; /* power, gpio PI6 */ | ||
69 | }; | ||
70 | }; | ||
diff --git a/arch/arm/boot/dts/tegra-seaboard.dts b/arch/arm/boot/dts/tegra-seaboard.dts new file mode 100644 index 000000000000..1940cae00748 --- /dev/null +++ b/arch/arm/boot/dts/tegra-seaboard.dts | |||
@@ -0,0 +1,28 @@ | |||
1 | /dts-v1/; | ||
2 | |||
3 | /memreserve/ 0x1c000000 0x04000000; | ||
4 | /include/ "tegra20.dtsi" | ||
5 | |||
6 | / { | ||
7 | model = "NVIDIA Seaboard"; | ||
8 | compatible = "nvidia,seaboard", "nvidia,tegra20"; | ||
9 | |||
10 | chosen { | ||
11 | bootargs = "vmalloc=192M video=tegrafb console=ttyS0,115200n8 root=/dev/mmcblk1p3 rw rootwait"; | ||
12 | }; | ||
13 | |||
14 | memory { | ||
15 | device_type = "memory"; | ||
16 | reg = < 0x00000000 0x40000000 >; | ||
17 | }; | ||
18 | |||
19 | serial@70006300 { | ||
20 | clock-frequency = < 216000000 >; | ||
21 | }; | ||
22 | |||
23 | sdhci@c8000400 { | ||
24 | gpios = <&gpio 69 0>, /* cd, gpio PI5 */ | ||
25 | <&gpio 57 0>, /* wp, gpio PH1 */ | ||
26 | <&gpio 70 0>; /* power, gpio PI6 */ | ||
27 | }; | ||
28 | }; | ||
diff --git a/arch/arm/boot/dts/tegra20.dtsi b/arch/arm/boot/dts/tegra20.dtsi new file mode 100644 index 000000000000..5727595cde61 --- /dev/null +++ b/arch/arm/boot/dts/tegra20.dtsi | |||
@@ -0,0 +1,139 @@ | |||
1 | /include/ "skeleton.dtsi" | ||
2 | |||
3 | / { | ||
4 | compatible = "nvidia,tegra20"; | ||
5 | interrupt-parent = <&intc>; | ||
6 | |||
7 | intc: interrupt-controller@50041000 { | ||
8 | compatible = "nvidia,tegra20-gic"; | ||
9 | interrupt-controller; | ||
10 | #interrupt-cells = <1>; | ||
11 | reg = < 0x50041000 0x1000 >, | ||
12 | < 0x50040100 0x0100 >; | ||
13 | }; | ||
14 | |||
15 | i2c@7000c000 { | ||
16 | #address-cells = <1>; | ||
17 | #size-cells = <0>; | ||
18 | compatible = "nvidia,tegra20-i2c"; | ||
19 | reg = <0x7000C000 0x100>; | ||
20 | interrupts = < 70 >; | ||
21 | }; | ||
22 | |||
23 | i2c@7000c400 { | ||
24 | #address-cells = <1>; | ||
25 | #size-cells = <0>; | ||
26 | compatible = "nvidia,tegra20-i2c"; | ||
27 | reg = <0x7000C400 0x100>; | ||
28 | interrupts = < 116 >; | ||
29 | }; | ||
30 | |||
31 | i2c@7000c500 { | ||
32 | #address-cells = <1>; | ||
33 | #size-cells = <0>; | ||
34 | compatible = "nvidia,tegra20-i2c"; | ||
35 | reg = <0x7000C500 0x100>; | ||
36 | interrupts = < 124 >; | ||
37 | }; | ||
38 | |||
39 | i2c@7000d000 { | ||
40 | #address-cells = <1>; | ||
41 | #size-cells = <0>; | ||
42 | compatible = "nvidia,tegra20-i2c"; | ||
43 | reg = <0x7000D000 0x200>; | ||
44 | interrupts = < 85 >; | ||
45 | }; | ||
46 | |||
47 | i2s@70002800 { | ||
48 | #address-cells = <1>; | ||
49 | #size-cells = <0>; | ||
50 | compatible = "nvidia,tegra20-i2s"; | ||
51 | reg = <0x70002800 0x200>; | ||
52 | interrupts = < 45 >; | ||
53 | dma-channel = < 2 >; | ||
54 | }; | ||
55 | |||
56 | i2s@70002a00 { | ||
57 | #address-cells = <1>; | ||
58 | #size-cells = <0>; | ||
59 | compatible = "nvidia,tegra20-i2s"; | ||
60 | reg = <0x70002a00 0x200>; | ||
61 | interrupts = < 35 >; | ||
62 | dma-channel = < 1 >; | ||
63 | }; | ||
64 | |||
65 | das@70000c00 { | ||
66 | #address-cells = <1>; | ||
67 | #size-cells = <0>; | ||
68 | compatible = "nvidia,tegra20-das"; | ||
69 | reg = <0x70000c00 0x80>; | ||
70 | }; | ||
71 | |||
72 | gpio: gpio@6000d000 { | ||
73 | compatible = "nvidia,tegra20-gpio"; | ||
74 | reg = < 0x6000d000 0x1000 >; | ||
75 | interrupts = < 64 65 66 67 87 119 121 >; | ||
76 | #gpio-cells = <2>; | ||
77 | gpio-controller; | ||
78 | }; | ||
79 | |||
80 | serial@70006000 { | ||
81 | compatible = "nvidia,tegra20-uart"; | ||
82 | reg = <0x70006000 0x40>; | ||
83 | reg-shift = <2>; | ||
84 | interrupts = < 68 >; | ||
85 | }; | ||
86 | |||
87 | serial@70006040 { | ||
88 | compatible = "nvidia,tegra20-uart"; | ||
89 | reg = <0x70006040 0x40>; | ||
90 | reg-shift = <2>; | ||
91 | interrupts = < 69 >; | ||
92 | }; | ||
93 | |||
94 | serial@70006200 { | ||
95 | compatible = "nvidia,tegra20-uart"; | ||
96 | reg = <0x70006200 0x100>; | ||
97 | reg-shift = <2>; | ||
98 | interrupts = < 78 >; | ||
99 | }; | ||
100 | |||
101 | serial@70006300 { | ||
102 | compatible = "nvidia,tegra20-uart"; | ||
103 | reg = <0x70006300 0x100>; | ||
104 | reg-shift = <2>; | ||
105 | interrupts = < 122 >; | ||
106 | }; | ||
107 | |||
108 | serial@70006400 { | ||
109 | compatible = "nvidia,tegra20-uart"; | ||
110 | reg = <0x70006400 0x100>; | ||
111 | reg-shift = <2>; | ||
112 | interrupts = < 123 >; | ||
113 | }; | ||
114 | |||
115 | sdhci@c8000000 { | ||
116 | compatible = "nvidia,tegra20-sdhci"; | ||
117 | reg = <0xc8000000 0x200>; | ||
118 | interrupts = < 46 >; | ||
119 | }; | ||
120 | |||
121 | sdhci@c8000200 { | ||
122 | compatible = "nvidia,tegra20-sdhci"; | ||
123 | reg = <0xc8000200 0x200>; | ||
124 | interrupts = < 47 >; | ||
125 | }; | ||
126 | |||
127 | sdhci@c8000400 { | ||
128 | compatible = "nvidia,tegra20-sdhci"; | ||
129 | reg = <0xc8000400 0x200>; | ||
130 | interrupts = < 51 >; | ||
131 | }; | ||
132 | |||
133 | sdhci@c8000600 { | ||
134 | compatible = "nvidia,tegra20-sdhci"; | ||
135 | reg = <0xc8000600 0x200>; | ||
136 | interrupts = < 63 >; | ||
137 | }; | ||
138 | }; | ||
139 | |||
diff --git a/arch/arm/boot/dts/versatile-ab.dts b/arch/arm/boot/dts/versatile-ab.dts new file mode 100644 index 000000000000..0b32925f2147 --- /dev/null +++ b/arch/arm/boot/dts/versatile-ab.dts | |||
@@ -0,0 +1,192 @@ | |||
1 | /dts-v1/; | ||
2 | /include/ "skeleton.dtsi" | ||
3 | |||
4 | / { | ||
5 | model = "ARM Versatile AB"; | ||
6 | compatible = "arm,versatile-ab"; | ||
7 | #address-cells = <1>; | ||
8 | #size-cells = <1>; | ||
9 | interrupt-parent = <&vic>; | ||
10 | |||
11 | aliases { | ||
12 | serial0 = &uart0; | ||
13 | serial1 = &uart1; | ||
14 | serial2 = &uart2; | ||
15 | i2c0 = &i2c0; | ||
16 | }; | ||
17 | |||
18 | memory { | ||
19 | reg = <0x0 0x08000000>; | ||
20 | }; | ||
21 | |||
22 | flash@34000000 { | ||
23 | compatible = "arm,versatile-flash"; | ||
24 | reg = <0x34000000 0x4000000>; | ||
25 | bank-width = <4>; | ||
26 | }; | ||
27 | |||
28 | i2c0: i2c@10002000 { | ||
29 | #address-cells = <1>; | ||
30 | #size-cells = <0>; | ||
31 | compatible = "arm,versatile-i2c"; | ||
32 | reg = <0x10002000 0x1000>; | ||
33 | |||
34 | rtc@68 { | ||
35 | compatible = "dallas,ds1338"; | ||
36 | reg = <0x68>; | ||
37 | }; | ||
38 | }; | ||
39 | |||
40 | net@10010000 { | ||
41 | compatible = "smsc,lan91c111"; | ||
42 | reg = <0x10010000 0x10000>; | ||
43 | interrupts = <25>; | ||
44 | }; | ||
45 | |||
46 | lcd@10008000 { | ||
47 | compatible = "arm,versatile-lcd"; | ||
48 | reg = <0x10008000 0x1000>; | ||
49 | }; | ||
50 | |||
51 | amba { | ||
52 | compatible = "arm,amba-bus"; | ||
53 | #address-cells = <1>; | ||
54 | #size-cells = <1>; | ||
55 | ranges; | ||
56 | |||
57 | vic: intc@10140000 { | ||
58 | compatible = "arm,versatile-vic"; | ||
59 | interrupt-controller; | ||
60 | #interrupt-cells = <1>; | ||
61 | reg = <0x10140000 0x1000>; | ||
62 | }; | ||
63 | |||
64 | sic: intc@10003000 { | ||
65 | compatible = "arm,versatile-sic"; | ||
66 | interrupt-controller; | ||
67 | #interrupt-cells = <1>; | ||
68 | reg = <0x10003000 0x1000>; | ||
69 | interrupt-parent = <&vic>; | ||
70 | interrupts = <31>; /* Cascaded to vic */ | ||
71 | }; | ||
72 | |||
73 | dma@10130000 { | ||
74 | compatible = "arm,pl081", "arm,primecell"; | ||
75 | reg = <0x10130000 0x1000>; | ||
76 | interrupts = <17>; | ||
77 | }; | ||
78 | |||
79 | uart0: uart@101f1000 { | ||
80 | compatible = "arm,pl011", "arm,primecell"; | ||
81 | reg = <0x101f1000 0x1000>; | ||
82 | interrupts = <12>; | ||
83 | }; | ||
84 | |||
85 | uart1: uart@101f2000 { | ||
86 | compatible = "arm,pl011", "arm,primecell"; | ||
87 | reg = <0x101f2000 0x1000>; | ||
88 | interrupts = <13>; | ||
89 | }; | ||
90 | |||
91 | uart2: uart@101f3000 { | ||
92 | compatible = "arm,pl011", "arm,primecell"; | ||
93 | reg = <0x101f3000 0x1000>; | ||
94 | interrupts = <14>; | ||
95 | }; | ||
96 | |||
97 | smc@10100000 { | ||
98 | compatible = "arm,primecell"; | ||
99 | reg = <0x10100000 0x1000>; | ||
100 | }; | ||
101 | |||
102 | mpmc@10110000 { | ||
103 | compatible = "arm,primecell"; | ||
104 | reg = <0x10110000 0x1000>; | ||
105 | }; | ||
106 | |||
107 | display@10120000 { | ||
108 | compatible = "arm,pl110", "arm,primecell"; | ||
109 | reg = <0x10120000 0x1000>; | ||
110 | interrupts = <16>; | ||
111 | }; | ||
112 | |||
113 | sctl@101e0000 { | ||
114 | compatible = "arm,primecell"; | ||
115 | reg = <0x101e0000 0x1000>; | ||
116 | }; | ||
117 | |||
118 | watchdog@101e1000 { | ||
119 | compatible = "arm,primecell"; | ||
120 | reg = <0x101e1000 0x1000>; | ||
121 | interrupts = <0>; | ||
122 | }; | ||
123 | |||
124 | gpio0: gpio@101e4000 { | ||
125 | compatible = "arm,pl061", "arm,primecell"; | ||
126 | reg = <0x101e4000 0x1000>; | ||
127 | gpio-controller; | ||
128 | interrupts = <6>; | ||
129 | #gpio-cells = <2>; | ||
130 | interrupt-controller; | ||
131 | #interrupt-cells = <2>; | ||
132 | }; | ||
133 | |||
134 | gpio1: gpio@101e5000 { | ||
135 | compatible = "arm,pl061", "arm,primecell"; | ||
136 | reg = <0x101e5000 0x1000>; | ||
137 | interrupts = <7>; | ||
138 | gpio-controller; | ||
139 | #gpio-cells = <2>; | ||
140 | interrupt-controller; | ||
141 | #interrupt-cells = <2>; | ||
142 | }; | ||
143 | |||
144 | rtc@101e8000 { | ||
145 | compatible = "arm,pl030", "arm,primecell"; | ||
146 | reg = <0x101e8000 0x1000>; | ||
147 | interrupts = <10>; | ||
148 | }; | ||
149 | |||
150 | sci@101f0000 { | ||
151 | compatible = "arm,primecell"; | ||
152 | reg = <0x101f0000 0x1000>; | ||
153 | interrupts = <15>; | ||
154 | }; | ||
155 | |||
156 | ssp@101f4000 { | ||
157 | compatible = "arm,pl022", "arm,primecell"; | ||
158 | reg = <0x101f4000 0x1000>; | ||
159 | interrupts = <11>; | ||
160 | }; | ||
161 | |||
162 | fpga { | ||
163 | compatible = "arm,versatile-fpga", "simple-bus"; | ||
164 | #address-cells = <1>; | ||
165 | #size-cells = <1>; | ||
166 | ranges = <0 0x10000000 0x10000>; | ||
167 | |||
168 | aaci@4000 { | ||
169 | compatible = "arm,primecell"; | ||
170 | reg = <0x4000 0x1000>; | ||
171 | interrupts = <24>; | ||
172 | }; | ||
173 | mmc@5000 { | ||
174 | compatible = "arm,primecell"; | ||
175 | reg = < 0x5000 0x1000>; | ||
176 | interrupts = <22>; | ||
177 | }; | ||
178 | kmi@6000 { | ||
179 | compatible = "arm,pl050", "arm,primecell"; | ||
180 | reg = <0x6000 0x1000>; | ||
181 | interrupt-parent = <&sic>; | ||
182 | interrupts = <3>; | ||
183 | }; | ||
184 | kmi@7000 { | ||
185 | compatible = "arm,pl050", "arm,primecell"; | ||
186 | reg = <0x7000 0x1000>; | ||
187 | interrupt-parent = <&sic>; | ||
188 | interrupts = <4>; | ||
189 | }; | ||
190 | }; | ||
191 | }; | ||
192 | }; | ||
diff --git a/arch/arm/boot/dts/versatile-pb.dts b/arch/arm/boot/dts/versatile-pb.dts new file mode 100644 index 000000000000..8a614e398004 --- /dev/null +++ b/arch/arm/boot/dts/versatile-pb.dts | |||
@@ -0,0 +1,48 @@ | |||
1 | /include/ "versatile-ab.dts" | ||
2 | |||
3 | / { | ||
4 | model = "ARM Versatile PB"; | ||
5 | compatible = "arm,versatile-pb"; | ||
6 | |||
7 | amba { | ||
8 | gpio2: gpio@101e6000 { | ||
9 | compatible = "arm,pl061", "arm,primecell"; | ||
10 | reg = <0x101e6000 0x1000>; | ||
11 | interrupts = <8>; | ||
12 | gpio-controller; | ||
13 | #gpio-cells = <2>; | ||
14 | interrupt-controller; | ||
15 | #interrupt-cells = <2>; | ||
16 | }; | ||
17 | |||
18 | gpio3: gpio@101e7000 { | ||
19 | compatible = "arm,pl061", "arm,primecell"; | ||
20 | reg = <0x101e7000 0x1000>; | ||
21 | interrupts = <9>; | ||
22 | gpio-controller; | ||
23 | #gpio-cells = <2>; | ||
24 | interrupt-controller; | ||
25 | #interrupt-cells = <2>; | ||
26 | }; | ||
27 | |||
28 | fpga { | ||
29 | uart@9000 { | ||
30 | compatible = "arm,pl011", "arm,primecell"; | ||
31 | reg = <0x9000 0x1000>; | ||
32 | interrupt-parent = <&sic>; | ||
33 | interrupts = <6>; | ||
34 | }; | ||
35 | sci@a000 { | ||
36 | compatible = "arm,primecell"; | ||
37 | reg = <0xa000 0x1000>; | ||
38 | interrupt-parent = <&sic>; | ||
39 | interrupts = <5>; | ||
40 | }; | ||
41 | mmc@b000 { | ||
42 | compatible = "arm,primecell"; | ||
43 | reg = <0xb000 0x1000>; | ||
44 | interrupts = <23>; | ||
45 | }; | ||
46 | }; | ||
47 | }; | ||
48 | }; | ||
diff --git a/arch/arm/boot/dts/zynq-ep107.dts b/arch/arm/boot/dts/zynq-ep107.dts new file mode 100644 index 000000000000..37ca192fb193 --- /dev/null +++ b/arch/arm/boot/dts/zynq-ep107.dts | |||
@@ -0,0 +1,52 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2011 Xilinx | ||
3 | * | ||
4 | * This software is licensed under the terms of the GNU General Public | ||
5 | * License version 2, as published by the Free Software Foundation, and | ||
6 | * may be copied, distributed, and modified under those terms. | ||
7 | * | ||
8 | * This program is distributed in the hope that it will be useful, | ||
9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
11 | * GNU General Public License for more details. | ||
12 | */ | ||
13 | |||
14 | /dts-v1/; | ||
15 | / { | ||
16 | model = "Xilinx Zynq EP107"; | ||
17 | compatible = "xlnx,zynq-ep107"; | ||
18 | #address-cells = <1>; | ||
19 | #size-cells = <1>; | ||
20 | interrupt-parent = <&intc>; | ||
21 | |||
22 | memory { | ||
23 | device_type = "memory"; | ||
24 | reg = <0x0 0x10000000>; | ||
25 | }; | ||
26 | |||
27 | chosen { | ||
28 | bootargs = "console=ttyPS0,9600 root=/dev/ram rw initrd=0x800000,8M earlyprintk"; | ||
29 | linux,stdout-path = &uart0; | ||
30 | }; | ||
31 | |||
32 | amba { | ||
33 | compatible = "simple-bus"; | ||
34 | #address-cells = <1>; | ||
35 | #size-cells = <1>; | ||
36 | ranges; | ||
37 | |||
38 | intc: interrupt-controller@f8f01000 { | ||
39 | interrupt-controller; | ||
40 | compatible = "arm,gic"; | ||
41 | reg = <0xF8F01000 0x1000>; | ||
42 | #interrupt-cells = <2>; | ||
43 | }; | ||
44 | |||
45 | uart0: uart@e0000000 { | ||
46 | compatible = "xlnx,xuartps"; | ||
47 | reg = <0xE0000000 0x1000>; | ||
48 | interrupts = <59 0>; | ||
49 | clock = <50000000>; | ||
50 | }; | ||
51 | }; | ||
52 | }; | ||