2 # For a description of the syntax of this configuration file,
3 # see Documentation/kbuild/kconfig-language.txt.
6 mainmenu "Linux/SuperH Kernel Configuration"
13 The SuperH is a RISC processor targeted for use in embedded systems
14 and consumer electronics; it was also used in the Sega Dreamcast
15 gaming console. The SuperH port has a home page at
16 <http://www.linux-sh.org/>.
21 config RWSEM_GENERIC_SPINLOCK
25 config RWSEM_XCHGADD_ALGORITHM
32 config GENERIC_FIND_NEXT_BIT
36 config GENERIC_HWEIGHT
40 config GENERIC_HARDIRQS
44 config GENERIC_IRQ_PROBE
48 config GENERIC_CALIBRATE_DELAY
58 config GENERIC_CLOCKEVENTS
61 config SYS_SUPPORTS_PM
64 config SYS_SUPPORTS_APM_EMULATION
66 select SYS_SUPPORTS_PM
68 config SYS_SUPPORTS_SMP
71 config SYS_SUPPORTS_NUMA
74 config SYS_SUPPORTS_PCI
77 config ARCH_MAY_HAVE_PC_FDC
80 config STACKTRACE_SUPPORT
84 config LOCKDEP_SUPPORT
88 config ARCH_HAS_ILOG2_U32
92 config ARCH_HAS_ILOG2_U64
96 config ARCH_NO_VIRT_TO_BUS
115 select CPU_HAS_INTEVT
120 select CPU_HAS_INTEVT
122 select CPU_HAS_PTEA if !CPU_SH4A || CPU_SHX2
123 select CPU_HAS_FPU if !CPU_SH4AL_DSP
141 prompt "Processor sub-type selection"
147 # SH-2 Processor Support
149 config CPU_SUBTYPE_SH7619
150 bool "Support SH7619 processor"
153 # SH-2A Processor Support
155 config CPU_SUBTYPE_SH7206
156 bool "Support SH7206 processor"
159 # SH-3 Processor Support
161 config CPU_SUBTYPE_SH7705
162 bool "Support SH7705 processor"
165 config CPU_SUBTYPE_SH7706
166 bool "Support SH7706 processor"
169 Select SH7706 if you have a 133 Mhz SH-3 HD6417706 CPU.
171 config CPU_SUBTYPE_SH7707
172 bool "Support SH7707 processor"
175 Select SH7707 if you have a 60 Mhz SH-3 HD6417707 CPU.
177 config CPU_SUBTYPE_SH7708
178 bool "Support SH7708 processor"
181 Select SH7708 if you have a 60 Mhz SH-3 HD6417708S or
182 if you have a 100 Mhz SH-3 HD6417708R CPU.
184 config CPU_SUBTYPE_SH7709
185 bool "Support SH7709 processor"
188 Select SH7709 if you have a 80 Mhz SH-3 HD6417709 CPU.
190 config CPU_SUBTYPE_SH7710
191 bool "Support SH7710 processor"
195 Select SH7710 if you have a SH3-DSP SH7710 CPU.
197 config CPU_SUBTYPE_SH7712
198 bool "Support SH7712 processor"
202 Select SH7712 if you have a SH3-DSP SH7712 CPU.
204 config CPU_SUBTYPE_SH7720
205 bool "Support SH7720 processor"
209 Select SH7720 if you have a SH3-DSP SH7720 CPU.
211 # SH-4 Processor Support
213 config CPU_SUBTYPE_SH7750
214 bool "Support SH7750 processor"
217 Select SH7750 if you have a 200 Mhz SH-4 HD6417750 CPU.
219 config CPU_SUBTYPE_SH7091
220 bool "Support SH7091 processor"
223 Select SH7091 if you have an SH-4 based Sega device (such as
224 the Dreamcast, Naomi, and Naomi 2).
226 config CPU_SUBTYPE_SH7750R
227 bool "Support SH7750R processor"
230 config CPU_SUBTYPE_SH7750S
231 bool "Support SH7750S processor"
234 config CPU_SUBTYPE_SH7751
235 bool "Support SH7751 processor"
238 Select SH7751 if you have a 166 Mhz SH-4 HD6417751 CPU,
239 or if you have a HD6417751R CPU.
241 config CPU_SUBTYPE_SH7751R
242 bool "Support SH7751R processor"
245 config CPU_SUBTYPE_SH7760
246 bool "Support SH7760 processor"
249 config CPU_SUBTYPE_SH4_202
250 bool "Support SH4-202 processor"
253 # SH-4A Processor Support
255 config CPU_SUBTYPE_SH7770
256 bool "Support SH7770 processor"
259 config CPU_SUBTYPE_SH7780
260 bool "Support SH7780 processor"
263 config CPU_SUBTYPE_SH7785
264 bool "Support SH7785 processor"
267 select ARCH_SPARSEMEM_ENABLE
268 select SYS_SUPPORTS_NUMA
270 config CPU_SUBTYPE_SHX3
271 bool "Support SH-X3 processor"
274 select ARCH_SPARSEMEM_ENABLE
275 select SYS_SUPPORTS_NUMA
276 select SYS_SUPPORTS_SMP
278 # SH4AL-DSP Processor Support
280 config CPU_SUBTYPE_SH7343
281 bool "Support SH7343 processor"
284 config CPU_SUBTYPE_SH7722
285 bool "Support SH7722 processor"
288 select ARCH_SPARSEMEM_ENABLE
289 select SYS_SUPPORTS_NUMA
293 source "arch/sh/mm/Kconfig"
294 source "arch/sh/Kconfig.cpu"
298 config SOLUTION_ENGINE
301 config SH_SOLUTION_ENGINE
302 bool "SolutionEngine"
303 select SOLUTION_ENGINE
304 select CPU_HAS_IPR_IRQ
305 depends on CPU_SUBTYPE_SH7705 || CPU_SUBTYPE_SH7709 || CPU_SUBTYPE_SH7710 || \
306 CPU_SUBTYPE_SH7712 || CPU_SUBTYPE_SH7750 || CPU_SUBTYPE_SH7750S || \
309 Select SolutionEngine if configuring for a Hitachi SH7705, SH7709,
310 SH7710, SH7712, SH7750, SH7750S or SH7750R evaluation board.
312 config SH_7206_SOLUTION_ENGINE
313 bool "SolutionEngine7206"
314 select SOLUTION_ENGINE
315 depends on CPU_SUBTYPE_SH7206
317 Select 7206 SolutionEngine if configuring for a Hitachi SH7206
320 config SH_7619_SOLUTION_ENGINE
321 bool "SolutionEngine7619"
322 select SOLUTION_ENGINE
323 depends on CPU_SUBTYPE_SH7619
325 Select 7619 SolutionEngine if configuring for a Hitachi SH7619
328 config SH_7722_SOLUTION_ENGINE
329 bool "SolutionEngine7722"
330 select SOLUTION_ENGINE
331 depends on CPU_SUBTYPE_SH7722
333 Select 7722 SolutionEngine if configuring for a Hitachi SH772
336 config SH_7751_SOLUTION_ENGINE
337 bool "SolutionEngine7751"
338 select SOLUTION_ENGINE
339 select CPU_HAS_IPR_IRQ
340 depends on CPU_SUBTYPE_SH7751
342 Select 7751 SolutionEngine if configuring for a Hitachi SH7751
345 config SH_7780_SOLUTION_ENGINE
346 bool "SolutionEngine7780"
347 select SOLUTION_ENGINE
348 select SYS_SUPPORTS_PCI
349 depends on CPU_SUBTYPE_SH7780
351 Select 7780 SolutionEngine if configuring for a Renesas SH7780
354 config SH_7343_SOLUTION_ENGINE
355 bool "SolutionEngine7343"
356 select SOLUTION_ENGINE
357 depends on CPU_SUBTYPE_SH7343
359 Select 7343 SolutionEngine if configuring for a Hitachi
360 SH7343 (SH-Mobile 3AS) evaluation board.
362 config SH_7751_SYSTEMH
364 depends on CPU_SUBTYPE_SH7751R
366 Select SystemH if you are configuring for a Renesas SystemH
367 7751R evaluation board.
371 select SYS_SUPPORTS_APM_EMULATION
372 select HD6446X_SERIES
373 depends on CPU_SUBTYPE_SH7709
375 Select HP6XX if configuring for a HP jornada HP6xx.
376 More information (hardware only) at
377 <http://www.hp.com/jornada/>.
381 select SYS_SUPPORTS_PCI
382 depends on CPU_SUBTYPE_SH7091
384 Select Dreamcast if configuring for a SEGA Dreamcast.
385 More information at <http://www.linux-sh.org>
388 bool "Interface MPC1211"
389 depends on CPU_SUBTYPE_SH7751 && BROKEN
391 CTP/PCI-SH02 is a CPU module computer that is produced
392 by Interface Corporation.
393 More information at <http://www.interface.co.jp>
396 bool "Interface CTP/PCI-SH03"
397 depends on CPU_SUBTYPE_SH7751
398 select CPU_HAS_IPR_IRQ
399 select SYS_SUPPORTS_PCI
401 CTP/PCI-SH03 is a CPU module computer that is produced
402 by Interface Corporation.
403 More information at <http://www.interface.co.jp>
405 config SH_SECUREEDGE5410
406 bool "SecureEdge5410"
407 depends on CPU_SUBTYPE_SH7751R
408 select CPU_HAS_IPR_IRQ
409 select SYS_SUPPORTS_PCI
411 Select SecureEdge5410 if configuring for a SnapGear SH board.
412 This includes both the OEM SecureEdge products as well as the
415 config SH_HS7751RVOIP
417 depends on CPU_SUBTYPE_SH7751R
419 Select HS7751RVOIP if configuring for a Renesas Technology
423 bool "SH7710-VOIP-GW"
424 depends on CPU_SUBTYPE_SH7710
426 Select this option to build a kernel for the SH7710 based
431 depends on CPU_SUBTYPE_SH7751R
432 select SYS_SUPPORTS_PCI
434 Select RTS7751R2D if configuring for a Renesas Technology
435 Sales SH-Graphics board.
439 depends on CPU_SUBTYPE_SH7780 || CPU_SUBTYPE_SH7785
440 select SYS_SUPPORTS_PCI
444 depends on CPU_SUBTYPE_SH7705
446 config SH_SH4202_MICRODEV
447 bool "SH4-202 MicroDev"
448 depends on CPU_SUBTYPE_SH4_202
450 Select SH4-202 MicroDev if configuring for a SuperH MicroDev board
455 depends on CPU_SUBTYPE_SH7751R
456 select SYS_SUPPORTS_PCI
458 I-O DATA DEVICE, INC. "LANDISK Series" support.
462 depends on CPU_SUBTYPE_SH7751R
463 select CPU_HAS_IPR_IRQ
464 select SYS_SUPPORTS_PCI
466 Select Titan if you are configuring for a Nimble Microsystems
471 depends on CPU_SUBTYPE_SH7706
472 select CPU_HAS_IPR_IRQ
474 Select SHMIN if configuring for the SHMIN board.
478 depends on CPU_SUBTYPE_SH7751R
479 select SYS_SUPPORTS_PCI
481 Select L-BOX RE2 if configuring for the NTT COMWARE L-BOX RE2.
484 bool "SH-X3 Prototype board"
485 depends on CPU_SUBTYPE_SHX3
487 config SH_MAGIC_PANEL_R2
488 bool "Magic Panel R2"
489 depends on CPU_SUBTYPE_SH7720
491 Select Magic Panel R2 if configuring for Magic Panel R2.
495 source "arch/sh/boards/renesas/hs7751rvoip/Kconfig"
496 source "arch/sh/boards/renesas/rts7751r2d/Kconfig"
497 source "arch/sh/boards/renesas/r7780rp/Kconfig"
498 source "arch/sh/boards/magicpanelr2/Kconfig"
500 menu "Timer and clock configuration"
503 bool "TMU timer support"
504 depends on CPU_SH3 || CPU_SH4
506 select GENERIC_CLOCKEVENTS
509 This enables the use of the TMU as the system timer.
512 bool "CMT timer support"
516 This enables the use of the CMT as the system timer.
519 bool "MTU2 timer support"
523 This enables the use of the MTU2 as the system timer.
527 default "28" if CPU_SUBTYPE_SH7780 || CPU_SUBTYPE_SH7785
528 default "86" if CPU_SUBTYPE_SH7619
529 default "140" if CPU_SUBTYPE_SH7206
533 int "Peripheral clock frequency (in Hz)"
534 default "27000000" if CPU_SUBTYPE_SH7343
535 default "31250000" if CPU_SUBTYPE_SH7619
536 default "32000000" if CPU_SUBTYPE_SH7722
537 default "33333333" if CPU_SUBTYPE_SH7770 || \
538 CPU_SUBTYPE_SH7760 || CPU_SUBTYPE_SH7705 || \
540 default "60000000" if CPU_SUBTYPE_SH7751 || CPU_SUBTYPE_SH7751R
541 default "66000000" if CPU_SUBTYPE_SH4_202
544 This option is used to specify the peripheral clock frequency.
545 This is necessary for determining the reference clock value on
546 platforms lacking an RTC.
549 int "CPU Mode Pin Setting"
550 depends on CPU_SUBTYPE_SH7619 || CPU_SUBTYPE_SH7206
551 default 6 if CPU_SUBTYPE_SH7206
552 default 5 if CPU_SUBTYPE_SH7619
555 MD2 - MD0 pin setting.
557 source "kernel/time/Kconfig"
561 menu "CPU Frequency scaling"
563 source "drivers/cpufreq/Kconfig"
566 tristate "SuperH CPU Frequency driver"
568 select CPU_FREQ_TABLE
570 This adds the cpufreq driver for SuperH. At present, only
571 the SH-4 is supported.
573 For details, take a look at <file:Documentation/cpu-freq>.
579 source "arch/sh/drivers/Kconfig"
585 depends on SH_MPC1211
588 menu "Kernel features"
590 source kernel/Kconfig.hz
593 bool "kexec system call (EXPERIMENTAL)"
594 depends on EXPERIMENTAL
596 kexec is a system call that implements the ability to shutdown your
597 current kernel, and to start another kernel. It is like a reboot
598 but it is independent of the system firmware. And like a reboot
599 you can start any kernel with it, not just Linux.
601 The name comes from the similarity to the exec system call.
603 It is an ongoing process to be certain the hardware in a machine
604 is properly shutdown, so do not be surprised if this code does not
605 initially work for you. It may help to enable device hotplugging
606 support. As of this writing the exact hardware interface is
607 strongly in flux, so no good recommendation can be made.
610 bool "kernel crash dumps (EXPERIMENTAL)"
611 depends on EXPERIMENTAL
613 Generate crash dump after being started by kexec.
614 This should be normally only set in special crash dump kernels
615 which are loaded in the main kernel with kexec-tools into
616 a specially reserved region and then later executed after
617 a crash by kdump/kexec. The crash dump kernel must be compiled
618 to a memory address not used by the main kernel using
621 For more details see Documentation/kdump/kdump.txt
624 bool "Symmetric multi-processing support"
625 depends on SYS_SUPPORTS_SMP
627 This enables support for systems with more than one CPU. If you have
628 a system with only one CPU, like most personal computers, say N. If
629 you have a system with more than one CPU, say Y.
631 If you say N here, the kernel will run on single and multiprocessor
632 machines, but will use only one CPU of a multiprocessor machine. If
633 you say Y here, the kernel will run on many, but not all,
634 singleprocessor machines. On a singleprocessor machine, the kernel
635 will run faster if you say N here.
637 People using multiprocessor machines who say Y here should also say
638 Y to "Enhanced Real Time Clock Support", below.
640 See also the <file:Documentation/smp.txt>,
641 <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO available
642 at <http://www.tldp.org/docs.html#howto>.
644 If you don't know what to do here, say N.
647 int "Maximum number of CPUs (2-32)"
650 default "4" if CPU_SHX3
653 This allows you to specify the maximum number of CPUs which this
654 kernel will support. The maximum supported value is 32 and the
655 minimum value which makes sense is 2.
657 This is purely to save memory - each supported CPU adds
658 approximately eight kilobytes to the kernel image.
660 source "kernel/Kconfig.preempt"
666 This enables support for gUSA (general UserSpace Atomicity).
667 This is the default implementation for both UP and non-ll/sc
668 CPUs, and is used by the libc, amongst others.
670 For additional information, design information can be found
671 in <http://lc.linux.or.jp/lc2002/papers/niibe0919p.pdf>.
673 This should only be disabled for special cases where alternate
674 atomicity implementations exist.
680 config ZERO_PAGE_OFFSET
681 hex "Zero page offset"
682 default "0x00004000" if SH_MPC1211 || SH_SH03
683 default "0x00010000" if PAGE_SIZE_64KB
684 default "0x00002000" if PAGE_SIZE_8KB
687 This sets the default offset of zero page.
689 config BOOT_LINK_OFFSET
690 hex "Link address offset for booting"
693 This option allows you to set the link address offset of the zImage.
694 This can be useful if you are on a board which has a small amount of
698 bool "Wakeup UBC on startup"
699 depends on CPU_SH4 && !CPU_SH4A
701 Selecting this option will wakeup the User Break Controller (UBC) on
702 startup. Although the UBC is left in an awake state when the processor
703 comes up, some boot loaders misbehave by putting the UBC to sleep in a
704 power saving state, which causes issues with things like ptrace().
709 bool "Default bootloader kernel arguments"
712 string "Initial kernel command string"
713 depends on CMDLINE_BOOL
714 default "console=ttySC1,115200"
720 # Even on SuperH devices which don't have an ISA bus,
721 # this variable helps the PCMCIA modules handle
722 # IRQ requesting properly -- Greg Banks.
724 # Though we're generally not interested in it when
725 # we're not using PCMCIA, so we make it dependent on
726 # PCMCIA outright. -- PFM.
729 depends on PCMCIA && HD6446X_SERIES
731 Find out whether you have ISA slots on your motherboard. ISA is the
732 name of a bus system, i.e. the way the CPU talks to the other stuff
733 inside your box. Other bus systems are PCI, EISA, MicroChannel
734 (MCA) or VESA. ISA is an older system, now being displaced by PCI;
735 newer boards don't support it. If you have ISA, say Y, otherwise N.
740 The Extended Industry Standard Architecture (EISA) bus was
741 developed as an open alternative to the IBM MicroChannel bus.
743 The EISA bus provided some of the features of the IBM MicroChannel
744 bus while maintaining backward compatibility with cards made for
745 the older ISA bus. The EISA bus saw limited use between 1988 and
746 1995 when it was made obsolete by the PCI bus.
748 Say Y here if you are building a kernel for an EISA-based machine.
755 MicroChannel Architecture is found in some IBM PS/2 machines and
756 laptops. It is a bus system similar to PCI or ISA. See
757 <file:Documentation/mca.txt> (and especially the web page given
758 there) before attempting to build an MCA bus kernel.
764 tristate "SuperHyway Bus support"
765 depends on CPU_SUBTYPE_SH4_202
768 bool "Maple Bus support"
769 depends on SH_DREAMCAST
771 The Maple Bus is SEGA's serial communication bus for peripherals
772 on the Dreamcast. Without this bus support you won't be able to
773 get your Dreamcast keyboard etc to work, so most users
774 probably want to say 'Y' here, unless you are only using the
775 Dreamcast with a serial line terminal or a remote network
779 bool "Compact Flash Enabler support"
780 depends on SOLUTION_ENGINE || SH_SH03
782 Compact Flash is a small, removable mass storage device introduced
783 in 1994 originally as a PCMCIA device. If you say `Y' here, you
784 compile in support for Compact Flash devices directly connected to
785 a SuperH processor. A Compact Flash FAQ is available at
786 <http://www.compactflash.org/faqs/faq.htm>.
788 If your board has "Directly Connected" CompactFlash at area 5 or 6,
789 you may want to enable this option. Then, you can use CF as
790 primary IDE drive (only tested for SanDisk).
792 If in doubt, select 'N'.
795 prompt "Compact Flash Connection Area"
796 depends on CF_ENABLER
802 If your board has "Directly Connected" CompactFlash, You should
803 select the area where your CF is connected to.
805 - "Area5" if CompactFlash is connected to Area 5 (0x14000000)
806 - "Area6" if it is connected to Area 6 (0x18000000)
808 "Area6" will work for most boards.
817 depends on CF_ENABLER
818 default "0xb8000000" if CF_AREA6
819 default "0xb4000000" if CF_AREA5
821 source "arch/sh/drivers/pci/Kconfig"
823 source "drivers/pci/Kconfig"
825 source "drivers/pcmcia/Kconfig"
827 source "drivers/pci/hotplug/Kconfig"
831 menu "Executable file formats"
833 source "fs/Kconfig.binfmt"
837 menu "Power management options (EXPERIMENTAL)"
838 depends on EXPERIMENTAL && SYS_SUPPORTS_PM
840 source kernel/power/Kconfig
846 source "drivers/Kconfig"
850 source "kernel/Kconfig.instrumentation"
852 source "arch/sh/Kconfig.debug"
854 source "security/Kconfig"
856 source "crypto/Kconfig"