diff options
author | David Gibson <david@gibson.dropbear.id.au> | 2007-04-18 02:36:26 -0400 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2007-04-24 07:32:00 -0400 |
commit | f65573314e4e2d7deacd7ed101c004148e156296 (patch) | |
tree | b38f375a4a4189f303b4702ade501c30398e58de | |
parent | e6349a958b3577da6e5c5eacda85c07f9a364cb5 (diff) |
[POWERPC] Re-organize Kconfig code for 4xx in arch/powerpc
Now that we always take a device tree in arch/powerpc, there's no good
reason not to allow a single kernel to support multiple embedded 4xx
boards - the correct platform code can be selected based on the device
tree information.
Therefore, this patch re-arranges the 4xx Kconfig code to allow this.
In addition we:
- use "select" instead of depends to configure the correct
config options for specific 4xx CPUs and workarounds, which
makes the information about specific boards and CPUs less
scattered.
- Some old, unused (in arch/powerpc) config options are
removed: WANT_EARLY_SERIAL, IBM_OCP, etc.
Signed-off-by: David Gibson <dwg@au1.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
-rw-r--r-- | arch/powerpc/platforms/4xx/Kconfig | 372 |
1 files changed, 150 insertions, 222 deletions
diff --git a/arch/powerpc/platforms/4xx/Kconfig b/arch/powerpc/platforms/4xx/Kconfig index 2f2a13ed7667..ded357c17414 100644 --- a/arch/powerpc/platforms/4xx/Kconfig +++ b/arch/powerpc/platforms/4xx/Kconfig | |||
@@ -3,278 +3,206 @@ config 4xx | |||
3 | depends on 40x || 44x | 3 | depends on 40x || 44x |
4 | default y | 4 | default y |
5 | 5 | ||
6 | config WANT_EARLY_SERIAL | 6 | config BOOKE |
7 | bool | 7 | bool |
8 | select SERIAL_8250 | ||
9 | default n | ||
10 | |||
11 | menu "AMCC 4xx options" | ||
12 | depends on 4xx | ||
13 | |||
14 | choice | ||
15 | prompt "Machine Type" | ||
16 | depends on 40x | ||
17 | default WALNUT | ||
18 | |||
19 | config BUBINGA | ||
20 | bool "Bubinga" | ||
21 | select WANT_EARLY_SERIAL | ||
22 | help | ||
23 | This option enables support for the IBM 405EP evaluation board. | ||
24 | |||
25 | config CPCI405 | ||
26 | bool "CPCI405" | ||
27 | help | ||
28 | This option enables support for the CPCI405 board. | ||
29 | |||
30 | config EP405 | ||
31 | bool "EP405/EP405PC" | ||
32 | help | ||
33 | This option enables support for the EP405/EP405PC boards. | ||
34 | |||
35 | config REDWOOD_5 | ||
36 | bool "Redwood-5" | ||
37 | help | ||
38 | This option enables support for the IBM STB04 evaluation board. | ||
39 | |||
40 | config REDWOOD_6 | ||
41 | bool "Redwood-6" | ||
42 | help | ||
43 | This option enables support for the IBM STBx25xx evaluation board. | ||
44 | |||
45 | config SYCAMORE | ||
46 | bool "Sycamore" | ||
47 | help | ||
48 | This option enables support for the IBM PPC405GPr evaluation board. | ||
49 | |||
50 | config WALNUT | ||
51 | bool "Walnut" | ||
52 | help | ||
53 | This option enables support for the IBM PPC405GP evaluation board. | ||
54 | |||
55 | config XILINX_ML300 | ||
56 | bool "Xilinx-ML300" | ||
57 | help | ||
58 | This option enables support for the Xilinx ML300 evaluation board. | ||
59 | |||
60 | endchoice | ||
61 | |||
62 | choice | ||
63 | prompt "Machine Type" | ||
64 | depends on 44x | 8 | depends on 44x |
65 | default EBONY | 9 | default y |
66 | |||
67 | config BAMBOO | ||
68 | bool "Bamboo" | ||
69 | select WANT_EARLY_SERIAL | ||
70 | help | ||
71 | This option enables support for the IBM PPC440EP evaluation board. | ||
72 | |||
73 | config EBONY | ||
74 | bool "Ebony" | ||
75 | select WANT_EARLY_SERIAL | ||
76 | help | ||
77 | This option enables support for the IBM PPC440GP evaluation board. | ||
78 | |||
79 | config LUAN | ||
80 | bool "Luan" | ||
81 | select WANT_EARLY_SERIAL | ||
82 | help | ||
83 | This option enables support for the IBM PPC440SP evaluation board. | ||
84 | |||
85 | config OCOTEA | ||
86 | bool "Ocotea" | ||
87 | select WANT_EARLY_SERIAL | ||
88 | help | ||
89 | This option enables support for the IBM PPC440GX evaluation board. | ||
90 | 10 | ||
91 | endchoice | 11 | menu "AMCC 40x options" |
12 | depends on 40x | ||
92 | 13 | ||
93 | config EP405PC | 14 | #config BUBINGA |
94 | bool "EP405PC Support" | 15 | # bool "Bubinga" |
95 | depends on EP405 | 16 | # depends on 40x |
17 | # default n | ||
18 | # select 405EP | ||
19 | # help | ||
20 | # This option enables support for the IBM 405EP evaluation board. | ||
21 | |||
22 | #config CPCI405 | ||
23 | # bool "CPCI405" | ||
24 | # depends on 40x | ||
25 | # default n | ||
26 | # select 405GP | ||
27 | # help | ||
28 | # This option enables support for the CPCI405 board. | ||
29 | |||
30 | #config EP405 | ||
31 | # bool "EP405/EP405PC" | ||
32 | # depends on 40x | ||
33 | # default n | ||
34 | # select 405GP | ||
35 | # help | ||
36 | # This option enables support for the EP405/EP405PC boards. | ||
37 | |||
38 | #config EP405PC | ||
39 | # bool "EP405PC Support" | ||
40 | # depends on EP405 | ||
41 | # default y | ||
42 | # help | ||
43 | # This option enables support for the extra features of the EP405PC board. | ||
44 | |||
45 | #config REDWOOD_5 | ||
46 | # bool "Redwood-5" | ||
47 | # depends on 40x | ||
48 | # default n | ||
49 | # select STB03xxx | ||
50 | # help | ||
51 | # This option enables support for the IBM STB04 evaluation board. | ||
52 | |||
53 | #config REDWOOD_6 | ||
54 | # bool "Redwood-6" | ||
55 | # depends on 40x | ||
56 | # default n | ||
57 | # select STB03xxx | ||
58 | # help | ||
59 | # This option enables support for the IBM STBx25xx evaluation board. | ||
60 | |||
61 | #config SYCAMORE | ||
62 | # bool "Sycamore" | ||
63 | # depends on 40x | ||
64 | # default n | ||
65 | # select 405GPR | ||
66 | # help | ||
67 | # This option enables support for the IBM PPC405GPr evaluation board. | ||
68 | |||
69 | #config WALNUT | ||
70 | # bool "Walnut" | ||
71 | # depends on 40x | ||
72 | # default y | ||
73 | # select 405GP | ||
74 | # help | ||
75 | # This option enables support for the IBM PPC405GP evaluation board. | ||
76 | |||
77 | #config XILINX_ML300 | ||
78 | # bool "Xilinx-ML300" | ||
79 | # depends on 40x | ||
80 | # default y | ||
81 | # select VIRTEX_II_PRO | ||
82 | # help | ||
83 | # This option enables support for the Xilinx ML300 evaluation board. | ||
96 | 84 | ||
85 | endmenu | ||
97 | 86 | ||
98 | # It's often necessary to know the specific 4xx processor type. | 87 | # 40x specific CPU modules, selected based on the board above. |
99 | # Fortunately, it is impled (so far) from the board type, so we | ||
100 | # don't need to ask more redundant questions. | ||
101 | config NP405H | 88 | config NP405H |
102 | bool | 89 | bool |
103 | depends on ASH | 90 | #depends on ASH |
104 | default y | ||
105 | 91 | ||
106 | config 440EP | 92 | # OAK doesn't exist but wanted to keep this around for any future 403GCX boards |
93 | config 403GCX | ||
107 | bool | 94 | bool |
108 | depends on BAMBOO | 95 | #depends on OAK |
109 | select PPC_FPU | 96 | select IBM405_ERR51 |
110 | default y | ||
111 | 97 | ||
112 | config 440GP | 98 | config 405GP |
113 | bool | 99 | bool |
114 | depends on EBONY | 100 | select IBM405_ERR77 |
115 | default y | 101 | select IBM405_ERR51 |
116 | 102 | ||
117 | config 440GX | 103 | config 405EP |
118 | bool | 104 | bool |
119 | depends on OCOTEA | ||
120 | default y | ||
121 | 105 | ||
122 | config 440SP | 106 | config 405GPR |
123 | bool | 107 | bool |
124 | depends on LUAN | ||
125 | default y | ||
126 | 108 | ||
127 | config 440 | 109 | config VIRTEX_II_PRO |
128 | bool | 110 | bool |
129 | depends on 440GP || 440SP || 440EP | 111 | select IBM405_ERR77 |
130 | default y | 112 | select IBM405_ERR51 |
131 | 113 | ||
132 | config 440A | 114 | config STB03xxx |
133 | bool | 115 | bool |
134 | depends on 440GX | 116 | select IBM405_ERR77 |
135 | default y | 117 | select IBM405_ERR51 |
136 | 118 | ||
137 | config IBM440EP_ERR42 | 119 | # 40x errata/workaround config symbols, selected by the CPU models above |
138 | bool | ||
139 | depends on 440EP | ||
140 | default y | ||
141 | 120 | ||
142 | # All 405-based cores up until the 405GPR and 405EP have this errata. | 121 | # All 405-based cores up until the 405GPR and 405EP have this errata. |
143 | config IBM405_ERR77 | 122 | config IBM405_ERR77 |
144 | bool | 123 | bool |
145 | depends on 40x && !403GCX && !405GPR && !405EP | ||
146 | default y | ||
147 | 124 | ||
148 | # All 40x-based cores, up until the 405GPR and 405EP have this errata. | 125 | # All 40x-based cores, up until the 405GPR and 405EP have this errata. |
149 | config IBM405_ERR51 | 126 | config IBM405_ERR51 |
150 | bool | 127 | bool |
151 | depends on 40x && !405GPR && !405EP | ||
152 | default y | ||
153 | 128 | ||
154 | config BOOKE | 129 | menu "AMCC 44x options" |
155 | bool | ||
156 | depends on 44x | 130 | depends on 44x |
157 | default y | ||
158 | |||
159 | config IBM_OCP | ||
160 | bool | ||
161 | depends on ASH || BAMBOO || BUBINGA || CPCI405 || EBONY || EP405 || LUAN || OCOTEA || REDWOOD_5 || REDWOOD_6 || SYCAMORE || WALNUT | ||
162 | default y | ||
163 | 131 | ||
164 | config XILINX_OCP | 132 | #config BAMBOO |
165 | bool | 133 | # bool "Bamboo" |
166 | depends on XILINX_ML300 | 134 | # depends on 44x |
167 | default y | 135 | # default n |
136 | # select 440EP | ||
137 | # help | ||
138 | # This option enables support for the IBM PPC440EP evaluation board. | ||
168 | 139 | ||
169 | config IBM_EMAC4 | 140 | config EBONY |
170 | bool | 141 | bool "Ebony" |
171 | depends on 440GX || 440SP | 142 | depends on 44x |
172 | default y | ||
173 | |||
174 | config BIOS_FIXUP | ||
175 | bool | ||
176 | depends on BUBINGA || EP405 || SYCAMORE || WALNUT | ||
177 | default y | ||
178 | |||
179 | # OAK doesn't exist but wanted to keep this around for any future 403GCX boards | ||
180 | config 403GCX | ||
181 | bool | ||
182 | depends on OAK | ||
183 | default y | ||
184 | |||
185 | config 405EP | ||
186 | bool | ||
187 | depends on BUBINGA | ||
188 | default y | ||
189 | |||
190 | config 405GP | ||
191 | bool | ||
192 | depends on CPCI405 || EP405 || WALNUT | ||
193 | default y | ||
194 | |||
195 | config 405GPR | ||
196 | bool | ||
197 | depends on SYCAMORE | ||
198 | default y | 143 | default y |
144 | select 440GP | ||
145 | help | ||
146 | This option enables support for the IBM PPC440GP evaluation board. | ||
199 | 147 | ||
200 | config VIRTEX_II_PRO | 148 | #config LUAN |
201 | bool | 149 | # bool "Luan" |
202 | depends on XILINX_ML300 | 150 | # depends on 44x |
203 | default y | 151 | # default n |
152 | # select 440SP | ||
153 | # help | ||
154 | # This option enables support for the IBM PPC440SP evaluation board. | ||
155 | |||
156 | #config OCOTEA | ||
157 | # bool "Ocotea" | ||
158 | # depends on 44x | ||
159 | # default n | ||
160 | # select 440GX | ||
161 | # help | ||
162 | # This option enables support for the IBM PPC440GX evaluation board. | ||
204 | 163 | ||
205 | config STB03xxx | 164 | endmenu |
206 | bool | ||
207 | depends on REDWOOD_5 || REDWOOD_6 | ||
208 | default y | ||
209 | 165 | ||
210 | config EMBEDDEDBOOT | 166 | # 44x specific CPU modules, selected based on the board above. |
167 | config 440EP | ||
211 | bool | 168 | bool |
212 | depends on EP405 || XILINX_ML300 | 169 | select PPC_FPU |
213 | default y | 170 | select IBM440EP_ERR42 |
214 | 171 | ||
215 | config IBM_OPENBIOS | 172 | config 440GP |
216 | bool | 173 | bool |
217 | depends on ASH || BUBINGA || REDWOOD_5 || REDWOOD_6 || SYCAMORE || WALNUT | 174 | select IBM_NEW_EMAC_ZMII |
218 | default y | ||
219 | 175 | ||
220 | config PPC4xx_DMA | 176 | config 440GX |
221 | bool "PPC4xx DMA controller support" | ||
222 | depends on 4xx | ||
223 | |||
224 | config PPC4xx_EDMA | ||
225 | bool | 177 | bool |
226 | depends on !STB03xxx && PPC4xx_DMA | ||
227 | default y | ||
228 | 178 | ||
229 | config PPC_GEN550 | 179 | config 440SP |
230 | bool | 180 | bool |
231 | depends on 4xx | ||
232 | default y | ||
233 | |||
234 | choice | ||
235 | prompt "TTYS0 device and default console" | ||
236 | depends on 40x | ||
237 | default UART0_TTYS0 | ||
238 | |||
239 | config UART0_TTYS0 | ||
240 | bool "UART0" | ||
241 | 181 | ||
242 | config UART0_TTYS1 | 182 | config 440A |
243 | bool "UART1" | ||
244 | |||
245 | endchoice | ||
246 | |||
247 | config SERIAL_SICC | ||
248 | bool "SICC Serial port support" | ||
249 | depends on STB03xxx | ||
250 | |||
251 | config UART1_DFLT_CONSOLE | ||
252 | bool | 183 | bool |
253 | depends on SERIAL_SICC && UART0_TTYS1 | 184 | depends on 440GX |
254 | default y | 185 | default y |
255 | 186 | ||
256 | config SERIAL_SICC_CONSOLE | 187 | # 44x errata/workaround config symbols, selected by the CPU models above |
188 | config IBM440EP_ERR42 | ||
257 | bool | 189 | bool |
258 | depends on SERIAL_SICC && UART0_TTYS1 | ||
259 | default y | ||
260 | endmenu | ||
261 | 190 | ||
191 | #config XILINX_OCP | ||
192 | # bool | ||
193 | # depends on XILINX_ML300 | ||
194 | # default y | ||
262 | 195 | ||
263 | menu "IBM 40x options" | 196 | #config BIOS_FIXUP |
264 | depends on 40x | 197 | # bool |
265 | 198 | # depends on BUBINGA || EP405 || SYCAMORE || WALNUT | |
266 | config SERIAL_SICC | 199 | # default y |
267 | bool "SICC Serial port" | ||
268 | depends on STB03xxx | ||
269 | |||
270 | config UART1_DFLT_CONSOLE | ||
271 | bool | ||
272 | depends on SERIAL_SICC && UART0_TTYS1 | ||
273 | default y | ||
274 | 200 | ||
275 | config SERIAL_SICC_CONSOLE | 201 | #config PPC4xx_DMA |
276 | bool | 202 | # bool "PPC4xx DMA controller support" |
277 | depends on SERIAL_SICC && UART0_TTYS1 | 203 | # depends on 4xx |
278 | default y | ||
279 | 204 | ||
280 | endmenu | 205 | #config PPC4xx_EDMA |
206 | # bool | ||
207 | # depends on !STB03xxx && PPC4xx_DMA | ||
208 | # default y | ||