Merge branch 'linux-2.6'
[powerpc.git] / arch / powerpc / boot / dts / mpc8568mds.dts
1 /*
2  * MPC8568E MDS Device Tree Source
3  *
4  * Copyright 2007 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 /memreserve/    00000000 1000000;
15 */
16
17 / {
18         model = "MPC8568EMDS";
19         compatible = "MPC8568EMDS", "MPC85xxMDS";
20         #address-cells = <1>;
21         #size-cells = <1>;
22
23         cpus {
24                 #address-cells = <1>;
25                 #size-cells = <0>;
26
27                 PowerPC,8568@0 {
28                         device_type = "cpu";
29                         reg = <0>;
30                         d-cache-line-size = <20>;       // 32 bytes
31                         i-cache-line-size = <20>;       // 32 bytes
32                         d-cache-size = <8000>;          // L1, 32K
33                         i-cache-size = <8000>;          // L1, 32K
34                         timebase-frequency = <0>;
35                         bus-frequency = <0>;
36                         clock-frequency = <0>;
37                 };
38         };
39
40         memory {
41                 device_type = "memory";
42                 reg = <00000000 10000000>;
43         };
44
45         bcsr@f8000000 {
46                 device_type = "board-control";
47                 reg = <f8000000 8000>;
48         };
49
50         soc8568@e0000000 {
51                 #address-cells = <1>;
52                 #size-cells = <1>;
53                 device_type = "soc";
54                 ranges = <0 e0000000 00100000>;
55                 reg = <e0000000 00100000>;
56                 bus-frequency = <0>;
57
58                 memory-controller@2000 {
59                         compatible = "fsl,8568-memory-controller";
60                         reg = <2000 1000>;
61                         interrupt-parent = <&mpic>;
62                         interrupts = <12 2>;
63                 };
64
65                 l2-cache-controller@20000 {
66                         compatible = "fsl,8568-l2-cache-controller";
67                         reg = <20000 1000>;
68                         cache-line-size = <20>; // 32 bytes
69                         cache-size = <80000>;   // L2, 512K
70                         interrupt-parent = <&mpic>;
71                         interrupts = <10 2>;
72                 };
73
74                 i2c@3000 {
75                         device_type = "i2c";
76                         compatible = "fsl-i2c";
77                         reg = <3000 100>;
78                         interrupts = <2b 2>;
79                         interrupt-parent = <&mpic>;
80                         dfsrr;
81                 };
82
83                 i2c@3100 {
84                         device_type = "i2c";
85                         compatible = "fsl-i2c";
86                         reg = <3100 100>;
87                         interrupts = <2b 2>;
88                         interrupt-parent = <&mpic>;
89                         dfsrr;
90                 };
91
92                 mdio@24520 {
93                         #address-cells = <1>;
94                         #size-cells = <0>;
95                         device_type = "mdio";
96                         compatible = "gianfar";
97                         reg = <24520 20>;
98                         phy0: ethernet-phy@0 {
99                                 interrupt-parent = <&mpic>;
100                                 interrupts = <1 1>;
101                                 reg = <0>;
102                                 device_type = "ethernet-phy";
103                         };
104                         phy1: ethernet-phy@1 {
105                                 interrupt-parent = <&mpic>;
106                                 interrupts = <2 1>;
107                                 reg = <1>;
108                                 device_type = "ethernet-phy";
109                         };
110                         phy2: ethernet-phy@2 {
111                                 interrupt-parent = <&mpic>;
112                                 interrupts = <1 1>;
113                                 reg = <2>;
114                                 device_type = "ethernet-phy";
115                         };
116                         phy3: ethernet-phy@3 {
117                                 interrupt-parent = <&mpic>;
118                                 interrupts = <2 1>;
119                                 reg = <3>;
120                                 device_type = "ethernet-phy";
121                         };
122                 };
123
124                 ethernet@24000 {
125                         #address-cells = <1>;
126                         #size-cells = <0>;
127                         device_type = "network";
128                         model = "eTSEC";
129                         compatible = "gianfar";
130                         reg = <24000 1000>;
131                         /*
132                          * mac-address is deprecated and will be removed
133                          * in 2.6.25.  Only recent versions of
134                          * U-Boot support local-mac-address, however.
135                          */
136                         mac-address = [ 00 00 00 00 00 00 ];
137                         local-mac-address = [ 00 00 00 00 00 00 ];
138                         interrupts = <1d 2 1e 2 22 2>;
139                         interrupt-parent = <&mpic>;
140                         phy-handle = <&phy2>;
141                 };
142
143                 ethernet@25000 {
144                         #address-cells = <1>;
145                         #size-cells = <0>;
146                         device_type = "network";
147                         model = "eTSEC";
148                         compatible = "gianfar";
149                         reg = <25000 1000>;
150                         /*
151                          * mac-address is deprecated and will be removed
152                          * in 2.6.25.  Only recent versions of
153                          * U-Boot support local-mac-address, however.
154                          */
155                         mac-address = [ 00 00 00 00 00 00 ];
156                         local-mac-address = [ 00 00 00 00 00 00 ];
157                         interrupts = <23 2 24 2 28 2>;
158                         interrupt-parent = <&mpic>;
159                         phy-handle = <&phy3>;
160                 };
161
162                 serial@4500 {
163                         device_type = "serial";
164                         compatible = "ns16550";
165                         reg = <4500 100>;
166                         clock-frequency = <0>;
167                         interrupts = <2a 2>;
168                         interrupt-parent = <&mpic>;
169                 };
170
171                 global-utilities@e0000 {        //global utilities block
172                         compatible = "fsl,mpc8548-guts";
173                         reg = <e0000 1000>;
174                         fsl,has-rstcr;
175                 };
176
177                 pci@8000 {
178                         interrupt-map-mask = <f800 0 0 7>;
179                         interrupt-map = <
180                                 /* IDSEL 0x12 AD18 */
181                                 9000 0 0 1 &mpic 5 1
182                                 9000 0 0 2 &mpic 6 1
183                                 9000 0 0 3 &mpic 7 1
184                                 9000 0 0 4 &mpic 4 1
185
186                                 /* IDSEL 0x13 AD19 */
187                                 9800 0 0 1 &mpic 6 1
188                                 9800 0 0 2 &mpic 7 1
189                                 9800 0 0 3 &mpic 4 1
190                                 9800 0 0 4 &mpic 5 1>;
191
192                         interrupt-parent = <&mpic>;
193                         interrupts = <18 2>;
194                         bus-range = <0 ff>;
195                         ranges = <02000000 0 80000000 80000000 0 20000000
196                                   01000000 0 00000000 e2000000 0 00800000>;
197                         clock-frequency = <3f940aa>;
198                         #interrupt-cells = <1>;
199                         #size-cells = <2>;
200                         #address-cells = <3>;
201                         reg = <8000 1000>;
202                         compatible = "fsl,mpc8540-pci";
203                         device_type = "pci";
204                 };
205
206                 /* PCI Express */
207                 pcie@a000 {
208                         interrupt-map-mask = <f800 0 0 7>;
209                         interrupt-map = <
210
211                                 /* IDSEL 0x0 (PEX) */
212                                 00000 0 0 1 &mpic 0 1
213                                 00000 0 0 2 &mpic 1 1
214                                 00000 0 0 3 &mpic 2 1
215                                 00000 0 0 4 &mpic 3 1>;
216
217                         interrupt-parent = <&mpic>;
218                         interrupts = <1a 2>;
219                         bus-range = <0 ff>;
220                         ranges = <02000000 0 a0000000 a0000000 0 20000000
221                                   01000000 0 00000000 e3000000 0 08000000>;
222                         clock-frequency = <1fca055>;
223                         #interrupt-cells = <1>;
224                         #size-cells = <2>;
225                         #address-cells = <3>;
226                         reg = <a000 1000>;
227                         compatible = "fsl,mpc8548-pcie";
228                         device_type = "pci";
229                 };
230
231                 serial@4600 {
232                         device_type = "serial";
233                         compatible = "ns16550";
234                         reg = <4600 100>;
235                         clock-frequency = <0>;
236                         interrupts = <2a 2>;
237                         interrupt-parent = <&mpic>;
238                 };
239
240                 crypto@30000 {
241                         device_type = "crypto";
242                         model = "SEC2";
243                         compatible = "talitos";
244                         reg = <30000 f000>;
245                         interrupts = <2d 2>;
246                         interrupt-parent = <&mpic>;
247                         num-channels = <4>;
248                         channel-fifo-len = <18>;
249                         exec-units-mask = <000000fe>;
250                         descriptor-types-mask = <012b0ebf>;
251                 };
252
253                 mpic: pic@40000 {
254                         clock-frequency = <0>;
255                         interrupt-controller;
256                         #address-cells = <0>;
257                         #interrupt-cells = <2>;
258                         reg = <40000 40000>;
259                         compatible = "chrp,open-pic";
260                         device_type = "open-pic";
261                         big-endian;
262                 };
263                 par_io@e0100 {
264                         reg = <e0100 100>;
265                         device_type = "par_io";
266                         num-ports = <7>;
267
268                         pio1: ucc_pin@01 {
269                                 pio-map = <
270                         /* port  pin  dir  open_drain  assignment  has_irq */
271                                         4  0a  1  0  2  0       /* TxD0 */
272                                         4  09  1  0  2  0       /* TxD1 */
273                                         4  08  1  0  2  0       /* TxD2 */
274                                         4  07  1  0  2  0       /* TxD3 */
275                                         4  17  1  0  2  0       /* TxD4 */
276                                         4  16  1  0  2  0       /* TxD5 */
277                                         4  15  1  0  2  0       /* TxD6 */
278                                         4  14  1  0  2  0       /* TxD7 */
279                                         4  0f  2  0  2  0       /* RxD0 */
280                                         4  0e  2  0  2  0       /* RxD1 */
281                                         4  0d  2  0  2  0       /* RxD2 */
282                                         4  0c  2  0  2  0       /* RxD3 */
283                                         4  1d  2  0  2  0       /* RxD4 */
284                                         4  1c  2  0  2  0       /* RxD5 */
285                                         4  1b  2  0  2  0       /* RxD6 */
286                                         4  1a  2  0  2  0       /* RxD7 */
287                                         4  0b  1  0  2  0       /* TX_EN */
288                                         4  18  1  0  2  0       /* TX_ER */
289                                         4  0f  2  0  2  0       /* RX_DV */
290                                         4  1e  2  0  2  0       /* RX_ER */
291                                         4  11  2  0  2  0       /* RX_CLK */
292                                         4  13  1  0  2  0       /* GTX_CLK */
293                                         1  1f  2  0  3  0>;     /* GTX125 */
294                         };
295                         pio2: ucc_pin@02 {
296                                 pio-map = <
297                         /* port  pin  dir  open_drain  assignment  has_irq */
298                                         5  0a 1  0  2  0   /* TxD0 */
299                                         5  09 1  0  2  0   /* TxD1 */
300                                         5  08 1  0  2  0   /* TxD2 */
301                                         5  07 1  0  2  0   /* TxD3 */
302                                         5  17 1  0  2  0   /* TxD4 */
303                                         5  16 1  0  2  0   /* TxD5 */
304                                         5  15 1  0  2  0   /* TxD6 */
305                                         5  14 1  0  2  0   /* TxD7 */
306                                         5  0f 2  0  2  0   /* RxD0 */
307                                         5  0e 2  0  2  0   /* RxD1 */
308                                         5  0d 2  0  2  0   /* RxD2 */
309                                         5  0c 2  0  2  0   /* RxD3 */
310                                         5  1d 2  0  2  0   /* RxD4 */
311                                         5  1c 2  0  2  0   /* RxD5 */
312                                         5  1b 2  0  2  0   /* RxD6 */
313                                         5  1a 2  0  2  0   /* RxD7 */
314                                         5  0b 1  0  2  0   /* TX_EN */
315                                         5  18 1  0  2  0   /* TX_ER */
316                                         5  10 2  0  2  0   /* RX_DV */
317                                         5  1e 2  0  2  0   /* RX_ER */
318                                         5  11 2  0  2  0   /* RX_CLK */
319                                         5  13 1  0  2  0   /* GTX_CLK */
320                                         1  1f 2  0  3  0   /* GTX125 */
321                                         4  06 3  0  2  0   /* MDIO */
322                                         4  05 1  0  2  0>; /* MDC */
323                         };
324                 };
325         };
326
327         qe@e0080000 {
328                 #address-cells = <1>;
329                 #size-cells = <1>;
330                 device_type = "qe";
331                 model = "QE";
332                 ranges = <0 e0080000 00040000>;
333                 reg = <e0080000 480>;
334                 brg-frequency = <0>;
335                 bus-frequency = <179A7B00>;
336
337                 muram@10000 {
338                         device_type = "muram";
339                         ranges = <0 00010000 0000c000>;
340
341                         data-only@0{
342                                 reg = <0 c000>;
343                         };
344                 };
345
346                 spi@4c0 {
347                         device_type = "spi";
348                         compatible = "fsl_spi";
349                         reg = <4c0 40>;
350                         interrupts = <2>;
351                         interrupt-parent = <&qeic>;
352                         mode = "cpu";
353                 };
354
355                 spi@500 {
356                         device_type = "spi";
357                         compatible = "fsl_spi";
358                         reg = <500 40>;
359                         interrupts = <1>;
360                         interrupt-parent = <&qeic>;
361                         mode = "cpu";
362                 };
363
364                 ucc@2000 {
365                         device_type = "network";
366                         compatible = "ucc_geth";
367                         model = "UCC";
368                         device-id = <1>;
369                         reg = <2000 200>;
370                         interrupts = <20>;
371                         interrupt-parent = <&qeic>;
372                         /*
373                          * mac-address is deprecated and will be removed
374                          * in 2.6.25.  Only recent versions of
375                          * U-Boot support local-mac-address, however.
376                          */
377                         mac-address = [ 00 00 00 00 00 00 ];
378                         local-mac-address = [ 00 00 00 00 00 00 ];
379                         rx-clock = <0>;
380                         tx-clock = <19>;
381                         phy-handle = <&qe_phy0>;
382                         phy-connection-type = "gmii";
383                         pio-handle = <&pio1>;
384                 };
385
386                 ucc@3000 {
387                         device_type = "network";
388                         compatible = "ucc_geth";
389                         model = "UCC";
390                         device-id = <2>;
391                         reg = <3000 200>;
392                         interrupts = <21>;
393                         interrupt-parent = <&qeic>;
394                         /*
395                          * mac-address is deprecated and will be removed
396                          * in 2.6.25.  Only recent versions of
397                          * U-Boot support local-mac-address, however.
398                          */
399                         mac-address = [ 00 00 00 00 00 00 ];
400                         local-mac-address = [ 00 00 00 00 00 00 ];
401                         rx-clock = <0>;
402                         tx-clock = <14>;
403                         phy-handle = <&qe_phy1>;
404                         phy-connection-type = "gmii";
405                         pio-handle = <&pio2>;
406                 };
407
408                 mdio@2120 {
409                         #address-cells = <1>;
410                         #size-cells = <0>;
411                         reg = <2120 18>;
412                         device_type = "mdio";
413                         compatible = "ucc_geth_phy";
414
415                         /* These are the same PHYs as on
416                          * gianfar's MDIO bus */
417                         qe_phy0: ethernet-phy@00 {
418                                 interrupt-parent = <&mpic>;
419                                 interrupts = <1 1>;
420                                 reg = <0>;
421                                 device_type = "ethernet-phy";
422                         };
423                         qe_phy1: ethernet-phy@01 {
424                                 interrupt-parent = <&mpic>;
425                                 interrupts = <2 1>;
426                                 reg = <1>;
427                                 device_type = "ethernet-phy";
428                         };
429                         qe_phy2: ethernet-phy@02 {
430                                 interrupt-parent = <&mpic>;
431                                 interrupts = <1 1>;
432                                 reg = <2>;
433                                 device_type = "ethernet-phy";
434                         };
435                         qe_phy3: ethernet-phy@03 {
436                                 interrupt-parent = <&mpic>;
437                                 interrupts = <2 1>;
438                                 reg = <3>;
439                                 device_type = "ethernet-phy";
440                         };
441                 };
442
443                 qeic: qeic@80 {
444                         interrupt-controller;
445                         device_type = "qeic";
446                         #address-cells = <0>;
447                         #interrupt-cells = <1>;
448                         reg = <80 80>;
449                         big-endian;
450                         interrupts = <2e 2 2e 2>; //high:30 low:30
451                         interrupt-parent = <&mpic>;
452                 };
453
454         };
455 };