aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sh/Kconfig
diff options
context:
space:
mode:
authorPaul Mundt <lethal@linux-sh.org>2007-05-14 04:29:12 -0400
committerPaul Mundt <lethal@hera.kernel.org>2007-06-07 22:43:38 -0400
commitf3d2229852697062d530f19742f0ab792b92873d (patch)
treefe7f1a56d87b5bea39a60f46b04308a7eab4e98c /arch/sh/Kconfig
parent882c12c4e1a95e55227f06dbb99eca90f237c018 (diff)
sh: Rework CPU/board dependencies.
This was a big mess, rework the logic a bit so that we constrain to a particular subtype and figure out the board support based on that. This makes building subtype specific kernels supporting multiple boards possible again. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch/sh/Kconfig')
-rw-r--r--arch/sh/Kconfig296
1 files changed, 151 insertions, 145 deletions
diff --git a/arch/sh/Kconfig b/arch/sh/Kconfig
index 038179ecf6a9..4c9d8fc59fe2 100644
--- a/arch/sh/Kconfig
+++ b/arch/sh/Kconfig
@@ -81,24 +81,146 @@ source "init/Kconfig"
81 81
82menu "System type" 82menu "System type"
83 83
84config SOLUTION_ENGINE 84source "arch/sh/mm/Kconfig"
85 bool 85
86menu "Processor features"
86 87
87choice 88choice
88 prompt "SuperH system type" 89 prompt "Endianess selection"
89 default SH_UNKNOWN 90 default CPU_LITTLE_ENDIAN
91 help
92 Some SuperH machines can be configured for either little or big
93 endian byte order. These modes require different kernels.
94
95config CPU_LITTLE_ENDIAN
96 bool "Little Endian"
97
98config CPU_BIG_ENDIAN
99 bool "Big Endian"
100
101endchoice
102
103config SH_FPU
104 bool "FPU support"
105 depends on !CPU_SH3
106 default y
107 help
108 Selecting this option will enable support for SH processors that
109 have FPU units (ie, SH77xx).
110
111 This option must be set in order to enable the FPU.
112
113config SH_FPU_EMU
114 bool "FPU emulation support"
115 depends on !SH_FPU && EXPERIMENTAL
116 default n
117 help
118 Selecting this option will enable support for software FPU emulation.
119 Most SH-3 users will want to say Y here, whereas most SH-4 users will
120 want to say N.
121
122config SH_DSP
123 bool "DSP support"
124 default y if SH4AL_DSP || !CPU_SH4
125 default n
126 help
127 Selecting this option will enable support for SH processors that
128 have DSP units (ie, SH2-DSP, SH3-DSP, and SH4AL-DSP).
129
130 This option must be set in order to enable the DSP.
131
132config SH_ADC
133 bool "ADC support"
134 depends on CPU_SH3
135 default y
136 help
137 Selecting this option will allow the Linux kernel to use SH3 on-chip
138 ADC module.
139
140 If unsure, say N.
141
142config SH_STORE_QUEUES
143 bool "Support for Store Queues"
144 depends on CPU_SH4
145 help
146 Selecting this option will enable an in-kernel API for manipulating
147 the store queues integrated in the SH-4 processors.
148
149config SPECULATIVE_EXECUTION
150 bool "Speculative subroutine return"
151 depends on CPU_SUBTYPE_SH7780 && EXPERIMENTAL
152 help
153 This enables support for a speculative instruction fetch for
154 subroutine return. There are various pitfalls associated with
155 this, as outlined in the SH7780 hardware manual.
156
157 If unsure, say N.
158
159config CPU_HAS_INTEVT
160 bool
161
162config CPU_HAS_PINT_IRQ
163 bool
164
165config CPU_HAS_MASKREG_IRQ
166 bool
167
168config CPU_HAS_INTC2_IRQ
169 bool
170
171config CPU_HAS_IPR_IRQ
172 bool
173
174config CPU_HAS_SR_RB
175 bool "CPU has SR.RB"
176 depends on CPU_SH3 || CPU_SH4
177 default y
178 help
179 This will enable the use of SR.RB register bank usage. Processors
180 that are lacking this bit must have another method in place for
181 accomplishing what is taken care of by the banked registers.
182
183 See <file:Documentation/sh/register-banks.txt> for further
184 information on SR.RB and register banking in the kernel in general.
185
186config CPU_HAS_PTEA
187 bool
188
189endmenu
190
191menu "Board support"
192
193config SOLUTION_ENGINE
194 bool
90 195
91config SH_SOLUTION_ENGINE 196config SH_SOLUTION_ENGINE
92 bool "SolutionEngine" 197 bool "SolutionEngine"
93 select SOLUTION_ENGINE 198 select SOLUTION_ENGINE
199 depends on CPU_SUBTYPE_SH7709 || CPU_SUBTYPE_SH7750
94 help 200 help
95 Select SolutionEngine if configuring for a Hitachi SH7709 201 Select SolutionEngine if configuring for a Hitachi SH7709
96 or SH7750 evaluation board. 202 or SH7750 evaluation board.
97 203
204config SH_7206_SOLUTION_ENGINE
205 bool "SolutionEngine7206"
206 select SOLUTION_ENGINE
207 depends on CPU_SUBTYPE_SH7206
208 help
209 Select 7206 SolutionEngine if configuring for a Hitachi SH7206
210 evaluation board.
211
212config SH_7619_SOLUTION_ENGINE
213 bool "SolutionEngine7619"
214 select SOLUTION_ENGINE
215 depends on CPU_SUBTYPE_SH7619
216 help
217 Select 7619 SolutionEngine if configuring for a Hitachi SH7619
218 evaluation board.
219
98config SH_7722_SOLUTION_ENGINE 220config SH_7722_SOLUTION_ENGINE
99 bool "SolutionEngine7722" 221 bool "SolutionEngine7722"
100 select SOLUTION_ENGINE 222 select SOLUTION_ENGINE
101 select CPU_SUBTYPE_SH7722 223 depends on CPU_SUBTYPE_SH7722
102 help 224 help
103 Select 7722 SolutionEngine if configuring for a Hitachi SH772 225 Select 7722 SolutionEngine if configuring for a Hitachi SH772
104 evaluation board. 226 evaluation board.
@@ -106,7 +228,7 @@ config SH_7722_SOLUTION_ENGINE
106config SH_7751_SOLUTION_ENGINE 228config SH_7751_SOLUTION_ENGINE
107 bool "SolutionEngine7751" 229 bool "SolutionEngine7751"
108 select SOLUTION_ENGINE 230 select SOLUTION_ENGINE
109 select CPU_SUBTYPE_SH7751 231 depends on CPU_SUBTYPE_SH7751
110 help 232 help
111 Select 7751 SolutionEngine if configuring for a Hitachi SH7751 233 Select 7751 SolutionEngine if configuring for a Hitachi SH7751
112 evaluation board. 234 evaluation board.
@@ -114,7 +236,7 @@ config SH_7751_SOLUTION_ENGINE
114config SH_7780_SOLUTION_ENGINE 236config SH_7780_SOLUTION_ENGINE
115 bool "SolutionEngine7780" 237 bool "SolutionEngine7780"
116 select SOLUTION_ENGINE 238 select SOLUTION_ENGINE
117 select CPU_SUBTYPE_SH7780 239 depends on CPU_SUBTYPE_SH7780
118 help 240 help
119 Select 7780 SolutionEngine if configuring for a Renesas SH7780 241 Select 7780 SolutionEngine if configuring for a Renesas SH7780
120 evaluation board. 242 evaluation board.
@@ -122,7 +244,7 @@ config SH_7780_SOLUTION_ENGINE
122config SH_7300_SOLUTION_ENGINE 244config SH_7300_SOLUTION_ENGINE
123 bool "SolutionEngine7300" 245 bool "SolutionEngine7300"
124 select SOLUTION_ENGINE 246 select SOLUTION_ENGINE
125 select CPU_SUBTYPE_SH7300 247 depends on CPU_SUBTYPE_SH7300
126 help 248 help
127 Select 7300 SolutionEngine if configuring for a Hitachi 249 Select 7300 SolutionEngine if configuring for a Hitachi
128 SH7300(SH-Mobile V) evaluation board. 250 SH7300(SH-Mobile V) evaluation board.
@@ -130,22 +252,22 @@ config SH_7300_SOLUTION_ENGINE
130config SH_7343_SOLUTION_ENGINE 252config SH_7343_SOLUTION_ENGINE
131 bool "SolutionEngine7343" 253 bool "SolutionEngine7343"
132 select SOLUTION_ENGINE 254 select SOLUTION_ENGINE
133 select CPU_SUBTYPE_SH7343 255 depends on CPU_SUBTYPE_SH7343
134 help 256 help
135 Select 7343 SolutionEngine if configuring for a Hitachi 257 Select 7343 SolutionEngine if configuring for a Hitachi
136 SH7343 (SH-Mobile 3AS) evaluation board. 258 SH7343 (SH-Mobile 3AS) evaluation board.
137 259
138config SH_73180_SOLUTION_ENGINE 260config SH_73180_SOLUTION_ENGINE
139 bool "SolutionEngine73180" 261 bool "SolutionEngine73180"
140 select SOLUTION_ENGINE 262 select SOLUTION_ENGINE
141 select CPU_SUBTYPE_SH73180 263 depends on CPU_SUBTYPE_SH73180
142 help 264 help
143 Select 73180 SolutionEngine if configuring for a Hitachi 265 Select 73180 SolutionEngine if configuring for a Hitachi
144 SH73180(SH-Mobile 3) evaluation board. 266 SH73180(SH-Mobile 3) evaluation board.
145 267
146config SH_7751_SYSTEMH 268config SH_7751_SYSTEMH
147 bool "SystemH7751R" 269 bool "SystemH7751R"
148 select CPU_SUBTYPE_SH7751R 270 depends on CPU_SUBTYPE_SH7751R
149 help 271 help
150 Select SystemH if you are configuring for a Renesas SystemH 272 Select SystemH if you are configuring for a Renesas SystemH
151 7751R evaluation board. 273 7751R evaluation board.
@@ -153,6 +275,7 @@ config SH_7751_SYSTEMH
153config SH_HP6XX 275config SH_HP6XX
154 bool "HP6XX" 276 bool "HP6XX"
155 select SYS_SUPPORTS_APM_EMULATION 277 select SYS_SUPPORTS_APM_EMULATION
278 depends on CPU_SUBTYPE_SH7709
156 help 279 help
157 Select HP6XX if configuring for a HP jornada HP6xx. 280 Select HP6XX if configuring for a HP jornada HP6xx.
158 More information (hardware only) at 281 More information (hardware only) at
@@ -160,13 +283,13 @@ config SH_HP6XX
160 283
161config SH_SATURN 284config SH_SATURN
162 bool "Saturn" 285 bool "Saturn"
163 select CPU_SUBTYPE_SH7604 286 depends on CPU_SUBTYPE_SH7604
164 help 287 help
165 Select Saturn if configuring for a SEGA Saturn. 288 Select Saturn if configuring for a SEGA Saturn.
166 289
167config SH_DREAMCAST 290config SH_DREAMCAST
168 bool "Dreamcast" 291 bool "Dreamcast"
169 select CPU_SUBTYPE_SH7091 292 depends on CPU_SUBTYPE_SH7091
170 help 293 help
171 Select Dreamcast if configuring for a SEGA Dreamcast. 294 Select Dreamcast if configuring for a SEGA Dreamcast.
172 More information at 295 More information at
@@ -175,6 +298,7 @@ config SH_DREAMCAST
175 298
176config SH_MPC1211 299config SH_MPC1211
177 bool "Interface MPC1211" 300 bool "Interface MPC1211"
301 depends on CPU_SUBTYPE_SH7751 && BROKEN
178 help 302 help
179 CTP/PCI-SH02 is a CPU module computer that is produced 303 CTP/PCI-SH02 is a CPU module computer that is produced
180 by Interface Corporation. 304 by Interface Corporation.
@@ -182,6 +306,7 @@ config SH_MPC1211
182 306
183config SH_SH03 307config SH_SH03
184 bool "Interface CTP/PCI-SH03" 308 bool "Interface CTP/PCI-SH03"
309 depends on CPU_SUBTYPE_SH7751 && BROKEN
185 help 310 help
186 CTP/PCI-SH03 is a CPU module computer that is produced 311 CTP/PCI-SH03 is a CPU module computer that is produced
187 by Interface Corporation. 312 by Interface Corporation.
@@ -189,7 +314,7 @@ config SH_SH03
189 314
190config SH_SECUREEDGE5410 315config SH_SECUREEDGE5410
191 bool "SecureEdge5410" 316 bool "SecureEdge5410"
192 select CPU_SUBTYPE_SH7751R 317 depends on CPU_SUBTYPE_SH7751R
193 help 318 help
194 Select SecureEdge5410 if configuring for a SnapGear SH board. 319 Select SecureEdge5410 if configuring for a SnapGear SH board.
195 This includes both the OEM SecureEdge products as well as the 320 This includes both the OEM SecureEdge products as well as the
@@ -197,75 +322,62 @@ config SH_SECUREEDGE5410
197 322
198config SH_HS7751RVOIP 323config SH_HS7751RVOIP
199 bool "HS7751RVOIP" 324 bool "HS7751RVOIP"
200 select CPU_SUBTYPE_SH7751R 325 depends on CPU_SUBTYPE_SH7751R
201 help 326 help
202 Select HS7751RVOIP if configuring for a Renesas Technology 327 Select HS7751RVOIP if configuring for a Renesas Technology
203 Sales VoIP board. 328 Sales VoIP board.
204 329
205config SH_7710VOIPGW 330config SH_7710VOIPGW
206 bool "SH7710-VOIP-GW" 331 bool "SH7710-VOIP-GW"
207 select CPU_SUBTYPE_SH7710 332 depends on CPU_SUBTYPE_SH7710
208 help 333 help
209 Select this option to build a kernel for the SH7710 based 334 Select this option to build a kernel for the SH7710 based
210 VOIP GW. 335 VOIP GW.
211 336
212config SH_RTS7751R2D 337config SH_RTS7751R2D
213 bool "RTS7751R2D" 338 bool "RTS7751R2D"
214 select CPU_SUBTYPE_SH7751R 339 depends on CPU_SUBTYPE_SH7751R
215 help 340 help
216 Select RTS7751R2D if configuring for a Renesas Technology 341 Select RTS7751R2D if configuring for a Renesas Technology
217 Sales SH-Graphics board. 342 Sales SH-Graphics board.
218 343
219config SH_HIGHLANDER 344config SH_HIGHLANDER
220 bool "Highlander" 345 bool "Highlander"
346 depends on CPU_SUBTYPE_SH7780 || CPU_SUBTYPE_SH7785
221 347
222config SH_EDOSK7705 348config SH_EDOSK7705
223 bool "EDOSK7705" 349 bool "EDOSK7705"
224 select CPU_SUBTYPE_SH7705 350 depends on CPU_SUBTYPE_SH7705
225 351
226config SH_SH4202_MICRODEV 352config SH_SH4202_MICRODEV
227 bool "SH4-202 MicroDev" 353 bool "SH4-202 MicroDev"
228 select CPU_SUBTYPE_SH4_202 354 depends on CPU_SUBTYPE_SH4_202
229 help 355 help
230 Select SH4-202 MicroDev if configuring for a SuperH MicroDev board 356 Select SH4-202 MicroDev if configuring for a SuperH MicroDev board
231 with an SH4-202 CPU. 357 with an SH4-202 CPU.
232 358
233config SH_LANDISK 359config SH_LANDISK
234 bool "LANDISK" 360 bool "LANDISK"
235 select CPU_SUBTYPE_SH7751R 361 depends on CPU_SUBTYPE_SH7751R
236 help 362 help
237 I-O DATA DEVICE, INC. "LANDISK Series" support. 363 I-O DATA DEVICE, INC. "LANDISK Series" support.
238 364
239config SH_TITAN 365config SH_TITAN
240 bool "TITAN" 366 bool "TITAN"
241 select CPU_SUBTYPE_SH7751R 367 depends on CPU_SUBTYPE_SH7751R
242 help 368 help
243 Select Titan if you are configuring for a Nimble Microsystems 369 Select Titan if you are configuring for a Nimble Microsystems
244 NetEngine NP51R. 370 NetEngine NP51R.
245 371
246config SH_SHMIN 372config SH_SHMIN
247 bool "SHMIN" 373 bool "SHMIN"
248 select CPU_SUBTYPE_SH7706 374 depends on CPU_SUBTYPE_SH7706
249 help 375 help
250 Select SHMIN if configuring for the SHMIN board. 376 Select SHMIN if configuring for the SHMIN board.
251 377
252config SH_7206_SOLUTION_ENGINE
253 bool "SolutionEngine7206"
254 select CPU_SUBTYPE_SH7206
255 help
256 Select 7206 SolutionEngine if configuring for a Hitachi SH7206
257 evaluation board.
258
259config SH_7619_SOLUTION_ENGINE
260 bool "SolutionEngine7619"
261 select CPU_SUBTYPE_SH7619
262 help
263 Select 7619 SolutionEngine if configuring for a Hitachi SH7619
264 evaluation board.
265
266config SH_LBOX_RE2 378config SH_LBOX_RE2
267 bool "L-BOX RE2" 379 bool "L-BOX RE2"
268 select CPU_SUBTYPE_SH7751R 380 depends on CPU_SUBTYPE_SH7751R
269 help 381 help
270 Select L-BOX RE2 if configuring for the NTT COMWARE L-BOX RE2. 382 Select L-BOX RE2 if configuring for the NTT COMWARE L-BOX RE2.
271 383
@@ -281,14 +393,12 @@ config SH_UNKNOWN
281 393
282 This option is for the early stages of porting to a new machine. 394 This option is for the early stages of porting to a new machine.
283 395
284endchoice 396endmenu
285 397
286source "arch/sh/boards/renesas/hs7751rvoip/Kconfig" 398source "arch/sh/boards/renesas/hs7751rvoip/Kconfig"
287source "arch/sh/boards/renesas/rts7751r2d/Kconfig" 399source "arch/sh/boards/renesas/rts7751r2d/Kconfig"
288source "arch/sh/boards/renesas/r7780rp/Kconfig" 400source "arch/sh/boards/renesas/r7780rp/Kconfig"
289 401
290source "arch/sh/mm/Kconfig"
291
292config CF_ENABLER 402config CF_ENABLER
293 bool "Compact Flash Enabler support" 403 bool "Compact Flash Enabler support"
294 depends on SH_SOLUTION_ENGINE || SH_UNKNOWN || SH_SH03 404 depends on SH_SOLUTION_ENGINE || SH_UNKNOWN || SH_SH03
@@ -332,110 +442,6 @@ config CF_BASE_ADDR
332 default "0xb8000000" if CF_AREA6 442 default "0xb8000000" if CF_AREA6
333 default "0xb4000000" if CF_AREA5 443 default "0xb4000000" if CF_AREA5
334 444
335menu "Processor features"
336
337choice
338 prompt "Endianess selection"
339 default CPU_LITTLE_ENDIAN
340 help
341 Some SuperH machines can be configured for either little or big
342 endian byte order. These modes require different kernels.
343
344config CPU_LITTLE_ENDIAN
345 bool "Little Endian"
346
347config CPU_BIG_ENDIAN
348 bool "Big Endian"
349
350endchoice
351
352config SH_FPU
353 bool "FPU support"
354 depends on !CPU_SH3
355 default y
356 help
357 Selecting this option will enable support for SH processors that
358 have FPU units (ie, SH77xx).
359
360 This option must be set in order to enable the FPU.
361
362config SH_FPU_EMU
363 bool "FPU emulation support"
364 depends on !SH_FPU && EXPERIMENTAL
365 default n
366 help
367 Selecting this option will enable support for software FPU emulation.
368 Most SH-3 users will want to say Y here, whereas most SH-4 users will
369 want to say N.
370
371config SH_DSP
372 bool "DSP support"
373 default y if SH4AL_DSP || !CPU_SH4
374 default n
375 help
376 Selecting this option will enable support for SH processors that
377 have DSP units (ie, SH2-DSP, SH3-DSP, and SH4AL-DSP).
378
379 This option must be set in order to enable the DSP.
380
381config SH_ADC
382 bool "ADC support"
383 depends on CPU_SH3
384 default y
385 help
386 Selecting this option will allow the Linux kernel to use SH3 on-chip
387 ADC module.
388
389 If unsure, say N.
390
391config SH_STORE_QUEUES
392 bool "Support for Store Queues"
393 depends on CPU_SH4
394 help
395 Selecting this option will enable an in-kernel API for manipulating
396 the store queues integrated in the SH-4 processors.
397
398config SPECULATIVE_EXECUTION
399 bool "Speculative subroutine return"
400 depends on CPU_SUBTYPE_SH7780 && EXPERIMENTAL
401 help
402 This enables support for a speculative instruction fetch for
403 subroutine return. There are various pitfalls associated with
404 this, as outlined in the SH7780 hardware manual.
405
406 If unsure, say N.
407
408config CPU_HAS_INTEVT
409 bool
410
411config CPU_HAS_PINT_IRQ
412 bool
413
414config CPU_HAS_MASKREG_IRQ
415 bool
416
417config CPU_HAS_INTC2_IRQ
418 bool
419
420config CPU_HAS_IPR_IRQ
421 bool
422
423config CPU_HAS_SR_RB
424 bool "CPU has SR.RB"
425 depends on CPU_SH3 || CPU_SH4
426 default y
427 help
428 This will enable the use of SR.RB register bank usage. Processors
429 that are lacking this bit must have another method in place for
430 accomplishing what is taken care of by the banked registers.
431
432 See <file:Documentation/sh/register-banks.txt> for further
433 information on SR.RB and register banking in the kernel in general.
434
435config CPU_HAS_PTEA
436 bool
437
438endmenu
439 445
440menu "Timer and clock configuration" 446menu "Timer and clock configuration"
441 447