Merge git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-nvram
[linux-2.6] / arch / powerpc / boot / dts / ksi8560.dts
1 /*
2  * Device Tree Source for Emerson KSI8560
3  *
4  * Author: Alexandr Smirnov <asmirnov@ru.mvista.com>
5  *
6  * Based on mpc8560ads.dts
7  *
8  * 2008 (c) MontaVista, Software, Inc.  This file is licensed under
9  * the terms of the GNU General Public License version 2.  This program
10  * is licensed "as is" without any warranty of any kind, whether express
11  * or implied.
12  *
13  */
14
15 /dts-v1/;
16
17 / {
18         model = "KSI8560";
19         compatible = "emerson,KSI8560";
20         #address-cells = <1>;
21         #size-cells = <1>;
22
23         aliases {
24                 ethernet0 = &enet0;
25                 ethernet1 = &enet1;
26                 ethernet2 = &enet2;
27         };
28
29         cpus {
30                 #address-cells = <1>;
31                 #size-cells = <0>;
32
33                 PowerPC,8560@0 {
34                         device_type = "cpu";
35                         reg = <0>;
36                         d-cache-line-size = <32>;
37                         i-cache-line-size = <32>;
38                         d-cache-size = <0x8000>;                /* L1, 32K */
39                         i-cache-size = <0x8000>;                /* L1, 32K */
40                         timebase-frequency = <0>;               /* From U-boot */
41                         bus-frequency = <0>;                    /* From U-boot */
42                         clock-frequency = <0>;                  /* From U-boot */
43                         next-level-cache = <&L2>;
44                 };
45         };
46
47         memory {
48                 device_type = "memory";
49                 reg = <0x00000000 0x10000000>;                  /* Fixed by bootwrapper */
50         };
51
52         soc@fdf00000 {
53                 #address-cells = <1>;
54                 #size-cells = <1>;
55                 device_type = "soc";
56                 ranges = <0x00000000 0xfdf00000 0x00100000>;
57                 bus-frequency = <0>;                            /* Fixed by bootwrapper */
58
59                 memory-controller@2000 {
60                         compatible = "fsl,8540-memory-controller";
61                         reg = <0x2000 0x1000>;
62                         interrupt-parent = <&mpic>;
63                         interrupts = <0x12 0x2>;
64                 };
65
66                 L2: l2-cache-controller@20000 {
67                         compatible = "fsl,8540-l2-cache-controller";
68                         reg = <0x20000 0x1000>;
69                         cache-line-size = <0x20>;               /* 32 bytes */
70                         cache-size = <0x40000>;                 /* L2, 256K */
71                         interrupt-parent = <&mpic>;
72                         interrupts = <0x10 0x2>;
73                 };
74
75                 i2c@3000 {
76                         #address-cells = <1>;
77                         #size-cells = <0>;
78                         cell-index = <0>;
79                         compatible = "fsl-i2c";
80                         reg = <0x3000 0x100>;
81                         interrupts = <0x2b 0x2>;
82                         interrupt-parent = <&mpic>;
83                         dfsrr;
84                 };
85
86                 dma@21300 {
87                         #address-cells = <1>;
88                         #size-cells = <1>;
89                         compatible = "fsl,mpc8560-dma", "fsl,eloplus-dma";
90                         reg = <0x21300 0x4>;
91                         ranges = <0x0 0x21100 0x200>;
92                         cell-index = <0>;
93                         dma-channel@0 {
94                                 compatible = "fsl,mpc8560-dma-channel",
95                                                 "fsl,eloplus-dma-channel";
96                                 reg = <0x0 0x80>;
97                                 cell-index = <0>;
98                                 interrupt-parent = <&mpic>;
99                                 interrupts = <20 2>;
100                         };
101                         dma-channel@80 {
102                                 compatible = "fsl,mpc8560-dma-channel",
103                                                 "fsl,eloplus-dma-channel";
104                                 reg = <0x80 0x80>;
105                                 cell-index = <1>;
106                                 interrupt-parent = <&mpic>;
107                                 interrupts = <21 2>;
108                         };
109                         dma-channel@100 {
110                                 compatible = "fsl,mpc8560-dma-channel",
111                                                 "fsl,eloplus-dma-channel";
112                                 reg = <0x100 0x80>;
113                                 cell-index = <2>;
114                                 interrupt-parent = <&mpic>;
115                                 interrupts = <22 2>;
116                         };
117                         dma-channel@180 {
118                                 compatible = "fsl,mpc8560-dma-channel",
119                                                 "fsl,eloplus-dma-channel";
120                                 reg = <0x180 0x80>;
121                                 cell-index = <3>;
122                                 interrupt-parent = <&mpic>;
123                                 interrupts = <23 2>;
124                         };
125                 };
126
127                 mdio@24520 {                                    /* For TSECs */
128                         #address-cells = <1>;
129                         #size-cells = <0>;
130                         compatible = "fsl,gianfar-mdio";
131                         reg = <0x24520 0x20>;
132
133                         PHY1: ethernet-phy@1 {
134                                 interrupt-parent = <&mpic>;
135                                 reg = <0x1>;
136                                 device_type = "ethernet-phy";
137                         };
138
139                         PHY2: ethernet-phy@2 {
140                                 interrupt-parent = <&mpic>;
141                                 reg = <0x2>;
142                                 device_type = "ethernet-phy";
143                         };
144
145                         tbi0: tbi-phy@11 {
146                                 reg = <0x11>;
147                                 device_type = "tbi-phy";
148                         };
149                 };
150
151                 mdio@25520 {
152                         #address-cells = <1>;
153                         #size-cells = <0>;
154                         compatible = "fsl,gianfar-tbi";
155                         reg = <0x25520 0x20>;
156
157                         tbi1: tbi-phy@11 {
158                                 reg = <0x11>;
159                                 device_type = "tbi-phy";
160                         };
161                 };
162
163
164                 enet0: ethernet@24000 {
165                         device_type = "network";
166                         model = "TSEC";
167                         compatible = "gianfar";
168                         reg = <0x24000 0x1000>;
169                         /* Mac address filled in by bootwrapper */
170                         local-mac-address = [ 00 00 00 00 00 00 ];
171                         interrupts = <0x1d 0x2 0x1e 0x2 0x22 0x2>;
172                         interrupt-parent = <&mpic>;
173                         tbi-handle = <&tbi0>;
174                         phy-handle = <&PHY1>;
175                 };
176
177                 enet1: ethernet@25000 {
178                         device_type = "network";
179                         model = "TSEC";
180                         compatible = "gianfar";
181                         reg = <0x25000 0x1000>;
182                         /* Mac address filled in by bootwrapper */
183                         local-mac-address = [ 00 00 00 00 00 00 ];
184                         interrupts = <0x23 0x2 0x24 0x2 0x28 0x2>;
185                         interrupt-parent = <&mpic>;
186                         tbi-handle = <&tbi1>;
187                         phy-handle = <&PHY2>;
188                 };
189
190                 mpic: pic@40000 {
191                         #address-cells = <0>;
192                         #interrupt-cells = <2>;
193                         interrupt-controller;
194                         reg = <0x40000 0x40000>;
195                         device_type = "open-pic";
196                 };
197
198                 cpm@919c0 {
199                         #address-cells = <1>;
200                         #size-cells = <1>;
201                         compatible = "fsl,mpc8560-cpm", "fsl,cpm2";
202                         reg = <0x919c0 0x30>;
203                         ranges;
204
205                         muram@80000 {
206                                 #address-cells = <1>;
207                                 #size-cells = <1>;
208                                 ranges = <0x0 0x80000 0x10000>;
209
210                                 data@0 {
211                                         compatible = "fsl,cpm-muram-data";
212                                         reg = <0x0 0x4000 0x9000 0x2000>;
213                                 };
214                         };
215
216                         brg@919f0 {
217                                 compatible = "fsl,mpc8560-brg",
218                                              "fsl,cpm2-brg",
219                                              "fsl,cpm-brg";
220                                 reg = <0x919f0 0x10 0x915f0 0x10>;
221                                 clock-frequency = <165000000>;  /* 166MHz */
222                         };
223
224                         CPMPIC: pic@90c00 {
225                                 #address-cells = <0>;
226                                 #interrupt-cells = <2>;
227                                 interrupt-controller;
228                                 interrupts = <0x2e 0x2>;
229                                 interrupt-parent = <&mpic>;
230                                 reg = <0x90c00 0x80>;
231                                 compatible = "fsl,mpc8560-cpm-pic", "fsl,cpm2-pic";
232                         };
233
234                         serial@91a00 {
235                                 device_type = "serial";
236                                 compatible = "fsl,mpc8560-scc-uart",
237                                              "fsl,cpm2-scc-uart";
238                                 reg = <0x91a00 0x20 0x88000 0x100>;
239                                 fsl,cpm-brg = <1>;
240                                 fsl,cpm-command = <0x800000>;
241                                 current-speed = <0x1c200>;
242                                 interrupts = <0x28 0x8>;
243                                 interrupt-parent = <&CPMPIC>;
244                         };
245
246                         serial@91a20 {
247                                 device_type = "serial";
248                                 compatible = "fsl,mpc8560-scc-uart",
249                                              "fsl,cpm2-scc-uart";
250                                 reg = <0x91a20 0x20 0x88100 0x100>;
251                                 fsl,cpm-brg = <2>;
252                                 fsl,cpm-command = <0x4a00000>;
253                                 current-speed = <0x1c200>;
254                                 interrupts = <0x29 0x8>;
255                                 interrupt-parent = <&CPMPIC>;
256                         };
257
258                         mdio@90d00 {                            /* For FCCs */
259                                 #address-cells = <1>;
260                                 #size-cells = <0>;
261                                 compatible = "fsl,cpm2-mdio-bitbang";
262                                 reg = <0x90d00 0x14>;
263                                 fsl,mdio-pin = <24>;
264                                 fsl,mdc-pin = <25>;
265
266                                 PHY0: ethernet-phy@0 {
267                                         interrupt-parent = <&mpic>;
268                                         reg = <0x0>;
269                                         device_type = "ethernet-phy";
270                                 };
271                         };
272
273                         enet2: ethernet@91300 {
274                                 device_type = "network";
275                                 compatible = "fsl,mpc8560-fcc-enet",
276                                              "fsl,cpm2-fcc-enet";
277                                 reg = <0x91300 0x20 0x88400 0x100 0x91390 0x1>;
278                                 /* Mac address filled in by bootwrapper */
279                                 local-mac-address = [ 00 00 00 00 00 00 ];
280                                 fsl,cpm-command = <0x12000300>;
281                                 interrupts = <0x20 0x8>;
282                                 interrupt-parent = <&CPMPIC>;
283                                 phy-handle = <&PHY0>;
284                         };
285                 };
286         };
287
288         localbus@fdf05000 {
289                 #address-cells = <2>;
290                 #size-cells = <1>;
291                 compatible = "fsl,mpc8560-localbus";
292                 reg = <0xfdf05000 0x68>;
293
294                 ranges = <0x0 0x0 0xe0000000 0x00800000
295                           0x4 0x0 0xe8080000 0x00080000>;
296
297                 flash@0,0 {
298                         #address-cells = <1>;
299                         #size-cells = <1>;
300                         compatible = "jedec-flash";
301                         reg = <0x0 0x0 0x800000>;
302                         bank-width = <0x2>;
303
304                         partition@0 {
305                                 label = "Primary Kernel";
306                                 reg = <0x0 0x180000>;
307                         };
308                         partition@180000 {
309                                 label = "Primary Filesystem";
310                                 reg = <0x180000 0x580000>;
311                         };
312                         partition@700000 {
313                                 label = "Monitor";
314                                 reg = <0x300000 0x100000>;
315                                 read-only;
316                         };
317                 };
318
319                 cpld@4,0 {
320                         compatible = "emerson,KSI8560-cpld";
321                         reg = <0x4 0x0 0x80000>;
322                 };
323         };
324
325
326         chosen {
327                 linux,stdout-path = "/soc/cpm/serial@91a00";
328         };
329 };