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
31 select ARCH_HIBERNATION_POSSIBLE if MMU
38 default "arch/sh/configs/shx3_defconfig" if SUPERH32
39 default "arch/sh/configs/cayman_defconfig" if SUPERH64
41 config RWSEM_GENERIC_SPINLOCK
44 config RWSEM_XCHGADD_ALGORITHM
49 depends on BUG && SUPERH32
51 config GENERIC_FIND_NEXT_BIT
54 config GENERIC_HWEIGHT
57 config GENERIC_HARDIRQS
60 config GENERIC_HARDIRQS_NO__DO_IRQ
63 config GENERIC_IRQ_PROBE
69 config GENERIC_CALIBRATE_DELAY
78 config GENERIC_CLOCKEVENTS
81 config GENERIC_CLOCKEVENTS_BROADCAST
84 config GENERIC_LOCKBREAK
86 depends on SMP && PREEMPT
88 config SYS_SUPPORTS_PM
92 config ARCH_SUSPEND_POSSIBLE
95 config ARCH_HIBERNATION_POSSIBLE
98 config SYS_SUPPORTS_APM_EMULATION
100 select ARCH_SUSPEND_POSSIBLE
102 config SYS_SUPPORTS_SMP
105 config SYS_SUPPORTS_NUMA
108 config SYS_SUPPORTS_PCI
111 config SYS_SUPPORTS_CMT
114 config STACKTRACE_SUPPORT
117 config LOCKDEP_SUPPORT
120 config HAVE_LATENCYTOP_SUPPORT
124 config ARCH_HAS_ILOG2_U32
127 config ARCH_HAS_ILOG2_U64
130 config ARCH_NO_VIRT_TO_BUS
133 config ARCH_HAS_DEFAULT_IDLE
139 source "init/Kconfig"
141 source "kernel/Kconfig.freezer"
157 select CPU_HAS_INTEVT
162 select CPU_HAS_INTEVT
164 select CPU_HAS_PTEA if !CPU_SH4A || CPU_SHX2
165 select CPU_HAS_FPU if !CPU_SH4AL_DSP
188 select ARCH_SUSPEND_POSSIBLE
191 prompt "Processor sub-type selection"
197 # SH-2 Processor Support
199 config CPU_SUBTYPE_SH7619
200 bool "Support SH7619 processor"
202 select SYS_SUPPORTS_CMT
204 # SH-2A Processor Support
206 config CPU_SUBTYPE_SH7201
207 bool "Support SH7201 processor"
211 config CPU_SUBTYPE_SH7203
212 bool "Support SH7203 processor"
215 select SYS_SUPPORTS_CMT
217 config CPU_SUBTYPE_SH7206
218 bool "Support SH7206 processor"
220 select SYS_SUPPORTS_CMT
222 config CPU_SUBTYPE_SH7263
223 bool "Support SH7263 processor"
226 select SYS_SUPPORTS_CMT
228 config CPU_SUBTYPE_MXG
229 bool "Support MX-G processor"
232 Select MX-G if running on an R8A03022BG part.
234 # SH-3 Processor Support
236 config CPU_SUBTYPE_SH7705
237 bool "Support SH7705 processor"
240 config CPU_SUBTYPE_SH7706
241 bool "Support SH7706 processor"
244 Select SH7706 if you have a 133 Mhz SH-3 HD6417706 CPU.
246 config CPU_SUBTYPE_SH7707
247 bool "Support SH7707 processor"
250 Select SH7707 if you have a 60 Mhz SH-3 HD6417707 CPU.
252 config CPU_SUBTYPE_SH7708
253 bool "Support SH7708 processor"
256 Select SH7708 if you have a 60 Mhz SH-3 HD6417708S or
257 if you have a 100 Mhz SH-3 HD6417708R CPU.
259 config CPU_SUBTYPE_SH7709
260 bool "Support SH7709 processor"
263 Select SH7709 if you have a 80 Mhz SH-3 HD6417709 CPU.
265 config CPU_SUBTYPE_SH7710
266 bool "Support SH7710 processor"
270 Select SH7710 if you have a SH3-DSP SH7710 CPU.
272 config CPU_SUBTYPE_SH7712
273 bool "Support SH7712 processor"
277 Select SH7712 if you have a SH3-DSP SH7712 CPU.
279 config CPU_SUBTYPE_SH7720
280 bool "Support SH7720 processor"
284 Select SH7720 if you have a SH3-DSP SH7720 CPU.
286 config CPU_SUBTYPE_SH7721
287 bool "Support SH7721 processor"
291 Select SH7721 if you have a SH3-DSP SH7721 CPU.
293 # SH-4 Processor Support
295 config CPU_SUBTYPE_SH7750
296 bool "Support SH7750 processor"
299 Select SH7750 if you have a 200 Mhz SH-4 HD6417750 CPU.
301 config CPU_SUBTYPE_SH7091
302 bool "Support SH7091 processor"
305 Select SH7091 if you have an SH-4 based Sega device (such as
306 the Dreamcast, Naomi, and Naomi 2).
308 config CPU_SUBTYPE_SH7750R
309 bool "Support SH7750R processor"
312 config CPU_SUBTYPE_SH7750S
313 bool "Support SH7750S processor"
316 config CPU_SUBTYPE_SH7751
317 bool "Support SH7751 processor"
320 Select SH7751 if you have a 166 Mhz SH-4 HD6417751 CPU,
321 or if you have a HD6417751R CPU.
323 config CPU_SUBTYPE_SH7751R
324 bool "Support SH7751R processor"
327 config CPU_SUBTYPE_SH7760
328 bool "Support SH7760 processor"
331 config CPU_SUBTYPE_SH4_202
332 bool "Support SH4-202 processor"
335 # SH-4A Processor Support
337 config CPU_SUBTYPE_SH7723
338 bool "Support SH7723 processor"
342 select ARCH_SPARSEMEM_ENABLE
343 select SYS_SUPPORTS_CMT
345 Select SH7723 if you have an SH-MobileR2 CPU.
347 config CPU_SUBTYPE_SH7763
348 bool "Support SH7763 processor"
351 Select SH7763 if you have a SH4A SH7763(R5S77631) CPU.
353 config CPU_SUBTYPE_SH7770
354 bool "Support SH7770 processor"
357 config CPU_SUBTYPE_SH7780
358 bool "Support SH7780 processor"
361 config CPU_SUBTYPE_SH7785
362 bool "Support SH7785 processor"
365 select ARCH_SPARSEMEM_ENABLE
366 select SYS_SUPPORTS_NUMA
368 config CPU_SUBTYPE_SH7786
369 bool "Support SH7786 processor"
372 select CPU_HAS_PTEAEX
373 select ARCH_SPARSEMEM_ENABLE
374 select SYS_SUPPORTS_NUMA
376 config CPU_SUBTYPE_SHX3
377 bool "Support SH-X3 processor"
380 select ARCH_SPARSEMEM_ENABLE
381 select SYS_SUPPORTS_NUMA
382 select SYS_SUPPORTS_SMP
383 select GENERIC_CLOCKEVENTS_BROADCAST if SMP
385 # SH4AL-DSP Processor Support
387 config CPU_SUBTYPE_SH7343
388 bool "Support SH7343 processor"
391 select SYS_SUPPORTS_CMT
393 config CPU_SUBTYPE_SH7722
394 bool "Support SH7722 processor"
398 select ARCH_SPARSEMEM_ENABLE
399 select SYS_SUPPORTS_NUMA
400 select SYS_SUPPORTS_CMT
402 config CPU_SUBTYPE_SH7366
403 bool "Support SH7366 processor"
407 select ARCH_SPARSEMEM_ENABLE
408 select SYS_SUPPORTS_NUMA
409 select SYS_SUPPORTS_CMT
411 # SH-5 Processor Support
413 config CPU_SUBTYPE_SH5_101
414 bool "Support SH5-101 processor"
417 config CPU_SUBTYPE_SH5_103
418 bool "Support SH5-103 processor"
423 source "arch/sh/mm/Kconfig"
425 source "arch/sh/Kconfig.cpu"
427 source "arch/sh/boards/Kconfig"
429 menu "Timer and clock configuration"
432 bool "TMU timer support"
433 depends on CPU_SH3 || CPU_SH4
436 select GENERIC_CLOCKEVENTS
438 This enables the use of the TMU as the system timer.
441 bool "CMT timer support"
442 depends on SYS_SUPPORTS_CMT && CPU_SH2
445 This enables the use of the CMT as the system timer.
448 # Support for the new-style CMT driver. This will replace SH_CMT
449 # once its other dependencies are merged.
452 bool "CMT clockevents driver"
453 depends on SYS_SUPPORTS_CMT && !SH_CMT
454 select GENERIC_CLOCKEVENTS
457 bool "MTU2 timer support"
461 This enables the use of the MTU2 as the system timer.
465 default "28" if CPU_SUBTYPE_SH7780 || CPU_SUBTYPE_SH7785 || \
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
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 || \
484 default "60000000" if CPU_SUBTYPE_SH7751 || CPU_SUBTYPE_SH7751R
485 default "66000000" if CPU_SUBTYPE_SH4_202
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.
493 int "CPU Mode Pin Setting"
495 default 6 if CPU_SUBTYPE_SH7206
496 default 5 if CPU_SUBTYPE_SH7619
499 MD2 - MD0 pin setting.
501 source "kernel/time/Kconfig"
505 menu "CPU Frequency scaling"
507 source "drivers/cpufreq/Kconfig"
510 tristate "SuperH CPU Frequency driver"
512 select CPU_FREQ_TABLE
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.
521 For details, take a look at <file:Documentation/cpu-freq>.
527 source "arch/sh/drivers/Kconfig"
531 menu "Kernel features"
533 source kernel/Kconfig.hz
536 bool "kexec system call (EXPERIMENTAL)"
537 depends on SUPERH32 && EXPERIMENTAL && MMU
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.
544 The name comes from the similarity to the exec system call.
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.
553 bool "kernel crash dumps (EXPERIMENTAL)"
554 depends on SUPERH32 && EXPERIMENTAL
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
564 For more details see Documentation/kdump/kdump.txt
567 bool "kexec jump (EXPERIMENTAL)"
568 depends on SUPERH32 && KEXEC && HIBERNATION && EXPERIMENTAL
570 Jump between original kernel and kexeced kernel and invoke
574 bool "Enable seccomp to safely compute untrusted bytecode"
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
590 bool "Symmetric multi-processing support"
591 depends on SYS_SUPPORTS_SMP
592 select USE_GENERIC_SMP_HELPERS
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.
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.
604 People using multiprocessor machines who say Y here should also say
605 Y to "Enhanced Real Time Clock Support", below.
607 See also <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO
608 available at <http://www.tldp.org/docs.html#howto>.
610 If you don't know what to do here, say N.
613 int "Maximum number of CPUs (2-32)"
616 default "4" if CPU_SHX3
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.
623 This is purely to save memory - each supported CPU adds
624 approximately eight kilobytes to the kernel image.
626 source "kernel/Kconfig.preempt"
630 depends on !SMP && SUPERH32
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.
636 For additional information, design information can be found
637 in <http://lc.linux.or.jp/lc2002/papers/niibe0919p.pdf>.
639 This should only be disabled for special cases where alternate
640 atomicity implementations exist.
643 bool "Implement atomic operations by roll-back (gRB) (EXPERIMENTAL)"
644 depends on GUSA && CPU_SH3 || (CPU_SH4 && !CPU_SH4A)
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.
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
663 This sets the default offset of zero page.
665 config BOOT_LINK_OFFSET
666 hex "Link address offset for booting"
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
674 bool "Wakeup UBC on startup"
675 depends on CPU_SH4 && !CPU_SH4A
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().
685 bool "Default bootloader kernel arguments"
688 string "Initial kernel command string"
689 depends on CMDLINE_BOOL
690 default "console=ttySC1,115200"
697 tristate "SuperHyway Bus support"
698 depends on CPU_SUBTYPE_SH4_202
701 bool "Maple Bus support"
702 depends on SH_DREAMCAST
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
711 source "arch/sh/drivers/pci/Kconfig"
713 source "drivers/pci/pcie/Kconfig"
715 source "drivers/pci/Kconfig"
717 source "drivers/pcmcia/Kconfig"
719 source "drivers/pci/hotplug/Kconfig"
723 menu "Executable file formats"
725 source "fs/Kconfig.binfmt"
729 menu "Power management options (EXPERIMENTAL)"
730 depends on EXPERIMENTAL
732 source "kernel/power/Kconfig"
734 source "drivers/cpuidle/Kconfig"
740 source "drivers/Kconfig"
744 source "arch/sh/Kconfig.debug"
746 source "security/Kconfig"
748 source "crypto/Kconfig"