aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc
diff options
context:
space:
mode:
authorPaul Mackerras <paulus@samba.org>2008-01-25 23:30:35 -0500
committerPaul Mackerras <paulus@samba.org>2008-01-25 23:30:35 -0500
commit75e06e2d7dd48ba655789e143e81c73617737890 (patch)
tree21d4df5ab24703b95e43c504512fbccfb773ffea /arch/powerpc
parent5bc977867f36fc36cde43b309b891b2f7b714f52 (diff)
parente08029675181a16d435431ad51255aa730fd6772 (diff)
Merge branch 'for-2.6.25' of master.kernel.org:/pub/scm/linux/kernel/git/jwboyer/powerpc-4xx
Diffstat (limited to 'arch/powerpc')
-rw-r--r--arch/powerpc/Kconfig2
-rw-r--r--arch/powerpc/boot/4xx.c2
-rw-r--r--arch/powerpc/boot/Makefile4
-rw-r--r--arch/powerpc/boot/cuboot-warp.c39
-rw-r--r--arch/powerpc/boot/dts/ebony.dts5
-rw-r--r--arch/powerpc/boot/dts/haleakala.dts274
-rw-r--r--arch/powerpc/boot/dts/walnut.dts5
-rw-r--r--arch/powerpc/boot/dts/warp.dts239
-rw-r--r--arch/powerpc/configs/warp_defconfig1057
-rw-r--r--arch/powerpc/kernel/cputable.c28
-rw-r--r--arch/powerpc/platforms/40x/walnut.c1
-rw-r--r--arch/powerpc/platforms/44x/Kconfig15
-rw-r--r--arch/powerpc/platforms/44x/Makefile2
-rw-r--r--arch/powerpc/platforms/44x/ebony.c2
-rw-r--r--arch/powerpc/platforms/44x/warp-nand.c105
-rw-r--r--arch/powerpc/platforms/44x/warp.c153
-rw-r--r--arch/powerpc/platforms/Kconfig6
-rw-r--r--arch/powerpc/sysdev/Makefile1
-rw-r--r--arch/powerpc/sysdev/of_rtc.c59
19 files changed, 1990 insertions, 9 deletions
diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
index 9ae800d81f89..5e1083829d82 100644
--- a/arch/powerpc/Kconfig
+++ b/arch/powerpc/Kconfig
@@ -480,7 +480,7 @@ config MCA
480config PCI 480config PCI
481 bool "PCI support" if 40x || CPM2 || PPC_83xx || PPC_85xx || PPC_86xx \ 481 bool "PCI support" if 40x || CPM2 || PPC_83xx || PPC_85xx || PPC_86xx \
482 || PPC_MPC52xx || (EMBEDDED && (PPC_PSERIES || PPC_ISERIES)) \ 482 || PPC_MPC52xx || (EMBEDDED && (PPC_PSERIES || PPC_ISERIES)) \
483 || PPC_PS3 483 || PPC_PS3 || 44x
484 default y if !40x && !CPM2 && !8xx && !PPC_83xx \ 484 default y if !40x && !CPM2 && !8xx && !PPC_83xx \
485 && !PPC_85xx && !PPC_86xx 485 && !PPC_85xx && !PPC_86xx
486 default PCI_PERMEDIA if !4xx && !CPM2 && !8xx 486 default PCI_PERMEDIA if !4xx && !CPM2 && !8xx
diff --git a/arch/powerpc/boot/4xx.c b/arch/powerpc/boot/4xx.c
index 61a4045324cb..758edf1c5815 100644
--- a/arch/powerpc/boot/4xx.c
+++ b/arch/powerpc/boot/4xx.c
@@ -159,7 +159,7 @@ void ibm4xx_denali_fixup_memsize(void)
159 val = DDR_GET_VAL(val, DDR_CS_MAP, DDR_CS_MAP_SHIFT); 159 val = DDR_GET_VAL(val, DDR_CS_MAP, DDR_CS_MAP_SHIFT);
160 cs = 0; 160 cs = 0;
161 while (val) { 161 while (val) {
162 if (val && 0x1) 162 if (val & 0x1)
163 cs++; 163 cs++;
164 val = val >> 1; 164 val = val >> 1;
165 } 165 }
diff --git a/arch/powerpc/boot/Makefile b/arch/powerpc/boot/Makefile
index 1e20aca48f45..b36f9113ad1f 100644
--- a/arch/powerpc/boot/Makefile
+++ b/arch/powerpc/boot/Makefile
@@ -62,7 +62,8 @@ src-plat := of.c cuboot-52xx.c cuboot-824x.c cuboot-83xx.c cuboot-85xx.c holly.c
62 ps3-head.S ps3-hvcall.S ps3.c treeboot-bamboo.c cuboot-8xx.c \ 62 ps3-head.S ps3-hvcall.S ps3.c treeboot-bamboo.c cuboot-8xx.c \
63 cuboot-pq2.c cuboot-sequoia.c treeboot-walnut.c cuboot-bamboo.c \ 63 cuboot-pq2.c cuboot-sequoia.c treeboot-walnut.c cuboot-bamboo.c \
64 fixed-head.S ep88xc.c cuboot-hpc2.c ep405.c cuboot-taishan.c \ 64 fixed-head.S ep88xc.c cuboot-hpc2.c ep405.c cuboot-taishan.c \
65 cuboot-katmai.c cuboot-rainier.c redboot-8xx.c ep8248e.c 65 cuboot-katmai.c cuboot-rainier.c redboot-8xx.c ep8248e.c \
66 cuboot-warp.c
66src-boot := $(src-wlib) $(src-plat) empty.c 67src-boot := $(src-wlib) $(src-plat) empty.c
67 68
68src-boot := $(addprefix $(obj)/, $(src-boot)) 69src-boot := $(addprefix $(obj)/, $(src-boot))
@@ -208,6 +209,7 @@ image-$(CONFIG_RAINIER) += cuImage.rainier
208image-$(CONFIG_WALNUT) += treeImage.walnut 209image-$(CONFIG_WALNUT) += treeImage.walnut
209image-$(CONFIG_TAISHAN) += cuImage.taishan 210image-$(CONFIG_TAISHAN) += cuImage.taishan
210image-$(CONFIG_KATMAI) += cuImage.katmai 211image-$(CONFIG_KATMAI) += cuImage.katmai
212image-$(CONFIG_WARP) += cuImage.warp
211endif 213endif
212 214
213ifneq ($(CONFIG_REDBOOT),"") 215ifneq ($(CONFIG_REDBOOT),"")
diff --git a/arch/powerpc/boot/cuboot-warp.c b/arch/powerpc/boot/cuboot-warp.c
new file mode 100644
index 000000000000..bdedebe1bc14
--- /dev/null
+++ b/arch/powerpc/boot/cuboot-warp.c
@@ -0,0 +1,39 @@
1/*
2 * Copyright (c) 2008 PIKA Technologies
3 * Sean MacLennan <smaclennan@pikatech.com>
4 *
5 * This program is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 as published
7 * by the Free Software Foundation.
8 */
9
10#include "ops.h"
11#include "4xx.h"
12#include "cuboot.h"
13
14#define TARGET_44x
15#include "ppcboot.h"
16
17static bd_t bd;
18
19static void warp_fixups(void)
20{
21 unsigned long sysclk = 66000000;
22
23 ibm440ep_fixup_clocks(sysclk, 11059200, 50000000);
24 ibm4xx_sdram_fixup_memsize();
25 ibm4xx_fixup_ebc_ranges("/plb/opb/ebc");
26 dt_fixup_mac_addresses(&bd.bi_enetaddr);
27}
28
29
30void platform_init(unsigned long r3, unsigned long r4, unsigned long r5,
31 unsigned long r6, unsigned long r7)
32{
33 CUBOOT_INIT();
34
35 platform_ops.fixups = warp_fixups;
36 platform_ops.exit = ibm44x_dbcr_reset;
37 fdt_init(_dtb_start);
38 serial_console_init();
39}
diff --git a/arch/powerpc/boot/dts/ebony.dts b/arch/powerpc/boot/dts/ebony.dts
index f8790c4747df..7aad135a44b0 100644
--- a/arch/powerpc/boot/dts/ebony.dts
+++ b/arch/powerpc/boot/dts/ebony.dts
@@ -158,9 +158,10 @@
158 }; 158 };
159 }; 159 };
160 160
161 ds1743@1,0 { 161 nvram@1,0 {
162 /* NVRAM & RTC */ 162 /* NVRAM & RTC */
163 compatible = "ds1743"; 163 compatible = "ds1743-nvram";
164 #bytes = <2000>;
164 reg = <1 0 2000>; 165 reg = <1 0 2000>;
165 }; 166 };
166 167
diff --git a/arch/powerpc/boot/dts/haleakala.dts b/arch/powerpc/boot/dts/haleakala.dts
new file mode 100644
index 000000000000..5dd3d15f0feb
--- /dev/null
+++ b/arch/powerpc/boot/dts/haleakala.dts
@@ -0,0 +1,274 @@
1/*
2 * Device Tree Source for AMCC Haleakala (405EXr)
3 *
4 * Copyright 2008 DENX Software Engineering, Stefan Roese <sr@denx.de>
5 *
6 * This file is licensed under the terms of the GNU General Public
7 * License version 2. This program is licensed "as is" without
8 * any warranty of any kind, whether express or implied.
9 */
10
11/ {
12 #address-cells = <1>;
13 #size-cells = <1>;
14 model = "amcc,haleakala";
15 compatible = "amcc,kilauea";
16 dcr-parent = <&/cpus/cpu@0>;
17
18 aliases {
19 ethernet0 = &EMAC0;
20 serial0 = &UART0;
21 serial1 = &UART1;
22 };
23
24 cpus {
25 #address-cells = <1>;
26 #size-cells = <0>;
27
28 cpu@0 {
29 device_type = "cpu";
30 model = "PowerPC,405EXr";
31 reg = <0>;
32 clock-frequency = <0>; /* Filled in by U-Boot */
33 timebase-frequency = <0>; /* Filled in by U-Boot */
34 i-cache-line-size = <20>;
35 d-cache-line-size = <20>;
36 i-cache-size = <4000>; /* 16 kB */
37 d-cache-size = <4000>; /* 16 kB */
38 dcr-controller;
39 dcr-access-method = "native";
40 };
41 };
42
43 memory {
44 device_type = "memory";
45 reg = <0 0>; /* Filled in by U-Boot */
46 };
47
48 UIC0: interrupt-controller {
49 compatible = "ibm,uic-405exr", "ibm,uic";
50 interrupt-controller;
51 cell-index = <0>;
52 dcr-reg = <0c0 009>;
53 #address-cells = <0>;
54 #size-cells = <0>;
55 #interrupt-cells = <2>;
56 };
57
58 UIC1: interrupt-controller1 {
59 compatible = "ibm,uic-405exr","ibm,uic";
60 interrupt-controller;
61 cell-index = <1>;
62 dcr-reg = <0d0 009>;
63 #address-cells = <0>;
64 #size-cells = <0>;
65 #interrupt-cells = <2>;
66 interrupts = <1e 4 1f 4>; /* cascade */
67 interrupt-parent = <&UIC0>;
68 };
69
70 UIC2: interrupt-controller2 {
71 compatible = "ibm,uic-405exr","ibm,uic";
72 interrupt-controller;
73 cell-index = <2>;
74 dcr-reg = <0e0 009>;
75 #address-cells = <0>;
76 #size-cells = <0>;
77 #interrupt-cells = <2>;
78 interrupts = <1c 4 1d 4>; /* cascade */
79 interrupt-parent = <&UIC0>;
80 };
81
82 plb {
83 compatible = "ibm,plb-405exr", "ibm,plb4";
84 #address-cells = <1>;
85 #size-cells = <1>;
86 ranges;
87 clock-frequency = <0>; /* Filled in by U-Boot */
88
89 SDRAM0: memory-controller {
90 compatible = "ibm,sdram-405exr";
91 dcr-reg = <010 2>;
92 };
93
94 MAL0: mcmal {
95 compatible = "ibm,mcmal-405exr", "ibm,mcmal2";
96 dcr-reg = <180 62>;
97 num-tx-chans = <2>;
98 num-rx-chans = <2>;
99 interrupt-parent = <&MAL0>;
100 interrupts = <0 1 2 3 4>;
101 #interrupt-cells = <1>;
102 #address-cells = <0>;
103 #size-cells = <0>;
104 interrupt-map = </*TXEOB*/ 0 &UIC0 a 4
105 /*RXEOB*/ 1 &UIC0 b 4
106 /*SERR*/ 2 &UIC1 0 4
107 /*TXDE*/ 3 &UIC1 1 4
108 /*RXDE*/ 4 &UIC1 2 4>;
109 interrupt-map-mask = <ffffffff>;
110 };
111
112 POB0: opb {
113 compatible = "ibm,opb-405exr", "ibm,opb";
114 #address-cells = <1>;
115 #size-cells = <1>;
116 ranges = <80000000 80000000 10000000
117 ef600000 ef600000 a00000
118 f0000000 f0000000 10000000>;
119 dcr-reg = <0a0 5>;
120 clock-frequency = <0>; /* Filled in by U-Boot */
121
122 EBC0: ebc {
123 compatible = "ibm,ebc-405exr", "ibm,ebc";
124 dcr-reg = <012 2>;
125 #address-cells = <2>;
126 #size-cells = <1>;
127 clock-frequency = <0>; /* Filled in by U-Boot */
128 /* ranges property is supplied by U-Boot */
129 interrupts = <5 1>;
130 interrupt-parent = <&UIC1>;
131
132 nor_flash@0,0 {
133 compatible = "amd,s29gl512n", "cfi-flash";
134 bank-width = <2>;
135 reg = <0 000000 4000000>;
136 #address-cells = <1>;
137 #size-cells = <1>;
138 partition@0 {
139 label = "kernel";
140 reg = <0 200000>;
141 };
142 partition@200000 {
143 label = "root";
144 reg = <200000 200000>;
145 };
146 partition@400000 {
147 label = "user";
148 reg = <400000 3b60000>;
149 };
150 partition@3f60000 {
151 label = "env";
152 reg = <3f60000 40000>;
153 };
154 partition@3fa0000 {
155 label = "u-boot";
156 reg = <3fa0000 60000>;
157 };
158 };
159 };
160
161 UART0: serial@ef600200 {
162 device_type = "serial";
163 compatible = "ns16550";
164 reg = <ef600200 8>;
165 virtual-reg = <ef600200>;
166 clock-frequency = <0>; /* Filled in by U-Boot */
167 current-speed = <0>;
168 interrupt-parent = <&UIC0>;
169 interrupts = <1a 4>;
170 };
171
172 UART1: serial@ef600300 {
173 device_type = "serial";
174 compatible = "ns16550";
175 reg = <ef600300 8>;
176 virtual-reg = <ef600300>;
177 clock-frequency = <0>; /* Filled in by U-Boot */
178 current-speed = <0>;
179 interrupt-parent = <&UIC0>;
180 interrupts = <1 4>;
181 };
182
183 IIC0: i2c@ef600400 {
184 compatible = "ibm,iic-405exr", "ibm,iic";
185 reg = <ef600400 14>;
186 interrupt-parent = <&UIC0>;
187 interrupts = <2 4>;
188 };
189
190 IIC1: i2c@ef600500 {
191 compatible = "ibm,iic-405exr", "ibm,iic";
192 reg = <ef600500 14>;
193 interrupt-parent = <&UIC0>;
194 interrupts = <7 4>;
195 };
196
197
198 RGMII0: emac-rgmii@ef600b00 {
199 compatible = "ibm,rgmii-405exr", "ibm,rgmii";
200 reg = <ef600b00 104>;
201 has-mdio;
202 };
203
204 EMAC0: ethernet@ef600900 {
205 linux,network-index = <0>;
206 device_type = "network";
207 compatible = "ibm,emac-405exr", "ibm,emac4";
208 interrupt-parent = <&EMAC0>;
209 interrupts = <0 1>;
210 #interrupt-cells = <1>;
211 #address-cells = <0>;
212 #size-cells = <0>;
213 interrupt-map = </*Status*/ 0 &UIC0 18 4
214 /*Wake*/ 1 &UIC1 1d 4>;
215 reg = <ef600900 70>;
216 local-mac-address = [000000000000]; /* Filled in by U-Boot */
217 mal-device = <&MAL0>;
218 mal-tx-channel = <0>;
219 mal-rx-channel = <0>;
220 cell-index = <0>;
221 max-frame-size = <5dc>;
222 rx-fifo-size = <1000>;
223 tx-fifo-size = <800>;
224 phy-mode = "rgmii";
225 phy-map = <00000000>;
226 rgmii-device = <&RGMII0>;
227 rgmii-channel = <0>;
228 has-inverted-stacr-oc;
229 has-new-stacr-staopc;
230 };
231 };
232
233 PCIE0: pciex@0a0000000 {
234 device_type = "pci";
235 #interrupt-cells = <1>;
236 #size-cells = <2>;
237 #address-cells = <3>;
238 compatible = "ibm,plb-pciex-405exr", "ibm,plb-pciex";
239 primary;
240 port = <0>; /* port number */
241 reg = <a0000000 20000000 /* Config space access */
242 ef000000 00001000>; /* Registers */
243 dcr-reg = <040 020>;
244 sdr-base = <400>;
245
246 /* Outbound ranges, one memory and one IO,
247 * later cannot be changed
248 */
249 ranges = <02000000 0 80000000 90000000 0 08000000
250 01000000 0 00000000 e0000000 0 00010000>;
251
252 /* Inbound 2GB range starting at 0 */
253 dma-ranges = <42000000 0 0 0 0 80000000>;
254
255 /* This drives busses 0x00 to 0x3f */
256 bus-range = <00 3f>;
257
258 /* Legacy interrupts (note the weird polarity, the bridge seems
259 * to invert PCIe legacy interrupts).
260 * We are de-swizzling here because the numbers are actually for
261 * port of the root complex virtual P2P bridge. But I want
262 * to avoid putting a node for it in the tree, so the numbers
263 * below are basically de-swizzled numbers.
264 * The real slot is on idsel 0, so the swizzling is 1:1
265 */
266 interrupt-map-mask = <0000 0 0 7>;
267 interrupt-map = <
268 0000 0 0 1 &UIC2 0 4 /* swizzled int A */
269 0000 0 0 2 &UIC2 1 4 /* swizzled int B */
270 0000 0 0 3 &UIC2 2 4 /* swizzled int C */
271 0000 0 0 4 &UIC2 3 4 /* swizzled int D */>;
272 };
273 };
274};
diff --git a/arch/powerpc/boot/dts/walnut.dts b/arch/powerpc/boot/dts/walnut.dts
index 0e3825e599dc..dcc21b0438e5 100644
--- a/arch/powerpc/boot/dts/walnut.dts
+++ b/arch/powerpc/boot/dts/walnut.dts
@@ -175,9 +175,10 @@
175 }; 175 };
176 }; 176 };
177 177
178 ds1743@1,0 { 178 nvram@1,0 {
179 /* NVRAM and RTC */ 179 /* NVRAM and RTC */
180 compatible = "ds1743"; 180 compatible = "ds1743-nvram";
181 #bytes = <2000>;
181 reg = <1 0 2000>; 182 reg = <1 0 2000>;
182 }; 183 };
183 184
diff --git a/arch/powerpc/boot/dts/warp.dts b/arch/powerpc/boot/dts/warp.dts
new file mode 100644
index 000000000000..dc1499d30f43
--- /dev/null
+++ b/arch/powerpc/boot/dts/warp.dts
@@ -0,0 +1,239 @@
1/*
2 * Device Tree Source for PIKA Warp
3 *
4 * Copyright (c) 2008 PIKA Technologies
5 * Sean MacLennan <smaclennan@pikatech.com>
6 *
7 * This file is licensed under the terms of the GNU General Public
8 * License version 2. This program is licensed "as is" without
9 * any warranty of any kind, whether express or implied.
10 */
11
12/ {
13 #address-cells = <2>;
14 #size-cells = <1>;
15 model = "pika,warp";
16 compatible = "pika,warp";
17 dcr-parent = <&/cpus/cpu@0>;
18
19 aliases {
20 ethernet0 = &EMAC0;
21 serial0 = &UART0;
22 };
23
24 cpus {
25 #address-cells = <1>;
26 #size-cells = <0>;
27
28 cpu@0 {
29 device_type = "cpu";
30 model = "PowerPC,440EP";
31 reg = <0>;
32 clock-frequency = <0>; /* Filled in by zImage */
33 timebase-frequency = <0>; /* Filled in by zImage */
34 i-cache-line-size = <20>;
35 d-cache-line-size = <20>;
36 i-cache-size = <8000>;
37 d-cache-size = <8000>;
38 dcr-controller;
39 dcr-access-method = "native";
40 };
41 };
42
43 memory {
44 device_type = "memory";
45 reg = <0 0 0>; /* Filled in by zImage */
46 };
47
48 UIC0: interrupt-controller0 {
49 compatible = "ibm,uic-440ep","ibm,uic";
50 interrupt-controller;
51 cell-index = <0>;
52 dcr-reg = <0c0 009>;
53 #address-cells = <0>;
54 #size-cells = <0>;
55 #interrupt-cells = <2>;
56 };
57
58 UIC1: interrupt-controller1 {
59 compatible = "ibm,uic-440ep","ibm,uic";
60 interrupt-controller;
61 cell-index = <1>;
62 dcr-reg = <0d0 009>;
63 #address-cells = <0>;
64 #size-cells = <0>;
65 #interrupt-cells = <2>;
66 interrupts = <1e 4 1f 4>; /* cascade */
67 interrupt-parent = <&UIC0>;
68 };
69
70 SDR0: sdr {
71 compatible = "ibm,sdr-440ep";
72 dcr-reg = <00e 002>;
73 };
74
75 CPR0: cpr {
76 compatible = "ibm,cpr-440ep";
77 dcr-reg = <00c 002>;
78 };
79
80 plb {
81 compatible = "ibm,plb-440ep", "ibm,plb-440gp", "ibm,plb4";
82 #address-cells = <2>;
83 #size-cells = <1>;
84 ranges;
85 clock-frequency = <0>; /* Filled in by zImage */
86
87 SDRAM0: sdram {
88 compatible = "ibm,sdram-440ep", "ibm,sdram-405gp";
89 dcr-reg = <010 2>;
90 };
91
92 DMA0: dma {
93 compatible = "ibm,dma-440ep", "ibm,dma-440gp";
94 dcr-reg = <100 027>;
95 };
96
97 MAL0: mcmal {
98 compatible = "ibm,mcmal-440ep", "ibm,mcmal-440gp", "ibm,mcmal";
99 dcr-reg = <180 62>;
100 num-tx-chans = <4>;
101 num-rx-chans = <2>;
102 interrupt-parent = <&MAL0>;
103 interrupts = <0 1 2 3 4>;
104 #interrupt-cells = <1>;
105 #address-cells = <0>;
106 #size-cells = <0>;
107 interrupt-map = </*TXEOB*/ 0 &UIC0 a 4
108 /*RXEOB*/ 1 &UIC0 b 4
109 /*SERR*/ 2 &UIC1 0 4
110 /*TXDE*/ 3 &UIC1 1 4
111 /*RXDE*/ 4 &UIC1 2 4>;
112 };
113
114 POB0: opb {
115 compatible = "ibm,opb-440ep", "ibm,opb-440gp", "ibm,opb";
116 #address-cells = <1>;
117 #size-cells = <1>;
118 ranges = <00000000 0 00000000 80000000
119 80000000 0 80000000 80000000>;
120 interrupt-parent = <&UIC1>;
121 interrupts = <7 4>;
122 clock-frequency = <0>; /* Filled in by zImage */
123
124 EBC0: ebc {
125 compatible = "ibm,ebc-440ep", "ibm,ebc-440gp", "ibm,ebc";
126 dcr-reg = <012 2>;
127 #address-cells = <2>;
128 #size-cells = <1>;
129 clock-frequency = <0>; /* Filled in by zImage */
130 interrupts = <5 1>;
131 interrupt-parent = <&UIC1>;
132
133 fpga@2,0 {
134 compatible = "pika,fpga";
135 reg = <2 0 2200>;
136 interrupts = <18 8>;
137 interrupt-parent = <&UIC0>;
138 };
139
140 nor_flash@0,0 {
141 compatible = "amd,s29gl512n", "cfi-flash";
142 bank-width = <2>;
143 reg = <0 0 4000000>;
144 #address-cells = <1>;
145 #size-cells = <1>;
146 partition@0 {
147 label = "kernel";
148 reg = <0 180000>;
149 };
150 partition@180000 {
151 label = "root";
152 reg = <180000 3480000>;
153 };
154 partition@3600000 {
155 label = "user";
156 reg = <3600000 900000>;
157 };
158 partition@3f00000 {
159 label = "fpga";
160 reg = <3f00000 40000>;
161 };
162 partition@3f40000 {
163 label = "env";
164 reg = <3f40000 40000>;
165 };
166 partition@3f80000 {
167 label = "u-boot";
168 reg = <3f80000 80000>;
169 };
170 };
171 };
172
173 UART0: serial@ef600300 {
174 device_type = "serial";
175 compatible = "ns16550";
176 reg = <ef600300 8>;
177 virtual-reg = <ef600300>;
178 clock-frequency = <0>; /* Filled in by zImage */
179 current-speed = <1c200>;
180 interrupt-parent = <&UIC0>;
181 interrupts = <0 4>;
182 };
183
184 IIC0: i2c@ef600700 {
185 compatible = "ibm,iic-440ep", "ibm,iic-440gp", "ibm,iic";
186 reg = <ef600700 14>;
187 interrupt-parent = <&UIC0>;
188 interrupts = <2 4>;
189 };
190
191 GPIO0: gpio@ef600b00 {
192 compatible = "ibm,gpio-440ep";
193 reg = <ef600b00 48>;
194 };
195
196 GPIO1: gpio@ef600c00 {
197 compatible = "ibm,gpio-440ep";
198 reg = <ef600c00 48>;
199 };
200
201 ZMII0: emac-zmii@ef600d00 {
202 compatible = "ibm,zmii-440ep", "ibm,zmii-440gp", "ibm,zmii";
203 reg = <ef600d00 c>;
204 };
205
206 EMAC0: ethernet@ef600e00 {
207 linux,network-index = <0>;
208 device_type = "network";
209 compatible = "ibm,emac-440ep", "ibm,emac-440gp", "ibm,emac";
210 interrupt-parent = <&UIC1>;
211 interrupts = <1c 4 1d 4>;
212 reg = <ef600e00 70>;
213 local-mac-address = [000000000000];
214 mal-device = <&MAL0>;
215 mal-tx-channel = <0 1>;
216 mal-rx-channel = <0>;
217 cell-index = <0>;
218 max-frame-size = <5dc>;
219 rx-fifo-size = <1000>;
220 tx-fifo-size = <800>;
221 phy-mode = "rmii";
222 phy-map = <00000000>;
223 zmii-device = <&ZMII0>;
224 zmii-channel = <0>;
225 };
226
227 usb@ef601000 {
228 compatible = "ohci-be";
229 reg = <ef601000 80>;
230 interrupts = <8 1 9 1>;
231 interrupt-parent = < &UIC1 >;
232 };
233 };
234 };
235
236 chosen {
237 linux,stdout-path = "/plb/opb/serial@ef600300";
238 };
239};
diff --git a/arch/powerpc/configs/warp_defconfig b/arch/powerpc/configs/warp_defconfig
new file mode 100644
index 000000000000..312557b5df53
--- /dev/null
+++ b/arch/powerpc/configs/warp_defconfig
@@ -0,0 +1,1057 @@
1#
2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.24-rc6
4# Tue Jan 8 12:23:23 2008
5#
6# CONFIG_PPC64 is not set
7
8#
9# Processor support
10#
11# CONFIG_6xx is not set
12# CONFIG_PPC_85xx is not set
13# CONFIG_PPC_8xx is not set
14# CONFIG_40x is not set
15CONFIG_44x=y
16# CONFIG_E200 is not set
17CONFIG_PPC_FPU=y
18CONFIG_4xx=y
19CONFIG_BOOKE=y
20CONFIG_PTE_64BIT=y
21CONFIG_PHYS_64BIT=y
22# CONFIG_PPC_MM_SLICES is not set
23CONFIG_NOT_COHERENT_CACHE=y
24CONFIG_PPC32=y
25CONFIG_WORD_SIZE=32
26CONFIG_PPC_MERGE=y
27CONFIG_MMU=y
28CONFIG_GENERIC_CMOS_UPDATE=y
29CONFIG_GENERIC_TIME=y
30CONFIG_GENERIC_TIME_VSYSCALL=y
31CONFIG_GENERIC_CLOCKEVENTS=y
32CONFIG_GENERIC_HARDIRQS=y
33CONFIG_IRQ_PER_CPU=y
34CONFIG_RWSEM_XCHGADD_ALGORITHM=y
35CONFIG_ARCH_HAS_ILOG2_U32=y
36CONFIG_GENERIC_HWEIGHT=y
37CONFIG_GENERIC_CALIBRATE_DELAY=y
38CONFIG_GENERIC_FIND_NEXT_BIT=y
39# CONFIG_ARCH_NO_VIRT_TO_BUS is not set
40CONFIG_PPC=y
41CONFIG_EARLY_PRINTK=y
42CONFIG_GENERIC_NVRAM=y
43CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
44CONFIG_ARCH_MAY_HAVE_PC_FDC=y
45CONFIG_PPC_OF=y
46CONFIG_OF=y
47CONFIG_PPC_UDBG_16550=y
48# CONFIG_GENERIC_TBSYNC is not set
49CONFIG_AUDIT_ARCH=y
50CONFIG_GENERIC_BUG=y
51# CONFIG_DEFAULT_UIMAGE is not set
52CONFIG_PPC_DCR_NATIVE=y
53# CONFIG_PPC_DCR_MMIO is not set
54CONFIG_PPC_DCR=y
55CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
56
57#
58# General setup
59#
60CONFIG_EXPERIMENTAL=y
61CONFIG_BROKEN_ON_SMP=y
62CONFIG_INIT_ENV_ARG_LIMIT=32
63CONFIG_LOCALVERSION="-pika"
64# CONFIG_LOCALVERSION_AUTO is not set
65CONFIG_SWAP=y
66CONFIG_SYSVIPC=y
67CONFIG_SYSVIPC_SYSCTL=y
68# CONFIG_POSIX_MQUEUE is not set
69# CONFIG_BSD_PROCESS_ACCT is not set
70# CONFIG_TASKSTATS is not set
71# CONFIG_USER_NS is not set
72# CONFIG_PID_NS is not set
73# CONFIG_AUDIT is not set
74# CONFIG_IKCONFIG is not set
75CONFIG_LOG_BUF_SHIFT=14
76# CONFIG_CGROUPS is not set
77CONFIG_FAIR_GROUP_SCHED=y
78CONFIG_FAIR_USER_SCHED=y
79# CONFIG_FAIR_CGROUP_SCHED is not set
80CONFIG_SYSFS_DEPRECATED=y
81# CONFIG_RELAY is not set
82CONFIG_BLK_DEV_INITRD=y
83CONFIG_INITRAMFS_SOURCE=""
84# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
85CONFIG_SYSCTL=y
86CONFIG_EMBEDDED=y
87CONFIG_SYSCTL_SYSCALL=y
88CONFIG_KALLSYMS=y
89# CONFIG_KALLSYMS_ALL is not set
90# CONFIG_KALLSYMS_EXTRA_PASS is not set
91# CONFIG_HOTPLUG is not set
92CONFIG_PRINTK=y
93CONFIG_BUG=y
94CONFIG_ELF_CORE=y
95CONFIG_BASE_FULL=y
96CONFIG_FUTEX=y
97CONFIG_ANON_INODES=y
98CONFIG_EPOLL=y
99CONFIG_SIGNALFD=y
100CONFIG_EVENTFD=y
101CONFIG_SHMEM=y
102CONFIG_VM_EVENT_COUNTERS=y
103CONFIG_SLAB=y
104# CONFIG_SLUB is not set
105# CONFIG_SLOB is not set
106CONFIG_RT_MUTEXES=y
107# CONFIG_TINY_SHMEM is not set
108CONFIG_BASE_SMALL=0
109CONFIG_MODULES=y
110CONFIG_MODULE_UNLOAD=y
111# CONFIG_MODULE_FORCE_UNLOAD is not set
112# CONFIG_MODVERSIONS is not set
113# CONFIG_MODULE_SRCVERSION_ALL is not set
114CONFIG_KMOD=y
115CONFIG_BLOCK=y
116# CONFIG_LBD is not set
117# CONFIG_BLK_DEV_IO_TRACE is not set
118# CONFIG_LSF is not set
119# CONFIG_BLK_DEV_BSG is not set
120
121#
122# IO Schedulers
123#
124CONFIG_IOSCHED_NOOP=y
125CONFIG_IOSCHED_AS=y
126CONFIG_IOSCHED_DEADLINE=y
127CONFIG_IOSCHED_CFQ=y
128CONFIG_DEFAULT_AS=y
129# CONFIG_DEFAULT_DEADLINE is not set
130# CONFIG_DEFAULT_CFQ is not set
131# CONFIG_DEFAULT_NOOP is not set
132CONFIG_DEFAULT_IOSCHED="anticipatory"
133
134#
135# Platform support
136#
137# CONFIG_PPC_MPC52xx is not set
138# CONFIG_PPC_MPC5200 is not set
139# CONFIG_PPC_CELL is not set
140# CONFIG_PPC_CELL_NATIVE is not set
141# CONFIG_PQ2ADS is not set
142# CONFIG_BAMBOO is not set
143# CONFIG_EBONY is not set
144# CONFIG_SEQUOIA is not set
145# CONFIG_TAISHAN is not set
146# CONFIG_KATMAI is not set
147# CONFIG_RAINIER is not set
148CONFIG_WARP=y
149CONFIG_440EP=y
150CONFIG_IBM440EP_ERR42=y
151# CONFIG_MPIC is not set
152# CONFIG_MPIC_WEIRD is not set
153# CONFIG_PPC_I8259 is not set
154# CONFIG_PPC_RTAS is not set
155# CONFIG_MMIO_NVRAM is not set
156# CONFIG_PPC_MPC106 is not set
157# CONFIG_PPC_970_NAP is not set
158# CONFIG_PPC_INDIRECT_IO is not set
159# CONFIG_GENERIC_IOMAP is not set
160# CONFIG_CPU_FREQ is not set
161# CONFIG_CPM2 is not set
162# CONFIG_FSL_ULI1575 is not set
163
164#
165# Kernel options
166#
167# CONFIG_HIGHMEM is not set
168# CONFIG_TICK_ONESHOT is not set
169# CONFIG_NO_HZ is not set
170# CONFIG_HIGH_RES_TIMERS is not set
171CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
172# CONFIG_HZ_100 is not set
173# CONFIG_HZ_250 is not set
174# CONFIG_HZ_300 is not set
175CONFIG_HZ_1000=y
176CONFIG_HZ=1000
177CONFIG_PREEMPT_NONE=y
178# CONFIG_PREEMPT_VOLUNTARY is not set
179# CONFIG_PREEMPT is not set
180CONFIG_BINFMT_ELF=y
181# CONFIG_BINFMT_MISC is not set
182# CONFIG_MATH_EMULATION is not set
183CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
184CONFIG_ARCH_FLATMEM_ENABLE=y
185CONFIG_ARCH_POPULATES_NODE_MAP=y
186CONFIG_SELECT_MEMORY_MODEL=y
187CONFIG_FLATMEM_MANUAL=y
188# CONFIG_DISCONTIGMEM_MANUAL is not set
189# CONFIG_SPARSEMEM_MANUAL is not set
190CONFIG_FLATMEM=y
191CONFIG_FLAT_NODE_MEM_MAP=y
192# CONFIG_SPARSEMEM_STATIC is not set
193# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
194CONFIG_SPLIT_PTLOCK_CPUS=4
195CONFIG_RESOURCES_64BIT=y
196CONFIG_ZONE_DMA_FLAG=1
197CONFIG_BOUNCE=y
198CONFIG_VIRT_TO_BUS=y
199CONFIG_PROC_DEVICETREE=y
200CONFIG_CMDLINE_BOOL=y
201CONFIG_CMDLINE="ip=on"
202CONFIG_SECCOMP=y
203CONFIG_WANT_DEVICE_TREE=y
204CONFIG_DEVICE_TREE="warp.dts"
205CONFIG_ISA_DMA_API=y
206
207#
208# Bus options
209#
210CONFIG_ZONE_DMA=y
211# CONFIG_PCI is not set
212# CONFIG_PCI_DOMAINS is not set
213# CONFIG_PCI_SYSCALL is not set
214# CONFIG_ARCH_SUPPORTS_MSI is not set
215
216#
217# Advanced setup
218#
219# CONFIG_ADVANCED_OPTIONS is not set
220
221#
222# Default settings for advanced configuration options are used
223#
224CONFIG_HIGHMEM_START=0xfe000000
225CONFIG_LOWMEM_SIZE=0x30000000
226CONFIG_KERNEL_START=0xc0000000
227CONFIG_TASK_SIZE=0xc0000000
228CONFIG_CONSISTENT_START=0xff100000
229CONFIG_CONSISTENT_SIZE=0x00200000
230CONFIG_BOOT_LOAD=0x01000000
231
232#
233# Networking
234#
235CONFIG_NET=y
236
237#
238# Networking options
239#
240CONFIG_PACKET=y
241# CONFIG_PACKET_MMAP is not set
242CONFIG_UNIX=y
243CONFIG_XFRM=y
244# CONFIG_XFRM_USER is not set
245# CONFIG_XFRM_SUB_POLICY is not set
246# CONFIG_XFRM_MIGRATE is not set
247# CONFIG_NET_KEY is not set
248CONFIG_INET=y
249# CONFIG_IP_MULTICAST is not set
250# CONFIG_IP_ADVANCED_ROUTER is not set
251CONFIG_IP_FIB_HASH=y
252CONFIG_IP_PNP=y
253CONFIG_IP_PNP_DHCP=y
254# CONFIG_IP_PNP_BOOTP is not set
255# CONFIG_IP_PNP_RARP is not set
256# CONFIG_NET_IPIP is not set
257# CONFIG_NET_IPGRE is not set
258# CONFIG_ARPD is not set
259# CONFIG_SYN_COOKIES is not set
260# CONFIG_INET_AH is not set
261# CONFIG_INET_ESP is not set
262# CONFIG_INET_IPCOMP is not set
263# CONFIG_INET_XFRM_TUNNEL is not set
264# CONFIG_INET_TUNNEL is not set
265CONFIG_INET_XFRM_MODE_TRANSPORT=y
266CONFIG_INET_XFRM_MODE_TUNNEL=y
267CONFIG_INET_XFRM_MODE_BEET=y
268# CONFIG_INET_LRO is not set
269CONFIG_INET_DIAG=y
270CONFIG_INET_TCP_DIAG=y
271# CONFIG_TCP_CONG_ADVANCED is not set
272CONFIG_TCP_CONG_CUBIC=y
273CONFIG_DEFAULT_TCP_CONG="cubic"
274# CONFIG_TCP_MD5SIG is not set
275# CONFIG_IP_VS is not set
276# CONFIG_IPV6 is not set
277# CONFIG_INET6_XFRM_TUNNEL is not set
278# CONFIG_INET6_TUNNEL is not set
279# CONFIG_NETWORK_SECMARK is not set
280CONFIG_NETFILTER=y
281# CONFIG_NETFILTER_DEBUG is not set
282
283#
284# Core Netfilter Configuration
285#
286# CONFIG_NETFILTER_NETLINK is not set
287# CONFIG_NF_CONNTRACK_ENABLED is not set
288# CONFIG_NF_CONNTRACK is not set
289# CONFIG_NETFILTER_XTABLES is not set
290
291#
292# IP: Netfilter Configuration
293#
294# CONFIG_IP_NF_QUEUE is not set
295# CONFIG_IP_NF_IPTABLES is not set
296# CONFIG_IP_NF_ARPTABLES is not set
297# CONFIG_IP_DCCP is not set
298# CONFIG_IP_SCTP is not set
299# CONFIG_TIPC is not set
300# CONFIG_ATM is not set
301# CONFIG_BRIDGE is not set
302CONFIG_VLAN_8021Q=y
303# CONFIG_DECNET is not set
304# CONFIG_LLC2 is not set
305# CONFIG_IPX is not set
306# CONFIG_ATALK is not set
307# CONFIG_X25 is not set
308# CONFIG_LAPB is not set
309# CONFIG_ECONET is not set
310# CONFIG_WAN_ROUTER is not set
311# CONFIG_NET_SCHED is not set
312
313#
314# Network testing
315#
316# CONFIG_NET_PKTGEN is not set
317# CONFIG_HAMRADIO is not set
318# CONFIG_IRDA is not set
319# CONFIG_BT is not set
320# CONFIG_AF_RXRPC is not set
321
322#
323# Wireless
324#
325# CONFIG_CFG80211 is not set
326# CONFIG_WIRELESS_EXT is not set
327# CONFIG_MAC80211 is not set
328# CONFIG_IEEE80211 is not set
329# CONFIG_RFKILL is not set
330# CONFIG_NET_9P is not set
331
332#
333# Device Drivers
334#
335
336#
337# Generic Driver Options
338#
339# CONFIG_STANDALONE is not set
340CONFIG_PREVENT_FIRMWARE_BUILD=y
341# CONFIG_DEBUG_DRIVER is not set
342# CONFIG_DEBUG_DEVRES is not set
343# CONFIG_SYS_HYPERVISOR is not set
344# CONFIG_CONNECTOR is not set
345CONFIG_MTD=y
346# CONFIG_MTD_DEBUG is not set
347# CONFIG_MTD_CONCAT is not set
348CONFIG_MTD_PARTITIONS=y
349# CONFIG_MTD_REDBOOT_PARTS is not set
350# CONFIG_MTD_CMDLINE_PARTS is not set
351
352#
353# User Modules And Translation Layers
354#
355CONFIG_MTD_CHAR=y
356CONFIG_MTD_BLKDEVS=y
357CONFIG_MTD_BLOCK=y
358# CONFIG_FTL is not set
359# CONFIG_NFTL is not set
360# CONFIG_INFTL is not set
361# CONFIG_RFD_FTL is not set
362# CONFIG_SSFDC is not set
363CONFIG_MTD_OOPS=m
364
365#
366# RAM/ROM/Flash chip drivers
367#
368CONFIG_MTD_CFI=y
369# CONFIG_MTD_JEDECPROBE is not set
370CONFIG_MTD_GEN_PROBE=y
371# CONFIG_MTD_CFI_ADV_OPTIONS is not set
372CONFIG_MTD_MAP_BANK_WIDTH_1=y
373CONFIG_MTD_MAP_BANK_WIDTH_2=y
374CONFIG_MTD_MAP_BANK_WIDTH_4=y
375# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
376# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
377# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
378CONFIG_MTD_CFI_I1=y
379CONFIG_MTD_CFI_I2=y
380# CONFIG_MTD_CFI_I4 is not set
381# CONFIG_MTD_CFI_I8 is not set
382# CONFIG_MTD_CFI_INTELEXT is not set
383CONFIG_MTD_CFI_AMDSTD=y
384# CONFIG_MTD_CFI_STAA is not set
385CONFIG_MTD_CFI_UTIL=y
386# CONFIG_MTD_RAM is not set
387# CONFIG_MTD_ROM is not set
388# CONFIG_MTD_ABSENT is not set
389
390#
391# Mapping drivers for chip access
392#
393# CONFIG_MTD_COMPLEX_MAPPINGS is not set
394# CONFIG_MTD_PHYSMAP is not set
395CONFIG_MTD_PHYSMAP_OF=y
396# CONFIG_MTD_PLATRAM is not set
397
398#
399# Self-contained MTD device drivers
400#
401# CONFIG_MTD_SLRAM is not set
402# CONFIG_MTD_PHRAM is not set
403# CONFIG_MTD_MTDRAM is not set
404# CONFIG_MTD_BLOCK2MTD is not set
405
406#
407# Disk-On-Chip Device Drivers
408#
409# CONFIG_MTD_DOC2000 is not set
410# CONFIG_MTD_DOC2001 is not set
411# CONFIG_MTD_DOC2001PLUS is not set
412CONFIG_MTD_NAND=y
413# CONFIG_MTD_NAND_VERIFY_WRITE is not set
414CONFIG_MTD_NAND_ECC_SMC=y
415# CONFIG_MTD_NAND_MUSEUM_IDS is not set
416CONFIG_MTD_NAND_IDS=y
417CONFIG_MTD_NAND_NDFC=y
418# CONFIG_MTD_NAND_DISKONCHIP is not set
419# CONFIG_MTD_NAND_NANDSIM is not set
420# CONFIG_MTD_NAND_PLATFORM is not set
421# CONFIG_MTD_ALAUDA is not set
422# CONFIG_MTD_ONENAND is not set
423
424#
425# UBI - Unsorted block images
426#
427# CONFIG_MTD_UBI is not set
428CONFIG_OF_DEVICE=y
429# CONFIG_PARPORT is not set
430CONFIG_BLK_DEV=y
431# CONFIG_BLK_DEV_FD is not set
432# CONFIG_BLK_DEV_COW_COMMON is not set
433# CONFIG_BLK_DEV_LOOP is not set
434# CONFIG_BLK_DEV_NBD is not set
435# CONFIG_BLK_DEV_UB is not set
436CONFIG_BLK_DEV_RAM=y
437CONFIG_BLK_DEV_RAM_COUNT=16
438CONFIG_BLK_DEV_RAM_SIZE=4096
439CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
440# CONFIG_CDROM_PKTCDVD is not set
441# CONFIG_ATA_OVER_ETH is not set
442# CONFIG_XILINX_SYSACE is not set
443CONFIG_MISC_DEVICES=y
444# CONFIG_EEPROM_93CX6 is not set
445# CONFIG_IDE is not set
446
447#
448# SCSI device support
449#
450# CONFIG_RAID_ATTRS is not set
451CONFIG_SCSI=y
452CONFIG_SCSI_DMA=y
453# CONFIG_SCSI_TGT is not set
454# CONFIG_SCSI_NETLINK is not set
455CONFIG_SCSI_PROC_FS=y
456
457#
458# SCSI support type (disk, tape, CD-ROM)
459#
460CONFIG_BLK_DEV_SD=y
461# CONFIG_CHR_DEV_ST is not set
462# CONFIG_CHR_DEV_OSST is not set
463# CONFIG_BLK_DEV_SR is not set
464# CONFIG_CHR_DEV_SG is not set
465# CONFIG_CHR_DEV_SCH is not set
466
467#
468# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
469#
470# CONFIG_SCSI_MULTI_LUN is not set
471# CONFIG_SCSI_CONSTANTS is not set
472# CONFIG_SCSI_LOGGING is not set
473# CONFIG_SCSI_SCAN_ASYNC is not set
474# CONFIG_SCSI_WAIT_SCAN is not set
475
476#
477# SCSI Transports
478#
479CONFIG_SCSI_SPI_ATTRS=y
480# CONFIG_SCSI_FC_ATTRS is not set
481# CONFIG_SCSI_ISCSI_ATTRS is not set
482# CONFIG_SCSI_SAS_LIBSAS is not set
483# CONFIG_SCSI_SRP_ATTRS is not set
484# CONFIG_SCSI_LOWLEVEL is not set
485# CONFIG_ATA is not set
486# CONFIG_MD is not set
487# CONFIG_MACINTOSH_DRIVERS is not set
488CONFIG_NETDEVICES=y
489# CONFIG_NETDEVICES_MULTIQUEUE is not set
490# CONFIG_DUMMY is not set
491# CONFIG_BONDING is not set
492# CONFIG_MACVLAN is not set
493# CONFIG_EQUALIZER is not set
494# CONFIG_TUN is not set
495# CONFIG_VETH is not set
496# CONFIG_PHYLIB is not set
497CONFIG_NET_ETHERNET=y
498CONFIG_MII=y
499CONFIG_IBM_NEW_EMAC=y
500CONFIG_IBM_NEW_EMAC_RXB=128
501CONFIG_IBM_NEW_EMAC_TXB=64
502CONFIG_IBM_NEW_EMAC_POLL_WEIGHT=32
503CONFIG_IBM_NEW_EMAC_RX_COPY_THRESHOLD=256
504CONFIG_IBM_NEW_EMAC_RX_SKB_HEADROOM=0
505# CONFIG_IBM_NEW_EMAC_DEBUG is not set
506CONFIG_IBM_NEW_EMAC_ZMII=y
507# CONFIG_IBM_NEW_EMAC_RGMII is not set
508# CONFIG_IBM_NEW_EMAC_TAH is not set
509# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
510# CONFIG_B44 is not set
511# CONFIG_NETDEV_1000 is not set
512# CONFIG_NETDEV_10000 is not set
513
514#
515# Wireless LAN
516#
517# CONFIG_WLAN_PRE80211 is not set
518# CONFIG_WLAN_80211 is not set
519
520#
521# USB Network Adapters
522#
523# CONFIG_USB_CATC is not set
524# CONFIG_USB_KAWETH is not set
525# CONFIG_USB_PEGASUS is not set
526# CONFIG_USB_RTL8150 is not set
527# CONFIG_USB_USBNET is not set
528# CONFIG_WAN is not set
529# CONFIG_PPP is not set
530# CONFIG_SLIP is not set
531# CONFIG_SHAPER is not set
532# CONFIG_NETCONSOLE is not set
533# CONFIG_NETPOLL is not set
534# CONFIG_NET_POLL_CONTROLLER is not set
535# CONFIG_ISDN is not set
536# CONFIG_PHONE is not set
537
538#
539# Input device support
540#
541# CONFIG_INPUT is not set
542
543#
544# Hardware I/O ports
545#
546# CONFIG_SERIO is not set
547# CONFIG_GAMEPORT is not set
548
549#
550# Character devices
551#
552# CONFIG_VT is not set
553# CONFIG_SERIAL_NONSTANDARD is not set
554
555#
556# Serial drivers
557#
558CONFIG_SERIAL_8250=y
559CONFIG_SERIAL_8250_CONSOLE=y
560CONFIG_SERIAL_8250_NR_UARTS=4
561CONFIG_SERIAL_8250_RUNTIME_UARTS=4
562CONFIG_SERIAL_8250_EXTENDED=y
563# CONFIG_SERIAL_8250_MANY_PORTS is not set
564CONFIG_SERIAL_8250_SHARE_IRQ=y
565# CONFIG_SERIAL_8250_DETECT_IRQ is not set
566# CONFIG_SERIAL_8250_RSA is not set
567
568#
569# Non-8250 serial port support
570#
571# CONFIG_SERIAL_UARTLITE is not set
572CONFIG_SERIAL_CORE=y
573CONFIG_SERIAL_CORE_CONSOLE=y
574# CONFIG_SERIAL_OF_PLATFORM is not set
575CONFIG_UNIX98_PTYS=y
576CONFIG_LEGACY_PTYS=y
577CONFIG_LEGACY_PTY_COUNT=256
578# CONFIG_IPMI_HANDLER is not set
579CONFIG_HW_RANDOM=y
580# CONFIG_NVRAM is not set
581# CONFIG_GEN_RTC is not set
582# CONFIG_R3964 is not set
583# CONFIG_RAW_DRIVER is not set
584# CONFIG_TCG_TPM is not set
585CONFIG_I2C=y
586CONFIG_I2C_BOARDINFO=y
587# CONFIG_I2C_CHARDEV is not set
588
589#
590# I2C Algorithms
591#
592# CONFIG_I2C_ALGOBIT is not set
593# CONFIG_I2C_ALGOPCF is not set
594# CONFIG_I2C_ALGOPCA is not set
595
596#
597# I2C Hardware Bus support
598#
599CONFIG_I2C_IBM_IIC=y
600# CONFIG_I2C_MPC is not set
601# CONFIG_I2C_OCORES is not set
602# CONFIG_I2C_PARPORT_LIGHT is not set
603# CONFIG_I2C_SIMTEC is not set
604# CONFIG_I2C_TAOS_EVM is not set
605# CONFIG_I2C_STUB is not set
606# CONFIG_I2C_TINY_USB is not set
607
608#
609# Miscellaneous I2C Chip support
610#
611# CONFIG_SENSORS_DS1337 is not set
612# CONFIG_SENSORS_DS1374 is not set
613# CONFIG_DS1682 is not set
614CONFIG_SENSORS_EEPROM=y
615# CONFIG_SENSORS_PCF8574 is not set
616# CONFIG_SENSORS_PCA9539 is not set
617# CONFIG_SENSORS_PCF8591 is not set
618# CONFIG_SENSORS_M41T00 is not set
619# CONFIG_SENSORS_MAX6875 is not set
620# CONFIG_SENSORS_TSL2550 is not set
621# CONFIG_I2C_DEBUG_CORE is not set
622# CONFIG_I2C_DEBUG_ALGO is not set
623# CONFIG_I2C_DEBUG_BUS is not set
624# CONFIG_I2C_DEBUG_CHIP is not set
625
626#
627# SPI support
628#
629# CONFIG_SPI is not set
630# CONFIG_SPI_MASTER is not set
631# CONFIG_W1 is not set
632# CONFIG_POWER_SUPPLY is not set
633CONFIG_HWMON=y
634# CONFIG_HWMON_VID is not set
635CONFIG_SENSORS_AD7414=y
636# CONFIG_SENSORS_AD7418 is not set
637# CONFIG_SENSORS_ADM1021 is not set
638# CONFIG_SENSORS_ADM1025 is not set
639# CONFIG_SENSORS_ADM1026 is not set
640# CONFIG_SENSORS_ADM1029 is not set
641# CONFIG_SENSORS_ADM1031 is not set
642# CONFIG_SENSORS_ADM9240 is not set
643# CONFIG_SENSORS_ADT7470 is not set
644# CONFIG_SENSORS_ATXP1 is not set
645# CONFIG_SENSORS_DS1621 is not set
646# CONFIG_SENSORS_F71805F is not set
647# CONFIG_SENSORS_F71882FG is not set
648# CONFIG_SENSORS_F75375S is not set
649# CONFIG_SENSORS_GL518SM is not set
650# CONFIG_SENSORS_GL520SM is not set
651# CONFIG_SENSORS_IT87 is not set
652# CONFIG_SENSORS_LM63 is not set
653# CONFIG_SENSORS_LM75 is not set
654# CONFIG_SENSORS_LM77 is not set
655# CONFIG_SENSORS_LM78 is not set
656# CONFIG_SENSORS_LM80 is not set
657# CONFIG_SENSORS_LM83 is not set
658# CONFIG_SENSORS_LM85 is not set
659# CONFIG_SENSORS_LM87 is not set
660# CONFIG_SENSORS_LM90 is not set
661# CONFIG_SENSORS_LM92 is not set
662# CONFIG_SENSORS_LM93 is not set
663# CONFIG_SENSORS_MAX1619 is not set
664# CONFIG_SENSORS_MAX6650 is not set
665# CONFIG_SENSORS_PC87360 is not set
666# CONFIG_SENSORS_PC87427 is not set
667# CONFIG_SENSORS_DME1737 is not set
668# CONFIG_SENSORS_SMSC47M1 is not set
669# CONFIG_SENSORS_SMSC47M192 is not set
670# CONFIG_SENSORS_SMSC47B397 is not set
671# CONFIG_SENSORS_THMC50 is not set
672# CONFIG_SENSORS_VT1211 is not set
673# CONFIG_SENSORS_W83781D is not set
674# CONFIG_SENSORS_W83791D is not set
675# CONFIG_SENSORS_W83792D is not set
676# CONFIG_SENSORS_W83793 is not set
677# CONFIG_SENSORS_W83L785TS is not set
678# CONFIG_SENSORS_W83627HF is not set
679# CONFIG_SENSORS_W83627EHF is not set
680# CONFIG_HWMON_DEBUG_CHIP is not set
681# CONFIG_WATCHDOG is not set
682
683#
684# Sonics Silicon Backplane
685#
686CONFIG_SSB_POSSIBLE=y
687# CONFIG_SSB is not set
688
689#
690# Multifunction device drivers
691#
692# CONFIG_MFD_SM501 is not set
693
694#
695# Multimedia devices
696#
697# CONFIG_VIDEO_DEV is not set
698# CONFIG_DVB_CORE is not set
699# CONFIG_DAB is not set
700
701#
702# Graphics support
703#
704# CONFIG_VGASTATE is not set
705# CONFIG_VIDEO_OUTPUT_CONTROL is not set
706# CONFIG_FB is not set
707# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
708
709#
710# Display device support
711#
712# CONFIG_DISPLAY_SUPPORT is not set
713
714#
715# Sound
716#
717# CONFIG_SOUND is not set
718CONFIG_USB_SUPPORT=y
719CONFIG_USB_ARCH_HAS_HCD=y
720CONFIG_USB_ARCH_HAS_OHCI=y
721# CONFIG_USB_ARCH_HAS_EHCI is not set
722CONFIG_USB=y
723# CONFIG_USB_DEBUG is not set
724
725#
726# Miscellaneous USB options
727#
728# CONFIG_USB_DEVICEFS is not set
729CONFIG_USB_DEVICE_CLASS=y
730# CONFIG_USB_DYNAMIC_MINORS is not set
731# CONFIG_USB_OTG is not set
732
733#
734# USB Host Controller Drivers
735#
736# CONFIG_USB_ISP116X_HCD is not set
737CONFIG_USB_OHCI_HCD=y
738CONFIG_USB_OHCI_HCD_PPC_OF=y
739CONFIG_USB_OHCI_HCD_PPC_OF_BE=y
740# CONFIG_USB_OHCI_HCD_PPC_OF_LE is not set
741CONFIG_USB_OHCI_BIG_ENDIAN_DESC=y
742CONFIG_USB_OHCI_BIG_ENDIAN_MMIO=y
743CONFIG_USB_OHCI_LITTLE_ENDIAN=y
744# CONFIG_USB_SL811_HCD is not set
745# CONFIG_USB_R8A66597_HCD is not set
746
747#
748# USB Device Class drivers
749#
750# CONFIG_USB_ACM is not set
751# CONFIG_USB_PRINTER is not set
752
753#
754# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
755#
756
757#
758# may also be needed; see USB_STORAGE Help for more information
759#
760CONFIG_USB_STORAGE=y
761# CONFIG_USB_STORAGE_DEBUG is not set
762# CONFIG_USB_STORAGE_DATAFAB is not set
763# CONFIG_USB_STORAGE_FREECOM is not set
764# CONFIG_USB_STORAGE_ISD200 is not set
765# CONFIG_USB_STORAGE_DPCM is not set
766# CONFIG_USB_STORAGE_USBAT is not set
767# CONFIG_USB_STORAGE_SDDR09 is not set
768# CONFIG_USB_STORAGE_SDDR55 is not set
769# CONFIG_USB_STORAGE_JUMPSHOT is not set
770# CONFIG_USB_STORAGE_ALAUDA is not set
771# CONFIG_USB_STORAGE_KARMA is not set
772# CONFIG_USB_LIBUSUAL is not set
773
774#
775# USB Imaging devices
776#
777# CONFIG_USB_MDC800 is not set
778# CONFIG_USB_MICROTEK is not set
779CONFIG_USB_MON=y
780
781#
782# USB port drivers
783#
784
785#
786# USB Serial Converter support
787#
788# CONFIG_USB_SERIAL is not set
789
790#
791# USB Miscellaneous drivers
792#
793# CONFIG_USB_EMI62 is not set
794# CONFIG_USB_EMI26 is not set
795# CONFIG_USB_ADUTUX is not set
796# CONFIG_USB_AUERSWALD is not set
797# CONFIG_USB_RIO500 is not set
798# CONFIG_USB_LEGOTOWER is not set
799# CONFIG_USB_LCD is not set
800# CONFIG_USB_BERRY_CHARGE is not set
801# CONFIG_USB_LED is not set
802# CONFIG_USB_CYPRESS_CY7C63 is not set
803# CONFIG_USB_CYTHERM is not set
804# CONFIG_USB_PHIDGET is not set
805# CONFIG_USB_IDMOUSE is not set
806# CONFIG_USB_FTDI_ELAN is not set
807# CONFIG_USB_APPLEDISPLAY is not set
808# CONFIG_USB_LD is not set
809# CONFIG_USB_TRANCEVIBRATOR is not set
810# CONFIG_USB_IOWARRIOR is not set
811
812#
813# USB DSL modem support
814#
815
816#
817# USB Gadget Support
818#
819# CONFIG_USB_GADGET is not set
820CONFIG_MMC=m
821# CONFIG_MMC_DEBUG is not set
822# CONFIG_MMC_UNSAFE_RESUME is not set
823
824#
825# MMC/SD Card Drivers
826#
827CONFIG_MMC_BLOCK=m
828CONFIG_MMC_BLOCK_BOUNCE=y
829# CONFIG_SDIO_UART is not set
830
831#
832# MMC/SD Host Controller Drivers
833#
834# CONFIG_MMC_WBSD is not set
835# CONFIG_NEW_LEDS is not set
836# CONFIG_EDAC is not set
837# CONFIG_RTC_CLASS is not set
838
839#
840# Userspace I/O
841#
842# CONFIG_UIO is not set
843
844#
845# File systems
846#
847CONFIG_EXT2_FS=y
848# CONFIG_EXT2_FS_XATTR is not set
849# CONFIG_EXT2_FS_XIP is not set
850# CONFIG_EXT3_FS is not set
851# CONFIG_EXT4DEV_FS is not set
852# CONFIG_REISERFS_FS is not set
853# CONFIG_JFS_FS is not set
854# CONFIG_FS_POSIX_ACL is not set
855# CONFIG_XFS_FS is not set
856# CONFIG_GFS2_FS is not set
857# CONFIG_OCFS2_FS is not set
858# CONFIG_MINIX_FS is not set
859# CONFIG_ROMFS_FS is not set
860CONFIG_INOTIFY=y
861CONFIG_INOTIFY_USER=y
862# CONFIG_QUOTA is not set
863CONFIG_DNOTIFY=y
864# CONFIG_AUTOFS_FS is not set
865# CONFIG_AUTOFS4_FS is not set
866# CONFIG_FUSE_FS is not set
867
868#
869# CD-ROM/DVD Filesystems
870#
871# CONFIG_ISO9660_FS is not set
872# CONFIG_UDF_FS is not set
873
874#
875# DOS/FAT/NT Filesystems
876#
877CONFIG_FAT_FS=y
878CONFIG_MSDOS_FS=y
879CONFIG_VFAT_FS=y
880CONFIG_FAT_DEFAULT_CODEPAGE=437
881CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
882# CONFIG_NTFS_FS is not set
883
884#
885# Pseudo filesystems
886#
887CONFIG_PROC_FS=y
888CONFIG_PROC_KCORE=y
889CONFIG_PROC_SYSCTL=y
890CONFIG_SYSFS=y
891# CONFIG_TMPFS is not set
892# CONFIG_HUGETLB_PAGE is not set
893# CONFIG_CONFIGFS_FS is not set
894
895#
896# Miscellaneous filesystems
897#
898# CONFIG_ADFS_FS is not set
899# CONFIG_AFFS_FS is not set
900# CONFIG_HFS_FS is not set
901# CONFIG_HFSPLUS_FS is not set
902# CONFIG_BEFS_FS is not set
903# CONFIG_BFS_FS is not set
904# CONFIG_EFS_FS is not set
905CONFIG_JFFS2_FS=y
906CONFIG_JFFS2_FS_DEBUG=0
907CONFIG_JFFS2_FS_WRITEBUFFER=y
908# CONFIG_JFFS2_FS_WBUF_VERIFY is not set
909# CONFIG_JFFS2_SUMMARY is not set
910# CONFIG_JFFS2_FS_XATTR is not set
911# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
912CONFIG_JFFS2_ZLIB=y
913# CONFIG_JFFS2_LZO is not set
914CONFIG_JFFS2_RTIME=y
915# CONFIG_JFFS2_RUBIN is not set
916CONFIG_CRAMFS=y
917# CONFIG_VXFS_FS is not set
918# CONFIG_HPFS_FS is not set
919# CONFIG_QNX4FS_FS is not set
920# CONFIG_SYSV_FS is not set
921# CONFIG_UFS_FS is not set
922CONFIG_NETWORK_FILESYSTEMS=y
923CONFIG_NFS_FS=y
924CONFIG_NFS_V3=y
925# CONFIG_NFS_V3_ACL is not set
926# CONFIG_NFS_V4 is not set
927# CONFIG_NFS_DIRECTIO is not set
928# CONFIG_NFSD is not set
929CONFIG_ROOT_NFS=y
930CONFIG_LOCKD=y
931CONFIG_LOCKD_V4=y
932CONFIG_NFS_COMMON=y
933CONFIG_SUNRPC=y
934# CONFIG_SUNRPC_BIND34 is not set
935# CONFIG_RPCSEC_GSS_KRB5 is not set
936# CONFIG_RPCSEC_GSS_SPKM3 is not set
937# CONFIG_SMB_FS is not set
938# CONFIG_CIFS is not set
939# CONFIG_NCP_FS is not set
940# CONFIG_CODA_FS is not set
941# CONFIG_AFS_FS is not set
942
943#
944# Partition Types
945#
946# CONFIG_PARTITION_ADVANCED is not set
947CONFIG_MSDOS_PARTITION=y
948CONFIG_NLS=y
949CONFIG_NLS_DEFAULT="iso8859-1"
950CONFIG_NLS_CODEPAGE_437=y
951# CONFIG_NLS_CODEPAGE_737 is not set
952# CONFIG_NLS_CODEPAGE_775 is not set
953CONFIG_NLS_CODEPAGE_850=y
954# CONFIG_NLS_CODEPAGE_852 is not set
955# CONFIG_NLS_CODEPAGE_855 is not set
956# CONFIG_NLS_CODEPAGE_857 is not set
957# CONFIG_NLS_CODEPAGE_860 is not set
958# CONFIG_NLS_CODEPAGE_861 is not set
959# CONFIG_NLS_CODEPAGE_862 is not set
960# CONFIG_NLS_CODEPAGE_863 is not set
961# CONFIG_NLS_CODEPAGE_864 is not set
962# CONFIG_NLS_CODEPAGE_865 is not set
963# CONFIG_NLS_CODEPAGE_866 is not set
964# CONFIG_NLS_CODEPAGE_869 is not set
965# CONFIG_NLS_CODEPAGE_936 is not set
966# CONFIG_NLS_CODEPAGE_950 is not set
967# CONFIG_NLS_CODEPAGE_932 is not set
968# CONFIG_NLS_CODEPAGE_949 is not set
969# CONFIG_NLS_CODEPAGE_874 is not set
970# CONFIG_NLS_ISO8859_8 is not set
971# CONFIG_NLS_CODEPAGE_1250 is not set
972# CONFIG_NLS_CODEPAGE_1251 is not set
973CONFIG_NLS_ASCII=y
974CONFIG_NLS_ISO8859_1=y
975# CONFIG_NLS_ISO8859_2 is not set
976# CONFIG_NLS_ISO8859_3 is not set
977# CONFIG_NLS_ISO8859_4 is not set
978# CONFIG_NLS_ISO8859_5 is not set
979# CONFIG_NLS_ISO8859_6 is not set
980# CONFIG_NLS_ISO8859_7 is not set
981# CONFIG_NLS_ISO8859_9 is not set
982# CONFIG_NLS_ISO8859_13 is not set
983# CONFIG_NLS_ISO8859_14 is not set
984CONFIG_NLS_ISO8859_15=y
985# CONFIG_NLS_KOI8_R is not set
986# CONFIG_NLS_KOI8_U is not set
987CONFIG_NLS_UTF8=y
988# CONFIG_DLM is not set
989# CONFIG_UCC_SLOW is not set
990
991#
992# Library routines
993#
994CONFIG_BITREVERSE=y
995CONFIG_CRC_CCITT=y
996# CONFIG_CRC16 is not set
997# CONFIG_CRC_ITU_T is not set
998CONFIG_CRC32=y
999# CONFIG_CRC7 is not set
1000# CONFIG_LIBCRC32C is not set
1001CONFIG_ZLIB_INFLATE=y
1002CONFIG_ZLIB_DEFLATE=y
1003CONFIG_PLIST=y
1004CONFIG_HAS_IOMEM=y
1005CONFIG_HAS_IOPORT=y
1006CONFIG_HAS_DMA=y
1007# CONFIG_INSTRUMENTATION is not set
1008
1009#
1010# Kernel hacking
1011#
1012# CONFIG_PRINTK_TIME is not set
1013CONFIG_ENABLE_WARN_DEPRECATED=y
1014CONFIG_ENABLE_MUST_CHECK=y
1015CONFIG_MAGIC_SYSRQ=y
1016# CONFIG_UNUSED_SYMBOLS is not set
1017# CONFIG_DEBUG_FS is not set
1018# CONFIG_HEADERS_CHECK is not set
1019CONFIG_DEBUG_KERNEL=y
1020# CONFIG_DEBUG_SHIRQ is not set
1021CONFIG_DETECT_SOFTLOCKUP=y
1022# CONFIG_SCHED_DEBUG is not set
1023# CONFIG_SCHEDSTATS is not set
1024# CONFIG_TIMER_STATS is not set
1025# CONFIG_DEBUG_SLAB is not set
1026# CONFIG_DEBUG_RT_MUTEXES is not set
1027# CONFIG_RT_MUTEX_TESTER is not set
1028# CONFIG_DEBUG_SPINLOCK is not set
1029# CONFIG_DEBUG_MUTEXES is not set
1030# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
1031# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
1032# CONFIG_DEBUG_KOBJECT is not set
1033# CONFIG_DEBUG_BUGVERBOSE is not set
1034CONFIG_DEBUG_INFO=y
1035# CONFIG_DEBUG_VM is not set
1036# CONFIG_DEBUG_LIST is not set
1037# CONFIG_DEBUG_SG is not set
1038CONFIG_FORCED_INLINING=y
1039# CONFIG_BOOT_PRINTK_DELAY is not set
1040# CONFIG_RCU_TORTURE_TEST is not set
1041# CONFIG_FAULT_INJECTION is not set
1042# CONFIG_SAMPLES is not set
1043# CONFIG_DEBUG_STACKOVERFLOW is not set
1044# CONFIG_DEBUG_STACK_USAGE is not set
1045# CONFIG_DEBUG_PAGEALLOC is not set
1046# CONFIG_DEBUGGER is not set
1047CONFIG_BDI_SWITCH=y
1048# CONFIG_PPC_EARLY_DEBUG is not set
1049
1050#
1051# Security options
1052#
1053# CONFIG_KEYS is not set
1054# CONFIG_SECURITY is not set
1055# CONFIG_SECURITY_FILE_CAPABILITIES is not set
1056# CONFIG_CRYPTO is not set
1057# CONFIG_PPC_CLOCK is not set
diff --git a/arch/powerpc/kernel/cputable.c b/arch/powerpc/kernel/cputable.c
index f1928af5fcfc..a4c2771b5e62 100644
--- a/arch/powerpc/kernel/cputable.c
+++ b/arch/powerpc/kernel/cputable.c
@@ -1178,8 +1178,8 @@ static struct cpu_spec __initdata cpu_specs[] = {
1178 .platform = "ppc405", 1178 .platform = "ppc405",
1179 }, 1179 },
1180 { /* 405EX */ 1180 { /* 405EX */
1181 .pvr_mask = 0xffff0000, 1181 .pvr_mask = 0xffff0004,
1182 .pvr_value = 0x12910000, 1182 .pvr_value = 0x12910004,
1183 .cpu_name = "405EX", 1183 .cpu_name = "405EX",
1184 .cpu_features = CPU_FTRS_40X, 1184 .cpu_features = CPU_FTRS_40X,
1185 .cpu_user_features = PPC_FEATURE_32 | 1185 .cpu_user_features = PPC_FEATURE_32 |
@@ -1189,6 +1189,18 @@ static struct cpu_spec __initdata cpu_specs[] = {
1189 .machine_check = machine_check_4xx, 1189 .machine_check = machine_check_4xx,
1190 .platform = "ppc405", 1190 .platform = "ppc405",
1191 }, 1191 },
1192 { /* 405EXr */
1193 .pvr_mask = 0xffff0004,
1194 .pvr_value = 0x12910000,
1195 .cpu_name = "405EXr",
1196 .cpu_features = CPU_FTRS_40X,
1197 .cpu_user_features = PPC_FEATURE_32 |
1198 PPC_FEATURE_HAS_MMU | PPC_FEATURE_HAS_4xxMAC,
1199 .icache_bsize = 32,
1200 .dcache_bsize = 32,
1201 .machine_check = machine_check_4xx,
1202 .platform = "ppc405",
1203 },
1192 1204
1193#endif /* CONFIG_40x */ 1205#endif /* CONFIG_40x */
1194#ifdef CONFIG_44x 1206#ifdef CONFIG_44x
@@ -1226,6 +1238,18 @@ static struct cpu_spec __initdata cpu_specs[] = {
1226 .machine_check = machine_check_4xx, 1238 .machine_check = machine_check_4xx,
1227 .platform = "ppc440", 1239 .platform = "ppc440",
1228 }, 1240 },
1241 { /* Matches both physical and logical PVR for 440EP (logical pvr = pvr | 0x8) */
1242 .pvr_mask = 0xf0000ff7,
1243 .pvr_value = 0x400008d4,
1244 .cpu_name = "440EP Rev. C",
1245 .cpu_features = CPU_FTRS_44X,
1246 .cpu_user_features = COMMON_USER_BOOKE | PPC_FEATURE_HAS_FPU,
1247 .icache_bsize = 32,
1248 .dcache_bsize = 32,
1249 .cpu_setup = __setup_cpu_440ep,
1250 .machine_check = machine_check_4xx,
1251 .platform = "ppc440",
1252 },
1229 { /* Use logical PVR for 440EP (logical pvr = pvr | 0x8) */ 1253 { /* Use logical PVR for 440EP (logical pvr = pvr | 0x8) */
1230 .pvr_mask = 0xf0000fff, 1254 .pvr_mask = 0xf0000fff,
1231 .pvr_value = 0x400008db, 1255 .pvr_value = 0x400008db,
diff --git a/arch/powerpc/platforms/40x/walnut.c b/arch/powerpc/platforms/40x/walnut.c
index f115b6dbf5ad..5d9edd917f92 100644
--- a/arch/powerpc/platforms/40x/walnut.c
+++ b/arch/powerpc/platforms/40x/walnut.c
@@ -36,6 +36,7 @@ static __initdata struct of_device_id walnut_of_bus[] = {
36static int __init walnut_device_probe(void) 36static int __init walnut_device_probe(void)
37{ 37{
38 of_platform_bus_probe(NULL, walnut_of_bus, NULL); 38 of_platform_bus_probe(NULL, walnut_of_bus, NULL);
39 of_instantiate_rtc();
39 40
40 return 0; 41 return 0;
41} 42}
diff --git a/arch/powerpc/platforms/44x/Kconfig b/arch/powerpc/platforms/44x/Kconfig
index d24801305344..c062c4cbbed5 100644
--- a/arch/powerpc/platforms/44x/Kconfig
+++ b/arch/powerpc/platforms/44x/Kconfig
@@ -13,6 +13,7 @@ config EBONY
13 default y 13 default y
14 select 440GP 14 select 440GP
15 select PCI 15 select PCI
16 select OF_RTC
16 help 17 help
17 This option enables support for the IBM PPC440GP evaluation board. 18 This option enables support for the IBM PPC440GP evaluation board.
18 19
@@ -53,6 +54,19 @@ config RAINIER
53 help 54 help
54 This option enables support for the AMCC PPC440GRX evaluation board. 55 This option enables support for the AMCC PPC440GRX evaluation board.
55 56
57config WARP
58 bool "PIKA Warp"
59 depends on 44x
60 default n
61 select 440EP
62 help
63 This option enables support for the PIKA Warp(tm) Appliance. The Warp
64 is a small computer replacement with up to 9 ports of FXO/FXS plus VOIP
65 stations and trunks.
66
67 See http://www.pikatechnologies.com/ and follow the "PIKA for Computer
68 Telephony Developers" link for more information.
69
56#config LUAN 70#config LUAN
57# bool "Luan" 71# bool "Luan"
58# depends on 44x 72# depends on 44x
@@ -75,6 +89,7 @@ config 440EP
75 select PPC_FPU 89 select PPC_FPU
76 select IBM440EP_ERR42 90 select IBM440EP_ERR42
77 select IBM_NEW_EMAC_ZMII 91 select IBM_NEW_EMAC_ZMII
92 select USB_ARCH_HAS_OHCI
78 93
79config 440EPX 94config 440EPX
80 bool 95 bool
diff --git a/arch/powerpc/platforms/44x/Makefile b/arch/powerpc/platforms/44x/Makefile
index a2a0dc13e9e9..0864d4f1cbc2 100644
--- a/arch/powerpc/platforms/44x/Makefile
+++ b/arch/powerpc/platforms/44x/Makefile
@@ -5,3 +5,5 @@ obj-$(CONFIG_BAMBOO) += bamboo.o
5obj-$(CONFIG_SEQUOIA) += sequoia.o 5obj-$(CONFIG_SEQUOIA) += sequoia.o
6obj-$(CONFIG_KATMAI) += katmai.o 6obj-$(CONFIG_KATMAI) += katmai.o
7obj-$(CONFIG_RAINIER) += rainier.o 7obj-$(CONFIG_RAINIER) += rainier.o
8obj-$(CONFIG_WARP) += warp.o
9obj-$(CONFIG_WARP) += warp-nand.o
diff --git a/arch/powerpc/platforms/44x/ebony.c b/arch/powerpc/platforms/44x/ebony.c
index 481a016e1535..1a8d467bff85 100644
--- a/arch/powerpc/platforms/44x/ebony.c
+++ b/arch/powerpc/platforms/44x/ebony.c
@@ -18,6 +18,7 @@
18 18
19#include <linux/init.h> 19#include <linux/init.h>
20#include <linux/of_platform.h> 20#include <linux/of_platform.h>
21#include <linux/rtc.h>
21 22
22#include <asm/machdep.h> 23#include <asm/machdep.h>
23#include <asm/prom.h> 24#include <asm/prom.h>
@@ -38,6 +39,7 @@ static __initdata struct of_device_id ebony_of_bus[] = {
38static int __init ebony_device_probe(void) 39static int __init ebony_device_probe(void)
39{ 40{
40 of_platform_bus_probe(NULL, ebony_of_bus, NULL); 41 of_platform_bus_probe(NULL, ebony_of_bus, NULL);
42 of_instantiate_rtc();
41 43
42 return 0; 44 return 0;
43} 45}
diff --git a/arch/powerpc/platforms/44x/warp-nand.c b/arch/powerpc/platforms/44x/warp-nand.c
new file mode 100644
index 000000000000..84ab78ff8c03
--- /dev/null
+++ b/arch/powerpc/platforms/44x/warp-nand.c
@@ -0,0 +1,105 @@
1/*
2 * PIKA Warp(tm) NAND flash specific routines
3 *
4 * Copyright (c) 2008 PIKA Technologies
5 * Sean MacLennan <smaclennan@pikatech.com>
6 */
7
8#include <linux/platform_device.h>
9#include <linux/mtd/mtd.h>
10#include <linux/mtd/map.h>
11#include <linux/mtd/partitions.h>
12#include <linux/mtd/nand.h>
13#include <linux/mtd/ndfc.h>
14
15#ifdef CONFIG_MTD_NAND_NDFC
16
17#define CS_NAND_0 1 /* use chip select 1 for NAND device 0 */
18
19#define WARP_NAND_FLASH_REG_ADDR 0xD0000000UL
20#define WARP_NAND_FLASH_REG_SIZE 0x2000
21
22static struct resource warp_ndfc = {
23 .start = WARP_NAND_FLASH_REG_ADDR,
24 .end = WARP_NAND_FLASH_REG_ADDR + WARP_NAND_FLASH_REG_SIZE,
25 .flags = IORESOURCE_MEM,
26};
27
28static struct mtd_partition nand_parts[] = {
29 {
30 .name = "kernel",
31 .offset = 0,
32 .size = 0x0200000
33 },
34 {
35 .name = "root",
36 .offset = 0x0200000,
37 .size = 0x3400000
38 },
39 {
40 .name = "user",
41 .offset = 0x3600000,
42 .size = 0x0A00000
43 },
44};
45
46struct ndfc_controller_settings warp_ndfc_settings = {
47 .ccr_settings = (NDFC_CCR_BS(CS_NAND_0) | NDFC_CCR_ARAC1),
48 .ndfc_erpn = 0,
49};
50
51static struct ndfc_chip_settings warp_chip0_settings = {
52 .bank_settings = 0x80002222,
53};
54
55struct platform_nand_ctrl warp_nand_ctrl = {
56 .priv = &warp_ndfc_settings,
57};
58
59static struct platform_device warp_ndfc_device = {
60 .name = "ndfc-nand",
61 .id = 0,
62 .dev = {
63 .platform_data = &warp_nand_ctrl,
64 },
65 .num_resources = 1,
66 .resource = &warp_ndfc,
67};
68
69static struct nand_ecclayout nand_oob_16 = {
70 .eccbytes = 3,
71 .eccpos = { 0, 1, 2, 3, 6, 7 },
72 .oobfree = { {.offset = 8, .length = 16} }
73};
74
75static struct platform_nand_chip warp_nand_chip0 = {
76 .nr_chips = 1,
77 .chip_offset = CS_NAND_0,
78 .nr_partitions = ARRAY_SIZE(nand_parts),
79 .partitions = nand_parts,
80 .chip_delay = 50,
81 .ecclayout = &nand_oob_16,
82 .priv = &warp_chip0_settings,
83};
84
85static struct platform_device warp_nand_device = {
86 .name = "ndfc-chip",
87 .id = 0,
88 .num_resources = 1,
89 .resource = &warp_ndfc,
90 .dev = {
91 .platform_data = &warp_nand_chip0,
92 .parent = &warp_ndfc_device.dev,
93 }
94};
95
96static int warp_setup_nand_flash(void)
97{
98 platform_device_register(&warp_ndfc_device);
99 platform_device_register(&warp_nand_device);
100
101 return 0;
102}
103device_initcall(warp_setup_nand_flash);
104
105#endif
diff --git a/arch/powerpc/platforms/44x/warp.c b/arch/powerpc/platforms/44x/warp.c
new file mode 100644
index 000000000000..8f01563dbd2a
--- /dev/null
+++ b/arch/powerpc/platforms/44x/warp.c
@@ -0,0 +1,153 @@
1/*
2 * PIKA Warp(tm) board specific routines
3 *
4 * Copyright (c) 2008 PIKA Technologies
5 * Sean MacLennan <smaclennan@pikatech.com>
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#include <linux/init.h>
13#include <linux/of_platform.h>
14#include <linux/kthread.h>
15
16#include <asm/machdep.h>
17#include <asm/prom.h>
18#include <asm/udbg.h>
19#include <asm/time.h>
20#include <asm/uic.h>
21
22#include "44x.h"
23
24
25static __initdata struct of_device_id warp_of_bus[] = {
26 { .compatible = "ibm,plb4", },
27 { .compatible = "ibm,opb", },
28 { .compatible = "ibm,ebc", },
29 {},
30};
31
32static int __init warp_device_probe(void)
33{
34 of_platform_bus_probe(NULL, warp_of_bus, NULL);
35 return 0;
36}
37machine_device_initcall(warp, warp_device_probe);
38
39static int __init warp_probe(void)
40{
41 unsigned long root = of_get_flat_dt_root();
42
43 return of_flat_dt_is_compatible(root, "pika,warp");
44}
45
46define_machine(warp) {
47 .name = "Warp",
48 .probe = warp_probe,
49 .progress = udbg_progress,
50 .init_IRQ = uic_init_tree,
51 .get_irq = uic_get_irq,
52 .restart = ppc44x_reset_system,
53 .calibrate_decr = generic_calibrate_decr,
54};
55
56
57#define LED_GREEN (0x80000000 >> 0)
58#define LED_RED (0x80000000 >> 1)
59
60
61/* This is for the power LEDs 1 = on, 0 = off, -1 = leave alone */
62void warp_set_power_leds(int green, int red)
63{
64 static void __iomem *gpio_base = NULL;
65 unsigned leds;
66
67 if (gpio_base == NULL) {
68 struct device_node *np;
69
70 /* Power LEDS are on the second GPIO controller */
71 np = of_find_compatible_node(NULL, NULL, "ibm,gpio-440EP");
72 if (np)
73 np = of_find_compatible_node(np, NULL, "ibm,gpio-440EP");
74 if (np == NULL) {
75 printk(KERN_ERR __FILE__ ": Unable to find gpio\n");
76 return;
77 }
78
79 gpio_base = of_iomap(np, 0);
80 of_node_put(np);
81 if (gpio_base == NULL) {
82 printk(KERN_ERR __FILE__ ": Unable to map gpio");
83 return;
84 }
85 }
86
87 leds = in_be32(gpio_base);
88
89 switch (green) {
90 case 0: leds &= ~LED_GREEN; break;
91 case 1: leds |= LED_GREEN; break;
92 }
93 switch (red) {
94 case 0: leds &= ~LED_RED; break;
95 case 1: leds |= LED_RED; break;
96 }
97
98 out_be32(gpio_base, leds);
99}
100EXPORT_SYMBOL(warp_set_power_leds);
101
102
103#ifdef CONFIG_SENSORS_AD7414
104static int pika_dtm_thread(void __iomem *fpga)
105{
106 extern int ad7414_get_temp(int index);
107
108 while (!kthread_should_stop()) {
109 int temp = ad7414_get_temp(0);
110
111 out_be32(fpga, temp);
112
113 set_current_state(TASK_INTERRUPTIBLE);
114 schedule_timeout(HZ);
115 }
116
117 return 0;
118}
119
120static int __init pika_dtm_start(void)
121{
122 struct task_struct *dtm_thread;
123 struct device_node *np;
124 struct resource res;
125 void __iomem *fpga;
126
127 np = of_find_compatible_node(NULL, NULL, "pika,fpga");
128 if (np == NULL)
129 return -ENOENT;
130
131 /* We do not call of_iomap here since it would map in the entire
132 * fpga space, which is over 8k.
133 */
134 if (of_address_to_resource(np, 0, &res)) {
135 of_node_put(np);
136 return -ENOENT;
137 }
138 of_node_put(np);
139
140 fpga = ioremap(res.start + 0x20, 4);
141 if (fpga == NULL)
142 return -ENOENT;
143
144 dtm_thread = kthread_run(pika_dtm_thread, fpga + 0x20, "pika-dtm");
145 if (IS_ERR(dtm_thread)) {
146 iounmap(fpga);
147 return PTR_ERR(dtm_thread);
148 }
149
150 return 0;
151}
152device_initcall(pika_dtm_start);
153#endif
diff --git a/arch/powerpc/platforms/Kconfig b/arch/powerpc/platforms/Kconfig
index 2cec34314d2e..4286664741dd 100644
--- a/arch/powerpc/platforms/Kconfig
+++ b/arch/powerpc/platforms/Kconfig
@@ -321,6 +321,12 @@ config FSL_ULI1575
321config CPM 321config CPM
322 bool 322 bool
323 323
324config OF_RTC
325 bool
326 help
327 Uses information from the OF or flattened device tree to instatiate
328 platform devices for direct mapped RTC chips like the DS1742 or DS1743.
329
324source "arch/powerpc/sysdev/bestcomm/Kconfig" 330source "arch/powerpc/sysdev/bestcomm/Kconfig"
325 331
326endmenu 332endmenu
diff --git a/arch/powerpc/sysdev/Makefile b/arch/powerpc/sysdev/Makefile
index f17e7b885f60..702916bf28fa 100644
--- a/arch/powerpc/sysdev/Makefile
+++ b/arch/powerpc/sysdev/Makefile
@@ -28,6 +28,7 @@ obj-$(CONFIG_PPC_I8259) += i8259.o
28obj-$(CONFIG_IPIC) += ipic.o 28obj-$(CONFIG_IPIC) += ipic.o
29obj-$(CONFIG_4xx) += uic.o 29obj-$(CONFIG_4xx) += uic.o
30obj-$(CONFIG_XILINX_VIRTEX) += xilinx_intc.o 30obj-$(CONFIG_XILINX_VIRTEX) += xilinx_intc.o
31obj-$(CONFIG_OF_RTC) += of_rtc.o
31ifeq ($(CONFIG_PCI),y) 32ifeq ($(CONFIG_PCI),y)
32obj-$(CONFIG_4xx) += ppc4xx_pci.o 33obj-$(CONFIG_4xx) += ppc4xx_pci.o
33endif 34endif
diff --git a/arch/powerpc/sysdev/of_rtc.c b/arch/powerpc/sysdev/of_rtc.c
new file mode 100644
index 000000000000..3d54450640c1
--- /dev/null
+++ b/arch/powerpc/sysdev/of_rtc.c
@@ -0,0 +1,59 @@
1/*
2 * Instantiate mmio-mapped RTC chips based on device tree information
3 *
4 * Copyright 2007 David Gibson <dwg@au1.ibm.com>, IBM Corporation.
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#include <linux/kernel.h>
12#include <linux/of.h>
13#include <linux/init.h>
14#include <linux/of_platform.h>
15
16static __initdata struct {
17 const char *compatible;
18 char *plat_name;
19} of_rtc_table[] = {
20 { "ds1743-nvram", "rtc-ds1742" },
21};
22
23void __init of_instantiate_rtc(void)
24{
25 struct device_node *node;
26 int err;
27 int i;
28
29 for (i = 0; i < ARRAY_SIZE(of_rtc_table); i++) {
30 char *plat_name = of_rtc_table[i].plat_name;
31
32 for_each_compatible_node(node, NULL,
33 of_rtc_table[i].compatible) {
34 struct resource *res;
35
36 res = kmalloc(sizeof(*res), GFP_KERNEL);
37 if (!res) {
38 printk(KERN_ERR "OF RTC: Out of memory "
39 "allocating resource structure for %s\n",
40 node->full_name);
41 continue;
42 }
43
44 err = of_address_to_resource(node, 0, res);
45 if (err) {
46 printk(KERN_ERR "OF RTC: Error "
47 "translating resources for %s\n",
48 node->full_name);
49 continue;
50 }
51
52 printk(KERN_INFO "OF_RTC: %s is a %s @ 0x%llx-0x%llx\n",
53 node->full_name, plat_name,
54 (unsigned long long)res->start,
55 (unsigned long long)res->end);
56 platform_device_register_simple(plat_name, -1, res, 1);
57 }
58 }
59}