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
16 The SuperH is a RISC processor targeted for use in embedded systems
17 and consumer electronics; it was also used in the Sega Dreamcast
18 gaming console. The SuperH port has a home page at
19 <http://www.linux-sh.org/>.
29 default "arch/sh/configs/shx3_defconfig" if SUPERH32
30 default "arch/sh/configs/cayman_defconfig" if SUPERH64
32 config RWSEM_GENERIC_SPINLOCK
35 config RWSEM_XCHGADD_ALGORITHM
40 depends on BUG && SUPERH32
42 config GENERIC_FIND_NEXT_BIT
45 config GENERIC_HWEIGHT
48 config GENERIC_HARDIRQS
51 config GENERIC_HARDIRQS_NO__DO_IRQ
54 config GENERIC_IRQ_PROBE
57 config GENERIC_CALIBRATE_DELAY
66 config GENERIC_CLOCKEVENTS
69 config GENERIC_LOCKBREAK
71 depends on SMP && PREEMPT
73 config SYS_SUPPORTS_PM
76 config SYS_SUPPORTS_APM_EMULATION
78 select SYS_SUPPORTS_PM
80 config SYS_SUPPORTS_SMP
83 config SYS_SUPPORTS_NUMA
86 config SYS_SUPPORTS_PCI
89 config STACKTRACE_SUPPORT
92 config LOCKDEP_SUPPORT
95 config ARCH_HAS_ILOG2_U32
98 config ARCH_HAS_ILOG2_U64
101 config ARCH_NO_VIRT_TO_BUS
107 source "init/Kconfig"
109 source "kernel/Kconfig.freezer"
125 select CPU_HAS_INTEVT
130 select CPU_HAS_INTEVT
132 select CPU_HAS_PTEA if !CPU_SH4A || CPU_SHX2
133 select CPU_HAS_FPU if !CPU_SH4AL_DSP
155 prompt "Processor sub-type selection"
161 # SH-2 Processor Support
163 config CPU_SUBTYPE_SH7619
164 bool "Support SH7619 processor"
167 # SH-2A Processor Support
169 config CPU_SUBTYPE_SH7203
170 bool "Support SH7203 processor"
174 config CPU_SUBTYPE_SH7206
175 bool "Support SH7206 processor"
178 config CPU_SUBTYPE_SH7263
179 bool "Support SH7263 processor"
183 config CPU_SUBTYPE_MXG
184 bool "Support MX-G processor"
187 Select MX-G if running on an R8A03022BG part.
189 # SH-3 Processor Support
191 config CPU_SUBTYPE_SH7705
192 bool "Support SH7705 processor"
195 config CPU_SUBTYPE_SH7706
196 bool "Support SH7706 processor"
199 Select SH7706 if you have a 133 Mhz SH-3 HD6417706 CPU.
201 config CPU_SUBTYPE_SH7707
202 bool "Support SH7707 processor"
205 Select SH7707 if you have a 60 Mhz SH-3 HD6417707 CPU.
207 config CPU_SUBTYPE_SH7708
208 bool "Support SH7708 processor"
211 Select SH7708 if you have a 60 Mhz SH-3 HD6417708S or
212 if you have a 100 Mhz SH-3 HD6417708R CPU.
214 config CPU_SUBTYPE_SH7709
215 bool "Support SH7709 processor"
218 Select SH7709 if you have a 80 Mhz SH-3 HD6417709 CPU.
220 config CPU_SUBTYPE_SH7710
221 bool "Support SH7710 processor"
225 Select SH7710 if you have a SH3-DSP SH7710 CPU.
227 config CPU_SUBTYPE_SH7712
228 bool "Support SH7712 processor"
232 Select SH7712 if you have a SH3-DSP SH7712 CPU.
234 config CPU_SUBTYPE_SH7720
235 bool "Support SH7720 processor"
239 Select SH7720 if you have a SH3-DSP SH7720 CPU.
241 config CPU_SUBTYPE_SH7721
242 bool "Support SH7721 processor"
246 Select SH7721 if you have a SH3-DSP SH7721 CPU.
248 # SH-4 Processor Support
250 config CPU_SUBTYPE_SH7750
251 bool "Support SH7750 processor"
254 Select SH7750 if you have a 200 Mhz SH-4 HD6417750 CPU.
256 config CPU_SUBTYPE_SH7091
257 bool "Support SH7091 processor"
260 Select SH7091 if you have an SH-4 based Sega device (such as
261 the Dreamcast, Naomi, and Naomi 2).
263 config CPU_SUBTYPE_SH7750R
264 bool "Support SH7750R processor"
267 config CPU_SUBTYPE_SH7750S
268 bool "Support SH7750S processor"
271 config CPU_SUBTYPE_SH7751
272 bool "Support SH7751 processor"
275 Select SH7751 if you have a 166 Mhz SH-4 HD6417751 CPU,
276 or if you have a HD6417751R CPU.
278 config CPU_SUBTYPE_SH7751R
279 bool "Support SH7751R processor"
282 config CPU_SUBTYPE_SH7760
283 bool "Support SH7760 processor"
286 config CPU_SUBTYPE_SH4_202
287 bool "Support SH4-202 processor"
290 # SH-4A Processor Support
292 config CPU_SUBTYPE_SH7723
293 bool "Support SH7723 processor"
296 select ARCH_SPARSEMEM_ENABLE
298 Select SH7723 if you have an SH-MobileR2 CPU.
300 config CPU_SUBTYPE_SH7763
301 bool "Support SH7763 processor"
304 Select SH7763 if you have a SH4A SH7763(R5S77631) CPU.
306 config CPU_SUBTYPE_SH7770
307 bool "Support SH7770 processor"
310 config CPU_SUBTYPE_SH7780
311 bool "Support SH7780 processor"
314 config CPU_SUBTYPE_SH7785
315 bool "Support SH7785 processor"
318 select ARCH_SPARSEMEM_ENABLE
319 select SYS_SUPPORTS_NUMA
321 config CPU_SUBTYPE_SHX3
322 bool "Support SH-X3 processor"
325 select ARCH_SPARSEMEM_ENABLE
326 select SYS_SUPPORTS_NUMA
327 select SYS_SUPPORTS_SMP
329 # SH4AL-DSP Processor Support
331 config CPU_SUBTYPE_SH7343
332 bool "Support SH7343 processor"
335 config CPU_SUBTYPE_SH7722
336 bool "Support SH7722 processor"
339 select ARCH_SPARSEMEM_ENABLE
340 select SYS_SUPPORTS_NUMA
342 config CPU_SUBTYPE_SH7366
343 bool "Support SH7366 processor"
346 select ARCH_SPARSEMEM_ENABLE
347 select SYS_SUPPORTS_NUMA
349 # SH-5 Processor Support
351 config CPU_SUBTYPE_SH5_101
352 bool "Support SH5-101 processor"
355 config CPU_SUBTYPE_SH5_103
356 bool "Support SH5-103 processor"
361 source "arch/sh/mm/Kconfig"
363 source "arch/sh/Kconfig.cpu"
365 source "arch/sh/boards/Kconfig"
367 menu "Timer and clock configuration"
371 prompt "TMU timer support"
372 depends on CPU_SH3 || CPU_SH4
374 select GENERIC_CLOCKEVENTS
376 This enables the use of the TMU as the system timer.
380 prompt "CMT timer support"
381 depends on CPU_SH2 && !CPU_SUBTYPE_MXG
383 This enables the use of the CMT as the system timer.
387 prompt "MTU2 timer support"
390 This enables the use of the MTU2 as the system timer.
394 default "28" if CPU_SUBTYPE_SH7780 || CPU_SUBTYPE_SH7785 || \
396 default "86" if CPU_SUBTYPE_SH7619
397 default "140" if CPU_SUBTYPE_SH7206
398 default "142" if CPU_SUBTYPE_SH7203
399 default "238" if CPU_SUBTYPE_MXG
403 int "Peripheral clock frequency (in Hz)"
404 default "27000000" if CPU_SUBTYPE_SH7343
405 default "31250000" if CPU_SUBTYPE_SH7619
406 default "32000000" if CPU_SUBTYPE_SH7722
407 default "33333333" if CPU_SUBTYPE_SH7770 || CPU_SUBTYPE_SH7723 || \
408 CPU_SUBTYPE_SH7760 || CPU_SUBTYPE_SH7705 || \
409 CPU_SUBTYPE_SH7203 || CPU_SUBTYPE_SH7206 || \
410 CPU_SUBTYPE_SH7263 || CPU_SUBTYPE_MXG
411 default "60000000" if CPU_SUBTYPE_SH7751 || CPU_SUBTYPE_SH7751R
412 default "66000000" if CPU_SUBTYPE_SH4_202
415 This option is used to specify the peripheral clock frequency.
416 This is necessary for determining the reference clock value on
417 platforms lacking an RTC.
420 int "CPU Mode Pin Setting"
422 default 6 if CPU_SUBTYPE_SH7206
423 default 5 if CPU_SUBTYPE_SH7619
426 MD2 - MD0 pin setting.
428 source "kernel/time/Kconfig"
432 menu "CPU Frequency scaling"
434 source "drivers/cpufreq/Kconfig"
437 tristate "SuperH CPU Frequency driver"
439 select CPU_FREQ_TABLE
441 This adds the cpufreq driver for SuperH. At present, only
442 the SH-4 is supported.
444 For details, take a look at <file:Documentation/cpu-freq>.
450 source "arch/sh/drivers/Kconfig"
457 menu "Kernel features"
459 source kernel/Kconfig.hz
462 bool "kexec system call (EXPERIMENTAL)"
463 depends on SUPERH32 && EXPERIMENTAL
465 kexec is a system call that implements the ability to shutdown your
466 current kernel, and to start another kernel. It is like a reboot
467 but it is independent of the system firmware. And like a reboot
468 you can start any kernel with it, not just Linux.
470 The name comes from the similarity to the exec system call.
472 It is an ongoing process to be certain the hardware in a machine
473 is properly shutdown, so do not be surprised if this code does not
474 initially work for you. It may help to enable device hotplugging
475 support. As of this writing the exact hardware interface is
476 strongly in flux, so no good recommendation can be made.
479 bool "kernel crash dumps (EXPERIMENTAL)"
480 depends on SUPERH32 && EXPERIMENTAL
482 Generate crash dump after being started by kexec.
483 This should be normally only set in special crash dump kernels
484 which are loaded in the main kernel with kexec-tools into
485 a specially reserved region and then later executed after
486 a crash by kdump/kexec. The crash dump kernel must be compiled
487 to a memory address not used by the main kernel using
490 For more details see Documentation/kdump/kdump.txt
493 bool "Enable seccomp to safely compute untrusted bytecode"
497 This kernel feature is useful for number crunching applications
498 that may need to compute untrusted bytecode during their
499 execution. By using pipes or other transports made available to
500 the process as file descriptors supporting the read/write
501 syscalls, it's possible to isolate those applications in
502 their own address space using seccomp. Once seccomp is
503 enabled via prctl, it cannot be disabled and the task is only
504 allowed to execute a few safe syscalls defined by each seccomp
510 bool "Symmetric multi-processing support"
511 depends on SYS_SUPPORTS_SMP
512 select USE_GENERIC_SMP_HELPERS
514 This enables support for systems with more than one CPU. If you have
515 a system with only one CPU, like most personal computers, say N. If
516 you have a system with more than one CPU, say Y.
518 If you say N here, the kernel will run on single and multiprocessor
519 machines, but will use only one CPU of a multiprocessor machine. If
520 you say Y here, the kernel will run on many, but not all,
521 singleprocessor machines. On a singleprocessor machine, the kernel
522 will run faster if you say N here.
524 People using multiprocessor machines who say Y here should also say
525 Y to "Enhanced Real Time Clock Support", below.
527 See also <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO
528 available at <http://www.tldp.org/docs.html#howto>.
530 If you don't know what to do here, say N.
533 int "Maximum number of CPUs (2-32)"
536 default "4" if CPU_SHX3
539 This allows you to specify the maximum number of CPUs which this
540 kernel will support. The maximum supported value is 32 and the
541 minimum value which makes sense is 2.
543 This is purely to save memory - each supported CPU adds
544 approximately eight kilobytes to the kernel image.
546 source "kernel/Kconfig.preempt"
550 depends on !SMP && SUPERH32
552 This enables support for gUSA (general UserSpace Atomicity).
553 This is the default implementation for both UP and non-ll/sc
554 CPUs, and is used by the libc, amongst others.
556 For additional information, design information can be found
557 in <http://lc.linux.or.jp/lc2002/papers/niibe0919p.pdf>.
559 This should only be disabled for special cases where alternate
560 atomicity implementations exist.
563 bool "Implement atomic operations by roll-back (gRB) (EXPERIMENTAL)"
564 depends on GUSA && CPU_SH3 || (CPU_SH4 && !CPU_SH4A)
566 Enabling this option will allow the kernel to implement some
567 atomic operations using a software implemention of load-locked/
568 store-conditional (LLSC). On machines which do not have hardware
569 LLSC, this should be more efficient than the other alternative of
570 disabling insterrupts around the atomic sequence.
576 config ZERO_PAGE_OFFSET
577 hex "Zero page offset"
578 default "0x00004000" if SH_SH03
579 default "0x00010000" if PAGE_SIZE_64KB
580 default "0x00002000" if PAGE_SIZE_8KB
583 This sets the default offset of zero page.
585 config BOOT_LINK_OFFSET
586 hex "Link address offset for booting"
589 This option allows you to set the link address offset of the zImage.
590 This can be useful if you are on a board which has a small amount of
594 bool "Wakeup UBC on startup"
595 depends on CPU_SH4 && !CPU_SH4A
597 Selecting this option will wakeup the User Break Controller (UBC) on
598 startup. Although the UBC is left in an awake state when the processor
599 comes up, some boot loaders misbehave by putting the UBC to sleep in a
600 power saving state, which causes issues with things like ptrace().
605 bool "Default bootloader kernel arguments"
608 string "Initial kernel command string"
609 depends on CMDLINE_BOOL
610 default "console=ttySC1,115200"
616 # Even on SuperH devices which don't have an ISA bus,
617 # this variable helps the PCMCIA modules handle
618 # IRQ requesting properly -- Greg Banks.
620 # Though we're generally not interested in it when
621 # we're not using PCMCIA, so we make it dependent on
622 # PCMCIA outright. -- PFM.
625 depends on PCMCIA && HD6446X_SERIES
627 Find out whether you have ISA slots on your motherboard. ISA is the
628 name of a bus system, i.e. the way the CPU talks to the other stuff
629 inside your box. Other bus systems are PCI, EISA, MicroChannel
630 (MCA) or VESA. ISA is an older system, now being displaced by PCI;
631 newer boards don't support it. If you have ISA, say Y, otherwise N.
636 The Extended Industry Standard Architecture (EISA) bus was
637 developed as an open alternative to the IBM MicroChannel bus.
639 The EISA bus provided some of the features of the IBM MicroChannel
640 bus while maintaining backward compatibility with cards made for
641 the older ISA bus. The EISA bus saw limited use between 1988 and
642 1995 when it was made obsolete by the PCI bus.
644 Say Y here if you are building a kernel for an EISA-based machine.
651 MicroChannel Architecture is found in some IBM PS/2 machines and
652 laptops. It is a bus system similar to PCI or ISA. See
653 <file:Documentation/mca.txt> (and especially the web page given
654 there) before attempting to build an MCA bus kernel.
660 tristate "SuperHyway Bus support"
661 depends on CPU_SUBTYPE_SH4_202
664 bool "Maple Bus support"
665 depends on SH_DREAMCAST
667 The Maple Bus is SEGA's serial communication bus for peripherals
668 on the Dreamcast. Without this bus support you won't be able to
669 get your Dreamcast keyboard etc to work, so most users
670 probably want to say 'Y' here, unless you are only using the
671 Dreamcast with a serial line terminal or a remote network
675 bool "Compact Flash Enabler support"
676 depends on SOLUTION_ENGINE || SH_SH03
678 Compact Flash is a small, removable mass storage device introduced
679 in 1994 originally as a PCMCIA device. If you say `Y' here, you
680 compile in support for Compact Flash devices directly connected to
681 a SuperH processor. A Compact Flash FAQ is available at
682 <http://www.compactflash.org/faqs/faq.htm>.
684 If your board has "Directly Connected" CompactFlash at area 5 or 6,
685 you may want to enable this option. Then, you can use CF as
686 primary IDE drive (only tested for SanDisk).
688 If in doubt, select 'N'.
691 prompt "Compact Flash Connection Area"
692 depends on CF_ENABLER
698 If your board has "Directly Connected" CompactFlash, You should
699 select the area where your CF is connected to.
701 - "Area5" if CompactFlash is connected to Area 5 (0x14000000)
702 - "Area6" if it is connected to Area 6 (0x18000000)
704 "Area6" will work for most boards.
713 depends on CF_ENABLER
714 default "0xb8000000" if CF_AREA6
715 default "0xb4000000" if CF_AREA5
717 source "arch/sh/drivers/pci/Kconfig"
719 source "drivers/pci/Kconfig"
721 source "drivers/pcmcia/Kconfig"
723 source "drivers/pci/hotplug/Kconfig"
727 menu "Executable file formats"
729 source "fs/Kconfig.binfmt"
733 menu "Power management options (EXPERIMENTAL)"
734 depends on EXPERIMENTAL && SYS_SUPPORTS_PM
736 config ARCH_SUSPEND_POSSIBLE
740 source kernel/power/Kconfig
746 source "drivers/Kconfig"
750 source "arch/sh/Kconfig.debug"
752 source "security/Kconfig"
754 source "crypto/Kconfig"