blob: d215d21fff42bdb01ffd7a09f881d379987d6ba0 [file] [log] [blame]
Andy Fleming2654d632006-08-18 18:04:34 -05001/*
Roy Zang02edff52007-07-10 18:46:47 +08002 * MPC8548 CDS Device Tree Source
Andy Fleming2654d632006-08-18 18:04:34 -05003 *
4 * Copyright 2006 Freescale Semiconductor Inc.
5 *
6 * This program is free software; you can redistribute it and/or modify it
7 * under the terms of the GNU General Public License as published by the
8 * Free Software Foundation; either version 2 of the License, or (at your
9 * option) any later version.
10 */
11
12
13/ {
14 model = "MPC8548CDS";
Kumar Gala52094872007-02-17 16:04:23 -060015 compatible = "MPC8548CDS", "MPC85xxCDS";
Andy Fleming2654d632006-08-18 18:04:34 -050016 #address-cells = <1>;
17 #size-cells = <1>;
Andy Fleming2654d632006-08-18 18:04:34 -050018
19 cpus {
Andy Fleming2654d632006-08-18 18:04:34 -050020 #address-cells = <1>;
21 #size-cells = <0>;
Andy Fleming2654d632006-08-18 18:04:34 -050022
23 PowerPC,8548@0 {
24 device_type = "cpu";
25 reg = <0>;
26 d-cache-line-size = <20>; // 32 bytes
27 i-cache-line-size = <20>; // 32 bytes
28 d-cache-size = <8000>; // L1, 32K
29 i-cache-size = <8000>; // L1, 32K
30 timebase-frequency = <0>; // 33 MHz, from uboot
31 bus-frequency = <0>; // 166 MHz
32 clock-frequency = <0>; // 825 MHz, from uboot
33 32-bit;
Andy Fleming2654d632006-08-18 18:04:34 -050034 };
35 };
36
37 memory {
38 device_type = "memory";
Andy Fleming2654d632006-08-18 18:04:34 -050039 reg = <00000000 08000000>; // 128M at 0x0
40 };
41
42 soc8548@e0000000 {
43 #address-cells = <1>;
44 #size-cells = <1>;
45 #interrupt-cells = <2>;
46 device_type = "soc";
Randy Vinson6af01252007-07-17 16:37:12 -070047 ranges = <00001000 e0001000 000ff000
48 80000000 80000000 10000000
49 e2000000 e2000000 00800000
50 90000000 90000000 10000000
51 e2800000 e2800000 00800000
52 a0000000 a0000000 20000000
53 e3000000 e3000000 01000000>;
54 reg = <e0000000 00001000>; // CCSRBAR
Andy Fleming2654d632006-08-18 18:04:34 -050055 bus-frequency = <0>;
56
Dave Jiang50cf6702007-05-10 10:03:05 -070057 memory-controller@2000 {
58 compatible = "fsl,8548-memory-controller";
59 reg = <2000 1000>;
60 interrupt-parent = <&mpic>;
Kumar Galab533f8a2007-07-03 02:35:35 -050061 interrupts = <12 2>;
Dave Jiang50cf6702007-05-10 10:03:05 -070062 };
63
64 l2-cache-controller@20000 {
65 compatible = "fsl,8548-l2-cache-controller";
66 reg = <20000 1000>;
67 cache-line-size = <20>; // 32 bytes
68 cache-size = <80000>; // L2, 512K
69 interrupt-parent = <&mpic>;
Kumar Galab533f8a2007-07-03 02:35:35 -050070 interrupts = <10 2>;
Dave Jiang50cf6702007-05-10 10:03:05 -070071 };
72
Andy Fleming2654d632006-08-18 18:04:34 -050073 i2c@3000 {
74 device_type = "i2c";
75 compatible = "fsl-i2c";
76 reg = <3000 100>;
Kumar Galab533f8a2007-07-03 02:35:35 -050077 interrupts = <2b 2>;
Kumar Gala52094872007-02-17 16:04:23 -060078 interrupt-parent = <&mpic>;
Andy Fleming2654d632006-08-18 18:04:34 -050079 dfsrr;
80 };
81
82 mdio@24520 {
83 #address-cells = <1>;
84 #size-cells = <0>;
85 device_type = "mdio";
86 compatible = "gianfar";
87 reg = <24520 20>;
Kumar Gala52094872007-02-17 16:04:23 -060088 phy0: ethernet-phy@0 {
89 interrupt-parent = <&mpic>;
Kumar Gala58fe2552007-07-03 03:05:58 -050090 interrupts = <5 1>;
Andy Fleming2654d632006-08-18 18:04:34 -050091 reg = <0>;
92 device_type = "ethernet-phy";
93 };
Kumar Gala52094872007-02-17 16:04:23 -060094 phy1: ethernet-phy@1 {
95 interrupt-parent = <&mpic>;
Kumar Gala58fe2552007-07-03 03:05:58 -050096 interrupts = <5 1>;
Andy Fleming2654d632006-08-18 18:04:34 -050097 reg = <1>;
98 device_type = "ethernet-phy";
99 };
Kumar Gala52094872007-02-17 16:04:23 -0600100 phy2: ethernet-phy@2 {
101 interrupt-parent = <&mpic>;
Kumar Gala58fe2552007-07-03 03:05:58 -0500102 interrupts = <5 1>;
Andy Fleming2654d632006-08-18 18:04:34 -0500103 reg = <2>;
104 device_type = "ethernet-phy";
105 };
Kumar Gala52094872007-02-17 16:04:23 -0600106 phy3: ethernet-phy@3 {
107 interrupt-parent = <&mpic>;
Kumar Gala58fe2552007-07-03 03:05:58 -0500108 interrupts = <5 1>;
Andy Fleming2654d632006-08-18 18:04:34 -0500109 reg = <3>;
110 device_type = "ethernet-phy";
111 };
112 };
113
114 ethernet@24000 {
115 #address-cells = <1>;
116 #size-cells = <0>;
117 device_type = "network";
118 model = "eTSEC";
119 compatible = "gianfar";
120 reg = <24000 1000>;
Timur Tabieae98262007-06-22 14:33:15 -0500121 local-mac-address = [ 00 00 00 00 00 00 ];
Kumar Galab533f8a2007-07-03 02:35:35 -0500122 interrupts = <1d 2 1e 2 22 2>;
Kumar Gala52094872007-02-17 16:04:23 -0600123 interrupt-parent = <&mpic>;
124 phy-handle = <&phy0>;
Andy Fleming2654d632006-08-18 18:04:34 -0500125 };
126
127 ethernet@25000 {
128 #address-cells = <1>;
129 #size-cells = <0>;
130 device_type = "network";
131 model = "eTSEC";
132 compatible = "gianfar";
133 reg = <25000 1000>;
Timur Tabieae98262007-06-22 14:33:15 -0500134 local-mac-address = [ 00 00 00 00 00 00 ];
Kumar Galab533f8a2007-07-03 02:35:35 -0500135 interrupts = <23 2 24 2 28 2>;
Kumar Gala52094872007-02-17 16:04:23 -0600136 interrupt-parent = <&mpic>;
137 phy-handle = <&phy1>;
Andy Fleming2654d632006-08-18 18:04:34 -0500138 };
139
Kumar Gala52094872007-02-17 16:04:23 -0600140/* eTSEC 3/4 are currently broken
Andy Fleming2654d632006-08-18 18:04:34 -0500141 ethernet@26000 {
142 #address-cells = <1>;
143 #size-cells = <0>;
144 device_type = "network";
145 model = "eTSEC";
146 compatible = "gianfar";
147 reg = <26000 1000>;
Timur Tabieae98262007-06-22 14:33:15 -0500148 local-mac-address = [ 00 00 00 00 00 00 ];
Kumar Galab533f8a2007-07-03 02:35:35 -0500149 interrupts = <1f 2 20 2 21 2>;
Kumar Gala52094872007-02-17 16:04:23 -0600150 interrupt-parent = <&mpic>;
151 phy-handle = <&phy2>;
Andy Fleming2654d632006-08-18 18:04:34 -0500152 };
153
Andy Fleming2654d632006-08-18 18:04:34 -0500154 ethernet@27000 {
155 #address-cells = <1>;
156 #size-cells = <0>;
157 device_type = "network";
158 model = "eTSEC";
159 compatible = "gianfar";
160 reg = <27000 1000>;
Timur Tabieae98262007-06-22 14:33:15 -0500161 local-mac-address = [ 00 00 00 00 00 00 ];
Kumar Galab533f8a2007-07-03 02:35:35 -0500162 interrupts = <25 2 26 2 27 2>;
Kumar Gala52094872007-02-17 16:04:23 -0600163 interrupt-parent = <&mpic>;
164 phy-handle = <&phy3>;
Andy Fleming2654d632006-08-18 18:04:34 -0500165 };
166 */
167
168 serial@4500 {
169 device_type = "serial";
170 compatible = "ns16550";
Randy Vinson6af01252007-07-17 16:37:12 -0700171 reg = <4500 100>; // reg base, size
172 clock-frequency = <0>; // should we fill in in uboot?
Kumar Galab533f8a2007-07-03 02:35:35 -0500173 interrupts = <2a 2>;
Kumar Gala52094872007-02-17 16:04:23 -0600174 interrupt-parent = <&mpic>;
Andy Fleming2654d632006-08-18 18:04:34 -0500175 };
176
177 serial@4600 {
178 device_type = "serial";
179 compatible = "ns16550";
180 reg = <4600 100>; // reg base, size
Randy Vinson6af01252007-07-17 16:37:12 -0700181 clock-frequency = <0>; // should we fill in in uboot?
Kumar Galab533f8a2007-07-03 02:35:35 -0500182 interrupts = <2a 2>;
Kumar Gala52094872007-02-17 16:04:23 -0600183 interrupt-parent = <&mpic>;
Andy Fleming2654d632006-08-18 18:04:34 -0500184 };
185
Roy Zang68fb0d22007-06-13 17:13:42 +0800186 global-utilities@e0000 { //global utilities reg
187 compatible = "fsl,mpc8548-guts";
188 reg = <e0000 1000>;
189 fsl,has-rstcr;
190 };
191
Randy Vinson6af01252007-07-17 16:37:12 -0700192 pci@8000 {
193 interrupt-map-mask = <f800 0 0 7>;
Andy Fleming2654d632006-08-18 18:04:34 -0500194 interrupt-map = <
Roy Zang02edff52007-07-10 18:46:47 +0800195 /* IDSEL 0x4 (PCIX Slot 2) */
196 02000 0 0 1 &mpic 0 1
197 02000 0 0 2 &mpic 1 1
198 02000 0 0 3 &mpic 2 1
199 02000 0 0 4 &mpic 3 1
Andy Fleming2654d632006-08-18 18:04:34 -0500200
Roy Zang02edff52007-07-10 18:46:47 +0800201 /* IDSEL 0x5 (PCIX Slot 3) */
202 02800 0 0 1 &mpic 1 1
203 02800 0 0 2 &mpic 2 1
204 02800 0 0 3 &mpic 3 1
205 02800 0 0 4 &mpic 0 1
Andy Fleming2654d632006-08-18 18:04:34 -0500206
Roy Zang02edff52007-07-10 18:46:47 +0800207 /* IDSEL 0x6 (PCIX Slot 4) */
208 03000 0 0 1 &mpic 2 1
209 03000 0 0 2 &mpic 3 1
210 03000 0 0 3 &mpic 0 1
211 03000 0 0 4 &mpic 1 1
Andy Fleming2654d632006-08-18 18:04:34 -0500212
Roy Zang02edff52007-07-10 18:46:47 +0800213 /* IDSEL 0x8 (PCIX Slot 5) */
214 04000 0 0 1 &mpic 0 1
215 04000 0 0 2 &mpic 1 1
216 04000 0 0 3 &mpic 2 1
217 04000 0 0 4 &mpic 3 1
Andy Fleming2654d632006-08-18 18:04:34 -0500218
Roy Zang02edff52007-07-10 18:46:47 +0800219 /* IDSEL 0xC (Tsi310 bridge) */
220 06000 0 0 1 &mpic 0 1
221 06000 0 0 2 &mpic 1 1
222 06000 0 0 3 &mpic 2 1
223 06000 0 0 4 &mpic 3 1
Andy Fleming2654d632006-08-18 18:04:34 -0500224
Roy Zang02edff52007-07-10 18:46:47 +0800225 /* IDSEL 0x14 (Slot 2) */
226 0a000 0 0 1 &mpic 0 1
227 0a000 0 0 2 &mpic 1 1
228 0a000 0 0 3 &mpic 2 1
229 0a000 0 0 4 &mpic 3 1
Andy Fleming2654d632006-08-18 18:04:34 -0500230
Roy Zang02edff52007-07-10 18:46:47 +0800231 /* IDSEL 0x15 (Slot 3) */
232 0a800 0 0 1 &mpic 1 1
233 0a800 0 0 2 &mpic 2 1
234 0a800 0 0 3 &mpic 3 1
235 0a800 0 0 4 &mpic 0 1
Andy Fleming2654d632006-08-18 18:04:34 -0500236
Roy Zang02edff52007-07-10 18:46:47 +0800237 /* IDSEL 0x16 (Slot 4) */
238 0b000 0 0 1 &mpic 2 1
239 0b000 0 0 2 &mpic 3 1
240 0b000 0 0 3 &mpic 0 1
241 0b000 0 0 4 &mpic 1 1
242
243 /* IDSEL 0x18 (Slot 5) */
244 0c000 0 0 1 &mpic 0 1
245 0c000 0 0 2 &mpic 1 1
246 0c000 0 0 3 &mpic 2 1
247 0c000 0 0 4 &mpic 3 1
248
249 /* IDSEL 0x1C (Tsi310 bridge PCI primary) */
250 0E000 0 0 1 &mpic 0 1
251 0E000 0 0 2 &mpic 1 1
252 0E000 0 0 3 &mpic 2 1
Randy Vinson6af01252007-07-17 16:37:12 -0700253 0E000 0 0 4 &mpic 3 1>;
Roy Zang02edff52007-07-10 18:46:47 +0800254
Kumar Gala52094872007-02-17 16:04:23 -0600255 interrupt-parent = <&mpic>;
Kumar Galab533f8a2007-07-03 02:35:35 -0500256 interrupts = <18 2>;
Andy Fleming2654d632006-08-18 18:04:34 -0500257 bus-range = <0 0>;
Roy Zang02edff52007-07-10 18:46:47 +0800258 ranges = <02000000 0 80000000 80000000 0 10000000
259 01000000 0 00000000 e2000000 0 00800000>;
Andy Fleming2654d632006-08-18 18:04:34 -0500260 clock-frequency = <3f940aa>;
261 #interrupt-cells = <1>;
262 #size-cells = <2>;
263 #address-cells = <3>;
264 reg = <8000 1000>;
Roy Zang02edff52007-07-10 18:46:47 +0800265 compatible = "fsl,mpc8540-pcix", "fsl,mpc8540-pci";
Andy Fleming2654d632006-08-18 18:04:34 -0500266 device_type = "pci";
267
Randy Vinson6af01252007-07-17 16:37:12 -0700268 pci_bridge@1c {
269 interrupt-map-mask = <f800 0 0 7>;
270 interrupt-map = <
271
272 /* IDSEL 0x00 (PrPMC Site) */
273 0000 0 0 1 &mpic 0 1
274 0000 0 0 2 &mpic 1 1
275 0000 0 0 3 &mpic 2 1
276 0000 0 0 4 &mpic 3 1
277
278 /* IDSEL 0x04 (VIA chip) */
279 2000 0 0 1 &mpic 0 1
280 2000 0 0 2 &mpic 1 1
281 2000 0 0 3 &mpic 2 1
282 2000 0 0 4 &mpic 3 1
283
284 /* IDSEL 0x05 (8139) */
285 2800 0 0 1 &mpic 1 1
286
287 /* IDSEL 0x06 (Slot 6) */
288 3000 0 0 1 &mpic 2 1
289 3000 0 0 2 &mpic 3 1
290 3000 0 0 3 &mpic 0 1
291 3000 0 0 4 &mpic 1 1
292
293 /* IDESL 0x07 (Slot 7) */
294 3800 0 0 1 &mpic 3 1
295 3800 0 0 2 &mpic 0 1
296 3800 0 0 3 &mpic 1 1
297 3800 0 0 4 &mpic 2 1>;
298
299 reg = <e000 0 0 0 0>;
300 #interrupt-cells = <1>;
301 #size-cells = <2>;
302 #address-cells = <3>;
303 ranges = <02000000 0 80000000
304 02000000 0 80000000
305 0 20000000
306 01000000 0 00000000
307 01000000 0 00000000
308 0 00080000>;
309 clock-frequency = <1fca055>;
310
311 isa@4 {
312 device_type = "isa";
313 #interrupt-cells = <2>;
314 #size-cells = <1>;
315 #address-cells = <2>;
316 reg = <2000 0 0 0 0>;
317 ranges = <1 0 01000000 0 0 00001000>;
318 interrupt-parent = <&i8259>;
319
320 i8259: interrupt-controller@20 {
321 clock-frequency = <0>;
322 interrupt-controller;
323 device_type = "interrupt-controller";
324 reg = <1 20 2
325 1 a0 2
326 1 4d0 2>;
327 #address-cells = <0>;
328 #interrupt-cells = <2>;
329 built-in;
330 compatible = "chrp,iic";
331 interrupts = <0 1>;
332 interrupt-parent = <&mpic>;
333 };
334
335 rtc@70 {
336 compatible = "pnpPNP,b00";
337 reg = <1 70 2>;
338 };
339 };
Andy Fleming2654d632006-08-18 18:04:34 -0500340 };
341 };
342
343 pci@9000 {
Andy Fleming2654d632006-08-18 18:04:34 -0500344 interrupt-map-mask = <f800 0 0 7>;
345 interrupt-map = <
346
347 /* IDSEL 0x15 */
Kumar Galab533f8a2007-07-03 02:35:35 -0500348 a800 0 0 1 &mpic b 1
Randy Vinson6af01252007-07-17 16:37:12 -0700349 a800 0 0 2 &mpic 1 1
350 a800 0 0 3 &mpic 2 1
351 a800 0 0 4 &mpic 3 1>;
Roy Zang02edff52007-07-10 18:46:47 +0800352
Kumar Gala52094872007-02-17 16:04:23 -0600353 interrupt-parent = <&mpic>;
Kumar Galab533f8a2007-07-03 02:35:35 -0500354 interrupts = <19 2>;
Andy Fleming2654d632006-08-18 18:04:34 -0500355 bus-range = <0 0>;
Roy Zang02edff52007-07-10 18:46:47 +0800356 ranges = <02000000 0 90000000 90000000 0 10000000
357 01000000 0 00000000 e2800000 0 00800000>;
Andy Fleming2654d632006-08-18 18:04:34 -0500358 clock-frequency = <3f940aa>;
359 #interrupt-cells = <1>;
360 #size-cells = <2>;
361 #address-cells = <3>;
362 reg = <9000 1000>;
Roy Zang02edff52007-07-10 18:46:47 +0800363 compatible = "fsl,mpc8540-pci";
364 device_type = "pci";
365 };
366 /* PCI Express */
367 pcie@a000 {
368 interrupt-map-mask = <f800 0 0 7>;
369 interrupt-map = <
370
371 /* IDSEL 0x0 (PEX) */
372 00000 0 0 1 &mpic 0 1
373 00000 0 0 2 &mpic 1 1
374 00000 0 0 3 &mpic 2 1
375 00000 0 0 4 &mpic 3 1>;
376
377 interrupt-parent = <&mpic>;
378 interrupts = <1a 2>;
379 bus-range = <0 ff>;
380 ranges = <02000000 0 a0000000 a0000000 0 20000000
381 01000000 0 00000000 e3000000 0 08000000>;
382 clock-frequency = <1fca055>;
383 #interrupt-cells = <1>;
384 #size-cells = <2>;
385 #address-cells = <3>;
386 reg = <a000 1000>;
387 compatible = "fsl,mpc8548-pcie";
Andy Fleming2654d632006-08-18 18:04:34 -0500388 device_type = "pci";
389 };
390
Kumar Gala52094872007-02-17 16:04:23 -0600391 mpic: pic@40000 {
Andy Fleming2654d632006-08-18 18:04:34 -0500392 clock-frequency = <0>;
393 interrupt-controller;
394 #address-cells = <0>;
395 #interrupt-cells = <2>;
396 reg = <40000 40000>;
397 built-in;
398 compatible = "chrp,open-pic";
399 device_type = "open-pic";
400 big-endian;
401 };
402 };
403};