blob: 88cdeb9f72d90b682f8334c1543a287d26db3696 [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 Mundt8dafc342009-04-02 11:56:38 +090042 select ARCH_HIBERNATION_POSSIBLE if MMU
Paul Mundtea0e1a92007-11-21 15:58:01 +090043
44config SUPERH64
Paul Mundt3cc000b2009-04-11 08:39:27 +090045 def_bool ARCH = "sh64"
Paul Mundt39d28a22007-11-08 18:39:33 +090046
Paul Mundtf42b7e32008-07-29 20:12:51 +090047config ARCH_DEFCONFIG
48 string
49 default "arch/sh/configs/shx3_defconfig" if SUPERH32
50 default "arch/sh/configs/cayman_defconfig" if SUPERH64
51
Linus Torvalds1da177e2005-04-16 15:20:36 -070052config RWSEM_GENERIC_SPINLOCK
Harvey Harrisond7ef4fb2007-12-11 13:49:35 +090053 def_bool y
Linus Torvalds1da177e2005-04-16 15:20:36 -070054
55config RWSEM_XCHGADD_ALGORITHM
56 bool
57
Paul Mundtfa691512007-03-08 19:41:21 +090058config GENERIC_BUG
59 def_bool y
Paul Mundta82d53e2007-11-21 18:22:05 +090060 depends on BUG && SUPERH32
Paul Mundtfa691512007-03-08 19:41:21 +090061
Paul Mundt3767f3f2009-06-15 00:00:42 +090062config GENERIC_CSUM
63 def_bool y
64 depends on SUPERH64
65
Akinobu Mitae2268c72006-03-26 01:39:35 -080066config GENERIC_FIND_NEXT_BIT
Harvey Harrisond7ef4fb2007-12-11 13:49:35 +090067 def_bool y
Akinobu Mitae2268c72006-03-26 01:39:35 -080068
69config GENERIC_HWEIGHT
Harvey Harrisond7ef4fb2007-12-11 13:49:35 +090070 def_bool y
Akinobu Mitae2268c72006-03-26 01:39:35 -080071
Linus Torvalds1da177e2005-04-16 15:20:36 -070072config GENERIC_HARDIRQS
Harvey Harrisond7ef4fb2007-12-11 13:49:35 +090073 def_bool y
Linus Torvalds1da177e2005-04-16 15:20:36 -070074
Paul Mundt5093c9a2008-08-04 14:17:13 +090075config GENERIC_HARDIRQS_NO__DO_IRQ
76 def_bool y
77
Linus Torvalds1da177e2005-04-16 15:20:36 -070078config GENERIC_IRQ_PROBE
Harvey Harrisond7ef4fb2007-12-11 13:49:35 +090079 def_bool y
Linus Torvalds1da177e2005-04-16 15:20:36 -070080
Paul Mundt2eb2a432009-06-19 16:00:00 +090081config IRQ_PER_CPU
82 def_bool y
83
Magnus Damm2967dab2008-10-08 20:41:43 +090084config GENERIC_GPIO
85 def_bool n
86
Linus Torvalds1da177e2005-04-16 15:20:36 -070087config GENERIC_CALIBRATE_DELAY
Paul Mundtcf204fa2008-09-08 20:47:42 +090088 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -070089
Paul Mundtcad82442006-01-16 22:14:19 -080090config GENERIC_IOMAP
91 bool
92
Paul Mundt45882142006-10-04 13:21:45 +090093config GENERIC_TIME
john stultz75634312009-05-01 13:10:28 -070094 def_bool y
Paul Mundt45882142006-10-04 13:21:45 +090095
Paul Mundt57be2b42007-05-09 17:33:24 +090096config GENERIC_CLOCKEVENTS
Paul Mundt938edae2009-05-03 18:12:26 +090097 def_bool y
Paul Mundt57be2b42007-05-09 17:33:24 +090098
Paul Mundt8c245942008-08-06 18:37:07 +090099config GENERIC_CLOCKEVENTS_BROADCAST
100 bool
101
Paul Mundt6d134b92009-05-08 16:36:13 +0900102config GENERIC_CMOS_UPDATE
103 def_bool y
104 depends on SH_SH03 || SH_DREAMCAST
105
Paul Mundtbdcab872008-08-04 14:09:15 +0900106config GENERIC_LOCKBREAK
107 def_bool y
108 depends on SMP && PREEMPT
109
Paul Mundt357d5942007-06-11 15:32:07 +0900110config SYS_SUPPORTS_PM
111 bool
Magnus Dammaf998a92008-12-04 22:45:12 +0900112 depends on !SMP
113
114config ARCH_SUSPEND_POSSIBLE
115 def_bool n
116
117config ARCH_HIBERNATION_POSSIBLE
118 def_bool n
Paul Mundt357d5942007-06-11 15:32:07 +0900119
Paul Mundt0a9b0db2007-01-24 21:56:20 +0900120config SYS_SUPPORTS_APM_EMULATION
121 bool
Magnus Dammaf998a92008-12-04 22:45:12 +0900122 select ARCH_SUSPEND_POSSIBLE
Paul Mundt357d5942007-06-11 15:32:07 +0900123
Paul Mundtffb4a732009-10-27 07:22:37 +0900124config SYS_SUPPORTS_HUGETLBFS
125 bool
126
Paul Mundt357d5942007-06-11 15:32:07 +0900127config SYS_SUPPORTS_SMP
128 bool
129
130config SYS_SUPPORTS_NUMA
131 bool
132
133config SYS_SUPPORTS_PCI
134 bool
Paul Mundt0a9b0db2007-01-24 21:56:20 +0900135
Paul Mundtf5ad8812009-01-29 18:08:58 +0900136config SYS_SUPPORTS_CMT
137 bool
138
Magnus Dammd5ed4c22009-04-30 07:02:49 +0000139config SYS_SUPPORTS_MTU2
140 bool
141
Magnus Damm9570ef22009-05-01 06:51:00 +0000142config SYS_SUPPORTS_TMU
143 bool
144
Paul Mundtafbfb522006-12-04 18:17:28 +0900145config STACKTRACE_SUPPORT
Harvey Harrisond7ef4fb2007-12-11 13:49:35 +0900146 def_bool y
Paul Mundtafbfb522006-12-04 18:17:28 +0900147
148config LOCKDEP_SUPPORT
Harvey Harrisond7ef4fb2007-12-11 13:49:35 +0900149 def_bool y
Paul Mundtafbfb522006-12-04 18:17:28 +0900150
Paul Mundt5a89f1a2008-09-13 01:44:03 +0900151config HAVE_LATENCYTOP_SUPPORT
152 def_bool y
153 depends on !SMP
154
David Howellsf0d1b0b2006-12-08 02:37:49 -0800155config ARCH_HAS_ILOG2_U32
Harvey Harrisond7ef4fb2007-12-11 13:49:35 +0900156 def_bool n
David Howellsf0d1b0b2006-12-08 02:37:49 -0800157
158config ARCH_HAS_ILOG2_U64
Harvey Harrisond7ef4fb2007-12-11 13:49:35 +0900159 def_bool n
David Howellsf0d1b0b2006-12-08 02:37:49 -0800160
Paul Mundte257ad02007-07-25 11:18:00 +0900161config ARCH_NO_VIRT_TO_BUS
162 def_bool y
163
Paul Mundte869a902009-04-02 13:08:31 +0900164config ARCH_HAS_DEFAULT_IDLE
165 def_bool y
166
Paul Mundt2e046b92009-06-19 14:40:51 +0900167config ARCH_HAS_CPU_IDLE_WAIT
168 def_bool y
169
Magnus Damme7cc9a72008-02-07 20:18:21 +0900170config IO_TRAPPED
171 bool
172
Linus Torvalds1da177e2005-04-16 15:20:36 -0700173source "init/Kconfig"
174
Matt Helsleydc52ddc2008-10-18 20:27:21 -0700175source "kernel/Kconfig.freezer"
176
Linus Torvalds1da177e2005-04-16 15:20:36 -0700177menu "System type"
178
Paul Mundtb5f42db2007-11-08 18:38:14 +0900179#
180# Processor families
181#
182config CPU_SH2
183 bool
184
185config CPU_SH2A
186 bool
187 select CPU_SH2
188
189config CPU_SH3
190 bool
191 select CPU_HAS_INTEVT
192 select CPU_HAS_SR_RB
Paul Mundt4fa48e12009-05-08 15:28:15 +0900193 select SYS_SUPPORTS_TMU
Paul Mundtb5f42db2007-11-08 18:38:14 +0900194
195config CPU_SH4
196 bool
197 select CPU_HAS_INTEVT
198 select CPU_HAS_SR_RB
Paul Mundtb5f42db2007-11-08 18:38:14 +0900199 select CPU_HAS_FPU if !CPU_SH4AL_DSP
Paul Mundt4fa48e12009-05-08 15:28:15 +0900200 select SYS_SUPPORTS_TMU
Paul Mundtffb4a732009-10-27 07:22:37 +0900201 select SYS_SUPPORTS_HUGETLBFS if MMU
Paul Mundtb5f42db2007-11-08 18:38:14 +0900202
203config CPU_SH4A
204 bool
205 select CPU_SH4
206
207config CPU_SH4AL_DSP
208 bool
209 select CPU_SH4A
210 select CPU_HAS_DSP
211
Paul Mundtea0e1a92007-11-21 15:58:01 +0900212config CPU_SH5
213 bool
214 select CPU_HAS_FPU
Paul Mundtadd47062009-05-08 16:12:17 +0900215 select SYS_SUPPORTS_TMU
Paul Mundtffb4a732009-10-27 07:22:37 +0900216 select SYS_SUPPORTS_HUGETLBFS if MMU
Paul Mundtea0e1a92007-11-21 15:58:01 +0900217
Paul Mundtb5f42db2007-11-08 18:38:14 +0900218config CPU_SHX2
219 bool
220
221config CPU_SHX3
222 bool
223
Paul Mundtdc65a972009-03-10 16:26:29 +0900224config ARCH_SHMOBILE
225 bool
Magnus Damm77594912009-03-13 15:23:04 +0000226 select ARCH_SUSPEND_POSSIBLE
Magnus Dammac2c5962009-08-19 10:31:53 +0000227 select PM
228 select PM_RUNTIME
Paul Mundtdc65a972009-03-10 16:26:29 +0900229
Paul Mundt3cc000b2009-04-11 08:39:27 +0900230if SUPERH32
231
Paul Mundtb5f42db2007-11-08 18:38:14 +0900232choice
233 prompt "Processor sub-type selection"
234
235#
236# Processor subtypes
237#
238
239# SH-2 Processor Support
240
241config CPU_SUBTYPE_SH7619
242 bool "Support SH7619 processor"
243 select CPU_SH2
Paul Mundtf5ad8812009-01-29 18:08:58 +0900244 select SYS_SUPPORTS_CMT
Paul Mundtb5f42db2007-11-08 18:38:14 +0900245
246# SH-2A Processor Support
247
Peter Griffin28259992008-11-28 22:48:20 +0900248config CPU_SUBTYPE_SH7201
249 bool "Support SH7201 processor"
250 select CPU_SH2A
251 select CPU_HAS_FPU
Magnus Dammda107c62009-04-30 07:06:26 +0000252 select SYS_SUPPORTS_MTU2
Peter Griffin28259992008-11-28 22:48:20 +0900253
Paul Mundt6d01f512007-11-26 18:17:21 +0900254config CPU_SUBTYPE_SH7203
255 bool "Support SH7203 processor"
256 select CPU_SH2A
Paul Mundt74d99a52007-11-26 20:38:36 +0900257 select CPU_HAS_FPU
Paul Mundtf5ad8812009-01-29 18:08:58 +0900258 select SYS_SUPPORTS_CMT
Magnus Dammda107c62009-04-30 07:06:26 +0000259 select SYS_SUPPORTS_MTU2
Paul Mundt6d01f512007-11-26 18:17:21 +0900260
Paul Mundtb5f42db2007-11-08 18:38:14 +0900261config CPU_SUBTYPE_SH7206
262 bool "Support SH7206 processor"
263 select CPU_SH2A
Paul Mundtf5ad8812009-01-29 18:08:58 +0900264 select SYS_SUPPORTS_CMT
Magnus Dammda107c62009-04-30 07:06:26 +0000265 select SYS_SUPPORTS_MTU2
Paul Mundtb5f42db2007-11-08 18:38:14 +0900266
Paul Mundta8f67f42007-11-26 19:54:02 +0900267config CPU_SUBTYPE_SH7263
268 bool "Support SH7263 processor"
269 select CPU_SH2A
Paul Mundt74d99a52007-11-26 20:38:36 +0900270 select CPU_HAS_FPU
Paul Mundtf5ad8812009-01-29 18:08:58 +0900271 select SYS_SUPPORTS_CMT
Magnus Dammda107c62009-04-30 07:06:26 +0000272 select SYS_SUPPORTS_MTU2
Paul Mundta8f67f42007-11-26 19:54:02 +0900273
Paul Mundt2ad69902008-03-13 12:52:44 +0900274config CPU_SUBTYPE_MXG
275 bool "Support MX-G processor"
276 select CPU_SH2A
Magnus Dammda107c62009-04-30 07:06:26 +0000277 select SYS_SUPPORTS_MTU2
Paul Mundt2ad69902008-03-13 12:52:44 +0900278 help
279 Select MX-G if running on an R8A03022BG part.
280
Paul Mundtb5f42db2007-11-08 18:38:14 +0900281# SH-3 Processor Support
282
283config CPU_SUBTYPE_SH7705
284 bool "Support SH7705 processor"
285 select CPU_SH3
286
287config CPU_SUBTYPE_SH7706
288 bool "Support SH7706 processor"
289 select CPU_SH3
290 help
291 Select SH7706 if you have a 133 Mhz SH-3 HD6417706 CPU.
292
293config CPU_SUBTYPE_SH7707
294 bool "Support SH7707 processor"
295 select CPU_SH3
296 help
297 Select SH7707 if you have a 60 Mhz SH-3 HD6417707 CPU.
298
299config CPU_SUBTYPE_SH7708
300 bool "Support SH7708 processor"
301 select CPU_SH3
302 help
303 Select SH7708 if you have a 60 Mhz SH-3 HD6417708S or
304 if you have a 100 Mhz SH-3 HD6417708R CPU.
305
306config CPU_SUBTYPE_SH7709
307 bool "Support SH7709 processor"
308 select CPU_SH3
309 help
310 Select SH7709 if you have a 80 Mhz SH-3 HD6417709 CPU.
311
312config CPU_SUBTYPE_SH7710
313 bool "Support SH7710 processor"
314 select CPU_SH3
315 select CPU_HAS_DSP
316 help
317 Select SH7710 if you have a SH3-DSP SH7710 CPU.
318
319config CPU_SUBTYPE_SH7712
320 bool "Support SH7712 processor"
321 select CPU_SH3
322 select CPU_HAS_DSP
323 help
324 Select SH7712 if you have a SH3-DSP SH7712 CPU.
325
326config CPU_SUBTYPE_SH7720
327 bool "Support SH7720 processor"
328 select CPU_SH3
329 select CPU_HAS_DSP
Magnus Damm2b23a882009-05-12 10:21:11 +0000330 select SYS_SUPPORTS_CMT
Paul Mundtb5f42db2007-11-08 18:38:14 +0900331 help
332 Select SH7720 if you have a SH3-DSP SH7720 CPU.
333
Yoshihiro Shimoda31a49c42007-12-26 11:45:06 +0900334config CPU_SUBTYPE_SH7721
335 bool "Support SH7721 processor"
336 select CPU_SH3
337 select CPU_HAS_DSP
Magnus Damm2b23a882009-05-12 10:21:11 +0000338 select SYS_SUPPORTS_CMT
Yoshihiro Shimoda31a49c42007-12-26 11:45:06 +0900339 help
340 Select SH7721 if you have a SH3-DSP SH7721 CPU.
341
Paul Mundtb5f42db2007-11-08 18:38:14 +0900342# SH-4 Processor Support
343
344config CPU_SUBTYPE_SH7750
345 bool "Support SH7750 processor"
346 select CPU_SH4
347 help
348 Select SH7750 if you have a 200 Mhz SH-4 HD6417750 CPU.
349
350config CPU_SUBTYPE_SH7091
351 bool "Support SH7091 processor"
352 select CPU_SH4
353 help
354 Select SH7091 if you have an SH-4 based Sega device (such as
355 the Dreamcast, Naomi, and Naomi 2).
356
357config CPU_SUBTYPE_SH7750R
358 bool "Support SH7750R processor"
359 select CPU_SH4
360
361config CPU_SUBTYPE_SH7750S
362 bool "Support SH7750S processor"
363 select CPU_SH4
364
365config CPU_SUBTYPE_SH7751
366 bool "Support SH7751 processor"
367 select CPU_SH4
368 help
369 Select SH7751 if you have a 166 Mhz SH-4 HD6417751 CPU,
370 or if you have a HD6417751R CPU.
371
372config CPU_SUBTYPE_SH7751R
373 bool "Support SH7751R processor"
374 select CPU_SH4
375
376config CPU_SUBTYPE_SH7760
377 bool "Support SH7760 processor"
378 select CPU_SH4
379
380config CPU_SUBTYPE_SH4_202
381 bool "Support SH4-202 processor"
382 select CPU_SH4
383
384# SH-4A Processor Support
385
Paul Mundt178dd0c2008-04-09 17:56:18 +0900386config CPU_SUBTYPE_SH7723
387 bool "Support SH7723 processor"
388 select CPU_SH4A
389 select CPU_SHX2
Paul Mundtdc65a972009-03-10 16:26:29 +0900390 select ARCH_SHMOBILE
Paul Mundt178dd0c2008-04-09 17:56:18 +0900391 select ARCH_SPARSEMEM_ENABLE
Paul Mundtf5ad8812009-01-29 18:08:58 +0900392 select SYS_SUPPORTS_CMT
Paul Mundt178dd0c2008-04-09 17:56:18 +0900393 help
394 Select SH7723 if you have an SH-MobileR2 CPU.
395
Kuninori Morimoto0207a2e2009-04-16 14:40:56 +0900396config CPU_SUBTYPE_SH7724
397 bool "Support SH7724 processor"
398 select CPU_SH4A
399 select CPU_SHX2
Paul Mundt59fe7002009-04-16 15:43:42 +0900400 select ARCH_SHMOBILE
Kuninori Morimoto0207a2e2009-04-16 14:40:56 +0900401 select ARCH_SPARSEMEM_ENABLE
402 select SYS_SUPPORTS_CMT
403 help
404 Select SH7724 if you have an SH-MobileR2R CPU.
405
Yoshihiro Shimodac01f0f12009-08-21 16:30:28 +0900406config CPU_SUBTYPE_SH7757
407 bool "Support SH7757 processor"
408 select CPU_SH4A
409 select CPU_SHX2
410 help
411 Select SH7757 if you have a SH4A SH7757 CPU.
412
Yoshihiro Shimoda7d740a02008-01-07 14:40:07 +0900413config CPU_SUBTYPE_SH7763
414 bool "Support SH7763 processor"
415 select CPU_SH4A
416 help
417 Select SH7763 if you have a SH4A SH7763(R5S77631) CPU.
418
Paul Mundtb5f42db2007-11-08 18:38:14 +0900419config CPU_SUBTYPE_SH7770
420 bool "Support SH7770 processor"
421 select CPU_SH4A
422
423config CPU_SUBTYPE_SH7780
424 bool "Support SH7780 processor"
425 select CPU_SH4A
426
427config CPU_SUBTYPE_SH7785
428 bool "Support SH7785 processor"
429 select CPU_SH4A
430 select CPU_SHX2
431 select ARCH_SPARSEMEM_ENABLE
432 select SYS_SUPPORTS_NUMA
433
Kuninori Morimoto55ba99e2009-03-03 15:40:25 +0900434config CPU_SUBTYPE_SH7786
435 bool "Support SH7786 processor"
436 select CPU_SH4A
Paul Mundt37042fb2009-03-03 15:57:02 +0900437 select CPU_SHX3
Paul Mundt8263a672009-03-17 17:49:49 +0900438 select CPU_HAS_PTEAEX
Kuninori Morimoto55ba99e2009-03-03 15:40:25 +0900439 select ARCH_SPARSEMEM_ENABLE
440 select SYS_SUPPORTS_NUMA
Paul Mundt2eb2a432009-06-19 16:00:00 +0900441 select SYS_SUPPORTS_SMP
442 select GENERIC_CLOCKEVENTS_BROADCAST if SMP
Kuninori Morimoto55ba99e2009-03-03 15:40:25 +0900443
Paul Mundtb5f42db2007-11-08 18:38:14 +0900444config CPU_SUBTYPE_SHX3
445 bool "Support SH-X3 processor"
446 select CPU_SH4A
447 select CPU_SHX3
448 select ARCH_SPARSEMEM_ENABLE
449 select SYS_SUPPORTS_NUMA
450 select SYS_SUPPORTS_SMP
Paul Mundt58402632008-09-05 15:36:39 +0900451 select GENERIC_CLOCKEVENTS_BROADCAST if SMP
Paul Mundtb5f42db2007-11-08 18:38:14 +0900452
453# SH4AL-DSP Processor Support
454
455config CPU_SUBTYPE_SH7343
456 bool "Support SH7343 processor"
457 select CPU_SH4AL_DSP
Paul Mundtdc65a972009-03-10 16:26:29 +0900458 select ARCH_SHMOBILE
Paul Mundtf5ad8812009-01-29 18:08:58 +0900459 select SYS_SUPPORTS_CMT
Paul Mundtb5f42db2007-11-08 18:38:14 +0900460
461config CPU_SUBTYPE_SH7722
462 bool "Support SH7722 processor"
463 select CPU_SH4AL_DSP
464 select CPU_SHX2
Paul Mundtdc65a972009-03-10 16:26:29 +0900465 select ARCH_SHMOBILE
Paul Mundtb5f42db2007-11-08 18:38:14 +0900466 select ARCH_SPARSEMEM_ENABLE
467 select SYS_SUPPORTS_NUMA
Paul Mundtf5ad8812009-01-29 18:08:58 +0900468 select SYS_SUPPORTS_CMT
Paul Mundtb5f42db2007-11-08 18:38:14 +0900469
Magnus Damm9109a302008-02-08 17:31:24 +0900470config CPU_SUBTYPE_SH7366
471 bool "Support SH7366 processor"
472 select CPU_SH4AL_DSP
473 select CPU_SHX2
Paul Mundtdc65a972009-03-10 16:26:29 +0900474 select ARCH_SHMOBILE
Magnus Damm9109a302008-02-08 17:31:24 +0900475 select ARCH_SPARSEMEM_ENABLE
476 select SYS_SUPPORTS_NUMA
Paul Mundtf5ad8812009-01-29 18:08:58 +0900477 select SYS_SUPPORTS_CMT
Magnus Damm9109a302008-02-08 17:31:24 +0900478
Paul Mundt3cc000b2009-04-11 08:39:27 +0900479endchoice
480
481endif
482
483if SUPERH64
484
485choice
486 prompt "Processor sub-type selection"
487
Paul Mundtea0e1a92007-11-21 15:58:01 +0900488# SH-5 Processor Support
489
490config CPU_SUBTYPE_SH5_101
491 bool "Support SH5-101 processor"
492 select CPU_SH5
493
494config CPU_SUBTYPE_SH5_103
495 bool "Support SH5-103 processor"
Paul Mundt8ef97dd2008-02-14 15:30:54 +0900496 select CPU_SH5
Paul Mundtea0e1a92007-11-21 15:58:01 +0900497
Paul Mundtb5f42db2007-11-08 18:38:14 +0900498endchoice
499
Paul Mundt3cc000b2009-04-11 08:39:27 +0900500endif
501
Paul Mundtcad82442006-01-16 22:14:19 -0800502source "arch/sh/mm/Kconfig"
Paul Mundt939a24a2008-07-29 21:41:37 +0900503
Paul Mundt4690bdc2007-11-09 13:45:42 +0900504source "arch/sh/Kconfig.cpu"
Paul Mundtcad82442006-01-16 22:14:19 -0800505
Paul Mundt939a24a2008-07-29 21:41:37 +0900506source "arch/sh/boards/Kconfig"
Paul Mundtf3d22292007-05-14 17:29:12 +0900507
Paul Mundt32351a22007-03-12 14:38:59 +0900508menu "Timer and clock configuration"
509
Magnus Damm9570ef22009-05-01 06:51:00 +0000510config SH_TIMER_TMU
511 bool "TMU timer driver"
Magnus Dammf19900b2009-05-12 10:25:54 +0000512 depends on SYS_SUPPORTS_TMU
Magnus Damm9570ef22009-05-01 06:51:00 +0000513 default y
Magnus Damm9570ef22009-05-01 06:51:00 +0000514 help
515 This enables the build of the TMU timer driver.
516
Paul Mundtf5ad8812009-01-29 18:08:58 +0900517config SH_TIMER_CMT
Magnus Dammf4257522009-04-30 04:09:26 +0000518 bool "CMT timer driver"
519 depends on SYS_SUPPORTS_CMT
520 default y
Magnus Dammf4257522009-04-30 04:09:26 +0000521 help
522 This enables build of the CMT timer driver.
Paul Mundtf5ad8812009-01-29 18:08:58 +0900523
Magnus Dammd5ed4c22009-04-30 07:02:49 +0000524config SH_TIMER_MTU2
525 bool "MTU2 timer driver"
Magnus Damm3280c882009-04-30 07:12:09 +0000526 depends on SYS_SUPPORTS_MTU2
Magnus Dammd5ed4c22009-04-30 07:02:49 +0000527 default y
Magnus Dammd5ed4c22009-04-30 07:02:49 +0000528 help
529 This enables build of the MTU2 timer driver.
530
Paul Mundtcad82442006-01-16 22:14:19 -0800531config SH_PCLK_FREQ
532 int "Peripheral clock frequency (in Hz)"
Magnus Damm870e8a22007-07-25 10:49:21 +0900533 default "27000000" if CPU_SUBTYPE_SH7343
Yoshinori Sato9d4436a2006-11-05 15:40:13 +0900534 default "31250000" if CPU_SUBTYPE_SH7619
Paul Mundt05627482007-05-15 16:25:47 +0900535 default "32000000" if CPU_SUBTYPE_SH7722
Paul Mundt178dd0c2008-04-09 17:56:18 +0900536 default "33333333" if CPU_SUBTYPE_SH7770 || CPU_SUBTYPE_SH7723 || \
Yoshinori Sato9d4436a2006-11-05 15:40:13 +0900537 CPU_SUBTYPE_SH7760 || CPU_SUBTYPE_SH7705 || \
Paul Mundta8f67f42007-11-26 19:54:02 +0900538 CPU_SUBTYPE_SH7203 || CPU_SUBTYPE_SH7206 || \
Paul Mundta4b1fdd2009-03-05 17:52:34 +0900539 CPU_SUBTYPE_SH7263 || CPU_SUBTYPE_MXG || \
Kuninori Morimoto47785412009-05-29 07:41:26 +0000540 CPU_SUBTYPE_SH7786 || CPU_SUBTYPE_SH7724
Paul Mundt05627482007-05-15 16:25:47 +0900541 default "60000000" if CPU_SUBTYPE_SH7751 || CPU_SUBTYPE_SH7751R
Paul Mundtcad82442006-01-16 22:14:19 -0800542 default "66000000" if CPU_SUBTYPE_SH4_202
Paul Mundt05627482007-05-15 16:25:47 +0900543 default "50000000"
Paul Mundtcad82442006-01-16 22:14:19 -0800544 help
545 This option is used to specify the peripheral clock frequency.
546 This is necessary for determining the reference clock value on
547 platforms lacking an RTC.
548
Paul Mundt36aa1e32009-05-22 14:00:34 +0900549config SH_CLK_CPG
550 def_bool y
551
Paul Mundt253b0882009-05-13 17:38:11 +0900552config SH_CLK_CPG_LEGACY
Paul Mundt36aa1e32009-05-22 14:00:34 +0900553 depends on SH_CLK_CPG
Magnus Damm46e93712009-06-04 07:37:59 +0000554 def_bool y if !CPU_SUBTYPE_SH7785 && !ARCH_SHMOBILE
Paul Mundt253b0882009-05-13 17:38:11 +0900555
Yoshinori Sato9d4436a2006-11-05 15:40:13 +0900556config SH_CLK_MD
557 int "CPU Mode Pin Setting"
Paul Mundt6d01f512007-11-26 18:17:21 +0900558 depends on CPU_SH2
Paul Mundt357d5942007-06-11 15:32:07 +0900559 default 6 if CPU_SUBTYPE_SH7206
560 default 5 if CPU_SUBTYPE_SH7619
561 default 0
Yoshinori Sato9d4436a2006-11-05 15:40:13 +0900562 help
Yoshinori Sato11cbb702006-12-07 18:07:27 +0900563 MD2 - MD0 pin setting.
Yoshinori Sato9d4436a2006-11-05 15:40:13 +0900564
Paul Mundt57be2b42007-05-09 17:33:24 +0900565source "kernel/time/Kconfig"
566
Paul Mundt32351a22007-03-12 14:38:59 +0900567endmenu
568
Paul Mundtcad82442006-01-16 22:14:19 -0800569menu "CPU Frequency scaling"
570
571source "drivers/cpufreq/Kconfig"
572
573config SH_CPU_FREQ
574 tristate "SuperH CPU Frequency driver"
Paul Mundtcb5ec752007-07-20 13:38:19 +0900575 depends on CPU_FREQ
Paul Mundtcad82442006-01-16 22:14:19 -0800576 select CPU_FREQ_TABLE
577 help
Paul Mundt8a655052008-12-17 15:06:54 +0900578 This adds the cpufreq driver for SuperH. Any CPU that supports
579 clock rate rounding through the clock framework can use this
580 driver. While it will make the kernel slightly larger, this is
581 harmless for CPUs that don't support rate rounding. The driver
582 will also generate a notice in the boot log before disabling
583 itself if the CPU in question is not capable of rate rounding.
Paul Mundtcad82442006-01-16 22:14:19 -0800584
585 For details, take a look at <file:Documentation/cpu-freq>.
586
587 If unsure, say N.
588
589endmenu
590
Paul Mundt9f5e8ee2006-11-24 11:22:57 +0900591source "arch/sh/drivers/Kconfig"
592
Paul Mundtcad82442006-01-16 22:14:19 -0800593endmenu
594
Paul Mundtcad82442006-01-16 22:14:19 -0800595menu "Kernel features"
596
Paul Mundt91b91d02006-09-27 18:08:33 +0900597source kernel/Kconfig.hz
598
Paul Mundtcad82442006-01-16 22:14:19 -0800599config KEXEC
600 bool "kexec system call (EXPERIMENTAL)"
Nobuhiro Iwamatsuf36b59d2009-03-26 08:32:37 +0000601 depends on SUPERH32 && EXPERIMENTAL && MMU
Paul Mundtcad82442006-01-16 22:14:19 -0800602 help
603 kexec is a system call that implements the ability to shutdown your
604 current kernel, and to start another kernel. It is like a reboot
Matt LaPlante1f1332f2006-06-29 01:32:47 -0400605 but it is independent of the system firmware. And like a reboot
Paul Mundtcad82442006-01-16 22:14:19 -0800606 you can start any kernel with it, not just Linux.
607
Matt LaPlante1f1332f2006-06-29 01:32:47 -0400608 The name comes from the similarity to the exec system call.
Paul Mundtcad82442006-01-16 22:14:19 -0800609
610 It is an ongoing process to be certain the hardware in a machine
611 is properly shutdown, so do not be surprised if this code does not
612 initially work for you. It may help to enable device hotplugging
613 support. As of this writing the exact hardware interface is
614 strongly in flux, so no good recommendation can be made.
615
Paul Mundt4d5ade52007-04-27 11:25:57 +0900616config CRASH_DUMP
617 bool "kernel crash dumps (EXPERIMENTAL)"
Paul Mundt640f7482008-04-25 13:04:56 +0900618 depends on SUPERH32 && EXPERIMENTAL
Paul Mundt4d5ade52007-04-27 11:25:57 +0900619 help
620 Generate crash dump after being started by kexec.
621 This should be normally only set in special crash dump kernels
622 which are loaded in the main kernel with kexec-tools into
623 a specially reserved region and then later executed after
624 a crash by kdump/kexec. The crash dump kernel must be compiled
625 to a memory address not used by the main kernel using
626 MEMORY_START.
627
628 For more details see Documentation/kdump/kdump.txt
629
Magnus Dammb7cf6dd2009-03-18 08:51:29 +0000630config KEXEC_JUMP
631 bool "kexec jump (EXPERIMENTAL)"
632 depends on SUPERH32 && KEXEC && HIBERNATION && EXPERIMENTAL
633 help
634 Jump between original kernel and kexeced kernel and invoke
635 code via KEXEC
636
Paul Mundtc4637d42008-07-30 15:30:52 +0900637config SECCOMP
638 bool "Enable seccomp to safely compute untrusted bytecode"
639 depends on PROC_FS
Paul Mundtc4637d42008-07-30 15:30:52 +0900640 help
641 This kernel feature is useful for number crunching applications
642 that may need to compute untrusted bytecode during their
643 execution. By using pipes or other transports made available to
644 the process as file descriptors supporting the read/write
645 syscalls, it's possible to isolate those applications in
646 their own address space using seccomp. Once seccomp is
647 enabled via prctl, it cannot be disabled and the task is only
648 allowed to execute a few safe syscalls defined by each seccomp
649 mode.
650
651 If unsure, say N.
652
Linus Torvalds1da177e2005-04-16 15:20:36 -0700653config SMP
654 bool "Symmetric multi-processing support"
Paul Mundt357d5942007-06-11 15:32:07 +0900655 depends on SYS_SUPPORTS_SMP
Jens Axboe490f5de2008-06-10 20:52:59 +0200656 select USE_GENERIC_SMP_HELPERS
Linus Torvalds1da177e2005-04-16 15:20:36 -0700657 ---help---
658 This enables support for systems with more than one CPU. If you have
659 a system with only one CPU, like most personal computers, say N. If
660 you have a system with more than one CPU, say Y.
661
662 If you say N here, the kernel will run on single and multiprocessor
663 machines, but will use only one CPU of a multiprocessor machine. If
664 you say Y here, the kernel will run on many, but not all,
665 singleprocessor machines. On a singleprocessor machine, the kernel
666 will run faster if you say N here.
667
668 People using multiprocessor machines who say Y here should also say
669 Y to "Enhanced Real Time Clock Support", below.
670
Adrian Bunk03502fa2008-02-03 15:50:21 +0200671 See also <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO
672 available at <http://www.tldp.org/docs.html#howto>.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700673
674 If you don't know what to do here, say N.
675
676config NR_CPUS
677 int "Maximum number of CPUs (2-32)"
678 range 2 32
679 depends on SMP
Paul Mundt2eb2a432009-06-19 16:00:00 +0900680 default "4" if CPU_SUBTYPE_SHX3
Linus Torvalds1da177e2005-04-16 15:20:36 -0700681 default "2"
682 help
683 This allows you to specify the maximum number of CPUs which this
684 kernel will support. The maximum supported value is 32 and the
685 minimum value which makes sense is 2.
686
687 This is purely to save memory - each supported CPU adds
688 approximately eight kilobytes to the kernel image.
689
Paul Mundt91b91d02006-09-27 18:08:33 +0900690source "kernel/Kconfig.preempt"
691
Paul Mundt83662462007-09-28 16:04:49 +0900692config GUSA
693 def_bool y
Stuart Menefy1efe4ce2007-11-30 16:12:36 +0900694 depends on !SMP && SUPERH32
Paul Mundt83662462007-09-28 16:04:49 +0900695 help
696 This enables support for gUSA (general UserSpace Atomicity).
697 This is the default implementation for both UP and non-ll/sc
698 CPUs, and is used by the libc, amongst others.
699
700 For additional information, design information can be found
701 in <http://lc.linux.or.jp/lc2002/papers/niibe0919p.pdf>.
702
703 This should only be disabled for special cases where alternate
704 atomicity implementations exist.
705
Stuart Menefy1efe4ce2007-11-30 16:12:36 +0900706config GUSA_RB
707 bool "Implement atomic operations by roll-back (gRB) (EXPERIMENTAL)"
708 depends on GUSA && CPU_SH3 || (CPU_SH4 && !CPU_SH4A)
709 help
710 Enabling this option will allow the kernel to implement some
Matt LaPlante692105b2009-01-26 11:12:25 +0100711 atomic operations using a software implementation of load-locked/
Stuart Menefy1efe4ce2007-11-30 16:12:36 +0900712 store-conditional (LLSC). On machines which do not have hardware
713 LLSC, this should be more efficient than the other alternative of
Matt LaPlante692105b2009-01-26 11:12:25 +0100714 disabling interrupts around the atomic sequence.
Stuart Menefy1efe4ce2007-11-30 16:12:36 +0900715
Paul Mundt54ff3282009-06-11 10:33:09 +0300716config SPARSE_IRQ
717 bool "Support sparse irq numbering"
718 depends on EXPERIMENTAL
719 help
720 This enables support for sparse irqs. This is useful in general
721 as most CPUs have a fairly sparse array of IRQ vectors, which
722 the irq_desc then maps directly on to. Systems with a high
723 number of off-chip IRQs will want to treat this as
724 experimental until they have been independently verified.
725
726 If you don't know what to do here, say N.
727
Paul Mundtcad82442006-01-16 22:14:19 -0800728endmenu
729
730menu "Boot options"
731
732config ZERO_PAGE_OFFSET
Paul Mundtb412a49a2009-05-10 01:23:25 +0900733 hex
734 default "0x00010000" if PAGE_SIZE_64KB || SH_RTS7751R2D || \
735 SH_7751_SOLUTION_ENGINE
736 default "0x00004000" if PAGE_SIZE_16KB || SH_SH03
Paul Mundt7a847f82006-12-26 15:29:19 +0900737 default "0x00002000" if PAGE_SIZE_8KB
Paul Mundtcad82442006-01-16 22:14:19 -0800738 default "0x00001000"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700739 help
Paul Mundtcad82442006-01-16 22:14:19 -0800740 This sets the default offset of zero page.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700741
Paul Mundtcad82442006-01-16 22:14:19 -0800742config BOOT_LINK_OFFSET
Paul Mundtb412a49a2009-05-10 01:23:25 +0900743 hex
744 default "0x00210000" if SH_SHMIN
Paul Mundta2e76c82009-05-10 00:54:39 +0900745 default "0x00400000" if SH_CAYMAN
Paul Mundtb412a49a2009-05-10 01:23:25 +0900746 default "0x00810000" if SH_7780_SOLUTION_ENGINE
747 default "0x009e0000" if SH_TITAN
748 default "0x01800000" if SH_SDK7780
749 default "0x02000000" if SH_EDOSK7760
Paul Mundtcad82442006-01-16 22:14:19 -0800750 default "0x00800000"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700751 help
Paul Mundtcad82442006-01-16 22:14:19 -0800752 This option allows you to set the link address offset of the zImage.
753 This can be useful if you are on a board which has a small amount of
754 memory.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700755
Paul Mundtb412a49a2009-05-10 01:23:25 +0900756config ENTRY_OFFSET
757 hex
758 default "0x00001000" if PAGE_SIZE_4KB
759 default "0x00002000" if PAGE_SIZE_8KB
760 default "0x00004000" if PAGE_SIZE_16KB
761 default "0x00010000" if PAGE_SIZE_64KB
762 default "0x00000000"
763
Paul Mundtcad82442006-01-16 22:14:19 -0800764config UBC_WAKEUP
765 bool "Wakeup UBC on startup"
Paul Mundt0e3a9aa2007-11-06 15:55:36 +0900766 depends on CPU_SH4 && !CPU_SH4A
Paul Mundtcad82442006-01-16 22:14:19 -0800767 help
768 Selecting this option will wakeup the User Break Controller (UBC) on
769 startup. Although the UBC is left in an awake state when the processor
770 comes up, some boot loaders misbehave by putting the UBC to sleep in a
771 power saving state, which causes issues with things like ptrace().
Linus Torvalds1da177e2005-04-16 15:20:36 -0700772
773 If unsure, say N.
774
Pawel Molld724a9c2009-08-24 16:25:38 +0900775choice
776 prompt "Kernel command line"
777 optional
778 default CMDLINE_OVERWRITE
779 help
780 Setting this option allows the kernel command line arguments
781 to be set.
782
783config CMDLINE_OVERWRITE
784 bool "Overwrite bootloader kernel arguments"
785 help
786 Given string will overwrite any arguments passed in by
787 a bootloader.
788
789config CMDLINE_EXTEND
790 bool "Extend bootloader kernel arguments"
791 help
792 Given string will be concatenated with arguments passed in
793 by a bootloader.
794
795endchoice
Linus Torvalds1da177e2005-04-16 15:20:36 -0700796
Paul Mundtcad82442006-01-16 22:14:19 -0800797config CMDLINE
Pawel Molld724a9c2009-08-24 16:25:38 +0900798 string "Kernel command line arguments string"
799 depends on CMDLINE_OVERWRITE || CMDLINE_EXTEND
Paul Mundtcad82442006-01-16 22:14:19 -0800800 default "console=ttySC1,115200"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700801
802endmenu
803
Paul Mundtcad82442006-01-16 22:14:19 -0800804menu "Bus options"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700805
Paul Mundtcad82442006-01-16 22:14:19 -0800806config SUPERHYWAY
807 tristate "SuperHyway Bus support"
808 depends on CPU_SUBTYPE_SH4_202
Linus Torvalds1da177e2005-04-16 15:20:36 -0700809
Adrian McMenamin17be2d22007-09-21 15:55:55 +0900810config MAPLE
Paul Mundte16038a2009-01-09 15:12:30 +0900811 bool "Maple Bus support"
812 depends on SH_DREAMCAST
813 help
814 The Maple Bus is SEGA's serial communication bus for peripherals
815 on the Dreamcast. Without this bus support you won't be able to
816 get your Dreamcast keyboard etc to work, so most users
817 probably want to say 'Y' here, unless you are only using the
818 Dreamcast with a serial line terminal or a remote network
819 connection.
Adrian McMenamin17be2d22007-09-21 15:55:55 +0900820
Linus Torvalds1da177e2005-04-16 15:20:36 -0700821source "arch/sh/drivers/pci/Kconfig"
822
Paul Mundte16038a2009-01-09 15:12:30 +0900823source "drivers/pci/pcie/Kconfig"
824
Linus Torvalds1da177e2005-04-16 15:20:36 -0700825source "drivers/pci/Kconfig"
826
827source "drivers/pcmcia/Kconfig"
828
829source "drivers/pci/hotplug/Kconfig"
830
831endmenu
832
833menu "Executable file formats"
834
835source "fs/Kconfig.binfmt"
836
837endmenu
838
Andriy Skulysh3aa770e2006-09-27 16:20:22 +0900839menu "Power management options (EXPERIMENTAL)"
Magnus Dammaf998a92008-12-04 22:45:12 +0900840depends on EXPERIMENTAL
Johannes Bergf4cb5702007-12-08 02:14:00 +0100841
Magnus Dammc6f17cb2008-12-04 22:45:20 +0900842source "kernel/power/Kconfig"
843
844source "drivers/cpuidle/Kconfig"
Andriy Skulysh3aa770e2006-09-27 16:20:22 +0900845
Andriy Skulysh3aa770e2006-09-27 16:20:22 +0900846endmenu
847
Sam Ravnborgd5950b42005-07-11 21:03:49 -0700848source "net/Kconfig"
849
Linus Torvalds1da177e2005-04-16 15:20:36 -0700850source "drivers/Kconfig"
851
852source "fs/Kconfig"
853
Linus Torvalds1da177e2005-04-16 15:20:36 -0700854source "arch/sh/Kconfig.debug"
855
856source "security/Kconfig"
857
858source "crypto/Kconfig"
859
860source "lib/Kconfig"