Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
[linux-2.6] / arch / powerpc / boot / dts / mpc8641_hpcn.dts
1 /*
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 {
20                 #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;
34                 };
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";
59                 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
65                 bus-frequency = <0>;
66
67                 i2c@3000 {
68                         device_type = "i2c";
69                         compatible = "fsl-i2c";
70                         reg = <3000 100>;
71                         interrupts = <2b 2>;
72                         interrupt-parent = <&mpic>;
73                         dfsrr;
74                 };
75
76                 i2c@3100 {
77                         device_type = "i2c";
78                         compatible = "fsl-i2c";
79                         reg = <3100 100>;
80                         interrupts = <2b 2>;
81                         interrupt-parent = <&mpic>;
82                         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>;
91                         phy0: ethernet-phy@0 {
92                                 interrupt-parent = <&mpic>;
93                                 interrupts = <a 1>;
94                                 reg = <0>;
95                                 device_type = "ethernet-phy";
96                         };
97                         phy1: ethernet-phy@1 {
98                                 interrupt-parent = <&mpic>;
99                                 interrupts = <a 1>;
100                                 reg = <1>;
101                                 device_type = "ethernet-phy";
102                         };
103                         phy2: ethernet-phy@2 {
104                                 interrupt-parent = <&mpic>;
105                                 interrupts = <a 1>;
106                                 reg = <2>;
107                                 device_type = "ethernet-phy";
108                         };
109                         phy3: ethernet-phy@3 {
110                                 interrupt-parent = <&mpic>;
111                                 interrupts = <a 1>;
112                                 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>;
124                         /*
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 ];
131                         interrupts = <1d 2 1e 2 22 2>;
132                         interrupt-parent = <&mpic>;
133                         phy-handle = <&phy0>;
134                         phy-connection-type = "rgmii-id";
135                 };
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>;
144                         /*
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 ];
151                         interrupts = <23 2 24 2 28 2>;
152                         interrupt-parent = <&mpic>;
153                         phy-handle = <&phy1>;
154                         phy-connection-type = "rgmii-id";
155                 };
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>;
164                         /*
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 ];
171                         interrupts = <1F 2 20 2 21 2>;
172                         interrupt-parent = <&mpic>;
173                         phy-handle = <&phy2>;
174                         phy-connection-type = "rgmii-id";
175                 };
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>;
184                         /*
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 ];
191                         interrupts = <25 2 26 2 27 2>;
192                         interrupt-parent = <&mpic>;
193                         phy-handle = <&phy3>;
194                         phy-connection-type = "rgmii-id";
195                 };
196                 serial@4500 {
197                         device_type = "serial";
198                         compatible = "ns16550";
199                         reg = <4500 100>;
200                         clock-frequency = <0>;
201                         interrupts = <2a 2>;
202                         interrupt-parent = <&mpic>;
203                 };
204
205                 serial@4600 {
206                         device_type = "serial";
207                         compatible = "ns16550";
208                         reg = <4600 100>;
209                         clock-frequency = <0>;
210                         interrupts = <1c 2>;
211                         interrupt-parent = <&mpic>;
212                 };
213
214                 pcie@8000 {
215                         compatible = "fsl,mpc8641-pcie";
216                         device_type = "pci";
217                         #interrupt-cells = <1>;
218                         #size-cells = <2>;
219                         #address-cells = <3>;
220                         reg = <8000 1000>;
221                         bus-range = <0 ff>;
222                         ranges = <02000000 0 80000000 80000000 0 20000000
223                                   01000000 0 00000000 e2000000 0 00100000>;
224                         clock-frequency = <1fca055>;
225                         interrupt-parent = <&mpic>;
226                         interrupts = <18 2>;
227                         interrupt-map-mask = <f800 0 0 7>;
228                         interrupt-map = <
229                                 /* IDSEL 0x11 */
230                                 8800 0 0 1 &i8259 3 2
231                                 8800 0 0 2 &i8259 4 2
232                                 8800 0 0 3 &i8259 5 2
233                                 8800 0 0 4 &i8259 6 2
234
235                                 /* IDSEL 0x12 */
236                                 9000 0 0 1 &i8259 4 2
237                                 9000 0 0 2 &i8259 5 2
238                                 9000 0 0 3 &i8259 6 2
239                                 9000 0 0 4 &i8259 3 2
240
241                                 /* IDSEL 0x13 */
242                                 9800 0 0 1 &i8259 0 0
243                                 9800 0 0 2 &i8259 0 0
244                                 9800 0 0 3 &i8259 0 0
245                                 9800 0 0 4 &i8259 0 0
246
247                                 /* IDSEL 0x14 */
248                                 a000 0 0 1 &i8259 0 0
249                                 a000 0 0 2 &i8259 0 0
250                                 a000 0 0 3 &i8259 0 0
251                                 a000 0 0 4 &i8259 0 0
252
253                                 /* IDSEL 0x15 */
254                                 a800 0 0 1 &i8259 0 0
255                                 a800 0 0 2 &i8259 0 0
256                                 a800 0 0 3 &i8259 0 0
257                                 a800 0 0 4 &i8259 0 0
258
259                                 /* IDSEL 0x16 */
260                                 b000 0 0 1 &i8259 0 0
261                                 b000 0 0 2 &i8259 0 0
262                                 b000 0 0 3 &i8259 0 0
263                                 b000 0 0 4 &i8259 0 0
264
265                                 /* IDSEL 0x17 */
266                                 b800 0 0 1 &i8259 0 0
267                                 b800 0 0 2 &i8259 0 0
268                                 b800 0 0 3 &i8259 0 0
269                                 b800 0 0 4 &i8259 0 0
270
271                                 /* IDSEL 0x18 */
272                                 c000 0 0 1 &i8259 0 0
273                                 c000 0 0 2 &i8259 0 0
274                                 c000 0 0 3 &i8259 0 0
275                                 c000 0 0 4 &i8259 0 0
276
277                                 /* IDSEL 0x19 */
278                                 c800 0 0 1 &i8259 0 0
279                                 c800 0 0 2 &i8259 0 0
280                                 c800 0 0 3 &i8259 0 0
281                                 c800 0 0 4 &i8259 0 0
282
283                                 /* IDSEL 0x1a */
284                                 d000 0 0 1 &i8259 6 2
285                                 d000 0 0 2 &i8259 3 2
286                                 d000 0 0 3 &i8259 4 2
287                                 d000 0 0 4 &i8259 5 2
288
289
290                                 /* IDSEL 0x1b */
291                                 d800 0 0 1 &i8259 5 2
292                                 d800 0 0 2 &i8259 0 0
293                                 d800 0 0 3 &i8259 0 0
294                                 d800 0 0 4 &i8259 0 0
295
296                                 /* IDSEL 0x1c */
297                                 e000 0 0 1 &i8259 9 2
298                                 e000 0 0 2 &i8259 a 2
299                                 e000 0 0 3 &i8259 c 2
300                                 e000 0 0 4 &i8259 7 2
301
302                                 /* IDSEL 0x1d */
303                                 e800 0 0 1 &i8259 9 2
304                                 e800 0 0 2 &i8259 a 2
305                                 e800 0 0 3 &i8259 b 2
306                                 e800 0 0 4 &i8259 0 0
307
308                                 /* IDSEL 0x1e */
309                                 f000 0 0 1 &i8259 c 2
310                                 f000 0 0 2 &i8259 0 0
311                                 f000 0 0 3 &i8259 0 0
312                                 f000 0 0 4 &i8259 0 0
313
314                                 /* IDSEL 0x1f */
315                                 f800 0 0 1 &i8259 6 2
316                                 f800 0 0 2 &i8259 0 0
317                                 f800 0 0 3 &i8259 0 0
318                                 f800 0 0 4 &i8259 0 0
319                                 >;
320                         uli1575@0 {
321                                 reg = <0 0 0 0 0>;
322                                 #size-cells = <2>;
323                                 #address-cells = <3>;
324                                 ranges = <02000000 0 80000000
325                                           02000000 0 80000000
326                                           0 20000000
327                                           01000000 0 00000000
328                                           01000000 0 00000000
329                                           0 00100000>;
330
331                                 pci_bridge@0 {
332                                         reg = <0 0 0 0 0>;
333                                         #size-cells = <2>;
334                                         #address-cells = <3>;
335                                         ranges = <02000000 0 80000000
336                                                   02000000 0 80000000
337                                                   0 20000000
338                                                   01000000 0 00000000
339                                                   01000000 0 00000000
340                                                   0 00100000>;
341
342                                         isa@1e {
343                                                 device_type = "isa";
344                                                 #interrupt-cells = <2>;
345                                                 #size-cells = <1>;
346                                                 #address-cells = <2>;
347                                                 reg = <f000 0 0 0 0>;
348                                                 ranges = <1 0 01000000 0 0
349                                                           00001000>;
350                                                 interrupt-parent = <&i8259>;
351
352                                                 i8259: interrupt-controller@20 {
353                                                         reg = <1 20 2
354                                                                1 a0 2
355                                                                1 4d0 2>;
356                                                         clock-frequency = <0>;
357                                                         interrupt-controller;
358                                                         device_type = "interrupt-controller";
359                                                         #address-cells = <0>;
360                                                         #interrupt-cells = <2>;
361                                                         built-in;
362                                                         compatible = "chrp,iic";
363                                                         interrupts = <9 2>;
364                                                         interrupt-parent =
365                                                                 <&mpic>;
366                                                 };
367
368                                                 i8042@60 {
369                                                         #size-cells = <0>;
370                                                         #address-cells = <1>;
371                                                         reg = <1 60 1 1 64 1>;
372                                                         interrupts = <1 3 c 3>;
373                                                         interrupt-parent =
374                                                                 <&i8259>;
375
376                                                         keyboard@0 {
377                                                                 reg = <0>;
378                                                                 compatible = "pnpPNP,303";
379                                                         };
380
381                                                         mouse@1 {
382                                                                 reg = <1>;
383                                                                 compatible = "pnpPNP,f03";
384                                                         };
385                                                 };
386
387                                                 rtc@70 {
388                                                         compatible =
389                                                                 "pnpPNP,b00";
390                                                         reg = <1 70 2>;
391                                                 };
392
393                                                 gpio@400 {
394                                                         reg = <1 400 80>;
395                                                 };
396                                         };
397                                 };
398                         };
399
400                 };
401
402                 pcie@9000 {
403                         compatible = "fsl,mpc8641-pcie";
404                         device_type = "pci";
405                         #interrupt-cells = <1>;
406                         #size-cells = <2>;
407                         #address-cells = <3>;
408                         reg = <9000 1000>;
409                         bus-range = <0 ff>;
410                         ranges = <02000000 0 a0000000 a0000000 0 20000000
411                                   01000000 0 00000000 e3000000 0 00100000>;
412                         clock-frequency = <1fca055>;
413                         interrupt-parent = <&mpic>;
414                         interrupts = <19 2>;
415                         interrupt-map-mask = <f800 0 0 7>;
416                         interrupt-map = <
417                                 /* IDSEL 0x0 */
418                                 0000 0 0 1 &mpic 4 1
419                                 0000 0 0 2 &mpic 5 1
420                                 0000 0 0 3 &mpic 6 1
421                                 0000 0 0 4 &mpic 7 1
422                                 >;
423                 };
424
425                 mpic: pic@40000 {
426                         clock-frequency = <0>;
427                         interrupt-controller;
428                         #address-cells = <0>;
429                         #interrupt-cells = <2>;
430                         reg = <40000 40000>;
431                         built-in;
432                         compatible = "chrp,open-pic";
433                         device_type = "open-pic";
434                         big-endian;
435                 };
436         };
437 };