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