]> err.no Git - linux-2.6/blob - arch/powerpc/boot/dts/mpc8641_hpcn.dts
f797662212bad545c05d448c22eb34e33192d2fb
[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                 };
34                 PowerPC,8641@1 {
35                         device_type = "cpu";
36                         reg = <1>;
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
44                 };
45         };
46
47         memory {
48                 device_type = "memory";
49                 reg = <00000000 40000000>;      // 1G at 0x0
50         };
51
52         soc8641@f8000000 {
53                 #address-cells = <1>;
54                 #size-cells = <1>;
55                 device_type = "soc";
56                 ranges = <00000000 f8000000 00100000>;
57                 reg = <f8000000 00001000>;      // CCSRBAR
58                 bus-frequency = <0>;
59
60                 i2c@3000 {
61                         device_type = "i2c";
62                         compatible = "fsl-i2c";
63                         reg = <3000 100>;
64                         interrupts = <2b 2>;
65                         interrupt-parent = <&mpic>;
66                         dfsrr;
67                 };
68
69                 i2c@3100 {
70                         device_type = "i2c";
71                         compatible = "fsl-i2c";
72                         reg = <3100 100>;
73                         interrupts = <2b 2>;
74                         interrupt-parent = <&mpic>;
75                         dfsrr;
76                 };
77
78                 mdio@24520 {
79                         #address-cells = <1>;
80                         #size-cells = <0>;
81                         device_type = "mdio";
82                         compatible = "gianfar";
83                         reg = <24520 20>;
84                         phy0: ethernet-phy@0 {
85                                 interrupt-parent = <&mpic>;
86                                 interrupts = <a 1>;
87                                 reg = <0>;
88                                 device_type = "ethernet-phy";
89                         };
90                         phy1: ethernet-phy@1 {
91                                 interrupt-parent = <&mpic>;
92                                 interrupts = <a 1>;
93                                 reg = <1>;
94                                 device_type = "ethernet-phy";
95                         };
96                         phy2: ethernet-phy@2 {
97                                 interrupt-parent = <&mpic>;
98                                 interrupts = <a 1>;
99                                 reg = <2>;
100                                 device_type = "ethernet-phy";
101                         };
102                         phy3: ethernet-phy@3 {
103                                 interrupt-parent = <&mpic>;
104                                 interrupts = <a 1>;
105                                 reg = <3>;
106                                 device_type = "ethernet-phy";
107                         };
108                 };
109
110                 ethernet@24000 {
111                         #address-cells = <1>;
112                         #size-cells = <0>;
113                         device_type = "network";
114                         model = "TSEC";
115                         compatible = "gianfar";
116                         reg = <24000 1000>;
117                         /*
118                          * mac-address is deprecated and will be removed
119                          * in 2.6.25.  Only recent versions of
120                          * U-Boot support local-mac-address, however.
121                          */
122                         mac-address = [ 00 00 00 00 00 00 ];
123                         local-mac-address = [ 00 00 00 00 00 00 ];
124                         interrupts = <1d 2 1e 2 22 2>;
125                         interrupt-parent = <&mpic>;
126                         phy-handle = <&phy0>;
127                         phy-connection-type = "rgmii-id";
128                 };
129
130                 ethernet@25000 {
131                         #address-cells = <1>;
132                         #size-cells = <0>;
133                         device_type = "network";
134                         model = "TSEC";
135                         compatible = "gianfar";
136                         reg = <25000 1000>;
137                         /*
138                          * mac-address is deprecated and will be removed
139                          * in 2.6.25.  Only recent versions of
140                          * U-Boot support local-mac-address, however.
141                          */
142                         mac-address = [ 00 00 00 00 00 00 ];
143                         local-mac-address = [ 00 00 00 00 00 00 ];
144                         interrupts = <23 2 24 2 28 2>;
145                         interrupt-parent = <&mpic>;
146                         phy-handle = <&phy1>;
147                         phy-connection-type = "rgmii-id";
148                 };
149                 
150                 ethernet@26000 {
151                         #address-cells = <1>;
152                         #size-cells = <0>;
153                         device_type = "network";
154                         model = "TSEC";
155                         compatible = "gianfar";
156                         reg = <26000 1000>;
157                         /*
158                          * mac-address is deprecated and will be removed
159                          * in 2.6.25.  Only recent versions of
160                          * U-Boot support local-mac-address, however.
161                          */
162                         mac-address = [ 00 00 00 00 00 00 ];
163                         local-mac-address = [ 00 00 00 00 00 00 ];
164                         interrupts = <1F 2 20 2 21 2>;
165                         interrupt-parent = <&mpic>;
166                         phy-handle = <&phy2>;
167                         phy-connection-type = "rgmii-id";
168                 };
169
170                 ethernet@27000 {
171                         #address-cells = <1>;
172                         #size-cells = <0>;
173                         device_type = "network";
174                         model = "TSEC";
175                         compatible = "gianfar";
176                         reg = <27000 1000>;
177                         /*
178                          * mac-address is deprecated and will be removed
179                          * in 2.6.25.  Only recent versions of
180                          * U-Boot support local-mac-address, however.
181                          */
182                         mac-address = [ 00 00 00 00 00 00 ];
183                         local-mac-address = [ 00 00 00 00 00 00 ];
184                         interrupts = <25 2 26 2 27 2>;
185                         interrupt-parent = <&mpic>;
186                         phy-handle = <&phy3>;
187                         phy-connection-type = "rgmii-id";
188                 };
189                 serial@4500 {
190                         device_type = "serial";
191                         compatible = "ns16550";
192                         reg = <4500 100>;
193                         clock-frequency = <0>;
194                         interrupts = <2a 2>;
195                         interrupt-parent = <&mpic>;
196                 };
197
198                 serial@4600 {
199                         device_type = "serial";
200                         compatible = "ns16550";
201                         reg = <4600 100>;
202                         clock-frequency = <0>;
203                         interrupts = <1c 2>;
204                         interrupt-parent = <&mpic>;
205                 };
206
207                 mpic: pic@40000 {
208                         clock-frequency = <0>;
209                         interrupt-controller;
210                         #address-cells = <0>;
211                         #interrupt-cells = <2>;
212                         reg = <40000 40000>;
213                         compatible = "chrp,open-pic";
214                         device_type = "open-pic";
215                         big-endian;
216                 };
217         };
218
219         pcie@f8008000 {
220                 compatible = "fsl,mpc8641-pcie";
221                 device_type = "pci";
222                 #interrupt-cells = <1>;
223                 #size-cells = <2>;
224                 #address-cells = <3>;
225                 reg = <f8008000 1000>;
226                 bus-range = <0 ff>;
227                 ranges = <02000000 0 80000000 80000000 0 20000000
228                           01000000 0 00000000 e2000000 0 00100000>;
229                 clock-frequency = <1fca055>;
230                 interrupt-parent = <&mpic>;
231                 interrupts = <18 2>;
232                 interrupt-map-mask = <fb00 0 0 0>;
233                 interrupt-map = <
234                         /* IDSEL 0x11 */
235                         8800 0 0 1 &i8259 9 2
236                         8800 0 0 2 &i8259 a 2
237                         8800 0 0 3 &i8259 b 2
238                         8800 0 0 4 &i8259 c 2
239
240                         /* IDSEL 0x12 */
241                         9000 0 0 1 &i8259 a 2
242                         9000 0 0 2 &i8259 b 2
243                         9000 0 0 3 &i8259 c 2
244                         9000 0 0 4 &i8259 9 2
245
246                         // IDSEL 0x1c  USB
247                         e000 0 0 0 &i8259 c 2
248                         e100 0 0 0 &i8259 9 2
249                         e200 0 0 0 &i8259 a 2
250                         e300 0 0 0 &i8259 b 2
251
252                         // IDSEL 0x1d  Audio
253                         e800 0 0 0 &i8259 6 2
254
255                         // IDSEL 0x1e Legacy
256                         f000 0 0 0 &i8259 7 2
257                         f100 0 0 0 &i8259 7 2
258
259                         // IDSEL 0x1f IDE/SATA
260                         f800 0 0 0 &i8259 e 2
261                         f900 0 0 0 &i8259 5 2
262                         >;
263
264                 pcie@0 {
265                         reg = <0 0 0 0 0>;
266                         #size-cells = <2>;
267                         #address-cells = <3>;
268                         device_type = "pci";
269                         ranges = <02000000 0 80000000
270                                   02000000 0 80000000
271                                   0 20000000
272
273                                   01000000 0 00000000
274                                   01000000 0 00000000
275                                   0 00100000>;
276                         uli1575@0 {
277                                 reg = <0 0 0 0 0>;
278                                 #size-cells = <2>;
279                                 #address-cells = <3>;
280                                 ranges = <02000000 0 80000000
281                                           02000000 0 80000000
282                                           0 20000000
283                                           01000000 0 00000000
284                                           01000000 0 00000000
285                                           0 00100000>;
286                                 isa@1e {
287                                         device_type = "isa";
288                                         #interrupt-cells = <2>;
289                                         #size-cells = <1>;
290                                         #address-cells = <2>;
291                                         reg = <f000 0 0 0 0>;
292                                         ranges = <1 0 01000000 0 0
293                                                   00001000>;
294                                         interrupt-parent = <&i8259>;
295
296                                         i8259: interrupt-controller@20 {
297                                                 reg = <1 20 2
298                                                        1 a0 2
299                                                        1 4d0 2>;
300                                                 interrupt-controller;
301                                                 device_type = "interrupt-controller";
302                                                 #address-cells = <0>;
303                                                 #interrupt-cells = <2>;
304                                                 compatible = "chrp,iic";
305                                                 interrupts = <9 2>;
306                                                 interrupt-parent = <&mpic>;
307                                         };
308
309                                         i8042@60 {
310                                                 #size-cells = <0>;
311                                                 #address-cells = <1>;
312                                                 reg = <1 60 1 1 64 1>;
313                                                 interrupts = <1 3 c 3>;
314                                                 interrupt-parent =
315                                                         <&i8259>;
316
317                                                 keyboard@0 {
318                                                         reg = <0>;
319                                                         compatible = "pnpPNP,303";
320                                                 };
321
322                                                 mouse@1 {
323                                                         reg = <1>;
324                                                         compatible = "pnpPNP,f03";
325                                                 };
326                                         };
327
328                                         rtc@70 {
329                                                 compatible =
330                                                         "pnpPNP,b00";
331                                                 reg = <1 70 2>;
332                                         };
333
334                                         gpio@400 {
335                                                 reg = <1 400 80>;
336                                         };
337                                 };
338                         };
339                 };
340
341         };
342
343         pcie@f8009000 {
344                 compatible = "fsl,mpc8641-pcie";
345                 device_type = "pci";
346                 #interrupt-cells = <1>;
347                 #size-cells = <2>;
348                 #address-cells = <3>;
349                 reg = <f8009000 1000>;
350                 bus-range = <0 ff>;
351                 ranges = <02000000 0 a0000000 a0000000 0 20000000
352                           01000000 0 00000000 e3000000 0 00100000>;
353                 clock-frequency = <1fca055>;
354                 interrupt-parent = <&mpic>;
355                 interrupts = <19 2>;
356                 interrupt-map-mask = <f800 0 0 7>;
357                 interrupt-map = <
358                         /* IDSEL 0x0 */
359                         0000 0 0 1 &mpic 4 1
360                         0000 0 0 2 &mpic 5 1
361                         0000 0 0 3 &mpic 6 1
362                         0000 0 0 4 &mpic 7 1
363                         >;
364                 pcie@0 {
365                         reg = <0 0 0 0 0>;
366                         #size-cells = <2>;
367                         #address-cells = <3>;
368                         device_type = "pci";
369                         ranges = <02000000 0 a0000000
370                                   02000000 0 a0000000
371                                   0 20000000
372
373                                   01000000 0 00000000
374                                   01000000 0 00000000
375                                   0 00100000>;
376                 };
377         };
378 };