blob: 2d3a69993858361f62ba8dc8d26f71e90859f4e7 [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 Mundt73c926b2009-10-20 12:55:56 +090019 select HAVE_DMA_ATTRS
Ingo Molnarcdd6c482009-09-21 12:02:48 +020020 select HAVE_PERF_EVENTS
Paul Mundtdf8ce252009-07-12 01:37:30 +090021 select HAVE_KERNEL_GZIP
Paul Mundt07e88e12009-07-11 13:21:19 -040022 select HAVE_KERNEL_BZIP2
23 select HAVE_KERNEL_LZMA
Paul Mundta74f7e02009-09-16 14:30:34 +090024 select HAVE_SYSCALL_TRACEPOINTS
Paul Mundt6eac1af2009-05-08 19:48:47 +090025 select RTC_LIB
Paul Mundtf01789c2009-06-17 10:43:13 +090026 select GENERIC_ATOMIC64
Linus Torvalds1da177e2005-04-16 15:20:36 -070027 help
28 The SuperH is a RISC processor targeted for use in embedded systems
29 and consumer electronics; it was also used in the Sega Dreamcast
30 gaming console. The SuperH port has a home page at
31 <http://www.linux-sh.org/>.
32
Paul Mundt39d28a22007-11-08 18:39:33 +090033config SUPERH32
Paul Mundt3cc000b2009-04-11 08:39:27 +090034 def_bool ARCH = "sh"
Chris Smithd39f5452008-09-05 17:15:39 +090035 select HAVE_KPROBES
36 select HAVE_KRETPROBES
Paul Mundt694f94f2008-10-31 16:20:36 +090037 select HAVE_FUNCTION_TRACER
Matt Flemingfad57fe2008-11-12 20:11:47 +090038 select HAVE_FTRACE_MCOUNT_RECORD
39 select HAVE_DYNAMIC_FTRACE
Matt Flemingc1340c02009-06-28 14:05:44 +010040 select HAVE_FUNCTION_TRACE_MCOUNT_TEST
Paul Mundte4b053d2009-10-13 16:52:50 +090041 select HAVE_FTRACE_NMI_ENTER if DYNAMIC_FTRACE
Matt Fleming327933f2009-07-11 00:29:03 +000042 select HAVE_FUNCTION_GRAPH_TRACER
Paul Mundtab6e5702008-12-11 18:46:46 +090043 select HAVE_ARCH_KGDB
Paul Mundt8dafc342009-04-02 11:56:38 +090044 select ARCH_HIBERNATION_POSSIBLE if MMU
Paul Mundtea0e1a92007-11-21 15:58:01 +090045
46config SUPERH64
Paul Mundt3cc000b2009-04-11 08:39:27 +090047 def_bool ARCH = "sh64"
Paul Mundt39d28a22007-11-08 18:39:33 +090048
Paul Mundtf42b7e32008-07-29 20:12:51 +090049config ARCH_DEFCONFIG
50 string
51 default "arch/sh/configs/shx3_defconfig" if SUPERH32
52 default "arch/sh/configs/cayman_defconfig" if SUPERH64
53
Linus Torvalds1da177e2005-04-16 15:20:36 -070054config RWSEM_GENERIC_SPINLOCK
Harvey Harrisond7ef4fb2007-12-11 13:49:35 +090055 def_bool y
Linus Torvalds1da177e2005-04-16 15:20:36 -070056
57config RWSEM_XCHGADD_ALGORITHM
58 bool
59
Paul Mundtfa691512007-03-08 19:41:21 +090060config GENERIC_BUG
61 def_bool y
Paul Mundta82d53e2007-11-21 18:22:05 +090062 depends on BUG && SUPERH32
Paul Mundtfa691512007-03-08 19:41:21 +090063
Paul Mundt3767f3f2009-06-15 00:00:42 +090064config GENERIC_CSUM
65 def_bool y
66 depends on SUPERH64
67
Akinobu Mitae2268c72006-03-26 01:39:35 -080068config GENERIC_FIND_NEXT_BIT
Harvey Harrisond7ef4fb2007-12-11 13:49:35 +090069 def_bool y
Akinobu Mitae2268c72006-03-26 01:39:35 -080070
71config GENERIC_HWEIGHT
Harvey Harrisond7ef4fb2007-12-11 13:49:35 +090072 def_bool y
Akinobu Mitae2268c72006-03-26 01:39:35 -080073
Linus Torvalds1da177e2005-04-16 15:20:36 -070074config GENERIC_HARDIRQS
Harvey Harrisond7ef4fb2007-12-11 13:49:35 +090075 def_bool y
Linus Torvalds1da177e2005-04-16 15:20:36 -070076
Paul Mundt5093c9a2008-08-04 14:17:13 +090077config GENERIC_HARDIRQS_NO__DO_IRQ
78 def_bool y
79
Linus Torvalds1da177e2005-04-16 15:20:36 -070080config GENERIC_IRQ_PROBE
Harvey Harrisond7ef4fb2007-12-11 13:49:35 +090081 def_bool y
Linus Torvalds1da177e2005-04-16 15:20:36 -070082
Paul Mundt2eb2a432009-06-19 16:00:00 +090083config IRQ_PER_CPU
84 def_bool y
85
Magnus Damm2967dab2008-10-08 20:41:43 +090086config GENERIC_GPIO
87 def_bool n
88
Linus Torvalds1da177e2005-04-16 15:20:36 -070089config GENERIC_CALIBRATE_DELAY
Paul Mundtcf204fa2008-09-08 20:47:42 +090090 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -070091
Paul Mundtcad82442006-01-16 22:14:19 -080092config GENERIC_IOMAP
93 bool
94
Paul Mundt45882142006-10-04 13:21:45 +090095config GENERIC_TIME
john stultz75634312009-05-01 13:10:28 -070096 def_bool y
Paul Mundt45882142006-10-04 13:21:45 +090097
Paul Mundt57be2b42007-05-09 17:33:24 +090098config GENERIC_CLOCKEVENTS
Paul Mundt938edae2009-05-03 18:12:26 +090099 def_bool y
Paul Mundt57be2b42007-05-09 17:33:24 +0900100
Paul Mundt8c245942008-08-06 18:37:07 +0900101config GENERIC_CLOCKEVENTS_BROADCAST
102 bool
103
Paul Mundt6d134b92009-05-08 16:36:13 +0900104config GENERIC_CMOS_UPDATE
105 def_bool y
106 depends on SH_SH03 || SH_DREAMCAST
107
Paul Mundtbdcab872008-08-04 14:09:15 +0900108config GENERIC_LOCKBREAK
109 def_bool y
110 depends on SMP && PREEMPT
111
Paul Mundt357d5942007-06-11 15:32:07 +0900112config SYS_SUPPORTS_PM
113 bool
Magnus Dammaf998a92008-12-04 22:45:12 +0900114 depends on !SMP
115
116config ARCH_SUSPEND_POSSIBLE
117 def_bool n
118
119config ARCH_HIBERNATION_POSSIBLE
120 def_bool n
Paul Mundt357d5942007-06-11 15:32:07 +0900121
Paul Mundt0a9b0db2007-01-24 21:56:20 +0900122config SYS_SUPPORTS_APM_EMULATION
123 bool
Magnus Dammaf998a92008-12-04 22:45:12 +0900124 select ARCH_SUSPEND_POSSIBLE
Paul Mundt357d5942007-06-11 15:32:07 +0900125
126config SYS_SUPPORTS_SMP
127 bool
128
129config SYS_SUPPORTS_NUMA
130 bool
131
132config SYS_SUPPORTS_PCI
133 bool
Paul Mundt0a9b0db2007-01-24 21:56:20 +0900134
Paul Mundtf5ad8812009-01-29 18:08:58 +0900135config SYS_SUPPORTS_CMT
136 bool
137
Magnus Dammd5ed4c22009-04-30 07:02:49 +0000138config SYS_SUPPORTS_MTU2
139 bool
140
Magnus Damm9570ef22009-05-01 06:51:00 +0000141config SYS_SUPPORTS_TMU
142 bool
143
Paul Mundtafbfb522006-12-04 18:17:28 +0900144config STACKTRACE_SUPPORT
Harvey Harrisond7ef4fb2007-12-11 13:49:35 +0900145 def_bool y
Paul Mundtafbfb522006-12-04 18:17:28 +0900146
147config LOCKDEP_SUPPORT
Harvey Harrisond7ef4fb2007-12-11 13:49:35 +0900148 def_bool y
Paul Mundtafbfb522006-12-04 18:17:28 +0900149
Paul Mundt5a89f1a2008-09-13 01:44:03 +0900150config HAVE_LATENCYTOP_SUPPORT
151 def_bool y
152 depends on !SMP
153
David Howellsf0d1b0b2006-12-08 02:37:49 -0800154config ARCH_HAS_ILOG2_U32
Harvey Harrisond7ef4fb2007-12-11 13:49:35 +0900155 def_bool n
David Howellsf0d1b0b2006-12-08 02:37:49 -0800156
157config ARCH_HAS_ILOG2_U64
Harvey Harrisond7ef4fb2007-12-11 13:49:35 +0900158 def_bool n
David Howellsf0d1b0b2006-12-08 02:37:49 -0800159
Paul Mundte257ad02007-07-25 11:18:00 +0900160config ARCH_NO_VIRT_TO_BUS
161 def_bool y
162
Paul Mundte869a902009-04-02 13:08:31 +0900163config ARCH_HAS_DEFAULT_IDLE
164 def_bool y
165
Paul Mundt2e046b92009-06-19 14:40:51 +0900166config ARCH_HAS_CPU_IDLE_WAIT
167 def_bool y
168
Magnus Damme7cc9a72008-02-07 20:18:21 +0900169config IO_TRAPPED
170 bool
171
Linus Torvalds1da177e2005-04-16 15:20:36 -0700172source "init/Kconfig"
173
Matt Helsleydc52ddc2008-10-18 20:27:21 -0700174source "kernel/Kconfig.freezer"
175
Linus Torvalds1da177e2005-04-16 15:20:36 -0700176menu "System type"
177
Paul Mundtb5f42db2007-11-08 18:38:14 +0900178#
179# Processor families
180#
181config CPU_SH2
182 bool
183
184config CPU_SH2A
185 bool
186 select CPU_SH2
187
188config CPU_SH3
189 bool
190 select CPU_HAS_INTEVT
191 select CPU_HAS_SR_RB
Paul Mundt4fa48e12009-05-08 15:28:15 +0900192 select SYS_SUPPORTS_TMU
Paul Mundtb5f42db2007-11-08 18:38:14 +0900193
194config CPU_SH4
195 bool
196 select CPU_HAS_INTEVT
197 select CPU_HAS_SR_RB
Paul Mundtb5f42db2007-11-08 18:38:14 +0900198 select CPU_HAS_FPU if !CPU_SH4AL_DSP
Paul Mundt4fa48e12009-05-08 15:28:15 +0900199 select SYS_SUPPORTS_TMU
Paul Mundtb5f42db2007-11-08 18:38:14 +0900200
201config CPU_SH4A
202 bool
203 select CPU_SH4
204
205config CPU_SH4AL_DSP
206 bool
207 select CPU_SH4A
208 select CPU_HAS_DSP
209
Paul Mundtea0e1a92007-11-21 15:58:01 +0900210config CPU_SH5
211 bool
212 select CPU_HAS_FPU
Paul Mundtadd47062009-05-08 16:12:17 +0900213 select SYS_SUPPORTS_TMU
Paul Mundtea0e1a92007-11-21 15:58:01 +0900214
Paul Mundtb5f42db2007-11-08 18:38:14 +0900215config CPU_SHX2
216 bool
217
218config CPU_SHX3
219 bool
220
Paul Mundtdc65a972009-03-10 16:26:29 +0900221config ARCH_SHMOBILE
222 bool
Magnus Damm77594912009-03-13 15:23:04 +0000223 select ARCH_SUSPEND_POSSIBLE
Magnus Dammac2c5962009-08-19 10:31:53 +0000224 select PM
225 select PM_RUNTIME
Paul Mundtdc65a972009-03-10 16:26:29 +0900226
Paul Mundt3cc000b2009-04-11 08:39:27 +0900227if SUPERH32
228
Paul Mundtb5f42db2007-11-08 18:38:14 +0900229choice
230 prompt "Processor sub-type selection"
231
232#
233# Processor subtypes
234#
235
236# SH-2 Processor Support
237
238config CPU_SUBTYPE_SH7619
239 bool "Support SH7619 processor"
240 select CPU_SH2
Paul Mundtf5ad8812009-01-29 18:08:58 +0900241 select SYS_SUPPORTS_CMT
Paul Mundtb5f42db2007-11-08 18:38:14 +0900242
243# SH-2A Processor Support
244
Peter Griffin28259992008-11-28 22:48:20 +0900245config CPU_SUBTYPE_SH7201
246 bool "Support SH7201 processor"
247 select CPU_SH2A
248 select CPU_HAS_FPU
Magnus Dammda107c62009-04-30 07:06:26 +0000249 select SYS_SUPPORTS_MTU2
Peter Griffin28259992008-11-28 22:48:20 +0900250
Paul Mundt6d01f512007-11-26 18:17:21 +0900251config CPU_SUBTYPE_SH7203
252 bool "Support SH7203 processor"
253 select CPU_SH2A
Paul Mundt74d99a52007-11-26 20:38:36 +0900254 select CPU_HAS_FPU
Paul Mundtf5ad8812009-01-29 18:08:58 +0900255 select SYS_SUPPORTS_CMT
Magnus Dammda107c62009-04-30 07:06:26 +0000256 select SYS_SUPPORTS_MTU2
Paul Mundt6d01f512007-11-26 18:17:21 +0900257
Paul Mundtb5f42db2007-11-08 18:38:14 +0900258config CPU_SUBTYPE_SH7206
259 bool "Support SH7206 processor"
260 select CPU_SH2A
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 Mundtb5f42db2007-11-08 18:38:14 +0900263
Paul Mundta8f67f42007-11-26 19:54:02 +0900264config CPU_SUBTYPE_SH7263
265 bool "Support SH7263 processor"
266 select CPU_SH2A
Paul Mundt74d99a52007-11-26 20:38:36 +0900267 select CPU_HAS_FPU
Paul Mundtf5ad8812009-01-29 18:08:58 +0900268 select SYS_SUPPORTS_CMT
Magnus Dammda107c62009-04-30 07:06:26 +0000269 select SYS_SUPPORTS_MTU2
Paul Mundta8f67f42007-11-26 19:54:02 +0900270
Paul Mundt2ad69902008-03-13 12:52:44 +0900271config CPU_SUBTYPE_MXG
272 bool "Support MX-G processor"
273 select CPU_SH2A
Magnus Dammda107c62009-04-30 07:06:26 +0000274 select SYS_SUPPORTS_MTU2
Paul Mundt2ad69902008-03-13 12:52:44 +0900275 help
276 Select MX-G if running on an R8A03022BG part.
277
Paul Mundtb5f42db2007-11-08 18:38:14 +0900278# SH-3 Processor Support
279
280config CPU_SUBTYPE_SH7705
281 bool "Support SH7705 processor"
282 select CPU_SH3
283
284config CPU_SUBTYPE_SH7706
285 bool "Support SH7706 processor"
286 select CPU_SH3
287 help
288 Select SH7706 if you have a 133 Mhz SH-3 HD6417706 CPU.
289
290config CPU_SUBTYPE_SH7707
291 bool "Support SH7707 processor"
292 select CPU_SH3
293 help
294 Select SH7707 if you have a 60 Mhz SH-3 HD6417707 CPU.
295
296config CPU_SUBTYPE_SH7708
297 bool "Support SH7708 processor"
298 select CPU_SH3
299 help
300 Select SH7708 if you have a 60 Mhz SH-3 HD6417708S or
301 if you have a 100 Mhz SH-3 HD6417708R CPU.
302
303config CPU_SUBTYPE_SH7709
304 bool "Support SH7709 processor"
305 select CPU_SH3
306 help
307 Select SH7709 if you have a 80 Mhz SH-3 HD6417709 CPU.
308
309config CPU_SUBTYPE_SH7710
310 bool "Support SH7710 processor"
311 select CPU_SH3
312 select CPU_HAS_DSP
313 help
314 Select SH7710 if you have a SH3-DSP SH7710 CPU.
315
316config CPU_SUBTYPE_SH7712
317 bool "Support SH7712 processor"
318 select CPU_SH3
319 select CPU_HAS_DSP
320 help
321 Select SH7712 if you have a SH3-DSP SH7712 CPU.
322
323config CPU_SUBTYPE_SH7720
324 bool "Support SH7720 processor"
325 select CPU_SH3
326 select CPU_HAS_DSP
Magnus Damm2b23a882009-05-12 10:21:11 +0000327 select SYS_SUPPORTS_CMT
Paul Mundtb5f42db2007-11-08 18:38:14 +0900328 help
329 Select SH7720 if you have a SH3-DSP SH7720 CPU.
330
Yoshihiro Shimoda31a49c42007-12-26 11:45:06 +0900331config CPU_SUBTYPE_SH7721
332 bool "Support SH7721 processor"
333 select CPU_SH3
334 select CPU_HAS_DSP
Magnus Damm2b23a882009-05-12 10:21:11 +0000335 select SYS_SUPPORTS_CMT
Yoshihiro Shimoda31a49c42007-12-26 11:45:06 +0900336 help
337 Select SH7721 if you have a SH3-DSP SH7721 CPU.
338
Paul Mundtb5f42db2007-11-08 18:38:14 +0900339# SH-4 Processor Support
340
341config CPU_SUBTYPE_SH7750
342 bool "Support SH7750 processor"
343 select CPU_SH4
344 help
345 Select SH7750 if you have a 200 Mhz SH-4 HD6417750 CPU.
346
347config CPU_SUBTYPE_SH7091
348 bool "Support SH7091 processor"
349 select CPU_SH4
350 help
351 Select SH7091 if you have an SH-4 based Sega device (such as
352 the Dreamcast, Naomi, and Naomi 2).
353
354config CPU_SUBTYPE_SH7750R
355 bool "Support SH7750R processor"
356 select CPU_SH4
357
358config CPU_SUBTYPE_SH7750S
359 bool "Support SH7750S processor"
360 select CPU_SH4
361
362config CPU_SUBTYPE_SH7751
363 bool "Support SH7751 processor"
364 select CPU_SH4
365 help
366 Select SH7751 if you have a 166 Mhz SH-4 HD6417751 CPU,
367 or if you have a HD6417751R CPU.
368
369config CPU_SUBTYPE_SH7751R
370 bool "Support SH7751R processor"
371 select CPU_SH4
372
373config CPU_SUBTYPE_SH7760
374 bool "Support SH7760 processor"
375 select CPU_SH4
376
377config CPU_SUBTYPE_SH4_202
378 bool "Support SH4-202 processor"
379 select CPU_SH4
380
381# SH-4A Processor Support
382
Paul Mundt178dd0c2008-04-09 17:56:18 +0900383config CPU_SUBTYPE_SH7723
384 bool "Support SH7723 processor"
385 select CPU_SH4A
386 select CPU_SHX2
Paul Mundtdc65a972009-03-10 16:26:29 +0900387 select ARCH_SHMOBILE
Paul Mundt178dd0c2008-04-09 17:56:18 +0900388 select ARCH_SPARSEMEM_ENABLE
Paul Mundtf5ad8812009-01-29 18:08:58 +0900389 select SYS_SUPPORTS_CMT
Paul Mundt178dd0c2008-04-09 17:56:18 +0900390 help
391 Select SH7723 if you have an SH-MobileR2 CPU.
392
Kuninori Morimoto0207a2e2009-04-16 14:40:56 +0900393config CPU_SUBTYPE_SH7724
394 bool "Support SH7724 processor"
395 select CPU_SH4A
396 select CPU_SHX2
Paul Mundt59fe7002009-04-16 15:43:42 +0900397 select ARCH_SHMOBILE
Kuninori Morimoto0207a2e2009-04-16 14:40:56 +0900398 select ARCH_SPARSEMEM_ENABLE
399 select SYS_SUPPORTS_CMT
400 help
401 Select SH7724 if you have an SH-MobileR2R CPU.
402
Yoshihiro Shimodac01f0f12009-08-21 16:30:28 +0900403config CPU_SUBTYPE_SH7757
404 bool "Support SH7757 processor"
405 select CPU_SH4A
406 select CPU_SHX2
407 help
408 Select SH7757 if you have a SH4A SH7757 CPU.
409
Yoshihiro Shimoda7d740a02008-01-07 14:40:07 +0900410config CPU_SUBTYPE_SH7763
411 bool "Support SH7763 processor"
412 select CPU_SH4A
413 help
414 Select SH7763 if you have a SH4A SH7763(R5S77631) CPU.
415
Paul Mundtb5f42db2007-11-08 18:38:14 +0900416config CPU_SUBTYPE_SH7770
417 bool "Support SH7770 processor"
418 select CPU_SH4A
419
420config CPU_SUBTYPE_SH7780
421 bool "Support SH7780 processor"
422 select CPU_SH4A
423
424config CPU_SUBTYPE_SH7785
425 bool "Support SH7785 processor"
426 select CPU_SH4A
427 select CPU_SHX2
428 select ARCH_SPARSEMEM_ENABLE
429 select SYS_SUPPORTS_NUMA
430
Kuninori Morimoto55ba99e2009-03-03 15:40:25 +0900431config CPU_SUBTYPE_SH7786
432 bool "Support SH7786 processor"
433 select CPU_SH4A
Paul Mundt37042fb2009-03-03 15:57:02 +0900434 select CPU_SHX3
Paul Mundt8263a672009-03-17 17:49:49 +0900435 select CPU_HAS_PTEAEX
Kuninori Morimoto55ba99e2009-03-03 15:40:25 +0900436 select ARCH_SPARSEMEM_ENABLE
437 select SYS_SUPPORTS_NUMA
Paul Mundt2eb2a432009-06-19 16:00:00 +0900438 select SYS_SUPPORTS_SMP
439 select GENERIC_CLOCKEVENTS_BROADCAST if SMP
Kuninori Morimoto55ba99e2009-03-03 15:40:25 +0900440
Paul Mundtb5f42db2007-11-08 18:38:14 +0900441config CPU_SUBTYPE_SHX3
442 bool "Support SH-X3 processor"
443 select CPU_SH4A
444 select CPU_SHX3
445 select ARCH_SPARSEMEM_ENABLE
446 select SYS_SUPPORTS_NUMA
447 select SYS_SUPPORTS_SMP
Paul Mundt58402632008-09-05 15:36:39 +0900448 select GENERIC_CLOCKEVENTS_BROADCAST if SMP
Paul Mundtb5f42db2007-11-08 18:38:14 +0900449
450# SH4AL-DSP Processor Support
451
452config CPU_SUBTYPE_SH7343
453 bool "Support SH7343 processor"
454 select CPU_SH4AL_DSP
Paul Mundtdc65a972009-03-10 16:26:29 +0900455 select ARCH_SHMOBILE
Paul Mundtf5ad8812009-01-29 18:08:58 +0900456 select SYS_SUPPORTS_CMT
Paul Mundtb5f42db2007-11-08 18:38:14 +0900457
458config CPU_SUBTYPE_SH7722
459 bool "Support SH7722 processor"
460 select CPU_SH4AL_DSP
461 select CPU_SHX2
Paul Mundtdc65a972009-03-10 16:26:29 +0900462 select ARCH_SHMOBILE
Paul Mundtb5f42db2007-11-08 18:38:14 +0900463 select ARCH_SPARSEMEM_ENABLE
464 select SYS_SUPPORTS_NUMA
Paul Mundtf5ad8812009-01-29 18:08:58 +0900465 select SYS_SUPPORTS_CMT
Paul Mundtb5f42db2007-11-08 18:38:14 +0900466
Magnus Damm9109a302008-02-08 17:31:24 +0900467config CPU_SUBTYPE_SH7366
468 bool "Support SH7366 processor"
469 select CPU_SH4AL_DSP
470 select CPU_SHX2
Paul Mundtdc65a972009-03-10 16:26:29 +0900471 select ARCH_SHMOBILE
Magnus Damm9109a302008-02-08 17:31:24 +0900472 select ARCH_SPARSEMEM_ENABLE
473 select SYS_SUPPORTS_NUMA
Paul Mundtf5ad8812009-01-29 18:08:58 +0900474 select SYS_SUPPORTS_CMT
Magnus Damm9109a302008-02-08 17:31:24 +0900475
Paul Mundt3cc000b2009-04-11 08:39:27 +0900476endchoice
477
478endif
479
480if SUPERH64
481
482choice
483 prompt "Processor sub-type selection"
484
Paul Mundtea0e1a92007-11-21 15:58:01 +0900485# SH-5 Processor Support
486
487config CPU_SUBTYPE_SH5_101
488 bool "Support SH5-101 processor"
489 select CPU_SH5
490
491config CPU_SUBTYPE_SH5_103
492 bool "Support SH5-103 processor"
Paul Mundt8ef97dd2008-02-14 15:30:54 +0900493 select CPU_SH5
Paul Mundtea0e1a92007-11-21 15:58:01 +0900494
Paul Mundtb5f42db2007-11-08 18:38:14 +0900495endchoice
496
Paul Mundt3cc000b2009-04-11 08:39:27 +0900497endif
498
Paul Mundtcad82442006-01-16 22:14:19 -0800499source "arch/sh/mm/Kconfig"
Paul Mundt939a24a2008-07-29 21:41:37 +0900500
Paul Mundt4690bdc2007-11-09 13:45:42 +0900501source "arch/sh/Kconfig.cpu"
Paul Mundtcad82442006-01-16 22:14:19 -0800502
Paul Mundt939a24a2008-07-29 21:41:37 +0900503source "arch/sh/boards/Kconfig"
Paul Mundtf3d22292007-05-14 17:29:12 +0900504
Paul Mundt32351a22007-03-12 14:38:59 +0900505menu "Timer and clock configuration"
506
Magnus Damm9570ef22009-05-01 06:51:00 +0000507config SH_TIMER_TMU
508 bool "TMU timer driver"
Magnus Dammf19900b2009-05-12 10:25:54 +0000509 depends on SYS_SUPPORTS_TMU
Magnus Damm9570ef22009-05-01 06:51:00 +0000510 default y
Magnus Damm9570ef22009-05-01 06:51:00 +0000511 help
512 This enables the build of the TMU timer driver.
513
Paul Mundtf5ad8812009-01-29 18:08:58 +0900514config SH_TIMER_CMT
Magnus Dammf4257522009-04-30 04:09:26 +0000515 bool "CMT timer driver"
516 depends on SYS_SUPPORTS_CMT
517 default y
Magnus Dammf4257522009-04-30 04:09:26 +0000518 help
519 This enables build of the CMT timer driver.
Paul Mundtf5ad8812009-01-29 18:08:58 +0900520
Magnus Dammd5ed4c22009-04-30 07:02:49 +0000521config SH_TIMER_MTU2
522 bool "MTU2 timer driver"
Magnus Damm3280c882009-04-30 07:12:09 +0000523 depends on SYS_SUPPORTS_MTU2
Magnus Dammd5ed4c22009-04-30 07:02:49 +0000524 default y
Magnus Dammd5ed4c22009-04-30 07:02:49 +0000525 help
526 This enables build of the MTU2 timer driver.
527
Paul Mundtcad82442006-01-16 22:14:19 -0800528config SH_PCLK_FREQ
529 int "Peripheral clock frequency (in Hz)"
Magnus Damm870e8a22007-07-25 10:49:21 +0900530 default "27000000" if CPU_SUBTYPE_SH7343
Yoshinori Sato9d4436a2006-11-05 15:40:13 +0900531 default "31250000" if CPU_SUBTYPE_SH7619
Paul Mundt05627482007-05-15 16:25:47 +0900532 default "32000000" if CPU_SUBTYPE_SH7722
Paul Mundt178dd0c2008-04-09 17:56:18 +0900533 default "33333333" if CPU_SUBTYPE_SH7770 || CPU_SUBTYPE_SH7723 || \
Yoshinori Sato9d4436a2006-11-05 15:40:13 +0900534 CPU_SUBTYPE_SH7760 || CPU_SUBTYPE_SH7705 || \
Paul Mundta8f67f42007-11-26 19:54:02 +0900535 CPU_SUBTYPE_SH7203 || CPU_SUBTYPE_SH7206 || \
Paul Mundta4b1fdd2009-03-05 17:52:34 +0900536 CPU_SUBTYPE_SH7263 || CPU_SUBTYPE_MXG || \
Kuninori Morimoto47785412009-05-29 07:41:26 +0000537 CPU_SUBTYPE_SH7786 || CPU_SUBTYPE_SH7724
Paul Mundt05627482007-05-15 16:25:47 +0900538 default "60000000" if CPU_SUBTYPE_SH7751 || CPU_SUBTYPE_SH7751R
Paul Mundtcad82442006-01-16 22:14:19 -0800539 default "66000000" if CPU_SUBTYPE_SH4_202
Paul Mundt05627482007-05-15 16:25:47 +0900540 default "50000000"
Paul Mundtcad82442006-01-16 22:14:19 -0800541 help
542 This option is used to specify the peripheral clock frequency.
543 This is necessary for determining the reference clock value on
544 platforms lacking an RTC.
545
Paul Mundt36aa1e32009-05-22 14:00:34 +0900546config SH_CLK_CPG
547 def_bool y
548
Paul Mundt253b0882009-05-13 17:38:11 +0900549config SH_CLK_CPG_LEGACY
Paul Mundt36aa1e32009-05-22 14:00:34 +0900550 depends on SH_CLK_CPG
Magnus Damm46e93712009-06-04 07:37:59 +0000551 def_bool y if !CPU_SUBTYPE_SH7785 && !ARCH_SHMOBILE
Paul Mundt253b0882009-05-13 17:38:11 +0900552
Yoshinori Sato9d4436a2006-11-05 15:40:13 +0900553config SH_CLK_MD
554 int "CPU Mode Pin Setting"
Paul Mundt6d01f512007-11-26 18:17:21 +0900555 depends on CPU_SH2
Paul Mundt357d5942007-06-11 15:32:07 +0900556 default 6 if CPU_SUBTYPE_SH7206
557 default 5 if CPU_SUBTYPE_SH7619
558 default 0
Yoshinori Sato9d4436a2006-11-05 15:40:13 +0900559 help
Yoshinori Sato11cbb702006-12-07 18:07:27 +0900560 MD2 - MD0 pin setting.
Yoshinori Sato9d4436a2006-11-05 15:40:13 +0900561
Paul Mundt57be2b42007-05-09 17:33:24 +0900562source "kernel/time/Kconfig"
563
Paul Mundt32351a22007-03-12 14:38:59 +0900564endmenu
565
Paul Mundtcad82442006-01-16 22:14:19 -0800566menu "CPU Frequency scaling"
567
568source "drivers/cpufreq/Kconfig"
569
570config SH_CPU_FREQ
571 tristate "SuperH CPU Frequency driver"
Paul Mundtcb5ec752007-07-20 13:38:19 +0900572 depends on CPU_FREQ
Paul Mundtcad82442006-01-16 22:14:19 -0800573 select CPU_FREQ_TABLE
574 help
Paul Mundt8a655052008-12-17 15:06:54 +0900575 This adds the cpufreq driver for SuperH. Any CPU that supports
576 clock rate rounding through the clock framework can use this
577 driver. While it will make the kernel slightly larger, this is
578 harmless for CPUs that don't support rate rounding. The driver
579 will also generate a notice in the boot log before disabling
580 itself if the CPU in question is not capable of rate rounding.
Paul Mundtcad82442006-01-16 22:14:19 -0800581
582 For details, take a look at <file:Documentation/cpu-freq>.
583
584 If unsure, say N.
585
586endmenu
587
Paul Mundt9f5e8ee2006-11-24 11:22:57 +0900588source "arch/sh/drivers/Kconfig"
589
Paul Mundtcad82442006-01-16 22:14:19 -0800590endmenu
591
Paul Mundtcad82442006-01-16 22:14:19 -0800592menu "Kernel features"
593
Paul Mundt91b91d02006-09-27 18:08:33 +0900594source kernel/Kconfig.hz
595
Paul Mundtcad82442006-01-16 22:14:19 -0800596config KEXEC
597 bool "kexec system call (EXPERIMENTAL)"
Nobuhiro Iwamatsuf36b59d2009-03-26 08:32:37 +0000598 depends on SUPERH32 && EXPERIMENTAL && MMU
Paul Mundtcad82442006-01-16 22:14:19 -0800599 help
600 kexec is a system call that implements the ability to shutdown your
601 current kernel, and to start another kernel. It is like a reboot
Matt LaPlante1f1332f2006-06-29 01:32:47 -0400602 but it is independent of the system firmware. And like a reboot
Paul Mundtcad82442006-01-16 22:14:19 -0800603 you can start any kernel with it, not just Linux.
604
Matt LaPlante1f1332f2006-06-29 01:32:47 -0400605 The name comes from the similarity to the exec system call.
Paul Mundtcad82442006-01-16 22:14:19 -0800606
607 It is an ongoing process to be certain the hardware in a machine
608 is properly shutdown, so do not be surprised if this code does not
609 initially work for you. It may help to enable device hotplugging
610 support. As of this writing the exact hardware interface is
611 strongly in flux, so no good recommendation can be made.
612
Paul Mundt4d5ade52007-04-27 11:25:57 +0900613config CRASH_DUMP
614 bool "kernel crash dumps (EXPERIMENTAL)"
Paul Mundt640f7482008-04-25 13:04:56 +0900615 depends on SUPERH32 && EXPERIMENTAL
Paul Mundt4d5ade52007-04-27 11:25:57 +0900616 help
617 Generate crash dump after being started by kexec.
618 This should be normally only set in special crash dump kernels
619 which are loaded in the main kernel with kexec-tools into
620 a specially reserved region and then later executed after
621 a crash by kdump/kexec. The crash dump kernel must be compiled
622 to a memory address not used by the main kernel using
623 MEMORY_START.
624
625 For more details see Documentation/kdump/kdump.txt
626
Magnus Dammb7cf6dd2009-03-18 08:51:29 +0000627config KEXEC_JUMP
628 bool "kexec jump (EXPERIMENTAL)"
629 depends on SUPERH32 && KEXEC && HIBERNATION && EXPERIMENTAL
630 help
631 Jump between original kernel and kexeced kernel and invoke
632 code via KEXEC
633
Paul Mundtc4637d42008-07-30 15:30:52 +0900634config SECCOMP
635 bool "Enable seccomp to safely compute untrusted bytecode"
636 depends on PROC_FS
Paul Mundtc4637d42008-07-30 15:30:52 +0900637 help
638 This kernel feature is useful for number crunching applications
639 that may need to compute untrusted bytecode during their
640 execution. By using pipes or other transports made available to
641 the process as file descriptors supporting the read/write
642 syscalls, it's possible to isolate those applications in
643 their own address space using seccomp. Once seccomp is
644 enabled via prctl, it cannot be disabled and the task is only
645 allowed to execute a few safe syscalls defined by each seccomp
646 mode.
647
648 If unsure, say N.
649
Linus Torvalds1da177e2005-04-16 15:20:36 -0700650config SMP
651 bool "Symmetric multi-processing support"
Paul Mundt357d5942007-06-11 15:32:07 +0900652 depends on SYS_SUPPORTS_SMP
Jens Axboe490f5de2008-06-10 20:52:59 +0200653 select USE_GENERIC_SMP_HELPERS
Linus Torvalds1da177e2005-04-16 15:20:36 -0700654 ---help---
655 This enables support for systems with more than one CPU. If you have
656 a system with only one CPU, like most personal computers, say N. If
657 you have a system with more than one CPU, say Y.
658
659 If you say N here, the kernel will run on single and multiprocessor
660 machines, but will use only one CPU of a multiprocessor machine. If
661 you say Y here, the kernel will run on many, but not all,
662 singleprocessor machines. On a singleprocessor machine, the kernel
663 will run faster if you say N here.
664
665 People using multiprocessor machines who say Y here should also say
666 Y to "Enhanced Real Time Clock Support", below.
667
Adrian Bunk03502fa2008-02-03 15:50:21 +0200668 See also <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO
669 available at <http://www.tldp.org/docs.html#howto>.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700670
671 If you don't know what to do here, say N.
672
673config NR_CPUS
674 int "Maximum number of CPUs (2-32)"
675 range 2 32
676 depends on SMP
Paul Mundt2eb2a432009-06-19 16:00:00 +0900677 default "4" if CPU_SUBTYPE_SHX3
Linus Torvalds1da177e2005-04-16 15:20:36 -0700678 default "2"
679 help
680 This allows you to specify the maximum number of CPUs which this
681 kernel will support. The maximum supported value is 32 and the
682 minimum value which makes sense is 2.
683
684 This is purely to save memory - each supported CPU adds
685 approximately eight kilobytes to the kernel image.
686
Paul Mundt91b91d02006-09-27 18:08:33 +0900687source "kernel/Kconfig.preempt"
688
Paul Mundt83662462007-09-28 16:04:49 +0900689config GUSA
690 def_bool y
Stuart Menefy1efe4ce2007-11-30 16:12:36 +0900691 depends on !SMP && SUPERH32
Paul Mundt83662462007-09-28 16:04:49 +0900692 help
693 This enables support for gUSA (general UserSpace Atomicity).
694 This is the default implementation for both UP and non-ll/sc
695 CPUs, and is used by the libc, amongst others.
696
697 For additional information, design information can be found
698 in <http://lc.linux.or.jp/lc2002/papers/niibe0919p.pdf>.
699
700 This should only be disabled for special cases where alternate
701 atomicity implementations exist.
702
Stuart Menefy1efe4ce2007-11-30 16:12:36 +0900703config GUSA_RB
704 bool "Implement atomic operations by roll-back (gRB) (EXPERIMENTAL)"
705 depends on GUSA && CPU_SH3 || (CPU_SH4 && !CPU_SH4A)
706 help
707 Enabling this option will allow the kernel to implement some
Matt LaPlante692105b2009-01-26 11:12:25 +0100708 atomic operations using a software implementation of load-locked/
Stuart Menefy1efe4ce2007-11-30 16:12:36 +0900709 store-conditional (LLSC). On machines which do not have hardware
710 LLSC, this should be more efficient than the other alternative of
Matt LaPlante692105b2009-01-26 11:12:25 +0100711 disabling interrupts around the atomic sequence.
Stuart Menefy1efe4ce2007-11-30 16:12:36 +0900712
Paul Mundt54ff3282009-06-11 10:33:09 +0300713config SPARSE_IRQ
714 bool "Support sparse irq numbering"
715 depends on EXPERIMENTAL
716 help
717 This enables support for sparse irqs. This is useful in general
718 as most CPUs have a fairly sparse array of IRQ vectors, which
719 the irq_desc then maps directly on to. Systems with a high
720 number of off-chip IRQs will want to treat this as
721 experimental until they have been independently verified.
722
723 If you don't know what to do here, say N.
724
Paul Mundtcad82442006-01-16 22:14:19 -0800725endmenu
726
727menu "Boot options"
728
729config ZERO_PAGE_OFFSET
Paul Mundtb412a49a2009-05-10 01:23:25 +0900730 hex
731 default "0x00010000" if PAGE_SIZE_64KB || SH_RTS7751R2D || \
732 SH_7751_SOLUTION_ENGINE
733 default "0x00004000" if PAGE_SIZE_16KB || SH_SH03
Paul Mundt7a847f82006-12-26 15:29:19 +0900734 default "0x00002000" if PAGE_SIZE_8KB
Paul Mundtcad82442006-01-16 22:14:19 -0800735 default "0x00001000"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700736 help
Paul Mundtcad82442006-01-16 22:14:19 -0800737 This sets the default offset of zero page.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700738
Paul Mundtcad82442006-01-16 22:14:19 -0800739config BOOT_LINK_OFFSET
Paul Mundtb412a49a2009-05-10 01:23:25 +0900740 hex
741 default "0x00210000" if SH_SHMIN
Paul Mundta2e76c82009-05-10 00:54:39 +0900742 default "0x00400000" if SH_CAYMAN
Paul Mundtb412a49a2009-05-10 01:23:25 +0900743 default "0x00810000" if SH_7780_SOLUTION_ENGINE
744 default "0x009e0000" if SH_TITAN
745 default "0x01800000" if SH_SDK7780
746 default "0x02000000" if SH_EDOSK7760
Paul Mundtcad82442006-01-16 22:14:19 -0800747 default "0x00800000"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700748 help
Paul Mundtcad82442006-01-16 22:14:19 -0800749 This option allows you to set the link address offset of the zImage.
750 This can be useful if you are on a board which has a small amount of
751 memory.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700752
Paul Mundtb412a49a2009-05-10 01:23:25 +0900753config ENTRY_OFFSET
754 hex
755 default "0x00001000" if PAGE_SIZE_4KB
756 default "0x00002000" if PAGE_SIZE_8KB
757 default "0x00004000" if PAGE_SIZE_16KB
758 default "0x00010000" if PAGE_SIZE_64KB
759 default "0x00000000"
760
Pawel Molld724a9c2009-08-24 16:25:38 +0900761choice
762 prompt "Kernel command line"
763 optional
764 default CMDLINE_OVERWRITE
765 help
766 Setting this option allows the kernel command line arguments
767 to be set.
768
769config CMDLINE_OVERWRITE
770 bool "Overwrite bootloader kernel arguments"
771 help
772 Given string will overwrite any arguments passed in by
773 a bootloader.
774
775config CMDLINE_EXTEND
776 bool "Extend bootloader kernel arguments"
777 help
778 Given string will be concatenated with arguments passed in
779 by a bootloader.
780
781endchoice
Linus Torvalds1da177e2005-04-16 15:20:36 -0700782
Paul Mundtcad82442006-01-16 22:14:19 -0800783config CMDLINE
Pawel Molld724a9c2009-08-24 16:25:38 +0900784 string "Kernel command line arguments string"
785 depends on CMDLINE_OVERWRITE || CMDLINE_EXTEND
Paul Mundtcad82442006-01-16 22:14:19 -0800786 default "console=ttySC1,115200"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700787
788endmenu
789
Paul Mundtcad82442006-01-16 22:14:19 -0800790menu "Bus options"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700791
Paul Mundtcad82442006-01-16 22:14:19 -0800792config SUPERHYWAY
793 tristate "SuperHyway Bus support"
794 depends on CPU_SUBTYPE_SH4_202
Linus Torvalds1da177e2005-04-16 15:20:36 -0700795
Adrian McMenamin17be2d22007-09-21 15:55:55 +0900796config MAPLE
Paul Mundte16038a2009-01-09 15:12:30 +0900797 bool "Maple Bus support"
798 depends on SH_DREAMCAST
799 help
800 The Maple Bus is SEGA's serial communication bus for peripherals
801 on the Dreamcast. Without this bus support you won't be able to
802 get your Dreamcast keyboard etc to work, so most users
803 probably want to say 'Y' here, unless you are only using the
804 Dreamcast with a serial line terminal or a remote network
805 connection.
Adrian McMenamin17be2d22007-09-21 15:55:55 +0900806
Linus Torvalds1da177e2005-04-16 15:20:36 -0700807source "arch/sh/drivers/pci/Kconfig"
808
Paul Mundte16038a2009-01-09 15:12:30 +0900809source "drivers/pci/pcie/Kconfig"
810
Linus Torvalds1da177e2005-04-16 15:20:36 -0700811source "drivers/pci/Kconfig"
812
813source "drivers/pcmcia/Kconfig"
814
815source "drivers/pci/hotplug/Kconfig"
816
817endmenu
818
819menu "Executable file formats"
820
821source "fs/Kconfig.binfmt"
822
823endmenu
824
Andriy Skulysh3aa770e2006-09-27 16:20:22 +0900825menu "Power management options (EXPERIMENTAL)"
Magnus Dammaf998a92008-12-04 22:45:12 +0900826depends on EXPERIMENTAL
Johannes Bergf4cb5702007-12-08 02:14:00 +0100827
Magnus Dammc6f17cb2008-12-04 22:45:20 +0900828source "kernel/power/Kconfig"
829
830source "drivers/cpuidle/Kconfig"
Andriy Skulysh3aa770e2006-09-27 16:20:22 +0900831
Andriy Skulysh3aa770e2006-09-27 16:20:22 +0900832endmenu
833
Sam Ravnborgd5950b42005-07-11 21:03:49 -0700834source "net/Kconfig"
835
Linus Torvalds1da177e2005-04-16 15:20:36 -0700836source "drivers/Kconfig"
837
838source "fs/Kconfig"
839
Linus Torvalds1da177e2005-04-16 15:20:36 -0700840source "arch/sh/Kconfig.debug"
841
842source "security/Kconfig"
843
844source "crypto/Kconfig"
845
846source "lib/Kconfig"