2 # For a description of the syntax of this configuration file,
3 # see Documentation/kbuild/kconfig-language.txt.
6 mainmenu "Linux/SuperH Kernel Configuration"
14 select HAVE_GENERIC_DMA_COHERENT
15 select HAVE_IOREMAP_PROT if MMU
16 select HAVE_ARCH_TRACEHOOK
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/>.
26 select HAVE_KRETPROBES
27 select HAVE_FUNCTION_TRACER
28 select HAVE_FTRACE_MCOUNT_RECORD
29 select HAVE_DYNAMIC_FTRACE
37 default "arch/sh/configs/shx3_defconfig" if SUPERH32
38 default "arch/sh/configs/cayman_defconfig" if SUPERH64
40 config RWSEM_GENERIC_SPINLOCK
43 config RWSEM_XCHGADD_ALGORITHM
48 depends on BUG && SUPERH32
50 config GENERIC_FIND_NEXT_BIT
53 config GENERIC_HWEIGHT
56 config GENERIC_HARDIRQS
59 config GENERIC_HARDIRQS_NO__DO_IRQ
62 config GENERIC_IRQ_PROBE
68 config GENERIC_CALIBRATE_DELAY
77 config GENERIC_CLOCKEVENTS
80 config GENERIC_CLOCKEVENTS_BROADCAST
83 config GENERIC_LOCKBREAK
85 depends on SMP && PREEMPT
87 config SYS_SUPPORTS_PM
91 config ARCH_SUSPEND_POSSIBLE
94 config ARCH_HIBERNATION_POSSIBLE
97 config SYS_SUPPORTS_APM_EMULATION
99 select ARCH_SUSPEND_POSSIBLE
101 config SYS_SUPPORTS_SMP
104 config SYS_SUPPORTS_NUMA
107 config SYS_SUPPORTS_PCI
110 config SYS_SUPPORTS_CMT
113 config STACKTRACE_SUPPORT
116 config LOCKDEP_SUPPORT
119 config HAVE_LATENCYTOP_SUPPORT
123 config ARCH_HAS_ILOG2_U32
126 config ARCH_HAS_ILOG2_U64
129 config ARCH_NO_VIRT_TO_BUS
135 source "init/Kconfig"
137 source "kernel/Kconfig.freezer"
153 select CPU_HAS_INTEVT
158 select CPU_HAS_INTEVT
160 select CPU_HAS_PTEA if !CPU_SH4A || CPU_SHX2
161 select CPU_HAS_FPU if !CPU_SH4AL_DSP
186 prompt "Processor sub-type selection"
192 # SH-2 Processor Support
194 config CPU_SUBTYPE_SH7619
195 bool "Support SH7619 processor"
197 select SYS_SUPPORTS_CMT
199 # SH-2A Processor Support
201 config CPU_SUBTYPE_SH7201
202 bool "Support SH7201 processor"
206 config CPU_SUBTYPE_SH7203
207 bool "Support SH7203 processor"
210 select SYS_SUPPORTS_CMT
212 config CPU_SUBTYPE_SH7206
213 bool "Support SH7206 processor"
215 select SYS_SUPPORTS_CMT
217 config CPU_SUBTYPE_SH7263
218 bool "Support SH7263 processor"
221 select SYS_SUPPORTS_CMT
223 config CPU_SUBTYPE_MXG
224 bool "Support MX-G processor"
227 Select MX-G if running on an R8A03022BG part.
229 # SH-3 Processor Support
231 config CPU_SUBTYPE_SH7705
232 bool "Support SH7705 processor"
235 config CPU_SUBTYPE_SH7706
236 bool "Support SH7706 processor"
239 Select SH7706 if you have a 133 Mhz SH-3 HD6417706 CPU.
241 config CPU_SUBTYPE_SH7707
242 bool "Support SH7707 processor"
245 Select SH7707 if you have a 60 Mhz SH-3 HD6417707 CPU.
247 config CPU_SUBTYPE_SH7708
248 bool "Support SH7708 processor"
251 Select SH7708 if you have a 60 Mhz SH-3 HD6417708S or
252 if you have a 100 Mhz SH-3 HD6417708R CPU.
254 config CPU_SUBTYPE_SH7709
255 bool "Support SH7709 processor"
258 Select SH7709 if you have a 80 Mhz SH-3 HD6417709 CPU.
260 config CPU_SUBTYPE_SH7710
261 bool "Support SH7710 processor"
265 Select SH7710 if you have a SH3-DSP SH7710 CPU.
267 config CPU_SUBTYPE_SH7712
268 bool "Support SH7712 processor"
272 Select SH7712 if you have a SH3-DSP SH7712 CPU.
274 config CPU_SUBTYPE_SH7720
275 bool "Support SH7720 processor"
279 Select SH7720 if you have a SH3-DSP SH7720 CPU.
281 config CPU_SUBTYPE_SH7721
282 bool "Support SH7721 processor"
286 Select SH7721 if you have a SH3-DSP SH7721 CPU.
288 # SH-4 Processor Support
290 config CPU_SUBTYPE_SH7750
291 bool "Support SH7750 processor"
294 Select SH7750 if you have a 200 Mhz SH-4 HD6417750 CPU.
296 config CPU_SUBTYPE_SH7091
297 bool "Support SH7091 processor"
300 Select SH7091 if you have an SH-4 based Sega device (such as
301 the Dreamcast, Naomi, and Naomi 2).
303 config CPU_SUBTYPE_SH7750R
304 bool "Support SH7750R processor"
307 config CPU_SUBTYPE_SH7750S
308 bool "Support SH7750S processor"
311 config CPU_SUBTYPE_SH7751
312 bool "Support SH7751 processor"
315 Select SH7751 if you have a 166 Mhz SH-4 HD6417751 CPU,
316 or if you have a HD6417751R CPU.
318 config CPU_SUBTYPE_SH7751R
319 bool "Support SH7751R processor"
322 config CPU_SUBTYPE_SH7760
323 bool "Support SH7760 processor"
326 config CPU_SUBTYPE_SH4_202
327 bool "Support SH4-202 processor"
330 # SH-4A Processor Support
332 config CPU_SUBTYPE_SH7723
333 bool "Support SH7723 processor"
337 select ARCH_SPARSEMEM_ENABLE
338 select SYS_SUPPORTS_CMT
340 Select SH7723 if you have an SH-MobileR2 CPU.
342 config CPU_SUBTYPE_SH7763
343 bool "Support SH7763 processor"
346 Select SH7763 if you have a SH4A SH7763(R5S77631) CPU.
348 config CPU_SUBTYPE_SH7770
349 bool "Support SH7770 processor"
352 config CPU_SUBTYPE_SH7780
353 bool "Support SH7780 processor"
356 config CPU_SUBTYPE_SH7785
357 bool "Support SH7785 processor"
360 select ARCH_SPARSEMEM_ENABLE
361 select SYS_SUPPORTS_NUMA
363 config CPU_SUBTYPE_SH7786
364 bool "Support SH7786 processor"
367 select ARCH_SPARSEMEM_ENABLE
368 select SYS_SUPPORTS_NUMA
370 config CPU_SUBTYPE_SHX3
371 bool "Support SH-X3 processor"
374 select ARCH_SPARSEMEM_ENABLE
375 select SYS_SUPPORTS_NUMA
376 select SYS_SUPPORTS_SMP
377 select GENERIC_CLOCKEVENTS_BROADCAST if SMP
379 # SH4AL-DSP Processor Support
381 config CPU_SUBTYPE_SH7343
382 bool "Support SH7343 processor"
385 select SYS_SUPPORTS_CMT
387 config CPU_SUBTYPE_SH7722
388 bool "Support SH7722 processor"
392 select ARCH_SPARSEMEM_ENABLE
393 select SYS_SUPPORTS_NUMA
394 select SYS_SUPPORTS_CMT
396 config CPU_SUBTYPE_SH7366
397 bool "Support SH7366 processor"
401 select ARCH_SPARSEMEM_ENABLE
402 select SYS_SUPPORTS_NUMA
403 select SYS_SUPPORTS_CMT
405 # SH-5 Processor Support
407 config CPU_SUBTYPE_SH5_101
408 bool "Support SH5-101 processor"
411 config CPU_SUBTYPE_SH5_103
412 bool "Support SH5-103 processor"
417 source "arch/sh/mm/Kconfig"
419 source "arch/sh/Kconfig.cpu"
421 source "arch/sh/boards/Kconfig"
423 menu "Timer and clock configuration"
426 bool "TMU timer support"
427 depends on CPU_SH3 || CPU_SH4
430 select GENERIC_CLOCKEVENTS
432 This enables the use of the TMU as the system timer.
435 bool "CMT timer support"
436 depends on SYS_SUPPORTS_CMT && CPU_SH2
439 This enables the use of the CMT as the system timer.
442 # Support for the new-style CMT driver. This will replace SH_CMT
443 # once its other dependencies are merged.
446 bool "CMT clockevents driver"
447 depends on SYS_SUPPORTS_CMT && !SH_CMT
448 select GENERIC_CLOCKEVENTS
451 bool "MTU2 timer support"
455 This enables the use of the MTU2 as the system timer.
459 default "28" if CPU_SUBTYPE_SH7780 || CPU_SUBTYPE_SH7785 || \
461 default "86" if CPU_SUBTYPE_SH7619
462 default "140" if CPU_SUBTYPE_SH7206
463 default "142" if CPU_SUBTYPE_SH7203 && SH_CMT
464 default "153" if CPU_SUBTYPE_SH7203 && SH_MTU2
465 default "238" if CPU_SUBTYPE_MXG
469 int "Peripheral clock frequency (in Hz)"
470 default "27000000" if CPU_SUBTYPE_SH7343
471 default "31250000" if CPU_SUBTYPE_SH7619
472 default "32000000" if CPU_SUBTYPE_SH7722
473 default "33333333" if CPU_SUBTYPE_SH7770 || CPU_SUBTYPE_SH7723 || \
474 CPU_SUBTYPE_SH7760 || CPU_SUBTYPE_SH7705 || \
475 CPU_SUBTYPE_SH7203 || CPU_SUBTYPE_SH7206 || \
476 CPU_SUBTYPE_SH7263 || CPU_SUBTYPE_MXG || \
478 default "60000000" if CPU_SUBTYPE_SH7751 || CPU_SUBTYPE_SH7751R
479 default "66000000" if CPU_SUBTYPE_SH4_202
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.
487 int "CPU Mode Pin Setting"
489 default 6 if CPU_SUBTYPE_SH7206
490 default 5 if CPU_SUBTYPE_SH7619
493 MD2 - MD0 pin setting.
495 source "kernel/time/Kconfig"
499 menu "CPU Frequency scaling"
501 source "drivers/cpufreq/Kconfig"
504 tristate "SuperH CPU Frequency driver"
506 select CPU_FREQ_TABLE
508 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.
515 For details, take a look at <file:Documentation/cpu-freq>.
521 source "arch/sh/drivers/Kconfig"
525 menu "Kernel features"
527 source kernel/Kconfig.hz
530 bool "kexec system call (EXPERIMENTAL)"
531 depends on SUPERH32 && EXPERIMENTAL
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
535 but it is independent of the system firmware. And like a reboot
536 you can start any kernel with it, not just Linux.
538 The name comes from the similarity to the exec system call.
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.
547 bool "kernel crash dumps (EXPERIMENTAL)"
548 depends on SUPERH32 && EXPERIMENTAL
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
558 For more details see Documentation/kdump/kdump.txt
561 bool "Enable seccomp to safely compute untrusted bytecode"
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
577 bool "Symmetric multi-processing support"
578 depends on SYS_SUPPORTS_SMP
579 select USE_GENERIC_SMP_HELPERS
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.
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.
591 People using multiprocessor machines who say Y here should also say
592 Y to "Enhanced Real Time Clock Support", below.
594 See also <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO
595 available at <http://www.tldp.org/docs.html#howto>.
597 If you don't know what to do here, say N.
600 int "Maximum number of CPUs (2-32)"
603 default "4" if CPU_SHX3
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.
610 This is purely to save memory - each supported CPU adds
611 approximately eight kilobytes to the kernel image.
613 source "kernel/Kconfig.preempt"
617 depends on !SMP && SUPERH32
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.
623 For additional information, design information can be found
624 in <http://lc.linux.or.jp/lc2002/papers/niibe0919p.pdf>.
626 This should only be disabled for special cases where alternate
627 atomicity implementations exist.
630 bool "Implement atomic operations by roll-back (gRB) (EXPERIMENTAL)"
631 depends on GUSA && CPU_SH3 || (CPU_SH4 && !CPU_SH4A)
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.
643 config ZERO_PAGE_OFFSET
644 hex "Zero page offset"
645 default "0x00004000" if SH_SH03
646 default "0x00010000" if PAGE_SIZE_64KB
647 default "0x00002000" if PAGE_SIZE_8KB
650 This sets the default offset of zero page.
652 config BOOT_LINK_OFFSET
653 hex "Link address offset for booting"
656 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
661 bool "Wakeup UBC on startup"
662 depends on CPU_SH4 && !CPU_SH4A
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().
672 bool "Default bootloader kernel arguments"
675 string "Initial kernel command string"
676 depends on CMDLINE_BOOL
677 default "console=ttySC1,115200"
684 tristate "SuperHyway Bus support"
685 depends on CPU_SUBTYPE_SH4_202
688 bool "Maple Bus support"
689 depends on SH_DREAMCAST
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
698 source "arch/sh/drivers/pci/Kconfig"
700 source "drivers/pci/pcie/Kconfig"
702 source "drivers/pci/Kconfig"
704 source "drivers/pcmcia/Kconfig"
706 source "drivers/pci/hotplug/Kconfig"
710 menu "Executable file formats"
712 source "fs/Kconfig.binfmt"
716 menu "Power management options (EXPERIMENTAL)"
717 depends on EXPERIMENTAL
719 source "kernel/power/Kconfig"
721 source "drivers/cpuidle/Kconfig"
727 source "drivers/Kconfig"
731 source "arch/sh/Kconfig.debug"
733 source "security/Kconfig"
735 source "crypto/Kconfig"