blob: d563884833e94dcddbf7958ad2797c3f610f0d53 [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
Ingo Molnarcdd6c482009-09-21 12:02:48 +020019 select HAVE_PERF_EVENTS
Paul Mundtdf8ce252009-07-12 01:37:30 +090020 select HAVE_KERNEL_GZIP
Paul Mundt07e88e12009-07-11 13:21:19 -040021 select HAVE_KERNEL_BZIP2
22 select HAVE_KERNEL_LZMA
Paul Mundta74f7e02009-09-16 14:30:34 +090023 select HAVE_SYSCALL_TRACEPOINTS
Paul Mundt6eac1af2009-05-08 19:48:47 +090024 select RTC_LIB
Paul Mundtf01789c2009-06-17 10:43:13 +090025 select GENERIC_ATOMIC64
Linus Torvalds1da177e2005-04-16 15:20:36 -070026 help
27 The SuperH is a RISC processor targeted for use in embedded systems
28 and consumer electronics; it was also used in the Sega Dreamcast
29 gaming console. The SuperH port has a home page at
30 <http://www.linux-sh.org/>.
31
Paul Mundt39d28a22007-11-08 18:39:33 +090032config SUPERH32
Paul Mundt3cc000b2009-04-11 08:39:27 +090033 def_bool ARCH = "sh"
Chris Smithd39f5452008-09-05 17:15:39 +090034 select HAVE_KPROBES
35 select HAVE_KRETPROBES
Paul Mundt694f94f2008-10-31 16:20:36 +090036 select HAVE_FUNCTION_TRACER
Matt Flemingfad57fe2008-11-12 20:11:47 +090037 select HAVE_FTRACE_MCOUNT_RECORD
38 select HAVE_DYNAMIC_FTRACE
Matt Flemingc1340c02009-06-28 14:05:44 +010039 select HAVE_FUNCTION_TRACE_MCOUNT_TEST
Matt Fleming327933f2009-07-11 00:29:03 +000040 select HAVE_FUNCTION_GRAPH_TRACER
Paul Mundtab6e5702008-12-11 18:46:46 +090041 select HAVE_ARCH_KGDB
Paul Mundt09a07292009-11-09 16:27:40 +090042 select HAVE_HW_BREAKPOINT if CPU_SH4A
Paul Mundt8dafc342009-04-02 11:56:38 +090043 select ARCH_HIBERNATION_POSSIBLE if MMU
Paul Mundtea0e1a92007-11-21 15:58:01 +090044
45config SUPERH64
Paul Mundt3cc000b2009-04-11 08:39:27 +090046 def_bool ARCH = "sh64"
Paul Mundt39d28a22007-11-08 18:39:33 +090047
Paul Mundtf42b7e32008-07-29 20:12:51 +090048config ARCH_DEFCONFIG
49 string
50 default "arch/sh/configs/shx3_defconfig" if SUPERH32
51 default "arch/sh/configs/cayman_defconfig" if SUPERH64
52
Linus Torvalds1da177e2005-04-16 15:20:36 -070053config RWSEM_GENERIC_SPINLOCK
Harvey Harrisond7ef4fb2007-12-11 13:49:35 +090054 def_bool y
Linus Torvalds1da177e2005-04-16 15:20:36 -070055
56config RWSEM_XCHGADD_ALGORITHM
57 bool
58
Paul Mundtfa691512007-03-08 19:41:21 +090059config GENERIC_BUG
60 def_bool y
Paul Mundta82d53e2007-11-21 18:22:05 +090061 depends on BUG && SUPERH32
Paul Mundtfa691512007-03-08 19:41:21 +090062
Paul Mundt3767f3f2009-06-15 00:00:42 +090063config GENERIC_CSUM
64 def_bool y
65 depends on SUPERH64
66
Akinobu Mitae2268c72006-03-26 01:39:35 -080067config GENERIC_FIND_NEXT_BIT
Harvey Harrisond7ef4fb2007-12-11 13:49:35 +090068 def_bool y
Akinobu Mitae2268c72006-03-26 01:39:35 -080069
70config GENERIC_HWEIGHT
Harvey Harrisond7ef4fb2007-12-11 13:49:35 +090071 def_bool y
Akinobu Mitae2268c72006-03-26 01:39:35 -080072
Linus Torvalds1da177e2005-04-16 15:20:36 -070073config GENERIC_HARDIRQS
Harvey Harrisond7ef4fb2007-12-11 13:49:35 +090074 def_bool y
Linus Torvalds1da177e2005-04-16 15:20:36 -070075
Paul Mundt5093c9a2008-08-04 14:17:13 +090076config GENERIC_HARDIRQS_NO__DO_IRQ
77 def_bool y
78
Linus Torvalds1da177e2005-04-16 15:20:36 -070079config GENERIC_IRQ_PROBE
Harvey Harrisond7ef4fb2007-12-11 13:49:35 +090080 def_bool y
Linus Torvalds1da177e2005-04-16 15:20:36 -070081
Paul Mundt2eb2a432009-06-19 16:00:00 +090082config IRQ_PER_CPU
83 def_bool y
84
Magnus Damm2967dab2008-10-08 20:41:43 +090085config GENERIC_GPIO
86 def_bool n
87
Linus Torvalds1da177e2005-04-16 15:20:36 -070088config GENERIC_CALIBRATE_DELAY
Paul Mundtcf204fa2008-09-08 20:47:42 +090089 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -070090
Paul Mundtcad82442006-01-16 22:14:19 -080091config GENERIC_IOMAP
92 bool
93
Paul Mundt45882142006-10-04 13:21:45 +090094config GENERIC_TIME
john stultz75634312009-05-01 13:10:28 -070095 def_bool y
Paul Mundt45882142006-10-04 13:21:45 +090096
Paul Mundt57be2b42007-05-09 17:33:24 +090097config GENERIC_CLOCKEVENTS
Paul Mundt938edae2009-05-03 18:12:26 +090098 def_bool y
Paul Mundt57be2b42007-05-09 17:33:24 +090099
Paul Mundt8c245942008-08-06 18:37:07 +0900100config GENERIC_CLOCKEVENTS_BROADCAST
101 bool
102
Paul Mundt6d134b92009-05-08 16:36:13 +0900103config GENERIC_CMOS_UPDATE
104 def_bool y
105 depends on SH_SH03 || SH_DREAMCAST
106
Paul Mundtbdcab872008-08-04 14:09:15 +0900107config GENERIC_LOCKBREAK
108 def_bool y
109 depends on SMP && PREEMPT
110
Paul Mundt357d5942007-06-11 15:32:07 +0900111config SYS_SUPPORTS_PM
112 bool
Magnus Dammaf998a92008-12-04 22:45:12 +0900113 depends on !SMP
114
115config ARCH_SUSPEND_POSSIBLE
116 def_bool n
117
118config ARCH_HIBERNATION_POSSIBLE
119 def_bool n
Paul Mundt357d5942007-06-11 15:32:07 +0900120
Paul Mundt0a9b0db2007-01-24 21:56:20 +0900121config SYS_SUPPORTS_APM_EMULATION
122 bool
Magnus Dammaf998a92008-12-04 22:45:12 +0900123 select ARCH_SUSPEND_POSSIBLE
Paul Mundt357d5942007-06-11 15:32:07 +0900124
Paul Mundtffb4a732009-10-27 07:22:37 +0900125config SYS_SUPPORTS_HUGETLBFS
126 bool
127
Paul Mundt357d5942007-06-11 15:32:07 +0900128config SYS_SUPPORTS_SMP
129 bool
130
131config SYS_SUPPORTS_NUMA
132 bool
133
134config SYS_SUPPORTS_PCI
135 bool
Paul Mundt0a9b0db2007-01-24 21:56:20 +0900136
Paul Mundtf5ad8812009-01-29 18:08:58 +0900137config SYS_SUPPORTS_CMT
138 bool
139
Magnus Dammd5ed4c22009-04-30 07:02:49 +0000140config SYS_SUPPORTS_MTU2
141 bool
142
Magnus Damm9570ef22009-05-01 06:51:00 +0000143config SYS_SUPPORTS_TMU
144 bool
145
Paul Mundtafbfb522006-12-04 18:17:28 +0900146config STACKTRACE_SUPPORT
Harvey Harrisond7ef4fb2007-12-11 13:49:35 +0900147 def_bool y
Paul Mundtafbfb522006-12-04 18:17:28 +0900148
149config LOCKDEP_SUPPORT
Harvey Harrisond7ef4fb2007-12-11 13:49:35 +0900150 def_bool y
Paul Mundtafbfb522006-12-04 18:17:28 +0900151
Paul Mundt5a89f1a2008-09-13 01:44:03 +0900152config HAVE_LATENCYTOP_SUPPORT
153 def_bool y
154 depends on !SMP
155
David Howellsf0d1b0b2006-12-08 02:37:49 -0800156config ARCH_HAS_ILOG2_U32
Harvey Harrisond7ef4fb2007-12-11 13:49:35 +0900157 def_bool n
David Howellsf0d1b0b2006-12-08 02:37:49 -0800158
159config ARCH_HAS_ILOG2_U64
Harvey Harrisond7ef4fb2007-12-11 13:49:35 +0900160 def_bool n
David Howellsf0d1b0b2006-12-08 02:37:49 -0800161
Paul Mundte257ad02007-07-25 11:18:00 +0900162config ARCH_NO_VIRT_TO_BUS
163 def_bool y
164
Paul Mundte869a902009-04-02 13:08:31 +0900165config ARCH_HAS_DEFAULT_IDLE
166 def_bool y
167
Paul Mundt2e046b92009-06-19 14:40:51 +0900168config ARCH_HAS_CPU_IDLE_WAIT
169 def_bool y
170
Magnus Damme7cc9a72008-02-07 20:18:21 +0900171config IO_TRAPPED
172 bool
173
Linus Torvalds1da177e2005-04-16 15:20:36 -0700174source "init/Kconfig"
175
Matt Helsleydc52ddc2008-10-18 20:27:21 -0700176source "kernel/Kconfig.freezer"
177
Linus Torvalds1da177e2005-04-16 15:20:36 -0700178menu "System type"
179
Paul Mundtb5f42db2007-11-08 18:38:14 +0900180#
181# Processor families
182#
183config CPU_SH2
184 bool
185
186config CPU_SH2A
187 bool
188 select CPU_SH2
189
190config CPU_SH3
191 bool
192 select CPU_HAS_INTEVT
193 select CPU_HAS_SR_RB
Paul Mundt4fa48e12009-05-08 15:28:15 +0900194 select SYS_SUPPORTS_TMU
Paul Mundtb5f42db2007-11-08 18:38:14 +0900195
196config CPU_SH4
197 bool
198 select CPU_HAS_INTEVT
199 select CPU_HAS_SR_RB
Paul Mundtb5f42db2007-11-08 18:38:14 +0900200 select CPU_HAS_FPU if !CPU_SH4AL_DSP
Paul Mundt4fa48e12009-05-08 15:28:15 +0900201 select SYS_SUPPORTS_TMU
Paul Mundtffb4a732009-10-27 07:22:37 +0900202 select SYS_SUPPORTS_HUGETLBFS if MMU
Paul Mundtb5f42db2007-11-08 18:38:14 +0900203
204config CPU_SH4A
205 bool
206 select CPU_SH4
207
208config CPU_SH4AL_DSP
209 bool
210 select CPU_SH4A
211 select CPU_HAS_DSP
212
Paul Mundtea0e1a92007-11-21 15:58:01 +0900213config CPU_SH5
214 bool
215 select CPU_HAS_FPU
Paul Mundtadd47062009-05-08 16:12:17 +0900216 select SYS_SUPPORTS_TMU
Paul Mundtffb4a732009-10-27 07:22:37 +0900217 select SYS_SUPPORTS_HUGETLBFS if MMU
Paul Mundtea0e1a92007-11-21 15:58:01 +0900218
Paul Mundtb5f42db2007-11-08 18:38:14 +0900219config CPU_SHX2
220 bool
221
222config CPU_SHX3
223 bool
224
Paul Mundtdc65a972009-03-10 16:26:29 +0900225config ARCH_SHMOBILE
226 bool
Magnus Damm77594912009-03-13 15:23:04 +0000227 select ARCH_SUSPEND_POSSIBLE
Magnus Dammac2c5962009-08-19 10:31:53 +0000228 select PM
229 select PM_RUNTIME
Paul Mundtdc65a972009-03-10 16:26:29 +0900230
Paul Mundt3cc000b2009-04-11 08:39:27 +0900231if SUPERH32
232
Paul Mundtb5f42db2007-11-08 18:38:14 +0900233choice
234 prompt "Processor sub-type selection"
235
236#
237# Processor subtypes
238#
239
240# SH-2 Processor Support
241
242config CPU_SUBTYPE_SH7619
243 bool "Support SH7619 processor"
244 select CPU_SH2
Paul Mundtf5ad8812009-01-29 18:08:58 +0900245 select SYS_SUPPORTS_CMT
Paul Mundtb5f42db2007-11-08 18:38:14 +0900246
247# SH-2A Processor Support
248
Peter Griffin28259992008-11-28 22:48:20 +0900249config CPU_SUBTYPE_SH7201
250 bool "Support SH7201 processor"
251 select CPU_SH2A
252 select CPU_HAS_FPU
Magnus Dammda107c62009-04-30 07:06:26 +0000253 select SYS_SUPPORTS_MTU2
Peter Griffin28259992008-11-28 22:48:20 +0900254
Paul Mundt6d01f512007-11-26 18:17:21 +0900255config CPU_SUBTYPE_SH7203
256 bool "Support SH7203 processor"
257 select CPU_SH2A
Paul Mundt74d99a52007-11-26 20:38:36 +0900258 select CPU_HAS_FPU
Paul Mundtf5ad8812009-01-29 18:08:58 +0900259 select SYS_SUPPORTS_CMT
Magnus Dammda107c62009-04-30 07:06:26 +0000260 select SYS_SUPPORTS_MTU2
Paul Mundt6d01f512007-11-26 18:17:21 +0900261
Paul Mundtb5f42db2007-11-08 18:38:14 +0900262config CPU_SUBTYPE_SH7206
263 bool "Support SH7206 processor"
264 select CPU_SH2A
Paul Mundtf5ad8812009-01-29 18:08:58 +0900265 select SYS_SUPPORTS_CMT
Magnus Dammda107c62009-04-30 07:06:26 +0000266 select SYS_SUPPORTS_MTU2
Paul Mundtb5f42db2007-11-08 18:38:14 +0900267
Paul Mundta8f67f42007-11-26 19:54:02 +0900268config CPU_SUBTYPE_SH7263
269 bool "Support SH7263 processor"
270 select CPU_SH2A
Paul Mundt74d99a52007-11-26 20:38:36 +0900271 select CPU_HAS_FPU
Paul Mundtf5ad8812009-01-29 18:08:58 +0900272 select SYS_SUPPORTS_CMT
Magnus Dammda107c62009-04-30 07:06:26 +0000273 select SYS_SUPPORTS_MTU2
Paul Mundta8f67f42007-11-26 19:54:02 +0900274
Paul Mundt2ad69902008-03-13 12:52:44 +0900275config CPU_SUBTYPE_MXG
276 bool "Support MX-G processor"
277 select CPU_SH2A
Magnus Dammda107c62009-04-30 07:06:26 +0000278 select SYS_SUPPORTS_MTU2
Paul Mundt2ad69902008-03-13 12:52:44 +0900279 help
280 Select MX-G if running on an R8A03022BG part.
281
Paul Mundtb5f42db2007-11-08 18:38:14 +0900282# SH-3 Processor Support
283
284config CPU_SUBTYPE_SH7705
285 bool "Support SH7705 processor"
286 select CPU_SH3
287
288config CPU_SUBTYPE_SH7706
289 bool "Support SH7706 processor"
290 select CPU_SH3
291 help
292 Select SH7706 if you have a 133 Mhz SH-3 HD6417706 CPU.
293
294config CPU_SUBTYPE_SH7707
295 bool "Support SH7707 processor"
296 select CPU_SH3
297 help
298 Select SH7707 if you have a 60 Mhz SH-3 HD6417707 CPU.
299
300config CPU_SUBTYPE_SH7708
301 bool "Support SH7708 processor"
302 select CPU_SH3
303 help
304 Select SH7708 if you have a 60 Mhz SH-3 HD6417708S or
305 if you have a 100 Mhz SH-3 HD6417708R CPU.
306
307config CPU_SUBTYPE_SH7709
308 bool "Support SH7709 processor"
309 select CPU_SH3
310 help
311 Select SH7709 if you have a 80 Mhz SH-3 HD6417709 CPU.
312
313config CPU_SUBTYPE_SH7710
314 bool "Support SH7710 processor"
315 select CPU_SH3
316 select CPU_HAS_DSP
317 help
318 Select SH7710 if you have a SH3-DSP SH7710 CPU.
319
320config CPU_SUBTYPE_SH7712
321 bool "Support SH7712 processor"
322 select CPU_SH3
323 select CPU_HAS_DSP
324 help
325 Select SH7712 if you have a SH3-DSP SH7712 CPU.
326
327config CPU_SUBTYPE_SH7720
328 bool "Support SH7720 processor"
329 select CPU_SH3
330 select CPU_HAS_DSP
Magnus Damm2b23a882009-05-12 10:21:11 +0000331 select SYS_SUPPORTS_CMT
Paul Mundtb5f42db2007-11-08 18:38:14 +0900332 help
333 Select SH7720 if you have a SH3-DSP SH7720 CPU.
334
Yoshihiro Shimoda31a49c42007-12-26 11:45:06 +0900335config CPU_SUBTYPE_SH7721
336 bool "Support SH7721 processor"
337 select CPU_SH3
338 select CPU_HAS_DSP
Magnus Damm2b23a882009-05-12 10:21:11 +0000339 select SYS_SUPPORTS_CMT
Yoshihiro Shimoda31a49c42007-12-26 11:45:06 +0900340 help
341 Select SH7721 if you have a SH3-DSP SH7721 CPU.
342
Paul Mundtb5f42db2007-11-08 18:38:14 +0900343# SH-4 Processor Support
344
345config CPU_SUBTYPE_SH7750
346 bool "Support SH7750 processor"
347 select CPU_SH4
348 help
349 Select SH7750 if you have a 200 Mhz SH-4 HD6417750 CPU.
350
351config CPU_SUBTYPE_SH7091
352 bool "Support SH7091 processor"
353 select CPU_SH4
354 help
355 Select SH7091 if you have an SH-4 based Sega device (such as
356 the Dreamcast, Naomi, and Naomi 2).
357
358config CPU_SUBTYPE_SH7750R
359 bool "Support SH7750R processor"
360 select CPU_SH4
361
362config CPU_SUBTYPE_SH7750S
363 bool "Support SH7750S processor"
364 select CPU_SH4
365
366config CPU_SUBTYPE_SH7751
367 bool "Support SH7751 processor"
368 select CPU_SH4
369 help
370 Select SH7751 if you have a 166 Mhz SH-4 HD6417751 CPU,
371 or if you have a HD6417751R CPU.
372
373config CPU_SUBTYPE_SH7751R
374 bool "Support SH7751R processor"
375 select CPU_SH4
376
377config CPU_SUBTYPE_SH7760
378 bool "Support SH7760 processor"
379 select CPU_SH4
380
381config CPU_SUBTYPE_SH4_202
382 bool "Support SH4-202 processor"
383 select CPU_SH4
384
385# SH-4A Processor Support
386
Paul Mundt178dd0c2008-04-09 17:56:18 +0900387config CPU_SUBTYPE_SH7723
388 bool "Support SH7723 processor"
389 select CPU_SH4A
390 select CPU_SHX2
Paul Mundtdc65a972009-03-10 16:26:29 +0900391 select ARCH_SHMOBILE
Paul Mundt178dd0c2008-04-09 17:56:18 +0900392 select ARCH_SPARSEMEM_ENABLE
Paul Mundtf5ad8812009-01-29 18:08:58 +0900393 select SYS_SUPPORTS_CMT
Paul Mundt178dd0c2008-04-09 17:56:18 +0900394 help
395 Select SH7723 if you have an SH-MobileR2 CPU.
396
Kuninori Morimoto0207a2e2009-04-16 14:40:56 +0900397config CPU_SUBTYPE_SH7724
398 bool "Support SH7724 processor"
399 select CPU_SH4A
400 select CPU_SHX2
Paul Mundt59fe7002009-04-16 15:43:42 +0900401 select ARCH_SHMOBILE
Kuninori Morimoto0207a2e2009-04-16 14:40:56 +0900402 select ARCH_SPARSEMEM_ENABLE
403 select SYS_SUPPORTS_CMT
404 help
405 Select SH7724 if you have an SH-MobileR2R CPU.
406
Yoshihiro Shimodac01f0f12009-08-21 16:30:28 +0900407config CPU_SUBTYPE_SH7757
408 bool "Support SH7757 processor"
409 select CPU_SH4A
410 select CPU_SHX2
411 help
412 Select SH7757 if you have a SH4A SH7757 CPU.
413
Yoshihiro Shimoda7d740a02008-01-07 14:40:07 +0900414config CPU_SUBTYPE_SH7763
415 bool "Support SH7763 processor"
416 select CPU_SH4A
417 help
418 Select SH7763 if you have a SH4A SH7763(R5S77631) CPU.
419
Paul Mundtb5f42db2007-11-08 18:38:14 +0900420config CPU_SUBTYPE_SH7770
421 bool "Support SH7770 processor"
422 select CPU_SH4A
423
424config CPU_SUBTYPE_SH7780
425 bool "Support SH7780 processor"
426 select CPU_SH4A
427
428config CPU_SUBTYPE_SH7785
429 bool "Support SH7785 processor"
430 select CPU_SH4A
431 select CPU_SHX2
432 select ARCH_SPARSEMEM_ENABLE
433 select SYS_SUPPORTS_NUMA
434
Kuninori Morimoto55ba99e2009-03-03 15:40:25 +0900435config CPU_SUBTYPE_SH7786
436 bool "Support SH7786 processor"
437 select CPU_SH4A
Paul Mundt37042fb2009-03-03 15:57:02 +0900438 select CPU_SHX3
Paul Mundt8263a672009-03-17 17:49:49 +0900439 select CPU_HAS_PTEAEX
Kuninori Morimoto55ba99e2009-03-03 15:40:25 +0900440 select ARCH_SPARSEMEM_ENABLE
441 select SYS_SUPPORTS_NUMA
Paul Mundt2eb2a432009-06-19 16:00:00 +0900442 select SYS_SUPPORTS_SMP
443 select GENERIC_CLOCKEVENTS_BROADCAST if SMP
Kuninori Morimoto55ba99e2009-03-03 15:40:25 +0900444
Paul Mundtb5f42db2007-11-08 18:38:14 +0900445config CPU_SUBTYPE_SHX3
446 bool "Support SH-X3 processor"
447 select CPU_SH4A
448 select CPU_SHX3
449 select ARCH_SPARSEMEM_ENABLE
450 select SYS_SUPPORTS_NUMA
451 select SYS_SUPPORTS_SMP
Paul Mundt58402632008-09-05 15:36:39 +0900452 select GENERIC_CLOCKEVENTS_BROADCAST if SMP
Paul Mundtb5f42db2007-11-08 18:38:14 +0900453
454# SH4AL-DSP Processor Support
455
456config CPU_SUBTYPE_SH7343
457 bool "Support SH7343 processor"
458 select CPU_SH4AL_DSP
Paul Mundtdc65a972009-03-10 16:26:29 +0900459 select ARCH_SHMOBILE
Paul Mundtf5ad8812009-01-29 18:08:58 +0900460 select SYS_SUPPORTS_CMT
Paul Mundtb5f42db2007-11-08 18:38:14 +0900461
462config CPU_SUBTYPE_SH7722
463 bool "Support SH7722 processor"
464 select CPU_SH4AL_DSP
465 select CPU_SHX2
Paul Mundtdc65a972009-03-10 16:26:29 +0900466 select ARCH_SHMOBILE
Paul Mundtb5f42db2007-11-08 18:38:14 +0900467 select ARCH_SPARSEMEM_ENABLE
468 select SYS_SUPPORTS_NUMA
Paul Mundtf5ad8812009-01-29 18:08:58 +0900469 select SYS_SUPPORTS_CMT
Paul Mundtb5f42db2007-11-08 18:38:14 +0900470
Magnus Damm9109a302008-02-08 17:31:24 +0900471config CPU_SUBTYPE_SH7366
472 bool "Support SH7366 processor"
473 select CPU_SH4AL_DSP
474 select CPU_SHX2
Paul Mundtdc65a972009-03-10 16:26:29 +0900475 select ARCH_SHMOBILE
Magnus Damm9109a302008-02-08 17:31:24 +0900476 select ARCH_SPARSEMEM_ENABLE
477 select SYS_SUPPORTS_NUMA
Paul Mundtf5ad8812009-01-29 18:08:58 +0900478 select SYS_SUPPORTS_CMT
Magnus Damm9109a302008-02-08 17:31:24 +0900479
Paul Mundt3cc000b2009-04-11 08:39:27 +0900480endchoice
481
482endif
483
484if SUPERH64
485
486choice
487 prompt "Processor sub-type selection"
488
Paul Mundtea0e1a92007-11-21 15:58:01 +0900489# SH-5 Processor Support
490
491config CPU_SUBTYPE_SH5_101
492 bool "Support SH5-101 processor"
493 select CPU_SH5
494
495config CPU_SUBTYPE_SH5_103
496 bool "Support SH5-103 processor"
Paul Mundt8ef97dd2008-02-14 15:30:54 +0900497 select CPU_SH5
Paul Mundtea0e1a92007-11-21 15:58:01 +0900498
Paul Mundtb5f42db2007-11-08 18:38:14 +0900499endchoice
500
Paul Mundt3cc000b2009-04-11 08:39:27 +0900501endif
502
Paul Mundtcad82442006-01-16 22:14:19 -0800503source "arch/sh/mm/Kconfig"
Paul Mundt939a24a2008-07-29 21:41:37 +0900504
Paul Mundt4690bdc2007-11-09 13:45:42 +0900505source "arch/sh/Kconfig.cpu"
Paul Mundtcad82442006-01-16 22:14:19 -0800506
Paul Mundt939a24a2008-07-29 21:41:37 +0900507source "arch/sh/boards/Kconfig"
Paul Mundtf3d22292007-05-14 17:29:12 +0900508
Paul Mundt32351a22007-03-12 14:38:59 +0900509menu "Timer and clock configuration"
510
Magnus Damm9570ef22009-05-01 06:51:00 +0000511config SH_TIMER_TMU
512 bool "TMU timer driver"
Magnus Dammf19900b2009-05-12 10:25:54 +0000513 depends on SYS_SUPPORTS_TMU
Magnus Damm9570ef22009-05-01 06:51:00 +0000514 default y
Magnus Damm9570ef22009-05-01 06:51:00 +0000515 help
516 This enables the build of the TMU timer driver.
517
Paul Mundtf5ad8812009-01-29 18:08:58 +0900518config SH_TIMER_CMT
Magnus Dammf4257522009-04-30 04:09:26 +0000519 bool "CMT timer driver"
520 depends on SYS_SUPPORTS_CMT
521 default y
Magnus Dammf4257522009-04-30 04:09:26 +0000522 help
523 This enables build of the CMT timer driver.
Paul Mundtf5ad8812009-01-29 18:08:58 +0900524
Magnus Dammd5ed4c22009-04-30 07:02:49 +0000525config SH_TIMER_MTU2
526 bool "MTU2 timer driver"
Magnus Damm3280c882009-04-30 07:12:09 +0000527 depends on SYS_SUPPORTS_MTU2
Magnus Dammd5ed4c22009-04-30 07:02:49 +0000528 default y
Magnus Dammd5ed4c22009-04-30 07:02:49 +0000529 help
530 This enables build of the MTU2 timer driver.
531
Paul Mundtcad82442006-01-16 22:14:19 -0800532config SH_PCLK_FREQ
533 int "Peripheral clock frequency (in Hz)"
Magnus Damm870e8a22007-07-25 10:49:21 +0900534 default "27000000" if CPU_SUBTYPE_SH7343
Yoshinori Sato9d4436a2006-11-05 15:40:13 +0900535 default "31250000" if CPU_SUBTYPE_SH7619
Paul Mundt05627482007-05-15 16:25:47 +0900536 default "32000000" if CPU_SUBTYPE_SH7722
Paul Mundt178dd0c2008-04-09 17:56:18 +0900537 default "33333333" if CPU_SUBTYPE_SH7770 || CPU_SUBTYPE_SH7723 || \
Yoshinori Sato9d4436a2006-11-05 15:40:13 +0900538 CPU_SUBTYPE_SH7760 || CPU_SUBTYPE_SH7705 || \
Paul Mundta8f67f42007-11-26 19:54:02 +0900539 CPU_SUBTYPE_SH7203 || CPU_SUBTYPE_SH7206 || \
Paul Mundta4b1fdd2009-03-05 17:52:34 +0900540 CPU_SUBTYPE_SH7263 || CPU_SUBTYPE_MXG || \
Kuninori Morimoto47785412009-05-29 07:41:26 +0000541 CPU_SUBTYPE_SH7786 || CPU_SUBTYPE_SH7724
Paul Mundt05627482007-05-15 16:25:47 +0900542 default "60000000" if CPU_SUBTYPE_SH7751 || CPU_SUBTYPE_SH7751R
Paul Mundtcad82442006-01-16 22:14:19 -0800543 default "66000000" if CPU_SUBTYPE_SH4_202
Paul Mundt05627482007-05-15 16:25:47 +0900544 default "50000000"
Paul Mundtcad82442006-01-16 22:14:19 -0800545 help
546 This option is used to specify the peripheral clock frequency.
547 This is necessary for determining the reference clock value on
548 platforms lacking an RTC.
549
Paul Mundt36aa1e32009-05-22 14:00:34 +0900550config SH_CLK_CPG
551 def_bool y
552
Paul Mundt253b0882009-05-13 17:38:11 +0900553config SH_CLK_CPG_LEGACY
Paul Mundt36aa1e32009-05-22 14:00:34 +0900554 depends on SH_CLK_CPG
Magnus Damm46e93712009-06-04 07:37:59 +0000555 def_bool y if !CPU_SUBTYPE_SH7785 && !ARCH_SHMOBILE
Paul Mundt253b0882009-05-13 17:38:11 +0900556
Yoshinori Sato9d4436a2006-11-05 15:40:13 +0900557config SH_CLK_MD
558 int "CPU Mode Pin Setting"
Paul Mundt6d01f512007-11-26 18:17:21 +0900559 depends on CPU_SH2
Paul Mundt357d5942007-06-11 15:32:07 +0900560 default 6 if CPU_SUBTYPE_SH7206
561 default 5 if CPU_SUBTYPE_SH7619
562 default 0
Yoshinori Sato9d4436a2006-11-05 15:40:13 +0900563 help
Yoshinori Sato11cbb702006-12-07 18:07:27 +0900564 MD2 - MD0 pin setting.
Yoshinori Sato9d4436a2006-11-05 15:40:13 +0900565
Paul Mundt57be2b42007-05-09 17:33:24 +0900566source "kernel/time/Kconfig"
567
Paul Mundt32351a22007-03-12 14:38:59 +0900568endmenu
569
Paul Mundtcad82442006-01-16 22:14:19 -0800570menu "CPU Frequency scaling"
571
572source "drivers/cpufreq/Kconfig"
573
574config SH_CPU_FREQ
575 tristate "SuperH CPU Frequency driver"
Paul Mundtcb5ec752007-07-20 13:38:19 +0900576 depends on CPU_FREQ
Paul Mundtcad82442006-01-16 22:14:19 -0800577 select CPU_FREQ_TABLE
578 help
Paul Mundt8a655052008-12-17 15:06:54 +0900579 This adds the cpufreq driver for SuperH. Any CPU that supports
580 clock rate rounding through the clock framework can use this
581 driver. While it will make the kernel slightly larger, this is
582 harmless for CPUs that don't support rate rounding. The driver
583 will also generate a notice in the boot log before disabling
584 itself if the CPU in question is not capable of rate rounding.
Paul Mundtcad82442006-01-16 22:14:19 -0800585
586 For details, take a look at <file:Documentation/cpu-freq>.
587
588 If unsure, say N.
589
590endmenu
591
Paul Mundt9f5e8ee2006-11-24 11:22:57 +0900592source "arch/sh/drivers/Kconfig"
593
Paul Mundtcad82442006-01-16 22:14:19 -0800594endmenu
595
Paul Mundtcad82442006-01-16 22:14:19 -0800596menu "Kernel features"
597
Paul Mundt91b91d02006-09-27 18:08:33 +0900598source kernel/Kconfig.hz
599
Paul Mundtcad82442006-01-16 22:14:19 -0800600config KEXEC
601 bool "kexec system call (EXPERIMENTAL)"
Nobuhiro Iwamatsuf36b59d2009-03-26 08:32:37 +0000602 depends on SUPERH32 && EXPERIMENTAL && MMU
Paul Mundtcad82442006-01-16 22:14:19 -0800603 help
604 kexec is a system call that implements the ability to shutdown your
605 current kernel, and to start another kernel. It is like a reboot
Matt LaPlante1f1332f2006-06-29 01:32:47 -0400606 but it is independent of the system firmware. And like a reboot
Paul Mundtcad82442006-01-16 22:14:19 -0800607 you can start any kernel with it, not just Linux.
608
Matt LaPlante1f1332f2006-06-29 01:32:47 -0400609 The name comes from the similarity to the exec system call.
Paul Mundtcad82442006-01-16 22:14:19 -0800610
611 It is an ongoing process to be certain the hardware in a machine
612 is properly shutdown, so do not be surprised if this code does not
613 initially work for you. It may help to enable device hotplugging
614 support. As of this writing the exact hardware interface is
615 strongly in flux, so no good recommendation can be made.
616
Paul Mundt4d5ade52007-04-27 11:25:57 +0900617config CRASH_DUMP
618 bool "kernel crash dumps (EXPERIMENTAL)"
Paul Mundt640f7482008-04-25 13:04:56 +0900619 depends on SUPERH32 && EXPERIMENTAL
Paul Mundt4d5ade52007-04-27 11:25:57 +0900620 help
621 Generate crash dump after being started by kexec.
622 This should be normally only set in special crash dump kernels
623 which are loaded in the main kernel with kexec-tools into
624 a specially reserved region and then later executed after
625 a crash by kdump/kexec. The crash dump kernel must be compiled
626 to a memory address not used by the main kernel using
627 MEMORY_START.
628
629 For more details see Documentation/kdump/kdump.txt
630
Magnus Dammb7cf6dd2009-03-18 08:51:29 +0000631config KEXEC_JUMP
632 bool "kexec jump (EXPERIMENTAL)"
633 depends on SUPERH32 && KEXEC && HIBERNATION && EXPERIMENTAL
634 help
635 Jump between original kernel and kexeced kernel and invoke
636 code via KEXEC
637
Paul Mundtc4637d42008-07-30 15:30:52 +0900638config SECCOMP
639 bool "Enable seccomp to safely compute untrusted bytecode"
640 depends on PROC_FS
Paul Mundtc4637d42008-07-30 15:30:52 +0900641 help
642 This kernel feature is useful for number crunching applications
643 that may need to compute untrusted bytecode during their
644 execution. By using pipes or other transports made available to
645 the process as file descriptors supporting the read/write
646 syscalls, it's possible to isolate those applications in
647 their own address space using seccomp. Once seccomp is
648 enabled via prctl, it cannot be disabled and the task is only
649 allowed to execute a few safe syscalls defined by each seccomp
650 mode.
651
652 If unsure, say N.
653
Linus Torvalds1da177e2005-04-16 15:20:36 -0700654config SMP
655 bool "Symmetric multi-processing support"
Paul Mundt357d5942007-06-11 15:32:07 +0900656 depends on SYS_SUPPORTS_SMP
Jens Axboe490f5de2008-06-10 20:52:59 +0200657 select USE_GENERIC_SMP_HELPERS
Linus Torvalds1da177e2005-04-16 15:20:36 -0700658 ---help---
659 This enables support for systems with more than one CPU. If you have
660 a system with only one CPU, like most personal computers, say N. If
661 you have a system with more than one CPU, say Y.
662
663 If you say N here, the kernel will run on single and multiprocessor
664 machines, but will use only one CPU of a multiprocessor machine. If
665 you say Y here, the kernel will run on many, but not all,
666 singleprocessor machines. On a singleprocessor machine, the kernel
667 will run faster if you say N here.
668
669 People using multiprocessor machines who say Y here should also say
670 Y to "Enhanced Real Time Clock Support", below.
671
Adrian Bunk03502fa2008-02-03 15:50:21 +0200672 See also <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO
673 available at <http://www.tldp.org/docs.html#howto>.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700674
675 If you don't know what to do here, say N.
676
677config NR_CPUS
678 int "Maximum number of CPUs (2-32)"
679 range 2 32
680 depends on SMP
Paul Mundt2eb2a432009-06-19 16:00:00 +0900681 default "4" if CPU_SUBTYPE_SHX3
Linus Torvalds1da177e2005-04-16 15:20:36 -0700682 default "2"
683 help
684 This allows you to specify the maximum number of CPUs which this
685 kernel will support. The maximum supported value is 32 and the
686 minimum value which makes sense is 2.
687
688 This is purely to save memory - each supported CPU adds
689 approximately eight kilobytes to the kernel image.
690
Paul Mundt91b91d02006-09-27 18:08:33 +0900691source "kernel/Kconfig.preempt"
692
Paul Mundt83662462007-09-28 16:04:49 +0900693config GUSA
694 def_bool y
Stuart Menefy1efe4ce2007-11-30 16:12:36 +0900695 depends on !SMP && SUPERH32
Paul Mundt83662462007-09-28 16:04:49 +0900696 help
697 This enables support for gUSA (general UserSpace Atomicity).
698 This is the default implementation for both UP and non-ll/sc
699 CPUs, and is used by the libc, amongst others.
700
701 For additional information, design information can be found
702 in <http://lc.linux.or.jp/lc2002/papers/niibe0919p.pdf>.
703
704 This should only be disabled for special cases where alternate
705 atomicity implementations exist.
706
Stuart Menefy1efe4ce2007-11-30 16:12:36 +0900707config GUSA_RB
708 bool "Implement atomic operations by roll-back (gRB) (EXPERIMENTAL)"
709 depends on GUSA && CPU_SH3 || (CPU_SH4 && !CPU_SH4A)
710 help
711 Enabling this option will allow the kernel to implement some
Matt LaPlante692105b2009-01-26 11:12:25 +0100712 atomic operations using a software implementation of load-locked/
Stuart Menefy1efe4ce2007-11-30 16:12:36 +0900713 store-conditional (LLSC). On machines which do not have hardware
714 LLSC, this should be more efficient than the other alternative of
Matt LaPlante692105b2009-01-26 11:12:25 +0100715 disabling interrupts around the atomic sequence.
Stuart Menefy1efe4ce2007-11-30 16:12:36 +0900716
Paul Mundt54ff3282009-06-11 10:33:09 +0300717config SPARSE_IRQ
718 bool "Support sparse irq numbering"
719 depends on EXPERIMENTAL
720 help
721 This enables support for sparse irqs. This is useful in general
722 as most CPUs have a fairly sparse array of IRQ vectors, which
723 the irq_desc then maps directly on to. Systems with a high
724 number of off-chip IRQs will want to treat this as
725 experimental until they have been independently verified.
726
727 If you don't know what to do here, say N.
728
Paul Mundtcad82442006-01-16 22:14:19 -0800729endmenu
730
731menu "Boot options"
732
733config ZERO_PAGE_OFFSET
Paul Mundtb412a49a2009-05-10 01:23:25 +0900734 hex
735 default "0x00010000" if PAGE_SIZE_64KB || SH_RTS7751R2D || \
736 SH_7751_SOLUTION_ENGINE
737 default "0x00004000" if PAGE_SIZE_16KB || SH_SH03
Paul Mundt7a847f82006-12-26 15:29:19 +0900738 default "0x00002000" if PAGE_SIZE_8KB
Paul Mundtcad82442006-01-16 22:14:19 -0800739 default "0x00001000"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700740 help
Paul Mundtcad82442006-01-16 22:14:19 -0800741 This sets the default offset of zero page.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700742
Paul Mundtcad82442006-01-16 22:14:19 -0800743config BOOT_LINK_OFFSET
Paul Mundtb412a49a2009-05-10 01:23:25 +0900744 hex
745 default "0x00210000" if SH_SHMIN
Paul Mundta2e76c82009-05-10 00:54:39 +0900746 default "0x00400000" if SH_CAYMAN
Paul Mundtb412a49a2009-05-10 01:23:25 +0900747 default "0x00810000" if SH_7780_SOLUTION_ENGINE
748 default "0x009e0000" if SH_TITAN
749 default "0x01800000" if SH_SDK7780
750 default "0x02000000" if SH_EDOSK7760
Paul Mundtcad82442006-01-16 22:14:19 -0800751 default "0x00800000"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700752 help
Paul Mundtcad82442006-01-16 22:14:19 -0800753 This option allows you to set the link address offset of the zImage.
754 This can be useful if you are on a board which has a small amount of
755 memory.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700756
Paul Mundtb412a49a2009-05-10 01:23:25 +0900757config ENTRY_OFFSET
758 hex
759 default "0x00001000" if PAGE_SIZE_4KB
760 default "0x00002000" if PAGE_SIZE_8KB
761 default "0x00004000" if PAGE_SIZE_16KB
762 default "0x00010000" if PAGE_SIZE_64KB
763 default "0x00000000"
764
Paul Mundtcad82442006-01-16 22:14:19 -0800765config UBC_WAKEUP
766 bool "Wakeup UBC on startup"
Paul Mundt0e3a9aa2007-11-06 15:55:36 +0900767 depends on CPU_SH4 && !CPU_SH4A
Paul Mundtcad82442006-01-16 22:14:19 -0800768 help
769 Selecting this option will wakeup the User Break Controller (UBC) on
770 startup. Although the UBC is left in an awake state when the processor
771 comes up, some boot loaders misbehave by putting the UBC to sleep in a
772 power saving state, which causes issues with things like ptrace().
Linus Torvalds1da177e2005-04-16 15:20:36 -0700773
774 If unsure, say N.
775
Pawel Molld724a9c2009-08-24 16:25:38 +0900776choice
777 prompt "Kernel command line"
778 optional
779 default CMDLINE_OVERWRITE
780 help
781 Setting this option allows the kernel command line arguments
782 to be set.
783
784config CMDLINE_OVERWRITE
785 bool "Overwrite bootloader kernel arguments"
786 help
787 Given string will overwrite any arguments passed in by
788 a bootloader.
789
790config CMDLINE_EXTEND
791 bool "Extend bootloader kernel arguments"
792 help
793 Given string will be concatenated with arguments passed in
794 by a bootloader.
795
796endchoice
Linus Torvalds1da177e2005-04-16 15:20:36 -0700797
Paul Mundtcad82442006-01-16 22:14:19 -0800798config CMDLINE
Pawel Molld724a9c2009-08-24 16:25:38 +0900799 string "Kernel command line arguments string"
800 depends on CMDLINE_OVERWRITE || CMDLINE_EXTEND
Paul Mundtcad82442006-01-16 22:14:19 -0800801 default "console=ttySC1,115200"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700802
803endmenu
804
Paul Mundtcad82442006-01-16 22:14:19 -0800805menu "Bus options"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700806
Paul Mundtcad82442006-01-16 22:14:19 -0800807config SUPERHYWAY
808 tristate "SuperHyway Bus support"
809 depends on CPU_SUBTYPE_SH4_202
Linus Torvalds1da177e2005-04-16 15:20:36 -0700810
Adrian McMenamin17be2d22007-09-21 15:55:55 +0900811config MAPLE
Paul Mundte16038a2009-01-09 15:12:30 +0900812 bool "Maple Bus support"
813 depends on SH_DREAMCAST
814 help
815 The Maple Bus is SEGA's serial communication bus for peripherals
816 on the Dreamcast. Without this bus support you won't be able to
817 get your Dreamcast keyboard etc to work, so most users
818 probably want to say 'Y' here, unless you are only using the
819 Dreamcast with a serial line terminal or a remote network
820 connection.
Adrian McMenamin17be2d22007-09-21 15:55:55 +0900821
Linus Torvalds1da177e2005-04-16 15:20:36 -0700822source "arch/sh/drivers/pci/Kconfig"
823
Paul Mundte16038a2009-01-09 15:12:30 +0900824source "drivers/pci/pcie/Kconfig"
825
Linus Torvalds1da177e2005-04-16 15:20:36 -0700826source "drivers/pci/Kconfig"
827
828source "drivers/pcmcia/Kconfig"
829
830source "drivers/pci/hotplug/Kconfig"
831
832endmenu
833
834menu "Executable file formats"
835
836source "fs/Kconfig.binfmt"
837
838endmenu
839
Andriy Skulysh3aa770e2006-09-27 16:20:22 +0900840menu "Power management options (EXPERIMENTAL)"
Magnus Dammaf998a92008-12-04 22:45:12 +0900841depends on EXPERIMENTAL
Johannes Bergf4cb5702007-12-08 02:14:00 +0100842
Magnus Dammc6f17cb2008-12-04 22:45:20 +0900843source "kernel/power/Kconfig"
844
845source "drivers/cpuidle/Kconfig"
Andriy Skulysh3aa770e2006-09-27 16:20:22 +0900846
Andriy Skulysh3aa770e2006-09-27 16:20:22 +0900847endmenu
848
Sam Ravnborgd5950b42005-07-11 21:03:49 -0700849source "net/Kconfig"
850
Linus Torvalds1da177e2005-04-16 15:20:36 -0700851source "drivers/Kconfig"
852
853source "fs/Kconfig"
854
Linus Torvalds1da177e2005-04-16 15:20:36 -0700855source "arch/sh/Kconfig.debug"
856
857source "security/Kconfig"
858
859source "crypto/Kconfig"
860
861source "lib/Kconfig"