blob: b0166e5c177e49d499ce4deab88a1eaa9c457a4c [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
19 cpus {
Jon Loeliger707ba162006-08-03 16:27:57 -050020 #address-cells = <1>;
21 #size-cells = <0>;
22
23 PowerPC,8641@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>; // From uboot
32 clock-frequency = <0>; // From uboot
33 32-bit;
Jon Loeliger707ba162006-08-03 16:27:57 -050034 };
35 PowerPC,8641@1 {
36 device_type = "cpu";
37 reg = <1>;
38 d-cache-line-size = <20>; // 32 bytes
39 i-cache-line-size = <20>; // 32 bytes
40 d-cache-size = <8000>; // L1, 32K
41 i-cache-size = <8000>; // L1, 32K
42 timebase-frequency = <0>; // 33 MHz, from uboot
43 bus-frequency = <0>; // From uboot
44 clock-frequency = <0>; // From uboot
45 32-bit;
46 };
47 };
48
49 memory {
50 device_type = "memory";
51 reg = <00000000 40000000>; // 1G at 0x0
52 };
53
54 soc8641@f8000000 {
55 #address-cells = <1>;
56 #size-cells = <1>;
57 #interrupt-cells = <2>;
58 device_type = "soc";
Wade Farnsworthdfac6fa2007-06-04 13:24:47 -070059 ranges = <00001000 f8001000 000ff000
60 80000000 80000000 20000000
61 e2000000 e2000000 00100000
62 a0000000 a0000000 20000000
63 e3000000 e3000000 00100000>;
64 reg = <f8000000 00001000>; // CCSRBAR
Jon Loeliger707ba162006-08-03 16:27:57 -050065 bus-frequency = <0>;
66
67 i2c@3000 {
68 device_type = "i2c";
69 compatible = "fsl-i2c";
70 reg = <3000 100>;
71 interrupts = <2b 2>;
Kumar Gala6d9065d2007-02-17 16:09:56 -060072 interrupt-parent = <&mpic>;
Jon Loeliger707ba162006-08-03 16:27:57 -050073 dfsrr;
74 };
75
76 i2c@3100 {
77 device_type = "i2c";
78 compatible = "fsl-i2c";
79 reg = <3100 100>;
80 interrupts = <2b 2>;
Kumar Gala6d9065d2007-02-17 16:09:56 -060081 interrupt-parent = <&mpic>;
Jon Loeliger707ba162006-08-03 16:27:57 -050082 dfsrr;
83 };
84
85 mdio@24520 {
86 #address-cells = <1>;
87 #size-cells = <0>;
88 device_type = "mdio";
89 compatible = "gianfar";
90 reg = <24520 20>;
Kumar Gala6d9065d2007-02-17 16:09:56 -060091 phy0: ethernet-phy@0 {
92 interrupt-parent = <&mpic>;
Kumar Galab533f8a2007-07-03 02:35:35 -050093 interrupts = <a 1>;
Jon Loeliger707ba162006-08-03 16:27:57 -050094 reg = <0>;
95 device_type = "ethernet-phy";
96 };
Kumar Gala6d9065d2007-02-17 16:09:56 -060097 phy1: ethernet-phy@1 {
98 interrupt-parent = <&mpic>;
Kumar Galab533f8a2007-07-03 02:35:35 -050099 interrupts = <a 1>;
Jon Loeliger707ba162006-08-03 16:27:57 -0500100 reg = <1>;
101 device_type = "ethernet-phy";
102 };
Kumar Gala6d9065d2007-02-17 16:09:56 -0600103 phy2: ethernet-phy@2 {
104 interrupt-parent = <&mpic>;
Kumar Galab533f8a2007-07-03 02:35:35 -0500105 interrupts = <a 1>;
Jon Loeliger707ba162006-08-03 16:27:57 -0500106 reg = <2>;
107 device_type = "ethernet-phy";
108 };
Kumar Gala6d9065d2007-02-17 16:09:56 -0600109 phy3: ethernet-phy@3 {
110 interrupt-parent = <&mpic>;
Kumar Galab533f8a2007-07-03 02:35:35 -0500111 interrupts = <a 1>;
Jon Loeliger707ba162006-08-03 16:27:57 -0500112 reg = <3>;
113 device_type = "ethernet-phy";
114 };
115 };
116
117 ethernet@24000 {
118 #address-cells = <1>;
119 #size-cells = <0>;
120 device_type = "network";
121 model = "TSEC";
122 compatible = "gianfar";
123 reg = <24000 1000>;
Timur Tabieae98262007-06-22 14:33:15 -0500124 /*
125 * mac-address is deprecated and will be removed
126 * in 2.6.25. Only recent versions of
127 * U-Boot support local-mac-address, however.
128 */
129 mac-address = [ 00 00 00 00 00 00 ];
130 local-mac-address = [ 00 00 00 00 00 00 ];
Jon Loeliger707ba162006-08-03 16:27:57 -0500131 interrupts = <1d 2 1e 2 22 2>;
Kumar Gala6d9065d2007-02-17 16:09:56 -0600132 interrupt-parent = <&mpic>;
133 phy-handle = <&phy0>;
Andy Flemingcc651852007-07-10 17:28:49 -0500134 phy-connection-type = "rgmii-id";
Jon Loeliger707ba162006-08-03 16:27:57 -0500135 };
136
137 ethernet@25000 {
138 #address-cells = <1>;
139 #size-cells = <0>;
140 device_type = "network";
141 model = "TSEC";
142 compatible = "gianfar";
143 reg = <25000 1000>;
Timur Tabieae98262007-06-22 14:33:15 -0500144 /*
145 * mac-address is deprecated and will be removed
146 * in 2.6.25. Only recent versions of
147 * U-Boot support local-mac-address, however.
148 */
149 mac-address = [ 00 00 00 00 00 00 ];
150 local-mac-address = [ 00 00 00 00 00 00 ];
Jon Loeliger707ba162006-08-03 16:27:57 -0500151 interrupts = <23 2 24 2 28 2>;
Kumar Gala6d9065d2007-02-17 16:09:56 -0600152 interrupt-parent = <&mpic>;
153 phy-handle = <&phy1>;
Andy Flemingcc651852007-07-10 17:28:49 -0500154 phy-connection-type = "rgmii-id";
Jon Loeliger707ba162006-08-03 16:27:57 -0500155 };
156
157 ethernet@26000 {
158 #address-cells = <1>;
159 #size-cells = <0>;
160 device_type = "network";
161 model = "TSEC";
162 compatible = "gianfar";
163 reg = <26000 1000>;
Timur Tabieae98262007-06-22 14:33:15 -0500164 /*
165 * mac-address is deprecated and will be removed
166 * in 2.6.25. Only recent versions of
167 * U-Boot support local-mac-address, however.
168 */
169 mac-address = [ 00 00 00 00 00 00 ];
170 local-mac-address = [ 00 00 00 00 00 00 ];
Jon Loeliger707ba162006-08-03 16:27:57 -0500171 interrupts = <1F 2 20 2 21 2>;
Kumar Gala6d9065d2007-02-17 16:09:56 -0600172 interrupt-parent = <&mpic>;
173 phy-handle = <&phy2>;
Andy Flemingcc651852007-07-10 17:28:49 -0500174 phy-connection-type = "rgmii-id";
Jon Loeliger707ba162006-08-03 16:27:57 -0500175 };
176
177 ethernet@27000 {
178 #address-cells = <1>;
179 #size-cells = <0>;
180 device_type = "network";
181 model = "TSEC";
182 compatible = "gianfar";
183 reg = <27000 1000>;
Timur Tabieae98262007-06-22 14:33:15 -0500184 /*
185 * mac-address is deprecated and will be removed
186 * in 2.6.25. Only recent versions of
187 * U-Boot support local-mac-address, however.
188 */
189 mac-address = [ 00 00 00 00 00 00 ];
190 local-mac-address = [ 00 00 00 00 00 00 ];
Jon Loeliger707ba162006-08-03 16:27:57 -0500191 interrupts = <25 2 26 2 27 2>;
Kumar Gala6d9065d2007-02-17 16:09:56 -0600192 interrupt-parent = <&mpic>;
193 phy-handle = <&phy3>;
Andy Flemingcc651852007-07-10 17:28:49 -0500194 phy-connection-type = "rgmii-id";
Jon Loeliger707ba162006-08-03 16:27:57 -0500195 };
196 serial@4500 {
197 device_type = "serial";
198 compatible = "ns16550";
199 reg = <4500 100>;
200 clock-frequency = <0>;
201 interrupts = <2a 2>;
Kumar Gala6d9065d2007-02-17 16:09:56 -0600202 interrupt-parent = <&mpic>;
Jon Loeliger707ba162006-08-03 16:27:57 -0500203 };
204
205 serial@4600 {
206 device_type = "serial";
207 compatible = "ns16550";
208 reg = <4600 100>;
209 clock-frequency = <0>;
210 interrupts = <1c 2>;
Kumar Gala6d9065d2007-02-17 16:09:56 -0600211 interrupt-parent = <&mpic>;
Jon Loeliger707ba162006-08-03 16:27:57 -0500212 };
213
Zang Roy-r619119ac4dd32007-07-10 18:46:35 +0800214 pcie@8000 {
215 compatible = "fsl,mpc8641-pcie";
Jon Loeliger707ba162006-08-03 16:27:57 -0500216 device_type = "pci";
217 #interrupt-cells = <1>;
218 #size-cells = <2>;
219 #address-cells = <3>;
220 reg = <8000 1000>;
Zhang Weibf7c0362007-05-22 11:38:26 +0800221 bus-range = <0 ff>;
Jon Loeliger707ba162006-08-03 16:27:57 -0500222 ranges = <02000000 0 80000000 80000000 0 20000000
223 01000000 0 00000000 e2000000 0 00100000>;
224 clock-frequency = <1fca055>;
Kumar Gala6d9065d2007-02-17 16:09:56 -0600225 interrupt-parent = <&mpic>;
Jon Loeliger707ba162006-08-03 16:27:57 -0500226 interrupts = <18 2>;
Kumar Galab66510c2007-08-16 23:55:55 -0500227 interrupt-map-mask = <fb00 0 0 0>;
Jon Loeliger707ba162006-08-03 16:27:57 -0500228 interrupt-map = <
229 /* IDSEL 0x11 */
Kumar Galab66510c2007-08-16 23:55:55 -0500230 8800 0 0 1 &i8259 9 2
231 8800 0 0 2 &i8259 a 2
232 8800 0 0 3 &i8259 b 2
233 8800 0 0 4 &i8259 c 2
Jon Loeliger707ba162006-08-03 16:27:57 -0500234
235 /* IDSEL 0x12 */
Kumar Galab66510c2007-08-16 23:55:55 -0500236 9000 0 0 1 &i8259 a 2
237 9000 0 0 2 &i8259 b 2
238 9000 0 0 3 &i8259 c 2
239 9000 0 0 4 &i8259 9 2
Jon Loeliger707ba162006-08-03 16:27:57 -0500240
Kumar Galab66510c2007-08-16 23:55:55 -0500241 // IDSEL 0x1c USB
242 e000 0 0 0 &i8259 c 2
243 e100 0 0 0 &i8259 9 2
244 e200 0 0 0 &i8259 a 2
245 e300 0 0 0 &i8259 b 2
Jon Loeliger707ba162006-08-03 16:27:57 -0500246
Kumar Galab66510c2007-08-16 23:55:55 -0500247 // IDSEL 0x1d Audio
248 e800 0 0 0 &i8259 6 2
Jon Loeliger707ba162006-08-03 16:27:57 -0500249
Kumar Galab66510c2007-08-16 23:55:55 -0500250 // IDSEL 0x1e Legacy
251 f000 0 0 0 &i8259 7 2
252 f100 0 0 0 &i8259 7 2
Jon Loeliger707ba162006-08-03 16:27:57 -0500253
Kumar Galab66510c2007-08-16 23:55:55 -0500254 // IDSEL 0x1f IDE/SATA
255 f800 0 0 0 &i8259 e 2
256 f900 0 0 0 &i8259 5 2
Jon Loeliger707ba162006-08-03 16:27:57 -0500257 >;
Wade Farnsworthdfac6fa2007-06-04 13:24:47 -0700258 uli1575@0 {
259 reg = <0 0 0 0 0>;
260 #size-cells = <2>;
261 #address-cells = <3>;
262 ranges = <02000000 0 80000000
263 02000000 0 80000000
264 0 20000000
265 01000000 0 00000000
266 01000000 0 00000000
267 0 00100000>;
268
269 pci_bridge@0 {
270 reg = <0 0 0 0 0>;
271 #size-cells = <2>;
272 #address-cells = <3>;
273 ranges = <02000000 0 80000000
274 02000000 0 80000000
275 0 20000000
276 01000000 0 00000000
277 01000000 0 00000000
278 0 00100000>;
279
280 isa@1e {
281 device_type = "isa";
282 #interrupt-cells = <2>;
283 #size-cells = <1>;
284 #address-cells = <2>;
285 reg = <f000 0 0 0 0>;
286 ranges = <1 0 01000000 0 0
287 00001000>;
288 interrupt-parent = <&i8259>;
289
290 i8259: interrupt-controller@20 {
291 reg = <1 20 2
292 1 a0 2
293 1 4d0 2>;
294 clock-frequency = <0>;
295 interrupt-controller;
296 device_type = "interrupt-controller";
297 #address-cells = <0>;
298 #interrupt-cells = <2>;
299 built-in;
300 compatible = "chrp,iic";
Kumar Galab533f8a2007-07-03 02:35:35 -0500301 interrupts = <9 2>;
Wade Farnsworthdfac6fa2007-06-04 13:24:47 -0700302 interrupt-parent =
303 <&mpic>;
304 };
305
306 i8042@60 {
307 #size-cells = <0>;
308 #address-cells = <1>;
309 reg = <1 60 1 1 64 1>;
310 interrupts = <1 3 c 3>;
311 interrupt-parent =
312 <&i8259>;
313
314 keyboard@0 {
315 reg = <0>;
316 compatible = "pnpPNP,303";
317 };
318
319 mouse@1 {
320 reg = <1>;
321 compatible = "pnpPNP,f03";
322 };
323 };
324
325 rtc@70 {
326 compatible =
327 "pnpPNP,b00";
328 reg = <1 70 2>;
329 };
330
331 gpio@400 {
332 reg = <1 400 80>;
333 };
334 };
335 };
Jon Loeliger707ba162006-08-03 16:27:57 -0500336 };
337
338 };
Zhang Weie0e3c8d2007-03-07 11:47:41 -0600339
Zang Roy-r619119ac4dd32007-07-10 18:46:35 +0800340 pcie@9000 {
341 compatible = "fsl,mpc8641-pcie";
Zhang Weie0e3c8d2007-03-07 11:47:41 -0600342 device_type = "pci";
343 #interrupt-cells = <1>;
344 #size-cells = <2>;
345 #address-cells = <3>;
346 reg = <9000 1000>;
347 bus-range = <0 ff>;
348 ranges = <02000000 0 a0000000 a0000000 0 20000000
349 01000000 0 00000000 e3000000 0 00100000>;
350 clock-frequency = <1fca055>;
351 interrupt-parent = <&mpic>;
352 interrupts = <19 2>;
353 interrupt-map-mask = <f800 0 0 7>;
354 interrupt-map = <
355 /* IDSEL 0x0 */
Kumar Galab533f8a2007-07-03 02:35:35 -0500356 0000 0 0 1 &mpic 4 1
357 0000 0 0 2 &mpic 5 1
358 0000 0 0 3 &mpic 6 1
359 0000 0 0 4 &mpic 7 1
Zhang Weie0e3c8d2007-03-07 11:47:41 -0600360 >;
361 };
362
Kumar Gala6d9065d2007-02-17 16:09:56 -0600363 mpic: pic@40000 {
Jon Loeliger707ba162006-08-03 16:27:57 -0500364 clock-frequency = <0>;
365 interrupt-controller;
366 #address-cells = <0>;
367 #interrupt-cells = <2>;
368 reg = <40000 40000>;
369 built-in;
370 compatible = "chrp,open-pic";
371 device_type = "open-pic";
Kumar Gala6d9065d2007-02-17 16:09:56 -0600372 big-endian;
Jon Loeliger707ba162006-08-03 16:27:57 -0500373 };
374 };
375};