Merge branch 'fixes-jgarzik' of git://git.kernel.org/pub/scm/linux/kernel/git/linvill...
[linux-2.6] / arch / powerpc / boot / dts / mpc834x_mds.dts
1 /*
2  * MPC8349E MDS Device Tree Source
3  *
4  * Copyright 2005, 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         model = "MPC8349EMDS";
14         compatible = "MPC8349EMDS", "MPC834xMDS", "MPC83xxMDS";
15         #address-cells = <1>;
16         #size-cells = <1>;
17
18         cpus {
19                 #address-cells = <1>;
20                 #size-cells = <0>;
21
22                 PowerPC,8349@0 {
23                         device_type = "cpu";
24                         reg = <0>;
25                         d-cache-line-size = <20>;       // 32 bytes
26                         i-cache-line-size = <20>;       // 32 bytes
27                         d-cache-size = <8000>;          // L1, 32K
28                         i-cache-size = <8000>;          // L1, 32K
29                         timebase-frequency = <0>;       // from bootloader
30                         bus-frequency = <0>;            // from bootloader
31                         clock-frequency = <0>;          // from bootloader
32                 };
33         };
34
35         memory {
36                 device_type = "memory";
37                 reg = <00000000 10000000>;      // 256MB at 0
38         };
39
40         bcsr@e2400000 {
41                 device_type = "board-control";
42                 reg = <e2400000 8000>;
43         };
44
45         soc8349@e0000000 {
46                 #address-cells = <1>;
47                 #size-cells = <1>;
48                 device_type = "soc";
49                 ranges = <0 e0000000 00100000>;
50                 reg = <e0000000 00000200>;
51                 bus-frequency = <0>;
52
53                 wdt@200 {
54                         device_type = "watchdog";
55                         compatible = "mpc83xx_wdt";
56                         reg = <200 100>;
57                 };
58
59                 i2c@3000 {
60                         device_type = "i2c";
61                         compatible = "fsl-i2c";
62                         reg = <3000 100>;
63                         interrupts = <e 8>;
64                         interrupt-parent = < &ipic >;
65                         dfsrr;
66                 };
67
68                 i2c@3100 {
69                         device_type = "i2c";
70                         compatible = "fsl-i2c";
71                         reg = <3100 100>;
72                         interrupts = <f 8>;
73                         interrupt-parent = < &ipic >;
74                         dfsrr;
75                 };
76
77                 spi@7000 {
78                         device_type = "spi";
79                         compatible = "fsl_spi";
80                         reg = <7000 1000>;
81                         interrupts = <10 8>;
82                         interrupt-parent = < &ipic >;
83                         mode = "cpu";
84                 };
85
86                 /* phy type (ULPI or SERIAL) are only types supportted for MPH */
87                 /* port = 0 or 1 */
88                 usb@22000 {
89                         device_type = "usb";
90                         compatible = "fsl-usb2-mph";
91                         reg = <22000 1000>;
92                         #address-cells = <1>;
93                         #size-cells = <0>;
94                         interrupt-parent = < &ipic >;
95                         interrupts = <27 8>;
96                         phy_type = "ulpi";
97                         port1;
98                 };
99                 /* phy type (ULPI, UTMI, UTMI_WIDE, SERIAL) */
100                 usb@23000 {
101                         device_type = "usb";
102                         compatible = "fsl-usb2-dr";
103                         reg = <23000 1000>;
104                         #address-cells = <1>;
105                         #size-cells = <0>;
106                         interrupt-parent = < &ipic >;
107                         interrupts = <26 8>;
108                         dr_mode = "otg";
109                         phy_type = "ulpi";
110                 };
111
112                 mdio@24520 {
113                         device_type = "mdio";
114                         compatible = "gianfar";
115                         reg = <24520 20>;
116                         #address-cells = <1>;
117                         #size-cells = <0>;
118                         phy0: ethernet-phy@0 {
119                                 interrupt-parent = < &ipic >;
120                                 interrupts = <11 8>;
121                                 reg = <0>;
122                                 device_type = "ethernet-phy";
123                         };
124                         phy1: ethernet-phy@1 {
125                                 interrupt-parent = < &ipic >;
126                                 interrupts = <12 8>;
127                                 reg = <1>;
128                                 device_type = "ethernet-phy";
129                         };
130                 };
131
132                 ethernet@24000 {
133                         device_type = "network";
134                         model = "TSEC";
135                         compatible = "gianfar";
136                         reg = <24000 1000>;
137                         /*
138                          * 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                         address = [ 00 00 00 00 00 00 ];
143                         local-mac-address = [ 00 00 00 00 00 00 ];
144                         interrupts = <20 8 21 8 22 8>;
145                         interrupt-parent = < &ipic >;
146                         phy-handle = < &phy0 >;
147                         linux,network-index = <0>;
148                 };
149
150                 ethernet@25000 {
151                         #address-cells = <1>;
152                         #size-cells = <0>;
153                         device_type = "network";
154                         model = "TSEC";
155                         compatible = "gianfar";
156                         reg = <25000 1000>;
157                         /*
158                          * 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                         address = [ 00 00 00 00 00 00 ];
163                         local-mac-address = [ 00 00 00 00 00 00 ];
164                         interrupts = <23 8 24 8 25 8>;
165                         interrupt-parent = < &ipic >;
166                         phy-handle = < &phy1 >;
167                         linux,network-index = <1>;
168                 };
169
170                 serial@4500 {
171                         device_type = "serial";
172                         compatible = "ns16550";
173                         reg = <4500 100>;
174                         clock-frequency = <0>;
175                         interrupts = <9 8>;
176                         interrupt-parent = < &ipic >;
177                 };
178
179                 serial@4600 {
180                         device_type = "serial";
181                         compatible = "ns16550";
182                         reg = <4600 100>;
183                         clock-frequency = <0>;
184                         interrupts = <a 8>;
185                         interrupt-parent = < &ipic >;
186                 };
187
188                 /* May need to remove if on a part without crypto engine */
189                 crypto@30000 {
190                         device_type = "crypto";
191                         model = "SEC2";
192                         compatible = "talitos";
193                         reg = <30000 10000>;
194                         interrupts = <b 8>;
195                         interrupt-parent = < &ipic >;
196                         num-channels = <4>;
197                         channel-fifo-len = <18>;
198                         exec-units-mask = <0000007e>;
199                         /* desc mask is for rev2.0,
200                          * we need runtime fixup for >2.0 */
201                         descriptor-types-mask = <01010ebf>;
202                 };
203
204                 /* IPIC
205                  * interrupts cell = <intr #, sense>
206                  * sense values match linux IORESOURCE_IRQ_* defines:
207                  * sense == 8: Level, low assertion
208                  * sense == 2: Edge, high-to-low change
209                  */
210                 ipic: pic@700 {
211                         interrupt-controller;
212                         #address-cells = <0>;
213                         #interrupt-cells = <2>;
214                         reg = <700 100>;
215                         device_type = "ipic";
216                 };
217         };
218
219         pci@e0008500 {
220                 interrupt-map-mask = <f800 0 0 7>;
221                 interrupt-map = <
222
223                                 /* IDSEL 0x11 */
224                                  8800 0 0 1 &ipic 14 8
225                                  8800 0 0 2 &ipic 15 8
226                                  8800 0 0 3 &ipic 16 8
227                                  8800 0 0 4 &ipic 17 8
228
229                                 /* IDSEL 0x12 */
230                                  9000 0 0 1 &ipic 16 8
231                                  9000 0 0 2 &ipic 17 8
232                                  9000 0 0 3 &ipic 14 8
233                                  9000 0 0 4 &ipic 15 8
234
235                                 /* IDSEL 0x13 */
236                                  9800 0 0 1 &ipic 17 8
237                                  9800 0 0 2 &ipic 14 8
238                                  9800 0 0 3 &ipic 15 8
239                                  9800 0 0 4 &ipic 16 8
240
241                                 /* IDSEL 0x15 */
242                                  a800 0 0 1 &ipic 14 8
243                                  a800 0 0 2 &ipic 15 8
244                                  a800 0 0 3 &ipic 16 8
245                                  a800 0 0 4 &ipic 17 8
246
247                                 /* IDSEL 0x16 */
248                                  b000 0 0 1 &ipic 17 8
249                                  b000 0 0 2 &ipic 14 8
250                                  b000 0 0 3 &ipic 15 8
251                                  b000 0 0 4 &ipic 16 8
252
253                                 /* IDSEL 0x17 */
254                                  b800 0 0 1 &ipic 16 8
255                                  b800 0 0 2 &ipic 17 8
256                                  b800 0 0 3 &ipic 14 8
257                                  b800 0 0 4 &ipic 15 8
258
259                                 /* IDSEL 0x18 */
260                                  c000 0 0 1 &ipic 15 8
261                                  c000 0 0 2 &ipic 16 8
262                                  c000 0 0 3 &ipic 17 8
263                                  c000 0 0 4 &ipic 14 8>;
264                 interrupt-parent = < &ipic >;
265                 interrupts = <42 8>;
266                 bus-range = <0 0>;
267                 ranges = <02000000 0 90000000 90000000 0 10000000
268                           42000000 0 80000000 80000000 0 10000000
269                           01000000 0 00000000 e2000000 0 00100000>;
270                 clock-frequency = <3f940aa>;
271                 #interrupt-cells = <1>;
272                 #size-cells = <2>;
273                 #address-cells = <3>;
274                 reg = <e0008500 100>;
275                 compatible = "fsl,mpc8349-pci";
276                 device_type = "pci";
277         };
278
279         pci@e0008600 {
280                 interrupt-map-mask = <f800 0 0 7>;
281                 interrupt-map = <
282
283                                 /* IDSEL 0x11 */
284                                  8800 0 0 1 &ipic 14 8
285                                  8800 0 0 2 &ipic 15 8
286                                  8800 0 0 3 &ipic 16 8
287                                  8800 0 0 4 &ipic 17 8
288
289                                 /* IDSEL 0x12 */
290                                  9000 0 0 1 &ipic 16 8
291                                  9000 0 0 2 &ipic 17 8
292                                  9000 0 0 3 &ipic 14 8
293                                  9000 0 0 4 &ipic 15 8
294
295                                 /* IDSEL 0x13 */
296                                  9800 0 0 1 &ipic 17 8
297                                  9800 0 0 2 &ipic 14 8
298                                  9800 0 0 3 &ipic 15 8
299                                  9800 0 0 4 &ipic 16 8
300
301                                 /* IDSEL 0x15 */
302                                  a800 0 0 1 &ipic 14 8
303                                  a800 0 0 2 &ipic 15 8
304                                  a800 0 0 3 &ipic 16 8
305                                  a800 0 0 4 &ipic 17 8
306
307                                 /* IDSEL 0x16 */
308                                  b000 0 0 1 &ipic 17 8
309                                  b000 0 0 2 &ipic 14 8
310                                  b000 0 0 3 &ipic 15 8
311                                  b000 0 0 4 &ipic 16 8
312
313                                 /* IDSEL 0x17 */
314                                  b800 0 0 1 &ipic 16 8
315                                  b800 0 0 2 &ipic 17 8
316                                  b800 0 0 3 &ipic 14 8
317                                  b800 0 0 4 &ipic 15 8
318
319                                 /* IDSEL 0x18 */
320                                  c000 0 0 1 &ipic 15 8
321                                  c000 0 0 2 &ipic 16 8
322                                  c000 0 0 3 &ipic 17 8
323                                  c000 0 0 4 &ipic 14 8>;
324                 interrupt-parent = < &ipic >;
325                 interrupts = <42 8>;
326                 bus-range = <0 0>;
327                 ranges = <02000000 0 b0000000 b0000000 0 10000000
328                           42000000 0 a0000000 a0000000 0 10000000
329                           01000000 0 00000000 e2100000 0 00100000>;
330                 clock-frequency = <3f940aa>;
331                 #interrupt-cells = <1>;
332                 #size-cells = <2>;
333                 #address-cells = <3>;
334                 reg = <e0008600 100>;
335                 compatible = "fsl,mpc8349-pci";
336                 device_type = "pci";
337         };
338 };