blob: 99d75ca621964c349ac00479c49d9c0cf67214e8 [file] [log] [blame]
Jon Loeliger5c8aa972006-04-26 17:58:56 -05001/*
Jon Loeliger465b9d82006-04-27 10:15:16 -05002 * MPC8641 HPCN Device Tree Source
Jon Loeliger5c8aa972006-04-26 17:58:56 -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 = "MPC8641HPCN";
15 compatible = "mpc86xx";
16 #address-cells = <1>;
17 #size-cells = <1>;
18 linux,phandle = <100>;
19
20 cpus {
Jon Loeligere97b6282006-05-19 12:33:09 -050021 #cpus = <2>;
Jon Loeliger5c8aa972006-04-26 17:58:56 -050022 #address-cells = <1>;
23 #size-cells = <0>;
24 linux,phandle = <200>;
25
26 PowerPC,8641@0 {
27 device_type = "cpu";
28 reg = <0>;
29 d-cache-line-size = <20>; // 32 bytes
30 i-cache-line-size = <20>; // 32 bytes
31 d-cache-size = <8000>; // L1, 32K
32 i-cache-size = <8000>; // L1, 32K
Haiying Wang5eb17a82006-05-26 10:13:04 -050033 timebase-frequency = <0>; // 33 MHz, from uboot
Jon Loeligere97b6282006-05-19 12:33:09 -050034 bus-frequency = <0>; // From uboot
35 clock-frequency = <0>; // From uboot
Jon Loeliger5c8aa972006-04-26 17:58:56 -050036 32-bit;
37 linux,phandle = <201>;
38 linux,boot-cpu;
39 };
Jon Loeligere97b6282006-05-19 12:33:09 -050040 PowerPC,8641@1 {
41 device_type = "cpu";
42 reg = <1>;
43 d-cache-line-size = <20>; // 32 bytes
44 i-cache-line-size = <20>; // 32 bytes
45 d-cache-size = <8000>; // L1, 32K
46 i-cache-size = <8000>; // L1, 32K
Haiying Wang5eb17a82006-05-26 10:13:04 -050047 timebase-frequency = <0>; // 33 MHz, from uboot
Jon Loeligere97b6282006-05-19 12:33:09 -050048 bus-frequency = <0>; // From uboot
49 clock-frequency = <0>; // From uboot
50 32-bit;
51 linux,phandle = <202>;
52 };
Jon Loeliger5c8aa972006-04-26 17:58:56 -050053 };
54
55 memory {
56 device_type = "memory";
57 linux,phandle = <300>;
Haiying Wang5eb17a82006-05-26 10:13:04 -050058 reg = <00000000 40000000>; // 1G at 0x0
Jon Loeliger5c8aa972006-04-26 17:58:56 -050059 };
60
61 soc8641@f8000000 {
62 #address-cells = <1>;
63 #size-cells = <1>;
64 #interrupt-cells = <2>;
65 device_type = "soc";
66 ranges = <0 f8000000 00100000>;
67 reg = <f8000000 00100000>; // CCSRBAR 1M
68 bus-frequency = <0>;
69
70 i2c@3000 {
71 device_type = "i2c";
72 compatible = "fsl-i2c";
73 reg = <3000 100>;
Zhang Weid52aa0d2006-06-20 17:47:15 +080074 interrupts = <2b 2>;
Jon Loeliger5c8aa972006-04-26 17:58:56 -050075 interrupt-parent = <40000>;
76 dfsrr;
77 };
78
Jon Loeligere97b6282006-05-19 12:33:09 -050079 i2c@3100 {
80 device_type = "i2c";
81 compatible = "fsl-i2c";
82 reg = <3100 100>;
Zhang Weid52aa0d2006-06-20 17:47:15 +080083 interrupts = <2b 2>;
Jon Loeligere97b6282006-05-19 12:33:09 -050084 interrupt-parent = <40000>;
85 dfsrr;
86 };
87
Jon Loeliger5c8aa972006-04-26 17:58:56 -050088 mdio@24520 {
89 #address-cells = <1>;
90 #size-cells = <0>;
91 device_type = "mdio";
92 compatible = "gianfar";
93 reg = <24520 20>;
94 linux,phandle = <24520>;
95 ethernet-phy@0 {
96 linux,phandle = <2452000>;
97 interrupt-parent = <40000>;
Zhang Weid52aa0d2006-06-20 17:47:15 +080098 interrupts = <4a 1>;
Jon Loeliger5c8aa972006-04-26 17:58:56 -050099 reg = <0>;
100 device_type = "ethernet-phy";
101 };
102 ethernet-phy@1 {
103 linux,phandle = <2452001>;
104 interrupt-parent = <40000>;
Zhang Weid52aa0d2006-06-20 17:47:15 +0800105 interrupts = <4a 1>;
Jon Loeliger5c8aa972006-04-26 17:58:56 -0500106 reg = <1>;
107 device_type = "ethernet-phy";
108 };
109 ethernet-phy@2 {
110 linux,phandle = <2452002>;
111 interrupt-parent = <40000>;
Zhang Weid52aa0d2006-06-20 17:47:15 +0800112 interrupts = <4a 1>;
Jon Loeliger5c8aa972006-04-26 17:58:56 -0500113 reg = <2>;
114 device_type = "ethernet-phy";
115 };
116 ethernet-phy@3 {
117 linux,phandle = <2452003>;
118 interrupt-parent = <40000>;
Zhang Weid52aa0d2006-06-20 17:47:15 +0800119 interrupts = <4a 1>;
Jon Loeliger5c8aa972006-04-26 17:58:56 -0500120 reg = <3>;
121 device_type = "ethernet-phy";
122 };
123 };
124
125 ethernet@24000 {
126 #address-cells = <1>;
127 #size-cells = <0>;
128 device_type = "network";
129 model = "TSEC";
130 compatible = "gianfar";
131 reg = <24000 1000>;
132 address = [ 00 E0 0C 00 73 00 ];
Zhang Weid52aa0d2006-06-20 17:47:15 +0800133 interrupts = <1d 2 1e 2 22 2>;
Jon Loeliger5c8aa972006-04-26 17:58:56 -0500134 interrupt-parent = <40000>;
135 phy-handle = <2452000>;
136 };
137
138 ethernet@25000 {
139 #address-cells = <1>;
140 #size-cells = <0>;
141 device_type = "network";
142 model = "TSEC";
143 compatible = "gianfar";
144 reg = <25000 1000>;
145 address = [ 00 E0 0C 00 73 01 ];
Zhang Weid52aa0d2006-06-20 17:47:15 +0800146 interrupts = <23 2 24 2 28 2>;
Jon Loeliger5c8aa972006-04-26 17:58:56 -0500147 interrupt-parent = <40000>;
148 phy-handle = <2452001>;
149 };
150
151 ethernet@26000 {
152 #address-cells = <1>;
153 #size-cells = <0>;
154 device_type = "network";
155 model = "TSEC";
156 compatible = "gianfar";
157 reg = <26000 1000>;
158 address = [ 00 E0 0C 00 02 FD ];
Zhang Weid52aa0d2006-06-20 17:47:15 +0800159 interrupts = <1F 2 20 2 21 2>;
Jon Loeliger5c8aa972006-04-26 17:58:56 -0500160 interrupt-parent = <40000>;
161 phy-handle = <2452002>;
162 };
163
164 ethernet@27000 {
165 #address-cells = <1>;
166 #size-cells = <0>;
167 device_type = "network";
168 model = "TSEC";
169 compatible = "gianfar";
170 reg = <27000 1000>;
171 address = [ 00 E0 0C 00 03 FD ];
Zhang Weid52aa0d2006-06-20 17:47:15 +0800172 interrupts = <25 2 26 2 27 2>;
Jon Loeliger5c8aa972006-04-26 17:58:56 -0500173 interrupt-parent = <40000>;
174 phy-handle = <2452003>;
175 };
176 serial@4500 {
177 device_type = "serial";
Zhang Weid52aa0d2006-06-20 17:47:15 +0800178 compatible = "ns16550";
Haiying Wang5eb17a82006-05-26 10:13:04 -0500179 reg = <4500 100>;
180 clock-frequency = <0>;
Zhang Weid52aa0d2006-06-20 17:47:15 +0800181 interrupts = <2a 2>;
Jon Loeliger5c8aa972006-04-26 17:58:56 -0500182 interrupt-parent = <40000>;
183 };
184
185 serial@4600 {
186 device_type = "serial";
187 compatible = "ns16550";
Haiying Wang5eb17a82006-05-26 10:13:04 -0500188 reg = <4600 100>;
189 clock-frequency = <0>;
Haiying Wangce28a7f2006-07-28 12:41:35 -0400190 interrupts = <1c 2>;
Jon Loeliger5c8aa972006-04-26 17:58:56 -0500191 interrupt-parent = <40000>;
192 };
193
Haiying Wang5eb17a82006-05-26 10:13:04 -0500194 pci@8000 {
195 compatible = "86xx";
196 device_type = "pci";
197 linux,phandle = <8000>;
198 #interrupt-cells = <1>;
199 #size-cells = <2>;
200 #address-cells = <3>;
201 reg = <8000 1000>;
202 bus-range = <0 fe>;
203 ranges = <02000000 0 80000000 80000000 0 20000000
204 01000000 0 00000000 e2000000 0 00100000>;
205 clock-frequency = <1fca055>;
206 interrupt-parent = <40000>;
Zhang Weid52aa0d2006-06-20 17:47:15 +0800207 interrupts = <18 2>;
Zhang Wei5f5fa752006-07-28 00:01:34 +0800208 interrupt-map-mask = <f800 0 0 7>;
Haiying Wang5eb17a82006-05-26 10:13:04 -0500209 interrupt-map = <
210 /* IDSEL 0x11 */
Zhang Wei5f5fa752006-07-28 00:01:34 +0800211 8800 0 0 1 4d0 3 2
212 8800 0 0 2 4d0 4 2
213 8800 0 0 3 4d0 5 2
214 8800 0 0 4 4d0 6 2
Haiying Wang5eb17a82006-05-26 10:13:04 -0500215
216 /* IDSEL 0x12 */
Zhang Wei5f5fa752006-07-28 00:01:34 +0800217 9000 0 0 1 4d0 4 2
218 9000 0 0 2 4d0 5 2
219 9000 0 0 3 4d0 6 2
220 9000 0 0 4 4d0 3 2
Haiying Wang5eb17a82006-05-26 10:13:04 -0500221
222 /* IDSEL 0x13 */
Zhang Wei5f5fa752006-07-28 00:01:34 +0800223 9800 0 0 1 4d0 0 0
224 9800 0 0 2 4d0 0 0
225 9800 0 0 3 4d0 0 0
226 9800 0 0 4 4d0 0 0
Haiying Wang5eb17a82006-05-26 10:13:04 -0500227
228 /* IDSEL 0x14 */
Zhang Wei5f5fa752006-07-28 00:01:34 +0800229 a000 0 0 1 4d0 0 0
230 a000 0 0 2 4d0 0 0
231 a000 0 0 3 4d0 0 0
232 a000 0 0 4 4d0 0 0
Haiying Wang5eb17a82006-05-26 10:13:04 -0500233
234 /* IDSEL 0x15 */
Zhang Wei5f5fa752006-07-28 00:01:34 +0800235 a800 0 0 1 4d0 0 0
236 a800 0 0 2 4d0 0 0
237 a800 0 0 3 4d0 0 0
238 a800 0 0 4 4d0 0 0
Haiying Wang5eb17a82006-05-26 10:13:04 -0500239
240 /* IDSEL 0x16 */
Zhang Wei5f5fa752006-07-28 00:01:34 +0800241 b000 0 0 1 4d0 0 0
242 b000 0 0 2 4d0 0 0
243 b000 0 0 3 4d0 0 0
244 b000 0 0 4 4d0 0 0
Haiying Wang5eb17a82006-05-26 10:13:04 -0500245
246 /* IDSEL 0x17 */
Zhang Wei5f5fa752006-07-28 00:01:34 +0800247 b800 0 0 1 4d0 0 0
248 b800 0 0 2 4d0 0 0
249 b800 0 0 3 4d0 0 0
250 b800 0 0 4 4d0 0 0
Haiying Wang5eb17a82006-05-26 10:13:04 -0500251
252 /* IDSEL 0x18 */
Zhang Wei5f5fa752006-07-28 00:01:34 +0800253 c000 0 0 1 4d0 0 0
254 c000 0 0 2 4d0 0 0
255 c000 0 0 3 4d0 0 0
256 c000 0 0 4 4d0 0 0
Haiying Wang5eb17a82006-05-26 10:13:04 -0500257
258 /* IDSEL 0x19 */
Zhang Wei5f5fa752006-07-28 00:01:34 +0800259 c800 0 0 1 4d0 0 0
260 c800 0 0 2 4d0 0 0
261 c800 0 0 3 4d0 0 0
262 c800 0 0 4 4d0 0 0
Haiying Wang5eb17a82006-05-26 10:13:04 -0500263
264 /* IDSEL 0x1a */
Zhang Wei5f5fa752006-07-28 00:01:34 +0800265 d000 0 0 1 4d0 6 2
266 d000 0 0 2 4d0 3 2
267 d000 0 0 3 4d0 4 2
268 d000 0 0 4 4d0 5 2
Haiying Wang5eb17a82006-05-26 10:13:04 -0500269
270
271 /* IDSEL 0x1b */
Zhang Wei5f5fa752006-07-28 00:01:34 +0800272 d800 0 0 1 4d0 5 2
273 d800 0 0 2 4d0 0 0
274 d800 0 0 3 4d0 0 0
275 d800 0 0 4 4d0 0 0
Haiying Wang5eb17a82006-05-26 10:13:04 -0500276
277 /* IDSEL 0x1c */
Zhang Wei5f5fa752006-07-28 00:01:34 +0800278 e000 0 0 1 4d0 9 2
279 e000 0 0 2 4d0 a 2
280 e000 0 0 3 4d0 c 2
281 e000 0 0 4 4d0 7 2
Haiying Wang5eb17a82006-05-26 10:13:04 -0500282
283 /* IDSEL 0x1d */
Zhang Wei5f5fa752006-07-28 00:01:34 +0800284 e800 0 0 1 4d0 9 2
285 e800 0 0 2 4d0 a 2
286 e800 0 0 3 4d0 b 2
287 e800 0 0 4 4d0 0 0
Haiying Wang5eb17a82006-05-26 10:13:04 -0500288
289 /* IDSEL 0x1e */
Zhang Wei5f5fa752006-07-28 00:01:34 +0800290 f000 0 0 1 4d0 c 2
291 f000 0 0 2 4d0 0 0
292 f000 0 0 3 4d0 0 0
293 f000 0 0 4 4d0 0 0
Haiying Wang5eb17a82006-05-26 10:13:04 -0500294
295 /* IDSEL 0x1f */
Zhang Wei5f5fa752006-07-28 00:01:34 +0800296 f800 0 0 1 4d0 6 2
297 f800 0 0 2 4d0 0 0
298 f800 0 0 3 4d0 0 0
299 f800 0 0 4 4d0 0 0
Haiying Wang5eb17a82006-05-26 10:13:04 -0500300 >;
Zhang Wei5f5fa752006-07-28 00:01:34 +0800301 i8259@4d0 {
302 linux,phandle = <4d0>;
303 clock-frequency = <0>;
304 interrupt-controller;
305 device_type = "interrupt-controller";
306 #address-cells = <0>;
307 #interrupt-cells = <2>;
308 built-in;
309 compatible = "chrp,iic";
310 big-endian;
311 interrupts = <49 2>;
312 interrupt-parent = <40000>;
313 };
314
Haiying Wang5eb17a82006-05-26 10:13:04 -0500315 };
Jon Loeliger5c8aa972006-04-26 17:58:56 -0500316 pic@40000 {
317 linux,phandle = <40000>;
318 clock-frequency = <0>;
319 interrupt-controller;
320 #address-cells = <0>;
321 #interrupt-cells = <2>;
322 reg = <40000 40000>;
323 built-in;
324 compatible = "chrp,open-pic";
325 device_type = "open-pic";
326 big-endian;
Zhang Weid52aa0d2006-06-20 17:47:15 +0800327 interrupts = <
328 10 2 11 2 12 2 13 2
329 14 2 15 2 16 2 17 2
330 18 2 19 2 1a 2 1b 2
331 1c 2 1d 2 1e 2 1f 2
332 20 2 21 2 22 2 23 2
333 24 2 25 2 26 2 27 2
334 28 2 29 2 2a 2 2b 2
335 2c 2 2d 2 2e 2 2f 2
336 30 2 31 2 32 2 33 2
337 34 2 35 2 36 2 37 2
338 38 2 39 2 2a 2 3b 2
339 3c 2 3d 2 3e 2 3f 2
340 48 1 49 2 4a 1
341 >;
342 interrupt-parent = <40000>;
Jon Loeliger5c8aa972006-04-26 17:58:56 -0500343 };
John Traill7f2de342006-08-09 14:33:50 +0100344 rio@c0000 {
345 #address-cells = <1>;
346 #size-cells = <0>;
347 device_type = "rio";
348 model = "pq38";
349 compatible = "85xx";
350 ranges = <0 c0000000 20000000>;
351 reg = <c0000 13000>;
352 linux,phandle = <c0000>;
353 };
354 rio_message@d3000 {
355 device_type = "network";
356 compatible = "85xx";
357 linux,phandle = <d3000>;
358 reg = <d3000 d3100>;
359 interrupts = <35 2 36 2>;
360 interrupt-parent = <40000>;
361 };
362 rio_message@d3100 {
363 device_type = "network";
364 compatible = "85xx";
365 linux,phandle = <d3100>;
366 reg = <d3100 d3200>;
367 interrupts = <37 2 38 2>;
368 interrupt-parent = <40000>;
369 };
370 rio_doorbell@d3400 {
371 device_type = "doorbell";
372 compatible = "85xx";
373 linux,phandle = <d3400>;
374 reg = <d3400 d34e0>;
375 interrupts = <31 2 32 2>;
376 interrupt-parent = <40000>;
377 };
378 rio_portwrite@d34e0 {
379 device_type = "portwrite";
380 compatible = "85xx";
381 linux,phandle = <d34e0>;
382 reg = <d34e0 d3500>;
383 interrupts = <30 2>;
384 interrupt-parent = <40000>;
385 };
Jon Loeliger5c8aa972006-04-26 17:58:56 -0500386 };
387};
388