blob: 05cef50612930d76cc62c318b230eeeb0b1de368 [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 Mundtd7b01f72008-12-10 20:17:15 +090016 select HAVE_ARCH_TRACEHOOK
Paul Mundtf802d962009-04-09 10:36:54 -070017 select HAVE_DMA_API_DEBUG
Paul Mundt73c926b2009-10-20 12:55:56 +090018 select HAVE_DMA_ATTRS
Ingo Molnarcdd6c482009-09-21 12:02:48 +020019 select HAVE_PERF_EVENTS
Paul Mundt72f0c132009-10-27 17:08:55 +090020 select PERF_USE_VMALLOC
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 Mundtc7b16ef2010-01-13 13:29:19 +090024 select HAVE_KERNEL_LZO
Paul Mundta74f7e02009-09-16 14:30:34 +090025 select HAVE_SYSCALL_TRACEPOINTS
Paul Mundt6eac1af2009-05-08 19:48:47 +090026 select RTC_LIB
Paul Mundtf01789c2009-06-17 10:43:13 +090027 select GENERIC_ATOMIC64
Linus Torvalds1da177e2005-04-16 15:20:36 -070028 help
29 The SuperH is a RISC processor targeted for use in embedded systems
30 and consumer electronics; it was also used in the Sega Dreamcast
31 gaming console. The SuperH port has a home page at
32 <http://www.linux-sh.org/>.
33
Paul Mundt39d28a22007-11-08 18:39:33 +090034config SUPERH32
Paul Mundt3cc000b2009-04-11 08:39:27 +090035 def_bool ARCH = "sh"
Chris Smithd39f5452008-09-05 17:15:39 +090036 select HAVE_KPROBES
37 select HAVE_KRETPROBES
Paul Mundt6d63e732010-01-19 14:00:14 +090038 select HAVE_IOREMAP_PROT if MMU && !X2TLB
Paul Mundt694f94f2008-10-31 16:20:36 +090039 select HAVE_FUNCTION_TRACER
Matt Flemingfad57fe2008-11-12 20:11:47 +090040 select HAVE_FTRACE_MCOUNT_RECORD
41 select HAVE_DYNAMIC_FTRACE
Matt Flemingc1340c02009-06-28 14:05:44 +010042 select HAVE_FUNCTION_TRACE_MCOUNT_TEST
Paul Mundte4b053d2009-10-13 16:52:50 +090043 select HAVE_FTRACE_NMI_ENTER if DYNAMIC_FTRACE
Matt Fleming327933f2009-07-11 00:29:03 +000044 select HAVE_FUNCTION_GRAPH_TRACER
Paul Mundtab6e5702008-12-11 18:46:46 +090045 select HAVE_ARCH_KGDB
Paul Mundt6fbfe8d2010-01-06 15:46:53 +090046 select HAVE_HW_BREAKPOINT
Paul Mundt6c0ee6a2009-12-21 17:35:00 +090047 select PERF_EVENTS if HAVE_HW_BREAKPOINT
Paul Mundt8dafc342009-04-02 11:56:38 +090048 select ARCH_HIBERNATION_POSSIBLE if MMU
Paul Mundtea0e1a92007-11-21 15:58:01 +090049
50config SUPERH64
Paul Mundt3cc000b2009-04-11 08:39:27 +090051 def_bool ARCH = "sh64"
Paul Mundt39d28a22007-11-08 18:39:33 +090052
Paul Mundtf42b7e32008-07-29 20:12:51 +090053config ARCH_DEFCONFIG
54 string
55 default "arch/sh/configs/shx3_defconfig" if SUPERH32
56 default "arch/sh/configs/cayman_defconfig" if SUPERH64
57
Linus Torvalds1da177e2005-04-16 15:20:36 -070058config RWSEM_GENERIC_SPINLOCK
Harvey Harrisond7ef4fb2007-12-11 13:49:35 +090059 def_bool y
Linus Torvalds1da177e2005-04-16 15:20:36 -070060
61config RWSEM_XCHGADD_ALGORITHM
62 bool
63
Paul Mundtfa691512007-03-08 19:41:21 +090064config GENERIC_BUG
65 def_bool y
Paul Mundta82d53e2007-11-21 18:22:05 +090066 depends on BUG && SUPERH32
Paul Mundtfa691512007-03-08 19:41:21 +090067
Paul Mundt3767f3f2009-06-15 00:00:42 +090068config GENERIC_CSUM
69 def_bool y
70 depends on SUPERH64
71
Akinobu Mitae2268c72006-03-26 01:39:35 -080072config GENERIC_FIND_NEXT_BIT
Harvey Harrisond7ef4fb2007-12-11 13:49:35 +090073 def_bool y
Akinobu Mitae2268c72006-03-26 01:39:35 -080074
75config GENERIC_HWEIGHT
Harvey Harrisond7ef4fb2007-12-11 13:49:35 +090076 def_bool y
Akinobu Mitae2268c72006-03-26 01:39:35 -080077
Linus Torvalds1da177e2005-04-16 15:20:36 -070078config GENERIC_HARDIRQS
Harvey Harrisond7ef4fb2007-12-11 13:49:35 +090079 def_bool y
Linus Torvalds1da177e2005-04-16 15:20:36 -070080
Paul Mundt5093c9a2008-08-04 14:17:13 +090081config GENERIC_HARDIRQS_NO__DO_IRQ
82 def_bool y
83
Paul Mundt2eb2a432009-06-19 16:00:00 +090084config IRQ_PER_CPU
85 def_bool y
86
Paul Mundt4b842c82010-02-02 19:15:17 +090087config SPARSE_IRQ
88 def_bool y
89 depends on SUPERH32
90
Magnus Damm2967dab2008-10-08 20:41:43 +090091config GENERIC_GPIO
92 def_bool n
93
Linus Torvalds1da177e2005-04-16 15:20:36 -070094config GENERIC_CALIBRATE_DELAY
Paul Mundtcf204fa2008-09-08 20:47:42 +090095 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -070096
Paul Mundtcad82442006-01-16 22:14:19 -080097config GENERIC_IOMAP
98 bool
99
Paul Mundt45882142006-10-04 13:21:45 +0900100config GENERIC_TIME
john stultz75634312009-05-01 13:10:28 -0700101 def_bool y
Paul Mundt45882142006-10-04 13:21:45 +0900102
Paul Mundt57be2b42007-05-09 17:33:24 +0900103config GENERIC_CLOCKEVENTS
Paul Mundt938edae2009-05-03 18:12:26 +0900104 def_bool y
Paul Mundt57be2b42007-05-09 17:33:24 +0900105
Paul Mundt8c245942008-08-06 18:37:07 +0900106config GENERIC_CLOCKEVENTS_BROADCAST
107 bool
108
Paul Mundt6d134b92009-05-08 16:36:13 +0900109config GENERIC_CMOS_UPDATE
110 def_bool y
111 depends on SH_SH03 || SH_DREAMCAST
112
Paul Mundtbdcab872008-08-04 14:09:15 +0900113config GENERIC_LOCKBREAK
114 def_bool y
115 depends on SMP && PREEMPT
116
Paul Mundt357d5942007-06-11 15:32:07 +0900117config SYS_SUPPORTS_PM
118 bool
Magnus Dammaf998a92008-12-04 22:45:12 +0900119 depends on !SMP
120
121config ARCH_SUSPEND_POSSIBLE
122 def_bool n
123
124config ARCH_HIBERNATION_POSSIBLE
125 def_bool n
Paul Mundt357d5942007-06-11 15:32:07 +0900126
Paul Mundt0a9b0db2007-01-24 21:56:20 +0900127config SYS_SUPPORTS_APM_EMULATION
128 bool
Magnus Dammaf998a92008-12-04 22:45:12 +0900129 select ARCH_SUSPEND_POSSIBLE
Paul Mundt357d5942007-06-11 15:32:07 +0900130
Paul Mundtffb4a732009-10-27 07:22:37 +0900131config SYS_SUPPORTS_HUGETLBFS
132 bool
133
Paul Mundt357d5942007-06-11 15:32:07 +0900134config SYS_SUPPORTS_SMP
135 bool
136
137config SYS_SUPPORTS_NUMA
138 bool
139
140config SYS_SUPPORTS_PCI
141 bool
Paul Mundt0a9b0db2007-01-24 21:56:20 +0900142
Paul Mundtf5ad8812009-01-29 18:08:58 +0900143config SYS_SUPPORTS_CMT
144 bool
145
Magnus Dammd5ed4c22009-04-30 07:02:49 +0000146config SYS_SUPPORTS_MTU2
147 bool
148
Magnus Damm9570ef22009-05-01 06:51:00 +0000149config SYS_SUPPORTS_TMU
150 bool
151
Paul Mundtafbfb522006-12-04 18:17:28 +0900152config STACKTRACE_SUPPORT
Harvey Harrisond7ef4fb2007-12-11 13:49:35 +0900153 def_bool y
Paul Mundtafbfb522006-12-04 18:17:28 +0900154
155config LOCKDEP_SUPPORT
Harvey Harrisond7ef4fb2007-12-11 13:49:35 +0900156 def_bool y
Paul Mundtafbfb522006-12-04 18:17:28 +0900157
Paul Mundt5a89f1a2008-09-13 01:44:03 +0900158config HAVE_LATENCYTOP_SUPPORT
159 def_bool y
160 depends on !SMP
161
David Howellsf0d1b0b2006-12-08 02:37:49 -0800162config ARCH_HAS_ILOG2_U32
Harvey Harrisond7ef4fb2007-12-11 13:49:35 +0900163 def_bool n
David Howellsf0d1b0b2006-12-08 02:37:49 -0800164
165config ARCH_HAS_ILOG2_U64
Harvey Harrisond7ef4fb2007-12-11 13:49:35 +0900166 def_bool n
David Howellsf0d1b0b2006-12-08 02:37:49 -0800167
Paul Mundte257ad02007-07-25 11:18:00 +0900168config ARCH_NO_VIRT_TO_BUS
169 def_bool y
170
Paul Mundte869a902009-04-02 13:08:31 +0900171config ARCH_HAS_DEFAULT_IDLE
172 def_bool y
173
Paul Mundt2e046b92009-06-19 14:40:51 +0900174config ARCH_HAS_CPU_IDLE_WAIT
175 def_bool y
176
Magnus Damme7cc9a72008-02-07 20:18:21 +0900177config IO_TRAPPED
178 bool
179
Paul Mundt01be5d62009-10-27 10:35:02 +0900180config DMA_COHERENT
181 bool
182
183config DMA_NONCOHERENT
184 def_bool !DMA_COHERENT
185
Linus Torvalds1da177e2005-04-16 15:20:36 -0700186source "init/Kconfig"
187
Matt Helsleydc52ddc2008-10-18 20:27:21 -0700188source "kernel/Kconfig.freezer"
189
Linus Torvalds1da177e2005-04-16 15:20:36 -0700190menu "System type"
191
Paul Mundtb5f42db2007-11-08 18:38:14 +0900192#
193# Processor families
194#
195config CPU_SH2
196 bool
197
198config CPU_SH2A
199 bool
200 select CPU_SH2
201
202config CPU_SH3
203 bool
204 select CPU_HAS_INTEVT
205 select CPU_HAS_SR_RB
Paul Mundt4fa48e12009-05-08 15:28:15 +0900206 select SYS_SUPPORTS_TMU
Paul Mundtb5f42db2007-11-08 18:38:14 +0900207
208config CPU_SH4
209 bool
210 select CPU_HAS_INTEVT
211 select CPU_HAS_SR_RB
Paul Mundtb5f42db2007-11-08 18:38:14 +0900212 select CPU_HAS_FPU if !CPU_SH4AL_DSP
Paul Mundt4fa48e12009-05-08 15:28:15 +0900213 select SYS_SUPPORTS_TMU
Paul Mundtffb4a732009-10-27 07:22:37 +0900214 select SYS_SUPPORTS_HUGETLBFS if MMU
Paul Mundtb5f42db2007-11-08 18:38:14 +0900215
216config CPU_SH4A
217 bool
218 select CPU_SH4
219
220config CPU_SH4AL_DSP
221 bool
222 select CPU_SH4A
223 select CPU_HAS_DSP
224
Paul Mundtea0e1a92007-11-21 15:58:01 +0900225config CPU_SH5
226 bool
227 select CPU_HAS_FPU
Paul Mundtadd47062009-05-08 16:12:17 +0900228 select SYS_SUPPORTS_TMU
Paul Mundtffb4a732009-10-27 07:22:37 +0900229 select SYS_SUPPORTS_HUGETLBFS if MMU
Paul Mundtea0e1a92007-11-21 15:58:01 +0900230
Paul Mundtb5f42db2007-11-08 18:38:14 +0900231config CPU_SHX2
232 bool
233
234config CPU_SHX3
235 bool
Paul Mundt01be5d62009-10-27 10:35:02 +0900236 select DMA_COHERENT
Paul Mundtb5f42db2007-11-08 18:38:14 +0900237
Paul Mundtdc65a972009-03-10 16:26:29 +0900238config ARCH_SHMOBILE
239 bool
Magnus Damm77594912009-03-13 15:23:04 +0000240 select ARCH_SUSPEND_POSSIBLE
Magnus Dammac2c5962009-08-19 10:31:53 +0000241 select PM
242 select PM_RUNTIME
Paul Mundtdc65a972009-03-10 16:26:29 +0900243
Paul Mundt3cc000b2009-04-11 08:39:27 +0900244if SUPERH32
245
Paul Mundtb5f42db2007-11-08 18:38:14 +0900246choice
247 prompt "Processor sub-type selection"
248
249#
250# Processor subtypes
251#
252
253# SH-2 Processor Support
254
255config CPU_SUBTYPE_SH7619
256 bool "Support SH7619 processor"
257 select CPU_SH2
Paul Mundtf5ad8812009-01-29 18:08:58 +0900258 select SYS_SUPPORTS_CMT
Paul Mundtb5f42db2007-11-08 18:38:14 +0900259
260# SH-2A Processor Support
261
Peter Griffin28259992008-11-28 22:48:20 +0900262config CPU_SUBTYPE_SH7201
263 bool "Support SH7201 processor"
264 select CPU_SH2A
265 select CPU_HAS_FPU
Magnus Dammda107c62009-04-30 07:06:26 +0000266 select SYS_SUPPORTS_MTU2
Peter Griffin28259992008-11-28 22:48:20 +0900267
Paul Mundt6d01f512007-11-26 18:17:21 +0900268config CPU_SUBTYPE_SH7203
269 bool "Support SH7203 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 Mundt6d01f512007-11-26 18:17:21 +0900274
Paul Mundtb5f42db2007-11-08 18:38:14 +0900275config CPU_SUBTYPE_SH7206
276 bool "Support SH7206 processor"
277 select CPU_SH2A
Paul Mundtf5ad8812009-01-29 18:08:58 +0900278 select SYS_SUPPORTS_CMT
Magnus Dammda107c62009-04-30 07:06:26 +0000279 select SYS_SUPPORTS_MTU2
Paul Mundtb5f42db2007-11-08 18:38:14 +0900280
Paul Mundta8f67f42007-11-26 19:54:02 +0900281config CPU_SUBTYPE_SH7263
282 bool "Support SH7263 processor"
283 select CPU_SH2A
Paul Mundt74d99a52007-11-26 20:38:36 +0900284 select CPU_HAS_FPU
Paul Mundtf5ad8812009-01-29 18:08:58 +0900285 select SYS_SUPPORTS_CMT
Magnus Dammda107c62009-04-30 07:06:26 +0000286 select SYS_SUPPORTS_MTU2
Paul Mundta8f67f42007-11-26 19:54:02 +0900287
Paul Mundt2ad69902008-03-13 12:52:44 +0900288config CPU_SUBTYPE_MXG
289 bool "Support MX-G processor"
290 select CPU_SH2A
Magnus Dammda107c62009-04-30 07:06:26 +0000291 select SYS_SUPPORTS_MTU2
Paul Mundt2ad69902008-03-13 12:52:44 +0900292 help
293 Select MX-G if running on an R8A03022BG part.
294
Paul Mundtb5f42db2007-11-08 18:38:14 +0900295# SH-3 Processor Support
296
297config CPU_SUBTYPE_SH7705
298 bool "Support SH7705 processor"
299 select CPU_SH3
300
301config CPU_SUBTYPE_SH7706
302 bool "Support SH7706 processor"
303 select CPU_SH3
304 help
305 Select SH7706 if you have a 133 Mhz SH-3 HD6417706 CPU.
306
307config CPU_SUBTYPE_SH7707
308 bool "Support SH7707 processor"
309 select CPU_SH3
310 help
311 Select SH7707 if you have a 60 Mhz SH-3 HD6417707 CPU.
312
313config CPU_SUBTYPE_SH7708
314 bool "Support SH7708 processor"
315 select CPU_SH3
316 help
317 Select SH7708 if you have a 60 Mhz SH-3 HD6417708S or
318 if you have a 100 Mhz SH-3 HD6417708R CPU.
319
320config CPU_SUBTYPE_SH7709
321 bool "Support SH7709 processor"
322 select CPU_SH3
323 help
324 Select SH7709 if you have a 80 Mhz SH-3 HD6417709 CPU.
325
326config CPU_SUBTYPE_SH7710
327 bool "Support SH7710 processor"
328 select CPU_SH3
329 select CPU_HAS_DSP
330 help
331 Select SH7710 if you have a SH3-DSP SH7710 CPU.
332
333config CPU_SUBTYPE_SH7712
334 bool "Support SH7712 processor"
335 select CPU_SH3
336 select CPU_HAS_DSP
337 help
338 Select SH7712 if you have a SH3-DSP SH7712 CPU.
339
340config CPU_SUBTYPE_SH7720
341 bool "Support SH7720 processor"
342 select CPU_SH3
343 select CPU_HAS_DSP
Magnus Damm2b23a882009-05-12 10:21:11 +0000344 select SYS_SUPPORTS_CMT
Paul Mundtb5f42db2007-11-08 18:38:14 +0900345 help
346 Select SH7720 if you have a SH3-DSP SH7720 CPU.
347
Yoshihiro Shimoda31a49c42007-12-26 11:45:06 +0900348config CPU_SUBTYPE_SH7721
349 bool "Support SH7721 processor"
350 select CPU_SH3
351 select CPU_HAS_DSP
Magnus Damm2b23a882009-05-12 10:21:11 +0000352 select SYS_SUPPORTS_CMT
Yoshihiro Shimoda31a49c42007-12-26 11:45:06 +0900353 help
354 Select SH7721 if you have a SH3-DSP SH7721 CPU.
355
Paul Mundtb5f42db2007-11-08 18:38:14 +0900356# SH-4 Processor Support
357
358config CPU_SUBTYPE_SH7750
359 bool "Support SH7750 processor"
360 select CPU_SH4
361 help
362 Select SH7750 if you have a 200 Mhz SH-4 HD6417750 CPU.
363
364config CPU_SUBTYPE_SH7091
365 bool "Support SH7091 processor"
366 select CPU_SH4
367 help
368 Select SH7091 if you have an SH-4 based Sega device (such as
369 the Dreamcast, Naomi, and Naomi 2).
370
371config CPU_SUBTYPE_SH7750R
372 bool "Support SH7750R processor"
373 select CPU_SH4
374
375config CPU_SUBTYPE_SH7750S
376 bool "Support SH7750S processor"
377 select CPU_SH4
378
379config CPU_SUBTYPE_SH7751
380 bool "Support SH7751 processor"
381 select CPU_SH4
382 help
383 Select SH7751 if you have a 166 Mhz SH-4 HD6417751 CPU,
384 or if you have a HD6417751R CPU.
385
386config CPU_SUBTYPE_SH7751R
387 bool "Support SH7751R processor"
388 select CPU_SH4
389
390config CPU_SUBTYPE_SH7760
391 bool "Support SH7760 processor"
392 select CPU_SH4
393
394config CPU_SUBTYPE_SH4_202
395 bool "Support SH4-202 processor"
396 select CPU_SH4
397
398# SH-4A Processor Support
399
Paul Mundt178dd0c2008-04-09 17:56:18 +0900400config CPU_SUBTYPE_SH7723
401 bool "Support SH7723 processor"
402 select CPU_SH4A
403 select CPU_SHX2
Paul Mundtdc65a972009-03-10 16:26:29 +0900404 select ARCH_SHMOBILE
Paul Mundt178dd0c2008-04-09 17:56:18 +0900405 select ARCH_SPARSEMEM_ENABLE
Paul Mundtf5ad8812009-01-29 18:08:58 +0900406 select SYS_SUPPORTS_CMT
Paul Mundt178dd0c2008-04-09 17:56:18 +0900407 help
408 Select SH7723 if you have an SH-MobileR2 CPU.
409
Kuninori Morimoto0207a2e2009-04-16 14:40:56 +0900410config CPU_SUBTYPE_SH7724
411 bool "Support SH7724 processor"
412 select CPU_SH4A
413 select CPU_SHX2
Paul Mundt59fe7002009-04-16 15:43:42 +0900414 select ARCH_SHMOBILE
Kuninori Morimoto0207a2e2009-04-16 14:40:56 +0900415 select ARCH_SPARSEMEM_ENABLE
416 select SYS_SUPPORTS_CMT
417 help
418 Select SH7724 if you have an SH-MobileR2R CPU.
419
Yoshihiro Shimodac01f0f12009-08-21 16:30:28 +0900420config CPU_SUBTYPE_SH7757
421 bool "Support SH7757 processor"
422 select CPU_SH4A
423 select CPU_SHX2
424 help
425 Select SH7757 if you have a SH4A SH7757 CPU.
426
Yoshihiro Shimoda7d740a02008-01-07 14:40:07 +0900427config CPU_SUBTYPE_SH7763
428 bool "Support SH7763 processor"
429 select CPU_SH4A
430 help
431 Select SH7763 if you have a SH4A SH7763(R5S77631) CPU.
432
Paul Mundtb5f42db2007-11-08 18:38:14 +0900433config CPU_SUBTYPE_SH7770
434 bool "Support SH7770 processor"
435 select CPU_SH4A
436
437config CPU_SUBTYPE_SH7780
438 bool "Support SH7780 processor"
439 select CPU_SH4A
440
441config CPU_SUBTYPE_SH7785
442 bool "Support SH7785 processor"
443 select CPU_SH4A
444 select CPU_SHX2
445 select ARCH_SPARSEMEM_ENABLE
446 select SYS_SUPPORTS_NUMA
447
Kuninori Morimoto55ba99e2009-03-03 15:40:25 +0900448config CPU_SUBTYPE_SH7786
449 bool "Support SH7786 processor"
450 select CPU_SH4A
Paul Mundt37042fb2009-03-03 15:57:02 +0900451 select CPU_SHX3
Paul Mundt8263a672009-03-17 17:49:49 +0900452 select CPU_HAS_PTEAEX
Kuninori Morimoto55ba99e2009-03-03 15:40:25 +0900453 select ARCH_SPARSEMEM_ENABLE
454 select SYS_SUPPORTS_NUMA
Paul Mundt2eb2a432009-06-19 16:00:00 +0900455 select SYS_SUPPORTS_SMP
456 select GENERIC_CLOCKEVENTS_BROADCAST if SMP
Kuninori Morimoto55ba99e2009-03-03 15:40:25 +0900457
Paul Mundtb5f42db2007-11-08 18:38:14 +0900458config CPU_SUBTYPE_SHX3
459 bool "Support SH-X3 processor"
460 select CPU_SH4A
461 select CPU_SHX3
462 select ARCH_SPARSEMEM_ENABLE
463 select SYS_SUPPORTS_NUMA
464 select SYS_SUPPORTS_SMP
Paul Mundt58402632008-09-05 15:36:39 +0900465 select GENERIC_CLOCKEVENTS_BROADCAST if SMP
Paul Mundtb5f42db2007-11-08 18:38:14 +0900466
467# SH4AL-DSP Processor Support
468
469config CPU_SUBTYPE_SH7343
470 bool "Support SH7343 processor"
471 select CPU_SH4AL_DSP
Paul Mundtdc65a972009-03-10 16:26:29 +0900472 select ARCH_SHMOBILE
Paul Mundtf5ad8812009-01-29 18:08:58 +0900473 select SYS_SUPPORTS_CMT
Paul Mundtb5f42db2007-11-08 18:38:14 +0900474
475config CPU_SUBTYPE_SH7722
476 bool "Support SH7722 processor"
477 select CPU_SH4AL_DSP
478 select CPU_SHX2
Paul Mundtdc65a972009-03-10 16:26:29 +0900479 select ARCH_SHMOBILE
Paul Mundtb5f42db2007-11-08 18:38:14 +0900480 select ARCH_SPARSEMEM_ENABLE
481 select SYS_SUPPORTS_NUMA
Paul Mundtf5ad8812009-01-29 18:08:58 +0900482 select SYS_SUPPORTS_CMT
Paul Mundtb5f42db2007-11-08 18:38:14 +0900483
Magnus Damm9109a302008-02-08 17:31:24 +0900484config CPU_SUBTYPE_SH7366
485 bool "Support SH7366 processor"
486 select CPU_SH4AL_DSP
487 select CPU_SHX2
Paul Mundtdc65a972009-03-10 16:26:29 +0900488 select ARCH_SHMOBILE
Magnus Damm9109a302008-02-08 17:31:24 +0900489 select ARCH_SPARSEMEM_ENABLE
490 select SYS_SUPPORTS_NUMA
Paul Mundtf5ad8812009-01-29 18:08:58 +0900491 select SYS_SUPPORTS_CMT
Magnus Damm9109a302008-02-08 17:31:24 +0900492
Paul Mundt3cc000b2009-04-11 08:39:27 +0900493endchoice
494
495endif
496
497if SUPERH64
498
499choice
500 prompt "Processor sub-type selection"
501
Paul Mundtea0e1a92007-11-21 15:58:01 +0900502# SH-5 Processor Support
503
504config CPU_SUBTYPE_SH5_101
505 bool "Support SH5-101 processor"
506 select CPU_SH5
507
508config CPU_SUBTYPE_SH5_103
509 bool "Support SH5-103 processor"
Paul Mundt8ef97dd2008-02-14 15:30:54 +0900510 select CPU_SH5
Paul Mundtea0e1a92007-11-21 15:58:01 +0900511
Paul Mundtb5f42db2007-11-08 18:38:14 +0900512endchoice
513
Paul Mundt3cc000b2009-04-11 08:39:27 +0900514endif
515
Paul Mundtcad82442006-01-16 22:14:19 -0800516source "arch/sh/mm/Kconfig"
Paul Mundt939a24a2008-07-29 21:41:37 +0900517
Paul Mundt4690bdc2007-11-09 13:45:42 +0900518source "arch/sh/Kconfig.cpu"
Paul Mundtcad82442006-01-16 22:14:19 -0800519
Paul Mundt939a24a2008-07-29 21:41:37 +0900520source "arch/sh/boards/Kconfig"
Paul Mundtf3d22292007-05-14 17:29:12 +0900521
Paul Mundt32351a22007-03-12 14:38:59 +0900522menu "Timer and clock configuration"
523
Magnus Damm9570ef22009-05-01 06:51:00 +0000524config SH_TIMER_TMU
525 bool "TMU timer driver"
Magnus Dammf19900b2009-05-12 10:25:54 +0000526 depends on SYS_SUPPORTS_TMU
Magnus Damm9570ef22009-05-01 06:51:00 +0000527 default y
Magnus Damm9570ef22009-05-01 06:51:00 +0000528 help
529 This enables the build of the TMU timer driver.
530
Paul Mundtf5ad8812009-01-29 18:08:58 +0900531config SH_TIMER_CMT
Magnus Dammf4257522009-04-30 04:09:26 +0000532 bool "CMT timer driver"
533 depends on SYS_SUPPORTS_CMT
534 default y
Magnus Dammf4257522009-04-30 04:09:26 +0000535 help
536 This enables build of the CMT timer driver.
Paul Mundtf5ad8812009-01-29 18:08:58 +0900537
Magnus Dammd5ed4c22009-04-30 07:02:49 +0000538config SH_TIMER_MTU2
539 bool "MTU2 timer driver"
Magnus Damm3280c882009-04-30 07:12:09 +0000540 depends on SYS_SUPPORTS_MTU2
Magnus Dammd5ed4c22009-04-30 07:02:49 +0000541 default y
Magnus Dammd5ed4c22009-04-30 07:02:49 +0000542 help
543 This enables build of the MTU2 timer driver.
544
Paul Mundtcad82442006-01-16 22:14:19 -0800545config SH_PCLK_FREQ
546 int "Peripheral clock frequency (in Hz)"
Paul Mundt8152a742009-12-29 11:09:30 +0900547 depends on SH_CLK_CPG_LEGACY
Yoshinori Sato9d4436a2006-11-05 15:40:13 +0900548 default "31250000" if CPU_SUBTYPE_SH7619
Paul Mundt8152a742009-12-29 11:09:30 +0900549 default "33333333" if CPU_SUBTYPE_SH7770 || \
550 CPU_SUBTYPE_SH7760 || \
551 CPU_SUBTYPE_SH7705 || \
552 CPU_SUBTYPE_SH7203 || \
553 CPU_SUBTYPE_SH7206 || \
554 CPU_SUBTYPE_SH7263 || \
Paul Mundt43a18392010-01-19 19:37:14 +0900555 CPU_SUBTYPE_MXG
Paul Mundt05627482007-05-15 16:25:47 +0900556 default "60000000" if CPU_SUBTYPE_SH7751 || CPU_SUBTYPE_SH7751R
Paul Mundtcad82442006-01-16 22:14:19 -0800557 default "66000000" if CPU_SUBTYPE_SH4_202
Paul Mundt05627482007-05-15 16:25:47 +0900558 default "50000000"
Paul Mundtcad82442006-01-16 22:14:19 -0800559 help
560 This option is used to specify the peripheral clock frequency.
561 This is necessary for determining the reference clock value on
562 platforms lacking an RTC.
563
Paul Mundt36aa1e32009-05-22 14:00:34 +0900564config SH_CLK_CPG
565 def_bool y
566
Paul Mundt253b0882009-05-13 17:38:11 +0900567config SH_CLK_CPG_LEGACY
Paul Mundt36aa1e32009-05-22 14:00:34 +0900568 depends on SH_CLK_CPG
Paul Mundt43a18392010-01-19 19:37:14 +0900569 def_bool y if !CPU_SUBTYPE_SH7785 && !ARCH_SHMOBILE && \
570 !CPU_SUBTYPE_SH7786
Paul Mundt253b0882009-05-13 17:38:11 +0900571
Yoshinori Sato9d4436a2006-11-05 15:40:13 +0900572config SH_CLK_MD
573 int "CPU Mode Pin Setting"
Paul Mundt6d01f512007-11-26 18:17:21 +0900574 depends on CPU_SH2
Paul Mundt357d5942007-06-11 15:32:07 +0900575 default 6 if CPU_SUBTYPE_SH7206
576 default 5 if CPU_SUBTYPE_SH7619
577 default 0
Yoshinori Sato9d4436a2006-11-05 15:40:13 +0900578 help
Yoshinori Sato11cbb702006-12-07 18:07:27 +0900579 MD2 - MD0 pin setting.
Yoshinori Sato9d4436a2006-11-05 15:40:13 +0900580
Paul Mundt57be2b42007-05-09 17:33:24 +0900581source "kernel/time/Kconfig"
582
Paul Mundt32351a22007-03-12 14:38:59 +0900583endmenu
584
Paul Mundtcad82442006-01-16 22:14:19 -0800585menu "CPU Frequency scaling"
586
587source "drivers/cpufreq/Kconfig"
588
589config SH_CPU_FREQ
590 tristate "SuperH CPU Frequency driver"
Paul Mundtcb5ec752007-07-20 13:38:19 +0900591 depends on CPU_FREQ
Paul Mundtcad82442006-01-16 22:14:19 -0800592 select CPU_FREQ_TABLE
593 help
Paul Mundt8a655052008-12-17 15:06:54 +0900594 This adds the cpufreq driver for SuperH. Any CPU that supports
595 clock rate rounding through the clock framework can use this
596 driver. While it will make the kernel slightly larger, this is
597 harmless for CPUs that don't support rate rounding. The driver
598 will also generate a notice in the boot log before disabling
599 itself if the CPU in question is not capable of rate rounding.
Paul Mundtcad82442006-01-16 22:14:19 -0800600
601 For details, take a look at <file:Documentation/cpu-freq>.
602
603 If unsure, say N.
604
605endmenu
606
Paul Mundt9f5e8ee2006-11-24 11:22:57 +0900607source "arch/sh/drivers/Kconfig"
608
Paul Mundtcad82442006-01-16 22:14:19 -0800609endmenu
610
Paul Mundtcad82442006-01-16 22:14:19 -0800611menu "Kernel features"
612
Paul Mundt91b91d02006-09-27 18:08:33 +0900613source kernel/Kconfig.hz
614
Paul Mundtcad82442006-01-16 22:14:19 -0800615config KEXEC
616 bool "kexec system call (EXPERIMENTAL)"
Nobuhiro Iwamatsuf36b59d2009-03-26 08:32:37 +0000617 depends on SUPERH32 && EXPERIMENTAL && MMU
Paul Mundtcad82442006-01-16 22:14:19 -0800618 help
619 kexec is a system call that implements the ability to shutdown your
620 current kernel, and to start another kernel. It is like a reboot
Matt LaPlante1f1332f2006-06-29 01:32:47 -0400621 but it is independent of the system firmware. And like a reboot
Paul Mundtcad82442006-01-16 22:14:19 -0800622 you can start any kernel with it, not just Linux.
623
Matt LaPlante1f1332f2006-06-29 01:32:47 -0400624 The name comes from the similarity to the exec system call.
Paul Mundtcad82442006-01-16 22:14:19 -0800625
626 It is an ongoing process to be certain the hardware in a machine
627 is properly shutdown, so do not be surprised if this code does not
628 initially work for you. It may help to enable device hotplugging
629 support. As of this writing the exact hardware interface is
630 strongly in flux, so no good recommendation can be made.
631
Paul Mundt4d5ade52007-04-27 11:25:57 +0900632config CRASH_DUMP
633 bool "kernel crash dumps (EXPERIMENTAL)"
Paul Mundt640f7482008-04-25 13:04:56 +0900634 depends on SUPERH32 && EXPERIMENTAL
Paul Mundt4d5ade52007-04-27 11:25:57 +0900635 help
636 Generate crash dump after being started by kexec.
637 This should be normally only set in special crash dump kernels
638 which are loaded in the main kernel with kexec-tools into
639 a specially reserved region and then later executed after
640 a crash by kdump/kexec. The crash dump kernel must be compiled
641 to a memory address not used by the main kernel using
642 MEMORY_START.
643
644 For more details see Documentation/kdump/kdump.txt
645
Magnus Dammb7cf6dd2009-03-18 08:51:29 +0000646config KEXEC_JUMP
647 bool "kexec jump (EXPERIMENTAL)"
648 depends on SUPERH32 && KEXEC && HIBERNATION && EXPERIMENTAL
649 help
650 Jump between original kernel and kexeced kernel and invoke
651 code via KEXEC
652
Paul Mundtc4637d42008-07-30 15:30:52 +0900653config SECCOMP
654 bool "Enable seccomp to safely compute untrusted bytecode"
655 depends on PROC_FS
Paul Mundtc4637d42008-07-30 15:30:52 +0900656 help
657 This kernel feature is useful for number crunching applications
658 that may need to compute untrusted bytecode during their
659 execution. By using pipes or other transports made available to
660 the process as file descriptors supporting the read/write
661 syscalls, it's possible to isolate those applications in
662 their own address space using seccomp. Once seccomp is
663 enabled via prctl, it cannot be disabled and the task is only
664 allowed to execute a few safe syscalls defined by each seccomp
665 mode.
666
667 If unsure, say N.
668
Linus Torvalds1da177e2005-04-16 15:20:36 -0700669config SMP
670 bool "Symmetric multi-processing support"
Paul Mundt357d5942007-06-11 15:32:07 +0900671 depends on SYS_SUPPORTS_SMP
Jens Axboe490f5de2008-06-10 20:52:59 +0200672 select USE_GENERIC_SMP_HELPERS
Linus Torvalds1da177e2005-04-16 15:20:36 -0700673 ---help---
674 This enables support for systems with more than one CPU. If you have
675 a system with only one CPU, like most personal computers, say N. If
676 you have a system with more than one CPU, say Y.
677
678 If you say N here, the kernel will run on single and multiprocessor
679 machines, but will use only one CPU of a multiprocessor machine. If
680 you say Y here, the kernel will run on many, but not all,
681 singleprocessor machines. On a singleprocessor machine, the kernel
682 will run faster if you say N here.
683
684 People using multiprocessor machines who say Y here should also say
685 Y to "Enhanced Real Time Clock Support", below.
686
Adrian Bunk03502fa2008-02-03 15:50:21 +0200687 See also <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO
688 available at <http://www.tldp.org/docs.html#howto>.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700689
690 If you don't know what to do here, say N.
691
692config NR_CPUS
693 int "Maximum number of CPUs (2-32)"
694 range 2 32
695 depends on SMP
Paul Mundt2eb2a432009-06-19 16:00:00 +0900696 default "4" if CPU_SUBTYPE_SHX3
Linus Torvalds1da177e2005-04-16 15:20:36 -0700697 default "2"
698 help
699 This allows you to specify the maximum number of CPUs which this
700 kernel will support. The maximum supported value is 32 and the
701 minimum value which makes sense is 2.
702
703 This is purely to save memory - each supported CPU adds
704 approximately eight kilobytes to the kernel image.
705
Paul Mundt91b91d02006-09-27 18:08:33 +0900706source "kernel/Kconfig.preempt"
707
Paul Mundt83662462007-09-28 16:04:49 +0900708config GUSA
709 def_bool y
Stuart Menefy1efe4ce2007-11-30 16:12:36 +0900710 depends on !SMP && SUPERH32
Paul Mundt83662462007-09-28 16:04:49 +0900711 help
712 This enables support for gUSA (general UserSpace Atomicity).
713 This is the default implementation for both UP and non-ll/sc
714 CPUs, and is used by the libc, amongst others.
715
716 For additional information, design information can be found
717 in <http://lc.linux.or.jp/lc2002/papers/niibe0919p.pdf>.
718
719 This should only be disabled for special cases where alternate
720 atomicity implementations exist.
721
Stuart Menefy1efe4ce2007-11-30 16:12:36 +0900722config GUSA_RB
723 bool "Implement atomic operations by roll-back (gRB) (EXPERIMENTAL)"
724 depends on GUSA && CPU_SH3 || (CPU_SH4 && !CPU_SH4A)
725 help
726 Enabling this option will allow the kernel to implement some
Matt LaPlante692105b2009-01-26 11:12:25 +0100727 atomic operations using a software implementation of load-locked/
Stuart Menefy1efe4ce2007-11-30 16:12:36 +0900728 store-conditional (LLSC). On machines which do not have hardware
729 LLSC, this should be more efficient than the other alternative of
Matt LaPlante692105b2009-01-26 11:12:25 +0100730 disabling interrupts around the atomic sequence.
Stuart Menefy1efe4ce2007-11-30 16:12:36 +0900731
Paul Mundtcad82442006-01-16 22:14:19 -0800732endmenu
733
734menu "Boot options"
735
736config ZERO_PAGE_OFFSET
Paul Mundtb412a49a2009-05-10 01:23:25 +0900737 hex
738 default "0x00010000" if PAGE_SIZE_64KB || SH_RTS7751R2D || \
739 SH_7751_SOLUTION_ENGINE
740 default "0x00004000" if PAGE_SIZE_16KB || SH_SH03
Paul Mundt7a847f82006-12-26 15:29:19 +0900741 default "0x00002000" if PAGE_SIZE_8KB
Paul Mundtcad82442006-01-16 22:14:19 -0800742 default "0x00001000"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700743 help
Paul Mundtcad82442006-01-16 22:14:19 -0800744 This sets the default offset of zero page.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700745
Paul Mundtcad82442006-01-16 22:14:19 -0800746config BOOT_LINK_OFFSET
Paul Mundtb412a49a2009-05-10 01:23:25 +0900747 hex
748 default "0x00210000" if SH_SHMIN
Paul Mundta2e76c82009-05-10 00:54:39 +0900749 default "0x00400000" if SH_CAYMAN
Paul Mundtb412a49a2009-05-10 01:23:25 +0900750 default "0x00810000" if SH_7780_SOLUTION_ENGINE
751 default "0x009e0000" if SH_TITAN
752 default "0x01800000" if SH_SDK7780
753 default "0x02000000" if SH_EDOSK7760
Paul Mundtcad82442006-01-16 22:14:19 -0800754 default "0x00800000"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700755 help
Paul Mundtcad82442006-01-16 22:14:19 -0800756 This option allows you to set the link address offset of the zImage.
757 This can be useful if you are on a board which has a small amount of
758 memory.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700759
Paul Mundtb412a49a2009-05-10 01:23:25 +0900760config ENTRY_OFFSET
761 hex
762 default "0x00001000" if PAGE_SIZE_4KB
763 default "0x00002000" if PAGE_SIZE_8KB
764 default "0x00004000" if PAGE_SIZE_16KB
765 default "0x00010000" if PAGE_SIZE_64KB
766 default "0x00000000"
767
Pawel Molld724a9c2009-08-24 16:25:38 +0900768choice
769 prompt "Kernel command line"
770 optional
771 default CMDLINE_OVERWRITE
772 help
773 Setting this option allows the kernel command line arguments
774 to be set.
775
776config CMDLINE_OVERWRITE
777 bool "Overwrite bootloader kernel arguments"
778 help
779 Given string will overwrite any arguments passed in by
780 a bootloader.
781
782config CMDLINE_EXTEND
783 bool "Extend bootloader kernel arguments"
784 help
785 Given string will be concatenated with arguments passed in
786 by a bootloader.
787
788endchoice
Linus Torvalds1da177e2005-04-16 15:20:36 -0700789
Paul Mundtcad82442006-01-16 22:14:19 -0800790config CMDLINE
Pawel Molld724a9c2009-08-24 16:25:38 +0900791 string "Kernel command line arguments string"
792 depends on CMDLINE_OVERWRITE || CMDLINE_EXTEND
Paul Mundtcad82442006-01-16 22:14:19 -0800793 default "console=ttySC1,115200"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700794
795endmenu
796
Paul Mundtcad82442006-01-16 22:14:19 -0800797menu "Bus options"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700798
Paul Mundtcad82442006-01-16 22:14:19 -0800799config SUPERHYWAY
800 tristate "SuperHyway Bus support"
801 depends on CPU_SUBTYPE_SH4_202
Linus Torvalds1da177e2005-04-16 15:20:36 -0700802
Adrian McMenamin17be2d22007-09-21 15:55:55 +0900803config MAPLE
Paul Mundte16038a2009-01-09 15:12:30 +0900804 bool "Maple Bus support"
805 depends on SH_DREAMCAST
806 help
807 The Maple Bus is SEGA's serial communication bus for peripherals
808 on the Dreamcast. Without this bus support you won't be able to
809 get your Dreamcast keyboard etc to work, so most users
810 probably want to say 'Y' here, unless you are only using the
811 Dreamcast with a serial line terminal or a remote network
812 connection.
Adrian McMenamin17be2d22007-09-21 15:55:55 +0900813
Paul Mundt76934652009-10-27 10:36:55 +0900814config PCI
815 bool "PCI support"
816 depends on SYS_SUPPORTS_PCI
Paul Mundt320e68d2010-01-29 22:38:13 +0900817 select PCI_DOMAINS
Paul Mundt76934652009-10-27 10:36:55 +0900818 help
819 Find out whether you have a PCI motherboard. PCI is the name of a
820 bus system, i.e. the way the CPU talks to the other stuff inside
821 your box. If you have PCI, say Y, otherwise N.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700822
Paul Mundt320e68d2010-01-29 22:38:13 +0900823config PCI_DOMAINS
824 bool
825
Paul Mundte16038a2009-01-09 15:12:30 +0900826source "drivers/pci/pcie/Kconfig"
827
Linus Torvalds1da177e2005-04-16 15:20:36 -0700828source "drivers/pci/Kconfig"
829
830source "drivers/pcmcia/Kconfig"
831
832source "drivers/pci/hotplug/Kconfig"
833
834endmenu
835
836menu "Executable file formats"
837
838source "fs/Kconfig.binfmt"
839
840endmenu
841
Andriy Skulysh3aa770e2006-09-27 16:20:22 +0900842menu "Power management options (EXPERIMENTAL)"
Magnus Dammaf998a92008-12-04 22:45:12 +0900843depends on EXPERIMENTAL
Johannes Bergf4cb5702007-12-08 02:14:00 +0100844
Magnus Dammc6f17cb2008-12-04 22:45:20 +0900845source "kernel/power/Kconfig"
846
847source "drivers/cpuidle/Kconfig"
Andriy Skulysh3aa770e2006-09-27 16:20:22 +0900848
Andriy Skulysh3aa770e2006-09-27 16:20:22 +0900849endmenu
850
Sam Ravnborgd5950b42005-07-11 21:03:49 -0700851source "net/Kconfig"
852
Linus Torvalds1da177e2005-04-16 15:20:36 -0700853source "drivers/Kconfig"
854
855source "fs/Kconfig"
856
Linus Torvalds1da177e2005-04-16 15:20:36 -0700857source "arch/sh/Kconfig.debug"
858
859source "security/Kconfig"
860
861source "crypto/Kconfig"
862
863source "lib/Kconfig"