diff options
author | Anton Vorontsov <avorontsov@ru.mvista.com> | 2008-05-23 12:39:01 -0400 |
---|---|---|
committer | Kumar Gala <galak@kernel.crashing.org> | 2008-06-10 12:11:17 -0400 |
commit | b13e930906b313d787f4dd07fe78b74a3a8c22c4 (patch) | |
tree | 96f88bf75f2c95bdbd36e4a43b80f9459a94b26f /arch/powerpc/boot | |
parent | 32def337aafee0bc65eb58d5b1b3617525eb7fb7 (diff) |
powerpc/83xx: new board support: MPC8360E-RDK
This is patch adds board file, device tree, and defconfig for the new
board, made by Freescale Semiconductor Inc. and Logic Product Development.
Currently supported:
1. UEC{1,2,7,4};
2. I2C;
3. SPI;
4. NS16550 serial;
5. PCI and miniPCI;
6. Intel NOR StrataFlash X16 64Mbit PC28F640P30T85;
7. Graphics controller, Fujitsu MB86277.
Not supported in this patch:
1. StMICRO NAND512W3A2BN6E, 512 Mbit (supported with FSL UPM NAND driver);
2. FHCI USB (supported with FHCI driver).
3. QE Serial UCCs (tested to not work with ucc_uart driver, reason
unknown, yet);
4. ADC AD7843 (tested to work, but support via device tree depends on
major SPI rework, GPIO API, etc);
Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Diffstat (limited to 'arch/powerpc/boot')
-rw-r--r-- | arch/powerpc/boot/dts/mpc836x_rdk.dts | 397 |
1 files changed, 397 insertions, 0 deletions
diff --git a/arch/powerpc/boot/dts/mpc836x_rdk.dts b/arch/powerpc/boot/dts/mpc836x_rdk.dts new file mode 100644 index 000000000000..3402d267a869 --- /dev/null +++ b/arch/powerpc/boot/dts/mpc836x_rdk.dts | |||
@@ -0,0 +1,397 @@ | |||
1 | /* | ||
2 | * MPC8360E RDK Device Tree Source | ||
3 | * | ||
4 | * Copyright 2006 Freescale Semiconductor Inc. | ||
5 | * Copyright 2007-2008 MontaVista Software, Inc. | ||
6 | * | ||
7 | * Author: Anton Vorontsov <avorontsov@ru.mvista.com> | ||
8 | * | ||
9 | * This program is free software; you can redistribute it and/or modify it | ||
10 | * under the terms of the GNU General Public License as published by the | ||
11 | * Free Software Foundation; either version 2 of the License, or (at your | ||
12 | * option) any later version. | ||
13 | */ | ||
14 | |||
15 | /dts-v1/; | ||
16 | |||
17 | / { | ||
18 | #address-cells = <1>; | ||
19 | #size-cells = <1>; | ||
20 | compatible = "fsl,mpc8360rdk"; | ||
21 | |||
22 | aliases { | ||
23 | serial0 = &serial0; | ||
24 | serial1 = &serial1; | ||
25 | serial2 = &serial2; | ||
26 | serial3 = &serial3; | ||
27 | ethernet0 = &enet0; | ||
28 | ethernet1 = &enet1; | ||
29 | ethernet2 = &enet2; | ||
30 | ethernet3 = &enet3; | ||
31 | pci0 = &pci0; | ||
32 | }; | ||
33 | |||
34 | cpus { | ||
35 | #address-cells = <1>; | ||
36 | #size-cells = <0>; | ||
37 | |||
38 | PowerPC,8360@0 { | ||
39 | device_type = "cpu"; | ||
40 | reg = <0>; | ||
41 | d-cache-line-size = <32>; | ||
42 | i-cache-line-size = <32>; | ||
43 | d-cache-size = <32768>; | ||
44 | i-cache-size = <32768>; | ||
45 | /* filled by u-boot */ | ||
46 | timebase-frequency = <0>; | ||
47 | bus-frequency = <0>; | ||
48 | clock-frequency = <0>; | ||
49 | }; | ||
50 | }; | ||
51 | |||
52 | memory { | ||
53 | device_type = "memory"; | ||
54 | /* filled by u-boot */ | ||
55 | reg = <0 0>; | ||
56 | }; | ||
57 | |||
58 | soc@e0000000 { | ||
59 | #address-cells = <1>; | ||
60 | #size-cells = <1>; | ||
61 | device_type = "soc"; | ||
62 | compatible = "fsl,mpc8360-immr", "fsl,immr", "fsl,soc", | ||
63 | "simple-bus"; | ||
64 | ranges = <0 0xe0000000 0x200000>; | ||
65 | reg = <0xe0000000 0x200>; | ||
66 | /* filled by u-boot */ | ||
67 | bus-frequency = <0>; | ||
68 | |||
69 | wdt@200 { | ||
70 | compatible = "mpc83xx_wdt"; | ||
71 | reg = <0x200 0x100>; | ||
72 | }; | ||
73 | |||
74 | i2c@3000 { | ||
75 | #address-cells = <1>; | ||
76 | #size-cells = <0>; | ||
77 | cell-index = <0>; | ||
78 | compatible = "fsl-i2c"; | ||
79 | reg = <0x3000 0x100>; | ||
80 | interrupts = <14 8>; | ||
81 | interrupt-parent = <&ipic>; | ||
82 | dfsrr; | ||
83 | }; | ||
84 | |||
85 | i2c@3100 { | ||
86 | #address-cells = <1>; | ||
87 | #size-cells = <0>; | ||
88 | cell-index = <1>; | ||
89 | compatible = "fsl-i2c"; | ||
90 | reg = <0x3100 0x100>; | ||
91 | interrupts = <16 8>; | ||
92 | interrupt-parent = <&ipic>; | ||
93 | dfsrr; | ||
94 | }; | ||
95 | |||
96 | serial0: serial@4500 { | ||
97 | device_type = "serial"; | ||
98 | compatible = "ns16550"; | ||
99 | reg = <0x4500 0x100>; | ||
100 | interrupts = <9 8>; | ||
101 | interrupt-parent = <&ipic>; | ||
102 | /* filled by u-boot */ | ||
103 | clock-frequency = <0>; | ||
104 | }; | ||
105 | |||
106 | serial1: serial@4600 { | ||
107 | device_type = "serial"; | ||
108 | compatible = "ns16550"; | ||
109 | reg = <0x4600 0x100>; | ||
110 | interrupts = <10 8>; | ||
111 | interrupt-parent = <&ipic>; | ||
112 | /* filled by u-boot */ | ||
113 | clock-frequency = <0>; | ||
114 | }; | ||
115 | |||
116 | crypto@30000 { | ||
117 | compatible = "fsl,sec2-crypto"; | ||
118 | reg = <0x30000 0x10000>; | ||
119 | interrupts = <11 8>; | ||
120 | interrupt-parent = <&ipic>; | ||
121 | num-channels = <4>; | ||
122 | channel-fifo-len = <24>; | ||
123 | exec-units-mask = <0x7e>; | ||
124 | /* | ||
125 | * desc mask is for rev1.x, we need runtime fixup | ||
126 | * for >=2.x | ||
127 | */ | ||
128 | descriptor-types-mask = <0x1010ebf>; | ||
129 | }; | ||
130 | |||
131 | ipic: interrupt-controller@700 { | ||
132 | #address-cells = <0>; | ||
133 | #interrupt-cells = <2>; | ||
134 | compatible = "fsl,pq2pro-pic", "fsl,ipic"; | ||
135 | interrupt-controller; | ||
136 | reg = <0x700 0x100>; | ||
137 | }; | ||
138 | |||
139 | qe_pio_b: gpio-controller@1418 { | ||
140 | #gpio-cells = <2>; | ||
141 | compatible = "fsl,mpc8360-qe-pario-bank", | ||
142 | "fsl,mpc8323-qe-pario-bank"; | ||
143 | reg = <0x1418 0x18>; | ||
144 | gpio-controller; | ||
145 | }; | ||
146 | |||
147 | qe_pio_e: gpio-controller@1460 { | ||
148 | #gpio-cells = <2>; | ||
149 | compatible = "fsl,mpc8360-qe-pario-bank", | ||
150 | "fsl,mpc8323-qe-pario-bank"; | ||
151 | reg = <0x1460 0x18>; | ||
152 | gpio-controller; | ||
153 | }; | ||
154 | |||
155 | qe@100000 { | ||
156 | #address-cells = <1>; | ||
157 | #size-cells = <1>; | ||
158 | device_type = "qe"; | ||
159 | compatible = "fsl,qe", "simple-bus"; | ||
160 | ranges = <0 0x100000 0x100000>; | ||
161 | reg = <0x100000 0x480>; | ||
162 | /* filled by u-boot */ | ||
163 | clock-frequency = <0>; | ||
164 | bus-frequency = <0>; | ||
165 | brg-frequency = <0>; | ||
166 | |||
167 | muram@10000 { | ||
168 | #address-cells = <1>; | ||
169 | #size-cells = <1>; | ||
170 | compatible = "fsl,qe-muram", "fsl,cpm-muram"; | ||
171 | ranges = <0 0x10000 0xc000>; | ||
172 | |||
173 | data-only@0 { | ||
174 | compatible = "fsl,qe-muram-data", | ||
175 | "fsl,cpm-muram-data"; | ||
176 | reg = <0 0xc000>; | ||
177 | }; | ||
178 | }; | ||
179 | |||
180 | timer@440 { | ||
181 | compatible = "fsl,mpc8360-qe-gtm", | ||
182 | "fsl,qe-gtm", "fsl,gtm"; | ||
183 | reg = <0x440 0x40>; | ||
184 | interrupts = <12 13 14 15>; | ||
185 | interrupt-parent = <&qeic>; | ||
186 | /* filled by u-boot */ | ||
187 | clock-frequency = <0>; | ||
188 | }; | ||
189 | |||
190 | spi@4c0 { | ||
191 | cell-index = <0>; | ||
192 | compatible = "fsl,spi"; | ||
193 | reg = <0x4c0 0x40>; | ||
194 | interrupts = <2>; | ||
195 | interrupt-parent = <&qeic>; | ||
196 | mode = "cpu-qe"; | ||
197 | }; | ||
198 | |||
199 | spi@500 { | ||
200 | cell-index = <1>; | ||
201 | compatible = "fsl,spi"; | ||
202 | reg = <0x500 0x40>; | ||
203 | interrupts = <1>; | ||
204 | interrupt-parent = <&qeic>; | ||
205 | mode = "cpu-qe"; | ||
206 | }; | ||
207 | |||
208 | enet0: ucc@2000 { | ||
209 | device_type = "network"; | ||
210 | compatible = "ucc_geth"; | ||
211 | cell-index = <1>; | ||
212 | reg = <0x2000 0x200>; | ||
213 | interrupts = <32>; | ||
214 | interrupt-parent = <&qeic>; | ||
215 | rx-clock-name = "none"; | ||
216 | tx-clock-name = "clk9"; | ||
217 | phy-handle = <&phy2>; | ||
218 | phy-connection-type = "rgmii-rxid"; | ||
219 | /* filled by u-boot */ | ||
220 | local-mac-address = [ 00 00 00 00 00 00 ]; | ||
221 | }; | ||
222 | |||
223 | enet1: ucc@3000 { | ||
224 | device_type = "network"; | ||
225 | compatible = "ucc_geth"; | ||
226 | cell-index = <2>; | ||
227 | reg = <0x3000 0x200>; | ||
228 | interrupts = <33>; | ||
229 | interrupt-parent = <&qeic>; | ||
230 | rx-clock-name = "none"; | ||
231 | tx-clock-name = "clk4"; | ||
232 | phy-handle = <&phy4>; | ||
233 | phy-connection-type = "rgmii-rxid"; | ||
234 | /* filled by u-boot */ | ||
235 | local-mac-address = [ 00 00 00 00 00 00 ]; | ||
236 | }; | ||
237 | |||
238 | enet2: ucc@2600 { | ||
239 | device_type = "network"; | ||
240 | compatible = "ucc_geth"; | ||
241 | cell-index = <7>; | ||
242 | reg = <0x2600 0x200>; | ||
243 | interrupts = <42>; | ||
244 | interrupt-parent = <&qeic>; | ||
245 | rx-clock-name = "clk20"; | ||
246 | tx-clock-name = "clk19"; | ||
247 | phy-handle = <&phy1>; | ||
248 | phy-connection-type = "mii"; | ||
249 | /* filled by u-boot */ | ||
250 | local-mac-address = [ 00 00 00 00 00 00 ]; | ||
251 | }; | ||
252 | |||
253 | enet3: ucc@3200 { | ||
254 | device_type = "network"; | ||
255 | compatible = "ucc_geth"; | ||
256 | cell-index = <4>; | ||
257 | reg = <0x3200 0x200>; | ||
258 | interrupts = <35>; | ||
259 | interrupt-parent = <&qeic>; | ||
260 | rx-clock-name = "clk8"; | ||
261 | tx-clock-name = "clk7"; | ||
262 | phy-handle = <&phy3>; | ||
263 | phy-connection-type = "mii"; | ||
264 | /* filled by u-boot */ | ||
265 | local-mac-address = [ 00 00 00 00 00 00 ]; | ||
266 | }; | ||
267 | |||
268 | mdio@2120 { | ||
269 | #address-cells = <1>; | ||
270 | #size-cells = <0>; | ||
271 | compatible = "fsl,ucc-mdio"; | ||
272 | reg = <0x2120 0x18>; | ||
273 | |||
274 | phy1: ethernet-phy@1 { | ||
275 | device_type = "ethernet-phy"; | ||
276 | compatible = "national,DP83848VV"; | ||
277 | reg = <1>; | ||
278 | }; | ||
279 | |||
280 | phy2: ethernet-phy@2 { | ||
281 | device_type = "ethernet-phy"; | ||
282 | compatible = "broadcom,BCM5481UA2KMLG"; | ||
283 | reg = <2>; | ||
284 | }; | ||
285 | |||
286 | phy3: ethernet-phy@3 { | ||
287 | device_type = "ethernet-phy"; | ||
288 | compatible = "national,DP83848VV"; | ||
289 | reg = <3>; | ||
290 | }; | ||
291 | |||
292 | phy4: ethernet-phy@4 { | ||
293 | device_type = "ethernet-phy"; | ||
294 | compatible = "broadcom,BCM5481UA2KMLG"; | ||
295 | reg = <4>; | ||
296 | }; | ||
297 | }; | ||
298 | |||
299 | serial2: ucc@2400 { | ||
300 | device_type = "serial"; | ||
301 | compatible = "ucc_uart"; | ||
302 | reg = <0x2400 0x200>; | ||
303 | cell-index = <5>; | ||
304 | port-number = <0>; | ||
305 | rx-clock-name = "brg7"; | ||
306 | tx-clock-name = "brg8"; | ||
307 | interrupts = <40>; | ||
308 | interrupt-parent = <&qeic>; | ||
309 | soft-uart; | ||
310 | }; | ||
311 | |||
312 | serial3: ucc@3400 { | ||
313 | device_type = "serial"; | ||
314 | compatible = "ucc_uart"; | ||
315 | reg = <0x3400 0x200>; | ||
316 | cell-index = <6>; | ||
317 | port-number = <1>; | ||
318 | rx-clock-name = "brg13"; | ||
319 | tx-clock-name = "brg14"; | ||
320 | interrupts = <41>; | ||
321 | interrupt-parent = <&qeic>; | ||
322 | soft-uart; | ||
323 | }; | ||
324 | |||
325 | qeic: interrupt-controller@80 { | ||
326 | #address-cells = <0>; | ||
327 | #interrupt-cells = <1>; | ||
328 | compatible = "fsl,qe-ic"; | ||
329 | interrupt-controller; | ||
330 | reg = <0x80 0x80>; | ||
331 | big-endian; | ||
332 | interrupts = <32 8 33 8>; | ||
333 | interrupt-parent = <&ipic>; | ||
334 | }; | ||
335 | }; | ||
336 | }; | ||
337 | |||
338 | localbus@e0005000 { | ||
339 | #address-cells = <2>; | ||
340 | #size-cells = <1>; | ||
341 | compatible = "fsl,mpc8360-localbus", "fsl,pq2pro-localbus", | ||
342 | "simple-bus"; | ||
343 | reg = <0xe0005000 0xd8>; | ||
344 | ranges = <0 0 0xff800000 0x0800000 | ||
345 | 1 0 0x60000000 0x0001000 | ||
346 | 2 0 0x70000000 0x4000000>; | ||
347 | |||
348 | flash@0,0 { | ||
349 | compatible = "intel,PC28F640P30T85", "cfi-flash"; | ||
350 | reg = <0 0 0x800000>; | ||
351 | bank-width = <2>; | ||
352 | device-width = <1>; | ||
353 | }; | ||
354 | |||
355 | display@2,0 { | ||
356 | device_type = "display"; | ||
357 | compatible = "fujitsu,MB86277", "fujitsu,mint"; | ||
358 | reg = <2 0 0x4000000>; | ||
359 | fujitsu,sh3; | ||
360 | little-endian; | ||
361 | /* filled by u-boot */ | ||
362 | address = <0>; | ||
363 | depth = <0>; | ||
364 | width = <0>; | ||
365 | height = <0>; | ||
366 | linebytes = <0>; | ||
367 | /* linux,opened; - added by uboot */ | ||
368 | }; | ||
369 | }; | ||
370 | |||
371 | pci0: pci@e0008500 { | ||
372 | #address-cells = <3>; | ||
373 | #size-cells = <2>; | ||
374 | #interrupt-cells = <1>; | ||
375 | device_type = "pci"; | ||
376 | compatible = "fsl,mpc8360-pci", "fsl,mpc8349-pci"; | ||
377 | reg = <0xe0008500 0x100>; | ||
378 | ranges = <0x02000000 0 0x90000000 0x90000000 0 0x10000000 | ||
379 | 0x42000000 0 0x80000000 0x80000000 0 0x10000000 | ||
380 | 0x01000000 0 0xe0300000 0xe0300000 0 0x00100000>; | ||
381 | interrupts = <66 8>; | ||
382 | interrupt-parent = <&ipic>; | ||
383 | interrupt-map-mask = <0xf800 0 0 7>; | ||
384 | interrupt-map = </* miniPCI0 IDSEL 0x14 AD20 */ | ||
385 | 0xa000 0 0 1 &ipic 18 8 | ||
386 | 0xa000 0 0 2 &ipic 19 8 | ||
387 | |||
388 | /* PCI1 IDSEL 0x15 AD21 */ | ||
389 | 0xa800 0 0 1 &ipic 19 8 | ||
390 | 0xa800 0 0 2 &ipic 20 8 | ||
391 | 0xa800 0 0 3 &ipic 21 8 | ||
392 | 0xa800 0 0 4 &ipic 18 8>; | ||
393 | /* filled by u-boot */ | ||
394 | bus-range = <0 0>; | ||
395 | clock-frequency = <0>; | ||
396 | }; | ||
397 | }; | ||