blob: b039f2136c9b41b976319a3007bf214f5dc860c9 [file] [log] [blame]
Jon Loeliger707ba162006-08-03 16:27:57 -05001/*
2 * MPC8641 HPCN Device Tree Source
3 *
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 = "MPC8641HPCN";
15 compatible = "mpc86xx";
16 #address-cells = <1>;
17 #size-cells = <1>;
18
Jon Loeliger1c1d1672007-12-05 11:32:50 -060019 aliases {
20 ethernet0 = &enet0;
21 ethernet1 = &enet1;
22 ethernet2 = &enet2;
23 ethernet3 = &enet3;
24 serial0 = &serial0;
25 serial1 = &serial1;
26 pci0 = &pci0;
27 pci1 = &pci1;
28 };
29
Jon Loeliger707ba162006-08-03 16:27:57 -050030 cpus {
Jon Loeliger707ba162006-08-03 16:27:57 -050031 #address-cells = <1>;
32 #size-cells = <0>;
33
34 PowerPC,8641@0 {
35 device_type = "cpu";
36 reg = <0>;
37 d-cache-line-size = <20>; // 32 bytes
38 i-cache-line-size = <20>; // 32 bytes
39 d-cache-size = <8000>; // L1, 32K
40 i-cache-size = <8000>; // L1, 32K
41 timebase-frequency = <0>; // 33 MHz, from uboot
42 bus-frequency = <0>; // From uboot
43 clock-frequency = <0>; // From uboot
Jon Loeliger707ba162006-08-03 16:27:57 -050044 };
45 PowerPC,8641@1 {
46 device_type = "cpu";
47 reg = <1>;
48 d-cache-line-size = <20>; // 32 bytes
49 i-cache-line-size = <20>; // 32 bytes
50 d-cache-size = <8000>; // L1, 32K
51 i-cache-size = <8000>; // L1, 32K
52 timebase-frequency = <0>; // 33 MHz, from uboot
53 bus-frequency = <0>; // From uboot
54 clock-frequency = <0>; // From uboot
Jon Loeliger707ba162006-08-03 16:27:57 -050055 };
56 };
57
58 memory {
59 device_type = "memory";
60 reg = <00000000 40000000>; // 1G at 0x0
61 };
62
63 soc8641@f8000000 {
64 #address-cells = <1>;
65 #size-cells = <1>;
Jon Loeliger707ba162006-08-03 16:27:57 -050066 device_type = "soc";
Kumar Gala1b3c5cd2007-09-12 18:23:46 -050067 ranges = <00000000 f8000000 00100000>;
Wade Farnsworthdfac6fa2007-06-04 13:24:47 -070068 reg = <f8000000 00001000>; // CCSRBAR
Jon Loeliger707ba162006-08-03 16:27:57 -050069 bus-frequency = <0>;
70
71 i2c@3000 {
72 device_type = "i2c";
73 compatible = "fsl-i2c";
74 reg = <3000 100>;
75 interrupts = <2b 2>;
Kumar Gala6d9065d2007-02-17 16:09:56 -060076 interrupt-parent = <&mpic>;
Jon Loeliger707ba162006-08-03 16:27:57 -050077 dfsrr;
78 };
79
80 i2c@3100 {
81 device_type = "i2c";
82 compatible = "fsl-i2c";
83 reg = <3100 100>;
84 interrupts = <2b 2>;
Kumar Gala6d9065d2007-02-17 16:09:56 -060085 interrupt-parent = <&mpic>;
Jon Loeliger707ba162006-08-03 16:27:57 -050086 dfsrr;
87 };
88
89 mdio@24520 {
90 #address-cells = <1>;
91 #size-cells = <0>;
92 device_type = "mdio";
93 compatible = "gianfar";
94 reg = <24520 20>;
Kumar Gala6d9065d2007-02-17 16:09:56 -060095 phy0: ethernet-phy@0 {
96 interrupt-parent = <&mpic>;
Kumar Galab533f8a2007-07-03 02:35:35 -050097 interrupts = <a 1>;
Jon Loeliger707ba162006-08-03 16:27:57 -050098 reg = <0>;
99 device_type = "ethernet-phy";
100 };
Kumar Gala6d9065d2007-02-17 16:09:56 -0600101 phy1: ethernet-phy@1 {
102 interrupt-parent = <&mpic>;
Kumar Galab533f8a2007-07-03 02:35:35 -0500103 interrupts = <a 1>;
Jon Loeliger707ba162006-08-03 16:27:57 -0500104 reg = <1>;
105 device_type = "ethernet-phy";
106 };
Kumar Gala6d9065d2007-02-17 16:09:56 -0600107 phy2: ethernet-phy@2 {
108 interrupt-parent = <&mpic>;
Kumar Galab533f8a2007-07-03 02:35:35 -0500109 interrupts = <a 1>;
Jon Loeliger707ba162006-08-03 16:27:57 -0500110 reg = <2>;
111 device_type = "ethernet-phy";
112 };
Kumar Gala6d9065d2007-02-17 16:09:56 -0600113 phy3: ethernet-phy@3 {
114 interrupt-parent = <&mpic>;
Kumar Galab533f8a2007-07-03 02:35:35 -0500115 interrupts = <a 1>;
Jon Loeliger707ba162006-08-03 16:27:57 -0500116 reg = <3>;
117 device_type = "ethernet-phy";
118 };
119 };
120
Jon Loeliger1c1d1672007-12-05 11:32:50 -0600121 enet0: ethernet@24000 {
Jon Loeliger707ba162006-08-03 16:27:57 -0500122 #address-cells = <1>;
123 #size-cells = <0>;
124 device_type = "network";
125 model = "TSEC";
126 compatible = "gianfar";
127 reg = <24000 1000>;
Timur Tabieae98262007-06-22 14:33:15 -0500128 /*
129 * mac-address is deprecated and will be removed
130 * in 2.6.25. Only recent versions of
131 * U-Boot support local-mac-address, however.
132 */
133 mac-address = [ 00 00 00 00 00 00 ];
134 local-mac-address = [ 00 00 00 00 00 00 ];
Jon Loeliger707ba162006-08-03 16:27:57 -0500135 interrupts = <1d 2 1e 2 22 2>;
Kumar Gala6d9065d2007-02-17 16:09:56 -0600136 interrupt-parent = <&mpic>;
137 phy-handle = <&phy0>;
Andy Flemingcc651852007-07-10 17:28:49 -0500138 phy-connection-type = "rgmii-id";
Jon Loeliger707ba162006-08-03 16:27:57 -0500139 };
140
Jon Loeliger1c1d1672007-12-05 11:32:50 -0600141 enet1: ethernet@25000 {
Jon Loeliger707ba162006-08-03 16:27:57 -0500142 #address-cells = <1>;
143 #size-cells = <0>;
144 device_type = "network";
145 model = "TSEC";
146 compatible = "gianfar";
147 reg = <25000 1000>;
Timur Tabieae98262007-06-22 14:33:15 -0500148 /*
149 * mac-address is deprecated and will be removed
150 * in 2.6.25. Only recent versions of
151 * U-Boot support local-mac-address, however.
152 */
153 mac-address = [ 00 00 00 00 00 00 ];
154 local-mac-address = [ 00 00 00 00 00 00 ];
Jon Loeliger707ba162006-08-03 16:27:57 -0500155 interrupts = <23 2 24 2 28 2>;
Kumar Gala6d9065d2007-02-17 16:09:56 -0600156 interrupt-parent = <&mpic>;
157 phy-handle = <&phy1>;
Andy Flemingcc651852007-07-10 17:28:49 -0500158 phy-connection-type = "rgmii-id";
Jon Loeliger707ba162006-08-03 16:27:57 -0500159 };
160
Jon Loeliger1c1d1672007-12-05 11:32:50 -0600161 enet2: ethernet@26000 {
Jon Loeliger707ba162006-08-03 16:27:57 -0500162 #address-cells = <1>;
163 #size-cells = <0>;
164 device_type = "network";
165 model = "TSEC";
166 compatible = "gianfar";
167 reg = <26000 1000>;
Timur Tabieae98262007-06-22 14:33:15 -0500168 /*
169 * mac-address is deprecated and will be removed
170 * in 2.6.25. Only recent versions of
171 * U-Boot support local-mac-address, however.
172 */
173 mac-address = [ 00 00 00 00 00 00 ];
174 local-mac-address = [ 00 00 00 00 00 00 ];
Jon Loeliger707ba162006-08-03 16:27:57 -0500175 interrupts = <1F 2 20 2 21 2>;
Kumar Gala6d9065d2007-02-17 16:09:56 -0600176 interrupt-parent = <&mpic>;
177 phy-handle = <&phy2>;
Andy Flemingcc651852007-07-10 17:28:49 -0500178 phy-connection-type = "rgmii-id";
Jon Loeliger707ba162006-08-03 16:27:57 -0500179 };
180
Jon Loeliger1c1d1672007-12-05 11:32:50 -0600181 enet3: ethernet@27000 {
Jon Loeliger707ba162006-08-03 16:27:57 -0500182 #address-cells = <1>;
183 #size-cells = <0>;
184 device_type = "network";
185 model = "TSEC";
186 compatible = "gianfar";
187 reg = <27000 1000>;
Timur Tabieae98262007-06-22 14:33:15 -0500188 /*
189 * mac-address is deprecated and will be removed
190 * in 2.6.25. Only recent versions of
191 * U-Boot support local-mac-address, however.
192 */
193 mac-address = [ 00 00 00 00 00 00 ];
194 local-mac-address = [ 00 00 00 00 00 00 ];
Jon Loeliger707ba162006-08-03 16:27:57 -0500195 interrupts = <25 2 26 2 27 2>;
Kumar Gala6d9065d2007-02-17 16:09:56 -0600196 interrupt-parent = <&mpic>;
197 phy-handle = <&phy3>;
Andy Flemingcc651852007-07-10 17:28:49 -0500198 phy-connection-type = "rgmii-id";
Jon Loeliger707ba162006-08-03 16:27:57 -0500199 };
Jon Loeliger1c1d1672007-12-05 11:32:50 -0600200
201 serial0: serial@4500 {
Jon Loeliger707ba162006-08-03 16:27:57 -0500202 device_type = "serial";
203 compatible = "ns16550";
204 reg = <4500 100>;
205 clock-frequency = <0>;
206 interrupts = <2a 2>;
Kumar Gala6d9065d2007-02-17 16:09:56 -0600207 interrupt-parent = <&mpic>;
Jon Loeliger707ba162006-08-03 16:27:57 -0500208 };
209
Jon Loeliger1c1d1672007-12-05 11:32:50 -0600210 serial1: serial@4600 {
Jon Loeliger707ba162006-08-03 16:27:57 -0500211 device_type = "serial";
212 compatible = "ns16550";
213 reg = <4600 100>;
214 clock-frequency = <0>;
215 interrupts = <1c 2>;
Kumar Gala6d9065d2007-02-17 16:09:56 -0600216 interrupt-parent = <&mpic>;
Jon Loeliger707ba162006-08-03 16:27:57 -0500217 };
218
Kumar Gala1b3c5cd2007-09-12 18:23:46 -0500219 mpic: pic@40000 {
220 clock-frequency = <0>;
221 interrupt-controller;
222 #address-cells = <0>;
223 #interrupt-cells = <2>;
224 reg = <40000 40000>;
225 compatible = "chrp,open-pic";
226 device_type = "open-pic";
227 big-endian;
228 };
Kumar Galae1c15752007-10-04 01:04:57 -0500229
230 global-utilities@e0000 {
231 compatible = "fsl,mpc8641-guts";
232 reg = <e0000 1000>;
233 fsl,has-rstcr;
234 };
Kumar Gala1b3c5cd2007-09-12 18:23:46 -0500235 };
236
Jon Loeliger1c1d1672007-12-05 11:32:50 -0600237 pci0: pcie@f8008000 {
Kumar Gala1b3c5cd2007-09-12 18:23:46 -0500238 compatible = "fsl,mpc8641-pcie";
239 device_type = "pci";
240 #interrupt-cells = <1>;
241 #size-cells = <2>;
242 #address-cells = <3>;
243 reg = <f8008000 1000>;
244 bus-range = <0 ff>;
245 ranges = <02000000 0 80000000 80000000 0 20000000
246 01000000 0 00000000 e2000000 0 00100000>;
247 clock-frequency = <1fca055>;
248 interrupt-parent = <&mpic>;
249 interrupts = <18 2>;
Kumar Galabebfa062007-11-19 23:36:23 -0600250 interrupt-map-mask = <ff00 0 0 7>;
Kumar Gala1b3c5cd2007-09-12 18:23:46 -0500251 interrupt-map = <
Kumar Galabebfa062007-11-19 23:36:23 -0600252 /* IDSEL 0x11 func 0 - PCI slot 1 */
253 8800 0 0 1 &mpic 2 1
254 8800 0 0 2 &mpic 3 1
255 8800 0 0 3 &mpic 4 1
256 8800 0 0 4 &mpic 1 1
Kumar Gala1b3c5cd2007-09-12 18:23:46 -0500257
Kumar Galabebfa062007-11-19 23:36:23 -0600258 /* IDSEL 0x11 func 1 - PCI slot 1 */
259 8900 0 0 1 &mpic 2 1
260 8900 0 0 2 &mpic 3 1
261 8900 0 0 3 &mpic 4 1
262 8900 0 0 4 &mpic 1 1
263
264 /* IDSEL 0x11 func 2 - PCI slot 1 */
265 8a00 0 0 1 &mpic 2 1
266 8a00 0 0 2 &mpic 3 1
267 8a00 0 0 3 &mpic 4 1
268 8a00 0 0 4 &mpic 1 1
269
270 /* IDSEL 0x11 func 3 - PCI slot 1 */
271 8b00 0 0 1 &mpic 2 1
272 8b00 0 0 2 &mpic 3 1
273 8b00 0 0 3 &mpic 4 1
274 8b00 0 0 4 &mpic 1 1
275
276 /* IDSEL 0x11 func 4 - PCI slot 1 */
277 8c00 0 0 1 &mpic 2 1
278 8c00 0 0 2 &mpic 3 1
279 8c00 0 0 3 &mpic 4 1
280 8c00 0 0 4 &mpic 1 1
281
282 /* IDSEL 0x11 func 5 - PCI slot 1 */
283 8d00 0 0 1 &mpic 2 1
284 8d00 0 0 2 &mpic 3 1
285 8d00 0 0 3 &mpic 4 1
286 8d00 0 0 4 &mpic 1 1
287
288 /* IDSEL 0x11 func 6 - PCI slot 1 */
289 8e00 0 0 1 &mpic 2 1
290 8e00 0 0 2 &mpic 3 1
291 8e00 0 0 3 &mpic 4 1
292 8e00 0 0 4 &mpic 1 1
293
294 /* IDSEL 0x11 func 7 - PCI slot 1 */
295 8f00 0 0 1 &mpic 2 1
296 8f00 0 0 2 &mpic 3 1
297 8f00 0 0 3 &mpic 4 1
298 8f00 0 0 4 &mpic 1 1
299
300 /* IDSEL 0x12 func 0 - PCI slot 2 */
301 9000 0 0 1 &mpic 3 1
302 9000 0 0 2 &mpic 4 1
303 9000 0 0 3 &mpic 1 1
304 9000 0 0 4 &mpic 2 1
305
306 /* IDSEL 0x12 func 1 - PCI slot 2 */
307 9100 0 0 1 &mpic 3 1
308 9100 0 0 2 &mpic 4 1
309 9100 0 0 3 &mpic 1 1
310 9100 0 0 4 &mpic 2 1
311
312 /* IDSEL 0x12 func 2 - PCI slot 2 */
313 9200 0 0 1 &mpic 3 1
314 9200 0 0 2 &mpic 4 1
315 9200 0 0 3 &mpic 1 1
316 9200 0 0 4 &mpic 2 1
317
318 /* IDSEL 0x12 func 3 - PCI slot 2 */
319 9300 0 0 1 &mpic 3 1
320 9300 0 0 2 &mpic 4 1
321 9300 0 0 3 &mpic 1 1
322 9300 0 0 4 &mpic 2 1
323
324 /* IDSEL 0x12 func 4 - PCI slot 2 */
325 9400 0 0 1 &mpic 3 1
326 9400 0 0 2 &mpic 4 1
327 9400 0 0 3 &mpic 1 1
328 9400 0 0 4 &mpic 2 1
329
330 /* IDSEL 0x12 func 5 - PCI slot 2 */
331 9500 0 0 1 &mpic 3 1
332 9500 0 0 2 &mpic 4 1
333 9500 0 0 3 &mpic 1 1
334 9500 0 0 4 &mpic 2 1
335
336 /* IDSEL 0x12 func 6 - PCI slot 2 */
337 9600 0 0 1 &mpic 3 1
338 9600 0 0 2 &mpic 4 1
339 9600 0 0 3 &mpic 1 1
340 9600 0 0 4 &mpic 2 1
341
342 /* IDSEL 0x12 func 7 - PCI slot 2 */
343 9700 0 0 1 &mpic 3 1
344 9700 0 0 2 &mpic 4 1
345 9700 0 0 3 &mpic 1 1
346 9700 0 0 4 &mpic 2 1
Kumar Gala1b3c5cd2007-09-12 18:23:46 -0500347
348 // IDSEL 0x1c USB
Kumar Galabebfa062007-11-19 23:36:23 -0600349 e000 0 0 1 &i8259 c 2
350 e100 0 0 1 &i8259 9 2
351 e200 0 0 1 &i8259 a 2
352 e300 0 0 1 &i8259 b 2
Kumar Gala1b3c5cd2007-09-12 18:23:46 -0500353
354 // IDSEL 0x1d Audio
Kumar Galabebfa062007-11-19 23:36:23 -0600355 e800 0 0 1 &i8259 6 2
Kumar Gala1b3c5cd2007-09-12 18:23:46 -0500356
357 // IDSEL 0x1e Legacy
Kumar Galabebfa062007-11-19 23:36:23 -0600358 f000 0 0 1 &i8259 7 2
359 f100 0 0 1 &i8259 7 2
Kumar Gala1b3c5cd2007-09-12 18:23:46 -0500360
361 // IDSEL 0x1f IDE/SATA
Kumar Galabebfa062007-11-19 23:36:23 -0600362 f800 0 0 1 &i8259 e 2
363 f900 0 0 1 &i8259 5 2
Kumar Gala1b3c5cd2007-09-12 18:23:46 -0500364 >;
365
366 pcie@0 {
367 reg = <0 0 0 0 0>;
Jon Loeliger707ba162006-08-03 16:27:57 -0500368 #size-cells = <2>;
369 #address-cells = <3>;
Kumar Gala1b3c5cd2007-09-12 18:23:46 -0500370 device_type = "pci";
371 ranges = <02000000 0 80000000
372 02000000 0 80000000
373 0 20000000
Jon Loeliger707ba162006-08-03 16:27:57 -0500374
Kumar Gala1b3c5cd2007-09-12 18:23:46 -0500375 01000000 0 00000000
376 01000000 0 00000000
377 0 00100000>;
Wade Farnsworthdfac6fa2007-06-04 13:24:47 -0700378 uli1575@0 {
379 reg = <0 0 0 0 0>;
380 #size-cells = <2>;
381 #address-cells = <3>;
382 ranges = <02000000 0 80000000
383 02000000 0 80000000
384 0 20000000
385 01000000 0 00000000
386 01000000 0 00000000
387 0 00100000>;
Kumar Gala1b3c5cd2007-09-12 18:23:46 -0500388 isa@1e {
389 device_type = "isa";
390 #interrupt-cells = <2>;
391 #size-cells = <1>;
392 #address-cells = <2>;
393 reg = <f000 0 0 0 0>;
394 ranges = <1 0 01000000 0 0
395 00001000>;
396 interrupt-parent = <&i8259>;
Wade Farnsworthdfac6fa2007-06-04 13:24:47 -0700397
Kumar Gala1b3c5cd2007-09-12 18:23:46 -0500398 i8259: interrupt-controller@20 {
399 reg = <1 20 2
400 1 a0 2
401 1 4d0 2>;
402 interrupt-controller;
403 device_type = "interrupt-controller";
404 #address-cells = <0>;
Wade Farnsworthdfac6fa2007-06-04 13:24:47 -0700405 #interrupt-cells = <2>;
Kumar Gala1b3c5cd2007-09-12 18:23:46 -0500406 compatible = "chrp,iic";
407 interrupts = <9 2>;
408 interrupt-parent = <&mpic>;
409 };
Wade Farnsworthdfac6fa2007-06-04 13:24:47 -0700410
Kumar Gala1b3c5cd2007-09-12 18:23:46 -0500411 i8042@60 {
412 #size-cells = <0>;
413 #address-cells = <1>;
414 reg = <1 60 1 1 64 1>;
415 interrupts = <1 3 c 3>;
416 interrupt-parent =
417 <&i8259>;
418
419 keyboard@0 {
420 reg = <0>;
421 compatible = "pnpPNP,303";
Wade Farnsworthdfac6fa2007-06-04 13:24:47 -0700422 };
423
Kumar Gala1b3c5cd2007-09-12 18:23:46 -0500424 mouse@1 {
425 reg = <1>;
426 compatible = "pnpPNP,f03";
Wade Farnsworthdfac6fa2007-06-04 13:24:47 -0700427 };
Kumar Gala1b3c5cd2007-09-12 18:23:46 -0500428 };
Wade Farnsworthdfac6fa2007-06-04 13:24:47 -0700429
Kumar Gala1b3c5cd2007-09-12 18:23:46 -0500430 rtc@70 {
431 compatible =
432 "pnpPNP,b00";
433 reg = <1 70 2>;
434 };
Wade Farnsworthdfac6fa2007-06-04 13:24:47 -0700435
Kumar Gala1b3c5cd2007-09-12 18:23:46 -0500436 gpio@400 {
437 reg = <1 400 80>;
Wade Farnsworthdfac6fa2007-06-04 13:24:47 -0700438 };
439 };
Jon Loeliger707ba162006-08-03 16:27:57 -0500440 };
Jon Loeliger707ba162006-08-03 16:27:57 -0500441 };
Zhang Weie0e3c8d2007-03-07 11:47:41 -0600442
Kumar Gala1b3c5cd2007-09-12 18:23:46 -0500443 };
444
Jon Loeliger1c1d1672007-12-05 11:32:50 -0600445 pci1: pcie@f8009000 {
Kumar Gala1b3c5cd2007-09-12 18:23:46 -0500446 compatible = "fsl,mpc8641-pcie";
447 device_type = "pci";
448 #interrupt-cells = <1>;
449 #size-cells = <2>;
450 #address-cells = <3>;
451 reg = <f8009000 1000>;
452 bus-range = <0 ff>;
453 ranges = <02000000 0 a0000000 a0000000 0 20000000
454 01000000 0 00000000 e3000000 0 00100000>;
455 clock-frequency = <1fca055>;
456 interrupt-parent = <&mpic>;
457 interrupts = <19 2>;
458 interrupt-map-mask = <f800 0 0 7>;
459 interrupt-map = <
460 /* IDSEL 0x0 */
461 0000 0 0 1 &mpic 4 1
462 0000 0 0 2 &mpic 5 1
463 0000 0 0 3 &mpic 6 1
464 0000 0 0 4 &mpic 7 1
465 >;
466 pcie@0 {
467 reg = <0 0 0 0 0>;
Zhang Weie0e3c8d2007-03-07 11:47:41 -0600468 #size-cells = <2>;
469 #address-cells = <3>;
Kumar Gala1b3c5cd2007-09-12 18:23:46 -0500470 device_type = "pci";
471 ranges = <02000000 0 a0000000
472 02000000 0 a0000000
473 0 20000000
Zhang Weie0e3c8d2007-03-07 11:47:41 -0600474
Kumar Gala1b3c5cd2007-09-12 18:23:46 -0500475 01000000 0 00000000
476 01000000 0 00000000
477 0 00100000>;
Jon Loeliger707ba162006-08-03 16:27:57 -0500478 };
479 };
480};