blob: 120bd31a46ea6339f9f8b0f77c1a25b8c2e79fc1 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001#
2# For a description of the syntax of this configuration file,
3# see Documentation/kbuild/kconfig-language.txt.
4#
5
6mainmenu "Linux/SuperH Kernel Configuration"
7
8config SUPERH
Paul Mundtea0e1a92007-11-21 15:58:01 +09009 def_bool y
Paul Mundt7a440c92006-09-27 18:18:31 +090010 select EMBEDDED
David Brownell9483a572008-07-23 21:26:48 -070011 select HAVE_CLK
Sam Ravnborgec7748b2008-02-09 10:46:40 +010012 select HAVE_IDE
Matt Flemingc601a512009-07-03 16:16:54 +090013 select HAVE_LMB
Mathieu Desnoyers42d4b832008-02-02 15:10:34 -050014 select HAVE_OPROFILE
Dmitry Baryshkov9de90ac2008-07-18 13:30:31 +040015 select HAVE_GENERIC_DMA_COHERENT
Paul Mundt21944782008-09-17 23:26:44 +090016 select HAVE_IOREMAP_PROT if MMU
Paul Mundtd7b01f72008-12-10 20:17:15 +090017 select HAVE_ARCH_TRACEHOOK
Paul Mundtf802d962009-04-09 10:36:54 -070018 select HAVE_DMA_API_DEBUG
Paul Mundtbb38c222009-06-24 01:41:05 +090019 select HAVE_PERF_COUNTERS
Paul Mundt6eac1af2009-05-08 19:48:47 +090020 select RTC_LIB
Paul Mundtf01789c2009-06-17 10:43:13 +090021 select GENERIC_ATOMIC64
Linus Torvalds1da177e2005-04-16 15:20:36 -070022 help
23 The SuperH is a RISC processor targeted for use in embedded systems
24 and consumer electronics; it was also used in the Sega Dreamcast
25 gaming console. The SuperH port has a home page at
26 <http://www.linux-sh.org/>.
27
Paul Mundt39d28a22007-11-08 18:39:33 +090028config SUPERH32
Paul Mundt3cc000b2009-04-11 08:39:27 +090029 def_bool ARCH = "sh"
Chris Smithd39f5452008-09-05 17:15:39 +090030 select HAVE_KPROBES
31 select HAVE_KRETPROBES
Paul Mundt694f94f2008-10-31 16:20:36 +090032 select HAVE_FUNCTION_TRACER
Matt Flemingfad57fe2008-11-12 20:11:47 +090033 select HAVE_FTRACE_MCOUNT_RECORD
34 select HAVE_DYNAMIC_FTRACE
Matt Flemingc1340c02009-06-28 14:05:44 +010035 select HAVE_FUNCTION_TRACE_MCOUNT_TEST
Matt Flemingc652d782009-07-06 20:16:33 +090036 select HAVE_FTRACE_SYSCALLS
Matt Fleming327933f2009-07-11 00:29:03 +000037 select HAVE_FUNCTION_GRAPH_TRACER
Paul Mundtab6e5702008-12-11 18:46:46 +090038 select HAVE_ARCH_KGDB
Paul Mundt8dafc342009-04-02 11:56:38 +090039 select ARCH_HIBERNATION_POSSIBLE if MMU
Paul Mundtea0e1a92007-11-21 15:58:01 +090040
41config SUPERH64
Paul Mundt3cc000b2009-04-11 08:39:27 +090042 def_bool ARCH = "sh64"
Paul Mundt39d28a22007-11-08 18:39:33 +090043
Paul Mundtf42b7e32008-07-29 20:12:51 +090044config ARCH_DEFCONFIG
45 string
46 default "arch/sh/configs/shx3_defconfig" if SUPERH32
47 default "arch/sh/configs/cayman_defconfig" if SUPERH64
48
Linus Torvalds1da177e2005-04-16 15:20:36 -070049config RWSEM_GENERIC_SPINLOCK
Harvey Harrisond7ef4fb2007-12-11 13:49:35 +090050 def_bool y
Linus Torvalds1da177e2005-04-16 15:20:36 -070051
52config RWSEM_XCHGADD_ALGORITHM
53 bool
54
Paul Mundtfa691512007-03-08 19:41:21 +090055config GENERIC_BUG
56 def_bool y
Paul Mundta82d53e2007-11-21 18:22:05 +090057 depends on BUG && SUPERH32
Paul Mundtfa691512007-03-08 19:41:21 +090058
Paul Mundt3767f3f2009-06-15 00:00:42 +090059config GENERIC_CSUM
60 def_bool y
61 depends on SUPERH64
62
Akinobu Mitae2268c72006-03-26 01:39:35 -080063config GENERIC_FIND_NEXT_BIT
Harvey Harrisond7ef4fb2007-12-11 13:49:35 +090064 def_bool y
Akinobu Mitae2268c72006-03-26 01:39:35 -080065
66config GENERIC_HWEIGHT
Harvey Harrisond7ef4fb2007-12-11 13:49:35 +090067 def_bool y
Akinobu Mitae2268c72006-03-26 01:39:35 -080068
Linus Torvalds1da177e2005-04-16 15:20:36 -070069config GENERIC_HARDIRQS
Harvey Harrisond7ef4fb2007-12-11 13:49:35 +090070 def_bool y
Linus Torvalds1da177e2005-04-16 15:20:36 -070071
Paul Mundt5093c9a2008-08-04 14:17:13 +090072config GENERIC_HARDIRQS_NO__DO_IRQ
73 def_bool y
74
Linus Torvalds1da177e2005-04-16 15:20:36 -070075config GENERIC_IRQ_PROBE
Harvey Harrisond7ef4fb2007-12-11 13:49:35 +090076 def_bool y
Linus Torvalds1da177e2005-04-16 15:20:36 -070077
Paul Mundt2eb2a432009-06-19 16:00:00 +090078config IRQ_PER_CPU
79 def_bool y
80
Magnus Damm2967dab2008-10-08 20:41:43 +090081config GENERIC_GPIO
82 def_bool n
83
Linus Torvalds1da177e2005-04-16 15:20:36 -070084config GENERIC_CALIBRATE_DELAY
Paul Mundtcf204fa2008-09-08 20:47:42 +090085 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -070086
Paul Mundtcad82442006-01-16 22:14:19 -080087config GENERIC_IOMAP
88 bool
89
Paul Mundt45882142006-10-04 13:21:45 +090090config GENERIC_TIME
john stultz75634312009-05-01 13:10:28 -070091 def_bool y
Paul Mundt45882142006-10-04 13:21:45 +090092
Paul Mundt57be2b42007-05-09 17:33:24 +090093config GENERIC_CLOCKEVENTS
Paul Mundt938edae2009-05-03 18:12:26 +090094 def_bool y
Paul Mundt57be2b42007-05-09 17:33:24 +090095
Paul Mundt8c245942008-08-06 18:37:07 +090096config GENERIC_CLOCKEVENTS_BROADCAST
97 bool
98
Paul Mundt6d134b92009-05-08 16:36:13 +090099config GENERIC_CMOS_UPDATE
100 def_bool y
101 depends on SH_SH03 || SH_DREAMCAST
102
Paul Mundtbdcab872008-08-04 14:09:15 +0900103config GENERIC_LOCKBREAK
104 def_bool y
105 depends on SMP && PREEMPT
106
Paul Mundt357d5942007-06-11 15:32:07 +0900107config SYS_SUPPORTS_PM
108 bool
Magnus Dammaf998a92008-12-04 22:45:12 +0900109 depends on !SMP
110
111config ARCH_SUSPEND_POSSIBLE
112 def_bool n
113
114config ARCH_HIBERNATION_POSSIBLE
115 def_bool n
Paul Mundt357d5942007-06-11 15:32:07 +0900116
Paul Mundt0a9b0db2007-01-24 21:56:20 +0900117config SYS_SUPPORTS_APM_EMULATION
118 bool
Magnus Dammaf998a92008-12-04 22:45:12 +0900119 select ARCH_SUSPEND_POSSIBLE
Paul Mundt357d5942007-06-11 15:32:07 +0900120
121config SYS_SUPPORTS_SMP
122 bool
123
124config SYS_SUPPORTS_NUMA
125 bool
126
127config SYS_SUPPORTS_PCI
128 bool
Paul Mundt0a9b0db2007-01-24 21:56:20 +0900129
Paul Mundtf5ad8812009-01-29 18:08:58 +0900130config SYS_SUPPORTS_CMT
131 bool
132
Magnus Dammd5ed4c22009-04-30 07:02:49 +0000133config SYS_SUPPORTS_MTU2
134 bool
135
Magnus Damm9570ef22009-05-01 06:51:00 +0000136config SYS_SUPPORTS_TMU
137 bool
138
Paul Mundtafbfb522006-12-04 18:17:28 +0900139config STACKTRACE_SUPPORT
Harvey Harrisond7ef4fb2007-12-11 13:49:35 +0900140 def_bool y
Paul Mundtafbfb522006-12-04 18:17:28 +0900141
142config LOCKDEP_SUPPORT
Harvey Harrisond7ef4fb2007-12-11 13:49:35 +0900143 def_bool y
Paul Mundtafbfb522006-12-04 18:17:28 +0900144
Paul Mundt5a89f1a2008-09-13 01:44:03 +0900145config HAVE_LATENCYTOP_SUPPORT
146 def_bool y
147 depends on !SMP
148
David Howellsf0d1b0b2006-12-08 02:37:49 -0800149config ARCH_HAS_ILOG2_U32
Harvey Harrisond7ef4fb2007-12-11 13:49:35 +0900150 def_bool n
David Howellsf0d1b0b2006-12-08 02:37:49 -0800151
152config ARCH_HAS_ILOG2_U64
Harvey Harrisond7ef4fb2007-12-11 13:49:35 +0900153 def_bool n
David Howellsf0d1b0b2006-12-08 02:37:49 -0800154
Paul Mundte257ad02007-07-25 11:18:00 +0900155config ARCH_NO_VIRT_TO_BUS
156 def_bool y
157
Paul Mundte869a902009-04-02 13:08:31 +0900158config ARCH_HAS_DEFAULT_IDLE
159 def_bool y
160
Paul Mundt2e046b92009-06-19 14:40:51 +0900161config ARCH_HAS_CPU_IDLE_WAIT
162 def_bool y
163
Magnus Damme7cc9a72008-02-07 20:18:21 +0900164config IO_TRAPPED
165 bool
166
Linus Torvalds1da177e2005-04-16 15:20:36 -0700167source "init/Kconfig"
168
Matt Helsleydc52ddc2008-10-18 20:27:21 -0700169source "kernel/Kconfig.freezer"
170
Linus Torvalds1da177e2005-04-16 15:20:36 -0700171menu "System type"
172
Paul Mundtb5f42db2007-11-08 18:38:14 +0900173#
174# Processor families
175#
176config CPU_SH2
177 bool
178
179config CPU_SH2A
180 bool
181 select CPU_SH2
182
183config CPU_SH3
184 bool
185 select CPU_HAS_INTEVT
186 select CPU_HAS_SR_RB
Paul Mundt4fa48e12009-05-08 15:28:15 +0900187 select SYS_SUPPORTS_TMU
Paul Mundtb5f42db2007-11-08 18:38:14 +0900188
189config CPU_SH4
190 bool
191 select CPU_HAS_INTEVT
192 select CPU_HAS_SR_RB
Paul Mundtb5f42db2007-11-08 18:38:14 +0900193 select CPU_HAS_FPU if !CPU_SH4AL_DSP
Paul Mundt4fa48e12009-05-08 15:28:15 +0900194 select SYS_SUPPORTS_TMU
Paul Mundtb5f42db2007-11-08 18:38:14 +0900195
196config CPU_SH4A
197 bool
198 select CPU_SH4
199
200config CPU_SH4AL_DSP
201 bool
202 select CPU_SH4A
203 select CPU_HAS_DSP
204
Paul Mundtea0e1a92007-11-21 15:58:01 +0900205config CPU_SH5
206 bool
207 select CPU_HAS_FPU
Paul Mundtadd47062009-05-08 16:12:17 +0900208 select SYS_SUPPORTS_TMU
Paul Mundtea0e1a92007-11-21 15:58:01 +0900209
Paul Mundtb5f42db2007-11-08 18:38:14 +0900210config CPU_SHX2
211 bool
212
213config CPU_SHX3
214 bool
215
Paul Mundtdc65a972009-03-10 16:26:29 +0900216config ARCH_SHMOBILE
217 bool
Magnus Damm77594912009-03-13 15:23:04 +0000218 select ARCH_SUSPEND_POSSIBLE
Paul Mundtdc65a972009-03-10 16:26:29 +0900219
Paul Mundt3cc000b2009-04-11 08:39:27 +0900220if SUPERH32
221
Paul Mundtb5f42db2007-11-08 18:38:14 +0900222choice
223 prompt "Processor sub-type selection"
224
225#
226# Processor subtypes
227#
228
229# SH-2 Processor Support
230
231config CPU_SUBTYPE_SH7619
232 bool "Support SH7619 processor"
233 select CPU_SH2
Paul Mundtf5ad8812009-01-29 18:08:58 +0900234 select SYS_SUPPORTS_CMT
Paul Mundtb5f42db2007-11-08 18:38:14 +0900235
236# SH-2A Processor Support
237
Peter Griffin28259992008-11-28 22:48:20 +0900238config CPU_SUBTYPE_SH7201
239 bool "Support SH7201 processor"
240 select CPU_SH2A
241 select CPU_HAS_FPU
Magnus Dammda107c62009-04-30 07:06:26 +0000242 select SYS_SUPPORTS_MTU2
Peter Griffin28259992008-11-28 22:48:20 +0900243
Paul Mundt6d01f512007-11-26 18:17:21 +0900244config CPU_SUBTYPE_SH7203
245 bool "Support SH7203 processor"
246 select CPU_SH2A
Paul Mundt74d99a52007-11-26 20:38:36 +0900247 select CPU_HAS_FPU
Paul Mundtf5ad8812009-01-29 18:08:58 +0900248 select SYS_SUPPORTS_CMT
Magnus Dammda107c62009-04-30 07:06:26 +0000249 select SYS_SUPPORTS_MTU2
Paul Mundt6d01f512007-11-26 18:17:21 +0900250
Paul Mundtb5f42db2007-11-08 18:38:14 +0900251config CPU_SUBTYPE_SH7206
252 bool "Support SH7206 processor"
253 select CPU_SH2A
Paul Mundtf5ad8812009-01-29 18:08:58 +0900254 select SYS_SUPPORTS_CMT
Magnus Dammda107c62009-04-30 07:06:26 +0000255 select SYS_SUPPORTS_MTU2
Paul Mundtb5f42db2007-11-08 18:38:14 +0900256
Paul Mundta8f67f42007-11-26 19:54:02 +0900257config CPU_SUBTYPE_SH7263
258 bool "Support SH7263 processor"
259 select CPU_SH2A
Paul Mundt74d99a52007-11-26 20:38:36 +0900260 select CPU_HAS_FPU
Paul Mundtf5ad8812009-01-29 18:08:58 +0900261 select SYS_SUPPORTS_CMT
Magnus Dammda107c62009-04-30 07:06:26 +0000262 select SYS_SUPPORTS_MTU2
Paul Mundta8f67f42007-11-26 19:54:02 +0900263
Paul Mundt2ad69902008-03-13 12:52:44 +0900264config CPU_SUBTYPE_MXG
265 bool "Support MX-G processor"
266 select CPU_SH2A
Magnus Dammda107c62009-04-30 07:06:26 +0000267 select SYS_SUPPORTS_MTU2
Paul Mundt2ad69902008-03-13 12:52:44 +0900268 help
269 Select MX-G if running on an R8A03022BG part.
270
Paul Mundtb5f42db2007-11-08 18:38:14 +0900271# SH-3 Processor Support
272
273config CPU_SUBTYPE_SH7705
274 bool "Support SH7705 processor"
275 select CPU_SH3
276
277config CPU_SUBTYPE_SH7706
278 bool "Support SH7706 processor"
279 select CPU_SH3
280 help
281 Select SH7706 if you have a 133 Mhz SH-3 HD6417706 CPU.
282
283config CPU_SUBTYPE_SH7707
284 bool "Support SH7707 processor"
285 select CPU_SH3
286 help
287 Select SH7707 if you have a 60 Mhz SH-3 HD6417707 CPU.
288
289config CPU_SUBTYPE_SH7708
290 bool "Support SH7708 processor"
291 select CPU_SH3
292 help
293 Select SH7708 if you have a 60 Mhz SH-3 HD6417708S or
294 if you have a 100 Mhz SH-3 HD6417708R CPU.
295
296config CPU_SUBTYPE_SH7709
297 bool "Support SH7709 processor"
298 select CPU_SH3
299 help
300 Select SH7709 if you have a 80 Mhz SH-3 HD6417709 CPU.
301
302config CPU_SUBTYPE_SH7710
303 bool "Support SH7710 processor"
304 select CPU_SH3
305 select CPU_HAS_DSP
306 help
307 Select SH7710 if you have a SH3-DSP SH7710 CPU.
308
309config CPU_SUBTYPE_SH7712
310 bool "Support SH7712 processor"
311 select CPU_SH3
312 select CPU_HAS_DSP
313 help
314 Select SH7712 if you have a SH3-DSP SH7712 CPU.
315
316config CPU_SUBTYPE_SH7720
317 bool "Support SH7720 processor"
318 select CPU_SH3
319 select CPU_HAS_DSP
Magnus Damm2b23a882009-05-12 10:21:11 +0000320 select SYS_SUPPORTS_CMT
Paul Mundtb5f42db2007-11-08 18:38:14 +0900321 help
322 Select SH7720 if you have a SH3-DSP SH7720 CPU.
323
Yoshihiro Shimoda31a49c42007-12-26 11:45:06 +0900324config CPU_SUBTYPE_SH7721
325 bool "Support SH7721 processor"
326 select CPU_SH3
327 select CPU_HAS_DSP
Magnus Damm2b23a882009-05-12 10:21:11 +0000328 select SYS_SUPPORTS_CMT
Yoshihiro Shimoda31a49c42007-12-26 11:45:06 +0900329 help
330 Select SH7721 if you have a SH3-DSP SH7721 CPU.
331
Paul Mundtb5f42db2007-11-08 18:38:14 +0900332# SH-4 Processor Support
333
334config CPU_SUBTYPE_SH7750
335 bool "Support SH7750 processor"
336 select CPU_SH4
337 help
338 Select SH7750 if you have a 200 Mhz SH-4 HD6417750 CPU.
339
340config CPU_SUBTYPE_SH7091
341 bool "Support SH7091 processor"
342 select CPU_SH4
343 help
344 Select SH7091 if you have an SH-4 based Sega device (such as
345 the Dreamcast, Naomi, and Naomi 2).
346
347config CPU_SUBTYPE_SH7750R
348 bool "Support SH7750R processor"
349 select CPU_SH4
350
351config CPU_SUBTYPE_SH7750S
352 bool "Support SH7750S processor"
353 select CPU_SH4
354
355config CPU_SUBTYPE_SH7751
356 bool "Support SH7751 processor"
357 select CPU_SH4
358 help
359 Select SH7751 if you have a 166 Mhz SH-4 HD6417751 CPU,
360 or if you have a HD6417751R CPU.
361
362config CPU_SUBTYPE_SH7751R
363 bool "Support SH7751R processor"
364 select CPU_SH4
365
366config CPU_SUBTYPE_SH7760
367 bool "Support SH7760 processor"
368 select CPU_SH4
369
370config CPU_SUBTYPE_SH4_202
371 bool "Support SH4-202 processor"
372 select CPU_SH4
373
374# SH-4A Processor Support
375
Paul Mundt178dd0c2008-04-09 17:56:18 +0900376config CPU_SUBTYPE_SH7723
377 bool "Support SH7723 processor"
378 select CPU_SH4A
379 select CPU_SHX2
Paul Mundtdc65a972009-03-10 16:26:29 +0900380 select ARCH_SHMOBILE
Paul Mundt178dd0c2008-04-09 17:56:18 +0900381 select ARCH_SPARSEMEM_ENABLE
Paul Mundtf5ad8812009-01-29 18:08:58 +0900382 select SYS_SUPPORTS_CMT
Paul Mundt178dd0c2008-04-09 17:56:18 +0900383 help
384 Select SH7723 if you have an SH-MobileR2 CPU.
385
Kuninori Morimoto0207a2e2009-04-16 14:40:56 +0900386config CPU_SUBTYPE_SH7724
387 bool "Support SH7724 processor"
388 select CPU_SH4A
389 select CPU_SHX2
Paul Mundt59fe7002009-04-16 15:43:42 +0900390 select ARCH_SHMOBILE
Kuninori Morimoto0207a2e2009-04-16 14:40:56 +0900391 select ARCH_SPARSEMEM_ENABLE
392 select SYS_SUPPORTS_CMT
393 help
394 Select SH7724 if you have an SH-MobileR2R CPU.
395
Yoshihiro Shimoda7d740a02008-01-07 14:40:07 +0900396config CPU_SUBTYPE_SH7763
397 bool "Support SH7763 processor"
398 select CPU_SH4A
399 help
400 Select SH7763 if you have a SH4A SH7763(R5S77631) CPU.
401
Paul Mundtb5f42db2007-11-08 18:38:14 +0900402config CPU_SUBTYPE_SH7770
403 bool "Support SH7770 processor"
404 select CPU_SH4A
405
406config CPU_SUBTYPE_SH7780
407 bool "Support SH7780 processor"
408 select CPU_SH4A
409
410config CPU_SUBTYPE_SH7785
411 bool "Support SH7785 processor"
412 select CPU_SH4A
413 select CPU_SHX2
414 select ARCH_SPARSEMEM_ENABLE
415 select SYS_SUPPORTS_NUMA
416
Kuninori Morimoto55ba99e2009-03-03 15:40:25 +0900417config CPU_SUBTYPE_SH7786
418 bool "Support SH7786 processor"
419 select CPU_SH4A
Paul Mundt37042fb2009-03-03 15:57:02 +0900420 select CPU_SHX3
Paul Mundt8263a672009-03-17 17:49:49 +0900421 select CPU_HAS_PTEAEX
Kuninori Morimoto55ba99e2009-03-03 15:40:25 +0900422 select ARCH_SPARSEMEM_ENABLE
423 select SYS_SUPPORTS_NUMA
Paul Mundt2eb2a432009-06-19 16:00:00 +0900424 select SYS_SUPPORTS_SMP
425 select GENERIC_CLOCKEVENTS_BROADCAST if SMP
Kuninori Morimoto55ba99e2009-03-03 15:40:25 +0900426
Paul Mundtb5f42db2007-11-08 18:38:14 +0900427config CPU_SUBTYPE_SHX3
428 bool "Support SH-X3 processor"
429 select CPU_SH4A
430 select CPU_SHX3
431 select ARCH_SPARSEMEM_ENABLE
432 select SYS_SUPPORTS_NUMA
433 select SYS_SUPPORTS_SMP
Paul Mundt58402632008-09-05 15:36:39 +0900434 select GENERIC_CLOCKEVENTS_BROADCAST if SMP
Paul Mundtb5f42db2007-11-08 18:38:14 +0900435
436# SH4AL-DSP Processor Support
437
438config CPU_SUBTYPE_SH7343
439 bool "Support SH7343 processor"
440 select CPU_SH4AL_DSP
Paul Mundtdc65a972009-03-10 16:26:29 +0900441 select ARCH_SHMOBILE
Paul Mundtf5ad8812009-01-29 18:08:58 +0900442 select SYS_SUPPORTS_CMT
Paul Mundtb5f42db2007-11-08 18:38:14 +0900443
444config CPU_SUBTYPE_SH7722
445 bool "Support SH7722 processor"
446 select CPU_SH4AL_DSP
447 select CPU_SHX2
Paul Mundtdc65a972009-03-10 16:26:29 +0900448 select ARCH_SHMOBILE
Paul Mundtb5f42db2007-11-08 18:38:14 +0900449 select ARCH_SPARSEMEM_ENABLE
450 select SYS_SUPPORTS_NUMA
Paul Mundtf5ad8812009-01-29 18:08:58 +0900451 select SYS_SUPPORTS_CMT
Paul Mundtb5f42db2007-11-08 18:38:14 +0900452
Magnus Damm9109a302008-02-08 17:31:24 +0900453config CPU_SUBTYPE_SH7366
454 bool "Support SH7366 processor"
455 select CPU_SH4AL_DSP
456 select CPU_SHX2
Paul Mundtdc65a972009-03-10 16:26:29 +0900457 select ARCH_SHMOBILE
Magnus Damm9109a302008-02-08 17:31:24 +0900458 select ARCH_SPARSEMEM_ENABLE
459 select SYS_SUPPORTS_NUMA
Paul Mundtf5ad8812009-01-29 18:08:58 +0900460 select SYS_SUPPORTS_CMT
Magnus Damm9109a302008-02-08 17:31:24 +0900461
Paul Mundt3cc000b2009-04-11 08:39:27 +0900462endchoice
463
464endif
465
466if SUPERH64
467
468choice
469 prompt "Processor sub-type selection"
470
Paul Mundtea0e1a92007-11-21 15:58:01 +0900471# SH-5 Processor Support
472
473config CPU_SUBTYPE_SH5_101
474 bool "Support SH5-101 processor"
475 select CPU_SH5
476
477config CPU_SUBTYPE_SH5_103
478 bool "Support SH5-103 processor"
Paul Mundt8ef97dd2008-02-14 15:30:54 +0900479 select CPU_SH5
Paul Mundtea0e1a92007-11-21 15:58:01 +0900480
Paul Mundtb5f42db2007-11-08 18:38:14 +0900481endchoice
482
Paul Mundt3cc000b2009-04-11 08:39:27 +0900483endif
484
Paul Mundtcad82442006-01-16 22:14:19 -0800485source "arch/sh/mm/Kconfig"
Paul Mundt939a24a2008-07-29 21:41:37 +0900486
Paul Mundt4690bdc2007-11-09 13:45:42 +0900487source "arch/sh/Kconfig.cpu"
Paul Mundtcad82442006-01-16 22:14:19 -0800488
Paul Mundt939a24a2008-07-29 21:41:37 +0900489source "arch/sh/boards/Kconfig"
Paul Mundtf3d22292007-05-14 17:29:12 +0900490
Paul Mundt32351a22007-03-12 14:38:59 +0900491menu "Timer and clock configuration"
492
Magnus Damm9570ef22009-05-01 06:51:00 +0000493config SH_TIMER_TMU
494 bool "TMU timer driver"
Magnus Dammf19900b2009-05-12 10:25:54 +0000495 depends on SYS_SUPPORTS_TMU
Magnus Damm9570ef22009-05-01 06:51:00 +0000496 default y
Magnus Damm9570ef22009-05-01 06:51:00 +0000497 help
498 This enables the build of the TMU timer driver.
499
Paul Mundtf5ad8812009-01-29 18:08:58 +0900500config SH_TIMER_CMT
Magnus Dammf4257522009-04-30 04:09:26 +0000501 bool "CMT timer driver"
502 depends on SYS_SUPPORTS_CMT
503 default y
Magnus Dammf4257522009-04-30 04:09:26 +0000504 help
505 This enables build of the CMT timer driver.
Paul Mundtf5ad8812009-01-29 18:08:58 +0900506
Magnus Dammd5ed4c22009-04-30 07:02:49 +0000507config SH_TIMER_MTU2
508 bool "MTU2 timer driver"
Magnus Damm3280c882009-04-30 07:12:09 +0000509 depends on SYS_SUPPORTS_MTU2
Magnus Dammd5ed4c22009-04-30 07:02:49 +0000510 default y
Magnus Dammd5ed4c22009-04-30 07:02:49 +0000511 help
512 This enables build of the MTU2 timer driver.
513
Paul Mundtcad82442006-01-16 22:14:19 -0800514config SH_PCLK_FREQ
515 int "Peripheral clock frequency (in Hz)"
Magnus Damm870e8a22007-07-25 10:49:21 +0900516 default "27000000" if CPU_SUBTYPE_SH7343
Yoshinori Sato9d4436a2006-11-05 15:40:13 +0900517 default "31250000" if CPU_SUBTYPE_SH7619
Paul Mundt05627482007-05-15 16:25:47 +0900518 default "32000000" if CPU_SUBTYPE_SH7722
Paul Mundt178dd0c2008-04-09 17:56:18 +0900519 default "33333333" if CPU_SUBTYPE_SH7770 || CPU_SUBTYPE_SH7723 || \
Yoshinori Sato9d4436a2006-11-05 15:40:13 +0900520 CPU_SUBTYPE_SH7760 || CPU_SUBTYPE_SH7705 || \
Paul Mundta8f67f42007-11-26 19:54:02 +0900521 CPU_SUBTYPE_SH7203 || CPU_SUBTYPE_SH7206 || \
Paul Mundta4b1fdd2009-03-05 17:52:34 +0900522 CPU_SUBTYPE_SH7263 || CPU_SUBTYPE_MXG || \
Kuninori Morimoto47785412009-05-29 07:41:26 +0000523 CPU_SUBTYPE_SH7786 || CPU_SUBTYPE_SH7724
Paul Mundt05627482007-05-15 16:25:47 +0900524 default "60000000" if CPU_SUBTYPE_SH7751 || CPU_SUBTYPE_SH7751R
Paul Mundtcad82442006-01-16 22:14:19 -0800525 default "66000000" if CPU_SUBTYPE_SH4_202
Paul Mundt05627482007-05-15 16:25:47 +0900526 default "50000000"
Paul Mundtcad82442006-01-16 22:14:19 -0800527 help
528 This option is used to specify the peripheral clock frequency.
529 This is necessary for determining the reference clock value on
530 platforms lacking an RTC.
531
Paul Mundt36aa1e32009-05-22 14:00:34 +0900532config SH_CLK_CPG
533 def_bool y
534
Paul Mundt253b0882009-05-13 17:38:11 +0900535config SH_CLK_CPG_LEGACY
Paul Mundt36aa1e32009-05-22 14:00:34 +0900536 depends on SH_CLK_CPG
Magnus Damm46e93712009-06-04 07:37:59 +0000537 def_bool y if !CPU_SUBTYPE_SH7785 && !ARCH_SHMOBILE
Paul Mundt253b0882009-05-13 17:38:11 +0900538
Yoshinori Sato9d4436a2006-11-05 15:40:13 +0900539config SH_CLK_MD
540 int "CPU Mode Pin Setting"
Paul Mundt6d01f512007-11-26 18:17:21 +0900541 depends on CPU_SH2
Paul Mundt357d5942007-06-11 15:32:07 +0900542 default 6 if CPU_SUBTYPE_SH7206
543 default 5 if CPU_SUBTYPE_SH7619
544 default 0
Yoshinori Sato9d4436a2006-11-05 15:40:13 +0900545 help
Yoshinori Sato11cbb702006-12-07 18:07:27 +0900546 MD2 - MD0 pin setting.
Yoshinori Sato9d4436a2006-11-05 15:40:13 +0900547
Paul Mundt57be2b42007-05-09 17:33:24 +0900548source "kernel/time/Kconfig"
549
Paul Mundt32351a22007-03-12 14:38:59 +0900550endmenu
551
Paul Mundtcad82442006-01-16 22:14:19 -0800552menu "CPU Frequency scaling"
553
554source "drivers/cpufreq/Kconfig"
555
556config SH_CPU_FREQ
557 tristate "SuperH CPU Frequency driver"
Paul Mundtcb5ec752007-07-20 13:38:19 +0900558 depends on CPU_FREQ
Paul Mundtcad82442006-01-16 22:14:19 -0800559 select CPU_FREQ_TABLE
560 help
Paul Mundt8a655052008-12-17 15:06:54 +0900561 This adds the cpufreq driver for SuperH. Any CPU that supports
562 clock rate rounding through the clock framework can use this
563 driver. While it will make the kernel slightly larger, this is
564 harmless for CPUs that don't support rate rounding. The driver
565 will also generate a notice in the boot log before disabling
566 itself if the CPU in question is not capable of rate rounding.
Paul Mundtcad82442006-01-16 22:14:19 -0800567
568 For details, take a look at <file:Documentation/cpu-freq>.
569
570 If unsure, say N.
571
572endmenu
573
Paul Mundt9f5e8ee2006-11-24 11:22:57 +0900574source "arch/sh/drivers/Kconfig"
575
Paul Mundtcad82442006-01-16 22:14:19 -0800576endmenu
577
Paul Mundtcad82442006-01-16 22:14:19 -0800578menu "Kernel features"
579
Paul Mundt91b91d02006-09-27 18:08:33 +0900580source kernel/Kconfig.hz
581
Paul Mundtcad82442006-01-16 22:14:19 -0800582config KEXEC
583 bool "kexec system call (EXPERIMENTAL)"
Nobuhiro Iwamatsuf36b59d2009-03-26 08:32:37 +0000584 depends on SUPERH32 && EXPERIMENTAL && MMU
Paul Mundtcad82442006-01-16 22:14:19 -0800585 help
586 kexec is a system call that implements the ability to shutdown your
587 current kernel, and to start another kernel. It is like a reboot
Matt LaPlante1f1332f2006-06-29 01:32:47 -0400588 but it is independent of the system firmware. And like a reboot
Paul Mundtcad82442006-01-16 22:14:19 -0800589 you can start any kernel with it, not just Linux.
590
Matt LaPlante1f1332f2006-06-29 01:32:47 -0400591 The name comes from the similarity to the exec system call.
Paul Mundtcad82442006-01-16 22:14:19 -0800592
593 It is an ongoing process to be certain the hardware in a machine
594 is properly shutdown, so do not be surprised if this code does not
595 initially work for you. It may help to enable device hotplugging
596 support. As of this writing the exact hardware interface is
597 strongly in flux, so no good recommendation can be made.
598
Paul Mundt4d5ade52007-04-27 11:25:57 +0900599config CRASH_DUMP
600 bool "kernel crash dumps (EXPERIMENTAL)"
Paul Mundt640f7482008-04-25 13:04:56 +0900601 depends on SUPERH32 && EXPERIMENTAL
Paul Mundt4d5ade52007-04-27 11:25:57 +0900602 help
603 Generate crash dump after being started by kexec.
604 This should be normally only set in special crash dump kernels
605 which are loaded in the main kernel with kexec-tools into
606 a specially reserved region and then later executed after
607 a crash by kdump/kexec. The crash dump kernel must be compiled
608 to a memory address not used by the main kernel using
609 MEMORY_START.
610
611 For more details see Documentation/kdump/kdump.txt
612
Magnus Dammb7cf6dd2009-03-18 08:51:29 +0000613config KEXEC_JUMP
614 bool "kexec jump (EXPERIMENTAL)"
615 depends on SUPERH32 && KEXEC && HIBERNATION && EXPERIMENTAL
616 help
617 Jump between original kernel and kexeced kernel and invoke
618 code via KEXEC
619
Paul Mundtc4637d42008-07-30 15:30:52 +0900620config SECCOMP
621 bool "Enable seccomp to safely compute untrusted bytecode"
622 depends on PROC_FS
Paul Mundtc4637d42008-07-30 15:30:52 +0900623 help
624 This kernel feature is useful for number crunching applications
625 that may need to compute untrusted bytecode during their
626 execution. By using pipes or other transports made available to
627 the process as file descriptors supporting the read/write
628 syscalls, it's possible to isolate those applications in
629 their own address space using seccomp. Once seccomp is
630 enabled via prctl, it cannot be disabled and the task is only
631 allowed to execute a few safe syscalls defined by each seccomp
632 mode.
633
634 If unsure, say N.
635
Linus Torvalds1da177e2005-04-16 15:20:36 -0700636config SMP
637 bool "Symmetric multi-processing support"
Paul Mundt357d5942007-06-11 15:32:07 +0900638 depends on SYS_SUPPORTS_SMP
Jens Axboe490f5de2008-06-10 20:52:59 +0200639 select USE_GENERIC_SMP_HELPERS
Linus Torvalds1da177e2005-04-16 15:20:36 -0700640 ---help---
641 This enables support for systems with more than one CPU. If you have
642 a system with only one CPU, like most personal computers, say N. If
643 you have a system with more than one CPU, say Y.
644
645 If you say N here, the kernel will run on single and multiprocessor
646 machines, but will use only one CPU of a multiprocessor machine. If
647 you say Y here, the kernel will run on many, but not all,
648 singleprocessor machines. On a singleprocessor machine, the kernel
649 will run faster if you say N here.
650
651 People using multiprocessor machines who say Y here should also say
652 Y to "Enhanced Real Time Clock Support", below.
653
Adrian Bunk03502fa2008-02-03 15:50:21 +0200654 See also <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO
655 available at <http://www.tldp.org/docs.html#howto>.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700656
657 If you don't know what to do here, say N.
658
659config NR_CPUS
660 int "Maximum number of CPUs (2-32)"
661 range 2 32
662 depends on SMP
Paul Mundt2eb2a432009-06-19 16:00:00 +0900663 default "4" if CPU_SUBTYPE_SHX3
Linus Torvalds1da177e2005-04-16 15:20:36 -0700664 default "2"
665 help
666 This allows you to specify the maximum number of CPUs which this
667 kernel will support. The maximum supported value is 32 and the
668 minimum value which makes sense is 2.
669
670 This is purely to save memory - each supported CPU adds
671 approximately eight kilobytes to the kernel image.
672
Paul Mundt91b91d02006-09-27 18:08:33 +0900673source "kernel/Kconfig.preempt"
674
Paul Mundt83662462007-09-28 16:04:49 +0900675config GUSA
676 def_bool y
Stuart Menefy1efe4ce2007-11-30 16:12:36 +0900677 depends on !SMP && SUPERH32
Paul Mundt83662462007-09-28 16:04:49 +0900678 help
679 This enables support for gUSA (general UserSpace Atomicity).
680 This is the default implementation for both UP and non-ll/sc
681 CPUs, and is used by the libc, amongst others.
682
683 For additional information, design information can be found
684 in <http://lc.linux.or.jp/lc2002/papers/niibe0919p.pdf>.
685
686 This should only be disabled for special cases where alternate
687 atomicity implementations exist.
688
Stuart Menefy1efe4ce2007-11-30 16:12:36 +0900689config GUSA_RB
690 bool "Implement atomic operations by roll-back (gRB) (EXPERIMENTAL)"
691 depends on GUSA && CPU_SH3 || (CPU_SH4 && !CPU_SH4A)
692 help
693 Enabling this option will allow the kernel to implement some
Matt LaPlante692105b2009-01-26 11:12:25 +0100694 atomic operations using a software implementation of load-locked/
Stuart Menefy1efe4ce2007-11-30 16:12:36 +0900695 store-conditional (LLSC). On machines which do not have hardware
696 LLSC, this should be more efficient than the other alternative of
Matt LaPlante692105b2009-01-26 11:12:25 +0100697 disabling interrupts around the atomic sequence.
Stuart Menefy1efe4ce2007-11-30 16:12:36 +0900698
Paul Mundt54ff3282009-06-11 10:33:09 +0300699config SPARSE_IRQ
700 bool "Support sparse irq numbering"
701 depends on EXPERIMENTAL
702 help
703 This enables support for sparse irqs. This is useful in general
704 as most CPUs have a fairly sparse array of IRQ vectors, which
705 the irq_desc then maps directly on to. Systems with a high
706 number of off-chip IRQs will want to treat this as
707 experimental until they have been independently verified.
708
709 If you don't know what to do here, say N.
710
Paul Mundtcad82442006-01-16 22:14:19 -0800711endmenu
712
713menu "Boot options"
714
715config ZERO_PAGE_OFFSET
Paul Mundtb412a49a2009-05-10 01:23:25 +0900716 hex
717 default "0x00010000" if PAGE_SIZE_64KB || SH_RTS7751R2D || \
718 SH_7751_SOLUTION_ENGINE
719 default "0x00004000" if PAGE_SIZE_16KB || SH_SH03
Paul Mundt7a847f82006-12-26 15:29:19 +0900720 default "0x00002000" if PAGE_SIZE_8KB
Paul Mundtcad82442006-01-16 22:14:19 -0800721 default "0x00001000"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700722 help
Paul Mundtcad82442006-01-16 22:14:19 -0800723 This sets the default offset of zero page.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700724
Paul Mundtcad82442006-01-16 22:14:19 -0800725config BOOT_LINK_OFFSET
Paul Mundtb412a49a2009-05-10 01:23:25 +0900726 hex
727 default "0x00210000" if SH_SHMIN
Paul Mundta2e76c82009-05-10 00:54:39 +0900728 default "0x00400000" if SH_CAYMAN
Paul Mundtb412a49a2009-05-10 01:23:25 +0900729 default "0x00810000" if SH_7780_SOLUTION_ENGINE
730 default "0x009e0000" if SH_TITAN
731 default "0x01800000" if SH_SDK7780
732 default "0x02000000" if SH_EDOSK7760
Paul Mundtcad82442006-01-16 22:14:19 -0800733 default "0x00800000"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700734 help
Paul Mundtcad82442006-01-16 22:14:19 -0800735 This option allows you to set the link address offset of the zImage.
736 This can be useful if you are on a board which has a small amount of
737 memory.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700738
Paul Mundtb412a49a2009-05-10 01:23:25 +0900739config ENTRY_OFFSET
740 hex
741 default "0x00001000" if PAGE_SIZE_4KB
742 default "0x00002000" if PAGE_SIZE_8KB
743 default "0x00004000" if PAGE_SIZE_16KB
744 default "0x00010000" if PAGE_SIZE_64KB
745 default "0x00000000"
746
Paul Mundtcad82442006-01-16 22:14:19 -0800747config UBC_WAKEUP
748 bool "Wakeup UBC on startup"
Paul Mundt0e3a9aa2007-11-06 15:55:36 +0900749 depends on CPU_SH4 && !CPU_SH4A
Paul Mundtcad82442006-01-16 22:14:19 -0800750 help
751 Selecting this option will wakeup the User Break Controller (UBC) on
752 startup. Although the UBC is left in an awake state when the processor
753 comes up, some boot loaders misbehave by putting the UBC to sleep in a
754 power saving state, which causes issues with things like ptrace().
Linus Torvalds1da177e2005-04-16 15:20:36 -0700755
756 If unsure, say N.
757
Paul Mundtcad82442006-01-16 22:14:19 -0800758config CMDLINE_BOOL
759 bool "Default bootloader kernel arguments"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700760
Paul Mundtcad82442006-01-16 22:14:19 -0800761config CMDLINE
762 string "Initial kernel command string"
763 depends on CMDLINE_BOOL
764 default "console=ttySC1,115200"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700765
766endmenu
767
Paul Mundtcad82442006-01-16 22:14:19 -0800768menu "Bus options"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700769
Paul Mundtcad82442006-01-16 22:14:19 -0800770config SUPERHYWAY
771 tristate "SuperHyway Bus support"
772 depends on CPU_SUBTYPE_SH4_202
Linus Torvalds1da177e2005-04-16 15:20:36 -0700773
Adrian McMenamin17be2d22007-09-21 15:55:55 +0900774config MAPLE
Paul Mundte16038a2009-01-09 15:12:30 +0900775 bool "Maple Bus support"
776 depends on SH_DREAMCAST
777 help
778 The Maple Bus is SEGA's serial communication bus for peripherals
779 on the Dreamcast. Without this bus support you won't be able to
780 get your Dreamcast keyboard etc to work, so most users
781 probably want to say 'Y' here, unless you are only using the
782 Dreamcast with a serial line terminal or a remote network
783 connection.
Adrian McMenamin17be2d22007-09-21 15:55:55 +0900784
Linus Torvalds1da177e2005-04-16 15:20:36 -0700785source "arch/sh/drivers/pci/Kconfig"
786
Paul Mundte16038a2009-01-09 15:12:30 +0900787source "drivers/pci/pcie/Kconfig"
788
Linus Torvalds1da177e2005-04-16 15:20:36 -0700789source "drivers/pci/Kconfig"
790
791source "drivers/pcmcia/Kconfig"
792
793source "drivers/pci/hotplug/Kconfig"
794
795endmenu
796
797menu "Executable file formats"
798
799source "fs/Kconfig.binfmt"
800
801endmenu
802
Andriy Skulysh3aa770e2006-09-27 16:20:22 +0900803menu "Power management options (EXPERIMENTAL)"
Magnus Dammaf998a92008-12-04 22:45:12 +0900804depends on EXPERIMENTAL
Johannes Bergf4cb5702007-12-08 02:14:00 +0100805
Magnus Dammc6f17cb2008-12-04 22:45:20 +0900806source "kernel/power/Kconfig"
807
808source "drivers/cpuidle/Kconfig"
Andriy Skulysh3aa770e2006-09-27 16:20:22 +0900809
Andriy Skulysh3aa770e2006-09-27 16:20:22 +0900810endmenu
811
Sam Ravnborgd5950b42005-07-11 21:03:49 -0700812source "net/Kconfig"
813
Linus Torvalds1da177e2005-04-16 15:20:36 -0700814source "drivers/Kconfig"
815
816source "fs/Kconfig"
817
Linus Torvalds1da177e2005-04-16 15:20:36 -0700818source "arch/sh/Kconfig.debug"
819
820source "security/Kconfig"
821
822source "crypto/Kconfig"
823
824source "lib/Kconfig"