Merge ../linux-2.6
[pandora-kernel.git] / arch / powerpc / boot / dts / mpc8540ads.dts
1 /*
2  * MPC8540 ADS Device Tree Source
3  *
4  * Copyright 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 / {
14         model = "MPC8540ADS";
15         compatible = "MPC85xxADS";
16         #address-cells = <1>;
17         #size-cells = <1>;
18         linux,phandle = <100>;
19
20         cpus {
21                 #cpus = <1>;
22                 #address-cells = <1>;
23                 #size-cells = <0>;
24                 linux,phandle = <200>;
25
26                 PowerPC,8540@0 {
27                         device_type = "cpu";
28                         reg = <0>;
29                         d-cache-line-size = <20>;       // 32 bytes
30                         i-cache-line-size = <20>;       // 32 bytes
31                         d-cache-size = <8000>;          // L1, 32K
32                         i-cache-size = <8000>;          // L1, 32K
33                         timebase-frequency = <0>;       //  33 MHz, from uboot
34                         bus-frequency = <0>;    // 166 MHz
35                         clock-frequency = <0>;  // 825 MHz, from uboot
36                         32-bit;
37                         linux,phandle = <201>;
38                 };
39         };
40
41         memory {
42                 device_type = "memory";
43                 linux,phandle = <300>;
44                 reg = <00000000 08000000>;      // 128M at 0x0
45         };
46
47         soc8540@e0000000 {
48                 #address-cells = <1>;
49                 #size-cells = <1>;
50                 #interrupt-cells = <2>;
51                 device_type = "soc";
52                 ranges = <0 e0000000 00100000>;
53                 reg = <e0000000 00100000>;      // CCSRBAR 1M
54                 bus-frequency = <0>;
55
56                 i2c@3000 {
57                         device_type = "i2c";
58                         compatible = "fsl-i2c";
59                         reg = <3000 100>;
60                         interrupts = <1b 2>;
61                         interrupt-parent = <40000>;
62                         dfsrr;
63                 };
64
65                 mdio@24520 {
66                         #address-cells = <1>;
67                         #size-cells = <0>;
68                         device_type = "mdio";
69                         compatible = "gianfar";
70                         reg = <24520 20>;
71                         linux,phandle = <24520>;
72                         ethernet-phy@0 {
73                                 linux,phandle = <2452000>;
74                                 interrupt-parent = <40000>;
75                                 interrupts = <35 1>;
76                                 reg = <0>;
77                                 device_type = "ethernet-phy";
78                         };
79                         ethernet-phy@1 {
80                                 linux,phandle = <2452001>;
81                                 interrupt-parent = <40000>;
82                                 interrupts = <35 1>;
83                                 reg = <1>;
84                                 device_type = "ethernet-phy";
85                         };
86                         ethernet-phy@3 {
87                                 linux,phandle = <2452003>;
88                                 interrupt-parent = <40000>;
89                                 interrupts = <37 1>;
90                                 reg = <3>;
91                                 device_type = "ethernet-phy";
92                         };
93                 };
94
95                 ethernet@24000 {
96                         #address-cells = <1>;
97                         #size-cells = <0>;
98                         device_type = "network";
99                         model = "TSEC";
100                         compatible = "gianfar";
101                         reg = <24000 1000>;
102                         address = [ 00 E0 0C 00 73 00 ];
103                         local-mac-address = [ 00 E0 0C 00 73 00 ];
104                         interrupts = <d 2 e 2 12 2>;
105                         interrupt-parent = <40000>;
106                         phy-handle = <2452000>;
107                 };
108
109                 ethernet@25000 {
110                         #address-cells = <1>;
111                         #size-cells = <0>;
112                         device_type = "network";
113                         model = "TSEC";
114                         compatible = "gianfar";
115                         reg = <25000 1000>;
116                         address = [ 00 E0 0C 00 73 01 ];
117                         local-mac-address = [ 00 E0 0C 00 73 01 ];
118                         interrupts = <13 2 14 2 18 2>;
119                         interrupt-parent = <40000>;
120                         phy-handle = <2452001>;
121                 };
122
123                 ethernet@26000 {
124                         #address-cells = <1>;
125                         #size-cells = <0>;
126                         device_type = "network";
127                         model = "FEC";
128                         compatible = "gianfar";
129                         reg = <26000 1000>;
130                         address = [ 00 E0 0C 00 73 02 ];
131                         local-mac-address = [ 00 E0 0C 00 73 02 ];
132                         interrupts = <19 2>;
133                         interrupt-parent = <40000>;
134                         phy-handle = <2452003>;
135                 };
136
137                 serial@4500 {
138                         device_type = "serial";
139                         compatible = "ns16550";
140                         reg = <4500 100>;       // reg base, size
141                         clock-frequency = <0>;  // should we fill in in uboot?
142                         interrupts = <1a 2>;
143                         interrupt-parent = <40000>;
144                 };
145
146                 serial@4600 {
147                         device_type = "serial";
148                         compatible = "ns16550";
149                         reg = <4600 100>;       // reg base, size
150                         clock-frequency = <0>;  // should we fill in in uboot?
151                         interrupts = <1a 2>;
152                         interrupt-parent = <40000>;
153                 };
154                 pci@8000 {
155                         linux,phandle = <8000>;
156                         interrupt-map-mask = <f800 0 0 7>;
157                         interrupt-map = <
158
159                                 /* IDSEL 0x02 */
160                                 1000 0 0 1 40000 31 1
161                                 1000 0 0 2 40000 32 1
162                                 1000 0 0 3 40000 33 1
163                                 1000 0 0 4 40000 34 1
164
165                                 /* IDSEL 0x03 */
166                                 1800 0 0 1 40000 34 1
167                                 1800 0 0 2 40000 31 1
168                                 1800 0 0 3 40000 32 1
169                                 1800 0 0 4 40000 33 1
170
171                                 /* IDSEL 0x04 */
172                                 2000 0 0 1 40000 33 1
173                                 2000 0 0 2 40000 34 1
174                                 2000 0 0 3 40000 31 1
175                                 2000 0 0 4 40000 32 1
176
177                                 /* IDSEL 0x05 */
178                                 2800 0 0 1 40000 32 1
179                                 2800 0 0 2 40000 33 1
180                                 2800 0 0 3 40000 34 1
181                                 2800 0 0 4 40000 31 1
182
183                                 /* IDSEL 0x0c */
184                                 6000 0 0 1 40000 31 1
185                                 6000 0 0 2 40000 32 1
186                                 6000 0 0 3 40000 33 1
187                                 6000 0 0 4 40000 34 1
188
189                                 /* IDSEL 0x0d */
190                                 6800 0 0 1 40000 34 1
191                                 6800 0 0 2 40000 31 1
192                                 6800 0 0 3 40000 32 1
193                                 6800 0 0 4 40000 33 1
194
195                                 /* IDSEL 0x0e */
196                                 7000 0 0 1 40000 33 1
197                                 7000 0 0 2 40000 34 1
198                                 7000 0 0 3 40000 31 1
199                                 7000 0 0 4 40000 32 1
200
201                                 /* IDSEL 0x0f */
202                                 7800 0 0 1 40000 32 1
203                                 7800 0 0 2 40000 33 1
204                                 7800 0 0 3 40000 34 1
205                                 7800 0 0 4 40000 31 1
206
207                                 /* IDSEL 0x12 */
208                                 9000 0 0 1 40000 31 1
209                                 9000 0 0 2 40000 32 1
210                                 9000 0 0 3 40000 33 1
211                                 9000 0 0 4 40000 34 1
212
213                                 /* IDSEL 0x13 */
214                                 9800 0 0 1 40000 34 1
215                                 9800 0 0 2 40000 31 1
216                                 9800 0 0 3 40000 32 1
217                                 9800 0 0 4 40000 33 1
218
219                                 /* IDSEL 0x14 */
220                                 a000 0 0 1 40000 33 1
221                                 a000 0 0 2 40000 34 1
222                                 a000 0 0 3 40000 31 1
223                                 a000 0 0 4 40000 32 1
224
225                                 /* IDSEL 0x15 */
226                                 a800 0 0 1 40000 32 1
227                                 a800 0 0 2 40000 33 1
228                                 a800 0 0 3 40000 34 1
229                                 a800 0 0 4 40000 31 1>;
230                         interrupt-parent = <40000>;
231                         interrupts = <08 2>;
232                         bus-range = <0 0>;
233                         ranges = <02000000 0 80000000 80000000 0 20000000
234                                   01000000 0 00000000 e2000000 0 00100000>;
235                         clock-frequency = <3f940aa>;
236                         #interrupt-cells = <1>;
237                         #size-cells = <2>;
238                         #address-cells = <3>;
239                         reg = <8000 1000>;
240                         compatible = "85xx";
241                         device_type = "pci";
242                 };
243
244                 pic@40000 {
245                         linux,phandle = <40000>;
246                         clock-frequency = <0>;
247                         interrupt-controller;
248                         #address-cells = <0>;
249                         #interrupt-cells = <2>;
250                         reg = <40000 40000>;
251                         built-in;
252                         compatible = "chrp,open-pic";
253                         device_type = "open-pic";
254                         big-endian;
255                 };
256         };
257 };