blob: 0e318c905eea984d57824526f50be505be82ddbd [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
Frederic Weisbecker01027522010-04-11 18:55:56 +020047 select HAVE_MIXED_BREAKPOINTS_REGS
Paul Mundt6c0ee6a2009-12-21 17:35:00 +090048 select PERF_EVENTS if HAVE_HW_BREAKPOINT
Paul Mundt8dafc342009-04-02 11:56:38 +090049 select ARCH_HIBERNATION_POSSIBLE if MMU
Paul Mundtea0e1a92007-11-21 15:58:01 +090050
51config SUPERH64
Paul Mundt3cc000b2009-04-11 08:39:27 +090052 def_bool ARCH = "sh64"
Paul Mundt39d28a22007-11-08 18:39:33 +090053
Paul Mundtf42b7e32008-07-29 20:12:51 +090054config ARCH_DEFCONFIG
55 string
56 default "arch/sh/configs/shx3_defconfig" if SUPERH32
57 default "arch/sh/configs/cayman_defconfig" if SUPERH64
58
Linus Torvalds1da177e2005-04-16 15:20:36 -070059config RWSEM_GENERIC_SPINLOCK
Harvey Harrisond7ef4fb2007-12-11 13:49:35 +090060 def_bool y
Linus Torvalds1da177e2005-04-16 15:20:36 -070061
62config RWSEM_XCHGADD_ALGORITHM
63 bool
64
Paul Mundtfa691512007-03-08 19:41:21 +090065config GENERIC_BUG
66 def_bool y
Paul Mundta82d53e2007-11-21 18:22:05 +090067 depends on BUG && SUPERH32
Paul Mundtfa691512007-03-08 19:41:21 +090068
Paul Mundt3767f3f2009-06-15 00:00:42 +090069config GENERIC_CSUM
70 def_bool y
71 depends on SUPERH64
72
Akinobu Mitae2268c72006-03-26 01:39:35 -080073config GENERIC_FIND_NEXT_BIT
Harvey Harrisond7ef4fb2007-12-11 13:49:35 +090074 def_bool y
Akinobu Mitae2268c72006-03-26 01:39:35 -080075
76config GENERIC_HWEIGHT
Harvey Harrisond7ef4fb2007-12-11 13:49:35 +090077 def_bool y
Akinobu Mitae2268c72006-03-26 01:39:35 -080078
Linus Torvalds1da177e2005-04-16 15:20:36 -070079config GENERIC_HARDIRQS
Harvey Harrisond7ef4fb2007-12-11 13:49:35 +090080 def_bool y
Linus Torvalds1da177e2005-04-16 15:20:36 -070081
Paul Mundt5093c9a2008-08-04 14:17:13 +090082config GENERIC_HARDIRQS_NO__DO_IRQ
83 def_bool y
84
Paul Mundt2eb2a432009-06-19 16:00:00 +090085config IRQ_PER_CPU
86 def_bool y
87
Paul Mundt4b842c82010-02-02 19:15:17 +090088config SPARSE_IRQ
89 def_bool y
90 depends on SUPERH32
91
Magnus Damm2967dab2008-10-08 20:41:43 +090092config GENERIC_GPIO
93 def_bool n
94
Linus Torvalds1da177e2005-04-16 15:20:36 -070095config GENERIC_CALIBRATE_DELAY
Paul Mundtcf204fa2008-09-08 20:47:42 +090096 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -070097
Paul Mundtcad82442006-01-16 22:14:19 -080098config GENERIC_IOMAP
99 bool
100
Paul Mundt45882142006-10-04 13:21:45 +0900101config GENERIC_TIME
john stultz75634312009-05-01 13:10:28 -0700102 def_bool y
Paul Mundt45882142006-10-04 13:21:45 +0900103
Paul Mundt57be2b42007-05-09 17:33:24 +0900104config GENERIC_CLOCKEVENTS
Paul Mundt938edae2009-05-03 18:12:26 +0900105 def_bool y
Paul Mundt57be2b42007-05-09 17:33:24 +0900106
Paul Mundt8c245942008-08-06 18:37:07 +0900107config GENERIC_CLOCKEVENTS_BROADCAST
108 bool
109
Paul Mundt6d134b92009-05-08 16:36:13 +0900110config GENERIC_CMOS_UPDATE
111 def_bool y
112 depends on SH_SH03 || SH_DREAMCAST
113
Paul Mundtbdcab872008-08-04 14:09:15 +0900114config GENERIC_LOCKBREAK
115 def_bool y
116 depends on SMP && PREEMPT
117
Paul Mundt357d5942007-06-11 15:32:07 +0900118config SYS_SUPPORTS_PM
119 bool
Magnus Dammaf998a92008-12-04 22:45:12 +0900120 depends on !SMP
121
122config ARCH_SUSPEND_POSSIBLE
123 def_bool n
124
125config ARCH_HIBERNATION_POSSIBLE
126 def_bool n
Paul Mundt357d5942007-06-11 15:32:07 +0900127
Paul Mundt0a9b0db2007-01-24 21:56:20 +0900128config SYS_SUPPORTS_APM_EMULATION
129 bool
Magnus Dammaf998a92008-12-04 22:45:12 +0900130 select ARCH_SUSPEND_POSSIBLE
Paul Mundt357d5942007-06-11 15:32:07 +0900131
Paul Mundtffb4a732009-10-27 07:22:37 +0900132config SYS_SUPPORTS_HUGETLBFS
133 bool
134
Paul Mundt357d5942007-06-11 15:32:07 +0900135config SYS_SUPPORTS_SMP
136 bool
137
138config SYS_SUPPORTS_NUMA
139 bool
140
141config SYS_SUPPORTS_PCI
142 bool
Paul Mundt0a9b0db2007-01-24 21:56:20 +0900143
Paul Mundtf5ad8812009-01-29 18:08:58 +0900144config SYS_SUPPORTS_CMT
145 bool
146
Magnus Dammd5ed4c22009-04-30 07:02:49 +0000147config SYS_SUPPORTS_MTU2
148 bool
149
Magnus Damm9570ef22009-05-01 06:51:00 +0000150config SYS_SUPPORTS_TMU
151 bool
152
Paul Mundtafbfb522006-12-04 18:17:28 +0900153config STACKTRACE_SUPPORT
Harvey Harrisond7ef4fb2007-12-11 13:49:35 +0900154 def_bool y
Paul Mundtafbfb522006-12-04 18:17:28 +0900155
156config LOCKDEP_SUPPORT
Harvey Harrisond7ef4fb2007-12-11 13:49:35 +0900157 def_bool y
Paul Mundtafbfb522006-12-04 18:17:28 +0900158
Paul Mundt5a89f1a2008-09-13 01:44:03 +0900159config HAVE_LATENCYTOP_SUPPORT
160 def_bool y
Paul Mundt5a89f1a2008-09-13 01:44:03 +0900161
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
FUJITA Tomonori5cabbb62010-03-10 15:23:27 -0800186config NEED_DMA_MAP_STATE
187 def_bool DMA_NONCOHERENT
188
Linus Torvalds1da177e2005-04-16 15:20:36 -0700189source "init/Kconfig"
190
Matt Helsleydc52ddc2008-10-18 20:27:21 -0700191source "kernel/Kconfig.freezer"
192
Linus Torvalds1da177e2005-04-16 15:20:36 -0700193menu "System type"
194
Paul Mundtb5f42db2007-11-08 18:38:14 +0900195#
196# Processor families
197#
198config CPU_SH2
199 bool
200
201config CPU_SH2A
202 bool
203 select CPU_SH2
204
205config CPU_SH3
206 bool
207 select CPU_HAS_INTEVT
208 select CPU_HAS_SR_RB
Paul Mundt4fa48e12009-05-08 15:28:15 +0900209 select SYS_SUPPORTS_TMU
Paul Mundtb5f42db2007-11-08 18:38:14 +0900210
211config CPU_SH4
212 bool
213 select CPU_HAS_INTEVT
214 select CPU_HAS_SR_RB
Paul Mundtb5f42db2007-11-08 18:38:14 +0900215 select CPU_HAS_FPU if !CPU_SH4AL_DSP
Paul Mundt4fa48e12009-05-08 15:28:15 +0900216 select SYS_SUPPORTS_TMU
Paul Mundtffb4a732009-10-27 07:22:37 +0900217 select SYS_SUPPORTS_HUGETLBFS if MMU
Paul Mundtb5f42db2007-11-08 18:38:14 +0900218
219config CPU_SH4A
220 bool
221 select CPU_SH4
222
223config CPU_SH4AL_DSP
224 bool
225 select CPU_SH4A
226 select CPU_HAS_DSP
227
Paul Mundtea0e1a92007-11-21 15:58:01 +0900228config CPU_SH5
229 bool
230 select CPU_HAS_FPU
Paul Mundtadd47062009-05-08 16:12:17 +0900231 select SYS_SUPPORTS_TMU
Paul Mundtffb4a732009-10-27 07:22:37 +0900232 select SYS_SUPPORTS_HUGETLBFS if MMU
Paul Mundtea0e1a92007-11-21 15:58:01 +0900233
Paul Mundtb5f42db2007-11-08 18:38:14 +0900234config CPU_SHX2
235 bool
236
237config CPU_SHX3
238 bool
Paul Mundt01be5d62009-10-27 10:35:02 +0900239 select DMA_COHERENT
Paul Mundt4b478ee2010-05-11 15:24:04 +0900240 select SYS_SUPPORTS_SMP
241 select SYS_SUPPORTS_NUMA
Paul Mundtb5f42db2007-11-08 18:38:14 +0900242
Paul Mundtdc65a972009-03-10 16:26:29 +0900243config ARCH_SHMOBILE
244 bool
Magnus Damm77594912009-03-13 15:23:04 +0000245 select ARCH_SUSPEND_POSSIBLE
Magnus Dammac2c5962009-08-19 10:31:53 +0000246 select PM
247 select PM_RUNTIME
Paul Mundtdc65a972009-03-10 16:26:29 +0900248
Paul Mundt3cc000b2009-04-11 08:39:27 +0900249if SUPERH32
250
Paul Mundtb5f42db2007-11-08 18:38:14 +0900251choice
252 prompt "Processor sub-type selection"
253
254#
255# Processor subtypes
256#
257
258# SH-2 Processor Support
259
260config CPU_SUBTYPE_SH7619
261 bool "Support SH7619 processor"
262 select CPU_SH2
Paul Mundtf5ad8812009-01-29 18:08:58 +0900263 select SYS_SUPPORTS_CMT
Paul Mundtb5f42db2007-11-08 18:38:14 +0900264
265# SH-2A Processor Support
266
Peter Griffin28259992008-11-28 22:48:20 +0900267config CPU_SUBTYPE_SH7201
268 bool "Support SH7201 processor"
269 select CPU_SH2A
270 select CPU_HAS_FPU
Magnus Dammda107c62009-04-30 07:06:26 +0000271 select SYS_SUPPORTS_MTU2
Peter Griffin28259992008-11-28 22:48:20 +0900272
Paul Mundt6d01f512007-11-26 18:17:21 +0900273config CPU_SUBTYPE_SH7203
274 bool "Support SH7203 processor"
275 select CPU_SH2A
Paul Mundt74d99a52007-11-26 20:38:36 +0900276 select CPU_HAS_FPU
Paul Mundtf5ad8812009-01-29 18:08:58 +0900277 select SYS_SUPPORTS_CMT
Magnus Dammda107c62009-04-30 07:06:26 +0000278 select SYS_SUPPORTS_MTU2
Paul Mundt6d01f512007-11-26 18:17:21 +0900279
Paul Mundtb5f42db2007-11-08 18:38:14 +0900280config CPU_SUBTYPE_SH7206
281 bool "Support SH7206 processor"
282 select CPU_SH2A
Paul Mundtf5ad8812009-01-29 18:08:58 +0900283 select SYS_SUPPORTS_CMT
Magnus Dammda107c62009-04-30 07:06:26 +0000284 select SYS_SUPPORTS_MTU2
Paul Mundtb5f42db2007-11-08 18:38:14 +0900285
Paul Mundta8f67f42007-11-26 19:54:02 +0900286config CPU_SUBTYPE_SH7263
287 bool "Support SH7263 processor"
288 select CPU_SH2A
Paul Mundt74d99a52007-11-26 20:38:36 +0900289 select CPU_HAS_FPU
Paul Mundtf5ad8812009-01-29 18:08:58 +0900290 select SYS_SUPPORTS_CMT
Magnus Dammda107c62009-04-30 07:06:26 +0000291 select SYS_SUPPORTS_MTU2
Paul Mundta8f67f42007-11-26 19:54:02 +0900292
Paul Mundt2ad69902008-03-13 12:52:44 +0900293config CPU_SUBTYPE_MXG
294 bool "Support MX-G processor"
295 select CPU_SH2A
Magnus Dammda107c62009-04-30 07:06:26 +0000296 select SYS_SUPPORTS_MTU2
Paul Mundt2ad69902008-03-13 12:52:44 +0900297 help
298 Select MX-G if running on an R8A03022BG part.
299
Paul Mundtb5f42db2007-11-08 18:38:14 +0900300# SH-3 Processor Support
301
302config CPU_SUBTYPE_SH7705
303 bool "Support SH7705 processor"
304 select CPU_SH3
305
306config CPU_SUBTYPE_SH7706
307 bool "Support SH7706 processor"
308 select CPU_SH3
309 help
310 Select SH7706 if you have a 133 Mhz SH-3 HD6417706 CPU.
311
312config CPU_SUBTYPE_SH7707
313 bool "Support SH7707 processor"
314 select CPU_SH3
315 help
316 Select SH7707 if you have a 60 Mhz SH-3 HD6417707 CPU.
317
318config CPU_SUBTYPE_SH7708
319 bool "Support SH7708 processor"
320 select CPU_SH3
321 help
322 Select SH7708 if you have a 60 Mhz SH-3 HD6417708S or
323 if you have a 100 Mhz SH-3 HD6417708R CPU.
324
325config CPU_SUBTYPE_SH7709
326 bool "Support SH7709 processor"
327 select CPU_SH3
328 help
329 Select SH7709 if you have a 80 Mhz SH-3 HD6417709 CPU.
330
331config CPU_SUBTYPE_SH7710
332 bool "Support SH7710 processor"
333 select CPU_SH3
334 select CPU_HAS_DSP
335 help
336 Select SH7710 if you have a SH3-DSP SH7710 CPU.
337
338config CPU_SUBTYPE_SH7712
339 bool "Support SH7712 processor"
340 select CPU_SH3
341 select CPU_HAS_DSP
342 help
343 Select SH7712 if you have a SH3-DSP SH7712 CPU.
344
345config CPU_SUBTYPE_SH7720
346 bool "Support SH7720 processor"
347 select CPU_SH3
348 select CPU_HAS_DSP
Magnus Damm2b23a882009-05-12 10:21:11 +0000349 select SYS_SUPPORTS_CMT
Paul Mundtb5f42db2007-11-08 18:38:14 +0900350 help
351 Select SH7720 if you have a SH3-DSP SH7720 CPU.
352
Yoshihiro Shimoda31a49c42007-12-26 11:45:06 +0900353config CPU_SUBTYPE_SH7721
354 bool "Support SH7721 processor"
355 select CPU_SH3
356 select CPU_HAS_DSP
Magnus Damm2b23a882009-05-12 10:21:11 +0000357 select SYS_SUPPORTS_CMT
Yoshihiro Shimoda31a49c42007-12-26 11:45:06 +0900358 help
359 Select SH7721 if you have a SH3-DSP SH7721 CPU.
360
Paul Mundtb5f42db2007-11-08 18:38:14 +0900361# SH-4 Processor Support
362
363config CPU_SUBTYPE_SH7750
364 bool "Support SH7750 processor"
365 select CPU_SH4
366 help
367 Select SH7750 if you have a 200 Mhz SH-4 HD6417750 CPU.
368
369config CPU_SUBTYPE_SH7091
370 bool "Support SH7091 processor"
371 select CPU_SH4
372 help
373 Select SH7091 if you have an SH-4 based Sega device (such as
374 the Dreamcast, Naomi, and Naomi 2).
375
376config CPU_SUBTYPE_SH7750R
377 bool "Support SH7750R processor"
378 select CPU_SH4
379
380config CPU_SUBTYPE_SH7750S
381 bool "Support SH7750S processor"
382 select CPU_SH4
383
384config CPU_SUBTYPE_SH7751
385 bool "Support SH7751 processor"
386 select CPU_SH4
387 help
388 Select SH7751 if you have a 166 Mhz SH-4 HD6417751 CPU,
389 or if you have a HD6417751R CPU.
390
391config CPU_SUBTYPE_SH7751R
392 bool "Support SH7751R processor"
393 select CPU_SH4
394
395config CPU_SUBTYPE_SH7760
396 bool "Support SH7760 processor"
397 select CPU_SH4
398
399config CPU_SUBTYPE_SH4_202
400 bool "Support SH4-202 processor"
401 select CPU_SH4
402
403# SH-4A Processor Support
404
Paul Mundt178dd0c2008-04-09 17:56:18 +0900405config CPU_SUBTYPE_SH7723
406 bool "Support SH7723 processor"
407 select CPU_SH4A
408 select CPU_SHX2
Paul Mundtdc65a972009-03-10 16:26:29 +0900409 select ARCH_SHMOBILE
Paul Mundt178dd0c2008-04-09 17:56:18 +0900410 select ARCH_SPARSEMEM_ENABLE
Paul Mundtf5ad8812009-01-29 18:08:58 +0900411 select SYS_SUPPORTS_CMT
Paul Mundt178dd0c2008-04-09 17:56:18 +0900412 help
413 Select SH7723 if you have an SH-MobileR2 CPU.
414
Kuninori Morimoto0207a2e2009-04-16 14:40:56 +0900415config CPU_SUBTYPE_SH7724
416 bool "Support SH7724 processor"
417 select CPU_SH4A
418 select CPU_SHX2
Paul Mundt59fe7002009-04-16 15:43:42 +0900419 select ARCH_SHMOBILE
Kuninori Morimoto0207a2e2009-04-16 14:40:56 +0900420 select ARCH_SPARSEMEM_ENABLE
421 select SYS_SUPPORTS_CMT
422 help
423 Select SH7724 if you have an SH-MobileR2R CPU.
424
Yoshihiro Shimodac01f0f12009-08-21 16:30:28 +0900425config CPU_SUBTYPE_SH7757
426 bool "Support SH7757 processor"
427 select CPU_SH4A
428 select CPU_SHX2
429 help
430 Select SH7757 if you have a SH4A SH7757 CPU.
431
Yoshihiro Shimoda7d740a02008-01-07 14:40:07 +0900432config CPU_SUBTYPE_SH7763
433 bool "Support SH7763 processor"
434 select CPU_SH4A
435 help
436 Select SH7763 if you have a SH4A SH7763(R5S77631) CPU.
437
Paul Mundtb5f42db2007-11-08 18:38:14 +0900438config CPU_SUBTYPE_SH7770
439 bool "Support SH7770 processor"
440 select CPU_SH4A
441
442config CPU_SUBTYPE_SH7780
443 bool "Support SH7780 processor"
444 select CPU_SH4A
445
446config CPU_SUBTYPE_SH7785
447 bool "Support SH7785 processor"
448 select CPU_SH4A
449 select CPU_SHX2
450 select ARCH_SPARSEMEM_ENABLE
451 select SYS_SUPPORTS_NUMA
452
Kuninori Morimoto55ba99e2009-03-03 15:40:25 +0900453config CPU_SUBTYPE_SH7786
454 bool "Support SH7786 processor"
455 select CPU_SH4A
Paul Mundt37042fb2009-03-03 15:57:02 +0900456 select CPU_SHX3
Paul Mundt8263a672009-03-17 17:49:49 +0900457 select CPU_HAS_PTEAEX
Paul Mundt2eb2a432009-06-19 16:00:00 +0900458 select GENERIC_CLOCKEVENTS_BROADCAST if SMP
Kuninori Morimoto55ba99e2009-03-03 15:40:25 +0900459
Paul Mundtb5f42db2007-11-08 18:38:14 +0900460config CPU_SUBTYPE_SHX3
461 bool "Support SH-X3 processor"
462 select CPU_SH4A
463 select CPU_SHX3
Paul Mundt58402632008-09-05 15:36:39 +0900464 select GENERIC_CLOCKEVENTS_BROADCAST if SMP
Paul Mundtb5f42db2007-11-08 18:38:14 +0900465
466# SH4AL-DSP Processor Support
467
468config CPU_SUBTYPE_SH7343
469 bool "Support SH7343 processor"
470 select CPU_SH4AL_DSP
Paul Mundtdc65a972009-03-10 16:26:29 +0900471 select ARCH_SHMOBILE
Paul Mundtf5ad8812009-01-29 18:08:58 +0900472 select SYS_SUPPORTS_CMT
Paul Mundtb5f42db2007-11-08 18:38:14 +0900473
474config CPU_SUBTYPE_SH7722
475 bool "Support SH7722 processor"
476 select CPU_SH4AL_DSP
477 select CPU_SHX2
Paul Mundtdc65a972009-03-10 16:26:29 +0900478 select ARCH_SHMOBILE
Paul Mundtb5f42db2007-11-08 18:38:14 +0900479 select ARCH_SPARSEMEM_ENABLE
480 select SYS_SUPPORTS_NUMA
Paul Mundtf5ad8812009-01-29 18:08:58 +0900481 select SYS_SUPPORTS_CMT
Paul Mundtb5f42db2007-11-08 18:38:14 +0900482
Magnus Damm9109a302008-02-08 17:31:24 +0900483config CPU_SUBTYPE_SH7366
484 bool "Support SH7366 processor"
485 select CPU_SH4AL_DSP
486 select CPU_SHX2
Paul Mundtdc65a972009-03-10 16:26:29 +0900487 select ARCH_SHMOBILE
Magnus Damm9109a302008-02-08 17:31:24 +0900488 select ARCH_SPARSEMEM_ENABLE
489 select SYS_SUPPORTS_NUMA
Paul Mundtf5ad8812009-01-29 18:08:58 +0900490 select SYS_SUPPORTS_CMT
Magnus Damm9109a302008-02-08 17:31:24 +0900491
Paul Mundt3cc000b2009-04-11 08:39:27 +0900492endchoice
493
494endif
495
496if SUPERH64
497
498choice
499 prompt "Processor sub-type selection"
500
Paul Mundtea0e1a92007-11-21 15:58:01 +0900501# SH-5 Processor Support
502
503config CPU_SUBTYPE_SH5_101
504 bool "Support SH5-101 processor"
505 select CPU_SH5
506
507config CPU_SUBTYPE_SH5_103
508 bool "Support SH5-103 processor"
Paul Mundt8ef97dd2008-02-14 15:30:54 +0900509 select CPU_SH5
Paul Mundtea0e1a92007-11-21 15:58:01 +0900510
Paul Mundtb5f42db2007-11-08 18:38:14 +0900511endchoice
512
Paul Mundt3cc000b2009-04-11 08:39:27 +0900513endif
514
Paul Mundtcad82442006-01-16 22:14:19 -0800515source "arch/sh/mm/Kconfig"
Paul Mundt939a24a2008-07-29 21:41:37 +0900516
Paul Mundt4690bdc2007-11-09 13:45:42 +0900517source "arch/sh/Kconfig.cpu"
Paul Mundtcad82442006-01-16 22:14:19 -0800518
Paul Mundt939a24a2008-07-29 21:41:37 +0900519source "arch/sh/boards/Kconfig"
Paul Mundtf3d22292007-05-14 17:29:12 +0900520
Paul Mundt32351a22007-03-12 14:38:59 +0900521menu "Timer and clock configuration"
522
Magnus Damm9570ef22009-05-01 06:51:00 +0000523config SH_TIMER_TMU
524 bool "TMU timer driver"
Magnus Dammf19900b2009-05-12 10:25:54 +0000525 depends on SYS_SUPPORTS_TMU
Magnus Damm9570ef22009-05-01 06:51:00 +0000526 default y
Magnus Damm9570ef22009-05-01 06:51:00 +0000527 help
528 This enables the build of the TMU timer driver.
529
Paul Mundtf5ad8812009-01-29 18:08:58 +0900530config SH_TIMER_CMT
Magnus Dammf4257522009-04-30 04:09:26 +0000531 bool "CMT timer driver"
532 depends on SYS_SUPPORTS_CMT
533 default y
Magnus Dammf4257522009-04-30 04:09:26 +0000534 help
535 This enables build of the CMT timer driver.
Paul Mundtf5ad8812009-01-29 18:08:58 +0900536
Magnus Dammd5ed4c22009-04-30 07:02:49 +0000537config SH_TIMER_MTU2
538 bool "MTU2 timer driver"
Magnus Damm3280c882009-04-30 07:12:09 +0000539 depends on SYS_SUPPORTS_MTU2
Magnus Dammd5ed4c22009-04-30 07:02:49 +0000540 default y
Magnus Dammd5ed4c22009-04-30 07:02:49 +0000541 help
542 This enables build of the MTU2 timer driver.
543
Paul Mundtcad82442006-01-16 22:14:19 -0800544config SH_PCLK_FREQ
545 int "Peripheral clock frequency (in Hz)"
Paul Mundt8152a742009-12-29 11:09:30 +0900546 depends on SH_CLK_CPG_LEGACY
Yoshinori Sato9d4436a2006-11-05 15:40:13 +0900547 default "31250000" if CPU_SUBTYPE_SH7619
Paul Mundt8152a742009-12-29 11:09:30 +0900548 default "33333333" if CPU_SUBTYPE_SH7770 || \
549 CPU_SUBTYPE_SH7760 || \
550 CPU_SUBTYPE_SH7705 || \
551 CPU_SUBTYPE_SH7203 || \
552 CPU_SUBTYPE_SH7206 || \
553 CPU_SUBTYPE_SH7263 || \
Paul Mundt43a18392010-01-19 19:37:14 +0900554 CPU_SUBTYPE_MXG
Paul Mundt05627482007-05-15 16:25:47 +0900555 default "60000000" if CPU_SUBTYPE_SH7751 || CPU_SUBTYPE_SH7751R
Paul Mundtcad82442006-01-16 22:14:19 -0800556 default "66000000" if CPU_SUBTYPE_SH4_202
Paul Mundt05627482007-05-15 16:25:47 +0900557 default "50000000"
Paul Mundtcad82442006-01-16 22:14:19 -0800558 help
559 This option is used to specify the peripheral clock frequency.
560 This is necessary for determining the reference clock value on
561 platforms lacking an RTC.
562
Paul Mundt36aa1e32009-05-22 14:00:34 +0900563config SH_CLK_CPG
564 def_bool y
565
Paul Mundt253b0882009-05-13 17:38:11 +0900566config SH_CLK_CPG_LEGACY
Paul Mundt36aa1e32009-05-22 14:00:34 +0900567 depends on SH_CLK_CPG
Paul Mundt43a18392010-01-19 19:37:14 +0900568 def_bool y if !CPU_SUBTYPE_SH7785 && !ARCH_SHMOBILE && \
569 !CPU_SUBTYPE_SH7786
Paul Mundt253b0882009-05-13 17:38:11 +0900570
Yoshinori Sato9d4436a2006-11-05 15:40:13 +0900571config SH_CLK_MD
572 int "CPU Mode Pin Setting"
Paul Mundt6d01f512007-11-26 18:17:21 +0900573 depends on CPU_SH2
Paul Mundt357d5942007-06-11 15:32:07 +0900574 default 6 if CPU_SUBTYPE_SH7206
575 default 5 if CPU_SUBTYPE_SH7619
576 default 0
Yoshinori Sato9d4436a2006-11-05 15:40:13 +0900577 help
Yoshinori Sato11cbb702006-12-07 18:07:27 +0900578 MD2 - MD0 pin setting.
Yoshinori Sato9d4436a2006-11-05 15:40:13 +0900579
Paul Mundt57be2b42007-05-09 17:33:24 +0900580source "kernel/time/Kconfig"
581
Paul Mundt32351a22007-03-12 14:38:59 +0900582endmenu
583
Paul Mundtcad82442006-01-16 22:14:19 -0800584menu "CPU Frequency scaling"
585
586source "drivers/cpufreq/Kconfig"
587
588config SH_CPU_FREQ
589 tristate "SuperH CPU Frequency driver"
Paul Mundtcb5ec752007-07-20 13:38:19 +0900590 depends on CPU_FREQ
Paul Mundtcad82442006-01-16 22:14:19 -0800591 select CPU_FREQ_TABLE
592 help
Paul Mundt8a655052008-12-17 15:06:54 +0900593 This adds the cpufreq driver for SuperH. Any CPU that supports
594 clock rate rounding through the clock framework can use this
595 driver. While it will make the kernel slightly larger, this is
596 harmless for CPUs that don't support rate rounding. The driver
597 will also generate a notice in the boot log before disabling
598 itself if the CPU in question is not capable of rate rounding.
Paul Mundtcad82442006-01-16 22:14:19 -0800599
600 For details, take a look at <file:Documentation/cpu-freq>.
601
602 If unsure, say N.
603
604endmenu
605
Paul Mundt9f5e8ee2006-11-24 11:22:57 +0900606source "arch/sh/drivers/Kconfig"
607
Paul Mundtcad82442006-01-16 22:14:19 -0800608endmenu
609
Paul Mundtcad82442006-01-16 22:14:19 -0800610menu "Kernel features"
611
Paul Mundt91b91d02006-09-27 18:08:33 +0900612source kernel/Kconfig.hz
613
Paul Mundtcad82442006-01-16 22:14:19 -0800614config KEXEC
615 bool "kexec system call (EXPERIMENTAL)"
Nobuhiro Iwamatsuf36b59d2009-03-26 08:32:37 +0000616 depends on SUPERH32 && EXPERIMENTAL && MMU
Paul Mundtcad82442006-01-16 22:14:19 -0800617 help
618 kexec is a system call that implements the ability to shutdown your
619 current kernel, and to start another kernel. It is like a reboot
Matt LaPlante1f1332f2006-06-29 01:32:47 -0400620 but it is independent of the system firmware. And like a reboot
Paul Mundtcad82442006-01-16 22:14:19 -0800621 you can start any kernel with it, not just Linux.
622
Matt LaPlante1f1332f2006-06-29 01:32:47 -0400623 The name comes from the similarity to the exec system call.
Paul Mundtcad82442006-01-16 22:14:19 -0800624
625 It is an ongoing process to be certain the hardware in a machine
626 is properly shutdown, so do not be surprised if this code does not
627 initially work for you. It may help to enable device hotplugging
628 support. As of this writing the exact hardware interface is
629 strongly in flux, so no good recommendation can be made.
630
Paul Mundt4d5ade52007-04-27 11:25:57 +0900631config CRASH_DUMP
632 bool "kernel crash dumps (EXPERIMENTAL)"
Paul Mundtd523e1a2010-05-07 16:39:09 +0900633 depends on SUPERH32 && EXPERIMENTAL && BROKEN_ON_SMP
Paul Mundt4d5ade52007-04-27 11:25:57 +0900634 help
635 Generate crash dump after being started by kexec.
636 This should be normally only set in special crash dump kernels
637 which are loaded in the main kernel with kexec-tools into
638 a specially reserved region and then later executed after
639 a crash by kdump/kexec. The crash dump kernel must be compiled
640 to a memory address not used by the main kernel using
641 MEMORY_START.
642
643 For more details see Documentation/kdump/kdump.txt
644
Magnus Dammb7cf6dd2009-03-18 08:51:29 +0000645config KEXEC_JUMP
646 bool "kexec jump (EXPERIMENTAL)"
647 depends on SUPERH32 && KEXEC && HIBERNATION && EXPERIMENTAL
648 help
649 Jump between original kernel and kexeced kernel and invoke
650 code via KEXEC
651
Paul Mundtc4637d42008-07-30 15:30:52 +0900652config SECCOMP
653 bool "Enable seccomp to safely compute untrusted bytecode"
654 depends on PROC_FS
Paul Mundtc4637d42008-07-30 15:30:52 +0900655 help
656 This kernel feature is useful for number crunching applications
657 that may need to compute untrusted bytecode during their
658 execution. By using pipes or other transports made available to
659 the process as file descriptors supporting the read/write
660 syscalls, it's possible to isolate those applications in
661 their own address space using seccomp. Once seccomp is
662 enabled via prctl, it cannot be disabled and the task is only
663 allowed to execute a few safe syscalls defined by each seccomp
664 mode.
665
666 If unsure, say N.
667
Linus Torvalds1da177e2005-04-16 15:20:36 -0700668config SMP
669 bool "Symmetric multi-processing support"
Paul Mundt357d5942007-06-11 15:32:07 +0900670 depends on SYS_SUPPORTS_SMP
Jens Axboe490f5de2008-06-10 20:52:59 +0200671 select USE_GENERIC_SMP_HELPERS
Linus Torvalds1da177e2005-04-16 15:20:36 -0700672 ---help---
673 This enables support for systems with more than one CPU. If you have
674 a system with only one CPU, like most personal computers, say N. If
675 you have a system with more than one CPU, say Y.
676
677 If you say N here, the kernel will run on single and multiprocessor
678 machines, but will use only one CPU of a multiprocessor machine. If
679 you say Y here, the kernel will run on many, but not all,
680 singleprocessor machines. On a singleprocessor machine, the kernel
681 will run faster if you say N here.
682
683 People using multiprocessor machines who say Y here should also say
684 Y to "Enhanced Real Time Clock Support", below.
685
Adrian Bunk03502fa2008-02-03 15:50:21 +0200686 See also <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO
687 available at <http://www.tldp.org/docs.html#howto>.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700688
689 If you don't know what to do here, say N.
690
691config NR_CPUS
692 int "Maximum number of CPUs (2-32)"
693 range 2 32
694 depends on SMP
Paul Mundt2eb2a432009-06-19 16:00:00 +0900695 default "4" if CPU_SUBTYPE_SHX3
Linus Torvalds1da177e2005-04-16 15:20:36 -0700696 default "2"
697 help
698 This allows you to specify the maximum number of CPUs which this
699 kernel will support. The maximum supported value is 32 and the
700 minimum value which makes sense is 2.
701
702 This is purely to save memory - each supported CPU adds
703 approximately eight kilobytes to the kernel image.
704
Paul Mundt763142d2010-04-26 19:08:55 +0900705config HOTPLUG_CPU
706 bool "Support for hot-pluggable CPUs (EXPERIMENTAL)"
707 depends on SMP && HOTPLUG && EXPERIMENTAL
708 help
709 Say Y here to experiment with turning CPUs off and on. CPUs
710 can be controlled through /sys/devices/system/cpu.
711
Paul Mundt91b91d02006-09-27 18:08:33 +0900712source "kernel/Kconfig.preempt"
713
Paul Mundt83662462007-09-28 16:04:49 +0900714config GUSA
715 def_bool y
Stuart Menefy1efe4ce2007-11-30 16:12:36 +0900716 depends on !SMP && SUPERH32
Paul Mundt83662462007-09-28 16:04:49 +0900717 help
718 This enables support for gUSA (general UserSpace Atomicity).
719 This is the default implementation for both UP and non-ll/sc
720 CPUs, and is used by the libc, amongst others.
721
722 For additional information, design information can be found
723 in <http://lc.linux.or.jp/lc2002/papers/niibe0919p.pdf>.
724
725 This should only be disabled for special cases where alternate
726 atomicity implementations exist.
727
Stuart Menefy1efe4ce2007-11-30 16:12:36 +0900728config GUSA_RB
729 bool "Implement atomic operations by roll-back (gRB) (EXPERIMENTAL)"
730 depends on GUSA && CPU_SH3 || (CPU_SH4 && !CPU_SH4A)
731 help
732 Enabling this option will allow the kernel to implement some
Matt LaPlante692105b2009-01-26 11:12:25 +0100733 atomic operations using a software implementation of load-locked/
Stuart Menefy1efe4ce2007-11-30 16:12:36 +0900734 store-conditional (LLSC). On machines which do not have hardware
735 LLSC, this should be more efficient than the other alternative of
Matt LaPlante692105b2009-01-26 11:12:25 +0100736 disabling interrupts around the atomic sequence.
Stuart Menefy1efe4ce2007-11-30 16:12:36 +0900737
Paul Mundt43b87742010-04-13 14:43:03 +0900738source "drivers/sh/Kconfig"
739
Paul Mundtcad82442006-01-16 22:14:19 -0800740endmenu
741
742menu "Boot options"
743
744config ZERO_PAGE_OFFSET
Paul Mundtb412a49a2009-05-10 01:23:25 +0900745 hex
746 default "0x00010000" if PAGE_SIZE_64KB || SH_RTS7751R2D || \
747 SH_7751_SOLUTION_ENGINE
748 default "0x00004000" if PAGE_SIZE_16KB || SH_SH03
Paul Mundt7a847f82006-12-26 15:29:19 +0900749 default "0x00002000" if PAGE_SIZE_8KB
Paul Mundtcad82442006-01-16 22:14:19 -0800750 default "0x00001000"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700751 help
Paul Mundtcad82442006-01-16 22:14:19 -0800752 This sets the default offset of zero page.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700753
Paul Mundtcad82442006-01-16 22:14:19 -0800754config BOOT_LINK_OFFSET
Paul Mundtb412a49a2009-05-10 01:23:25 +0900755 hex
756 default "0x00210000" if SH_SHMIN
Paul Mundta2e76c82009-05-10 00:54:39 +0900757 default "0x00400000" if SH_CAYMAN
Paul Mundtb412a49a2009-05-10 01:23:25 +0900758 default "0x00810000" if SH_7780_SOLUTION_ENGINE
759 default "0x009e0000" if SH_TITAN
760 default "0x01800000" if SH_SDK7780
761 default "0x02000000" if SH_EDOSK7760
Paul Mundtcad82442006-01-16 22:14:19 -0800762 default "0x00800000"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700763 help
Paul Mundtcad82442006-01-16 22:14:19 -0800764 This option allows you to set the link address offset of the zImage.
765 This can be useful if you are on a board which has a small amount of
766 memory.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700767
Paul Mundtb412a49a2009-05-10 01:23:25 +0900768config ENTRY_OFFSET
769 hex
770 default "0x00001000" if PAGE_SIZE_4KB
771 default "0x00002000" if PAGE_SIZE_8KB
772 default "0x00004000" if PAGE_SIZE_16KB
773 default "0x00010000" if PAGE_SIZE_64KB
774 default "0x00000000"
775
Pawel Molld724a9c2009-08-24 16:25:38 +0900776choice
777 prompt "Kernel command line"
778 optional
779 default CMDLINE_OVERWRITE
780 help
781 Setting this option allows the kernel command line arguments
782 to be set.
783
784config CMDLINE_OVERWRITE
785 bool "Overwrite bootloader kernel arguments"
786 help
787 Given string will overwrite any arguments passed in by
788 a bootloader.
789
790config CMDLINE_EXTEND
791 bool "Extend bootloader kernel arguments"
792 help
793 Given string will be concatenated with arguments passed in
794 by a bootloader.
795
796endchoice
Linus Torvalds1da177e2005-04-16 15:20:36 -0700797
Paul Mundtcad82442006-01-16 22:14:19 -0800798config CMDLINE
Pawel Molld724a9c2009-08-24 16:25:38 +0900799 string "Kernel command line arguments string"
800 depends on CMDLINE_OVERWRITE || CMDLINE_EXTEND
Paul Mundtcad82442006-01-16 22:14:19 -0800801 default "console=ttySC1,115200"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700802
803endmenu
804
Paul Mundtcad82442006-01-16 22:14:19 -0800805menu "Bus options"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700806
Paul Mundtcad82442006-01-16 22:14:19 -0800807config SUPERHYWAY
808 tristate "SuperHyway Bus support"
809 depends on CPU_SUBTYPE_SH4_202
Linus Torvalds1da177e2005-04-16 15:20:36 -0700810
Adrian McMenamin17be2d22007-09-21 15:55:55 +0900811config MAPLE
Paul Mundte16038a2009-01-09 15:12:30 +0900812 bool "Maple Bus support"
813 depends on SH_DREAMCAST
814 help
815 The Maple Bus is SEGA's serial communication bus for peripherals
816 on the Dreamcast. Without this bus support you won't be able to
817 get your Dreamcast keyboard etc to work, so most users
818 probably want to say 'Y' here, unless you are only using the
819 Dreamcast with a serial line terminal or a remote network
820 connection.
Adrian McMenamin17be2d22007-09-21 15:55:55 +0900821
Paul Mundt76934652009-10-27 10:36:55 +0900822config PCI
823 bool "PCI support"
824 depends on SYS_SUPPORTS_PCI
Paul Mundt320e68d2010-01-29 22:38:13 +0900825 select PCI_DOMAINS
Paul Mundt76934652009-10-27 10:36:55 +0900826 help
827 Find out whether you have a PCI motherboard. PCI is the name of a
828 bus system, i.e. the way the CPU talks to the other stuff inside
829 your box. If you have PCI, say Y, otherwise N.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700830
Paul Mundt320e68d2010-01-29 22:38:13 +0900831config PCI_DOMAINS
832 bool
833
Paul Mundte16038a2009-01-09 15:12:30 +0900834source "drivers/pci/pcie/Kconfig"
835
Linus Torvalds1da177e2005-04-16 15:20:36 -0700836source "drivers/pci/Kconfig"
837
838source "drivers/pcmcia/Kconfig"
839
840source "drivers/pci/hotplug/Kconfig"
841
842endmenu
843
844menu "Executable file formats"
845
846source "fs/Kconfig.binfmt"
847
848endmenu
849
Andriy Skulysh3aa770e2006-09-27 16:20:22 +0900850menu "Power management options (EXPERIMENTAL)"
Magnus Dammaf998a92008-12-04 22:45:12 +0900851depends on EXPERIMENTAL
Johannes Bergf4cb5702007-12-08 02:14:00 +0100852
Magnus Dammc6f17cb2008-12-04 22:45:20 +0900853source "kernel/power/Kconfig"
854
855source "drivers/cpuidle/Kconfig"
Andriy Skulysh3aa770e2006-09-27 16:20:22 +0900856
Andriy Skulysh3aa770e2006-09-27 16:20:22 +0900857endmenu
858
Sam Ravnborgd5950b42005-07-11 21:03:49 -0700859source "net/Kconfig"
860
Linus Torvalds1da177e2005-04-16 15:20:36 -0700861source "drivers/Kconfig"
862
863source "fs/Kconfig"
864
Linus Torvalds1da177e2005-04-16 15:20:36 -0700865source "arch/sh/Kconfig.debug"
866
867source "security/Kconfig"
868
869source "crypto/Kconfig"
870
Magnus Damm5f737b32010-04-28 05:46:11 +0000871menuconfig VIRTUALIZATION
872 bool "Virtualization"
873 default n
874 ---help---
875 Say Y here to get to see options for using your Linux host to run other
876 operating systems inside virtual machines (guests).
877 This option alone does not add any kernel code.
878
879 If you say N, all options in this submenu will be skipped and disabled.
880
881if VIRTUALIZATION
882
883source drivers/virtio/Kconfig
884
885endif # VIRTUALIZATION
886
Linus Torvalds1da177e2005-04-16 15:20:36 -0700887source "lib/Kconfig"