blob: 9a603695723be25eca0216d76f5bd077f6859585 [file] [log] [blame]
Anton Vorontsovfda4bd92009-07-25 01:42:17 +04001/*
2 * MPC8377E WLAN Device Tree Source
3 *
4 * Copyright 2007-2009 Freescale Semiconductor Inc.
5 * Copyright 2009 MontaVista Software, Inc.
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
13/dts-v1/;
14
15/ {
16 compatible = "fsl,mpc8377wlan";
17 #address-cells = <1>;
18 #size-cells = <1>;
19
20 aliases {
21 ethernet0 = &enet0;
22 ethernet1 = &enet1;
23 serial0 = &serial0;
24 serial1 = &serial1;
25 pci0 = &pci0;
26 pci1 = &pci1;
27 pci2 = &pci2;
28 };
29
30 cpus {
31 #address-cells = <1>;
32 #size-cells = <0>;
33
34 PowerPC,8377@0 {
35 device_type = "cpu";
36 reg = <0x0>;
37 d-cache-line-size = <32>;
38 i-cache-line-size = <32>;
39 d-cache-size = <32768>;
40 i-cache-size = <32768>;
41 timebase-frequency = <0>;
42 bus-frequency = <0>;
43 clock-frequency = <0>;
44 };
45 };
46
47 memory {
48 device_type = "memory";
49 reg = <0x00000000 0x20000000>; // 512MB at 0
50 };
51
52 localbus@e0005000 {
53 #address-cells = <2>;
54 #size-cells = <1>;
55 compatible = "fsl,mpc8377-elbc", "fsl,elbc", "simple-bus";
56 reg = <0xe0005000 0x1000>;
57 interrupts = <77 0x8>;
58 interrupt-parent = <&ipic>;
59 ranges = <0x0 0x0 0xfc000000 0x04000000>;
60
61 flash@0,0 {
62 #address-cells = <1>;
63 #size-cells = <1>;
64 compatible = "cfi-flash";
65 reg = <0x0 0x0 0x4000000>;
66 bank-width = <2>;
67 device-width = <1>;
68
69 partition@0 {
70 reg = <0 0x8000>;
71 label = "u-boot";
72 read-only;
73 };
74
75 partition@a0000 {
76 reg = <0xa0000 0x300000>;
77 label = "kernel";
78 };
79
80 partition@3a0000 {
81 reg = <0x3a0000 0x3c60000>;
82 label = "rootfs";
83 };
84 };
85 };
86
87 immr@e0000000 {
88 #address-cells = <1>;
89 #size-cells = <1>;
90 device_type = "soc";
91 compatible = "simple-bus";
92 ranges = <0x0 0xe0000000 0x00100000>;
93 reg = <0xe0000000 0x00000200>;
94 bus-frequency = <0>;
95
96 wdt@200 {
97 device_type = "watchdog";
98 compatible = "mpc83xx_wdt";
99 reg = <0x200 0x100>;
100 };
101
102 gpio1: gpio-controller@c00 {
103 #gpio-cells = <2>;
104 compatible = "fsl,mpc8377-gpio", "fsl,mpc8349-gpio";
105 reg = <0xc00 0x100>;
106 interrupts = <74 0x8>;
107 interrupt-parent = <&ipic>;
108 gpio-controller;
109 };
110
111 gpio2: gpio-controller@d00 {
112 #gpio-cells = <2>;
113 compatible = "fsl,mpc8377-gpio", "fsl,mpc8349-gpio";
114 reg = <0xd00 0x100>;
115 interrupts = <75 0x8>;
116 interrupt-parent = <&ipic>;
117 gpio-controller;
118 };
119
120 sleep-nexus {
121 #address-cells = <1>;
122 #size-cells = <1>;
123 compatible = "simple-bus";
124 sleep = <&pmc 0x0c000000>;
125 ranges;
126
127 i2c@3000 {
128 #address-cells = <1>;
129 #size-cells = <0>;
130 cell-index = <0>;
131 compatible = "fsl-i2c";
132 reg = <0x3000 0x100>;
133 interrupts = <14 0x8>;
134 interrupt-parent = <&ipic>;
135 dfsrr;
136
137 at24@50 {
138 compatible = "at24,24c256";
139 reg = <0x50>;
140 };
141
142 rtc@68 {
143 compatible = "dallas,ds1339";
144 reg = <0x68>;
145 };
146 };
147
148 sdhci@2e000 {
149 compatible = "fsl,mpc8377-esdhc", "fsl,esdhc";
150 reg = <0x2e000 0x1000>;
151 interrupts = <42 0x8>;
152 interrupt-parent = <&ipic>;
Anton Vorontsov50dfe702009-09-22 16:45:14 -0700153 sdhci,wp-inverted;
Anton Vorontsovfda4bd92009-07-25 01:42:17 +0400154 clock-frequency = <133333333>;
155 };
156 };
157
158 i2c@3100 {
159 #address-cells = <1>;
160 #size-cells = <0>;
161 cell-index = <1>;
162 compatible = "fsl-i2c";
163 reg = <0x3100 0x100>;
164 interrupts = <15 0x8>;
165 interrupt-parent = <&ipic>;
166 dfsrr;
167 };
168
169 spi@7000 {
170 cell-index = <0>;
171 compatible = "fsl,spi";
172 reg = <0x7000 0x1000>;
173 interrupts = <16 0x8>;
174 interrupt-parent = <&ipic>;
175 mode = "cpu";
176 };
177
178 dma@82a8 {
179 #address-cells = <1>;
180 #size-cells = <1>;
181 compatible = "fsl,mpc8377-dma", "fsl,elo-dma";
182 reg = <0x82a8 4>;
183 ranges = <0 0x8100 0x1a8>;
184 interrupt-parent = <&ipic>;
185 interrupts = <71 8>;
186 cell-index = <0>;
187 dma-channel@0 {
188 compatible = "fsl,mpc8377-dma-channel", "fsl,elo-dma-channel";
189 reg = <0 0x80>;
190 cell-index = <0>;
191 interrupt-parent = <&ipic>;
192 interrupts = <71 8>;
193 };
194 dma-channel@80 {
195 compatible = "fsl,mpc8377-dma-channel", "fsl,elo-dma-channel";
196 reg = <0x80 0x80>;
197 cell-index = <1>;
198 interrupt-parent = <&ipic>;
199 interrupts = <71 8>;
200 };
201 dma-channel@100 {
202 compatible = "fsl,mpc8377-dma-channel", "fsl,elo-dma-channel";
203 reg = <0x100 0x80>;
204 cell-index = <2>;
205 interrupt-parent = <&ipic>;
206 interrupts = <71 8>;
207 };
208 dma-channel@180 {
209 compatible = "fsl,mpc8377-dma-channel", "fsl,elo-dma-channel";
210 reg = <0x180 0x28>;
211 cell-index = <3>;
212 interrupt-parent = <&ipic>;
213 interrupts = <71 8>;
214 };
215 };
216
217 usb@23000 {
218 compatible = "fsl-usb2-dr";
219 reg = <0x23000 0x1000>;
220 #address-cells = <1>;
221 #size-cells = <0>;
222 interrupt-parent = <&ipic>;
223 interrupts = <38 0x8>;
224 phy_type = "ulpi";
225 sleep = <&pmc 0x00c00000>;
226 };
227
228 enet0: ethernet@24000 {
229 #address-cells = <1>;
230 #size-cells = <1>;
231 cell-index = <0>;
232 device_type = "network";
233 model = "eTSEC";
234 compatible = "gianfar";
235 reg = <0x24000 0x1000>;
236 ranges = <0x0 0x24000 0x1000>;
237 local-mac-address = [ 00 00 00 00 00 00 ];
238 interrupts = <32 0x8 33 0x8 34 0x8>;
239 phy-connection-type = "mii";
240 interrupt-parent = <&ipic>;
241 tbi-handle = <&tbi0>;
242 phy-handle = <&phy2>;
243 sleep = <&pmc 0xc0000000>;
244 fsl,magic-packet;
245
246 mdio@520 {
247 #address-cells = <1>;
248 #size-cells = <0>;
249 compatible = "fsl,gianfar-mdio";
250 reg = <0x520 0x20>;
251
252 phy2: ethernet-phy@2 {
253 interrupt-parent = <&ipic>;
254 interrupts = <17 0x8>;
255 reg = <0x2>;
256 device_type = "ethernet-phy";
257 };
258
259 phy3: ethernet-phy@3 {
260 interrupt-parent = <&ipic>;
261 interrupts = <18 0x8>;
262 reg = <0x3>;
263 device_type = "ethernet-phy";
264 };
265
266 tbi0: tbi-phy@11 {
267 reg = <0x11>;
268 device_type = "tbi-phy";
269 };
270 };
271 };
272
273 enet1: ethernet@25000 {
274 #address-cells = <1>;
275 #size-cells = <1>;
276 cell-index = <1>;
277 device_type = "network";
278 model = "eTSEC";
279 compatible = "gianfar";
280 reg = <0x25000 0x1000>;
281 ranges = <0x0 0x25000 0x1000>;
282 local-mac-address = [ 00 00 00 00 00 00 ];
283 interrupts = <35 0x8 36 0x8 37 0x8>;
284 phy-connection-type = "mii";
285 interrupt-parent = <&ipic>;
286 phy-handle = <&phy3>;
287 tbi-handle = <&tbi1>;
288 sleep = <&pmc 0x30000000>;
289 fsl,magic-packet;
290
291 mdio@520 {
292 #address-cells = <1>;
293 #size-cells = <0>;
294 compatible = "fsl,gianfar-tbi";
295 reg = <0x520 0x20>;
296
297 tbi1: tbi-phy@11 {
298 reg = <0x11>;
299 device_type = "tbi-phy";
300 };
301 };
302 };
303
304 serial0: serial@4500 {
305 cell-index = <0>;
306 device_type = "serial";
307 compatible = "ns16550";
308 reg = <0x4500 0x100>;
309 clock-frequency = <0>;
310 interrupts = <9 0x8>;
311 interrupt-parent = <&ipic>;
312 };
313
314 serial1: serial@4600 {
315 cell-index = <1>;
316 device_type = "serial";
317 compatible = "ns16550";
318 reg = <0x4600 0x100>;
319 clock-frequency = <0>;
320 interrupts = <10 0x8>;
321 interrupt-parent = <&ipic>;
322 };
323
324 crypto@30000 {
325 compatible = "fsl,sec3.0", "fsl,sec2.4", "fsl,sec2.2",
326 "fsl,sec2.1", "fsl,sec2.0";
327 reg = <0x30000 0x10000>;
328 interrupts = <11 0x8>;
329 interrupt-parent = <&ipic>;
330 fsl,num-channels = <4>;
331 fsl,channel-fifo-len = <24>;
332 fsl,exec-units-mask = <0x9fe>;
333 fsl,descriptor-types-mask = <0x3ab0ebf>;
334 sleep = <&pmc 0x03000000>;
335 };
336
337 sata@18000 {
338 compatible = "fsl,mpc8377-sata", "fsl,pq-sata";
339 reg = <0x18000 0x1000>;
340 interrupts = <44 0x8>;
341 interrupt-parent = <&ipic>;
342 sleep = <&pmc 0x000000c0>;
343 };
344
345 sata@19000 {
346 compatible = "fsl,mpc8377-sata", "fsl,pq-sata";
347 reg = <0x19000 0x1000>;
348 interrupts = <45 0x8>;
349 interrupt-parent = <&ipic>;
350 sleep = <&pmc 0x00000030>;
351 };
352
353 /* IPIC
354 * interrupts cell = <intr #, sense>
355 * sense values match linux IORESOURCE_IRQ_* defines:
356 * sense == 8: Level, low assertion
357 * sense == 2: Edge, high-to-low change
358 */
359 ipic: interrupt-controller@700 {
360 compatible = "fsl,ipic";
361 interrupt-controller;
362 #address-cells = <0>;
363 #interrupt-cells = <2>;
364 reg = <0x700 0x100>;
365 };
366
367 pmc: power@b00 {
368 compatible = "fsl,mpc8377-pmc", "fsl,mpc8349-pmc";
369 reg = <0xb00 0x100 0xa00 0x100>;
370 interrupts = <80 0x8>;
371 interrupt-parent = <&ipic>;
372 };
373 };
374
375 pci0: pci@e0008500 {
376 interrupt-map-mask = <0xf800 0 0 7>;
377 interrupt-map = <
378 /* IRQ5 = 21 = 0x15, IRQ6 = 0x16, IRQ7 = 23 = 0x17 */
379
380 /* IDSEL AD14 IRQ6 inta */
381 0x7000 0x0 0x0 0x1 &ipic 22 0x8
382
383 /* IDSEL AD15 IRQ5 inta */
384 0x7800 0x0 0x0 0x1 &ipic 21 0x8>;
385 interrupt-parent = <&ipic>;
386 interrupts = <66 0x8>;
387 bus-range = <0 0>;
388 ranges = <0x02000000 0x0 0x90000000 0x90000000 0x0 0x10000000
389 0x42000000 0x0 0x80000000 0x80000000 0x0 0x10000000
390 0x01000000 0x0 0x00000000 0xe0300000 0x0 0x00100000>;
391 sleep = <&pmc 0x00010000>;
392 clock-frequency = <66666666>;
393 #interrupt-cells = <1>;
394 #size-cells = <2>;
395 #address-cells = <3>;
396 reg = <0xe0008500 0x100 /* internal registers */
397 0xe0008300 0x8>; /* config space access registers */
398 compatible = "fsl,mpc8349-pci";
399 device_type = "pci";
400 };
401
402 pci1: pcie@e0009000 {
403 #address-cells = <3>;
404 #size-cells = <2>;
405 #interrupt-cells = <1>;
406 device_type = "pci";
407 compatible = "fsl,mpc8377-pcie", "fsl,mpc8314-pcie";
408 reg = <0xe0009000 0x00001000>;
409 ranges = <0x02000000 0 0xa8000000 0xa8000000 0 0x10000000
410 0x01000000 0 0x00000000 0xb8000000 0 0x00800000>;
411 bus-range = <0 255>;
412 interrupt-map-mask = <0xf800 0 0 7>;
413 interrupt-map = <0 0 0 1 &ipic 1 8
414 0 0 0 2 &ipic 1 8
415 0 0 0 3 &ipic 1 8
416 0 0 0 4 &ipic 1 8>;
417 sleep = <&pmc 0x00300000>;
418 clock-frequency = <0>;
419
420 pcie@0 {
421 #address-cells = <3>;
422 #size-cells = <2>;
423 device_type = "pci";
424 reg = <0 0 0 0 0>;
425 ranges = <0x02000000 0 0xa8000000
426 0x02000000 0 0xa8000000
427 0 0x10000000
428 0x01000000 0 0x00000000
429 0x01000000 0 0x00000000
430 0 0x00800000>;
431 };
432 };
433
434 pci2: pcie@e000a000 {
435 #address-cells = <3>;
436 #size-cells = <2>;
437 #interrupt-cells = <1>;
438 device_type = "pci";
439 compatible = "fsl,mpc8377-pcie", "fsl,mpc8314-pcie";
440 reg = <0xe000a000 0x00001000>;
441 ranges = <0x02000000 0 0xc8000000 0xc8000000 0 0x10000000
442 0x01000000 0 0x00000000 0xd8000000 0 0x00800000>;
443 bus-range = <0 255>;
444 interrupt-map-mask = <0xf800 0 0 7>;
445 interrupt-map = <0 0 0 1 &ipic 2 8
446 0 0 0 2 &ipic 2 8
447 0 0 0 3 &ipic 2 8
448 0 0 0 4 &ipic 2 8>;
449 sleep = <&pmc 0x000c0000>;
450 clock-frequency = <0>;
451
452 pcie@0 {
453 #address-cells = <3>;
454 #size-cells = <2>;
455 device_type = "pci";
456 reg = <0 0 0 0 0>;
457 ranges = <0x02000000 0 0xc8000000
458 0x02000000 0 0xc8000000
459 0 0x10000000
460 0x01000000 0 0x00000000
461 0x01000000 0 0x00000000
462 0 0x00800000>;
463 };
464 };
465};