blob: ddd8fbbb2171a2ec6c3d1b770e2e849457d3144b [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 {
Kumar Galaec9686c2007-12-11 23:17:24 -060072 #address-cells = <1>;
73 #size-cells = <0>;
74 cell-index = <0>;
Jon Loeliger707ba162006-08-03 16:27:57 -050075 compatible = "fsl-i2c";
76 reg = <3000 100>;
77 interrupts = <2b 2>;
Kumar Gala6d9065d2007-02-17 16:09:56 -060078 interrupt-parent = <&mpic>;
Jon Loeliger707ba162006-08-03 16:27:57 -050079 dfsrr;
80 };
81
82 i2c@3100 {
Kumar Galaec9686c2007-12-11 23:17:24 -060083 #address-cells = <1>;
84 #size-cells = <0>;
85 cell-index = <1>;
Jon Loeliger707ba162006-08-03 16:27:57 -050086 compatible = "fsl-i2c";
87 reg = <3100 100>;
88 interrupts = <2b 2>;
Kumar Gala6d9065d2007-02-17 16:09:56 -060089 interrupt-parent = <&mpic>;
Jon Loeliger707ba162006-08-03 16:27:57 -050090 dfsrr;
91 };
92
93 mdio@24520 {
94 #address-cells = <1>;
95 #size-cells = <0>;
Kumar Galae77b28e2007-12-12 00:28:35 -060096 compatible = "fsl,gianfar-mdio";
Jon Loeliger707ba162006-08-03 16:27:57 -050097 reg = <24520 20>;
Kumar Galae77b28e2007-12-12 00:28:35 -060098
Kumar Gala6d9065d2007-02-17 16:09:56 -060099 phy0: ethernet-phy@0 {
100 interrupt-parent = <&mpic>;
Kumar Galab533f8a2007-07-03 02:35:35 -0500101 interrupts = <a 1>;
Jon Loeliger707ba162006-08-03 16:27:57 -0500102 reg = <0>;
103 device_type = "ethernet-phy";
104 };
Kumar Gala6d9065d2007-02-17 16:09:56 -0600105 phy1: ethernet-phy@1 {
106 interrupt-parent = <&mpic>;
Kumar Galab533f8a2007-07-03 02:35:35 -0500107 interrupts = <a 1>;
Jon Loeliger707ba162006-08-03 16:27:57 -0500108 reg = <1>;
109 device_type = "ethernet-phy";
110 };
Kumar Gala6d9065d2007-02-17 16:09:56 -0600111 phy2: ethernet-phy@2 {
112 interrupt-parent = <&mpic>;
Kumar Galab533f8a2007-07-03 02:35:35 -0500113 interrupts = <a 1>;
Jon Loeliger707ba162006-08-03 16:27:57 -0500114 reg = <2>;
115 device_type = "ethernet-phy";
116 };
Kumar Gala6d9065d2007-02-17 16:09:56 -0600117 phy3: ethernet-phy@3 {
118 interrupt-parent = <&mpic>;
Kumar Galab533f8a2007-07-03 02:35:35 -0500119 interrupts = <a 1>;
Jon Loeliger707ba162006-08-03 16:27:57 -0500120 reg = <3>;
121 device_type = "ethernet-phy";
122 };
123 };
124
Jon Loeliger1c1d1672007-12-05 11:32:50 -0600125 enet0: ethernet@24000 {
Kumar Galae77b28e2007-12-12 00:28:35 -0600126 cell-index = <0>;
Jon Loeliger707ba162006-08-03 16:27:57 -0500127 device_type = "network";
128 model = "TSEC";
129 compatible = "gianfar";
130 reg = <24000 1000>;
Timur Tabieae98262007-06-22 14:33:15 -0500131 local-mac-address = [ 00 00 00 00 00 00 ];
Jon Loeliger707ba162006-08-03 16:27:57 -0500132 interrupts = <1d 2 1e 2 22 2>;
Kumar Gala6d9065d2007-02-17 16:09:56 -0600133 interrupt-parent = <&mpic>;
134 phy-handle = <&phy0>;
Andy Flemingcc651852007-07-10 17:28:49 -0500135 phy-connection-type = "rgmii-id";
Jon Loeliger707ba162006-08-03 16:27:57 -0500136 };
137
Jon Loeliger1c1d1672007-12-05 11:32:50 -0600138 enet1: ethernet@25000 {
Kumar Galae77b28e2007-12-12 00:28:35 -0600139 cell-index = <1>;
Jon Loeliger707ba162006-08-03 16:27:57 -0500140 device_type = "network";
141 model = "TSEC";
142 compatible = "gianfar";
143 reg = <25000 1000>;
Timur Tabieae98262007-06-22 14:33:15 -0500144 local-mac-address = [ 00 00 00 00 00 00 ];
Jon Loeliger707ba162006-08-03 16:27:57 -0500145 interrupts = <23 2 24 2 28 2>;
Kumar Gala6d9065d2007-02-17 16:09:56 -0600146 interrupt-parent = <&mpic>;
147 phy-handle = <&phy1>;
Andy Flemingcc651852007-07-10 17:28:49 -0500148 phy-connection-type = "rgmii-id";
Jon Loeliger707ba162006-08-03 16:27:57 -0500149 };
150
Jon Loeliger1c1d1672007-12-05 11:32:50 -0600151 enet2: ethernet@26000 {
Kumar Galae77b28e2007-12-12 00:28:35 -0600152 cell-index = <2>;
Jon Loeliger707ba162006-08-03 16:27:57 -0500153 device_type = "network";
154 model = "TSEC";
155 compatible = "gianfar";
156 reg = <26000 1000>;
Timur Tabieae98262007-06-22 14:33:15 -0500157 local-mac-address = [ 00 00 00 00 00 00 ];
Jon Loeliger707ba162006-08-03 16:27:57 -0500158 interrupts = <1F 2 20 2 21 2>;
Kumar Gala6d9065d2007-02-17 16:09:56 -0600159 interrupt-parent = <&mpic>;
160 phy-handle = <&phy2>;
Andy Flemingcc651852007-07-10 17:28:49 -0500161 phy-connection-type = "rgmii-id";
Jon Loeliger707ba162006-08-03 16:27:57 -0500162 };
163
Jon Loeliger1c1d1672007-12-05 11:32:50 -0600164 enet3: ethernet@27000 {
Kumar Galae77b28e2007-12-12 00:28:35 -0600165 cell-index = <3>;
Jon Loeliger707ba162006-08-03 16:27:57 -0500166 device_type = "network";
167 model = "TSEC";
168 compatible = "gianfar";
169 reg = <27000 1000>;
Timur Tabieae98262007-06-22 14:33:15 -0500170 local-mac-address = [ 00 00 00 00 00 00 ];
Jon Loeliger707ba162006-08-03 16:27:57 -0500171 interrupts = <25 2 26 2 27 2>;
Kumar Gala6d9065d2007-02-17 16:09:56 -0600172 interrupt-parent = <&mpic>;
173 phy-handle = <&phy3>;
Andy Flemingcc651852007-07-10 17:28:49 -0500174 phy-connection-type = "rgmii-id";
Jon Loeliger707ba162006-08-03 16:27:57 -0500175 };
Jon Loeliger1c1d1672007-12-05 11:32:50 -0600176
177 serial0: serial@4500 {
Jon Loeliger707ba162006-08-03 16:27:57 -0500178 device_type = "serial";
179 compatible = "ns16550";
180 reg = <4500 100>;
181 clock-frequency = <0>;
182 interrupts = <2a 2>;
Kumar Gala6d9065d2007-02-17 16:09:56 -0600183 interrupt-parent = <&mpic>;
Jon Loeliger707ba162006-08-03 16:27:57 -0500184 };
185
Jon Loeliger1c1d1672007-12-05 11:32:50 -0600186 serial1: serial@4600 {
Jon Loeliger707ba162006-08-03 16:27:57 -0500187 device_type = "serial";
188 compatible = "ns16550";
189 reg = <4600 100>;
190 clock-frequency = <0>;
191 interrupts = <1c 2>;
Kumar Gala6d9065d2007-02-17 16:09:56 -0600192 interrupt-parent = <&mpic>;
Jon Loeliger707ba162006-08-03 16:27:57 -0500193 };
194
Kumar Gala1b3c5cd2007-09-12 18:23:46 -0500195 mpic: pic@40000 {
196 clock-frequency = <0>;
197 interrupt-controller;
198 #address-cells = <0>;
199 #interrupt-cells = <2>;
200 reg = <40000 40000>;
201 compatible = "chrp,open-pic";
202 device_type = "open-pic";
203 big-endian;
204 };
Kumar Galae1c15752007-10-04 01:04:57 -0500205
206 global-utilities@e0000 {
207 compatible = "fsl,mpc8641-guts";
208 reg = <e0000 1000>;
209 fsl,has-rstcr;
210 };
Kumar Gala1b3c5cd2007-09-12 18:23:46 -0500211 };
212
Jon Loeliger1c1d1672007-12-05 11:32:50 -0600213 pci0: pcie@f8008000 {
Kumar Gala1b3c5cd2007-09-12 18:23:46 -0500214 compatible = "fsl,mpc8641-pcie";
215 device_type = "pci";
216 #interrupt-cells = <1>;
217 #size-cells = <2>;
218 #address-cells = <3>;
219 reg = <f8008000 1000>;
220 bus-range = <0 ff>;
221 ranges = <02000000 0 80000000 80000000 0 20000000
222 01000000 0 00000000 e2000000 0 00100000>;
223 clock-frequency = <1fca055>;
224 interrupt-parent = <&mpic>;
225 interrupts = <18 2>;
Kumar Galabebfa062007-11-19 23:36:23 -0600226 interrupt-map-mask = <ff00 0 0 7>;
Kumar Gala1b3c5cd2007-09-12 18:23:46 -0500227 interrupt-map = <
Kumar Galabebfa062007-11-19 23:36:23 -0600228 /* IDSEL 0x11 func 0 - PCI slot 1 */
229 8800 0 0 1 &mpic 2 1
230 8800 0 0 2 &mpic 3 1
231 8800 0 0 3 &mpic 4 1
232 8800 0 0 4 &mpic 1 1
Kumar Gala1b3c5cd2007-09-12 18:23:46 -0500233
Kumar Galabebfa062007-11-19 23:36:23 -0600234 /* IDSEL 0x11 func 1 - PCI slot 1 */
235 8900 0 0 1 &mpic 2 1
236 8900 0 0 2 &mpic 3 1
237 8900 0 0 3 &mpic 4 1
238 8900 0 0 4 &mpic 1 1
239
240 /* IDSEL 0x11 func 2 - PCI slot 1 */
241 8a00 0 0 1 &mpic 2 1
242 8a00 0 0 2 &mpic 3 1
243 8a00 0 0 3 &mpic 4 1
244 8a00 0 0 4 &mpic 1 1
245
246 /* IDSEL 0x11 func 3 - PCI slot 1 */
247 8b00 0 0 1 &mpic 2 1
248 8b00 0 0 2 &mpic 3 1
249 8b00 0 0 3 &mpic 4 1
250 8b00 0 0 4 &mpic 1 1
251
252 /* IDSEL 0x11 func 4 - PCI slot 1 */
253 8c00 0 0 1 &mpic 2 1
254 8c00 0 0 2 &mpic 3 1
255 8c00 0 0 3 &mpic 4 1
256 8c00 0 0 4 &mpic 1 1
257
258 /* IDSEL 0x11 func 5 - PCI slot 1 */
259 8d00 0 0 1 &mpic 2 1
260 8d00 0 0 2 &mpic 3 1
261 8d00 0 0 3 &mpic 4 1
262 8d00 0 0 4 &mpic 1 1
263
264 /* IDSEL 0x11 func 6 - PCI slot 1 */
265 8e00 0 0 1 &mpic 2 1
266 8e00 0 0 2 &mpic 3 1
267 8e00 0 0 3 &mpic 4 1
268 8e00 0 0 4 &mpic 1 1
269
270 /* IDSEL 0x11 func 7 - PCI slot 1 */
271 8f00 0 0 1 &mpic 2 1
272 8f00 0 0 2 &mpic 3 1
273 8f00 0 0 3 &mpic 4 1
274 8f00 0 0 4 &mpic 1 1
275
276 /* IDSEL 0x12 func 0 - PCI slot 2 */
277 9000 0 0 1 &mpic 3 1
278 9000 0 0 2 &mpic 4 1
279 9000 0 0 3 &mpic 1 1
280 9000 0 0 4 &mpic 2 1
281
282 /* IDSEL 0x12 func 1 - PCI slot 2 */
283 9100 0 0 1 &mpic 3 1
284 9100 0 0 2 &mpic 4 1
285 9100 0 0 3 &mpic 1 1
286 9100 0 0 4 &mpic 2 1
287
288 /* IDSEL 0x12 func 2 - PCI slot 2 */
289 9200 0 0 1 &mpic 3 1
290 9200 0 0 2 &mpic 4 1
291 9200 0 0 3 &mpic 1 1
292 9200 0 0 4 &mpic 2 1
293
294 /* IDSEL 0x12 func 3 - PCI slot 2 */
295 9300 0 0 1 &mpic 3 1
296 9300 0 0 2 &mpic 4 1
297 9300 0 0 3 &mpic 1 1
298 9300 0 0 4 &mpic 2 1
299
300 /* IDSEL 0x12 func 4 - PCI slot 2 */
301 9400 0 0 1 &mpic 3 1
302 9400 0 0 2 &mpic 4 1
303 9400 0 0 3 &mpic 1 1
304 9400 0 0 4 &mpic 2 1
305
306 /* IDSEL 0x12 func 5 - PCI slot 2 */
307 9500 0 0 1 &mpic 3 1
308 9500 0 0 2 &mpic 4 1
309 9500 0 0 3 &mpic 1 1
310 9500 0 0 4 &mpic 2 1
311
312 /* IDSEL 0x12 func 6 - PCI slot 2 */
313 9600 0 0 1 &mpic 3 1
314 9600 0 0 2 &mpic 4 1
315 9600 0 0 3 &mpic 1 1
316 9600 0 0 4 &mpic 2 1
317
318 /* IDSEL 0x12 func 7 - PCI slot 2 */
319 9700 0 0 1 &mpic 3 1
320 9700 0 0 2 &mpic 4 1
321 9700 0 0 3 &mpic 1 1
322 9700 0 0 4 &mpic 2 1
Kumar Gala1b3c5cd2007-09-12 18:23:46 -0500323
324 // IDSEL 0x1c USB
Kumar Galabebfa062007-11-19 23:36:23 -0600325 e000 0 0 1 &i8259 c 2
326 e100 0 0 1 &i8259 9 2
327 e200 0 0 1 &i8259 a 2
328 e300 0 0 1 &i8259 b 2
Kumar Gala1b3c5cd2007-09-12 18:23:46 -0500329
330 // IDSEL 0x1d Audio
Kumar Galabebfa062007-11-19 23:36:23 -0600331 e800 0 0 1 &i8259 6 2
Kumar Gala1b3c5cd2007-09-12 18:23:46 -0500332
333 // IDSEL 0x1e Legacy
Kumar Galabebfa062007-11-19 23:36:23 -0600334 f000 0 0 1 &i8259 7 2
335 f100 0 0 1 &i8259 7 2
Kumar Gala1b3c5cd2007-09-12 18:23:46 -0500336
337 // IDSEL 0x1f IDE/SATA
Kumar Galabebfa062007-11-19 23:36:23 -0600338 f800 0 0 1 &i8259 e 2
339 f900 0 0 1 &i8259 5 2
Kumar Gala1b3c5cd2007-09-12 18:23:46 -0500340 >;
341
342 pcie@0 {
343 reg = <0 0 0 0 0>;
Jon Loeliger707ba162006-08-03 16:27:57 -0500344 #size-cells = <2>;
345 #address-cells = <3>;
Kumar Gala1b3c5cd2007-09-12 18:23:46 -0500346 device_type = "pci";
347 ranges = <02000000 0 80000000
348 02000000 0 80000000
349 0 20000000
Jon Loeliger707ba162006-08-03 16:27:57 -0500350
Kumar Gala1b3c5cd2007-09-12 18:23:46 -0500351 01000000 0 00000000
352 01000000 0 00000000
353 0 00100000>;
Wade Farnsworthdfac6fa2007-06-04 13:24:47 -0700354 uli1575@0 {
355 reg = <0 0 0 0 0>;
356 #size-cells = <2>;
357 #address-cells = <3>;
358 ranges = <02000000 0 80000000
359 02000000 0 80000000
360 0 20000000
361 01000000 0 00000000
362 01000000 0 00000000
363 0 00100000>;
Kumar Gala1b3c5cd2007-09-12 18:23:46 -0500364 isa@1e {
365 device_type = "isa";
366 #interrupt-cells = <2>;
367 #size-cells = <1>;
368 #address-cells = <2>;
369 reg = <f000 0 0 0 0>;
370 ranges = <1 0 01000000 0 0
371 00001000>;
372 interrupt-parent = <&i8259>;
Wade Farnsworthdfac6fa2007-06-04 13:24:47 -0700373
Kumar Gala1b3c5cd2007-09-12 18:23:46 -0500374 i8259: interrupt-controller@20 {
375 reg = <1 20 2
376 1 a0 2
377 1 4d0 2>;
378 interrupt-controller;
379 device_type = "interrupt-controller";
380 #address-cells = <0>;
Wade Farnsworthdfac6fa2007-06-04 13:24:47 -0700381 #interrupt-cells = <2>;
Kumar Gala1b3c5cd2007-09-12 18:23:46 -0500382 compatible = "chrp,iic";
383 interrupts = <9 2>;
384 interrupt-parent = <&mpic>;
385 };
Wade Farnsworthdfac6fa2007-06-04 13:24:47 -0700386
Kumar Gala1b3c5cd2007-09-12 18:23:46 -0500387 i8042@60 {
388 #size-cells = <0>;
389 #address-cells = <1>;
390 reg = <1 60 1 1 64 1>;
391 interrupts = <1 3 c 3>;
392 interrupt-parent =
393 <&i8259>;
394
395 keyboard@0 {
396 reg = <0>;
397 compatible = "pnpPNP,303";
Wade Farnsworthdfac6fa2007-06-04 13:24:47 -0700398 };
399
Kumar Gala1b3c5cd2007-09-12 18:23:46 -0500400 mouse@1 {
401 reg = <1>;
402 compatible = "pnpPNP,f03";
Wade Farnsworthdfac6fa2007-06-04 13:24:47 -0700403 };
Kumar Gala1b3c5cd2007-09-12 18:23:46 -0500404 };
Wade Farnsworthdfac6fa2007-06-04 13:24:47 -0700405
Kumar Gala1b3c5cd2007-09-12 18:23:46 -0500406 rtc@70 {
407 compatible =
408 "pnpPNP,b00";
409 reg = <1 70 2>;
410 };
Wade Farnsworthdfac6fa2007-06-04 13:24:47 -0700411
Kumar Gala1b3c5cd2007-09-12 18:23:46 -0500412 gpio@400 {
413 reg = <1 400 80>;
Wade Farnsworthdfac6fa2007-06-04 13:24:47 -0700414 };
415 };
Jon Loeliger707ba162006-08-03 16:27:57 -0500416 };
Jon Loeliger707ba162006-08-03 16:27:57 -0500417 };
Zhang Weie0e3c8d2007-03-07 11:47:41 -0600418
Kumar Gala1b3c5cd2007-09-12 18:23:46 -0500419 };
420
Jon Loeliger1c1d1672007-12-05 11:32:50 -0600421 pci1: pcie@f8009000 {
Kumar Gala1b3c5cd2007-09-12 18:23:46 -0500422 compatible = "fsl,mpc8641-pcie";
423 device_type = "pci";
424 #interrupt-cells = <1>;
425 #size-cells = <2>;
426 #address-cells = <3>;
427 reg = <f8009000 1000>;
428 bus-range = <0 ff>;
429 ranges = <02000000 0 a0000000 a0000000 0 20000000
430 01000000 0 00000000 e3000000 0 00100000>;
431 clock-frequency = <1fca055>;
432 interrupt-parent = <&mpic>;
433 interrupts = <19 2>;
434 interrupt-map-mask = <f800 0 0 7>;
435 interrupt-map = <
436 /* IDSEL 0x0 */
437 0000 0 0 1 &mpic 4 1
438 0000 0 0 2 &mpic 5 1
439 0000 0 0 3 &mpic 6 1
440 0000 0 0 4 &mpic 7 1
441 >;
442 pcie@0 {
443 reg = <0 0 0 0 0>;
Zhang Weie0e3c8d2007-03-07 11:47:41 -0600444 #size-cells = <2>;
445 #address-cells = <3>;
Kumar Gala1b3c5cd2007-09-12 18:23:46 -0500446 device_type = "pci";
447 ranges = <02000000 0 a0000000
448 02000000 0 a0000000
449 0 20000000
Zhang Weie0e3c8d2007-03-07 11:47:41 -0600450
Kumar Gala1b3c5cd2007-09-12 18:23:46 -0500451 01000000 0 00000000
452 01000000 0 00000000
453 0 00100000>;
Jon Loeliger707ba162006-08-03 16:27:57 -0500454 };
455 };
456};