aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorBenjamin Herrenschmidt <benh@kernel.crashing.org>2009-08-26 23:13:41 -0400
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>2009-08-26 23:13:41 -0400
commit3c2ee2d9f41ef43a581b26b677d2b4054ccbd200 (patch)
treef427586e5a1fecd1a21d9f4a5e088f31363f5282 /arch
parent6776426320e151051a16bc7bf86f12d310c9e8ca (diff)
parent1dcd8ffc81e80a170625883f63f6a5db3cd0428d (diff)
Merge commit 'kumar/next' into next
Diffstat (limited to 'arch')
-rw-r--r--arch/powerpc/boot/dts/mpc8272ads.dts8
-rw-r--r--arch/powerpc/boot/dts/mpc8536ds.dts8
-rw-r--r--arch/powerpc/boot/dts/mpc8536ds_36b.dts8
-rw-r--r--arch/powerpc/boot/dts/mpc8569mds.dts45
-rw-r--r--arch/powerpc/boot/dts/p2020rdb.dts586
-rw-r--r--arch/powerpc/boot/dts/sbc8349.dts60
-rw-r--r--arch/powerpc/boot/dts/sbc8560.dts1
-rw-r--r--arch/powerpc/configs/83xx/sbc834x_defconfig320
-rw-r--r--arch/powerpc/configs/mgcoge_defconfig86
-rw-r--r--arch/powerpc/configs/mpc85xx_defconfig1
-rw-r--r--arch/powerpc/include/asm/mmu-book3e.h12
-rw-r--r--arch/powerpc/include/asm/reg_booke.h6
-rw-r--r--arch/powerpc/mm/tlb_nohash_low.S2
-rw-r--r--arch/powerpc/platforms/82xx/mpc8272_ads.c22
-rw-r--r--arch/powerpc/platforms/85xx/Kconfig9
-rw-r--r--arch/powerpc/platforms/85xx/Makefile3
-rw-r--r--arch/powerpc/platforms/85xx/mpc85xx_mds.c4
-rw-r--r--arch/powerpc/platforms/85xx/mpc85xx_rdb.c141
-rw-r--r--arch/powerpc/platforms/85xx/sbc8560.c39
-rw-r--r--arch/powerpc/sysdev/fsl_soc.c6
-rw-r--r--arch/powerpc/sysdev/qe_lib/gpio.c4
21 files changed, 1321 insertions, 50 deletions
diff --git a/arch/powerpc/boot/dts/mpc8272ads.dts b/arch/powerpc/boot/dts/mpc8272ads.dts
index 60f332778e41..e802ebd88cb1 100644
--- a/arch/powerpc/boot/dts/mpc8272ads.dts
+++ b/arch/powerpc/boot/dts/mpc8272ads.dts
@@ -173,6 +173,14 @@
173 fsl,cpm-command = <0xce00000>; 173 fsl,cpm-command = <0xce00000>;
174 }; 174 };
175 175
176 usb@11b60 {
177 compatible = "fsl,mpc8272-cpm-usb";
178 reg = <0x11b60 0x40 0x8b00 0x100>;
179 interrupts = <11 8>;
180 interrupt-parent = <&PIC>;
181 mode = "peripheral";
182 };
183
176 mdio@10d40 { 184 mdio@10d40 {
177 device_type = "mdio"; 185 device_type = "mdio";
178 compatible = "fsl,mpc8272ads-mdio-bitbang", 186 compatible = "fsl,mpc8272ads-mdio-bitbang",
diff --git a/arch/powerpc/boot/dts/mpc8536ds.dts b/arch/powerpc/boot/dts/mpc8536ds.dts
index 22caf69e6efd..815cebb2e3e5 100644
--- a/arch/powerpc/boot/dts/mpc8536ds.dts
+++ b/arch/powerpc/boot/dts/mpc8536ds.dts
@@ -250,6 +250,14 @@
250 phy_type = "ulpi"; 250 phy_type = "ulpi";
251 }; 251 };
252 252
253 sdhci@2e000 {
254 compatible = "fsl,mpc8536-esdhc", "fsl,esdhc";
255 reg = <0x2e000 0x1000>;
256 interrupts = <72 0x2>;
257 interrupt-parent = <&mpic>;
258 clock-frequency = <250000000>;
259 };
260
253 serial0: serial@4500 { 261 serial0: serial@4500 {
254 cell-index = <0>; 262 cell-index = <0>;
255 device_type = "serial"; 263 device_type = "serial";
diff --git a/arch/powerpc/boot/dts/mpc8536ds_36b.dts b/arch/powerpc/boot/dts/mpc8536ds_36b.dts
index 113ed8b7c898..d95b26021e62 100644
--- a/arch/powerpc/boot/dts/mpc8536ds_36b.dts
+++ b/arch/powerpc/boot/dts/mpc8536ds_36b.dts
@@ -250,6 +250,14 @@
250 phy_type = "ulpi"; 250 phy_type = "ulpi";
251 }; 251 };
252 252
253 sdhci@2e000 {
254 compatible = "fsl,mpc8536-esdhc", "fsl,esdhc";
255 reg = <0x2e000 0x1000>;
256 interrupts = <72 0x2>;
257 interrupt-parent = <&mpic>;
258 clock-frequency = <250000000>;
259 };
260
253 serial0: serial@4500 { 261 serial0: serial@4500 {
254 cell-index = <0>; 262 cell-index = <0>;
255 device_type = "serial"; 263 device_type = "serial";
diff --git a/arch/powerpc/boot/dts/mpc8569mds.dts b/arch/powerpc/boot/dts/mpc8569mds.dts
index 9e4ce99e1613..06332d61830a 100644
--- a/arch/powerpc/boot/dts/mpc8569mds.dts
+++ b/arch/powerpc/boot/dts/mpc8569mds.dts
@@ -99,8 +99,18 @@
99 }; 99 };
100 100
101 bcsr@1,0 { 101 bcsr@1,0 {
102 #address-cells = <1>;
103 #size-cells = <1>;
102 compatible = "fsl,mpc8569mds-bcsr"; 104 compatible = "fsl,mpc8569mds-bcsr";
103 reg = <1 0 0x8000>; 105 reg = <1 0 0x8000>;
106 ranges = <0 1 0 0x8000>;
107
108 bcsr17: gpio-controller@11 {
109 #gpio-cells = <2>;
110 compatible = "fsl,mpc8569mds-bcsr-gpio";
111 reg = <0x11 0x1>;
112 gpio-controller;
113 };
104 }; 114 };
105 115
106 nand@3,0 { 116 nand@3,0 {
@@ -315,6 +325,14 @@
315 gpio-controller; 325 gpio-controller;
316 }; 326 };
317 327
328 qe_pio_f: gpio-controller@a0 {
329 #gpio-cells = <2>;
330 compatible = "fsl,mpc8569-qe-pario-bank",
331 "fsl,mpc8323-qe-pario-bank";
332 reg = <0xa0 0x18>;
333 gpio-controller;
334 };
335
318 pio1: ucc_pin@01 { 336 pio1: ucc_pin@01 {
319 pio-map = < 337 pio-map = <
320 /* port pin dir open_drain assignment has_irq */ 338 /* port pin dir open_drain assignment has_irq */
@@ -419,6 +437,16 @@
419 interrupt-parent = <&mpic>; 437 interrupt-parent = <&mpic>;
420 }; 438 };
421 439
440 timer@440 {
441 compatible = "fsl,mpc8569-qe-gtm",
442 "fsl,qe-gtm", "fsl,gtm";
443 reg = <0x440 0x40>;
444 interrupts = <12 13 14 15>;
445 interrupt-parent = <&qeic>;
446 /* Filled in by U-Boot */
447 clock-frequency = <0>;
448 };
449
422 spi@4c0 { 450 spi@4c0 {
423 #address-cells = <1>; 451 #address-cells = <1>;
424 #size-cells = <0>; 452 #size-cells = <0>;
@@ -446,6 +474,23 @@
446 mode = "cpu"; 474 mode = "cpu";
447 }; 475 };
448 476
477 usb@6c0 {
478 compatible = "fsl,mpc8569-qe-usb",
479 "fsl,mpc8323-qe-usb";
480 reg = <0x6c0 0x40 0x8b00 0x100>;
481 interrupts = <11>;
482 interrupt-parent = <&qeic>;
483 fsl,fullspeed-clock = "clk5";
484 fsl,lowspeed-clock = "brg10";
485 gpios = <&qe_pio_f 3 0 /* USBOE */
486 &qe_pio_f 4 0 /* USBTP */
487 &qe_pio_f 5 0 /* USBTN */
488 &qe_pio_f 6 0 /* USBRP */
489 &qe_pio_f 8 0 /* USBRN */
490 &bcsr17 6 0 /* SPEED */
491 &bcsr17 5 1>; /* POWER */
492 };
493
449 enet0: ucc@2000 { 494 enet0: ucc@2000 {
450 device_type = "network"; 495 device_type = "network";
451 compatible = "ucc_geth"; 496 compatible = "ucc_geth";
diff --git a/arch/powerpc/boot/dts/p2020rdb.dts b/arch/powerpc/boot/dts/p2020rdb.dts
new file mode 100644
index 000000000000..da4cb0d8d215
--- /dev/null
+++ b/arch/powerpc/boot/dts/p2020rdb.dts
@@ -0,0 +1,586 @@
1/*
2 * P2020 RDB Device Tree Source
3 *
4 * Copyright 2009 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/dts-v1/;
13/ {
14 model = "fsl,P2020";
15 compatible = "fsl,P2020RDB";
16 #address-cells = <2>;
17 #size-cells = <2>;
18
19 aliases {
20 ethernet0 = &enet0;
21 ethernet1 = &enet1;
22 ethernet2 = &enet2;
23 serial0 = &serial0;
24 serial1 = &serial1;
25 pci0 = &pci0;
26 pci1 = &pci1;
27 };
28
29 cpus {
30 #address-cells = <1>;
31 #size-cells = <0>;
32
33 PowerPC,P2020@0 {
34 device_type = "cpu";
35 reg = <0x0>;
36 next-level-cache = <&L2>;
37 };
38
39 PowerPC,P2020@1 {
40 device_type = "cpu";
41 reg = <0x1>;
42 next-level-cache = <&L2>;
43 };
44 };
45
46 memory {
47 device_type = "memory";
48 };
49
50 localbus@ffe05000 {
51 #address-cells = <2>;
52 #size-cells = <1>;
53 compatible = "fsl,p2020-elbc", "fsl,elbc", "simple-bus";
54 reg = <0 0xffe05000 0 0x1000>;
55 interrupts = <19 2>;
56 interrupt-parent = <&mpic>;
57
58 /* NOR and NAND Flashes */
59 ranges = <0x0 0x0 0x0 0xef000000 0x01000000
60 0x1 0x0 0x0 0xffa00000 0x00040000
61 0x2 0x0 0x0 0xffb00000 0x00020000>;
62
63 nor@0,0 {
64 #address-cells = <1>;
65 #size-cells = <1>;
66 compatible = "cfi-flash";
67 reg = <0x0 0x0 0x1000000>;
68 bank-width = <2>;
69 device-width = <1>;
70
71 partition@0 {
72 /* This location must not be altered */
73 /* 256KB for Vitesse 7385 Switch firmware */
74 reg = <0x0 0x00040000>;
75 label = "NOR (RO) Vitesse-7385 Firmware";
76 read-only;
77 };
78
79 partition@40000 {
80 /* 256KB for DTB Image */
81 reg = <0x00040000 0x00040000>;
82 label = "NOR (RO) DTB Image";
83 read-only;
84 };
85
86 partition@80000 {
87 /* 3.5 MB for Linux Kernel Image */
88 reg = <0x00080000 0x00380000>;
89 label = "NOR (RO) Linux Kernel Image";
90 read-only;
91 };
92
93 partition@400000 {
94 /* 11MB for JFFS2 based Root file System */
95 reg = <0x00400000 0x00b00000>;
96 label = "NOR (RW) JFFS2 Root File System";
97 };
98
99 partition@f00000 {
100 /* This location must not be altered */
101 /* 512KB for u-boot Bootloader Image */
102 /* 512KB for u-boot Environment Variables */
103 reg = <0x00f00000 0x00100000>;
104 label = "NOR (RO) U-Boot Image";
105 read-only;
106 };
107 };
108
109 nand@1,0 {
110 #address-cells = <1>;
111 #size-cells = <1>;
112 compatible = "fsl,p2020-fcm-nand",
113 "fsl,elbc-fcm-nand";
114 reg = <0x1 0x0 0x40000>;
115
116 partition@0 {
117 /* This location must not be altered */
118 /* 1MB for u-boot Bootloader Image */
119 reg = <0x0 0x00100000>;
120 label = "NAND (RO) U-Boot Image";
121 read-only;
122 };
123
124 partition@100000 {
125 /* 1MB for DTB Image */
126 reg = <0x00100000 0x00100000>;
127 label = "NAND (RO) DTB Image";
128 read-only;
129 };
130
131 partition@200000 {
132 /* 4MB for Linux Kernel Image */
133 reg = <0x00200000 0x00400000>;
134 label = "NAND (RO) Linux Kernel Image";
135 read-only;
136 };
137
138 partition@600000 {
139 /* 4MB for Compressed Root file System Image */
140 reg = <0x00600000 0x00400000>;
141 label = "NAND (RO) Compressed RFS Image";
142 read-only;
143 };
144
145 partition@a00000 {
146 /* 7MB for JFFS2 based Root file System */
147 reg = <0x00a00000 0x00700000>;
148 label = "NAND (RW) JFFS2 Root File System";
149 };
150
151 partition@1100000 {
152 /* 15MB for JFFS2 based Root file System */
153 reg = <0x01100000 0x00f00000>;
154 label = "NAND (RW) Writable User area";
155 };
156 };
157
158 L2switch@2,0 {
159 #address-cells = <1>;
160 #size-cells = <1>;
161 compatible = "vitesse-7385";
162 reg = <0x2 0x0 0x20000>;
163 };
164
165 };
166
167 soc@ffe00000 {
168 #address-cells = <1>;
169 #size-cells = <1>;
170 device_type = "soc";
171 compatible = "fsl,p2020-immr", "simple-bus";
172 ranges = <0x0 0x0 0xffe00000 0x100000>;
173 bus-frequency = <0>; // Filled out by uboot.
174
175 ecm-law@0 {
176 compatible = "fsl,ecm-law";
177 reg = <0x0 0x1000>;
178 fsl,num-laws = <12>;
179 };
180
181 ecm@1000 {
182 compatible = "fsl,p2020-ecm", "fsl,ecm";
183 reg = <0x1000 0x1000>;
184 interrupts = <17 2>;
185 interrupt-parent = <&mpic>;
186 };
187
188 memory-controller@2000 {
189 compatible = "fsl,p2020-memory-controller";
190 reg = <0x2000 0x1000>;
191 interrupt-parent = <&mpic>;
192 interrupts = <18 2>;
193 };
194
195 i2c@3000 {
196 #address-cells = <1>;
197 #size-cells = <0>;
198 cell-index = <0>;
199 compatible = "fsl-i2c";
200 reg = <0x3000 0x100>;
201 interrupts = <43 2>;
202 interrupt-parent = <&mpic>;
203 dfsrr;
204 rtc@68 {
205 compatible = "dallas,ds1339";
206 reg = <0x68>;
207 };
208 };
209
210 i2c@3100 {
211 #address-cells = <1>;
212 #size-cells = <0>;
213 cell-index = <1>;
214 compatible = "fsl-i2c";
215 reg = <0x3100 0x100>;
216 interrupts = <43 2>;
217 interrupt-parent = <&mpic>;
218 dfsrr;
219 };
220
221 serial0: serial@4500 {
222 cell-index = <0>;
223 device_type = "serial";
224 compatible = "ns16550";
225 reg = <0x4500 0x100>;
226 clock-frequency = <0>;
227 interrupts = <42 2>;
228 interrupt-parent = <&mpic>;
229 };
230
231 serial1: serial@4600 {
232 cell-index = <1>;
233 device_type = "serial";
234 compatible = "ns16550";
235 reg = <0x4600 0x100>;
236 clock-frequency = <0>;
237 interrupts = <42 2>;
238 interrupt-parent = <&mpic>;
239 };
240
241 spi@7000 {
242 cell-index = <0>;
243 #address-cells = <1>;
244 #size-cells = <0>;
245 compatible = "fsl,espi";
246 reg = <0x7000 0x1000>;
247 interrupts = <59 0x2>;
248 interrupt-parent = <&mpic>;
249 mode = "cpu";
250
251 fsl_m25p80@0 {
252 #address-cells = <1>;
253 #size-cells = <1>;
254 compatible = "fsl,espi-flash";
255 reg = <0>;
256 linux,modalias = "fsl_m25p80";
257 modal = "s25sl128b";
258 spi-max-frequency = <50000000>;
259 mode = <0>;
260
261 partition@0 {
262 /* 512KB for u-boot Bootloader Image */
263 reg = <0x0 0x00080000>;
264 label = "SPI (RO) U-Boot Image";
265 read-only;
266 };
267
268 partition@80000 {
269 /* 512KB for DTB Image */
270 reg = <0x00080000 0x00080000>;
271 label = "SPI (RO) DTB Image";
272 read-only;
273 };
274
275 partition@100000 {
276 /* 4MB for Linux Kernel Image */
277 reg = <0x00100000 0x00400000>;
278 label = "SPI (RO) Linux Kernel Image";
279 read-only;
280 };
281
282 partition@500000 {
283 /* 4MB for Compressed RFS Image */
284 reg = <0x00500000 0x00400000>;
285 label = "SPI (RO) Compressed RFS Image";
286 read-only;
287 };
288
289 partition@900000 {
290 /* 7MB for JFFS2 based RFS */
291 reg = <0x00900000 0x00700000>;
292 label = "SPI (RW) JFFS2 RFS";
293 };
294 };
295 };
296
297 dma@c300 {
298 #address-cells = <1>;
299 #size-cells = <1>;
300 compatible = "fsl,eloplus-dma";
301 reg = <0xc300 0x4>;
302 ranges = <0x0 0xc100 0x200>;
303 cell-index = <1>;
304 dma-channel@0 {
305 compatible = "fsl,eloplus-dma-channel";
306 reg = <0x0 0x80>;
307 cell-index = <0>;
308 interrupt-parent = <&mpic>;
309 interrupts = <76 2>;
310 };
311 dma-channel@80 {
312 compatible = "fsl,eloplus-dma-channel";
313 reg = <0x80 0x80>;
314 cell-index = <1>;
315 interrupt-parent = <&mpic>;
316 interrupts = <77 2>;
317 };
318 dma-channel@100 {
319 compatible = "fsl,eloplus-dma-channel";
320 reg = <0x100 0x80>;
321 cell-index = <2>;
322 interrupt-parent = <&mpic>;
323 interrupts = <78 2>;
324 };
325 dma-channel@180 {
326 compatible = "fsl,eloplus-dma-channel";
327 reg = <0x180 0x80>;
328 cell-index = <3>;
329 interrupt-parent = <&mpic>;
330 interrupts = <79 2>;
331 };
332 };
333
334 gpio: gpio-controller@f000 {
335 #gpio-cells = <2>;
336 compatible = "fsl,mpc8572-gpio";
337 reg = <0xf000 0x100>;
338 interrupts = <47 0x2>;
339 interrupt-parent = <&mpic>;
340 gpio-controller;
341 };
342
343 L2: l2-cache-controller@20000 {
344 compatible = "fsl,p2020-l2-cache-controller";
345 reg = <0x20000 0x1000>;
346 cache-line-size = <32>; // 32 bytes
347 cache-size = <0x80000>; // L2,512K
348 interrupt-parent = <&mpic>;
349 interrupts = <16 2>;
350 };
351
352 dma@21300 {
353 #address-cells = <1>;
354 #size-cells = <1>;
355 compatible = "fsl,eloplus-dma";
356 reg = <0x21300 0x4>;
357 ranges = <0x0 0x21100 0x200>;
358 cell-index = <0>;
359 dma-channel@0 {
360 compatible = "fsl,eloplus-dma-channel";
361 reg = <0x0 0x80>;
362 cell-index = <0>;
363 interrupt-parent = <&mpic>;
364 interrupts = <20 2>;
365 };
366 dma-channel@80 {
367 compatible = "fsl,eloplus-dma-channel";
368 reg = <0x80 0x80>;
369 cell-index = <1>;
370 interrupt-parent = <&mpic>;
371 interrupts = <21 2>;
372 };
373 dma-channel@100 {
374 compatible = "fsl,eloplus-dma-channel";
375 reg = <0x100 0x80>;
376 cell-index = <2>;
377 interrupt-parent = <&mpic>;
378 interrupts = <22 2>;
379 };
380 dma-channel@180 {
381 compatible = "fsl,eloplus-dma-channel";
382 reg = <0x180 0x80>;
383 cell-index = <3>;
384 interrupt-parent = <&mpic>;
385 interrupts = <23 2>;
386 };
387 };
388
389 usb@22000 {
390 #address-cells = <1>;
391 #size-cells = <0>;
392 compatible = "fsl-usb2-dr";
393 reg = <0x22000 0x1000>;
394 interrupt-parent = <&mpic>;
395 interrupts = <28 0x2>;
396 phy_type = "ulpi";
397 };
398
399 enet0: ethernet@24000 {
400 #address-cells = <1>;
401 #size-cells = <1>;
402 cell-index = <0>;
403 device_type = "network";
404 model = "eTSEC";
405 compatible = "gianfar";
406 reg = <0x24000 0x1000>;
407 ranges = <0x0 0x24000 0x1000>;
408 local-mac-address = [ 00 00 00 00 00 00 ];
409 interrupts = <29 2 30 2 34 2>;
410 interrupt-parent = <&mpic>;
411 fixed-link = <1 1 1000 0 0>;
412 phy-connection-type = "rgmii-id";
413
414 mdio@520 {
415 #address-cells = <1>;
416 #size-cells = <0>;
417 compatible = "fsl,gianfar-mdio";
418 reg = <0x520 0x20>;
419
420 phy0: ethernet-phy@0 {
421 interrupt-parent = <&mpic>;
422 interrupts = <3 1>;
423 reg = <0x0>;
424 };
425 phy1: ethernet-phy@1 {
426 interrupt-parent = <&mpic>;
427 interrupts = <3 1>;
428 reg = <0x1>;
429 };
430 };
431 };
432
433 enet1: ethernet@25000 {
434 #address-cells = <1>;
435 #size-cells = <1>;
436 cell-index = <1>;
437 device_type = "network";
438 model = "eTSEC";
439 compatible = "gianfar";
440 reg = <0x25000 0x1000>;
441 ranges = <0x0 0x25000 0x1000>;
442 local-mac-address = [ 00 00 00 00 00 00 ];
443 interrupts = <35 2 36 2 40 2>;
444 interrupt-parent = <&mpic>;
445 tbi-handle = <&tbi0>;
446 phy-handle = <&phy0>;
447 phy-connection-type = "sgmii";
448
449 mdio@520 {
450 #address-cells = <1>;
451 #size-cells = <0>;
452 compatible = "fsl,gianfar-tbi";
453 reg = <0x520 0x20>;
454
455 tbi0: tbi-phy@11 {
456 reg = <0x11>;
457 device_type = "tbi-phy";
458 };
459 };
460 };
461
462 enet2: ethernet@26000 {
463 #address-cells = <1>;
464 #size-cells = <1>;
465 cell-index = <2>;
466 device_type = "network";
467 model = "eTSEC";
468 compatible = "gianfar";
469 reg = <0x26000 0x1000>;
470 ranges = <0x0 0x26000 0x1000>;
471 local-mac-address = [ 00 00 00 00 00 00 ];
472 interrupts = <31 2 32 2 33 2>;
473 interrupt-parent = <&mpic>;
474 phy-handle = <&phy1>;
475 phy-connection-type = "rgmii-id";
476 };
477
478 sdhci@2e000 {
479 compatible = "fsl,p2020-esdhc", "fsl,esdhc";
480 reg = <0x2e000 0x1000>;
481 interrupts = <72 0x2>;
482 interrupt-parent = <&mpic>;
483 /* Filled in by U-Boot */
484 clock-frequency = <0>;
485 };
486
487 crypto@30000 {
488 compatible = "fsl,sec3.1", "fsl,sec3.0", "fsl,sec2.4",
489 "fsl,sec2.2", "fsl,sec2.1", "fsl,sec2.0";
490 reg = <0x30000 0x10000>;
491 interrupts = <45 2 58 2>;
492 interrupt-parent = <&mpic>;
493 fsl,num-channels = <4>;
494 fsl,channel-fifo-len = <24>;
495 fsl,exec-units-mask = <0xbfe>;
496 fsl,descriptor-types-mask = <0x3ab0ebf>;
497 };
498
499 mpic: pic@40000 {
500 interrupt-controller;
501 #address-cells = <0>;
502 #interrupt-cells = <2>;
503 reg = <0x40000 0x40000>;
504 compatible = "chrp,open-pic";
505 device_type = "open-pic";
506 };
507
508 msi@41600 {
509 compatible = "fsl,p2020-msi", "fsl,mpic-msi";
510 reg = <0x41600 0x80>;
511 msi-available-ranges = <0 0x100>;
512 interrupts = <
513 0xe0 0
514 0xe1 0
515 0xe2 0
516 0xe3 0
517 0xe4 0
518 0xe5 0
519 0xe6 0
520 0xe7 0>;
521 interrupt-parent = <&mpic>;
522 };
523
524 global-utilities@e0000 { //global utilities block
525 compatible = "fsl,p2020-guts";
526 reg = <0xe0000 0x1000>;
527 fsl,has-rstcr;
528 };
529 };
530
531 pci0: pcie@ffe09000 {
532 compatible = "fsl,mpc8548-pcie";
533 device_type = "pci";
534 #interrupt-cells = <1>;
535 #size-cells = <2>;
536 #address-cells = <3>;
537 reg = <0 0xffe09000 0 0x1000>;
538 bus-range = <0 255>;
539 ranges = <0x2000000 0x0 0xa0000000 0 0xa0000000 0x0 0x20000000
540 0x1000000 0x0 0x00000000 0 0xffc30000 0x0 0x10000>;
541 clock-frequency = <33333333>;
542 interrupt-parent = <&mpic>;
543 interrupts = <25 2>;
544 pcie@0 {
545 reg = <0x0 0x0 0x0 0x0 0x0>;
546 #size-cells = <2>;
547 #address-cells = <3>;
548 device_type = "pci";
549 ranges = <0x2000000 0x0 0xa0000000
550 0x2000000 0x0 0xa0000000
551 0x0 0x20000000
552
553 0x1000000 0x0 0x0
554 0x1000000 0x0 0x0
555 0x0 0x100000>;
556 };
557 };
558
559 pci1: pcie@ffe0a000 {
560 compatible = "fsl,mpc8548-pcie";
561 device_type = "pci";
562 #interrupt-cells = <1>;
563 #size-cells = <2>;
564 #address-cells = <3>;
565 reg = <0 0xffe0a000 0 0x1000>;
566 bus-range = <0 255>;
567 ranges = <0x2000000 0x0 0xc0000000 0 0xc0000000 0x0 0x20000000
568 0x1000000 0x0 0x00000000 0 0xffc20000 0x0 0x10000>;
569 clock-frequency = <33333333>;
570 interrupt-parent = <&mpic>;
571 interrupts = <26 2>;
572 pcie@0 {
573 reg = <0x0 0x0 0x0 0x0 0x0>;
574 #size-cells = <2>;
575 #address-cells = <3>;
576 device_type = "pci";
577 ranges = <0x2000000 0x0 0xc0000000
578 0x2000000 0x0 0xc0000000
579 0x0 0x20000000
580
581 0x1000000 0x0 0x0
582 0x1000000 0x0 0x0
583 0x0 0x100000>;
584 };
585 };
586};
diff --git a/arch/powerpc/boot/dts/sbc8349.dts b/arch/powerpc/boot/dts/sbc8349.dts
index 2d9fa68f641c..0dc90f9bd814 100644
--- a/arch/powerpc/boot/dts/sbc8349.dts
+++ b/arch/powerpc/boot/dts/sbc8349.dts
@@ -146,18 +146,6 @@
146 phy_type = "ulpi"; 146 phy_type = "ulpi";
147 port0; 147 port0;
148 }; 148 };
149 /* phy type (ULPI, UTMI, UTMI_WIDE, SERIAL) */
150 usb@23000 {
151 device_type = "usb";
152 compatible = "fsl-usb2-dr";
153 reg = <0x23000 0x1000>;
154 #address-cells = <1>;
155 #size-cells = <0>;
156 interrupt-parent = <&ipic>;
157 interrupts = <38 0x8>;
158 dr_mode = "otg";
159 phy_type = "ulpi";
160 };
161 149
162 enet0: ethernet@24000 { 150 enet0: ethernet@24000 {
163 #address-cells = <1>; 151 #address-cells = <1>;
@@ -277,15 +265,55 @@
277 }; 265 };
278 }; 266 };
279 267
268 localbus@e0005000 {
269 #address-cells = <2>;
270 #size-cells = <1>;
271 compatible = "fsl,mpc8349-localbus", "simple-bus";
272 reg = <0xe0005000 0x1000>;
273 interrupts = <77 0x8>;
274 interrupt-parent = <&ipic>;
275 ranges = <0x0 0x0 0xff800000 0x00800000 /* 8MB Flash */
276 0x1 0x0 0xf8000000 0x00002000 /* 8KB EEPROM */
277 0x2 0x0 0x10000000 0x04000000 /* 64MB SDRAM */
278 0x3 0x0 0x10000000 0x04000000>; /* 64MB SDRAM */
279
280 flash@0,0 {
281 #address-cells = <1>;
282 #size-cells = <1>;
283 compatible = "intel,28F640J3A", "cfi-flash";
284 reg = <0x0 0x0 0x800000>;
285 bank-width = <2>;
286 device-width = <1>;
287
288 partition@0 {
289 label = "u-boot";
290 reg = <0x00000000 0x00040000>;
291 read-only;
292 };
293
294 partition@40000 {
295 label = "user";
296 reg = <0x00040000 0x006c0000>;
297 };
298
299 partition@700000 {
300 label = "legacy u-boot";
301 reg = <0x00700000 0x00100000>;
302 read-only;
303 };
304
305 };
306 };
307
280 pci0: pci@e0008500 { 308 pci0: pci@e0008500 {
281 interrupt-map-mask = <0xf800 0x0 0x0 0x7>; 309 interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
282 interrupt-map = < 310 interrupt-map = <
283 311
284 /* IDSEL 0x11 */ 312 /* IDSEL 0x11 */
285 0x8800 0x0 0x0 0x1 &ipic 20 0x8 313 0x8800 0x0 0x0 0x1 &ipic 48 0x8
286 0x8800 0x0 0x0 0x2 &ipic 21 0x8 314 0x8800 0x0 0x0 0x2 &ipic 17 0x8
287 0x8800 0x0 0x0 0x3 &ipic 22 0x8 315 0x8800 0x0 0x0 0x3 &ipic 18 0x8
288 0x8800 0x0 0x0 0x4 &ipic 23 0x8>; 316 0x8800 0x0 0x0 0x4 &ipic 19 0x8>;
289 317
290 interrupt-parent = <&ipic>; 318 interrupt-parent = <&ipic>;
291 interrupts = <0x42 0x8>; 319 interrupts = <0x42 0x8>;
diff --git a/arch/powerpc/boot/dts/sbc8560.dts b/arch/powerpc/boot/dts/sbc8560.dts
index 239d57a55cf4..9e13ed8a1193 100644
--- a/arch/powerpc/boot/dts/sbc8560.dts
+++ b/arch/powerpc/boot/dts/sbc8560.dts
@@ -303,7 +303,6 @@
303 global-utilities@e0000 { 303 global-utilities@e0000 {
304 compatible = "fsl,mpc8560-guts"; 304 compatible = "fsl,mpc8560-guts";
305 reg = <0xe0000 0x1000>; 305 reg = <0xe0000 0x1000>;
306 fsl,has-rstcr;
307 }; 306 };
308 }; 307 };
309 308
diff --git a/arch/powerpc/configs/83xx/sbc834x_defconfig b/arch/powerpc/configs/83xx/sbc834x_defconfig
index a592b5efdc4d..3a68f861b1bd 100644
--- a/arch/powerpc/configs/83xx/sbc834x_defconfig
+++ b/arch/powerpc/configs/83xx/sbc834x_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.31-rc4 3# Linux kernel version: 2.6.31-rc5
4# Wed Jul 29 23:32:13 2009 4# Tue Aug 11 19:57:51 2009
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -420,7 +420,90 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y
420# CONFIG_FW_LOADER is not set 420# CONFIG_FW_LOADER is not set
421# CONFIG_SYS_HYPERVISOR is not set 421# CONFIG_SYS_HYPERVISOR is not set
422# CONFIG_CONNECTOR is not set 422# CONFIG_CONNECTOR is not set
423# CONFIG_MTD is not set 423CONFIG_MTD=y
424# CONFIG_MTD_DEBUG is not set
425CONFIG_MTD_CONCAT=y
426CONFIG_MTD_PARTITIONS=y
427# CONFIG_MTD_TESTS is not set
428# CONFIG_MTD_REDBOOT_PARTS is not set
429CONFIG_MTD_CMDLINE_PARTS=y
430CONFIG_MTD_OF_PARTS=y
431# CONFIG_MTD_AR7_PARTS is not set
432
433#
434# User Modules And Translation Layers
435#
436CONFIG_MTD_CHAR=y
437CONFIG_MTD_BLKDEVS=y
438CONFIG_MTD_BLOCK=y
439# CONFIG_FTL is not set
440# CONFIG_NFTL is not set
441# CONFIG_INFTL is not set
442# CONFIG_RFD_FTL is not set
443# CONFIG_SSFDC is not set
444# CONFIG_MTD_OOPS is not set
445
446#
447# RAM/ROM/Flash chip drivers
448#
449CONFIG_MTD_CFI=y
450# CONFIG_MTD_JEDECPROBE is not set
451CONFIG_MTD_GEN_PROBE=y
452# CONFIG_MTD_CFI_ADV_OPTIONS is not set
453CONFIG_MTD_MAP_BANK_WIDTH_1=y
454CONFIG_MTD_MAP_BANK_WIDTH_2=y
455CONFIG_MTD_MAP_BANK_WIDTH_4=y
456# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
457# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
458# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
459CONFIG_MTD_CFI_I1=y
460CONFIG_MTD_CFI_I2=y
461# CONFIG_MTD_CFI_I4 is not set
462# CONFIG_MTD_CFI_I8 is not set
463CONFIG_MTD_CFI_INTELEXT=y
464# CONFIG_MTD_CFI_AMDSTD is not set
465# CONFIG_MTD_CFI_STAA is not set
466CONFIG_MTD_CFI_UTIL=y
467# CONFIG_MTD_RAM is not set
468# CONFIG_MTD_ROM is not set
469# CONFIG_MTD_ABSENT is not set
470
471#
472# Mapping drivers for chip access
473#
474# CONFIG_MTD_COMPLEX_MAPPINGS is not set
475# CONFIG_MTD_PHYSMAP is not set
476CONFIG_MTD_PHYSMAP_OF=y
477# CONFIG_MTD_INTEL_VR_NOR is not set
478# CONFIG_MTD_PLATRAM is not set
479
480#
481# Self-contained MTD device drivers
482#
483# CONFIG_MTD_PMC551 is not set
484# CONFIG_MTD_SLRAM is not set
485# CONFIG_MTD_PHRAM is not set
486# CONFIG_MTD_MTDRAM is not set
487# CONFIG_MTD_BLOCK2MTD is not set
488
489#
490# Disk-On-Chip Device Drivers
491#
492# CONFIG_MTD_DOC2000 is not set
493# CONFIG_MTD_DOC2001 is not set
494# CONFIG_MTD_DOC2001PLUS is not set
495# CONFIG_MTD_NAND is not set
496# CONFIG_MTD_ONENAND is not set
497
498#
499# LPDDR flash memory drivers
500#
501# CONFIG_MTD_LPDDR is not set
502
503#
504# UBI - Unsorted block images
505#
506# CONFIG_MTD_UBI is not set
424CONFIG_OF_DEVICE=y 507CONFIG_OF_DEVICE=y
425CONFIG_OF_I2C=y 508CONFIG_OF_I2C=y
426CONFIG_OF_MDIO=y 509CONFIG_OF_MDIO=y
@@ -436,6 +519,7 @@ CONFIG_BLK_DEV_LOOP=y
436# CONFIG_BLK_DEV_CRYPTOLOOP is not set 519# CONFIG_BLK_DEV_CRYPTOLOOP is not set
437# CONFIG_BLK_DEV_NBD is not set 520# CONFIG_BLK_DEV_NBD is not set
438# CONFIG_BLK_DEV_SX8 is not set 521# CONFIG_BLK_DEV_SX8 is not set
522# CONFIG_BLK_DEV_UB is not set
439CONFIG_BLK_DEV_RAM=y 523CONFIG_BLK_DEV_RAM=y
440CONFIG_BLK_DEV_RAM_COUNT=16 524CONFIG_BLK_DEV_RAM_COUNT=16
441CONFIG_BLK_DEV_RAM_SIZE=32768 525CONFIG_BLK_DEV_RAM_SIZE=32768
@@ -468,9 +552,38 @@ CONFIG_HAVE_IDE=y
468# SCSI device support 552# SCSI device support
469# 553#
470# CONFIG_RAID_ATTRS is not set 554# CONFIG_RAID_ATTRS is not set
471# CONFIG_SCSI is not set 555CONFIG_SCSI=y
472# CONFIG_SCSI_DMA is not set 556CONFIG_SCSI_DMA=y
557# CONFIG_SCSI_TGT is not set
473# CONFIG_SCSI_NETLINK is not set 558# CONFIG_SCSI_NETLINK is not set
559# CONFIG_SCSI_PROC_FS is not set
560
561#
562# SCSI support type (disk, tape, CD-ROM)
563#
564CONFIG_BLK_DEV_SD=y
565# CONFIG_CHR_DEV_ST is not set
566# CONFIG_CHR_DEV_OSST is not set
567# CONFIG_BLK_DEV_SR is not set
568# CONFIG_CHR_DEV_SG is not set
569# CONFIG_CHR_DEV_SCH is not set
570# CONFIG_SCSI_MULTI_LUN is not set
571# CONFIG_SCSI_CONSTANTS is not set
572# CONFIG_SCSI_LOGGING is not set
573# CONFIG_SCSI_SCAN_ASYNC is not set
574CONFIG_SCSI_WAIT_SCAN=m
575
576#
577# SCSI Transports
578#
579# CONFIG_SCSI_SPI_ATTRS is not set
580# CONFIG_SCSI_FC_ATTRS is not set
581# CONFIG_SCSI_ISCSI_ATTRS is not set
582# CONFIG_SCSI_SAS_LIBSAS is not set
583# CONFIG_SCSI_SRP_ATTRS is not set
584# CONFIG_SCSI_LOWLEVEL is not set
585# CONFIG_SCSI_DH is not set
586# CONFIG_SCSI_OSD_INITIATOR is not set
474# CONFIG_ATA is not set 587# CONFIG_ATA is not set
475# CONFIG_MD is not set 588# CONFIG_MD is not set
476# CONFIG_FUSION is not set 589# CONFIG_FUSION is not set
@@ -578,11 +691,21 @@ CONFIG_GIANFAR=y
578# 691#
579# Enable WiMAX (Networking options) to see the WiMAX drivers 692# Enable WiMAX (Networking options) to see the WiMAX drivers
580# 693#
694
695#
696# USB Network Adapters
697#
698# CONFIG_USB_CATC is not set
699# CONFIG_USB_KAWETH is not set
700# CONFIG_USB_PEGASUS is not set
701# CONFIG_USB_RTL8150 is not set
702# CONFIG_USB_USBNET is not set
581# CONFIG_WAN is not set 703# CONFIG_WAN is not set
582# CONFIG_FDDI is not set 704# CONFIG_FDDI is not set
583# CONFIG_HIPPI is not set 705# CONFIG_HIPPI is not set
584# CONFIG_PPP is not set 706# CONFIG_PPP is not set
585# CONFIG_SLIP is not set 707# CONFIG_SLIP is not set
708# CONFIG_NET_FC is not set
586# CONFIG_NETCONSOLE is not set 709# CONFIG_NETCONSOLE is not set
587# CONFIG_NETPOLL is not set 710# CONFIG_NETPOLL is not set
588# CONFIG_NET_POLL_CONTROLLER is not set 711# CONFIG_NET_POLL_CONTROLLER is not set
@@ -633,9 +756,9 @@ CONFIG_DEVKMEM=y
633# 756#
634CONFIG_SERIAL_8250=y 757CONFIG_SERIAL_8250=y
635CONFIG_SERIAL_8250_CONSOLE=y 758CONFIG_SERIAL_8250_CONSOLE=y
636CONFIG_SERIAL_8250_PCI=y 759# CONFIG_SERIAL_8250_PCI is not set
637CONFIG_SERIAL_8250_NR_UARTS=4 760CONFIG_SERIAL_8250_NR_UARTS=2
638CONFIG_SERIAL_8250_RUNTIME_UARTS=4 761CONFIG_SERIAL_8250_RUNTIME_UARTS=2
639# CONFIG_SERIAL_8250_EXTENDED is not set 762# CONFIG_SERIAL_8250_EXTENDED is not set
640 763
641# 764#
@@ -700,6 +823,7 @@ CONFIG_I2C_MPC=y
700# 823#
701# CONFIG_I2C_PARPORT_LIGHT is not set 824# CONFIG_I2C_PARPORT_LIGHT is not set
702# CONFIG_I2C_TAOS_EVM is not set 825# CONFIG_I2C_TAOS_EVM is not set
826# CONFIG_I2C_TINY_USB is not set
703 827
704# 828#
705# Graphics adapter I2C/DDC channel drivers 829# Graphics adapter I2C/DDC channel drivers
@@ -814,6 +938,11 @@ CONFIG_WATCHDOG=y
814# 938#
815# CONFIG_PCIPCWATCHDOG is not set 939# CONFIG_PCIPCWATCHDOG is not set
816# CONFIG_WDTPCI is not set 940# CONFIG_WDTPCI is not set
941
942#
943# USB-based Watchdog Cards
944#
945# CONFIG_USBPCWATCHDOG is not set
817CONFIG_SSB_POSSIBLE=y 946CONFIG_SSB_POSSIBLE=y
818 947
819# 948#
@@ -856,12 +985,134 @@ CONFIG_HID_SUPPORT=y
856CONFIG_HID=y 985CONFIG_HID=y
857# CONFIG_HID_DEBUG is not set 986# CONFIG_HID_DEBUG is not set
858# CONFIG_HIDRAW is not set 987# CONFIG_HIDRAW is not set
988
989#
990# USB Input Devices
991#
992# CONFIG_USB_HID is not set
859# CONFIG_HID_PID is not set 993# CONFIG_HID_PID is not set
860 994
861# 995#
996# USB HID Boot Protocol drivers
997#
998# CONFIG_USB_KBD is not set
999# CONFIG_USB_MOUSE is not set
1000
1001#
862# Special HID drivers 1002# Special HID drivers
863# 1003#
864# CONFIG_USB_SUPPORT is not set 1004CONFIG_USB_SUPPORT=y
1005CONFIG_USB_ARCH_HAS_HCD=y
1006CONFIG_USB_ARCH_HAS_OHCI=y
1007CONFIG_USB_ARCH_HAS_EHCI=y
1008CONFIG_USB=y
1009# CONFIG_USB_DEBUG is not set
1010# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set
1011
1012#
1013# Miscellaneous USB options
1014#
1015CONFIG_USB_DEVICEFS=y
1016CONFIG_USB_DEVICE_CLASS=y
1017# CONFIG_USB_DYNAMIC_MINORS is not set
1018# CONFIG_USB_OTG is not set
1019# CONFIG_USB_OTG_WHITELIST is not set
1020# CONFIG_USB_OTG_BLACKLIST_HUB is not set
1021CONFIG_USB_MON=y
1022# CONFIG_USB_WUSB is not set
1023# CONFIG_USB_WUSB_CBAF is not set
1024
1025#
1026# USB Host Controller Drivers
1027#
1028# CONFIG_USB_C67X00_HCD is not set
1029# CONFIG_USB_XHCI_HCD is not set
1030CONFIG_USB_EHCI_HCD=y
1031CONFIG_USB_EHCI_ROOT_HUB_TT=y
1032# CONFIG_USB_EHCI_TT_NEWSCHED is not set
1033CONFIG_USB_EHCI_FSL=y
1034CONFIG_USB_EHCI_HCD_PPC_OF=y
1035# CONFIG_USB_OXU210HP_HCD is not set
1036# CONFIG_USB_ISP116X_HCD is not set
1037# CONFIG_USB_ISP1760_HCD is not set
1038# CONFIG_USB_OHCI_HCD is not set
1039# CONFIG_USB_UHCI_HCD is not set
1040# CONFIG_USB_SL811_HCD is not set
1041# CONFIG_USB_R8A66597_HCD is not set
1042# CONFIG_USB_WHCI_HCD is not set
1043# CONFIG_USB_HWA_HCD is not set
1044
1045#
1046# USB Device Class drivers
1047#
1048# CONFIG_USB_ACM is not set
1049# CONFIG_USB_PRINTER is not set
1050# CONFIG_USB_WDM is not set
1051# CONFIG_USB_TMC is not set
1052
1053#
1054# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
1055#
1056
1057#
1058# also be needed; see USB_STORAGE Help for more info
1059#
1060CONFIG_USB_STORAGE=y
1061# CONFIG_USB_STORAGE_DEBUG is not set
1062# CONFIG_USB_STORAGE_DATAFAB is not set
1063# CONFIG_USB_STORAGE_FREECOM is not set
1064# CONFIG_USB_STORAGE_ISD200 is not set
1065# CONFIG_USB_STORAGE_USBAT is not set
1066# CONFIG_USB_STORAGE_SDDR09 is not set
1067# CONFIG_USB_STORAGE_SDDR55 is not set
1068# CONFIG_USB_STORAGE_JUMPSHOT is not set
1069# CONFIG_USB_STORAGE_ALAUDA is not set
1070# CONFIG_USB_STORAGE_ONETOUCH is not set
1071# CONFIG_USB_STORAGE_KARMA is not set
1072# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
1073# CONFIG_USB_LIBUSUAL is not set
1074
1075#
1076# USB Imaging devices
1077#
1078# CONFIG_USB_MDC800 is not set
1079# CONFIG_USB_MICROTEK is not set
1080
1081#
1082# USB port drivers
1083#
1084# CONFIG_USB_SERIAL is not set
1085
1086#
1087# USB Miscellaneous drivers
1088#
1089# CONFIG_USB_EMI62 is not set
1090# CONFIG_USB_EMI26 is not set
1091# CONFIG_USB_ADUTUX is not set
1092# CONFIG_USB_SEVSEG is not set
1093# CONFIG_USB_RIO500 is not set
1094# CONFIG_USB_LEGOTOWER is not set
1095# CONFIG_USB_LCD is not set
1096# CONFIG_USB_BERRY_CHARGE is not set
1097# CONFIG_USB_LED is not set
1098# CONFIG_USB_CYPRESS_CY7C63 is not set
1099# CONFIG_USB_CYTHERM is not set
1100# CONFIG_USB_IDMOUSE is not set
1101# CONFIG_USB_FTDI_ELAN is not set
1102# CONFIG_USB_APPLEDISPLAY is not set
1103# CONFIG_USB_SISUSBVGA is not set
1104# CONFIG_USB_LD is not set
1105# CONFIG_USB_TRANCEVIBRATOR is not set
1106# CONFIG_USB_IOWARRIOR is not set
1107# CONFIG_USB_TEST is not set
1108# CONFIG_USB_ISIGHTFW is not set
1109# CONFIG_USB_VST is not set
1110# CONFIG_USB_GADGET is not set
1111
1112#
1113# OTG and related infrastructure
1114#
1115# CONFIG_NOP_USB_XCEIV is not set
865# CONFIG_UWB is not set 1116# CONFIG_UWB is not set
866# CONFIG_MMC is not set 1117# CONFIG_MMC is not set
867# CONFIG_MEMSTICK is not set 1118# CONFIG_MEMSTICK is not set
@@ -882,9 +1133,14 @@ CONFIG_HID=y
882# 1133#
883# File systems 1134# File systems
884# 1135#
885# CONFIG_EXT2_FS is not set 1136CONFIG_EXT2_FS=y
886# CONFIG_EXT3_FS is not set 1137# CONFIG_EXT2_FS_XATTR is not set
1138# CONFIG_EXT2_FS_XIP is not set
1139CONFIG_EXT3_FS=y
1140# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
1141# CONFIG_EXT3_FS_XATTR is not set
887# CONFIG_EXT4_FS is not set 1142# CONFIG_EXT4_FS is not set
1143CONFIG_JBD=y
888# CONFIG_REISERFS_FS is not set 1144# CONFIG_REISERFS_FS is not set
889# CONFIG_JFS_FS is not set 1145# CONFIG_JFS_FS is not set
890# CONFIG_FS_POSIX_ACL is not set 1146# CONFIG_FS_POSIX_ACL is not set
@@ -940,6 +1196,7 @@ CONFIG_MISC_FILESYSTEMS=y
940# CONFIG_BEFS_FS is not set 1196# CONFIG_BEFS_FS is not set
941# CONFIG_BFS_FS is not set 1197# CONFIG_BFS_FS is not set
942# CONFIG_EFS_FS is not set 1198# CONFIG_EFS_FS is not set
1199# CONFIG_JFFS2_FS is not set
943# CONFIG_CRAMFS is not set 1200# CONFIG_CRAMFS is not set
944# CONFIG_SQUASHFS is not set 1201# CONFIG_SQUASHFS is not set
945# CONFIG_VXFS_FS is not set 1202# CONFIG_VXFS_FS is not set
@@ -977,7 +1234,46 @@ CONFIG_RPCSEC_GSS_KRB5=y
977# 1234#
978# CONFIG_PARTITION_ADVANCED is not set 1235# CONFIG_PARTITION_ADVANCED is not set
979CONFIG_MSDOS_PARTITION=y 1236CONFIG_MSDOS_PARTITION=y
980# CONFIG_NLS is not set 1237CONFIG_NLS=y
1238CONFIG_NLS_DEFAULT="iso8859-1"
1239# CONFIG_NLS_CODEPAGE_437 is not set
1240# CONFIG_NLS_CODEPAGE_737 is not set
1241# CONFIG_NLS_CODEPAGE_775 is not set
1242# CONFIG_NLS_CODEPAGE_850 is not set
1243# CONFIG_NLS_CODEPAGE_852 is not set
1244# CONFIG_NLS_CODEPAGE_855 is not set
1245# CONFIG_NLS_CODEPAGE_857 is not set
1246# CONFIG_NLS_CODEPAGE_860 is not set
1247# CONFIG_NLS_CODEPAGE_861 is not set
1248# CONFIG_NLS_CODEPAGE_862 is not set
1249# CONFIG_NLS_CODEPAGE_863 is not set
1250# CONFIG_NLS_CODEPAGE_864 is not set
1251# CONFIG_NLS_CODEPAGE_865 is not set
1252# CONFIG_NLS_CODEPAGE_866 is not set
1253# CONFIG_NLS_CODEPAGE_869 is not set
1254# CONFIG_NLS_CODEPAGE_936 is not set
1255# CONFIG_NLS_CODEPAGE_950 is not set
1256# CONFIG_NLS_CODEPAGE_932 is not set
1257# CONFIG_NLS_CODEPAGE_949 is not set
1258# CONFIG_NLS_CODEPAGE_874 is not set
1259# CONFIG_NLS_ISO8859_8 is not set
1260# CONFIG_NLS_CODEPAGE_1250 is not set
1261# CONFIG_NLS_CODEPAGE_1251 is not set
1262# CONFIG_NLS_ASCII is not set
1263# CONFIG_NLS_ISO8859_1 is not set
1264# CONFIG_NLS_ISO8859_2 is not set
1265# CONFIG_NLS_ISO8859_3 is not set
1266# CONFIG_NLS_ISO8859_4 is not set
1267# CONFIG_NLS_ISO8859_5 is not set
1268# CONFIG_NLS_ISO8859_6 is not set
1269# CONFIG_NLS_ISO8859_7 is not set
1270# CONFIG_NLS_ISO8859_9 is not set
1271# CONFIG_NLS_ISO8859_13 is not set
1272# CONFIG_NLS_ISO8859_14 is not set
1273# CONFIG_NLS_ISO8859_15 is not set
1274# CONFIG_NLS_KOI8_R is not set
1275# CONFIG_NLS_KOI8_U is not set
1276# CONFIG_NLS_UTF8 is not set
981# CONFIG_DLM is not set 1277# CONFIG_DLM is not set
982# CONFIG_BINARY_PRINTF is not set 1278# CONFIG_BINARY_PRINTF is not set
983 1279
diff --git a/arch/powerpc/configs/mgcoge_defconfig b/arch/powerpc/configs/mgcoge_defconfig
index e9491c1c3f31..30b68bfacebf 100644
--- a/arch/powerpc/configs/mgcoge_defconfig
+++ b/arch/powerpc/configs/mgcoge_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.31-rc4 3# Linux kernel version: 2.6.31-rc5
4# Wed Jul 29 23:31:51 2009 4# Fri Aug 7 08:19:15 2009
5# 5#
6# CONFIG_PPC64 is not set 6# CONFIG_PPC64 is not set
7 7
@@ -158,6 +158,7 @@ CONFIG_BASE_SMALL=0
158# CONFIG_MODULES is not set 158# CONFIG_MODULES is not set
159CONFIG_BLOCK=y 159CONFIG_BLOCK=y
160CONFIG_LBDAF=y 160CONFIG_LBDAF=y
161CONFIG_BLK_DEV_BSG=y
161# CONFIG_BLK_DEV_INTEGRITY is not set 162# CONFIG_BLK_DEV_INTEGRITY is not set
162 163
163# 164#
@@ -506,6 +507,7 @@ CONFIG_MTD_PHYSMAP_OF=y
506# CONFIG_MTD_UBI is not set 507# CONFIG_MTD_UBI is not set
507CONFIG_OF_DEVICE=y 508CONFIG_OF_DEVICE=y
508CONFIG_OF_GPIO=y 509CONFIG_OF_GPIO=y
510CONFIG_OF_I2C=y
509CONFIG_OF_MDIO=y 511CONFIG_OF_MDIO=y
510# CONFIG_PARPORT is not set 512# CONFIG_PARPORT is not set
511CONFIG_BLK_DEV=y 513CONFIG_BLK_DEV=y
@@ -582,7 +584,8 @@ CONFIG_PHYLIB=y
582# CONFIG_STE10XP is not set 584# CONFIG_STE10XP is not set
583# CONFIG_LSI_ET1011C_PHY is not set 585# CONFIG_LSI_ET1011C_PHY is not set
584CONFIG_FIXED_PHY=y 586CONFIG_FIXED_PHY=y
585# CONFIG_MDIO_BITBANG is not set 587CONFIG_MDIO_BITBANG=y
588# CONFIG_MDIO_GPIO is not set
586CONFIG_NET_ETHERNET=y 589CONFIG_NET_ETHERNET=y
587CONFIG_MII=y 590CONFIG_MII=y
588# CONFIG_MACE is not set 591# CONFIG_MACE is not set
@@ -608,8 +611,8 @@ CONFIG_MII=y
608# CONFIG_ATL2 is not set 611# CONFIG_ATL2 is not set
609CONFIG_FS_ENET=y 612CONFIG_FS_ENET=y
610CONFIG_FS_ENET_HAS_SCC=y 613CONFIG_FS_ENET_HAS_SCC=y
611# CONFIG_FS_ENET_HAS_FCC is not set 614CONFIG_FS_ENET_HAS_FCC=y
612# CONFIG_FS_ENET_MDIO_FCC is not set 615CONFIG_FS_ENET_MDIO_FCC=y
613# CONFIG_NETDEV_1000 is not set 616# CONFIG_NETDEV_1000 is not set
614# CONFIG_NETDEV_10000 is not set 617# CONFIG_NETDEV_10000 is not set
615# CONFIG_TR is not set 618# CONFIG_TR is not set
@@ -680,7 +683,68 @@ CONFIG_HW_RANDOM=y
680# CONFIG_APPLICOM is not set 683# CONFIG_APPLICOM is not set
681# CONFIG_RAW_DRIVER is not set 684# CONFIG_RAW_DRIVER is not set
682CONFIG_DEVPORT=y 685CONFIG_DEVPORT=y
683# CONFIG_I2C is not set 686CONFIG_I2C=y
687CONFIG_I2C_BOARDINFO=y
688CONFIG_I2C_CHARDEV=y
689CONFIG_I2C_HELPER_AUTO=y
690
691#
692# I2C Hardware Bus support
693#
694
695#
696# PC SMBus host controller drivers
697#
698# CONFIG_I2C_ALI1535 is not set
699# CONFIG_I2C_ALI15X3 is not set
700# CONFIG_I2C_AMD756 is not set
701# CONFIG_I2C_AMD8111 is not set
702# CONFIG_I2C_I801 is not set
703# CONFIG_I2C_ISCH is not set
704# CONFIG_I2C_PIIX4 is not set
705# CONFIG_I2C_NFORCE2 is not set
706# CONFIG_I2C_SIS5595 is not set
707# CONFIG_I2C_SIS630 is not set
708# CONFIG_I2C_SIS96X is not set
709# CONFIG_I2C_VIAPRO is not set
710
711#
712# Mac SMBus host controller drivers
713#
714# CONFIG_I2C_POWERMAC is not set
715
716#
717# I2C system bus drivers (mostly embedded / system-on-chip)
718#
719CONFIG_I2C_CPM=y
720# CONFIG_I2C_DESIGNWARE is not set
721# CONFIG_I2C_GPIO is not set
722# CONFIG_I2C_MPC is not set
723# CONFIG_I2C_SIMTEC is not set
724
725#
726# External I2C/SMBus adapter drivers
727#
728# CONFIG_I2C_PARPORT_LIGHT is not set
729
730#
731# Graphics adapter I2C/DDC channel drivers
732#
733# CONFIG_I2C_VOODOO3 is not set
734
735#
736# Other I2C/SMBus bus drivers
737#
738# CONFIG_I2C_PCA_PLATFORM is not set
739
740#
741# Miscellaneous I2C Chip support
742#
743# CONFIG_PCF8575 is not set
744# CONFIG_I2C_DEBUG_CORE is not set
745# CONFIG_I2C_DEBUG_ALGO is not set
746# CONFIG_I2C_DEBUG_BUS is not set
747# CONFIG_I2C_DEBUG_CHIP is not set
684# CONFIG_SPI is not set 748# CONFIG_SPI is not set
685 749
686# 750#
@@ -699,6 +763,9 @@ CONFIG_GPIOLIB=y
699# 763#
700# I2C GPIO expanders: 764# I2C GPIO expanders:
701# 765#
766# CONFIG_GPIO_MAX732X is not set
767# CONFIG_GPIO_PCA953X is not set
768# CONFIG_GPIO_PCF857X is not set
702 769
703# 770#
704# PCI GPIO expanders: 771# PCI GPIO expanders:
@@ -727,7 +794,14 @@ CONFIG_SSB_POSSIBLE=y
727# CONFIG_MFD_CORE is not set 794# CONFIG_MFD_CORE is not set
728# CONFIG_MFD_SM501 is not set 795# CONFIG_MFD_SM501 is not set
729# CONFIG_HTC_PASIC3 is not set 796# CONFIG_HTC_PASIC3 is not set
797# CONFIG_TPS65010 is not set
798# CONFIG_TWL4030_CORE is not set
730# CONFIG_MFD_TMIO is not set 799# CONFIG_MFD_TMIO is not set
800# CONFIG_PMIC_DA903X is not set
801# CONFIG_MFD_WM8400 is not set
802# CONFIG_MFD_WM8350_I2C is not set
803# CONFIG_MFD_PCF50633 is not set
804# CONFIG_AB3100_CORE is not set
731# CONFIG_REGULATOR is not set 805# CONFIG_REGULATOR is not set
732# CONFIG_MEDIA_SUPPORT is not set 806# CONFIG_MEDIA_SUPPORT is not set
733 807
diff --git a/arch/powerpc/configs/mpc85xx_defconfig b/arch/powerpc/configs/mpc85xx_defconfig
index ada595898af1..ee6acc6557f8 100644
--- a/arch/powerpc/configs/mpc85xx_defconfig
+++ b/arch/powerpc/configs/mpc85xx_defconfig
@@ -203,6 +203,7 @@ CONFIG_MPC85xx_CDS=y
203CONFIG_MPC85xx_MDS=y 203CONFIG_MPC85xx_MDS=y
204CONFIG_MPC8536_DS=y 204CONFIG_MPC8536_DS=y
205CONFIG_MPC85xx_DS=y 205CONFIG_MPC85xx_DS=y
206CONFIG_MPC85xx_RDB=y
206CONFIG_SOCRATES=y 207CONFIG_SOCRATES=y
207CONFIG_KSI8560=y 208CONFIG_KSI8560=y
208# CONFIG_XES_MPC85xx is not set 209# CONFIG_XES_MPC85xx is not set
diff --git a/arch/powerpc/include/asm/mmu-book3e.h b/arch/powerpc/include/asm/mmu-book3e.h
index d74580469361..74695816205c 100644
--- a/arch/powerpc/include/asm/mmu-book3e.h
+++ b/arch/powerpc/include/asm/mmu-book3e.h
@@ -114,6 +114,18 @@
114 114
115#define MAS7_RPN 0xFFFFFFFF 115#define MAS7_RPN 0xFFFFFFFF
116 116
117/* Bit definitions for MMUCSR0 */
118#define MMUCSR0_TLB1FI 0x00000002 /* TLB1 Flash invalidate */
119#define MMUCSR0_TLB0FI 0x00000004 /* TLB0 Flash invalidate */
120#define MMUCSR0_TLB2FI 0x00000040 /* TLB2 Flash invalidate */
121#define MMUCSR0_TLB3FI 0x00000020 /* TLB3 Flash invalidate */
122#define MMUCSR0_TLBFI (MMUCSR0_TLB0FI | MMUCSR0_TLB1FI | \
123 MMUCSR0_TLB2FI | MMUCSR0_TLB3FI)
124#define MMUCSR0_TLB0PS 0x00000780 /* TLB0 Page Size */
125#define MMUCSR0_TLB1PS 0x00007800 /* TLB1 Page Size */
126#define MMUCSR0_TLB2PS 0x00078000 /* TLB2 Page Size */
127#define MMUCSR0_TLB3PS 0x00780000 /* TLB3 Page Size */
128
117/* TLBnCFG encoding */ 129/* TLBnCFG encoding */
118#define TLBnCFG_N_ENTRY 0x00000fff /* number of entries */ 130#define TLBnCFG_N_ENTRY 0x00000fff /* number of entries */
119#define TLBnCFG_HES 0x00002000 /* HW select supported */ 131#define TLBnCFG_HES 0x00002000 /* HW select supported */
diff --git a/arch/powerpc/include/asm/reg_booke.h b/arch/powerpc/include/asm/reg_booke.h
index 2c9c706e6448..9bb81d99b765 100644
--- a/arch/powerpc/include/asm/reg_booke.h
+++ b/arch/powerpc/include/asm/reg_booke.h
@@ -430,12 +430,6 @@
430#define L2CSR0_L2LOA 0x00000080 /* L2 Cache Lock Overflow Allocate */ 430#define L2CSR0_L2LOA 0x00000080 /* L2 Cache Lock Overflow Allocate */
431#define L2CSR0_L2LO 0x00000020 /* L2 Cache Lock Overflow */ 431#define L2CSR0_L2LO 0x00000020 /* L2 Cache Lock Overflow */
432 432
433/* Bit definitions for MMUCSR0 */
434#define MMUCSR0_TLB1FI 0x00000002 /* TLB1 Flash invalidate */
435#define MMUCSR0_TLB0FI 0x00000004 /* TLB0 Flash invalidate */
436#define MMUCSR0_TLB2FI 0x00000040 /* TLB2 Flash invalidate */
437#define MMUCSR0_TLB3FI 0x00000020 /* TLB3 Flash invalidate */
438
439/* Bit definitions for SGR. */ 433/* Bit definitions for SGR. */
440#define SGR_NORMAL 0 /* Speculative fetching allowed. */ 434#define SGR_NORMAL 0 /* Speculative fetching allowed. */
441#define SGR_GUARDED 1 /* Speculative fetching disallowed. */ 435#define SGR_GUARDED 1 /* Speculative fetching disallowed. */
diff --git a/arch/powerpc/mm/tlb_nohash_low.S b/arch/powerpc/mm/tlb_nohash_low.S
index 7bcd9fbf6cc6..bbdc5b577b85 100644
--- a/arch/powerpc/mm/tlb_nohash_low.S
+++ b/arch/powerpc/mm/tlb_nohash_low.S
@@ -124,8 +124,6 @@ _GLOBAL(_tlbil_pid)
124 * to have the larger code path before the _SECTION_ELSE 124 * to have the larger code path before the _SECTION_ELSE
125 */ 125 */
126 126
127#define MMUCSR0_TLBFI (MMUCSR0_TLB0FI | MMUCSR0_TLB1FI | \
128 MMUCSR0_TLB2FI | MMUCSR0_TLB3FI)
129/* 127/*
130 * Flush MMU TLB on the local processor 128 * Flush MMU TLB on the local processor
131 */ 129 */
diff --git a/arch/powerpc/platforms/82xx/mpc8272_ads.c b/arch/powerpc/platforms/82xx/mpc8272_ads.c
index 8054c685d323..30394b409b3f 100644
--- a/arch/powerpc/platforms/82xx/mpc8272_ads.c
+++ b/arch/powerpc/platforms/82xx/mpc8272_ads.c
@@ -29,7 +29,6 @@
29#include <sysdev/fsl_soc.h> 29#include <sysdev/fsl_soc.h>
30#include <sysdev/cpm2_pic.h> 30#include <sysdev/cpm2_pic.h>
31 31
32#include "pq2ads.h"
33#include "pq2.h" 32#include "pq2.h"
34 33
35static void __init mpc8272_ads_pic_init(void) 34static void __init mpc8272_ads_pic_init(void)
@@ -100,6 +99,15 @@ static struct cpm_pin mpc8272_ads_pins[] = {
100 /* I2C */ 99 /* I2C */
101 {3, 14, CPM_PIN_INPUT | CPM_PIN_SECONDARY | CPM_PIN_OPENDRAIN}, 100 {3, 14, CPM_PIN_INPUT | CPM_PIN_SECONDARY | CPM_PIN_OPENDRAIN},
102 {3, 15, CPM_PIN_INPUT | CPM_PIN_SECONDARY | CPM_PIN_OPENDRAIN}, 101 {3, 15, CPM_PIN_INPUT | CPM_PIN_SECONDARY | CPM_PIN_OPENDRAIN},
102
103 /* USB */
104 {2, 10, CPM_PIN_INPUT | CPM_PIN_PRIMARY},
105 {2, 11, CPM_PIN_INPUT | CPM_PIN_PRIMARY},
106 {2, 20, CPM_PIN_OUTPUT | CPM_PIN_PRIMARY},
107 {2, 24, CPM_PIN_INPUT | CPM_PIN_PRIMARY},
108 {3, 23, CPM_PIN_OUTPUT | CPM_PIN_PRIMARY},
109 {3, 24, CPM_PIN_OUTPUT | CPM_PIN_PRIMARY},
110 {3, 25, CPM_PIN_INPUT | CPM_PIN_PRIMARY},
103}; 111};
104 112
105static void __init init_ioports(void) 113static void __init init_ioports(void)
@@ -113,6 +121,8 @@ static void __init init_ioports(void)
113 121
114 cpm2_clk_setup(CPM_CLK_SCC1, CPM_BRG1, CPM_CLK_RX); 122 cpm2_clk_setup(CPM_CLK_SCC1, CPM_BRG1, CPM_CLK_RX);
115 cpm2_clk_setup(CPM_CLK_SCC1, CPM_BRG1, CPM_CLK_TX); 123 cpm2_clk_setup(CPM_CLK_SCC1, CPM_BRG1, CPM_CLK_TX);
124 cpm2_clk_setup(CPM_CLK_SCC3, CPM_CLK8, CPM_CLK_RX);
125 cpm2_clk_setup(CPM_CLK_SCC3, CPM_CLK8, CPM_CLK_TX);
116 cpm2_clk_setup(CPM_CLK_SCC4, CPM_BRG4, CPM_CLK_RX); 126 cpm2_clk_setup(CPM_CLK_SCC4, CPM_BRG4, CPM_CLK_RX);
117 cpm2_clk_setup(CPM_CLK_SCC4, CPM_BRG4, CPM_CLK_TX); 127 cpm2_clk_setup(CPM_CLK_SCC4, CPM_BRG4, CPM_CLK_TX);
118 cpm2_clk_setup(CPM_CLK_FCC1, CPM_CLK11, CPM_CLK_RX); 128 cpm2_clk_setup(CPM_CLK_FCC1, CPM_CLK11, CPM_CLK_RX);
@@ -144,12 +154,22 @@ static void __init mpc8272_ads_setup_arch(void)
144 return; 154 return;
145 } 155 }
146 156
157#define BCSR1_FETHIEN 0x08000000
158#define BCSR1_FETH_RST 0x04000000
159#define BCSR1_RS232_EN1 0x02000000
160#define BCSR1_RS232_EN2 0x01000000
161#define BCSR3_USB_nEN 0x80000000
162#define BCSR3_FETHIEN2 0x10000000
163#define BCSR3_FETH2_RST 0x08000000
164
147 clrbits32(&bcsr[1], BCSR1_RS232_EN1 | BCSR1_RS232_EN2 | BCSR1_FETHIEN); 165 clrbits32(&bcsr[1], BCSR1_RS232_EN1 | BCSR1_RS232_EN2 | BCSR1_FETHIEN);
148 setbits32(&bcsr[1], BCSR1_FETH_RST); 166 setbits32(&bcsr[1], BCSR1_FETH_RST);
149 167
150 clrbits32(&bcsr[3], BCSR3_FETHIEN2); 168 clrbits32(&bcsr[3], BCSR3_FETHIEN2);
151 setbits32(&bcsr[3], BCSR3_FETH2_RST); 169 setbits32(&bcsr[3], BCSR3_FETH2_RST);
152 170
171 clrbits32(&bcsr[3], BCSR3_USB_nEN);
172
153 iounmap(bcsr); 173 iounmap(bcsr);
154 174
155 init_ioports(); 175 init_ioports();
diff --git a/arch/powerpc/platforms/85xx/Kconfig b/arch/powerpc/platforms/85xx/Kconfig
index a9b416688975..d3a975e8fd3e 100644
--- a/arch/powerpc/platforms/85xx/Kconfig
+++ b/arch/powerpc/platforms/85xx/Kconfig
@@ -55,6 +55,15 @@ config MPC85xx_DS
55 help 55 help
56 This option enables support for the MPC85xx DS (MPC8544 DS) board 56 This option enables support for the MPC85xx DS (MPC8544 DS) board
57 57
58config MPC85xx_RDB
59 bool "Freescale MPC85xx RDB"
60 select PPC_I8259
61 select DEFAULT_UIMAGE
62 select FSL_ULI1575
63 select SWIOTLB
64 help
65 This option enables support for the MPC85xx RDB (P2020 RDB) board
66
58config SOCRATES 67config SOCRATES
59 bool "Socrates" 68 bool "Socrates"
60 select DEFAULT_UIMAGE 69 select DEFAULT_UIMAGE
diff --git a/arch/powerpc/platforms/85xx/Makefile b/arch/powerpc/platforms/85xx/Makefile
index 835733f2b12c..9098aea0cf32 100644
--- a/arch/powerpc/platforms/85xx/Makefile
+++ b/arch/powerpc/platforms/85xx/Makefile
@@ -9,10 +9,11 @@ obj-$(CONFIG_MPC85xx_CDS) += mpc85xx_cds.o
9obj-$(CONFIG_MPC8536_DS) += mpc8536_ds.o 9obj-$(CONFIG_MPC8536_DS) += mpc8536_ds.o
10obj-$(CONFIG_MPC85xx_DS) += mpc85xx_ds.o 10obj-$(CONFIG_MPC85xx_DS) += mpc85xx_ds.o
11obj-$(CONFIG_MPC85xx_MDS) += mpc85xx_mds.o 11obj-$(CONFIG_MPC85xx_MDS) += mpc85xx_mds.o
12obj-$(CONFIG_MPC85xx_RDB) += mpc85xx_rdb.o
12obj-$(CONFIG_STX_GP3) += stx_gp3.o 13obj-$(CONFIG_STX_GP3) += stx_gp3.o
13obj-$(CONFIG_TQM85xx) += tqm85xx.o 14obj-$(CONFIG_TQM85xx) += tqm85xx.o
14obj-$(CONFIG_SBC8560) += sbc8560.o 15obj-$(CONFIG_SBC8560) += sbc8560.o
15obj-$(CONFIG_SBC8548) += sbc8548.o 16obj-$(CONFIG_SBC8548) += sbc8548.o
16obj-$(CONFIG_SOCRATES) += socrates.o socrates_fpga_pic.o 17obj-$(CONFIG_SOCRATES) += socrates.o socrates_fpga_pic.o
17obj-$(CONFIG_KSI8560) += ksi8560.o 18obj-$(CONFIG_KSI8560) += ksi8560.o
18obj-$(CONFIG_XES_MPC85xx) += xes_mpc85xx.o \ No newline at end of file 19obj-$(CONFIG_XES_MPC85xx) += xes_mpc85xx.o
diff --git a/arch/powerpc/platforms/85xx/mpc85xx_mds.c b/arch/powerpc/platforms/85xx/mpc85xx_mds.c
index bfb32834ab0c..20a61d0af33b 100644
--- a/arch/powerpc/platforms/85xx/mpc85xx_mds.c
+++ b/arch/powerpc/platforms/85xx/mpc85xx_mds.c
@@ -47,6 +47,7 @@
47#include <asm/udbg.h> 47#include <asm/udbg.h>
48#include <sysdev/fsl_soc.h> 48#include <sysdev/fsl_soc.h>
49#include <sysdev/fsl_pci.h> 49#include <sysdev/fsl_pci.h>
50#include <sysdev/simple_gpio.h>
50#include <asm/qe.h> 51#include <asm/qe.h>
51#include <asm/qe_ic.h> 52#include <asm/qe_ic.h>
52#include <asm/mpic.h> 53#include <asm/mpic.h>
@@ -304,6 +305,9 @@ static struct of_device_id mpc85xx_ids[] = {
304 305
305static int __init mpc85xx_publish_devices(void) 306static int __init mpc85xx_publish_devices(void)
306{ 307{
308 if (machine_is(mpc8569_mds))
309 simple_gpiochip_init("fsl,mpc8569mds-bcsr-gpio");
310
307 /* Publish the QE devices */ 311 /* Publish the QE devices */
308 of_platform_bus_probe(NULL, mpc85xx_ids, NULL); 312 of_platform_bus_probe(NULL, mpc85xx_ids, NULL);
309 313
diff --git a/arch/powerpc/platforms/85xx/mpc85xx_rdb.c b/arch/powerpc/platforms/85xx/mpc85xx_rdb.c
new file mode 100644
index 000000000000..c8468de4acf6
--- /dev/null
+++ b/arch/powerpc/platforms/85xx/mpc85xx_rdb.c
@@ -0,0 +1,141 @@
1/*
2 * MPC85xx RDB Board Setup
3 *
4 * Copyright 2009 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#include <linux/stddef.h>
13#include <linux/kernel.h>
14#include <linux/pci.h>
15#include <linux/kdev_t.h>
16#include <linux/delay.h>
17#include <linux/seq_file.h>
18#include <linux/interrupt.h>
19#include <linux/of_platform.h>
20
21#include <asm/system.h>
22#include <asm/time.h>
23#include <asm/machdep.h>
24#include <asm/pci-bridge.h>
25#include <mm/mmu_decl.h>
26#include <asm/prom.h>
27#include <asm/udbg.h>
28#include <asm/mpic.h>
29
30#include <sysdev/fsl_soc.h>
31#include <sysdev/fsl_pci.h>
32
33#undef DEBUG
34
35#ifdef DEBUG
36#define DBG(fmt, args...) printk(KERN_ERR "%s: " fmt, __func__, ## args)
37#else
38#define DBG(fmt, args...)
39#endif
40
41
42void __init mpc85xx_rdb_pic_init(void)
43{
44 struct mpic *mpic;
45 struct resource r;
46 struct device_node *np;
47
48 np = of_find_node_by_type(NULL, "open-pic");
49 if (np == NULL) {
50 printk(KERN_ERR "Could not find open-pic node\n");
51 return;
52 }
53
54 if (of_address_to_resource(np, 0, &r)) {
55 printk(KERN_ERR "Failed to map mpic register space\n");
56 of_node_put(np);
57 return;
58 }
59
60 mpic = mpic_alloc(np, r.start,
61 MPIC_PRIMARY | MPIC_WANTS_RESET |
62 MPIC_BIG_ENDIAN | MPIC_BROKEN_FRR_NIRQS |
63 MPIC_SINGLE_DEST_CPU,
64 0, 256, " OpenPIC ");
65
66 BUG_ON(mpic == NULL);
67 of_node_put(np);
68
69 mpic_init(mpic);
70
71}
72
73/*
74 * Setup the architecture
75 */
76#ifdef CONFIG_SMP
77extern void __init mpc85xx_smp_init(void);
78#endif
79static void __init mpc85xx_rdb_setup_arch(void)
80{
81#ifdef CONFIG_PCI
82 struct device_node *np;
83#endif
84
85 if (ppc_md.progress)
86 ppc_md.progress("mpc85xx_rdb_setup_arch()", 0);
87
88#ifdef CONFIG_PCI
89 for_each_node_by_type(np, "pci") {
90 if (of_device_is_compatible(np, "fsl,mpc8548-pcie"))
91 fsl_add_bridge(np, 0);
92 }
93
94#endif
95
96#ifdef CONFIG_SMP
97 mpc85xx_smp_init();
98#endif
99
100 printk(KERN_INFO "MPC85xx RDB board from Freescale Semiconductor\n");
101}
102
103static struct of_device_id __initdata mpc85xxrdb_ids[] = {
104 { .type = "soc", },
105 { .compatible = "soc", },
106 { .compatible = "simple-bus", },
107 { .compatible = "gianfar", },
108 {},
109};
110
111static int __init mpc85xxrdb_publish_devices(void)
112{
113 return of_platform_bus_probe(NULL, mpc85xxrdb_ids, NULL);
114}
115machine_device_initcall(p2020_rdb, mpc85xxrdb_publish_devices);
116
117/*
118 * Called very early, device-tree isn't unflattened
119 */
120static int __init p2020_rdb_probe(void)
121{
122 unsigned long root = of_get_flat_dt_root();
123
124 if (of_flat_dt_is_compatible(root, "fsl,P2020RDB"))
125 return 1;
126 return 0;
127}
128
129define_machine(p2020_rdb) {
130 .name = "P2020 RDB",
131 .probe = p2020_rdb_probe,
132 .setup_arch = mpc85xx_rdb_setup_arch,
133 .init_IRQ = mpc85xx_rdb_pic_init,
134#ifdef CONFIG_PCI
135 .pcibios_fixup_bus = fsl_pcibios_fixup_bus,
136#endif
137 .get_irq = mpic_get_irq,
138 .restart = fsl_rstcr_restart,
139 .calibrate_decr = generic_calibrate_decr,
140 .progress = udbg_progress,
141};
diff --git a/arch/powerpc/platforms/85xx/sbc8560.c b/arch/powerpc/platforms/85xx/sbc8560.c
index cc27807a8b64..a5ad1c7794bf 100644
--- a/arch/powerpc/platforms/85xx/sbc8560.c
+++ b/arch/powerpc/platforms/85xx/sbc8560.c
@@ -267,6 +267,43 @@ arch_initcall(sbc8560_rtc_init);
267 267
268#endif /* M48T59 */ 268#endif /* M48T59 */
269 269
270static __u8 __iomem *brstcr;
271
272static int __init sbc8560_bdrstcr_init(void)
273{
274 struct device_node *np;
275 struct resource res;
276
277 np = of_find_compatible_node(NULL, NULL, "wrs,sbc8560-brstcr");
278 if (np == NULL) {
279 printk(KERN_WARNING "sbc8560: No board specific RSTCR in DTB.\n");
280 return -ENODEV;
281 }
282
283 of_address_to_resource(np, 0, &res);
284
285 printk(KERN_INFO "sbc8560: Found BRSTCR at i/o 0x%x\n", res.start);
286
287 brstcr = ioremap(res.start, res.end - res.start);
288 if(!brstcr)
289 printk(KERN_WARNING "sbc8560: ioremap of brstcr failed.\n");
290
291 of_node_put(np);
292
293 return 0;
294}
295
296arch_initcall(sbc8560_bdrstcr_init);
297
298void sbc8560_rstcr_restart(char * cmd)
299{
300 local_irq_disable();
301 if(brstcr)
302 clrbits8(brstcr, 0x80);
303
304 while(1);
305}
306
270define_machine(sbc8560) { 307define_machine(sbc8560) {
271 .name = "SBC8560", 308 .name = "SBC8560",
272 .probe = sbc8560_probe, 309 .probe = sbc8560_probe,
@@ -274,7 +311,7 @@ define_machine(sbc8560) {
274 .init_IRQ = sbc8560_pic_init, 311 .init_IRQ = sbc8560_pic_init,
275 .show_cpuinfo = sbc8560_show_cpuinfo, 312 .show_cpuinfo = sbc8560_show_cpuinfo,
276 .get_irq = mpic_get_irq, 313 .get_irq = mpic_get_irq,
277 .restart = fsl_rstcr_restart, 314 .restart = sbc8560_rstcr_restart,
278 .calibrate_decr = generic_calibrate_decr, 315 .calibrate_decr = generic_calibrate_decr,
279 .progress = udbg_progress, 316 .progress = udbg_progress,
280}; 317};
diff --git a/arch/powerpc/sysdev/fsl_soc.c b/arch/powerpc/sysdev/fsl_soc.c
index 95dbc643c4fc..adca4affcf1f 100644
--- a/arch/powerpc/sysdev/fsl_soc.c
+++ b/arch/powerpc/sysdev/fsl_soc.c
@@ -37,6 +37,7 @@
37#include <asm/irq.h> 37#include <asm/irq.h>
38#include <asm/time.h> 38#include <asm/time.h>
39#include <asm/prom.h> 39#include <asm/prom.h>
40#include <asm/machdep.h>
40#include <sysdev/fsl_soc.h> 41#include <sysdev/fsl_soc.h>
41#include <mm/mmu_decl.h> 42#include <mm/mmu_decl.h>
42#include <asm/cpm2.h> 43#include <asm/cpm2.h>
@@ -383,8 +384,9 @@ static int __init setup_rstcr(void)
383 if (!rstcr) 384 if (!rstcr)
384 printk (KERN_EMERG "Error: reset control register " 385 printk (KERN_EMERG "Error: reset control register "
385 "not mapped!\n"); 386 "not mapped!\n");
386 } else 387 } else if (ppc_md.restart == fsl_rstcr_restart)
387 printk (KERN_INFO "rstcr compatible register does not exist!\n"); 388 printk(KERN_ERR "No RSTCR register, warm reboot won't work\n");
389
388 if (np) 390 if (np)
389 of_node_put(np); 391 of_node_put(np);
390 return 0; 392 return 0;
diff --git a/arch/powerpc/sysdev/qe_lib/gpio.c b/arch/powerpc/sysdev/qe_lib/gpio.c
index 3485288dce31..8e7a7767dd5c 100644
--- a/arch/powerpc/sysdev/qe_lib/gpio.c
+++ b/arch/powerpc/sysdev/qe_lib/gpio.c
@@ -105,14 +105,14 @@ static int qe_gpio_dir_out(struct gpio_chip *gc, unsigned int gpio, int val)
105 struct qe_gpio_chip *qe_gc = to_qe_gpio_chip(mm_gc); 105 struct qe_gpio_chip *qe_gc = to_qe_gpio_chip(mm_gc);
106 unsigned long flags; 106 unsigned long flags;
107 107
108 qe_gpio_set(gc, gpio, val);
109
108 spin_lock_irqsave(&qe_gc->lock, flags); 110 spin_lock_irqsave(&qe_gc->lock, flags);
109 111
110 __par_io_config_pin(mm_gc->regs, gpio, QE_PIO_DIR_OUT, 0, 0, 0); 112 __par_io_config_pin(mm_gc->regs, gpio, QE_PIO_DIR_OUT, 0, 0, 0);
111 113
112 spin_unlock_irqrestore(&qe_gc->lock, flags); 114 spin_unlock_irqrestore(&qe_gc->lock, flags);
113 115
114 qe_gpio_set(gc, gpio, val);
115
116 return 0; 116 return 0;
117} 117}
118 118