blob: adffbf4048b1f9043a160c45fcd7fad5faa5441d [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
Linus Torvalds1da177e2005-04-16 15:20:36 -070017 help
18 The SuperH is a RISC processor targeted for use in embedded systems
19 and consumer electronics; it was also used in the Sega Dreamcast
20 gaming console. The SuperH port has a home page at
21 <http://www.linux-sh.org/>.
22
Paul Mundt39d28a22007-11-08 18:39:33 +090023config SUPERH32
Paul Mundtea0e1a92007-11-21 15:58:01 +090024 def_bool !SUPERH64
Chris Smithd39f5452008-09-05 17:15:39 +090025 select HAVE_KPROBES
26 select HAVE_KRETPROBES
Paul Mundt694f94f2008-10-31 16:20:36 +090027 select HAVE_FUNCTION_TRACER
Matt Flemingfad57fe2008-11-12 20:11:47 +090028 select HAVE_FTRACE_MCOUNT_RECORD
29 select HAVE_DYNAMIC_FTRACE
Paul Mundtab6e5702008-12-11 18:46:46 +090030 select HAVE_ARCH_KGDB
Paul Mundtea0e1a92007-11-21 15:58:01 +090031
32config SUPERH64
33 def_bool y if CPU_SH5
Paul Mundt39d28a22007-11-08 18:39:33 +090034
Paul Mundtf42b7e32008-07-29 20:12:51 +090035config ARCH_DEFCONFIG
36 string
37 default "arch/sh/configs/shx3_defconfig" if SUPERH32
38 default "arch/sh/configs/cayman_defconfig" if SUPERH64
39
Linus Torvalds1da177e2005-04-16 15:20:36 -070040config RWSEM_GENERIC_SPINLOCK
Harvey Harrisond7ef4fb2007-12-11 13:49:35 +090041 def_bool y
Linus Torvalds1da177e2005-04-16 15:20:36 -070042
43config RWSEM_XCHGADD_ALGORITHM
44 bool
45
Paul Mundtfa691512007-03-08 19:41:21 +090046config GENERIC_BUG
47 def_bool y
Paul Mundta82d53e2007-11-21 18:22:05 +090048 depends on BUG && SUPERH32
Paul Mundtfa691512007-03-08 19:41:21 +090049
Akinobu Mitae2268c72006-03-26 01:39:35 -080050config GENERIC_FIND_NEXT_BIT
Harvey Harrisond7ef4fb2007-12-11 13:49:35 +090051 def_bool y
Akinobu Mitae2268c72006-03-26 01:39:35 -080052
53config GENERIC_HWEIGHT
Harvey Harrisond7ef4fb2007-12-11 13:49:35 +090054 def_bool y
Akinobu Mitae2268c72006-03-26 01:39:35 -080055
Linus Torvalds1da177e2005-04-16 15:20:36 -070056config GENERIC_HARDIRQS
Harvey Harrisond7ef4fb2007-12-11 13:49:35 +090057 def_bool y
Linus Torvalds1da177e2005-04-16 15:20:36 -070058
Paul Mundt5093c9a2008-08-04 14:17:13 +090059config GENERIC_HARDIRQS_NO__DO_IRQ
60 def_bool y
61
Linus Torvalds1da177e2005-04-16 15:20:36 -070062config GENERIC_IRQ_PROBE
Harvey Harrisond7ef4fb2007-12-11 13:49:35 +090063 def_bool y
Linus Torvalds1da177e2005-04-16 15:20:36 -070064
Magnus Damm2967dab2008-10-08 20:41:43 +090065config GENERIC_GPIO
66 def_bool n
67
Linus Torvalds1da177e2005-04-16 15:20:36 -070068config GENERIC_CALIBRATE_DELAY
Paul Mundtcf204fa2008-09-08 20:47:42 +090069 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -070070
Paul Mundtcad82442006-01-16 22:14:19 -080071config GENERIC_IOMAP
72 bool
73
Paul Mundt45882142006-10-04 13:21:45 +090074config GENERIC_TIME
75 def_bool n
76
Paul Mundt57be2b42007-05-09 17:33:24 +090077config GENERIC_CLOCKEVENTS
78 def_bool n
79
Paul Mundt8c245942008-08-06 18:37:07 +090080config GENERIC_CLOCKEVENTS_BROADCAST
81 bool
82
Paul Mundtbdcab872008-08-04 14:09:15 +090083config GENERIC_LOCKBREAK
84 def_bool y
85 depends on SMP && PREEMPT
86
Paul Mundt357d5942007-06-11 15:32:07 +090087config SYS_SUPPORTS_PM
88 bool
Magnus Dammaf998a92008-12-04 22:45:12 +090089 depends on !SMP
90
91config ARCH_SUSPEND_POSSIBLE
92 def_bool n
93
94config ARCH_HIBERNATION_POSSIBLE
95 def_bool n
Paul Mundt357d5942007-06-11 15:32:07 +090096
Paul Mundt0a9b0db2007-01-24 21:56:20 +090097config SYS_SUPPORTS_APM_EMULATION
98 bool
Magnus Dammaf998a92008-12-04 22:45:12 +090099 select ARCH_SUSPEND_POSSIBLE
Paul Mundt357d5942007-06-11 15:32:07 +0900100
101config SYS_SUPPORTS_SMP
102 bool
103
104config SYS_SUPPORTS_NUMA
105 bool
106
107config SYS_SUPPORTS_PCI
108 bool
Paul Mundt0a9b0db2007-01-24 21:56:20 +0900109
Paul Mundtf5ad8812009-01-29 18:08:58 +0900110config SYS_SUPPORTS_CMT
111 bool
112
Paul Mundtafbfb522006-12-04 18:17:28 +0900113config STACKTRACE_SUPPORT
Harvey Harrisond7ef4fb2007-12-11 13:49:35 +0900114 def_bool y
Paul Mundtafbfb522006-12-04 18:17:28 +0900115
116config LOCKDEP_SUPPORT
Harvey Harrisond7ef4fb2007-12-11 13:49:35 +0900117 def_bool y
Paul Mundtafbfb522006-12-04 18:17:28 +0900118
Paul Mundt5a89f1a2008-09-13 01:44:03 +0900119config HAVE_LATENCYTOP_SUPPORT
120 def_bool y
121 depends on !SMP
122
David Howellsf0d1b0b2006-12-08 02:37:49 -0800123config ARCH_HAS_ILOG2_U32
Harvey Harrisond7ef4fb2007-12-11 13:49:35 +0900124 def_bool n
David Howellsf0d1b0b2006-12-08 02:37:49 -0800125
126config ARCH_HAS_ILOG2_U64
Harvey Harrisond7ef4fb2007-12-11 13:49:35 +0900127 def_bool n
David Howellsf0d1b0b2006-12-08 02:37:49 -0800128
Paul Mundte257ad02007-07-25 11:18:00 +0900129config ARCH_NO_VIRT_TO_BUS
130 def_bool y
131
Magnus Damme7cc9a72008-02-07 20:18:21 +0900132config IO_TRAPPED
133 bool
134
Linus Torvalds1da177e2005-04-16 15:20:36 -0700135source "init/Kconfig"
136
Matt Helsleydc52ddc2008-10-18 20:27:21 -0700137source "kernel/Kconfig.freezer"
138
Linus Torvalds1da177e2005-04-16 15:20:36 -0700139menu "System type"
140
Paul Mundtb5f42db2007-11-08 18:38:14 +0900141#
142# Processor families
143#
144config CPU_SH2
145 bool
146
147config CPU_SH2A
148 bool
149 select CPU_SH2
150
151config CPU_SH3
152 bool
153 select CPU_HAS_INTEVT
154 select CPU_HAS_SR_RB
155
156config CPU_SH4
157 bool
158 select CPU_HAS_INTEVT
159 select CPU_HAS_SR_RB
160 select CPU_HAS_PTEA if !CPU_SH4A || CPU_SHX2
161 select CPU_HAS_FPU if !CPU_SH4AL_DSP
162
163config CPU_SH4A
164 bool
165 select CPU_SH4
166
167config CPU_SH4AL_DSP
168 bool
169 select CPU_SH4A
170 select CPU_HAS_DSP
171
Paul Mundtea0e1a92007-11-21 15:58:01 +0900172config CPU_SH5
173 bool
174 select CPU_HAS_FPU
175
Paul Mundtb5f42db2007-11-08 18:38:14 +0900176config CPU_SHX2
177 bool
178
179config CPU_SHX3
180 bool
181
Paul Mundtdc65a972009-03-10 16:26:29 +0900182config ARCH_SHMOBILE
183 bool
184
Paul Mundtb5f42db2007-11-08 18:38:14 +0900185choice
186 prompt "Processor sub-type selection"
187
188#
189# Processor subtypes
190#
191
192# SH-2 Processor Support
193
194config CPU_SUBTYPE_SH7619
195 bool "Support SH7619 processor"
196 select CPU_SH2
Paul Mundtf5ad8812009-01-29 18:08:58 +0900197 select SYS_SUPPORTS_CMT
Paul Mundtb5f42db2007-11-08 18:38:14 +0900198
199# SH-2A Processor Support
200
Peter Griffin28259992008-11-28 22:48:20 +0900201config CPU_SUBTYPE_SH7201
202 bool "Support SH7201 processor"
203 select CPU_SH2A
204 select CPU_HAS_FPU
205
Paul Mundt6d01f512007-11-26 18:17:21 +0900206config CPU_SUBTYPE_SH7203
207 bool "Support SH7203 processor"
208 select CPU_SH2A
Paul Mundt74d99a52007-11-26 20:38:36 +0900209 select CPU_HAS_FPU
Paul Mundtf5ad8812009-01-29 18:08:58 +0900210 select SYS_SUPPORTS_CMT
Paul Mundt6d01f512007-11-26 18:17:21 +0900211
Paul Mundtb5f42db2007-11-08 18:38:14 +0900212config CPU_SUBTYPE_SH7206
213 bool "Support SH7206 processor"
214 select CPU_SH2A
Paul Mundtf5ad8812009-01-29 18:08:58 +0900215 select SYS_SUPPORTS_CMT
Paul Mundtb5f42db2007-11-08 18:38:14 +0900216
Paul Mundta8f67f42007-11-26 19:54:02 +0900217config CPU_SUBTYPE_SH7263
218 bool "Support SH7263 processor"
219 select CPU_SH2A
Paul Mundt74d99a52007-11-26 20:38:36 +0900220 select CPU_HAS_FPU
Paul Mundtf5ad8812009-01-29 18:08:58 +0900221 select SYS_SUPPORTS_CMT
Paul Mundta8f67f42007-11-26 19:54:02 +0900222
Paul Mundt2ad69902008-03-13 12:52:44 +0900223config CPU_SUBTYPE_MXG
224 bool "Support MX-G processor"
225 select CPU_SH2A
226 help
227 Select MX-G if running on an R8A03022BG part.
228
Paul Mundtb5f42db2007-11-08 18:38:14 +0900229# SH-3 Processor Support
230
231config CPU_SUBTYPE_SH7705
232 bool "Support SH7705 processor"
233 select CPU_SH3
234
235config CPU_SUBTYPE_SH7706
236 bool "Support SH7706 processor"
237 select CPU_SH3
238 help
239 Select SH7706 if you have a 133 Mhz SH-3 HD6417706 CPU.
240
241config CPU_SUBTYPE_SH7707
242 bool "Support SH7707 processor"
243 select CPU_SH3
244 help
245 Select SH7707 if you have a 60 Mhz SH-3 HD6417707 CPU.
246
247config CPU_SUBTYPE_SH7708
248 bool "Support SH7708 processor"
249 select CPU_SH3
250 help
251 Select SH7708 if you have a 60 Mhz SH-3 HD6417708S or
252 if you have a 100 Mhz SH-3 HD6417708R CPU.
253
254config CPU_SUBTYPE_SH7709
255 bool "Support SH7709 processor"
256 select CPU_SH3
257 help
258 Select SH7709 if you have a 80 Mhz SH-3 HD6417709 CPU.
259
260config CPU_SUBTYPE_SH7710
261 bool "Support SH7710 processor"
262 select CPU_SH3
263 select CPU_HAS_DSP
264 help
265 Select SH7710 if you have a SH3-DSP SH7710 CPU.
266
267config CPU_SUBTYPE_SH7712
268 bool "Support SH7712 processor"
269 select CPU_SH3
270 select CPU_HAS_DSP
271 help
272 Select SH7712 if you have a SH3-DSP SH7712 CPU.
273
274config CPU_SUBTYPE_SH7720
275 bool "Support SH7720 processor"
276 select CPU_SH3
277 select CPU_HAS_DSP
278 help
279 Select SH7720 if you have a SH3-DSP SH7720 CPU.
280
Yoshihiro Shimoda31a49c42007-12-26 11:45:06 +0900281config CPU_SUBTYPE_SH7721
282 bool "Support SH7721 processor"
283 select CPU_SH3
284 select CPU_HAS_DSP
285 help
286 Select SH7721 if you have a SH3-DSP SH7721 CPU.
287
Paul Mundtb5f42db2007-11-08 18:38:14 +0900288# SH-4 Processor Support
289
290config CPU_SUBTYPE_SH7750
291 bool "Support SH7750 processor"
292 select CPU_SH4
293 help
294 Select SH7750 if you have a 200 Mhz SH-4 HD6417750 CPU.
295
296config CPU_SUBTYPE_SH7091
297 bool "Support SH7091 processor"
298 select CPU_SH4
299 help
300 Select SH7091 if you have an SH-4 based Sega device (such as
301 the Dreamcast, Naomi, and Naomi 2).
302
303config CPU_SUBTYPE_SH7750R
304 bool "Support SH7750R processor"
305 select CPU_SH4
306
307config CPU_SUBTYPE_SH7750S
308 bool "Support SH7750S processor"
309 select CPU_SH4
310
311config CPU_SUBTYPE_SH7751
312 bool "Support SH7751 processor"
313 select CPU_SH4
314 help
315 Select SH7751 if you have a 166 Mhz SH-4 HD6417751 CPU,
316 or if you have a HD6417751R CPU.
317
318config CPU_SUBTYPE_SH7751R
319 bool "Support SH7751R processor"
320 select CPU_SH4
321
322config CPU_SUBTYPE_SH7760
323 bool "Support SH7760 processor"
324 select CPU_SH4
325
326config CPU_SUBTYPE_SH4_202
327 bool "Support SH4-202 processor"
328 select CPU_SH4
329
330# SH-4A Processor Support
331
Paul Mundt178dd0c2008-04-09 17:56:18 +0900332config CPU_SUBTYPE_SH7723
333 bool "Support SH7723 processor"
334 select CPU_SH4A
335 select CPU_SHX2
Paul Mundtdc65a972009-03-10 16:26:29 +0900336 select ARCH_SHMOBILE
Paul Mundt178dd0c2008-04-09 17:56:18 +0900337 select ARCH_SPARSEMEM_ENABLE
Paul Mundtf5ad8812009-01-29 18:08:58 +0900338 select SYS_SUPPORTS_CMT
Paul Mundt178dd0c2008-04-09 17:56:18 +0900339 help
340 Select SH7723 if you have an SH-MobileR2 CPU.
341
Yoshihiro Shimoda7d740a02008-01-07 14:40:07 +0900342config CPU_SUBTYPE_SH7763
343 bool "Support SH7763 processor"
344 select CPU_SH4A
345 help
346 Select SH7763 if you have a SH4A SH7763(R5S77631) CPU.
347
Paul Mundtb5f42db2007-11-08 18:38:14 +0900348config CPU_SUBTYPE_SH7770
349 bool "Support SH7770 processor"
350 select CPU_SH4A
351
352config CPU_SUBTYPE_SH7780
353 bool "Support SH7780 processor"
354 select CPU_SH4A
355
356config CPU_SUBTYPE_SH7785
357 bool "Support SH7785 processor"
358 select CPU_SH4A
359 select CPU_SHX2
360 select ARCH_SPARSEMEM_ENABLE
361 select SYS_SUPPORTS_NUMA
362
Kuninori Morimoto55ba99e2009-03-03 15:40:25 +0900363config CPU_SUBTYPE_SH7786
364 bool "Support SH7786 processor"
365 select CPU_SH4A
Paul Mundt37042fb2009-03-03 15:57:02 +0900366 select CPU_SHX3
Kuninori Morimoto55ba99e2009-03-03 15:40:25 +0900367 select ARCH_SPARSEMEM_ENABLE
368 select SYS_SUPPORTS_NUMA
369
Paul Mundtb5f42db2007-11-08 18:38:14 +0900370config CPU_SUBTYPE_SHX3
371 bool "Support SH-X3 processor"
372 select CPU_SH4A
373 select CPU_SHX3
374 select ARCH_SPARSEMEM_ENABLE
375 select SYS_SUPPORTS_NUMA
376 select SYS_SUPPORTS_SMP
Paul Mundt58402632008-09-05 15:36:39 +0900377 select GENERIC_CLOCKEVENTS_BROADCAST if SMP
Paul Mundtb5f42db2007-11-08 18:38:14 +0900378
379# SH4AL-DSP Processor Support
380
381config CPU_SUBTYPE_SH7343
382 bool "Support SH7343 processor"
383 select CPU_SH4AL_DSP
Paul Mundtdc65a972009-03-10 16:26:29 +0900384 select ARCH_SHMOBILE
Paul Mundtf5ad8812009-01-29 18:08:58 +0900385 select SYS_SUPPORTS_CMT
Paul Mundtb5f42db2007-11-08 18:38:14 +0900386
387config CPU_SUBTYPE_SH7722
388 bool "Support SH7722 processor"
389 select CPU_SH4AL_DSP
390 select CPU_SHX2
Paul Mundtdc65a972009-03-10 16:26:29 +0900391 select ARCH_SHMOBILE
Paul Mundtb5f42db2007-11-08 18:38:14 +0900392 select ARCH_SPARSEMEM_ENABLE
393 select SYS_SUPPORTS_NUMA
Paul Mundtf5ad8812009-01-29 18:08:58 +0900394 select SYS_SUPPORTS_CMT
Paul Mundtb5f42db2007-11-08 18:38:14 +0900395
Magnus Damm9109a302008-02-08 17:31:24 +0900396config CPU_SUBTYPE_SH7366
397 bool "Support SH7366 processor"
398 select CPU_SH4AL_DSP
399 select CPU_SHX2
Paul Mundtdc65a972009-03-10 16:26:29 +0900400 select ARCH_SHMOBILE
Magnus Damm9109a302008-02-08 17:31:24 +0900401 select ARCH_SPARSEMEM_ENABLE
402 select SYS_SUPPORTS_NUMA
Paul Mundtf5ad8812009-01-29 18:08:58 +0900403 select SYS_SUPPORTS_CMT
Magnus Damm9109a302008-02-08 17:31:24 +0900404
Paul Mundtea0e1a92007-11-21 15:58:01 +0900405# SH-5 Processor Support
406
407config CPU_SUBTYPE_SH5_101
408 bool "Support SH5-101 processor"
409 select CPU_SH5
410
411config CPU_SUBTYPE_SH5_103
412 bool "Support SH5-103 processor"
Paul Mundt8ef97dd2008-02-14 15:30:54 +0900413 select CPU_SH5
Paul Mundtea0e1a92007-11-21 15:58:01 +0900414
Paul Mundtb5f42db2007-11-08 18:38:14 +0900415endchoice
416
Paul Mundtcad82442006-01-16 22:14:19 -0800417source "arch/sh/mm/Kconfig"
Paul Mundt939a24a2008-07-29 21:41:37 +0900418
Paul Mundt4690bdc2007-11-09 13:45:42 +0900419source "arch/sh/Kconfig.cpu"
Paul Mundtcad82442006-01-16 22:14:19 -0800420
Paul Mundt939a24a2008-07-29 21:41:37 +0900421source "arch/sh/boards/Kconfig"
Paul Mundtf3d22292007-05-14 17:29:12 +0900422
Paul Mundt32351a22007-03-12 14:38:59 +0900423menu "Timer and clock configuration"
424
Paul Mundtcad82442006-01-16 22:14:19 -0800425config SH_TMU
Paul Mundtf5ad8812009-01-29 18:08:58 +0900426 bool "TMU timer support"
Yoshinori Sato9d4436a2006-11-05 15:40:13 +0900427 depends on CPU_SH3 || CPU_SH4
Paul Mundtf5ad8812009-01-29 18:08:58 +0900428 default y
Paul Mundt57be2b42007-05-09 17:33:24 +0900429 select GENERIC_TIME
430 select GENERIC_CLOCKEVENTS
Paul Mundtcad82442006-01-16 22:14:19 -0800431 help
432 This enables the use of the TMU as the system timer.
433
Yoshinori Sato9d4436a2006-11-05 15:40:13 +0900434config SH_CMT
Paul Mundtf5ad8812009-01-29 18:08:58 +0900435 bool "CMT timer support"
Paul Mundt508eb2c2009-02-04 15:28:06 +0900436 depends on SYS_SUPPORTS_CMT && CPU_SH2
Paul Mundtf5ad8812009-01-29 18:08:58 +0900437 default y
Yoshinori Sato9d4436a2006-11-05 15:40:13 +0900438 help
439 This enables the use of the CMT as the system timer.
440
Paul Mundtf5ad8812009-01-29 18:08:58 +0900441#
442# Support for the new-style CMT driver. This will replace SH_CMT
443# once its other dependencies are merged.
444#
445config SH_TIMER_CMT
446 bool "CMT clockevents driver"
447 depends on SYS_SUPPORTS_CMT && !SH_CMT
Paul Mundtf5ad8812009-01-29 18:08:58 +0900448 select GENERIC_CLOCKEVENTS
449
Yoshinori Sato9d4436a2006-11-05 15:40:13 +0900450config SH_MTU2
Paul Mundtf5ad8812009-01-29 18:08:58 +0900451 bool "MTU2 timer support"
Yoshinori Sato9d4436a2006-11-05 15:40:13 +0900452 depends on CPU_SH2A
Paul Mundtf5ad8812009-01-29 18:08:58 +0900453 default y
Yoshinori Sato9d4436a2006-11-05 15:40:13 +0900454 help
455 This enables the use of the MTU2 as the system timer.
456
Paul Mundt417528a2006-11-20 11:18:30 +0900457config SH_TIMER_IRQ
458 int
Yoshihiro Shimoda7d740a02008-01-07 14:40:07 +0900459 default "28" if CPU_SUBTYPE_SH7780 || CPU_SUBTYPE_SH7785 || \
460 CPU_SUBTYPE_SH7763
Paul Mundt417528a2006-11-20 11:18:30 +0900461 default "86" if CPU_SUBTYPE_SH7619
462 default "140" if CPU_SUBTYPE_SH7206
Paul Mundtd63f3a52009-01-29 18:10:13 +0900463 default "142" if CPU_SUBTYPE_SH7203 && SH_CMT
464 default "153" if CPU_SUBTYPE_SH7203 && SH_MTU2
Paul Mundt2ad69902008-03-13 12:52:44 +0900465 default "238" if CPU_SUBTYPE_MXG
Paul Mundt417528a2006-11-20 11:18:30 +0900466 default "16"
467
Paul Mundtcad82442006-01-16 22:14:19 -0800468config SH_PCLK_FREQ
469 int "Peripheral clock frequency (in Hz)"
Magnus Damm870e8a22007-07-25 10:49:21 +0900470 default "27000000" if CPU_SUBTYPE_SH7343
Yoshinori Sato9d4436a2006-11-05 15:40:13 +0900471 default "31250000" if CPU_SUBTYPE_SH7619
Paul Mundt05627482007-05-15 16:25:47 +0900472 default "32000000" if CPU_SUBTYPE_SH7722
Paul Mundt178dd0c2008-04-09 17:56:18 +0900473 default "33333333" if CPU_SUBTYPE_SH7770 || CPU_SUBTYPE_SH7723 || \
Yoshinori Sato9d4436a2006-11-05 15:40:13 +0900474 CPU_SUBTYPE_SH7760 || CPU_SUBTYPE_SH7705 || \
Paul Mundta8f67f42007-11-26 19:54:02 +0900475 CPU_SUBTYPE_SH7203 || CPU_SUBTYPE_SH7206 || \
Paul Mundta4b1fdd2009-03-05 17:52:34 +0900476 CPU_SUBTYPE_SH7263 || CPU_SUBTYPE_MXG || \
477 CPU_SUBTYPE_SH7786
Paul Mundt05627482007-05-15 16:25:47 +0900478 default "60000000" if CPU_SUBTYPE_SH7751 || CPU_SUBTYPE_SH7751R
Paul Mundtcad82442006-01-16 22:14:19 -0800479 default "66000000" if CPU_SUBTYPE_SH4_202
Paul Mundt05627482007-05-15 16:25:47 +0900480 default "50000000"
Paul Mundtcad82442006-01-16 22:14:19 -0800481 help
482 This option is used to specify the peripheral clock frequency.
483 This is necessary for determining the reference clock value on
484 platforms lacking an RTC.
485
Yoshinori Sato9d4436a2006-11-05 15:40:13 +0900486config SH_CLK_MD
487 int "CPU Mode Pin Setting"
Paul Mundt6d01f512007-11-26 18:17:21 +0900488 depends on CPU_SH2
Paul Mundt357d5942007-06-11 15:32:07 +0900489 default 6 if CPU_SUBTYPE_SH7206
490 default 5 if CPU_SUBTYPE_SH7619
491 default 0
Yoshinori Sato9d4436a2006-11-05 15:40:13 +0900492 help
Yoshinori Sato11cbb702006-12-07 18:07:27 +0900493 MD2 - MD0 pin setting.
Yoshinori Sato9d4436a2006-11-05 15:40:13 +0900494
Paul Mundt57be2b42007-05-09 17:33:24 +0900495source "kernel/time/Kconfig"
496
Paul Mundt32351a22007-03-12 14:38:59 +0900497endmenu
498
Paul Mundtcad82442006-01-16 22:14:19 -0800499menu "CPU Frequency scaling"
500
501source "drivers/cpufreq/Kconfig"
502
503config SH_CPU_FREQ
504 tristate "SuperH CPU Frequency driver"
Paul Mundtcb5ec752007-07-20 13:38:19 +0900505 depends on CPU_FREQ
Paul Mundtcad82442006-01-16 22:14:19 -0800506 select CPU_FREQ_TABLE
507 help
Paul Mundt8a655052008-12-17 15:06:54 +0900508 This adds the cpufreq driver for SuperH. Any CPU that supports
509 clock rate rounding through the clock framework can use this
510 driver. While it will make the kernel slightly larger, this is
511 harmless for CPUs that don't support rate rounding. The driver
512 will also generate a notice in the boot log before disabling
513 itself if the CPU in question is not capable of rate rounding.
Paul Mundtcad82442006-01-16 22:14:19 -0800514
515 For details, take a look at <file:Documentation/cpu-freq>.
516
517 If unsure, say N.
518
519endmenu
520
Paul Mundt9f5e8ee2006-11-24 11:22:57 +0900521source "arch/sh/drivers/Kconfig"
522
Paul Mundtcad82442006-01-16 22:14:19 -0800523endmenu
524
Paul Mundtcad82442006-01-16 22:14:19 -0800525menu "Kernel features"
526
Paul Mundt91b91d02006-09-27 18:08:33 +0900527source kernel/Kconfig.hz
528
Paul Mundtcad82442006-01-16 22:14:19 -0800529config KEXEC
530 bool "kexec system call (EXPERIMENTAL)"
Paul Mundt640f7482008-04-25 13:04:56 +0900531 depends on SUPERH32 && EXPERIMENTAL
Paul Mundtcad82442006-01-16 22:14:19 -0800532 help
533 kexec is a system call that implements the ability to shutdown your
534 current kernel, and to start another kernel. It is like a reboot
Matt LaPlante1f1332f2006-06-29 01:32:47 -0400535 but it is independent of the system firmware. And like a reboot
Paul Mundtcad82442006-01-16 22:14:19 -0800536 you can start any kernel with it, not just Linux.
537
Matt LaPlante1f1332f2006-06-29 01:32:47 -0400538 The name comes from the similarity to the exec system call.
Paul Mundtcad82442006-01-16 22:14:19 -0800539
540 It is an ongoing process to be certain the hardware in a machine
541 is properly shutdown, so do not be surprised if this code does not
542 initially work for you. It may help to enable device hotplugging
543 support. As of this writing the exact hardware interface is
544 strongly in flux, so no good recommendation can be made.
545
Paul Mundt4d5ade52007-04-27 11:25:57 +0900546config CRASH_DUMP
547 bool "kernel crash dumps (EXPERIMENTAL)"
Paul Mundt640f7482008-04-25 13:04:56 +0900548 depends on SUPERH32 && EXPERIMENTAL
Paul Mundt4d5ade52007-04-27 11:25:57 +0900549 help
550 Generate crash dump after being started by kexec.
551 This should be normally only set in special crash dump kernels
552 which are loaded in the main kernel with kexec-tools into
553 a specially reserved region and then later executed after
554 a crash by kdump/kexec. The crash dump kernel must be compiled
555 to a memory address not used by the main kernel using
556 MEMORY_START.
557
558 For more details see Documentation/kdump/kdump.txt
559
Paul Mundtc4637d42008-07-30 15:30:52 +0900560config SECCOMP
561 bool "Enable seccomp to safely compute untrusted bytecode"
562 depends on PROC_FS
Paul Mundtc4637d42008-07-30 15:30:52 +0900563 help
564 This kernel feature is useful for number crunching applications
565 that may need to compute untrusted bytecode during their
566 execution. By using pipes or other transports made available to
567 the process as file descriptors supporting the read/write
568 syscalls, it's possible to isolate those applications in
569 their own address space using seccomp. Once seccomp is
570 enabled via prctl, it cannot be disabled and the task is only
571 allowed to execute a few safe syscalls defined by each seccomp
572 mode.
573
574 If unsure, say N.
575
Linus Torvalds1da177e2005-04-16 15:20:36 -0700576config SMP
577 bool "Symmetric multi-processing support"
Paul Mundt357d5942007-06-11 15:32:07 +0900578 depends on SYS_SUPPORTS_SMP
Jens Axboe490f5de2008-06-10 20:52:59 +0200579 select USE_GENERIC_SMP_HELPERS
Linus Torvalds1da177e2005-04-16 15:20:36 -0700580 ---help---
581 This enables support for systems with more than one CPU. If you have
582 a system with only one CPU, like most personal computers, say N. If
583 you have a system with more than one CPU, say Y.
584
585 If you say N here, the kernel will run on single and multiprocessor
586 machines, but will use only one CPU of a multiprocessor machine. If
587 you say Y here, the kernel will run on many, but not all,
588 singleprocessor machines. On a singleprocessor machine, the kernel
589 will run faster if you say N here.
590
591 People using multiprocessor machines who say Y here should also say
592 Y to "Enhanced Real Time Clock Support", below.
593
Adrian Bunk03502fa2008-02-03 15:50:21 +0200594 See also <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO
595 available at <http://www.tldp.org/docs.html#howto>.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700596
597 If you don't know what to do here, say N.
598
599config NR_CPUS
600 int "Maximum number of CPUs (2-32)"
601 range 2 32
602 depends on SMP
Paul Mundt2b1bd1a2007-06-20 18:27:10 +0900603 default "4" if CPU_SHX3
Linus Torvalds1da177e2005-04-16 15:20:36 -0700604 default "2"
605 help
606 This allows you to specify the maximum number of CPUs which this
607 kernel will support. The maximum supported value is 32 and the
608 minimum value which makes sense is 2.
609
610 This is purely to save memory - each supported CPU adds
611 approximately eight kilobytes to the kernel image.
612
Paul Mundt91b91d02006-09-27 18:08:33 +0900613source "kernel/Kconfig.preempt"
614
Paul Mundt83662462007-09-28 16:04:49 +0900615config GUSA
616 def_bool y
Stuart Menefy1efe4ce2007-11-30 16:12:36 +0900617 depends on !SMP && SUPERH32
Paul Mundt83662462007-09-28 16:04:49 +0900618 help
619 This enables support for gUSA (general UserSpace Atomicity).
620 This is the default implementation for both UP and non-ll/sc
621 CPUs, and is used by the libc, amongst others.
622
623 For additional information, design information can be found
624 in <http://lc.linux.or.jp/lc2002/papers/niibe0919p.pdf>.
625
626 This should only be disabled for special cases where alternate
627 atomicity implementations exist.
628
Stuart Menefy1efe4ce2007-11-30 16:12:36 +0900629config GUSA_RB
630 bool "Implement atomic operations by roll-back (gRB) (EXPERIMENTAL)"
631 depends on GUSA && CPU_SH3 || (CPU_SH4 && !CPU_SH4A)
632 help
633 Enabling this option will allow the kernel to implement some
634 atomic operations using a software implemention of load-locked/
635 store-conditional (LLSC). On machines which do not have hardware
636 LLSC, this should be more efficient than the other alternative of
637 disabling insterrupts around the atomic sequence.
638
Paul Mundtcad82442006-01-16 22:14:19 -0800639endmenu
640
641menu "Boot options"
642
643config ZERO_PAGE_OFFSET
644 hex "Zero page offset"
Adrian Bunkf5f826c2008-03-31 01:40:17 +0300645 default "0x00004000" if SH_SH03
Paul Mundt7a847f82006-12-26 15:29:19 +0900646 default "0x00010000" if PAGE_SIZE_64KB
647 default "0x00002000" if PAGE_SIZE_8KB
Paul Mundtcad82442006-01-16 22:14:19 -0800648 default "0x00001000"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700649 help
Paul Mundtcad82442006-01-16 22:14:19 -0800650 This sets the default offset of zero page.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700651
Paul Mundtcad82442006-01-16 22:14:19 -0800652config BOOT_LINK_OFFSET
653 hex "Link address offset for booting"
654 default "0x00800000"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700655 help
Paul Mundtcad82442006-01-16 22:14:19 -0800656 This option allows you to set the link address offset of the zImage.
657 This can be useful if you are on a board which has a small amount of
658 memory.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700659
Paul Mundtcad82442006-01-16 22:14:19 -0800660config UBC_WAKEUP
661 bool "Wakeup UBC on startup"
Paul Mundt0e3a9aa2007-11-06 15:55:36 +0900662 depends on CPU_SH4 && !CPU_SH4A
Paul Mundtcad82442006-01-16 22:14:19 -0800663 help
664 Selecting this option will wakeup the User Break Controller (UBC) on
665 startup. Although the UBC is left in an awake state when the processor
666 comes up, some boot loaders misbehave by putting the UBC to sleep in a
667 power saving state, which causes issues with things like ptrace().
Linus Torvalds1da177e2005-04-16 15:20:36 -0700668
669 If unsure, say N.
670
Paul Mundtcad82442006-01-16 22:14:19 -0800671config CMDLINE_BOOL
672 bool "Default bootloader kernel arguments"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700673
Paul Mundtcad82442006-01-16 22:14:19 -0800674config CMDLINE
675 string "Initial kernel command string"
676 depends on CMDLINE_BOOL
677 default "console=ttySC1,115200"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700678
679endmenu
680
Paul Mundtcad82442006-01-16 22:14:19 -0800681menu "Bus options"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700682
Paul Mundtcad82442006-01-16 22:14:19 -0800683config SUPERHYWAY
684 tristate "SuperHyway Bus support"
685 depends on CPU_SUBTYPE_SH4_202
Linus Torvalds1da177e2005-04-16 15:20:36 -0700686
Adrian McMenamin17be2d22007-09-21 15:55:55 +0900687config MAPLE
Paul Mundte16038a2009-01-09 15:12:30 +0900688 bool "Maple Bus support"
689 depends on SH_DREAMCAST
690 help
691 The Maple Bus is SEGA's serial communication bus for peripherals
692 on the Dreamcast. Without this bus support you won't be able to
693 get your Dreamcast keyboard etc to work, so most users
694 probably want to say 'Y' here, unless you are only using the
695 Dreamcast with a serial line terminal or a remote network
696 connection.
Adrian McMenamin17be2d22007-09-21 15:55:55 +0900697
Linus Torvalds1da177e2005-04-16 15:20:36 -0700698source "arch/sh/drivers/pci/Kconfig"
699
Paul Mundte16038a2009-01-09 15:12:30 +0900700source "drivers/pci/pcie/Kconfig"
701
Linus Torvalds1da177e2005-04-16 15:20:36 -0700702source "drivers/pci/Kconfig"
703
704source "drivers/pcmcia/Kconfig"
705
706source "drivers/pci/hotplug/Kconfig"
707
708endmenu
709
710menu "Executable file formats"
711
712source "fs/Kconfig.binfmt"
713
714endmenu
715
Andriy Skulysh3aa770e2006-09-27 16:20:22 +0900716menu "Power management options (EXPERIMENTAL)"
Magnus Dammaf998a92008-12-04 22:45:12 +0900717depends on EXPERIMENTAL
Johannes Bergf4cb5702007-12-08 02:14:00 +0100718
Magnus Dammc6f17cb2008-12-04 22:45:20 +0900719source "kernel/power/Kconfig"
720
721source "drivers/cpuidle/Kconfig"
Andriy Skulysh3aa770e2006-09-27 16:20:22 +0900722
Andriy Skulysh3aa770e2006-09-27 16:20:22 +0900723endmenu
724
Sam Ravnborgd5950b42005-07-11 21:03:49 -0700725source "net/Kconfig"
726
Linus Torvalds1da177e2005-04-16 15:20:36 -0700727source "drivers/Kconfig"
728
729source "fs/Kconfig"
730
Linus Torvalds1da177e2005-04-16 15:20:36 -0700731source "arch/sh/Kconfig.debug"
732
733source "security/Kconfig"
734
735source "crypto/Kconfig"
736
737source "lib/Kconfig"