blob: 739a12d2ffb986f84d966f3a3e793db61eaaf68e [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 Mundt6eac1af2009-05-08 19:48:47 +090018 select RTC_LIB
Linus Torvalds1da177e2005-04-16 15:20:36 -070019 help
20 The SuperH is a RISC processor targeted for use in embedded systems
21 and consumer electronics; it was also used in the Sega Dreamcast
22 gaming console. The SuperH port has a home page at
23 <http://www.linux-sh.org/>.
24
Paul Mundt39d28a22007-11-08 18:39:33 +090025config SUPERH32
Paul Mundt3cc000b2009-04-11 08:39:27 +090026 def_bool ARCH = "sh"
Chris Smithd39f5452008-09-05 17:15:39 +090027 select HAVE_KPROBES
28 select HAVE_KRETPROBES
Paul Mundt694f94f2008-10-31 16:20:36 +090029 select HAVE_FUNCTION_TRACER
Matt Flemingfad57fe2008-11-12 20:11:47 +090030 select HAVE_FTRACE_MCOUNT_RECORD
31 select HAVE_DYNAMIC_FTRACE
Paul Mundtab6e5702008-12-11 18:46:46 +090032 select HAVE_ARCH_KGDB
Paul Mundt8dafc342009-04-02 11:56:38 +090033 select ARCH_HIBERNATION_POSSIBLE if MMU
Paul Mundtea0e1a92007-11-21 15:58:01 +090034
35config SUPERH64
Paul Mundt3cc000b2009-04-11 08:39:27 +090036 def_bool ARCH = "sh64"
Paul Mundt39d28a22007-11-08 18:39:33 +090037
Paul Mundtf42b7e32008-07-29 20:12:51 +090038config ARCH_DEFCONFIG
39 string
40 default "arch/sh/configs/shx3_defconfig" if SUPERH32
41 default "arch/sh/configs/cayman_defconfig" if SUPERH64
42
Linus Torvalds1da177e2005-04-16 15:20:36 -070043config RWSEM_GENERIC_SPINLOCK
Harvey Harrisond7ef4fb2007-12-11 13:49:35 +090044 def_bool y
Linus Torvalds1da177e2005-04-16 15:20:36 -070045
46config RWSEM_XCHGADD_ALGORITHM
47 bool
48
Paul Mundtfa691512007-03-08 19:41:21 +090049config GENERIC_BUG
50 def_bool y
Paul Mundta82d53e2007-11-21 18:22:05 +090051 depends on BUG && SUPERH32
Paul Mundtfa691512007-03-08 19:41:21 +090052
Paul Mundt3767f3f2009-06-15 00:00:42 +090053config GENERIC_CSUM
54 def_bool y
55 depends on SUPERH64
56
Akinobu Mitae2268c72006-03-26 01:39:35 -080057config GENERIC_FIND_NEXT_BIT
Harvey Harrisond7ef4fb2007-12-11 13:49:35 +090058 def_bool y
Akinobu Mitae2268c72006-03-26 01:39:35 -080059
60config GENERIC_HWEIGHT
Harvey Harrisond7ef4fb2007-12-11 13:49:35 +090061 def_bool y
Akinobu Mitae2268c72006-03-26 01:39:35 -080062
Linus Torvalds1da177e2005-04-16 15:20:36 -070063config GENERIC_HARDIRQS
Harvey Harrisond7ef4fb2007-12-11 13:49:35 +090064 def_bool y
Linus Torvalds1da177e2005-04-16 15:20:36 -070065
Paul Mundt5093c9a2008-08-04 14:17:13 +090066config GENERIC_HARDIRQS_NO__DO_IRQ
67 def_bool y
68
Linus Torvalds1da177e2005-04-16 15:20:36 -070069config GENERIC_IRQ_PROBE
Harvey Harrisond7ef4fb2007-12-11 13:49:35 +090070 def_bool y
Linus Torvalds1da177e2005-04-16 15:20:36 -070071
Magnus Damm2967dab2008-10-08 20:41:43 +090072config GENERIC_GPIO
73 def_bool n
74
Linus Torvalds1da177e2005-04-16 15:20:36 -070075config GENERIC_CALIBRATE_DELAY
Paul Mundtcf204fa2008-09-08 20:47:42 +090076 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -070077
Paul Mundtcad82442006-01-16 22:14:19 -080078config GENERIC_IOMAP
79 bool
80
Paul Mundt45882142006-10-04 13:21:45 +090081config GENERIC_TIME
john stultz75634312009-05-01 13:10:28 -070082 def_bool y
Paul Mundt45882142006-10-04 13:21:45 +090083
Paul Mundt57be2b42007-05-09 17:33:24 +090084config GENERIC_CLOCKEVENTS
Paul Mundt938edae2009-05-03 18:12:26 +090085 def_bool y
Paul Mundt57be2b42007-05-09 17:33:24 +090086
Paul Mundt8c245942008-08-06 18:37:07 +090087config GENERIC_CLOCKEVENTS_BROADCAST
88 bool
89
Paul Mundt6d134b92009-05-08 16:36:13 +090090config GENERIC_CMOS_UPDATE
91 def_bool y
92 depends on SH_SH03 || SH_DREAMCAST
93
Paul Mundtbdcab872008-08-04 14:09:15 +090094config GENERIC_LOCKBREAK
95 def_bool y
96 depends on SMP && PREEMPT
97
Paul Mundt357d5942007-06-11 15:32:07 +090098config SYS_SUPPORTS_PM
99 bool
Magnus Dammaf998a92008-12-04 22:45:12 +0900100 depends on !SMP
101
102config ARCH_SUSPEND_POSSIBLE
103 def_bool n
104
105config ARCH_HIBERNATION_POSSIBLE
106 def_bool n
Paul Mundt357d5942007-06-11 15:32:07 +0900107
Paul Mundt0a9b0db2007-01-24 21:56:20 +0900108config SYS_SUPPORTS_APM_EMULATION
109 bool
Magnus Dammaf998a92008-12-04 22:45:12 +0900110 select ARCH_SUSPEND_POSSIBLE
Paul Mundt357d5942007-06-11 15:32:07 +0900111
112config SYS_SUPPORTS_SMP
113 bool
114
115config SYS_SUPPORTS_NUMA
116 bool
117
118config SYS_SUPPORTS_PCI
119 bool
Paul Mundt0a9b0db2007-01-24 21:56:20 +0900120
Paul Mundtf5ad8812009-01-29 18:08:58 +0900121config SYS_SUPPORTS_CMT
122 bool
123
Magnus Dammd5ed4c22009-04-30 07:02:49 +0000124config SYS_SUPPORTS_MTU2
125 bool
126
Magnus Damm9570ef22009-05-01 06:51:00 +0000127config SYS_SUPPORTS_TMU
128 bool
129
Paul Mundtafbfb522006-12-04 18:17:28 +0900130config STACKTRACE_SUPPORT
Harvey Harrisond7ef4fb2007-12-11 13:49:35 +0900131 def_bool y
Paul Mundtafbfb522006-12-04 18:17:28 +0900132
133config LOCKDEP_SUPPORT
Harvey Harrisond7ef4fb2007-12-11 13:49:35 +0900134 def_bool y
Paul Mundtafbfb522006-12-04 18:17:28 +0900135
Paul Mundt5a89f1a2008-09-13 01:44:03 +0900136config HAVE_LATENCYTOP_SUPPORT
137 def_bool y
138 depends on !SMP
139
David Howellsf0d1b0b2006-12-08 02:37:49 -0800140config ARCH_HAS_ILOG2_U32
Harvey Harrisond7ef4fb2007-12-11 13:49:35 +0900141 def_bool n
David Howellsf0d1b0b2006-12-08 02:37:49 -0800142
143config ARCH_HAS_ILOG2_U64
Harvey Harrisond7ef4fb2007-12-11 13:49:35 +0900144 def_bool n
David Howellsf0d1b0b2006-12-08 02:37:49 -0800145
Paul Mundte257ad02007-07-25 11:18:00 +0900146config ARCH_NO_VIRT_TO_BUS
147 def_bool y
148
Paul Mundte869a902009-04-02 13:08:31 +0900149config ARCH_HAS_DEFAULT_IDLE
150 def_bool y
151
Magnus Damme7cc9a72008-02-07 20:18:21 +0900152config IO_TRAPPED
153 bool
154
Linus Torvalds1da177e2005-04-16 15:20:36 -0700155source "init/Kconfig"
156
Matt Helsleydc52ddc2008-10-18 20:27:21 -0700157source "kernel/Kconfig.freezer"
158
Linus Torvalds1da177e2005-04-16 15:20:36 -0700159menu "System type"
160
Paul Mundtb5f42db2007-11-08 18:38:14 +0900161#
162# Processor families
163#
164config CPU_SH2
165 bool
166
167config CPU_SH2A
168 bool
169 select CPU_SH2
170
171config CPU_SH3
172 bool
173 select CPU_HAS_INTEVT
174 select CPU_HAS_SR_RB
Paul Mundt4fa48e12009-05-08 15:28:15 +0900175 select SYS_SUPPORTS_TMU
Paul Mundtb5f42db2007-11-08 18:38:14 +0900176
177config CPU_SH4
178 bool
179 select CPU_HAS_INTEVT
180 select CPU_HAS_SR_RB
Paul Mundtb5f42db2007-11-08 18:38:14 +0900181 select CPU_HAS_FPU if !CPU_SH4AL_DSP
Paul Mundt4fa48e12009-05-08 15:28:15 +0900182 select SYS_SUPPORTS_TMU
Paul Mundtb5f42db2007-11-08 18:38:14 +0900183
184config CPU_SH4A
185 bool
186 select CPU_SH4
187
188config CPU_SH4AL_DSP
189 bool
190 select CPU_SH4A
191 select CPU_HAS_DSP
192
Paul Mundtea0e1a92007-11-21 15:58:01 +0900193config CPU_SH5
194 bool
195 select CPU_HAS_FPU
Paul Mundtadd47062009-05-08 16:12:17 +0900196 select SYS_SUPPORTS_TMU
Paul Mundtea0e1a92007-11-21 15:58:01 +0900197
Paul Mundtb5f42db2007-11-08 18:38:14 +0900198config CPU_SHX2
199 bool
200
201config CPU_SHX3
202 bool
203
Paul Mundtdc65a972009-03-10 16:26:29 +0900204config ARCH_SHMOBILE
205 bool
Magnus Damm77594912009-03-13 15:23:04 +0000206 select ARCH_SUSPEND_POSSIBLE
Paul Mundtdc65a972009-03-10 16:26:29 +0900207
Paul Mundt3cc000b2009-04-11 08:39:27 +0900208if SUPERH32
209
Paul Mundtb5f42db2007-11-08 18:38:14 +0900210choice
211 prompt "Processor sub-type selection"
212
213#
214# Processor subtypes
215#
216
217# SH-2 Processor Support
218
219config CPU_SUBTYPE_SH7619
220 bool "Support SH7619 processor"
221 select CPU_SH2
Paul Mundtf5ad8812009-01-29 18:08:58 +0900222 select SYS_SUPPORTS_CMT
Paul Mundtb5f42db2007-11-08 18:38:14 +0900223
224# SH-2A Processor Support
225
Peter Griffin28259992008-11-28 22:48:20 +0900226config CPU_SUBTYPE_SH7201
227 bool "Support SH7201 processor"
228 select CPU_SH2A
229 select CPU_HAS_FPU
Magnus Dammda107c62009-04-30 07:06:26 +0000230 select SYS_SUPPORTS_MTU2
Peter Griffin28259992008-11-28 22:48:20 +0900231
Paul Mundt6d01f512007-11-26 18:17:21 +0900232config CPU_SUBTYPE_SH7203
233 bool "Support SH7203 processor"
234 select CPU_SH2A
Paul Mundt74d99a52007-11-26 20:38:36 +0900235 select CPU_HAS_FPU
Paul Mundtf5ad8812009-01-29 18:08:58 +0900236 select SYS_SUPPORTS_CMT
Magnus Dammda107c62009-04-30 07:06:26 +0000237 select SYS_SUPPORTS_MTU2
Paul Mundt6d01f512007-11-26 18:17:21 +0900238
Paul Mundtb5f42db2007-11-08 18:38:14 +0900239config CPU_SUBTYPE_SH7206
240 bool "Support SH7206 processor"
241 select CPU_SH2A
Paul Mundtf5ad8812009-01-29 18:08:58 +0900242 select SYS_SUPPORTS_CMT
Magnus Dammda107c62009-04-30 07:06:26 +0000243 select SYS_SUPPORTS_MTU2
Paul Mundtb5f42db2007-11-08 18:38:14 +0900244
Paul Mundta8f67f42007-11-26 19:54:02 +0900245config CPU_SUBTYPE_SH7263
246 bool "Support SH7263 processor"
247 select CPU_SH2A
Paul Mundt74d99a52007-11-26 20:38:36 +0900248 select CPU_HAS_FPU
Paul Mundtf5ad8812009-01-29 18:08:58 +0900249 select SYS_SUPPORTS_CMT
Magnus Dammda107c62009-04-30 07:06:26 +0000250 select SYS_SUPPORTS_MTU2
Paul Mundta8f67f42007-11-26 19:54:02 +0900251
Paul Mundt2ad69902008-03-13 12:52:44 +0900252config CPU_SUBTYPE_MXG
253 bool "Support MX-G processor"
254 select CPU_SH2A
Magnus Dammda107c62009-04-30 07:06:26 +0000255 select SYS_SUPPORTS_MTU2
Paul Mundt2ad69902008-03-13 12:52:44 +0900256 help
257 Select MX-G if running on an R8A03022BG part.
258
Paul Mundtb5f42db2007-11-08 18:38:14 +0900259# SH-3 Processor Support
260
261config CPU_SUBTYPE_SH7705
262 bool "Support SH7705 processor"
263 select CPU_SH3
264
265config CPU_SUBTYPE_SH7706
266 bool "Support SH7706 processor"
267 select CPU_SH3
268 help
269 Select SH7706 if you have a 133 Mhz SH-3 HD6417706 CPU.
270
271config CPU_SUBTYPE_SH7707
272 bool "Support SH7707 processor"
273 select CPU_SH3
274 help
275 Select SH7707 if you have a 60 Mhz SH-3 HD6417707 CPU.
276
277config CPU_SUBTYPE_SH7708
278 bool "Support SH7708 processor"
279 select CPU_SH3
280 help
281 Select SH7708 if you have a 60 Mhz SH-3 HD6417708S or
282 if you have a 100 Mhz SH-3 HD6417708R CPU.
283
284config CPU_SUBTYPE_SH7709
285 bool "Support SH7709 processor"
286 select CPU_SH3
287 help
288 Select SH7709 if you have a 80 Mhz SH-3 HD6417709 CPU.
289
290config CPU_SUBTYPE_SH7710
291 bool "Support SH7710 processor"
292 select CPU_SH3
293 select CPU_HAS_DSP
294 help
295 Select SH7710 if you have a SH3-DSP SH7710 CPU.
296
297config CPU_SUBTYPE_SH7712
298 bool "Support SH7712 processor"
299 select CPU_SH3
300 select CPU_HAS_DSP
301 help
302 Select SH7712 if you have a SH3-DSP SH7712 CPU.
303
304config CPU_SUBTYPE_SH7720
305 bool "Support SH7720 processor"
306 select CPU_SH3
307 select CPU_HAS_DSP
Magnus Damm2b23a882009-05-12 10:21:11 +0000308 select SYS_SUPPORTS_CMT
Paul Mundtb5f42db2007-11-08 18:38:14 +0900309 help
310 Select SH7720 if you have a SH3-DSP SH7720 CPU.
311
Yoshihiro Shimoda31a49c42007-12-26 11:45:06 +0900312config CPU_SUBTYPE_SH7721
313 bool "Support SH7721 processor"
314 select CPU_SH3
315 select CPU_HAS_DSP
Magnus Damm2b23a882009-05-12 10:21:11 +0000316 select SYS_SUPPORTS_CMT
Yoshihiro Shimoda31a49c42007-12-26 11:45:06 +0900317 help
318 Select SH7721 if you have a SH3-DSP SH7721 CPU.
319
Paul Mundtb5f42db2007-11-08 18:38:14 +0900320# SH-4 Processor Support
321
322config CPU_SUBTYPE_SH7750
323 bool "Support SH7750 processor"
324 select CPU_SH4
325 help
326 Select SH7750 if you have a 200 Mhz SH-4 HD6417750 CPU.
327
328config CPU_SUBTYPE_SH7091
329 bool "Support SH7091 processor"
330 select CPU_SH4
331 help
332 Select SH7091 if you have an SH-4 based Sega device (such as
333 the Dreamcast, Naomi, and Naomi 2).
334
335config CPU_SUBTYPE_SH7750R
336 bool "Support SH7750R processor"
337 select CPU_SH4
338
339config CPU_SUBTYPE_SH7750S
340 bool "Support SH7750S processor"
341 select CPU_SH4
342
343config CPU_SUBTYPE_SH7751
344 bool "Support SH7751 processor"
345 select CPU_SH4
346 help
347 Select SH7751 if you have a 166 Mhz SH-4 HD6417751 CPU,
348 or if you have a HD6417751R CPU.
349
350config CPU_SUBTYPE_SH7751R
351 bool "Support SH7751R processor"
352 select CPU_SH4
353
354config CPU_SUBTYPE_SH7760
355 bool "Support SH7760 processor"
356 select CPU_SH4
357
358config CPU_SUBTYPE_SH4_202
359 bool "Support SH4-202 processor"
360 select CPU_SH4
361
362# SH-4A Processor Support
363
Paul Mundt178dd0c2008-04-09 17:56:18 +0900364config CPU_SUBTYPE_SH7723
365 bool "Support SH7723 processor"
366 select CPU_SH4A
367 select CPU_SHX2
Paul Mundtdc65a972009-03-10 16:26:29 +0900368 select ARCH_SHMOBILE
Paul Mundt178dd0c2008-04-09 17:56:18 +0900369 select ARCH_SPARSEMEM_ENABLE
Paul Mundtf5ad8812009-01-29 18:08:58 +0900370 select SYS_SUPPORTS_CMT
Paul Mundt178dd0c2008-04-09 17:56:18 +0900371 help
372 Select SH7723 if you have an SH-MobileR2 CPU.
373
Kuninori Morimoto0207a2e2009-04-16 14:40:56 +0900374config CPU_SUBTYPE_SH7724
375 bool "Support SH7724 processor"
376 select CPU_SH4A
377 select CPU_SHX2
Paul Mundt59fe7002009-04-16 15:43:42 +0900378 select ARCH_SHMOBILE
Kuninori Morimoto0207a2e2009-04-16 14:40:56 +0900379 select ARCH_SPARSEMEM_ENABLE
380 select SYS_SUPPORTS_CMT
381 help
382 Select SH7724 if you have an SH-MobileR2R CPU.
383
Yoshihiro Shimoda7d740a02008-01-07 14:40:07 +0900384config CPU_SUBTYPE_SH7763
385 bool "Support SH7763 processor"
386 select CPU_SH4A
387 help
388 Select SH7763 if you have a SH4A SH7763(R5S77631) CPU.
389
Paul Mundtb5f42db2007-11-08 18:38:14 +0900390config CPU_SUBTYPE_SH7770
391 bool "Support SH7770 processor"
392 select CPU_SH4A
393
394config CPU_SUBTYPE_SH7780
395 bool "Support SH7780 processor"
396 select CPU_SH4A
397
398config CPU_SUBTYPE_SH7785
399 bool "Support SH7785 processor"
400 select CPU_SH4A
401 select CPU_SHX2
402 select ARCH_SPARSEMEM_ENABLE
403 select SYS_SUPPORTS_NUMA
404
Kuninori Morimoto55ba99e2009-03-03 15:40:25 +0900405config CPU_SUBTYPE_SH7786
406 bool "Support SH7786 processor"
407 select CPU_SH4A
Paul Mundt37042fb2009-03-03 15:57:02 +0900408 select CPU_SHX3
Paul Mundt8263a672009-03-17 17:49:49 +0900409 select CPU_HAS_PTEAEX
Kuninori Morimoto55ba99e2009-03-03 15:40:25 +0900410 select ARCH_SPARSEMEM_ENABLE
411 select SYS_SUPPORTS_NUMA
412
Paul Mundtb5f42db2007-11-08 18:38:14 +0900413config CPU_SUBTYPE_SHX3
414 bool "Support SH-X3 processor"
415 select CPU_SH4A
416 select CPU_SHX3
417 select ARCH_SPARSEMEM_ENABLE
418 select SYS_SUPPORTS_NUMA
419 select SYS_SUPPORTS_SMP
Paul Mundt58402632008-09-05 15:36:39 +0900420 select GENERIC_CLOCKEVENTS_BROADCAST if SMP
Paul Mundtb5f42db2007-11-08 18:38:14 +0900421
422# SH4AL-DSP Processor Support
423
424config CPU_SUBTYPE_SH7343
425 bool "Support SH7343 processor"
426 select CPU_SH4AL_DSP
Paul Mundtdc65a972009-03-10 16:26:29 +0900427 select ARCH_SHMOBILE
Paul Mundtf5ad8812009-01-29 18:08:58 +0900428 select SYS_SUPPORTS_CMT
Paul Mundtb5f42db2007-11-08 18:38:14 +0900429
430config CPU_SUBTYPE_SH7722
431 bool "Support SH7722 processor"
432 select CPU_SH4AL_DSP
433 select CPU_SHX2
Paul Mundtdc65a972009-03-10 16:26:29 +0900434 select ARCH_SHMOBILE
Paul Mundtb5f42db2007-11-08 18:38:14 +0900435 select ARCH_SPARSEMEM_ENABLE
436 select SYS_SUPPORTS_NUMA
Paul Mundtf5ad8812009-01-29 18:08:58 +0900437 select SYS_SUPPORTS_CMT
Paul Mundtb5f42db2007-11-08 18:38:14 +0900438
Magnus Damm9109a302008-02-08 17:31:24 +0900439config CPU_SUBTYPE_SH7366
440 bool "Support SH7366 processor"
441 select CPU_SH4AL_DSP
442 select CPU_SHX2
Paul Mundtdc65a972009-03-10 16:26:29 +0900443 select ARCH_SHMOBILE
Magnus Damm9109a302008-02-08 17:31:24 +0900444 select ARCH_SPARSEMEM_ENABLE
445 select SYS_SUPPORTS_NUMA
Paul Mundtf5ad8812009-01-29 18:08:58 +0900446 select SYS_SUPPORTS_CMT
Magnus Damm9109a302008-02-08 17:31:24 +0900447
Paul Mundt3cc000b2009-04-11 08:39:27 +0900448endchoice
449
450endif
451
452if SUPERH64
453
454choice
455 prompt "Processor sub-type selection"
456
Paul Mundtea0e1a92007-11-21 15:58:01 +0900457# SH-5 Processor Support
458
459config CPU_SUBTYPE_SH5_101
460 bool "Support SH5-101 processor"
461 select CPU_SH5
462
463config CPU_SUBTYPE_SH5_103
464 bool "Support SH5-103 processor"
Paul Mundt8ef97dd2008-02-14 15:30:54 +0900465 select CPU_SH5
Paul Mundtea0e1a92007-11-21 15:58:01 +0900466
Paul Mundtb5f42db2007-11-08 18:38:14 +0900467endchoice
468
Paul Mundt3cc000b2009-04-11 08:39:27 +0900469endif
470
Paul Mundtcad82442006-01-16 22:14:19 -0800471source "arch/sh/mm/Kconfig"
Paul Mundt939a24a2008-07-29 21:41:37 +0900472
Paul Mundt4690bdc2007-11-09 13:45:42 +0900473source "arch/sh/Kconfig.cpu"
Paul Mundtcad82442006-01-16 22:14:19 -0800474
Paul Mundt939a24a2008-07-29 21:41:37 +0900475source "arch/sh/boards/Kconfig"
Paul Mundtf3d22292007-05-14 17:29:12 +0900476
Paul Mundt32351a22007-03-12 14:38:59 +0900477menu "Timer and clock configuration"
478
Magnus Damm9570ef22009-05-01 06:51:00 +0000479config SH_TIMER_TMU
480 bool "TMU timer driver"
Magnus Dammf19900b2009-05-12 10:25:54 +0000481 depends on SYS_SUPPORTS_TMU
Magnus Damm9570ef22009-05-01 06:51:00 +0000482 default y
Magnus Damm9570ef22009-05-01 06:51:00 +0000483 help
484 This enables the build of the TMU timer driver.
485
Paul Mundtf5ad8812009-01-29 18:08:58 +0900486config SH_TIMER_CMT
Magnus Dammf4257522009-04-30 04:09:26 +0000487 bool "CMT timer driver"
488 depends on SYS_SUPPORTS_CMT
489 default y
Magnus Dammf4257522009-04-30 04:09:26 +0000490 help
491 This enables build of the CMT timer driver.
Paul Mundtf5ad8812009-01-29 18:08:58 +0900492
Magnus Dammd5ed4c22009-04-30 07:02:49 +0000493config SH_TIMER_MTU2
494 bool "MTU2 timer driver"
Magnus Damm3280c882009-04-30 07:12:09 +0000495 depends on SYS_SUPPORTS_MTU2
Magnus Dammd5ed4c22009-04-30 07:02:49 +0000496 default y
Magnus Dammd5ed4c22009-04-30 07:02:49 +0000497 help
498 This enables build of the MTU2 timer driver.
499
Paul Mundtcad82442006-01-16 22:14:19 -0800500config SH_PCLK_FREQ
501 int "Peripheral clock frequency (in Hz)"
Magnus Damm870e8a22007-07-25 10:49:21 +0900502 default "27000000" if CPU_SUBTYPE_SH7343
Yoshinori Sato9d4436a2006-11-05 15:40:13 +0900503 default "31250000" if CPU_SUBTYPE_SH7619
Paul Mundt05627482007-05-15 16:25:47 +0900504 default "32000000" if CPU_SUBTYPE_SH7722
Paul Mundt178dd0c2008-04-09 17:56:18 +0900505 default "33333333" if CPU_SUBTYPE_SH7770 || CPU_SUBTYPE_SH7723 || \
Yoshinori Sato9d4436a2006-11-05 15:40:13 +0900506 CPU_SUBTYPE_SH7760 || CPU_SUBTYPE_SH7705 || \
Paul Mundta8f67f42007-11-26 19:54:02 +0900507 CPU_SUBTYPE_SH7203 || CPU_SUBTYPE_SH7206 || \
Paul Mundta4b1fdd2009-03-05 17:52:34 +0900508 CPU_SUBTYPE_SH7263 || CPU_SUBTYPE_MXG || \
Kuninori Morimoto47785412009-05-29 07:41:26 +0000509 CPU_SUBTYPE_SH7786 || CPU_SUBTYPE_SH7724
Paul Mundt05627482007-05-15 16:25:47 +0900510 default "60000000" if CPU_SUBTYPE_SH7751 || CPU_SUBTYPE_SH7751R
Paul Mundtcad82442006-01-16 22:14:19 -0800511 default "66000000" if CPU_SUBTYPE_SH4_202
Paul Mundt05627482007-05-15 16:25:47 +0900512 default "50000000"
Paul Mundtcad82442006-01-16 22:14:19 -0800513 help
514 This option is used to specify the peripheral clock frequency.
515 This is necessary for determining the reference clock value on
516 platforms lacking an RTC.
517
Paul Mundt36aa1e32009-05-22 14:00:34 +0900518config SH_CLK_CPG
519 def_bool y
520
Paul Mundt253b0882009-05-13 17:38:11 +0900521config SH_CLK_CPG_LEGACY
Paul Mundt36aa1e32009-05-22 14:00:34 +0900522 depends on SH_CLK_CPG
Magnus Damm46e93712009-06-04 07:37:59 +0000523 def_bool y if !CPU_SUBTYPE_SH7785 && !ARCH_SHMOBILE
Paul Mundt253b0882009-05-13 17:38:11 +0900524
Yoshinori Sato9d4436a2006-11-05 15:40:13 +0900525config SH_CLK_MD
526 int "CPU Mode Pin Setting"
Paul Mundt6d01f512007-11-26 18:17:21 +0900527 depends on CPU_SH2
Paul Mundt357d5942007-06-11 15:32:07 +0900528 default 6 if CPU_SUBTYPE_SH7206
529 default 5 if CPU_SUBTYPE_SH7619
530 default 0
Yoshinori Sato9d4436a2006-11-05 15:40:13 +0900531 help
Yoshinori Sato11cbb702006-12-07 18:07:27 +0900532 MD2 - MD0 pin setting.
Yoshinori Sato9d4436a2006-11-05 15:40:13 +0900533
Paul Mundt57be2b42007-05-09 17:33:24 +0900534source "kernel/time/Kconfig"
535
Paul Mundt32351a22007-03-12 14:38:59 +0900536endmenu
537
Paul Mundtcad82442006-01-16 22:14:19 -0800538menu "CPU Frequency scaling"
539
540source "drivers/cpufreq/Kconfig"
541
542config SH_CPU_FREQ
543 tristate "SuperH CPU Frequency driver"
Paul Mundtcb5ec752007-07-20 13:38:19 +0900544 depends on CPU_FREQ
Paul Mundtcad82442006-01-16 22:14:19 -0800545 select CPU_FREQ_TABLE
546 help
Paul Mundt8a655052008-12-17 15:06:54 +0900547 This adds the cpufreq driver for SuperH. Any CPU that supports
548 clock rate rounding through the clock framework can use this
549 driver. While it will make the kernel slightly larger, this is
550 harmless for CPUs that don't support rate rounding. The driver
551 will also generate a notice in the boot log before disabling
552 itself if the CPU in question is not capable of rate rounding.
Paul Mundtcad82442006-01-16 22:14:19 -0800553
554 For details, take a look at <file:Documentation/cpu-freq>.
555
556 If unsure, say N.
557
558endmenu
559
Paul Mundt9f5e8ee2006-11-24 11:22:57 +0900560source "arch/sh/drivers/Kconfig"
561
Paul Mundtcad82442006-01-16 22:14:19 -0800562endmenu
563
Paul Mundtcad82442006-01-16 22:14:19 -0800564menu "Kernel features"
565
Paul Mundt91b91d02006-09-27 18:08:33 +0900566source kernel/Kconfig.hz
567
Paul Mundtcad82442006-01-16 22:14:19 -0800568config KEXEC
569 bool "kexec system call (EXPERIMENTAL)"
Nobuhiro Iwamatsuf36b59d2009-03-26 08:32:37 +0000570 depends on SUPERH32 && EXPERIMENTAL && MMU
Paul Mundtcad82442006-01-16 22:14:19 -0800571 help
572 kexec is a system call that implements the ability to shutdown your
573 current kernel, and to start another kernel. It is like a reboot
Matt LaPlante1f1332f2006-06-29 01:32:47 -0400574 but it is independent of the system firmware. And like a reboot
Paul Mundtcad82442006-01-16 22:14:19 -0800575 you can start any kernel with it, not just Linux.
576
Matt LaPlante1f1332f2006-06-29 01:32:47 -0400577 The name comes from the similarity to the exec system call.
Paul Mundtcad82442006-01-16 22:14:19 -0800578
579 It is an ongoing process to be certain the hardware in a machine
580 is properly shutdown, so do not be surprised if this code does not
581 initially work for you. It may help to enable device hotplugging
582 support. As of this writing the exact hardware interface is
583 strongly in flux, so no good recommendation can be made.
584
Paul Mundt4d5ade52007-04-27 11:25:57 +0900585config CRASH_DUMP
586 bool "kernel crash dumps (EXPERIMENTAL)"
Paul Mundt640f7482008-04-25 13:04:56 +0900587 depends on SUPERH32 && EXPERIMENTAL
Paul Mundt4d5ade52007-04-27 11:25:57 +0900588 help
589 Generate crash dump after being started by kexec.
590 This should be normally only set in special crash dump kernels
591 which are loaded in the main kernel with kexec-tools into
592 a specially reserved region and then later executed after
593 a crash by kdump/kexec. The crash dump kernel must be compiled
594 to a memory address not used by the main kernel using
595 MEMORY_START.
596
597 For more details see Documentation/kdump/kdump.txt
598
Magnus Dammb7cf6dd2009-03-18 08:51:29 +0000599config KEXEC_JUMP
600 bool "kexec jump (EXPERIMENTAL)"
601 depends on SUPERH32 && KEXEC && HIBERNATION && EXPERIMENTAL
602 help
603 Jump between original kernel and kexeced kernel and invoke
604 code via KEXEC
605
Paul Mundtc4637d42008-07-30 15:30:52 +0900606config SECCOMP
607 bool "Enable seccomp to safely compute untrusted bytecode"
608 depends on PROC_FS
Paul Mundtc4637d42008-07-30 15:30:52 +0900609 help
610 This kernel feature is useful for number crunching applications
611 that may need to compute untrusted bytecode during their
612 execution. By using pipes or other transports made available to
613 the process as file descriptors supporting the read/write
614 syscalls, it's possible to isolate those applications in
615 their own address space using seccomp. Once seccomp is
616 enabled via prctl, it cannot be disabled and the task is only
617 allowed to execute a few safe syscalls defined by each seccomp
618 mode.
619
620 If unsure, say N.
621
Linus Torvalds1da177e2005-04-16 15:20:36 -0700622config SMP
623 bool "Symmetric multi-processing support"
Paul Mundt357d5942007-06-11 15:32:07 +0900624 depends on SYS_SUPPORTS_SMP
Jens Axboe490f5de2008-06-10 20:52:59 +0200625 select USE_GENERIC_SMP_HELPERS
Linus Torvalds1da177e2005-04-16 15:20:36 -0700626 ---help---
627 This enables support for systems with more than one CPU. If you have
628 a system with only one CPU, like most personal computers, say N. If
629 you have a system with more than one CPU, say Y.
630
631 If you say N here, the kernel will run on single and multiprocessor
632 machines, but will use only one CPU of a multiprocessor machine. If
633 you say Y here, the kernel will run on many, but not all,
634 singleprocessor machines. On a singleprocessor machine, the kernel
635 will run faster if you say N here.
636
637 People using multiprocessor machines who say Y here should also say
638 Y to "Enhanced Real Time Clock Support", below.
639
Adrian Bunk03502fa2008-02-03 15:50:21 +0200640 See also <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO
641 available at <http://www.tldp.org/docs.html#howto>.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700642
643 If you don't know what to do here, say N.
644
645config NR_CPUS
646 int "Maximum number of CPUs (2-32)"
647 range 2 32
648 depends on SMP
Paul Mundt2b1bd1a2007-06-20 18:27:10 +0900649 default "4" if CPU_SHX3
Linus Torvalds1da177e2005-04-16 15:20:36 -0700650 default "2"
651 help
652 This allows you to specify the maximum number of CPUs which this
653 kernel will support. The maximum supported value is 32 and the
654 minimum value which makes sense is 2.
655
656 This is purely to save memory - each supported CPU adds
657 approximately eight kilobytes to the kernel image.
658
Paul Mundt91b91d02006-09-27 18:08:33 +0900659source "kernel/Kconfig.preempt"
660
Paul Mundt83662462007-09-28 16:04:49 +0900661config GUSA
662 def_bool y
Stuart Menefy1efe4ce2007-11-30 16:12:36 +0900663 depends on !SMP && SUPERH32
Paul Mundt83662462007-09-28 16:04:49 +0900664 help
665 This enables support for gUSA (general UserSpace Atomicity).
666 This is the default implementation for both UP and non-ll/sc
667 CPUs, and is used by the libc, amongst others.
668
669 For additional information, design information can be found
670 in <http://lc.linux.or.jp/lc2002/papers/niibe0919p.pdf>.
671
672 This should only be disabled for special cases where alternate
673 atomicity implementations exist.
674
Stuart Menefy1efe4ce2007-11-30 16:12:36 +0900675config GUSA_RB
676 bool "Implement atomic operations by roll-back (gRB) (EXPERIMENTAL)"
677 depends on GUSA && CPU_SH3 || (CPU_SH4 && !CPU_SH4A)
678 help
679 Enabling this option will allow the kernel to implement some
Matt LaPlante692105b2009-01-26 11:12:25 +0100680 atomic operations using a software implementation of load-locked/
Stuart Menefy1efe4ce2007-11-30 16:12:36 +0900681 store-conditional (LLSC). On machines which do not have hardware
682 LLSC, this should be more efficient than the other alternative of
Matt LaPlante692105b2009-01-26 11:12:25 +0100683 disabling interrupts around the atomic sequence.
Stuart Menefy1efe4ce2007-11-30 16:12:36 +0900684
Paul Mundt54ff3282009-06-11 10:33:09 +0300685config SPARSE_IRQ
686 bool "Support sparse irq numbering"
687 depends on EXPERIMENTAL
688 help
689 This enables support for sparse irqs. This is useful in general
690 as most CPUs have a fairly sparse array of IRQ vectors, which
691 the irq_desc then maps directly on to. Systems with a high
692 number of off-chip IRQs will want to treat this as
693 experimental until they have been independently verified.
694
695 If you don't know what to do here, say N.
696
Paul Mundtcad82442006-01-16 22:14:19 -0800697endmenu
698
699menu "Boot options"
700
701config ZERO_PAGE_OFFSET
Paul Mundtb412a49a2009-05-10 01:23:25 +0900702 hex
703 default "0x00010000" if PAGE_SIZE_64KB || SH_RTS7751R2D || \
704 SH_7751_SOLUTION_ENGINE
705 default "0x00004000" if PAGE_SIZE_16KB || SH_SH03
Paul Mundt7a847f82006-12-26 15:29:19 +0900706 default "0x00002000" if PAGE_SIZE_8KB
Paul Mundtcad82442006-01-16 22:14:19 -0800707 default "0x00001000"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700708 help
Paul Mundtcad82442006-01-16 22:14:19 -0800709 This sets the default offset of zero page.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700710
Paul Mundtcad82442006-01-16 22:14:19 -0800711config BOOT_LINK_OFFSET
Paul Mundtb412a49a2009-05-10 01:23:25 +0900712 hex
713 default "0x00210000" if SH_SHMIN
Paul Mundta2e76c82009-05-10 00:54:39 +0900714 default "0x00400000" if SH_CAYMAN
Paul Mundtb412a49a2009-05-10 01:23:25 +0900715 default "0x00810000" if SH_7780_SOLUTION_ENGINE
716 default "0x009e0000" if SH_TITAN
717 default "0x01800000" if SH_SDK7780
718 default "0x02000000" if SH_EDOSK7760
Paul Mundtcad82442006-01-16 22:14:19 -0800719 default "0x00800000"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700720 help
Paul Mundtcad82442006-01-16 22:14:19 -0800721 This option allows you to set the link address offset of the zImage.
722 This can be useful if you are on a board which has a small amount of
723 memory.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700724
Paul Mundtb412a49a2009-05-10 01:23:25 +0900725config ENTRY_OFFSET
726 hex
727 default "0x00001000" if PAGE_SIZE_4KB
728 default "0x00002000" if PAGE_SIZE_8KB
729 default "0x00004000" if PAGE_SIZE_16KB
730 default "0x00010000" if PAGE_SIZE_64KB
731 default "0x00000000"
732
Paul Mundtcad82442006-01-16 22:14:19 -0800733config UBC_WAKEUP
734 bool "Wakeup UBC on startup"
Paul Mundt0e3a9aa2007-11-06 15:55:36 +0900735 depends on CPU_SH4 && !CPU_SH4A
Paul Mundtcad82442006-01-16 22:14:19 -0800736 help
737 Selecting this option will wakeup the User Break Controller (UBC) on
738 startup. Although the UBC is left in an awake state when the processor
739 comes up, some boot loaders misbehave by putting the UBC to sleep in a
740 power saving state, which causes issues with things like ptrace().
Linus Torvalds1da177e2005-04-16 15:20:36 -0700741
742 If unsure, say N.
743
Paul Mundtcad82442006-01-16 22:14:19 -0800744config CMDLINE_BOOL
745 bool "Default bootloader kernel arguments"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700746
Paul Mundtcad82442006-01-16 22:14:19 -0800747config CMDLINE
748 string "Initial kernel command string"
749 depends on CMDLINE_BOOL
750 default "console=ttySC1,115200"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700751
752endmenu
753
Paul Mundtcad82442006-01-16 22:14:19 -0800754menu "Bus options"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700755
Paul Mundtcad82442006-01-16 22:14:19 -0800756config SUPERHYWAY
757 tristate "SuperHyway Bus support"
758 depends on CPU_SUBTYPE_SH4_202
Linus Torvalds1da177e2005-04-16 15:20:36 -0700759
Adrian McMenamin17be2d22007-09-21 15:55:55 +0900760config MAPLE
Paul Mundte16038a2009-01-09 15:12:30 +0900761 bool "Maple Bus support"
762 depends on SH_DREAMCAST
763 help
764 The Maple Bus is SEGA's serial communication bus for peripherals
765 on the Dreamcast. Without this bus support you won't be able to
766 get your Dreamcast keyboard etc to work, so most users
767 probably want to say 'Y' here, unless you are only using the
768 Dreamcast with a serial line terminal or a remote network
769 connection.
Adrian McMenamin17be2d22007-09-21 15:55:55 +0900770
Linus Torvalds1da177e2005-04-16 15:20:36 -0700771source "arch/sh/drivers/pci/Kconfig"
772
Paul Mundte16038a2009-01-09 15:12:30 +0900773source "drivers/pci/pcie/Kconfig"
774
Linus Torvalds1da177e2005-04-16 15:20:36 -0700775source "drivers/pci/Kconfig"
776
777source "drivers/pcmcia/Kconfig"
778
779source "drivers/pci/hotplug/Kconfig"
780
781endmenu
782
783menu "Executable file formats"
784
785source "fs/Kconfig.binfmt"
786
787endmenu
788
Andriy Skulysh3aa770e2006-09-27 16:20:22 +0900789menu "Power management options (EXPERIMENTAL)"
Magnus Dammaf998a92008-12-04 22:45:12 +0900790depends on EXPERIMENTAL
Johannes Bergf4cb5702007-12-08 02:14:00 +0100791
Magnus Dammc6f17cb2008-12-04 22:45:20 +0900792source "kernel/power/Kconfig"
793
794source "drivers/cpuidle/Kconfig"
Andriy Skulysh3aa770e2006-09-27 16:20:22 +0900795
Andriy Skulysh3aa770e2006-09-27 16:20:22 +0900796endmenu
797
Sam Ravnborgd5950b42005-07-11 21:03:49 -0700798source "net/Kconfig"
799
Linus Torvalds1da177e2005-04-16 15:20:36 -0700800source "drivers/Kconfig"
801
802source "fs/Kconfig"
803
Linus Torvalds1da177e2005-04-16 15:20:36 -0700804source "arch/sh/Kconfig.debug"
805
806source "security/Kconfig"
807
808source "crypto/Kconfig"
809
810source "lib/Kconfig"