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