Merge branch 'for-rmk' of git://git.kernel.org/pub/scm/linux/kernel/git/ycmiao/pxa...
[linux-2.6] / arch / powerpc / boot / dts / lite5200.dts
CommitLineData
c6d4d657
GL
1/*
2 * Lite5200 board Device Tree Source
3 *
05cbbc69 4 * Copyright 2006-2007 Secret Lab Technologies Ltd.
c6d4d657
GL
5 * Grant Likely <grant.likely@secretlab.ca>
6 *
7 * This program is free software; you can redistribute it and/or modify it
8 * under the terms of the GNU General Public License as published by the
9 * Free Software Foundation; either version 2 of the License, or (at your
10 * option) any later version.
11 */
12
a2884f37
GL
13/dts-v1/;
14
c6d4d657 15/ {
05cbbc69 16 model = "fsl,lite5200";
5b5820d0 17 compatible = "fsl,lite5200";
c6d4d657
GL
18 #address-cells = <1>;
19 #size-cells = <1>;
20
21 cpus {
c6d4d657
GL
22 #address-cells = <1>;
23 #size-cells = <0>;
24
25 PowerPC,5200@0 {
26 device_type = "cpu";
27 reg = <0>;
a2884f37
GL
28 d-cache-line-size = <32>;
29 i-cache-line-size = <32>;
30 d-cache-size = <0x4000>; // L1, 16K
31 i-cache-size = <0x4000>; // L1, 16K
c6d4d657
GL
32 timebase-frequency = <0>; // from bootloader
33 bus-frequency = <0>; // from bootloader
34 clock-frequency = <0>; // from bootloader
c6d4d657
GL
35 };
36 };
37
38 memory {
39 device_type = "memory";
a2884f37 40 reg = <0x00000000 0x04000000>; // 64MB
c6d4d657
GL
41 };
42
43 soc5200@f0000000 {
58a5be39
PG
44 #address-cells = <1>;
45 #size-cells = <1>;
24ce6bc4 46 compatible = "fsl,mpc5200-immr";
a2884f37
GL
47 ranges = <0 0xf0000000 0x0000c000>;
48 reg = <0xf0000000 0x00000100>;
c6d4d657 49 bus-frequency = <0>; // from bootloader
05cbbc69 50 system-frequency = <0>; // from bootloader
c6d4d657
GL
51
52 cdm@200 {
24ce6bc4 53 compatible = "fsl,mpc5200-cdm";
a2884f37 54 reg = <0x200 0x38>;
c6d4d657
GL
55 };
56
24ce6bc4 57 mpc5200_pic: interrupt-controller@500 {
c6d4d657 58 // 5200 interrupts are encoded into two levels;
c6d4d657
GL
59 interrupt-controller;
60 #interrupt-cells = <3>;
61 device_type = "interrupt-controller";
24ce6bc4 62 compatible = "fsl,mpc5200-pic";
a2884f37 63 reg = <0x500 0x80>;
c6d4d657
GL
64 };
65
24ce6bc4 66 timer@600 { // General Purpose Timer
d24bc314 67 compatible = "fsl,mpc5200-gpt";
05cbbc69 68 cell-index = <0>;
a2884f37 69 reg = <0x600 0x10>;
c6d4d657 70 interrupts = <1 9 0>;
5c1992f8 71 interrupt-parent = <&mpc5200_pic>;
d24bc314 72 fsl,has-wdt;
c6d4d657
GL
73 };
74
24ce6bc4 75 timer@610 { // General Purpose Timer
d24bc314 76 compatible = "fsl,mpc5200-gpt";
05cbbc69 77 cell-index = <1>;
a2884f37
GL
78 reg = <0x610 0x10>;
79 interrupts = <1 10 0>;
5c1992f8 80 interrupt-parent = <&mpc5200_pic>;
c6d4d657
GL
81 };
82
24ce6bc4 83 timer@620 { // General Purpose Timer
d24bc314 84 compatible = "fsl,mpc5200-gpt";
05cbbc69 85 cell-index = <2>;
a2884f37
GL
86 reg = <0x620 0x10>;
87 interrupts = <1 11 0>;
5c1992f8 88 interrupt-parent = <&mpc5200_pic>;
c6d4d657
GL
89 };
90
24ce6bc4 91 timer@630 { // General Purpose Timer
d24bc314 92 compatible = "fsl,mpc5200-gpt";
05cbbc69 93 cell-index = <3>;
a2884f37
GL
94 reg = <0x630 0x10>;
95 interrupts = <1 12 0>;
5c1992f8 96 interrupt-parent = <&mpc5200_pic>;
c6d4d657
GL
97 };
98
24ce6bc4 99 timer@640 { // General Purpose Timer
d24bc314 100 compatible = "fsl,mpc5200-gpt";
05cbbc69 101 cell-index = <4>;
a2884f37
GL
102 reg = <0x640 0x10>;
103 interrupts = <1 13 0>;
5c1992f8 104 interrupt-parent = <&mpc5200_pic>;
c6d4d657
GL
105 };
106
24ce6bc4 107 timer@650 { // General Purpose Timer
d24bc314 108 compatible = "fsl,mpc5200-gpt";
05cbbc69 109 cell-index = <5>;
a2884f37
GL
110 reg = <0x650 0x10>;
111 interrupts = <1 14 0>;
5c1992f8 112 interrupt-parent = <&mpc5200_pic>;
c6d4d657
GL
113 };
114
24ce6bc4 115 timer@660 { // General Purpose Timer
d24bc314 116 compatible = "fsl,mpc5200-gpt";
05cbbc69 117 cell-index = <6>;
a2884f37
GL
118 reg = <0x660 0x10>;
119 interrupts = <1 15 0>;
5c1992f8 120 interrupt-parent = <&mpc5200_pic>;
c6d4d657
GL
121 };
122
24ce6bc4 123 timer@670 { // General Purpose Timer
d24bc314 124 compatible = "fsl,mpc5200-gpt";
05cbbc69 125 cell-index = <7>;
a2884f37
GL
126 reg = <0x670 0x10>;
127 interrupts = <1 16 0>;
5c1992f8 128 interrupt-parent = <&mpc5200_pic>;
c6d4d657
GL
129 };
130
131 rtc@800 { // Real time clock
24ce6bc4 132 compatible = "fsl,mpc5200-rtc";
c6d4d657 133 device_type = "rtc";
a2884f37 134 reg = <0x800 0x100>;
c6d4d657 135 interrupts = <1 5 0 1 6 0>;
5c1992f8 136 interrupt-parent = <&mpc5200_pic>;
c6d4d657
GL
137 };
138
24ce6bc4
GL
139 can@900 {
140 compatible = "fsl,mpc5200-mscan";
05cbbc69 141 cell-index = <0>;
a2884f37 142 interrupts = <2 17 0>;
5c1992f8 143 interrupt-parent = <&mpc5200_pic>;
a2884f37 144 reg = <0x900 0x80>;
c6d4d657
GL
145 };
146
24ce6bc4
GL
147 can@980 {
148 compatible = "fsl,mpc5200-mscan";
05cbbc69 149 cell-index = <1>;
a2884f37 150 interrupts = <2 18 0>;
5c1992f8 151 interrupt-parent = <&mpc5200_pic>;
a2884f37 152 reg = <0x980 0x80>;
c6d4d657
GL
153 };
154
155 gpio@b00 {
24ce6bc4 156 compatible = "fsl,mpc5200-gpio";
a2884f37 157 reg = <0xb00 0x40>;
c6d4d657 158 interrupts = <1 7 0>;
5c1992f8 159 interrupt-parent = <&mpc5200_pic>;
c6d4d657
GL
160 };
161
24ce6bc4
GL
162 gpio@c00 {
163 compatible = "fsl,mpc5200-gpio-wkup";
a2884f37 164 reg = <0xc00 0x40>;
c6d4d657 165 interrupts = <1 8 0 0 3 0>;
5c1992f8 166 interrupt-parent = <&mpc5200_pic>;
c6d4d657
GL
167 };
168
c6d4d657 169 spi@f00 {
24ce6bc4 170 compatible = "fsl,mpc5200-spi";
a2884f37
GL
171 reg = <0xf00 0x20>;
172 interrupts = <2 13 0 2 14 0>;
5c1992f8 173 interrupt-parent = <&mpc5200_pic>;
c6d4d657
GL
174 };
175
176 usb@1000 {
24ce6bc4 177 compatible = "fsl,mpc5200-ohci","ohci-be";
a2884f37 178 reg = <0x1000 0xff>;
c6d4d657 179 interrupts = <2 6 0>;
5c1992f8 180 interrupt-parent = <&mpc5200_pic>;
c6d4d657
GL
181 };
182
24ce6bc4 183 dma-controller@1200 {
c6d4d657 184 device_type = "dma-controller";
24ce6bc4 185 compatible = "fsl,mpc5200-bestcomm";
a2884f37 186 reg = <0x1200 0x80>;
c6d4d657
GL
187 interrupts = <3 0 0 3 1 0 3 2 0 3 3 0
188 3 4 0 3 5 0 3 6 0 3 7 0
a2884f37
GL
189 3 8 0 3 9 0 3 10 0 3 11 0
190 3 12 0 3 13 0 3 14 0 3 15 0>;
5c1992f8 191 interrupt-parent = <&mpc5200_pic>;
c6d4d657
GL
192 };
193
194 xlb@1f00 {
24ce6bc4 195 compatible = "fsl,mpc5200-xlb";
a2884f37 196 reg = <0x1f00 0x100>;
c6d4d657
GL
197 };
198
199 serial@2000 { // PSC1
200 device_type = "serial";
24ce6bc4 201 compatible = "fsl,mpc5200-psc-uart";
c6d4d657 202 port-number = <0>; // Logical port assignment
05cbbc69 203 cell-index = <0>;
a2884f37 204 reg = <0x2000 0x100>;
c6d4d657 205 interrupts = <2 1 0>;
5c1992f8 206 interrupt-parent = <&mpc5200_pic>;
c6d4d657
GL
207 };
208
05cbbc69
GL
209 // PSC2 in ac97 mode example
210 //ac97@2200 { // PSC2
24ce6bc4 211 // compatible = "fsl,mpc5200-psc-ac97";
05cbbc69 212 // cell-index = <1>;
a2884f37 213 // reg = <0x2200 0x100>;
05cbbc69 214 // interrupts = <2 2 0>;
5c1992f8 215 // interrupt-parent = <&mpc5200_pic>;
05cbbc69 216 //};
c6d4d657
GL
217
218 // PSC3 in CODEC mode example
05cbbc69 219 //i2s@2400 { // PSC3
24ce6bc4 220 // compatible = "fsl,mpc5200-psc-i2s";
05cbbc69 221 // cell-index = <2>;
a2884f37 222 // reg = <0x2400 0x100>;
05cbbc69 223 // interrupts = <2 3 0>;
5c1992f8 224 // interrupt-parent = <&mpc5200_pic>;
05cbbc69 225 //};
c6d4d657 226
05cbbc69 227 // PSC4 in uart mode example
c6d4d657
GL
228 //serial@2600 { // PSC4
229 // device_type = "serial";
24ce6bc4 230 // compatible = "fsl,mpc5200-psc-uart";
05cbbc69 231 // cell-index = <3>;
a2884f37
GL
232 // reg = <0x2600 0x100>;
233 // interrupts = <2 11 0>;
5c1992f8 234 // interrupt-parent = <&mpc5200_pic>;
c6d4d657
GL
235 //};
236
05cbbc69 237 // PSC5 in uart mode example
c6d4d657
GL
238 //serial@2800 { // PSC5
239 // device_type = "serial";
24ce6bc4 240 // compatible = "fsl,mpc5200-psc-uart";
05cbbc69 241 // cell-index = <4>;
a2884f37
GL
242 // reg = <0x2800 0x100>;
243 // interrupts = <2 12 0>;
5c1992f8 244 // interrupt-parent = <&mpc5200_pic>;
c6d4d657
GL
245 //};
246
05cbbc69
GL
247 // PSC6 in spi mode example
248 //spi@2c00 { // PSC6
24ce6bc4 249 // compatible = "fsl,mpc5200-psc-spi";
05cbbc69 250 // cell-index = <5>;
a2884f37 251 // reg = <0x2c00 0x100>;
05cbbc69 252 // interrupts = <2 4 0>;
5c1992f8 253 // interrupt-parent = <&mpc5200_pic>;
05cbbc69 254 //};
c6d4d657
GL
255
256 ethernet@3000 {
257 device_type = "network";
24ce6bc4 258 compatible = "fsl,mpc5200-fec";
a2884f37 259 reg = <0x3000 0x400>;
24ce6bc4 260 local-mac-address = [ 00 00 00 00 00 00 ];
c6d4d657 261 interrupts = <2 5 0>;
5c1992f8 262 interrupt-parent = <&mpc5200_pic>;
8d813941
RB
263 phy-handle = <&phy0>;
264 };
265
266 mdio@3000 {
267 #address-cells = <1>;
268 #size-cells = <0>;
269 compatible = "fsl,mpc5200-mdio";
a2884f37 270 reg = <0x3000 0x400>; // fec range, since we need to setup fec interrupts
8d813941
RB
271 interrupts = <2 5 0>; // these are for "mii command finished", not link changes & co.
272 interrupt-parent = <&mpc5200_pic>;
273
a2884f37 274 phy0: ethernet-phy@1 {
8d813941
RB
275 device_type = "ethernet-phy";
276 reg = <1>;
277 };
c6d4d657
GL
278 };
279
280 ata@3a00 {
281 device_type = "ata";
24ce6bc4 282 compatible = "fsl,mpc5200-ata";
a2884f37 283 reg = <0x3a00 0x100>;
c6d4d657 284 interrupts = <2 7 0>;
5c1992f8 285 interrupt-parent = <&mpc5200_pic>;
c6d4d657
GL
286 };
287
288 i2c@3d00 {
ec9686c4
KG
289 #address-cells = <1>;
290 #size-cells = <0>;
24ce6bc4 291 compatible = "fsl,mpc5200-i2c","fsl-i2c";
05cbbc69 292 cell-index = <0>;
a2884f37
GL
293 reg = <0x3d00 0x40>;
294 interrupts = <2 15 0>;
5c1992f8 295 interrupt-parent = <&mpc5200_pic>;
5cae84c9 296 fsl5200-clocking;
c6d4d657
GL
297 };
298
299 i2c@3d40 {
ec9686c4
KG
300 #address-cells = <1>;
301 #size-cells = <0>;
24ce6bc4 302 compatible = "fsl,mpc5200-i2c","fsl-i2c";
05cbbc69 303 cell-index = <1>;
a2884f37
GL
304 reg = <0x3d40 0x40>;
305 interrupts = <2 16 0>;
5c1992f8 306 interrupt-parent = <&mpc5200_pic>;
5cae84c9 307 fsl5200-clocking;
c6d4d657
GL
308 };
309 sram@8000 {
24ce6bc4 310 compatible = "fsl,mpc5200-sram","sram";
a2884f37 311 reg = <0x8000 0x4000>;
c6d4d657
GL
312 };
313 };
1b3c5cda
KG
314
315 pci@f0000d00 {
316 #interrupt-cells = <1>;
317 #size-cells = <2>;
318 #address-cells = <3>;
319 device_type = "pci";
24ce6bc4 320 compatible = "fsl,mpc5200-pci";
a2884f37
GL
321 reg = <0xf0000d00 0x100>;
322 interrupt-map-mask = <0xf800 0 0 7>;
323 interrupt-map = <0xc000 0 0 1 &mpc5200_pic 0 0 3
324 0xc000 0 0 2 &mpc5200_pic 0 0 3
325 0xc000 0 0 3 &mpc5200_pic 0 0 3
326 0xc000 0 0 4 &mpc5200_pic 0 0 3>;
1b3c5cda 327 clock-frequency = <0>; // From boot loader
a2884f37 328 interrupts = <2 8 0 2 9 0 2 10 0>;
1b3c5cda
KG
329 interrupt-parent = <&mpc5200_pic>;
330 bus-range = <0 0>;
a2884f37
GL
331 ranges = <0x42000000 0 0x80000000 0x80000000 0 0x20000000
332 0x02000000 0 0xa0000000 0xa0000000 0 0x10000000
333 0x01000000 0 0x00000000 0xb0000000 0 0x01000000>;
1b3c5cda 334 };
c6d4d657 335};