]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/blob - arch/sh/Kconfig
Merge branch 'for-2.6.30' of git://linux-nfs.org/~bfields/linux
[mirror_ubuntu-artful-kernel.git] / arch / sh / Kconfig
1 #
2 # For a description of the syntax of this configuration file,
3 # see Documentation/kbuild/kconfig-language.txt.
4 #
5
6 mainmenu "Linux/SuperH Kernel Configuration"
7
8 config SUPERH
9 def_bool y
10 select EMBEDDED
11 select HAVE_CLK
12 select HAVE_IDE
13 select HAVE_OPROFILE
14 select HAVE_GENERIC_DMA_COHERENT
15 select HAVE_IOREMAP_PROT if MMU
16 select HAVE_ARCH_TRACEHOOK
17 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
23 config SUPERH32
24 def_bool !SUPERH64
25 select HAVE_KPROBES
26 select HAVE_KRETPROBES
27 select HAVE_FUNCTION_TRACER
28 select HAVE_FTRACE_MCOUNT_RECORD
29 select HAVE_DYNAMIC_FTRACE
30 select HAVE_ARCH_KGDB
31 select ARCH_HIBERNATION_POSSIBLE if MMU
32
33 config SUPERH64
34 def_bool y if CPU_SH5
35
36 config ARCH_DEFCONFIG
37 string
38 default "arch/sh/configs/shx3_defconfig" if SUPERH32
39 default "arch/sh/configs/cayman_defconfig" if SUPERH64
40
41 config RWSEM_GENERIC_SPINLOCK
42 def_bool y
43
44 config RWSEM_XCHGADD_ALGORITHM
45 bool
46
47 config GENERIC_BUG
48 def_bool y
49 depends on BUG && SUPERH32
50
51 config GENERIC_FIND_NEXT_BIT
52 def_bool y
53
54 config GENERIC_HWEIGHT
55 def_bool y
56
57 config GENERIC_HARDIRQS
58 def_bool y
59
60 config GENERIC_HARDIRQS_NO__DO_IRQ
61 def_bool y
62
63 config GENERIC_IRQ_PROBE
64 def_bool y
65
66 config GENERIC_GPIO
67 def_bool n
68
69 config GENERIC_CALIBRATE_DELAY
70 bool
71
72 config GENERIC_IOMAP
73 bool
74
75 config GENERIC_TIME
76 def_bool n
77
78 config GENERIC_CLOCKEVENTS
79 def_bool n
80
81 config GENERIC_CLOCKEVENTS_BROADCAST
82 bool
83
84 config GENERIC_LOCKBREAK
85 def_bool y
86 depends on SMP && PREEMPT
87
88 config SYS_SUPPORTS_PM
89 bool
90 depends on !SMP
91
92 config ARCH_SUSPEND_POSSIBLE
93 def_bool n
94
95 config ARCH_HIBERNATION_POSSIBLE
96 def_bool n
97
98 config SYS_SUPPORTS_APM_EMULATION
99 bool
100 select ARCH_SUSPEND_POSSIBLE
101
102 config SYS_SUPPORTS_SMP
103 bool
104
105 config SYS_SUPPORTS_NUMA
106 bool
107
108 config SYS_SUPPORTS_PCI
109 bool
110
111 config SYS_SUPPORTS_CMT
112 bool
113
114 config STACKTRACE_SUPPORT
115 def_bool y
116
117 config LOCKDEP_SUPPORT
118 def_bool y
119
120 config HAVE_LATENCYTOP_SUPPORT
121 def_bool y
122 depends on !SMP
123
124 config ARCH_HAS_ILOG2_U32
125 def_bool n
126
127 config ARCH_HAS_ILOG2_U64
128 def_bool n
129
130 config ARCH_NO_VIRT_TO_BUS
131 def_bool y
132
133 config ARCH_HAS_DEFAULT_IDLE
134 def_bool y
135
136 config IO_TRAPPED
137 bool
138
139 source "init/Kconfig"
140
141 source "kernel/Kconfig.freezer"
142
143 menu "System type"
144
145 #
146 # Processor families
147 #
148 config CPU_SH2
149 bool
150
151 config CPU_SH2A
152 bool
153 select CPU_SH2
154
155 config CPU_SH3
156 bool
157 select CPU_HAS_INTEVT
158 select CPU_HAS_SR_RB
159
160 config CPU_SH4
161 bool
162 select CPU_HAS_INTEVT
163 select CPU_HAS_SR_RB
164 select CPU_HAS_PTEA if !CPU_SH4A || CPU_SHX2
165 select CPU_HAS_FPU if !CPU_SH4AL_DSP
166
167 config CPU_SH4A
168 bool
169 select CPU_SH4
170
171 config CPU_SH4AL_DSP
172 bool
173 select CPU_SH4A
174 select CPU_HAS_DSP
175
176 config CPU_SH5
177 bool
178 select CPU_HAS_FPU
179
180 config CPU_SHX2
181 bool
182
183 config CPU_SHX3
184 bool
185
186 config ARCH_SHMOBILE
187 bool
188 select ARCH_SUSPEND_POSSIBLE
189
190 choice
191 prompt "Processor sub-type selection"
192
193 #
194 # Processor subtypes
195 #
196
197 # SH-2 Processor Support
198
199 config CPU_SUBTYPE_SH7619
200 bool "Support SH7619 processor"
201 select CPU_SH2
202 select SYS_SUPPORTS_CMT
203
204 # SH-2A Processor Support
205
206 config CPU_SUBTYPE_SH7201
207 bool "Support SH7201 processor"
208 select CPU_SH2A
209 select CPU_HAS_FPU
210
211 config CPU_SUBTYPE_SH7203
212 bool "Support SH7203 processor"
213 select CPU_SH2A
214 select CPU_HAS_FPU
215 select SYS_SUPPORTS_CMT
216
217 config CPU_SUBTYPE_SH7206
218 bool "Support SH7206 processor"
219 select CPU_SH2A
220 select SYS_SUPPORTS_CMT
221
222 config CPU_SUBTYPE_SH7263
223 bool "Support SH7263 processor"
224 select CPU_SH2A
225 select CPU_HAS_FPU
226 select SYS_SUPPORTS_CMT
227
228 config CPU_SUBTYPE_MXG
229 bool "Support MX-G processor"
230 select CPU_SH2A
231 help
232 Select MX-G if running on an R8A03022BG part.
233
234 # SH-3 Processor Support
235
236 config CPU_SUBTYPE_SH7705
237 bool "Support SH7705 processor"
238 select CPU_SH3
239
240 config CPU_SUBTYPE_SH7706
241 bool "Support SH7706 processor"
242 select CPU_SH3
243 help
244 Select SH7706 if you have a 133 Mhz SH-3 HD6417706 CPU.
245
246 config CPU_SUBTYPE_SH7707
247 bool "Support SH7707 processor"
248 select CPU_SH3
249 help
250 Select SH7707 if you have a 60 Mhz SH-3 HD6417707 CPU.
251
252 config CPU_SUBTYPE_SH7708
253 bool "Support SH7708 processor"
254 select CPU_SH3
255 help
256 Select SH7708 if you have a 60 Mhz SH-3 HD6417708S or
257 if you have a 100 Mhz SH-3 HD6417708R CPU.
258
259 config CPU_SUBTYPE_SH7709
260 bool "Support SH7709 processor"
261 select CPU_SH3
262 help
263 Select SH7709 if you have a 80 Mhz SH-3 HD6417709 CPU.
264
265 config CPU_SUBTYPE_SH7710
266 bool "Support SH7710 processor"
267 select CPU_SH3
268 select CPU_HAS_DSP
269 help
270 Select SH7710 if you have a SH3-DSP SH7710 CPU.
271
272 config CPU_SUBTYPE_SH7712
273 bool "Support SH7712 processor"
274 select CPU_SH3
275 select CPU_HAS_DSP
276 help
277 Select SH7712 if you have a SH3-DSP SH7712 CPU.
278
279 config CPU_SUBTYPE_SH7720
280 bool "Support SH7720 processor"
281 select CPU_SH3
282 select CPU_HAS_DSP
283 help
284 Select SH7720 if you have a SH3-DSP SH7720 CPU.
285
286 config CPU_SUBTYPE_SH7721
287 bool "Support SH7721 processor"
288 select CPU_SH3
289 select CPU_HAS_DSP
290 help
291 Select SH7721 if you have a SH3-DSP SH7721 CPU.
292
293 # SH-4 Processor Support
294
295 config CPU_SUBTYPE_SH7750
296 bool "Support SH7750 processor"
297 select CPU_SH4
298 help
299 Select SH7750 if you have a 200 Mhz SH-4 HD6417750 CPU.
300
301 config CPU_SUBTYPE_SH7091
302 bool "Support SH7091 processor"
303 select CPU_SH4
304 help
305 Select SH7091 if you have an SH-4 based Sega device (such as
306 the Dreamcast, Naomi, and Naomi 2).
307
308 config CPU_SUBTYPE_SH7750R
309 bool "Support SH7750R processor"
310 select CPU_SH4
311
312 config CPU_SUBTYPE_SH7750S
313 bool "Support SH7750S processor"
314 select CPU_SH4
315
316 config CPU_SUBTYPE_SH7751
317 bool "Support SH7751 processor"
318 select CPU_SH4
319 help
320 Select SH7751 if you have a 166 Mhz SH-4 HD6417751 CPU,
321 or if you have a HD6417751R CPU.
322
323 config CPU_SUBTYPE_SH7751R
324 bool "Support SH7751R processor"
325 select CPU_SH4
326
327 config CPU_SUBTYPE_SH7760
328 bool "Support SH7760 processor"
329 select CPU_SH4
330
331 config CPU_SUBTYPE_SH4_202
332 bool "Support SH4-202 processor"
333 select CPU_SH4
334
335 # SH-4A Processor Support
336
337 config CPU_SUBTYPE_SH7723
338 bool "Support SH7723 processor"
339 select CPU_SH4A
340 select CPU_SHX2
341 select ARCH_SHMOBILE
342 select ARCH_SPARSEMEM_ENABLE
343 select SYS_SUPPORTS_CMT
344 help
345 Select SH7723 if you have an SH-MobileR2 CPU.
346
347 config CPU_SUBTYPE_SH7763
348 bool "Support SH7763 processor"
349 select CPU_SH4A
350 help
351 Select SH7763 if you have a SH4A SH7763(R5S77631) CPU.
352
353 config CPU_SUBTYPE_SH7770
354 bool "Support SH7770 processor"
355 select CPU_SH4A
356
357 config CPU_SUBTYPE_SH7780
358 bool "Support SH7780 processor"
359 select CPU_SH4A
360
361 config CPU_SUBTYPE_SH7785
362 bool "Support SH7785 processor"
363 select CPU_SH4A
364 select CPU_SHX2
365 select ARCH_SPARSEMEM_ENABLE
366 select SYS_SUPPORTS_NUMA
367
368 config CPU_SUBTYPE_SH7786
369 bool "Support SH7786 processor"
370 select CPU_SH4A
371 select CPU_SHX3
372 select CPU_HAS_PTEAEX
373 select ARCH_SPARSEMEM_ENABLE
374 select SYS_SUPPORTS_NUMA
375
376 config CPU_SUBTYPE_SHX3
377 bool "Support SH-X3 processor"
378 select CPU_SH4A
379 select CPU_SHX3
380 select ARCH_SPARSEMEM_ENABLE
381 select SYS_SUPPORTS_NUMA
382 select SYS_SUPPORTS_SMP
383 select GENERIC_CLOCKEVENTS_BROADCAST if SMP
384
385 # SH4AL-DSP Processor Support
386
387 config CPU_SUBTYPE_SH7343
388 bool "Support SH7343 processor"
389 select CPU_SH4AL_DSP
390 select ARCH_SHMOBILE
391 select SYS_SUPPORTS_CMT
392
393 config CPU_SUBTYPE_SH7722
394 bool "Support SH7722 processor"
395 select CPU_SH4AL_DSP
396 select CPU_SHX2
397 select ARCH_SHMOBILE
398 select ARCH_SPARSEMEM_ENABLE
399 select SYS_SUPPORTS_NUMA
400 select SYS_SUPPORTS_CMT
401
402 config CPU_SUBTYPE_SH7366
403 bool "Support SH7366 processor"
404 select CPU_SH4AL_DSP
405 select CPU_SHX2
406 select ARCH_SHMOBILE
407 select ARCH_SPARSEMEM_ENABLE
408 select SYS_SUPPORTS_NUMA
409 select SYS_SUPPORTS_CMT
410
411 # SH-5 Processor Support
412
413 config CPU_SUBTYPE_SH5_101
414 bool "Support SH5-101 processor"
415 select CPU_SH5
416
417 config CPU_SUBTYPE_SH5_103
418 bool "Support SH5-103 processor"
419 select CPU_SH5
420
421 endchoice
422
423 source "arch/sh/mm/Kconfig"
424
425 source "arch/sh/Kconfig.cpu"
426
427 source "arch/sh/boards/Kconfig"
428
429 menu "Timer and clock configuration"
430
431 config SH_TMU
432 bool "TMU timer support"
433 depends on CPU_SH3 || CPU_SH4
434 default y
435 select GENERIC_TIME
436 select GENERIC_CLOCKEVENTS
437 help
438 This enables the use of the TMU as the system timer.
439
440 config SH_CMT
441 bool "CMT timer support"
442 depends on SYS_SUPPORTS_CMT && CPU_SH2
443 default y
444 help
445 This enables the use of the CMT as the system timer.
446
447 #
448 # Support for the new-style CMT driver. This will replace SH_CMT
449 # once its other dependencies are merged.
450 #
451 config SH_TIMER_CMT
452 bool "CMT clockevents driver"
453 depends on SYS_SUPPORTS_CMT && !SH_CMT
454 select GENERIC_CLOCKEVENTS
455
456 config SH_MTU2
457 bool "MTU2 timer support"
458 depends on CPU_SH2A
459 default y
460 help
461 This enables the use of the MTU2 as the system timer.
462
463 config SH_TIMER_IRQ
464 int
465 default "28" if CPU_SUBTYPE_SH7780 || CPU_SUBTYPE_SH7785 || \
466 CPU_SUBTYPE_SH7763
467 default "86" if CPU_SUBTYPE_SH7619
468 default "140" if CPU_SUBTYPE_SH7206
469 default "142" if CPU_SUBTYPE_SH7203 && SH_CMT
470 default "153" if CPU_SUBTYPE_SH7203 && SH_MTU2
471 default "238" if CPU_SUBTYPE_MXG
472 default "16"
473
474 config SH_PCLK_FREQ
475 int "Peripheral clock frequency (in Hz)"
476 default "27000000" if CPU_SUBTYPE_SH7343
477 default "31250000" if CPU_SUBTYPE_SH7619
478 default "32000000" if CPU_SUBTYPE_SH7722
479 default "33333333" if CPU_SUBTYPE_SH7770 || CPU_SUBTYPE_SH7723 || \
480 CPU_SUBTYPE_SH7760 || CPU_SUBTYPE_SH7705 || \
481 CPU_SUBTYPE_SH7203 || CPU_SUBTYPE_SH7206 || \
482 CPU_SUBTYPE_SH7263 || CPU_SUBTYPE_MXG || \
483 CPU_SUBTYPE_SH7786
484 default "60000000" if CPU_SUBTYPE_SH7751 || CPU_SUBTYPE_SH7751R
485 default "66000000" if CPU_SUBTYPE_SH4_202
486 default "50000000"
487 help
488 This option is used to specify the peripheral clock frequency.
489 This is necessary for determining the reference clock value on
490 platforms lacking an RTC.
491
492 config SH_CLK_MD
493 int "CPU Mode Pin Setting"
494 depends on CPU_SH2
495 default 6 if CPU_SUBTYPE_SH7206
496 default 5 if CPU_SUBTYPE_SH7619
497 default 0
498 help
499 MD2 - MD0 pin setting.
500
501 source "kernel/time/Kconfig"
502
503 endmenu
504
505 menu "CPU Frequency scaling"
506
507 source "drivers/cpufreq/Kconfig"
508
509 config SH_CPU_FREQ
510 tristate "SuperH CPU Frequency driver"
511 depends on CPU_FREQ
512 select CPU_FREQ_TABLE
513 help
514 This adds the cpufreq driver for SuperH. Any CPU that supports
515 clock rate rounding through the clock framework can use this
516 driver. While it will make the kernel slightly larger, this is
517 harmless for CPUs that don't support rate rounding. The driver
518 will also generate a notice in the boot log before disabling
519 itself if the CPU in question is not capable of rate rounding.
520
521 For details, take a look at <file:Documentation/cpu-freq>.
522
523 If unsure, say N.
524
525 endmenu
526
527 source "arch/sh/drivers/Kconfig"
528
529 endmenu
530
531 menu "Kernel features"
532
533 source kernel/Kconfig.hz
534
535 config KEXEC
536 bool "kexec system call (EXPERIMENTAL)"
537 depends on SUPERH32 && EXPERIMENTAL && MMU
538 help
539 kexec is a system call that implements the ability to shutdown your
540 current kernel, and to start another kernel. It is like a reboot
541 but it is independent of the system firmware. And like a reboot
542 you can start any kernel with it, not just Linux.
543
544 The name comes from the similarity to the exec system call.
545
546 It is an ongoing process to be certain the hardware in a machine
547 is properly shutdown, so do not be surprised if this code does not
548 initially work for you. It may help to enable device hotplugging
549 support. As of this writing the exact hardware interface is
550 strongly in flux, so no good recommendation can be made.
551
552 config CRASH_DUMP
553 bool "kernel crash dumps (EXPERIMENTAL)"
554 depends on SUPERH32 && EXPERIMENTAL
555 help
556 Generate crash dump after being started by kexec.
557 This should be normally only set in special crash dump kernels
558 which are loaded in the main kernel with kexec-tools into
559 a specially reserved region and then later executed after
560 a crash by kdump/kexec. The crash dump kernel must be compiled
561 to a memory address not used by the main kernel using
562 MEMORY_START.
563
564 For more details see Documentation/kdump/kdump.txt
565
566 config KEXEC_JUMP
567 bool "kexec jump (EXPERIMENTAL)"
568 depends on SUPERH32 && KEXEC && HIBERNATION && EXPERIMENTAL
569 help
570 Jump between original kernel and kexeced kernel and invoke
571 code via KEXEC
572
573 config SECCOMP
574 bool "Enable seccomp to safely compute untrusted bytecode"
575 depends on PROC_FS
576 help
577 This kernel feature is useful for number crunching applications
578 that may need to compute untrusted bytecode during their
579 execution. By using pipes or other transports made available to
580 the process as file descriptors supporting the read/write
581 syscalls, it's possible to isolate those applications in
582 their own address space using seccomp. Once seccomp is
583 enabled via prctl, it cannot be disabled and the task is only
584 allowed to execute a few safe syscalls defined by each seccomp
585 mode.
586
587 If unsure, say N.
588
589 config SMP
590 bool "Symmetric multi-processing support"
591 depends on SYS_SUPPORTS_SMP
592 select USE_GENERIC_SMP_HELPERS
593 ---help---
594 This enables support for systems with more than one CPU. If you have
595 a system with only one CPU, like most personal computers, say N. If
596 you have a system with more than one CPU, say Y.
597
598 If you say N here, the kernel will run on single and multiprocessor
599 machines, but will use only one CPU of a multiprocessor machine. If
600 you say Y here, the kernel will run on many, but not all,
601 singleprocessor machines. On a singleprocessor machine, the kernel
602 will run faster if you say N here.
603
604 People using multiprocessor machines who say Y here should also say
605 Y to "Enhanced Real Time Clock Support", below.
606
607 See also <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO
608 available at <http://www.tldp.org/docs.html#howto>.
609
610 If you don't know what to do here, say N.
611
612 config NR_CPUS
613 int "Maximum number of CPUs (2-32)"
614 range 2 32
615 depends on SMP
616 default "4" if CPU_SHX3
617 default "2"
618 help
619 This allows you to specify the maximum number of CPUs which this
620 kernel will support. The maximum supported value is 32 and the
621 minimum value which makes sense is 2.
622
623 This is purely to save memory - each supported CPU adds
624 approximately eight kilobytes to the kernel image.
625
626 source "kernel/Kconfig.preempt"
627
628 config GUSA
629 def_bool y
630 depends on !SMP && SUPERH32
631 help
632 This enables support for gUSA (general UserSpace Atomicity).
633 This is the default implementation for both UP and non-ll/sc
634 CPUs, and is used by the libc, amongst others.
635
636 For additional information, design information can be found
637 in <http://lc.linux.or.jp/lc2002/papers/niibe0919p.pdf>.
638
639 This should only be disabled for special cases where alternate
640 atomicity implementations exist.
641
642 config GUSA_RB
643 bool "Implement atomic operations by roll-back (gRB) (EXPERIMENTAL)"
644 depends on GUSA && CPU_SH3 || (CPU_SH4 && !CPU_SH4A)
645 help
646 Enabling this option will allow the kernel to implement some
647 atomic operations using a software implementation of load-locked/
648 store-conditional (LLSC). On machines which do not have hardware
649 LLSC, this should be more efficient than the other alternative of
650 disabling interrupts around the atomic sequence.
651
652 endmenu
653
654 menu "Boot options"
655
656 config ZERO_PAGE_OFFSET
657 hex "Zero page offset"
658 default "0x00004000" if SH_SH03
659 default "0x00010000" if PAGE_SIZE_64KB
660 default "0x00002000" if PAGE_SIZE_8KB
661 default "0x00001000"
662 help
663 This sets the default offset of zero page.
664
665 config BOOT_LINK_OFFSET
666 hex "Link address offset for booting"
667 default "0x00800000"
668 help
669 This option allows you to set the link address offset of the zImage.
670 This can be useful if you are on a board which has a small amount of
671 memory.
672
673 config UBC_WAKEUP
674 bool "Wakeup UBC on startup"
675 depends on CPU_SH4 && !CPU_SH4A
676 help
677 Selecting this option will wakeup the User Break Controller (UBC) on
678 startup. Although the UBC is left in an awake state when the processor
679 comes up, some boot loaders misbehave by putting the UBC to sleep in a
680 power saving state, which causes issues with things like ptrace().
681
682 If unsure, say N.
683
684 config CMDLINE_BOOL
685 bool "Default bootloader kernel arguments"
686
687 config CMDLINE
688 string "Initial kernel command string"
689 depends on CMDLINE_BOOL
690 default "console=ttySC1,115200"
691
692 endmenu
693
694 menu "Bus options"
695
696 config SUPERHYWAY
697 tristate "SuperHyway Bus support"
698 depends on CPU_SUBTYPE_SH4_202
699
700 config MAPLE
701 bool "Maple Bus support"
702 depends on SH_DREAMCAST
703 help
704 The Maple Bus is SEGA's serial communication bus for peripherals
705 on the Dreamcast. Without this bus support you won't be able to
706 get your Dreamcast keyboard etc to work, so most users
707 probably want to say 'Y' here, unless you are only using the
708 Dreamcast with a serial line terminal or a remote network
709 connection.
710
711 source "arch/sh/drivers/pci/Kconfig"
712
713 source "drivers/pci/pcie/Kconfig"
714
715 source "drivers/pci/Kconfig"
716
717 source "drivers/pcmcia/Kconfig"
718
719 source "drivers/pci/hotplug/Kconfig"
720
721 endmenu
722
723 menu "Executable file formats"
724
725 source "fs/Kconfig.binfmt"
726
727 endmenu
728
729 menu "Power management options (EXPERIMENTAL)"
730 depends on EXPERIMENTAL
731
732 source "kernel/power/Kconfig"
733
734 source "drivers/cpuidle/Kconfig"
735
736 endmenu
737
738 source "net/Kconfig"
739
740 source "drivers/Kconfig"
741
742 source "fs/Kconfig"
743
744 source "arch/sh/Kconfig.debug"
745
746 source "security/Kconfig"
747
748 source "crypto/Kconfig"
749
750 source "lib/Kconfig"