blob: 801a4a79ffe3ebb1867cca21ec201254ba1d7bb1 [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
Mathieu Desnoyers42d4b832008-02-02 15:10:34 -050013 select HAVE_OPROFILE
Dmitry Baryshkov9de90ac2008-07-18 13:30:31 +040014 select HAVE_GENERIC_DMA_COHERENT
Paul Mundt21944782008-09-17 23:26:44 +090015 select HAVE_IOREMAP_PROT if MMU
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 Mundtbb38c222009-06-24 01:41:05 +090018 select HAVE_PERF_COUNTERS
Paul Mundt6eac1af2009-05-08 19:48:47 +090019 select RTC_LIB
Paul Mundtf01789c2009-06-17 10:43:13 +090020 select GENERIC_ATOMIC64
Linus Torvalds1da177e2005-04-16 15:20:36 -070021 help
22 The SuperH is a RISC processor targeted for use in embedded systems
23 and consumer electronics; it was also used in the Sega Dreamcast
24 gaming console. The SuperH port has a home page at
25 <http://www.linux-sh.org/>.
26
Paul Mundt39d28a22007-11-08 18:39:33 +090027config SUPERH32
Paul Mundt3cc000b2009-04-11 08:39:27 +090028 def_bool ARCH = "sh"
Chris Smithd39f5452008-09-05 17:15:39 +090029 select HAVE_KPROBES
30 select HAVE_KRETPROBES
Paul Mundt694f94f2008-10-31 16:20:36 +090031 select HAVE_FUNCTION_TRACER
Matt Flemingfad57fe2008-11-12 20:11:47 +090032 select HAVE_FTRACE_MCOUNT_RECORD
33 select HAVE_DYNAMIC_FTRACE
Matt Flemingc1340c02009-06-28 14:05:44 +010034 select HAVE_FUNCTION_TRACE_MCOUNT_TEST
Paul Mundtab6e5702008-12-11 18:46:46 +090035 select HAVE_ARCH_KGDB
Paul Mundt8dafc342009-04-02 11:56:38 +090036 select ARCH_HIBERNATION_POSSIBLE if MMU
Paul Mundtea0e1a92007-11-21 15:58:01 +090037
38config SUPERH64
Paul Mundt3cc000b2009-04-11 08:39:27 +090039 def_bool ARCH = "sh64"
Paul Mundt39d28a22007-11-08 18:39:33 +090040
Paul Mundtf42b7e32008-07-29 20:12:51 +090041config ARCH_DEFCONFIG
42 string
43 default "arch/sh/configs/shx3_defconfig" if SUPERH32
44 default "arch/sh/configs/cayman_defconfig" if SUPERH64
45
Linus Torvalds1da177e2005-04-16 15:20:36 -070046config RWSEM_GENERIC_SPINLOCK
Harvey Harrisond7ef4fb2007-12-11 13:49:35 +090047 def_bool y
Linus Torvalds1da177e2005-04-16 15:20:36 -070048
49config RWSEM_XCHGADD_ALGORITHM
50 bool
51
Paul Mundtfa691512007-03-08 19:41:21 +090052config GENERIC_BUG
53 def_bool y
Paul Mundta82d53e2007-11-21 18:22:05 +090054 depends on BUG && SUPERH32
Paul Mundtfa691512007-03-08 19:41:21 +090055
Paul Mundt3767f3f2009-06-15 00:00:42 +090056config GENERIC_CSUM
57 def_bool y
58 depends on SUPERH64
59
Akinobu Mitae2268c72006-03-26 01:39:35 -080060config GENERIC_FIND_NEXT_BIT
Harvey Harrisond7ef4fb2007-12-11 13:49:35 +090061 def_bool y
Akinobu Mitae2268c72006-03-26 01:39:35 -080062
63config GENERIC_HWEIGHT
Harvey Harrisond7ef4fb2007-12-11 13:49:35 +090064 def_bool y
Akinobu Mitae2268c72006-03-26 01:39:35 -080065
Linus Torvalds1da177e2005-04-16 15:20:36 -070066config GENERIC_HARDIRQS
Harvey Harrisond7ef4fb2007-12-11 13:49:35 +090067 def_bool y
Linus Torvalds1da177e2005-04-16 15:20:36 -070068
Paul Mundt5093c9a2008-08-04 14:17:13 +090069config GENERIC_HARDIRQS_NO__DO_IRQ
70 def_bool y
71
Linus Torvalds1da177e2005-04-16 15:20:36 -070072config GENERIC_IRQ_PROBE
Harvey Harrisond7ef4fb2007-12-11 13:49:35 +090073 def_bool y
Linus Torvalds1da177e2005-04-16 15:20:36 -070074
Paul Mundt2eb2a432009-06-19 16:00:00 +090075config IRQ_PER_CPU
76 def_bool y
77
Magnus Damm2967dab2008-10-08 20:41:43 +090078config GENERIC_GPIO
79 def_bool n
80
Linus Torvalds1da177e2005-04-16 15:20:36 -070081config GENERIC_CALIBRATE_DELAY
Paul Mundtcf204fa2008-09-08 20:47:42 +090082 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -070083
Paul Mundtcad82442006-01-16 22:14:19 -080084config GENERIC_IOMAP
85 bool
86
Paul Mundt45882142006-10-04 13:21:45 +090087config GENERIC_TIME
john stultz75634312009-05-01 13:10:28 -070088 def_bool y
Paul Mundt45882142006-10-04 13:21:45 +090089
Paul Mundt57be2b42007-05-09 17:33:24 +090090config GENERIC_CLOCKEVENTS
Paul Mundt938edae2009-05-03 18:12:26 +090091 def_bool y
Paul Mundt57be2b42007-05-09 17:33:24 +090092
Paul Mundt8c245942008-08-06 18:37:07 +090093config GENERIC_CLOCKEVENTS_BROADCAST
94 bool
95
Paul Mundt6d134b92009-05-08 16:36:13 +090096config GENERIC_CMOS_UPDATE
97 def_bool y
98 depends on SH_SH03 || SH_DREAMCAST
99
Paul Mundtbdcab872008-08-04 14:09:15 +0900100config GENERIC_LOCKBREAK
101 def_bool y
102 depends on SMP && PREEMPT
103
Paul Mundt357d5942007-06-11 15:32:07 +0900104config SYS_SUPPORTS_PM
105 bool
Magnus Dammaf998a92008-12-04 22:45:12 +0900106 depends on !SMP
107
108config ARCH_SUSPEND_POSSIBLE
109 def_bool n
110
111config ARCH_HIBERNATION_POSSIBLE
112 def_bool n
Paul Mundt357d5942007-06-11 15:32:07 +0900113
Paul Mundt0a9b0db2007-01-24 21:56:20 +0900114config SYS_SUPPORTS_APM_EMULATION
115 bool
Magnus Dammaf998a92008-12-04 22:45:12 +0900116 select ARCH_SUSPEND_POSSIBLE
Paul Mundt357d5942007-06-11 15:32:07 +0900117
118config SYS_SUPPORTS_SMP
119 bool
120
121config SYS_SUPPORTS_NUMA
122 bool
123
124config SYS_SUPPORTS_PCI
125 bool
Paul Mundt0a9b0db2007-01-24 21:56:20 +0900126
Paul Mundtf5ad8812009-01-29 18:08:58 +0900127config SYS_SUPPORTS_CMT
128 bool
129
Magnus Dammd5ed4c22009-04-30 07:02:49 +0000130config SYS_SUPPORTS_MTU2
131 bool
132
Magnus Damm9570ef22009-05-01 06:51:00 +0000133config SYS_SUPPORTS_TMU
134 bool
135
Paul Mundtafbfb522006-12-04 18:17:28 +0900136config STACKTRACE_SUPPORT
Harvey Harrisond7ef4fb2007-12-11 13:49:35 +0900137 def_bool y
Paul Mundtafbfb522006-12-04 18:17:28 +0900138
139config LOCKDEP_SUPPORT
Harvey Harrisond7ef4fb2007-12-11 13:49:35 +0900140 def_bool y
Paul Mundtafbfb522006-12-04 18:17:28 +0900141
Paul Mundt5a89f1a2008-09-13 01:44:03 +0900142config HAVE_LATENCYTOP_SUPPORT
143 def_bool y
144 depends on !SMP
145
David Howellsf0d1b0b2006-12-08 02:37:49 -0800146config ARCH_HAS_ILOG2_U32
Harvey Harrisond7ef4fb2007-12-11 13:49:35 +0900147 def_bool n
David Howellsf0d1b0b2006-12-08 02:37:49 -0800148
149config ARCH_HAS_ILOG2_U64
Harvey Harrisond7ef4fb2007-12-11 13:49:35 +0900150 def_bool n
David Howellsf0d1b0b2006-12-08 02:37:49 -0800151
Paul Mundte257ad02007-07-25 11:18:00 +0900152config ARCH_NO_VIRT_TO_BUS
153 def_bool y
154
Paul Mundte869a902009-04-02 13:08:31 +0900155config ARCH_HAS_DEFAULT_IDLE
156 def_bool y
157
Paul Mundt2e046b92009-06-19 14:40:51 +0900158config ARCH_HAS_CPU_IDLE_WAIT
159 def_bool y
160
Magnus Damme7cc9a72008-02-07 20:18:21 +0900161config IO_TRAPPED
162 bool
163
Linus Torvalds1da177e2005-04-16 15:20:36 -0700164source "init/Kconfig"
165
Matt Helsleydc52ddc2008-10-18 20:27:21 -0700166source "kernel/Kconfig.freezer"
167
Linus Torvalds1da177e2005-04-16 15:20:36 -0700168menu "System type"
169
Paul Mundtb5f42db2007-11-08 18:38:14 +0900170#
171# Processor families
172#
173config CPU_SH2
174 bool
175
176config CPU_SH2A
177 bool
178 select CPU_SH2
179
180config CPU_SH3
181 bool
182 select CPU_HAS_INTEVT
183 select CPU_HAS_SR_RB
Paul Mundt4fa48e12009-05-08 15:28:15 +0900184 select SYS_SUPPORTS_TMU
Paul Mundtb5f42db2007-11-08 18:38:14 +0900185
186config CPU_SH4
187 bool
188 select CPU_HAS_INTEVT
189 select CPU_HAS_SR_RB
Paul Mundtb5f42db2007-11-08 18:38:14 +0900190 select CPU_HAS_FPU if !CPU_SH4AL_DSP
Paul Mundt4fa48e12009-05-08 15:28:15 +0900191 select SYS_SUPPORTS_TMU
Paul Mundtb5f42db2007-11-08 18:38:14 +0900192
193config CPU_SH4A
194 bool
195 select CPU_SH4
196
197config CPU_SH4AL_DSP
198 bool
199 select CPU_SH4A
200 select CPU_HAS_DSP
201
Paul Mundtea0e1a92007-11-21 15:58:01 +0900202config CPU_SH5
203 bool
204 select CPU_HAS_FPU
Paul Mundtadd47062009-05-08 16:12:17 +0900205 select SYS_SUPPORTS_TMU
Paul Mundtea0e1a92007-11-21 15:58:01 +0900206
Paul Mundtb5f42db2007-11-08 18:38:14 +0900207config CPU_SHX2
208 bool
209
210config CPU_SHX3
211 bool
212
Paul Mundtdc65a972009-03-10 16:26:29 +0900213config ARCH_SHMOBILE
214 bool
Magnus Damm77594912009-03-13 15:23:04 +0000215 select ARCH_SUSPEND_POSSIBLE
Paul Mundtdc65a972009-03-10 16:26:29 +0900216
Paul Mundt3cc000b2009-04-11 08:39:27 +0900217if SUPERH32
218
Paul Mundtb5f42db2007-11-08 18:38:14 +0900219choice
220 prompt "Processor sub-type selection"
221
222#
223# Processor subtypes
224#
225
226# SH-2 Processor Support
227
228config CPU_SUBTYPE_SH7619
229 bool "Support SH7619 processor"
230 select CPU_SH2
Paul Mundtf5ad8812009-01-29 18:08:58 +0900231 select SYS_SUPPORTS_CMT
Paul Mundtb5f42db2007-11-08 18:38:14 +0900232
233# SH-2A Processor Support
234
Peter Griffin28259992008-11-28 22:48:20 +0900235config CPU_SUBTYPE_SH7201
236 bool "Support SH7201 processor"
237 select CPU_SH2A
238 select CPU_HAS_FPU
Magnus Dammda107c62009-04-30 07:06:26 +0000239 select SYS_SUPPORTS_MTU2
Peter Griffin28259992008-11-28 22:48:20 +0900240
Paul Mundt6d01f512007-11-26 18:17:21 +0900241config CPU_SUBTYPE_SH7203
242 bool "Support SH7203 processor"
243 select CPU_SH2A
Paul Mundt74d99a52007-11-26 20:38:36 +0900244 select CPU_HAS_FPU
Paul Mundtf5ad8812009-01-29 18:08:58 +0900245 select SYS_SUPPORTS_CMT
Magnus Dammda107c62009-04-30 07:06:26 +0000246 select SYS_SUPPORTS_MTU2
Paul Mundt6d01f512007-11-26 18:17:21 +0900247
Paul Mundtb5f42db2007-11-08 18:38:14 +0900248config CPU_SUBTYPE_SH7206
249 bool "Support SH7206 processor"
250 select CPU_SH2A
Paul Mundtf5ad8812009-01-29 18:08:58 +0900251 select SYS_SUPPORTS_CMT
Magnus Dammda107c62009-04-30 07:06:26 +0000252 select SYS_SUPPORTS_MTU2
Paul Mundtb5f42db2007-11-08 18:38:14 +0900253
Paul Mundta8f67f42007-11-26 19:54:02 +0900254config CPU_SUBTYPE_SH7263
255 bool "Support SH7263 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 Mundta8f67f42007-11-26 19:54:02 +0900260
Paul Mundt2ad69902008-03-13 12:52:44 +0900261config CPU_SUBTYPE_MXG
262 bool "Support MX-G processor"
263 select CPU_SH2A
Magnus Dammda107c62009-04-30 07:06:26 +0000264 select SYS_SUPPORTS_MTU2
Paul Mundt2ad69902008-03-13 12:52:44 +0900265 help
266 Select MX-G if running on an R8A03022BG part.
267
Paul Mundtb5f42db2007-11-08 18:38:14 +0900268# SH-3 Processor Support
269
270config CPU_SUBTYPE_SH7705
271 bool "Support SH7705 processor"
272 select CPU_SH3
273
274config CPU_SUBTYPE_SH7706
275 bool "Support SH7706 processor"
276 select CPU_SH3
277 help
278 Select SH7706 if you have a 133 Mhz SH-3 HD6417706 CPU.
279
280config CPU_SUBTYPE_SH7707
281 bool "Support SH7707 processor"
282 select CPU_SH3
283 help
284 Select SH7707 if you have a 60 Mhz SH-3 HD6417707 CPU.
285
286config CPU_SUBTYPE_SH7708
287 bool "Support SH7708 processor"
288 select CPU_SH3
289 help
290 Select SH7708 if you have a 60 Mhz SH-3 HD6417708S or
291 if you have a 100 Mhz SH-3 HD6417708R CPU.
292
293config CPU_SUBTYPE_SH7709
294 bool "Support SH7709 processor"
295 select CPU_SH3
296 help
297 Select SH7709 if you have a 80 Mhz SH-3 HD6417709 CPU.
298
299config CPU_SUBTYPE_SH7710
300 bool "Support SH7710 processor"
301 select CPU_SH3
302 select CPU_HAS_DSP
303 help
304 Select SH7710 if you have a SH3-DSP SH7710 CPU.
305
306config CPU_SUBTYPE_SH7712
307 bool "Support SH7712 processor"
308 select CPU_SH3
309 select CPU_HAS_DSP
310 help
311 Select SH7712 if you have a SH3-DSP SH7712 CPU.
312
313config CPU_SUBTYPE_SH7720
314 bool "Support SH7720 processor"
315 select CPU_SH3
316 select CPU_HAS_DSP
Magnus Damm2b23a882009-05-12 10:21:11 +0000317 select SYS_SUPPORTS_CMT
Paul Mundtb5f42db2007-11-08 18:38:14 +0900318 help
319 Select SH7720 if you have a SH3-DSP SH7720 CPU.
320
Yoshihiro Shimoda31a49c42007-12-26 11:45:06 +0900321config CPU_SUBTYPE_SH7721
322 bool "Support SH7721 processor"
323 select CPU_SH3
324 select CPU_HAS_DSP
Magnus Damm2b23a882009-05-12 10:21:11 +0000325 select SYS_SUPPORTS_CMT
Yoshihiro Shimoda31a49c42007-12-26 11:45:06 +0900326 help
327 Select SH7721 if you have a SH3-DSP SH7721 CPU.
328
Paul Mundtb5f42db2007-11-08 18:38:14 +0900329# SH-4 Processor Support
330
331config CPU_SUBTYPE_SH7750
332 bool "Support SH7750 processor"
333 select CPU_SH4
334 help
335 Select SH7750 if you have a 200 Mhz SH-4 HD6417750 CPU.
336
337config CPU_SUBTYPE_SH7091
338 bool "Support SH7091 processor"
339 select CPU_SH4
340 help
341 Select SH7091 if you have an SH-4 based Sega device (such as
342 the Dreamcast, Naomi, and Naomi 2).
343
344config CPU_SUBTYPE_SH7750R
345 bool "Support SH7750R processor"
346 select CPU_SH4
347
348config CPU_SUBTYPE_SH7750S
349 bool "Support SH7750S processor"
350 select CPU_SH4
351
352config CPU_SUBTYPE_SH7751
353 bool "Support SH7751 processor"
354 select CPU_SH4
355 help
356 Select SH7751 if you have a 166 Mhz SH-4 HD6417751 CPU,
357 or if you have a HD6417751R CPU.
358
359config CPU_SUBTYPE_SH7751R
360 bool "Support SH7751R processor"
361 select CPU_SH4
362
363config CPU_SUBTYPE_SH7760
364 bool "Support SH7760 processor"
365 select CPU_SH4
366
367config CPU_SUBTYPE_SH4_202
368 bool "Support SH4-202 processor"
369 select CPU_SH4
370
371# SH-4A Processor Support
372
Paul Mundt178dd0c2008-04-09 17:56:18 +0900373config CPU_SUBTYPE_SH7723
374 bool "Support SH7723 processor"
375 select CPU_SH4A
376 select CPU_SHX2
Paul Mundtdc65a972009-03-10 16:26:29 +0900377 select ARCH_SHMOBILE
Paul Mundt178dd0c2008-04-09 17:56:18 +0900378 select ARCH_SPARSEMEM_ENABLE
Paul Mundtf5ad8812009-01-29 18:08:58 +0900379 select SYS_SUPPORTS_CMT
Paul Mundt178dd0c2008-04-09 17:56:18 +0900380 help
381 Select SH7723 if you have an SH-MobileR2 CPU.
382
Kuninori Morimoto0207a2e2009-04-16 14:40:56 +0900383config CPU_SUBTYPE_SH7724
384 bool "Support SH7724 processor"
385 select CPU_SH4A
386 select CPU_SHX2
Paul Mundt59fe7002009-04-16 15:43:42 +0900387 select ARCH_SHMOBILE
Kuninori Morimoto0207a2e2009-04-16 14:40:56 +0900388 select ARCH_SPARSEMEM_ENABLE
389 select SYS_SUPPORTS_CMT
390 help
391 Select SH7724 if you have an SH-MobileR2R CPU.
392
Yoshihiro Shimoda7d740a02008-01-07 14:40:07 +0900393config CPU_SUBTYPE_SH7763
394 bool "Support SH7763 processor"
395 select CPU_SH4A
396 help
397 Select SH7763 if you have a SH4A SH7763(R5S77631) CPU.
398
Paul Mundtb5f42db2007-11-08 18:38:14 +0900399config CPU_SUBTYPE_SH7770
400 bool "Support SH7770 processor"
401 select CPU_SH4A
402
403config CPU_SUBTYPE_SH7780
404 bool "Support SH7780 processor"
405 select CPU_SH4A
406
407config CPU_SUBTYPE_SH7785
408 bool "Support SH7785 processor"
409 select CPU_SH4A
410 select CPU_SHX2
411 select ARCH_SPARSEMEM_ENABLE
412 select SYS_SUPPORTS_NUMA
413
Kuninori Morimoto55ba99e2009-03-03 15:40:25 +0900414config CPU_SUBTYPE_SH7786
415 bool "Support SH7786 processor"
416 select CPU_SH4A
Paul Mundt37042fb2009-03-03 15:57:02 +0900417 select CPU_SHX3
Paul Mundt8263a672009-03-17 17:49:49 +0900418 select CPU_HAS_PTEAEX
Kuninori Morimoto55ba99e2009-03-03 15:40:25 +0900419 select ARCH_SPARSEMEM_ENABLE
420 select SYS_SUPPORTS_NUMA
Paul Mundt2eb2a432009-06-19 16:00:00 +0900421 select SYS_SUPPORTS_SMP
422 select GENERIC_CLOCKEVENTS_BROADCAST if SMP
Kuninori Morimoto55ba99e2009-03-03 15:40:25 +0900423
Paul Mundtb5f42db2007-11-08 18:38:14 +0900424config CPU_SUBTYPE_SHX3
425 bool "Support SH-X3 processor"
426 select CPU_SH4A
427 select CPU_SHX3
428 select ARCH_SPARSEMEM_ENABLE
429 select SYS_SUPPORTS_NUMA
430 select SYS_SUPPORTS_SMP
Paul Mundt58402632008-09-05 15:36:39 +0900431 select GENERIC_CLOCKEVENTS_BROADCAST if SMP
Paul Mundtb5f42db2007-11-08 18:38:14 +0900432
433# SH4AL-DSP Processor Support
434
435config CPU_SUBTYPE_SH7343
436 bool "Support SH7343 processor"
437 select CPU_SH4AL_DSP
Paul Mundtdc65a972009-03-10 16:26:29 +0900438 select ARCH_SHMOBILE
Paul Mundtf5ad8812009-01-29 18:08:58 +0900439 select SYS_SUPPORTS_CMT
Paul Mundtb5f42db2007-11-08 18:38:14 +0900440
441config CPU_SUBTYPE_SH7722
442 bool "Support SH7722 processor"
443 select CPU_SH4AL_DSP
444 select CPU_SHX2
Paul Mundtdc65a972009-03-10 16:26:29 +0900445 select ARCH_SHMOBILE
Paul Mundtb5f42db2007-11-08 18:38:14 +0900446 select ARCH_SPARSEMEM_ENABLE
447 select SYS_SUPPORTS_NUMA
Paul Mundtf5ad8812009-01-29 18:08:58 +0900448 select SYS_SUPPORTS_CMT
Paul Mundtb5f42db2007-11-08 18:38:14 +0900449
Magnus Damm9109a302008-02-08 17:31:24 +0900450config CPU_SUBTYPE_SH7366
451 bool "Support SH7366 processor"
452 select CPU_SH4AL_DSP
453 select CPU_SHX2
Paul Mundtdc65a972009-03-10 16:26:29 +0900454 select ARCH_SHMOBILE
Magnus Damm9109a302008-02-08 17:31:24 +0900455 select ARCH_SPARSEMEM_ENABLE
456 select SYS_SUPPORTS_NUMA
Paul Mundtf5ad8812009-01-29 18:08:58 +0900457 select SYS_SUPPORTS_CMT
Magnus Damm9109a302008-02-08 17:31:24 +0900458
Paul Mundt3cc000b2009-04-11 08:39:27 +0900459endchoice
460
461endif
462
463if SUPERH64
464
465choice
466 prompt "Processor sub-type selection"
467
Paul Mundtea0e1a92007-11-21 15:58:01 +0900468# SH-5 Processor Support
469
470config CPU_SUBTYPE_SH5_101
471 bool "Support SH5-101 processor"
472 select CPU_SH5
473
474config CPU_SUBTYPE_SH5_103
475 bool "Support SH5-103 processor"
Paul Mundt8ef97dd2008-02-14 15:30:54 +0900476 select CPU_SH5
Paul Mundtea0e1a92007-11-21 15:58:01 +0900477
Paul Mundtb5f42db2007-11-08 18:38:14 +0900478endchoice
479
Paul Mundt3cc000b2009-04-11 08:39:27 +0900480endif
481
Paul Mundtcad82442006-01-16 22:14:19 -0800482source "arch/sh/mm/Kconfig"
Paul Mundt939a24a2008-07-29 21:41:37 +0900483
Paul Mundt4690bdc2007-11-09 13:45:42 +0900484source "arch/sh/Kconfig.cpu"
Paul Mundtcad82442006-01-16 22:14:19 -0800485
Paul Mundt939a24a2008-07-29 21:41:37 +0900486source "arch/sh/boards/Kconfig"
Paul Mundtf3d22292007-05-14 17:29:12 +0900487
Paul Mundt32351a22007-03-12 14:38:59 +0900488menu "Timer and clock configuration"
489
Magnus Damm9570ef22009-05-01 06:51:00 +0000490config SH_TIMER_TMU
491 bool "TMU timer driver"
Magnus Dammf19900b2009-05-12 10:25:54 +0000492 depends on SYS_SUPPORTS_TMU
Magnus Damm9570ef22009-05-01 06:51:00 +0000493 default y
Magnus Damm9570ef22009-05-01 06:51:00 +0000494 help
495 This enables the build of the TMU timer driver.
496
Paul Mundtf5ad8812009-01-29 18:08:58 +0900497config SH_TIMER_CMT
Magnus Dammf4257522009-04-30 04:09:26 +0000498 bool "CMT timer driver"
499 depends on SYS_SUPPORTS_CMT
500 default y
Magnus Dammf4257522009-04-30 04:09:26 +0000501 help
502 This enables build of the CMT timer driver.
Paul Mundtf5ad8812009-01-29 18:08:58 +0900503
Magnus Dammd5ed4c22009-04-30 07:02:49 +0000504config SH_TIMER_MTU2
505 bool "MTU2 timer driver"
Magnus Damm3280c882009-04-30 07:12:09 +0000506 depends on SYS_SUPPORTS_MTU2
Magnus Dammd5ed4c22009-04-30 07:02:49 +0000507 default y
Magnus Dammd5ed4c22009-04-30 07:02:49 +0000508 help
509 This enables build of the MTU2 timer driver.
510
Paul Mundtcad82442006-01-16 22:14:19 -0800511config SH_PCLK_FREQ
512 int "Peripheral clock frequency (in Hz)"
Magnus Damm870e8a22007-07-25 10:49:21 +0900513 default "27000000" if CPU_SUBTYPE_SH7343
Yoshinori Sato9d4436a2006-11-05 15:40:13 +0900514 default "31250000" if CPU_SUBTYPE_SH7619
Paul Mundt05627482007-05-15 16:25:47 +0900515 default "32000000" if CPU_SUBTYPE_SH7722
Paul Mundt178dd0c2008-04-09 17:56:18 +0900516 default "33333333" if CPU_SUBTYPE_SH7770 || CPU_SUBTYPE_SH7723 || \
Yoshinori Sato9d4436a2006-11-05 15:40:13 +0900517 CPU_SUBTYPE_SH7760 || CPU_SUBTYPE_SH7705 || \
Paul Mundta8f67f42007-11-26 19:54:02 +0900518 CPU_SUBTYPE_SH7203 || CPU_SUBTYPE_SH7206 || \
Paul Mundta4b1fdd2009-03-05 17:52:34 +0900519 CPU_SUBTYPE_SH7263 || CPU_SUBTYPE_MXG || \
Kuninori Morimoto47785412009-05-29 07:41:26 +0000520 CPU_SUBTYPE_SH7786 || CPU_SUBTYPE_SH7724
Paul Mundt05627482007-05-15 16:25:47 +0900521 default "60000000" if CPU_SUBTYPE_SH7751 || CPU_SUBTYPE_SH7751R
Paul Mundtcad82442006-01-16 22:14:19 -0800522 default "66000000" if CPU_SUBTYPE_SH4_202
Paul Mundt05627482007-05-15 16:25:47 +0900523 default "50000000"
Paul Mundtcad82442006-01-16 22:14:19 -0800524 help
525 This option is used to specify the peripheral clock frequency.
526 This is necessary for determining the reference clock value on
527 platforms lacking an RTC.
528
Paul Mundt36aa1e32009-05-22 14:00:34 +0900529config SH_CLK_CPG
530 def_bool y
531
Paul Mundt253b0882009-05-13 17:38:11 +0900532config SH_CLK_CPG_LEGACY
Paul Mundt36aa1e32009-05-22 14:00:34 +0900533 depends on SH_CLK_CPG
Magnus Damm46e93712009-06-04 07:37:59 +0000534 def_bool y if !CPU_SUBTYPE_SH7785 && !ARCH_SHMOBILE
Paul Mundt253b0882009-05-13 17:38:11 +0900535
Yoshinori Sato9d4436a2006-11-05 15:40:13 +0900536config SH_CLK_MD
537 int "CPU Mode Pin Setting"
Paul Mundt6d01f512007-11-26 18:17:21 +0900538 depends on CPU_SH2
Paul Mundt357d5942007-06-11 15:32:07 +0900539 default 6 if CPU_SUBTYPE_SH7206
540 default 5 if CPU_SUBTYPE_SH7619
541 default 0
Yoshinori Sato9d4436a2006-11-05 15:40:13 +0900542 help
Yoshinori Sato11cbb702006-12-07 18:07:27 +0900543 MD2 - MD0 pin setting.
Yoshinori Sato9d4436a2006-11-05 15:40:13 +0900544
Paul Mundt57be2b42007-05-09 17:33:24 +0900545source "kernel/time/Kconfig"
546
Paul Mundt32351a22007-03-12 14:38:59 +0900547endmenu
548
Paul Mundtcad82442006-01-16 22:14:19 -0800549menu "CPU Frequency scaling"
550
551source "drivers/cpufreq/Kconfig"
552
553config SH_CPU_FREQ
554 tristate "SuperH CPU Frequency driver"
Paul Mundtcb5ec752007-07-20 13:38:19 +0900555 depends on CPU_FREQ
Paul Mundtcad82442006-01-16 22:14:19 -0800556 select CPU_FREQ_TABLE
557 help
Paul Mundt8a655052008-12-17 15:06:54 +0900558 This adds the cpufreq driver for SuperH. Any CPU that supports
559 clock rate rounding through the clock framework can use this
560 driver. While it will make the kernel slightly larger, this is
561 harmless for CPUs that don't support rate rounding. The driver
562 will also generate a notice in the boot log before disabling
563 itself if the CPU in question is not capable of rate rounding.
Paul Mundtcad82442006-01-16 22:14:19 -0800564
565 For details, take a look at <file:Documentation/cpu-freq>.
566
567 If unsure, say N.
568
569endmenu
570
Paul Mundt9f5e8ee2006-11-24 11:22:57 +0900571source "arch/sh/drivers/Kconfig"
572
Paul Mundtcad82442006-01-16 22:14:19 -0800573endmenu
574
Paul Mundtcad82442006-01-16 22:14:19 -0800575menu "Kernel features"
576
Paul Mundt91b91d02006-09-27 18:08:33 +0900577source kernel/Kconfig.hz
578
Paul Mundtcad82442006-01-16 22:14:19 -0800579config KEXEC
580 bool "kexec system call (EXPERIMENTAL)"
Nobuhiro Iwamatsuf36b59d2009-03-26 08:32:37 +0000581 depends on SUPERH32 && EXPERIMENTAL && MMU
Paul Mundtcad82442006-01-16 22:14:19 -0800582 help
583 kexec is a system call that implements the ability to shutdown your
584 current kernel, and to start another kernel. It is like a reboot
Matt LaPlante1f1332f2006-06-29 01:32:47 -0400585 but it is independent of the system firmware. And like a reboot
Paul Mundtcad82442006-01-16 22:14:19 -0800586 you can start any kernel with it, not just Linux.
587
Matt LaPlante1f1332f2006-06-29 01:32:47 -0400588 The name comes from the similarity to the exec system call.
Paul Mundtcad82442006-01-16 22:14:19 -0800589
590 It is an ongoing process to be certain the hardware in a machine
591 is properly shutdown, so do not be surprised if this code does not
592 initially work for you. It may help to enable device hotplugging
593 support. As of this writing the exact hardware interface is
594 strongly in flux, so no good recommendation can be made.
595
Paul Mundt4d5ade52007-04-27 11:25:57 +0900596config CRASH_DUMP
597 bool "kernel crash dumps (EXPERIMENTAL)"
Paul Mundt640f7482008-04-25 13:04:56 +0900598 depends on SUPERH32 && EXPERIMENTAL
Paul Mundt4d5ade52007-04-27 11:25:57 +0900599 help
600 Generate crash dump after being started by kexec.
601 This should be normally only set in special crash dump kernels
602 which are loaded in the main kernel with kexec-tools into
603 a specially reserved region and then later executed after
604 a crash by kdump/kexec. The crash dump kernel must be compiled
605 to a memory address not used by the main kernel using
606 MEMORY_START.
607
608 For more details see Documentation/kdump/kdump.txt
609
Magnus Dammb7cf6dd2009-03-18 08:51:29 +0000610config KEXEC_JUMP
611 bool "kexec jump (EXPERIMENTAL)"
612 depends on SUPERH32 && KEXEC && HIBERNATION && EXPERIMENTAL
613 help
614 Jump between original kernel and kexeced kernel and invoke
615 code via KEXEC
616
Paul Mundtc4637d42008-07-30 15:30:52 +0900617config SECCOMP
618 bool "Enable seccomp to safely compute untrusted bytecode"
619 depends on PROC_FS
Paul Mundtc4637d42008-07-30 15:30:52 +0900620 help
621 This kernel feature is useful for number crunching applications
622 that may need to compute untrusted bytecode during their
623 execution. By using pipes or other transports made available to
624 the process as file descriptors supporting the read/write
625 syscalls, it's possible to isolate those applications in
626 their own address space using seccomp. Once seccomp is
627 enabled via prctl, it cannot be disabled and the task is only
628 allowed to execute a few safe syscalls defined by each seccomp
629 mode.
630
631 If unsure, say N.
632
Linus Torvalds1da177e2005-04-16 15:20:36 -0700633config SMP
634 bool "Symmetric multi-processing support"
Paul Mundt357d5942007-06-11 15:32:07 +0900635 depends on SYS_SUPPORTS_SMP
Jens Axboe490f5de2008-06-10 20:52:59 +0200636 select USE_GENERIC_SMP_HELPERS
Linus Torvalds1da177e2005-04-16 15:20:36 -0700637 ---help---
638 This enables support for systems with more than one CPU. If you have
639 a system with only one CPU, like most personal computers, say N. If
640 you have a system with more than one CPU, say Y.
641
642 If you say N here, the kernel will run on single and multiprocessor
643 machines, but will use only one CPU of a multiprocessor machine. If
644 you say Y here, the kernel will run on many, but not all,
645 singleprocessor machines. On a singleprocessor machine, the kernel
646 will run faster if you say N here.
647
648 People using multiprocessor machines who say Y here should also say
649 Y to "Enhanced Real Time Clock Support", below.
650
Adrian Bunk03502fa2008-02-03 15:50:21 +0200651 See also <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO
652 available at <http://www.tldp.org/docs.html#howto>.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700653
654 If you don't know what to do here, say N.
655
656config NR_CPUS
657 int "Maximum number of CPUs (2-32)"
658 range 2 32
659 depends on SMP
Paul Mundt2eb2a432009-06-19 16:00:00 +0900660 default "4" if CPU_SUBTYPE_SHX3
Linus Torvalds1da177e2005-04-16 15:20:36 -0700661 default "2"
662 help
663 This allows you to specify the maximum number of CPUs which this
664 kernel will support. The maximum supported value is 32 and the
665 minimum value which makes sense is 2.
666
667 This is purely to save memory - each supported CPU adds
668 approximately eight kilobytes to the kernel image.
669
Paul Mundt91b91d02006-09-27 18:08:33 +0900670source "kernel/Kconfig.preempt"
671
Paul Mundt83662462007-09-28 16:04:49 +0900672config GUSA
673 def_bool y
Stuart Menefy1efe4ce2007-11-30 16:12:36 +0900674 depends on !SMP && SUPERH32
Paul Mundt83662462007-09-28 16:04:49 +0900675 help
676 This enables support for gUSA (general UserSpace Atomicity).
677 This is the default implementation for both UP and non-ll/sc
678 CPUs, and is used by the libc, amongst others.
679
680 For additional information, design information can be found
681 in <http://lc.linux.or.jp/lc2002/papers/niibe0919p.pdf>.
682
683 This should only be disabled for special cases where alternate
684 atomicity implementations exist.
685
Stuart Menefy1efe4ce2007-11-30 16:12:36 +0900686config GUSA_RB
687 bool "Implement atomic operations by roll-back (gRB) (EXPERIMENTAL)"
688 depends on GUSA && CPU_SH3 || (CPU_SH4 && !CPU_SH4A)
689 help
690 Enabling this option will allow the kernel to implement some
Matt LaPlante692105b2009-01-26 11:12:25 +0100691 atomic operations using a software implementation of load-locked/
Stuart Menefy1efe4ce2007-11-30 16:12:36 +0900692 store-conditional (LLSC). On machines which do not have hardware
693 LLSC, this should be more efficient than the other alternative of
Matt LaPlante692105b2009-01-26 11:12:25 +0100694 disabling interrupts around the atomic sequence.
Stuart Menefy1efe4ce2007-11-30 16:12:36 +0900695
Paul Mundt54ff3282009-06-11 10:33:09 +0300696config SPARSE_IRQ
697 bool "Support sparse irq numbering"
698 depends on EXPERIMENTAL
699 help
700 This enables support for sparse irqs. This is useful in general
701 as most CPUs have a fairly sparse array of IRQ vectors, which
702 the irq_desc then maps directly on to. Systems with a high
703 number of off-chip IRQs will want to treat this as
704 experimental until they have been independently verified.
705
706 If you don't know what to do here, say N.
707
Paul Mundtcad82442006-01-16 22:14:19 -0800708endmenu
709
710menu "Boot options"
711
712config ZERO_PAGE_OFFSET
Paul Mundtb412a49a2009-05-10 01:23:25 +0900713 hex
714 default "0x00010000" if PAGE_SIZE_64KB || SH_RTS7751R2D || \
715 SH_7751_SOLUTION_ENGINE
716 default "0x00004000" if PAGE_SIZE_16KB || SH_SH03
Paul Mundt7a847f82006-12-26 15:29:19 +0900717 default "0x00002000" if PAGE_SIZE_8KB
Paul Mundtcad82442006-01-16 22:14:19 -0800718 default "0x00001000"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700719 help
Paul Mundtcad82442006-01-16 22:14:19 -0800720 This sets the default offset of zero page.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700721
Paul Mundtcad82442006-01-16 22:14:19 -0800722config BOOT_LINK_OFFSET
Paul Mundtb412a49a2009-05-10 01:23:25 +0900723 hex
724 default "0x00210000" if SH_SHMIN
Paul Mundta2e76c82009-05-10 00:54:39 +0900725 default "0x00400000" if SH_CAYMAN
Paul Mundtb412a49a2009-05-10 01:23:25 +0900726 default "0x00810000" if SH_7780_SOLUTION_ENGINE
727 default "0x009e0000" if SH_TITAN
728 default "0x01800000" if SH_SDK7780
729 default "0x02000000" if SH_EDOSK7760
Paul Mundtcad82442006-01-16 22:14:19 -0800730 default "0x00800000"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700731 help
Paul Mundtcad82442006-01-16 22:14:19 -0800732 This option allows you to set the link address offset of the zImage.
733 This can be useful if you are on a board which has a small amount of
734 memory.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700735
Paul Mundtb412a49a2009-05-10 01:23:25 +0900736config ENTRY_OFFSET
737 hex
738 default "0x00001000" if PAGE_SIZE_4KB
739 default "0x00002000" if PAGE_SIZE_8KB
740 default "0x00004000" if PAGE_SIZE_16KB
741 default "0x00010000" if PAGE_SIZE_64KB
742 default "0x00000000"
743
Paul Mundtcad82442006-01-16 22:14:19 -0800744config UBC_WAKEUP
745 bool "Wakeup UBC on startup"
Paul Mundt0e3a9aa2007-11-06 15:55:36 +0900746 depends on CPU_SH4 && !CPU_SH4A
Paul Mundtcad82442006-01-16 22:14:19 -0800747 help
748 Selecting this option will wakeup the User Break Controller (UBC) on
749 startup. Although the UBC is left in an awake state when the processor
750 comes up, some boot loaders misbehave by putting the UBC to sleep in a
751 power saving state, which causes issues with things like ptrace().
Linus Torvalds1da177e2005-04-16 15:20:36 -0700752
753 If unsure, say N.
754
Paul Mundtcad82442006-01-16 22:14:19 -0800755config CMDLINE_BOOL
756 bool "Default bootloader kernel arguments"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700757
Paul Mundtcad82442006-01-16 22:14:19 -0800758config CMDLINE
759 string "Initial kernel command string"
760 depends on CMDLINE_BOOL
761 default "console=ttySC1,115200"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700762
763endmenu
764
Paul Mundtcad82442006-01-16 22:14:19 -0800765menu "Bus options"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700766
Paul Mundtcad82442006-01-16 22:14:19 -0800767config SUPERHYWAY
768 tristate "SuperHyway Bus support"
769 depends on CPU_SUBTYPE_SH4_202
Linus Torvalds1da177e2005-04-16 15:20:36 -0700770
Adrian McMenamin17be2d22007-09-21 15:55:55 +0900771config MAPLE
Paul Mundte16038a2009-01-09 15:12:30 +0900772 bool "Maple Bus support"
773 depends on SH_DREAMCAST
774 help
775 The Maple Bus is SEGA's serial communication bus for peripherals
776 on the Dreamcast. Without this bus support you won't be able to
777 get your Dreamcast keyboard etc to work, so most users
778 probably want to say 'Y' here, unless you are only using the
779 Dreamcast with a serial line terminal or a remote network
780 connection.
Adrian McMenamin17be2d22007-09-21 15:55:55 +0900781
Linus Torvalds1da177e2005-04-16 15:20:36 -0700782source "arch/sh/drivers/pci/Kconfig"
783
Paul Mundte16038a2009-01-09 15:12:30 +0900784source "drivers/pci/pcie/Kconfig"
785
Linus Torvalds1da177e2005-04-16 15:20:36 -0700786source "drivers/pci/Kconfig"
787
788source "drivers/pcmcia/Kconfig"
789
790source "drivers/pci/hotplug/Kconfig"
791
792endmenu
793
794menu "Executable file formats"
795
796source "fs/Kconfig.binfmt"
797
798endmenu
799
Andriy Skulysh3aa770e2006-09-27 16:20:22 +0900800menu "Power management options (EXPERIMENTAL)"
Magnus Dammaf998a92008-12-04 22:45:12 +0900801depends on EXPERIMENTAL
Johannes Bergf4cb5702007-12-08 02:14:00 +0100802
Magnus Dammc6f17cb2008-12-04 22:45:20 +0900803source "kernel/power/Kconfig"
804
805source "drivers/cpuidle/Kconfig"
Andriy Skulysh3aa770e2006-09-27 16:20:22 +0900806
Andriy Skulysh3aa770e2006-09-27 16:20:22 +0900807endmenu
808
Sam Ravnborgd5950b42005-07-11 21:03:49 -0700809source "net/Kconfig"
810
Linus Torvalds1da177e2005-04-16 15:20:36 -0700811source "drivers/Kconfig"
812
813source "fs/Kconfig"
814
Linus Torvalds1da177e2005-04-16 15:20:36 -0700815source "arch/sh/Kconfig.debug"
816
817source "security/Kconfig"
818
819source "crypto/Kconfig"
820
821source "lib/Kconfig"