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
17 The SuperH is a RISC processor targeted for use in embedded systems
18 and consumer electronics; it was also used in the Sega Dreamcast
19 gaming console. The SuperH port has a home page at
20 <http://www.linux-sh.org/>.
25 select HAVE_KRETPROBES
26 select HAVE_ARCH_TRACEHOOK
27 select HAVE_FUNCTION_TRACER
28 select HAVE_FTRACE_MCOUNT_RECORD
29 select HAVE_DYNAMIC_FTRACE
36 default "arch/sh/configs/shx3_defconfig" if SUPERH32
37 default "arch/sh/configs/cayman_defconfig" if SUPERH64
39 config RWSEM_GENERIC_SPINLOCK
42 config RWSEM_XCHGADD_ALGORITHM
47 depends on BUG && SUPERH32
49 config GENERIC_FIND_NEXT_BIT
52 config GENERIC_HWEIGHT
55 config GENERIC_HARDIRQS
58 config GENERIC_HARDIRQS_NO__DO_IRQ
60 depends on SUPERH32 && (!SH_DREAMCAST && !SH_SH4202_MICRODEV && \
61 !SH_7751_SYSTEMH && !HD64461)
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 STACKTRACE_SUPPORT
114 config LOCKDEP_SUPPORT
117 config HAVE_LATENCYTOP_SUPPORT
121 config ARCH_HAS_ILOG2_U32
124 config ARCH_HAS_ILOG2_U64
127 config ARCH_NO_VIRT_TO_BUS
133 source "init/Kconfig"
135 source "kernel/Kconfig.freezer"
151 select CPU_HAS_INTEVT
156 select CPU_HAS_INTEVT
158 select CPU_HAS_PTEA if !CPU_SH4A || CPU_SHX2
159 select CPU_HAS_FPU if !CPU_SH4AL_DSP
181 prompt "Processor sub-type selection"
187 # SH-2 Processor Support
189 config CPU_SUBTYPE_SH7619
190 bool "Support SH7619 processor"
193 # SH-2A Processor Support
195 config CPU_SUBTYPE_SH7201
196 bool "Support SH7201 processor"
200 config CPU_SUBTYPE_SH7203
201 bool "Support SH7203 processor"
205 config CPU_SUBTYPE_SH7206
206 bool "Support SH7206 processor"
209 config CPU_SUBTYPE_SH7263
210 bool "Support SH7263 processor"
214 config CPU_SUBTYPE_MXG
215 bool "Support MX-G processor"
218 Select MX-G if running on an R8A03022BG part.
220 # SH-3 Processor Support
222 config CPU_SUBTYPE_SH7705
223 bool "Support SH7705 processor"
226 config CPU_SUBTYPE_SH7706
227 bool "Support SH7706 processor"
230 Select SH7706 if you have a 133 Mhz SH-3 HD6417706 CPU.
232 config CPU_SUBTYPE_SH7707
233 bool "Support SH7707 processor"
236 Select SH7707 if you have a 60 Mhz SH-3 HD6417707 CPU.
238 config CPU_SUBTYPE_SH7708
239 bool "Support SH7708 processor"
242 Select SH7708 if you have a 60 Mhz SH-3 HD6417708S or
243 if you have a 100 Mhz SH-3 HD6417708R CPU.
245 config CPU_SUBTYPE_SH7709
246 bool "Support SH7709 processor"
249 Select SH7709 if you have a 80 Mhz SH-3 HD6417709 CPU.
251 config CPU_SUBTYPE_SH7710
252 bool "Support SH7710 processor"
256 Select SH7710 if you have a SH3-DSP SH7710 CPU.
258 config CPU_SUBTYPE_SH7712
259 bool "Support SH7712 processor"
263 Select SH7712 if you have a SH3-DSP SH7712 CPU.
265 config CPU_SUBTYPE_SH7720
266 bool "Support SH7720 processor"
270 Select SH7720 if you have a SH3-DSP SH7720 CPU.
272 config CPU_SUBTYPE_SH7721
273 bool "Support SH7721 processor"
277 Select SH7721 if you have a SH3-DSP SH7721 CPU.
279 # SH-4 Processor Support
281 config CPU_SUBTYPE_SH7750
282 bool "Support SH7750 processor"
285 Select SH7750 if you have a 200 Mhz SH-4 HD6417750 CPU.
287 config CPU_SUBTYPE_SH7091
288 bool "Support SH7091 processor"
291 Select SH7091 if you have an SH-4 based Sega device (such as
292 the Dreamcast, Naomi, and Naomi 2).
294 config CPU_SUBTYPE_SH7750R
295 bool "Support SH7750R processor"
298 config CPU_SUBTYPE_SH7750S
299 bool "Support SH7750S processor"
302 config CPU_SUBTYPE_SH7751
303 bool "Support SH7751 processor"
306 Select SH7751 if you have a 166 Mhz SH-4 HD6417751 CPU,
307 or if you have a HD6417751R CPU.
309 config CPU_SUBTYPE_SH7751R
310 bool "Support SH7751R processor"
313 config CPU_SUBTYPE_SH7760
314 bool "Support SH7760 processor"
317 config CPU_SUBTYPE_SH4_202
318 bool "Support SH4-202 processor"
321 # SH-4A Processor Support
323 config CPU_SUBTYPE_SH7723
324 bool "Support SH7723 processor"
327 select ARCH_SPARSEMEM_ENABLE
329 Select SH7723 if you have an SH-MobileR2 CPU.
331 config CPU_SUBTYPE_SH7763
332 bool "Support SH7763 processor"
335 Select SH7763 if you have a SH4A SH7763(R5S77631) CPU.
337 config CPU_SUBTYPE_SH7770
338 bool "Support SH7770 processor"
341 config CPU_SUBTYPE_SH7780
342 bool "Support SH7780 processor"
345 config CPU_SUBTYPE_SH7785
346 bool "Support SH7785 processor"
349 select ARCH_SPARSEMEM_ENABLE
350 select SYS_SUPPORTS_NUMA
352 config CPU_SUBTYPE_SHX3
353 bool "Support SH-X3 processor"
356 select ARCH_SPARSEMEM_ENABLE
357 select SYS_SUPPORTS_NUMA
358 select SYS_SUPPORTS_SMP
359 select GENERIC_CLOCKEVENTS_BROADCAST if SMP
361 # SH4AL-DSP Processor Support
363 config CPU_SUBTYPE_SH7343
364 bool "Support SH7343 processor"
367 config CPU_SUBTYPE_SH7722
368 bool "Support SH7722 processor"
371 select ARCH_SPARSEMEM_ENABLE
372 select SYS_SUPPORTS_NUMA
374 config CPU_SUBTYPE_SH7366
375 bool "Support SH7366 processor"
378 select ARCH_SPARSEMEM_ENABLE
379 select SYS_SUPPORTS_NUMA
381 # SH-5 Processor Support
383 config CPU_SUBTYPE_SH5_101
384 bool "Support SH5-101 processor"
387 config CPU_SUBTYPE_SH5_103
388 bool "Support SH5-103 processor"
393 source "arch/sh/mm/Kconfig"
395 source "arch/sh/Kconfig.cpu"
397 source "arch/sh/boards/Kconfig"
399 menu "Timer and clock configuration"
403 prompt "TMU timer support"
404 depends on CPU_SH3 || CPU_SH4
406 select GENERIC_CLOCKEVENTS
408 This enables the use of the TMU as the system timer.
412 prompt "CMT timer support"
413 depends on CPU_SH2 && !CPU_SUBTYPE_MXG
415 This enables the use of the CMT as the system timer.
419 prompt "MTU2 timer support"
422 This enables the use of the MTU2 as the system timer.
426 default "28" if CPU_SUBTYPE_SH7780 || CPU_SUBTYPE_SH7785 || \
428 default "86" if CPU_SUBTYPE_SH7619
429 default "140" if CPU_SUBTYPE_SH7206
430 default "142" if CPU_SUBTYPE_SH7203
431 default "238" if CPU_SUBTYPE_MXG
435 int "Peripheral clock frequency (in Hz)"
436 default "27000000" if CPU_SUBTYPE_SH7343
437 default "31250000" if CPU_SUBTYPE_SH7619
438 default "32000000" if CPU_SUBTYPE_SH7722
439 default "33333333" if CPU_SUBTYPE_SH7770 || CPU_SUBTYPE_SH7723 || \
440 CPU_SUBTYPE_SH7760 || CPU_SUBTYPE_SH7705 || \
441 CPU_SUBTYPE_SH7203 || CPU_SUBTYPE_SH7206 || \
442 CPU_SUBTYPE_SH7263 || CPU_SUBTYPE_MXG
443 default "60000000" if CPU_SUBTYPE_SH7751 || CPU_SUBTYPE_SH7751R
444 default "66000000" if CPU_SUBTYPE_SH4_202
447 This option is used to specify the peripheral clock frequency.
448 This is necessary for determining the reference clock value on
449 platforms lacking an RTC.
452 int "CPU Mode Pin Setting"
454 default 6 if CPU_SUBTYPE_SH7206
455 default 5 if CPU_SUBTYPE_SH7619
458 MD2 - MD0 pin setting.
460 source "kernel/time/Kconfig"
464 menu "CPU Frequency scaling"
466 source "drivers/cpufreq/Kconfig"
469 tristate "SuperH CPU Frequency driver"
471 select CPU_FREQ_TABLE
473 This adds the cpufreq driver for SuperH. At present, only
474 the SH-4 is supported.
476 For details, take a look at <file:Documentation/cpu-freq>.
482 source "arch/sh/drivers/Kconfig"
489 menu "Kernel features"
491 source kernel/Kconfig.hz
494 bool "kexec system call (EXPERIMENTAL)"
495 depends on SUPERH32 && EXPERIMENTAL
497 kexec is a system call that implements the ability to shutdown your
498 current kernel, and to start another kernel. It is like a reboot
499 but it is independent of the system firmware. And like a reboot
500 you can start any kernel with it, not just Linux.
502 The name comes from the similarity to the exec system call.
504 It is an ongoing process to be certain the hardware in a machine
505 is properly shutdown, so do not be surprised if this code does not
506 initially work for you. It may help to enable device hotplugging
507 support. As of this writing the exact hardware interface is
508 strongly in flux, so no good recommendation can be made.
511 bool "kernel crash dumps (EXPERIMENTAL)"
512 depends on SUPERH32 && EXPERIMENTAL
514 Generate crash dump after being started by kexec.
515 This should be normally only set in special crash dump kernels
516 which are loaded in the main kernel with kexec-tools into
517 a specially reserved region and then later executed after
518 a crash by kdump/kexec. The crash dump kernel must be compiled
519 to a memory address not used by the main kernel using
522 For more details see Documentation/kdump/kdump.txt
525 bool "Enable seccomp to safely compute untrusted bytecode"
528 This kernel feature is useful for number crunching applications
529 that may need to compute untrusted bytecode during their
530 execution. By using pipes or other transports made available to
531 the process as file descriptors supporting the read/write
532 syscalls, it's possible to isolate those applications in
533 their own address space using seccomp. Once seccomp is
534 enabled via prctl, it cannot be disabled and the task is only
535 allowed to execute a few safe syscalls defined by each seccomp
541 bool "Symmetric multi-processing support"
542 depends on SYS_SUPPORTS_SMP
543 select USE_GENERIC_SMP_HELPERS
545 This enables support for systems with more than one CPU. If you have
546 a system with only one CPU, like most personal computers, say N. If
547 you have a system with more than one CPU, say Y.
549 If you say N here, the kernel will run on single and multiprocessor
550 machines, but will use only one CPU of a multiprocessor machine. If
551 you say Y here, the kernel will run on many, but not all,
552 singleprocessor machines. On a singleprocessor machine, the kernel
553 will run faster if you say N here.
555 People using multiprocessor machines who say Y here should also say
556 Y to "Enhanced Real Time Clock Support", below.
558 See also <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO
559 available at <http://www.tldp.org/docs.html#howto>.
561 If you don't know what to do here, say N.
564 int "Maximum number of CPUs (2-32)"
567 default "4" if CPU_SHX3
570 This allows you to specify the maximum number of CPUs which this
571 kernel will support. The maximum supported value is 32 and the
572 minimum value which makes sense is 2.
574 This is purely to save memory - each supported CPU adds
575 approximately eight kilobytes to the kernel image.
577 source "kernel/Kconfig.preempt"
581 depends on !SMP && SUPERH32
583 This enables support for gUSA (general UserSpace Atomicity).
584 This is the default implementation for both UP and non-ll/sc
585 CPUs, and is used by the libc, amongst others.
587 For additional information, design information can be found
588 in <http://lc.linux.or.jp/lc2002/papers/niibe0919p.pdf>.
590 This should only be disabled for special cases where alternate
591 atomicity implementations exist.
594 bool "Implement atomic operations by roll-back (gRB) (EXPERIMENTAL)"
595 depends on GUSA && CPU_SH3 || (CPU_SH4 && !CPU_SH4A)
597 Enabling this option will allow the kernel to implement some
598 atomic operations using a software implemention of load-locked/
599 store-conditional (LLSC). On machines which do not have hardware
600 LLSC, this should be more efficient than the other alternative of
601 disabling insterrupts around the atomic sequence.
607 config ZERO_PAGE_OFFSET
608 hex "Zero page offset"
609 default "0x00004000" if SH_SH03
610 default "0x00010000" if PAGE_SIZE_64KB
611 default "0x00002000" if PAGE_SIZE_8KB
614 This sets the default offset of zero page.
616 config BOOT_LINK_OFFSET
617 hex "Link address offset for booting"
620 This option allows you to set the link address offset of the zImage.
621 This can be useful if you are on a board which has a small amount of
625 bool "Wakeup UBC on startup"
626 depends on CPU_SH4 && !CPU_SH4A
628 Selecting this option will wakeup the User Break Controller (UBC) on
629 startup. Although the UBC is left in an awake state when the processor
630 comes up, some boot loaders misbehave by putting the UBC to sleep in a
631 power saving state, which causes issues with things like ptrace().
636 bool "Default bootloader kernel arguments"
639 string "Initial kernel command string"
640 depends on CMDLINE_BOOL
641 default "console=ttySC1,115200"
647 # Even on SuperH devices which don't have an ISA bus,
648 # this variable helps the PCMCIA modules handle
649 # IRQ requesting properly -- Greg Banks.
651 # Though we're generally not interested in it when
652 # we're not using PCMCIA, so we make it dependent on
653 # PCMCIA outright. -- PFM.
656 depends on PCMCIA && HD6446X_SERIES
658 Find out whether you have ISA slots on your motherboard. ISA is the
659 name of a bus system, i.e. the way the CPU talks to the other stuff
660 inside your box. Other bus systems are PCI, EISA, MicroChannel
661 (MCA) or VESA. ISA is an older system, now being displaced by PCI;
662 newer boards don't support it. If you have ISA, say Y, otherwise N.
667 The Extended Industry Standard Architecture (EISA) bus was
668 developed as an open alternative to the IBM MicroChannel bus.
670 The EISA bus provided some of the features of the IBM MicroChannel
671 bus while maintaining backward compatibility with cards made for
672 the older ISA bus. The EISA bus saw limited use between 1988 and
673 1995 when it was made obsolete by the PCI bus.
675 Say Y here if you are building a kernel for an EISA-based machine.
682 MicroChannel Architecture is found in some IBM PS/2 machines and
683 laptops. It is a bus system similar to PCI or ISA. See
684 <file:Documentation/mca.txt> (and especially the web page given
685 there) before attempting to build an MCA bus kernel.
691 tristate "SuperHyway Bus support"
692 depends on CPU_SUBTYPE_SH4_202
695 bool "Maple Bus support"
696 depends on SH_DREAMCAST
698 The Maple Bus is SEGA's serial communication bus for peripherals
699 on the Dreamcast. Without this bus support you won't be able to
700 get your Dreamcast keyboard etc to work, so most users
701 probably want to say 'Y' here, unless you are only using the
702 Dreamcast with a serial line terminal or a remote network
706 bool "Compact Flash Enabler support"
707 depends on SOLUTION_ENGINE || SH_SH03
709 Compact Flash is a small, removable mass storage device introduced
710 in 1994 originally as a PCMCIA device. If you say `Y' here, you
711 compile in support for Compact Flash devices directly connected to
712 a SuperH processor. A Compact Flash FAQ is available at
713 <http://www.compactflash.org/faqs/faq.htm>.
715 If your board has "Directly Connected" CompactFlash at area 5 or 6,
716 you may want to enable this option. Then, you can use CF as
717 primary IDE drive (only tested for SanDisk).
719 If in doubt, select 'N'.
722 prompt "Compact Flash Connection Area"
723 depends on CF_ENABLER
729 If your board has "Directly Connected" CompactFlash, You should
730 select the area where your CF is connected to.
732 - "Area5" if CompactFlash is connected to Area 5 (0x14000000)
733 - "Area6" if it is connected to Area 6 (0x18000000)
735 "Area6" will work for most boards.
744 depends on CF_ENABLER
745 default "0xb8000000" if CF_AREA6
746 default "0xb4000000" if CF_AREA5
748 source "arch/sh/drivers/pci/Kconfig"
750 source "drivers/pci/Kconfig"
752 source "drivers/pcmcia/Kconfig"
754 source "drivers/pci/hotplug/Kconfig"
758 menu "Executable file formats"
760 source "fs/Kconfig.binfmt"
764 menu "Power management options (EXPERIMENTAL)"
765 depends on EXPERIMENTAL
767 source "kernel/power/Kconfig"
769 source "drivers/cpuidle/Kconfig"
775 source "drivers/Kconfig"
779 source "arch/sh/Kconfig.debug"
781 source "security/Kconfig"
783 source "crypto/Kconfig"