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/>.
18 config RWSEM_GENERIC_SPINLOCK
22 config RWSEM_XCHGADD_ALGORITHM
29 config GENERIC_FIND_NEXT_BIT
33 config GENERIC_HWEIGHT
37 config GENERIC_HARDIRQS
41 config GENERIC_IRQ_PROBE
45 config GENERIC_CALIBRATE_DELAY
55 config GENERIC_CLOCKEVENTS
58 config SYS_SUPPORTS_APM_EMULATION
61 config ARCH_MAY_HAVE_PC_FDC
64 config STACKTRACE_SUPPORT
68 config LOCKDEP_SUPPORT
72 config ARCH_HAS_ILOG2_U32
76 config ARCH_HAS_ILOG2_U64
84 config SOLUTION_ENGINE
88 prompt "SuperH system type"
91 config SH_SOLUTION_ENGINE
93 select SOLUTION_ENGINE
95 Select SolutionEngine if configuring for a Hitachi SH7709
96 or SH7750 evaluation board.
98 config SH_7722_SOLUTION_ENGINE
99 bool "SolutionEngine7722"
100 select SOLUTION_ENGINE
101 select CPU_SUBTYPE_SH7722
103 Select 7722 SolutionEngine if configuring for a Hitachi SH772
106 config SH_7751_SOLUTION_ENGINE
107 bool "SolutionEngine7751"
108 select SOLUTION_ENGINE
109 select CPU_SUBTYPE_SH7751
111 Select 7751 SolutionEngine if configuring for a Hitachi SH7751
114 config SH_7780_SOLUTION_ENGINE
115 bool "SolutionEngine7780"
116 select SOLUTION_ENGINE
117 select CPU_SUBTYPE_SH7780
119 Select 7780 SolutionEngine if configuring for a Renesas SH7780
122 config SH_7300_SOLUTION_ENGINE
123 bool "SolutionEngine7300"
124 select SOLUTION_ENGINE
125 select CPU_SUBTYPE_SH7300
127 Select 7300 SolutionEngine if configuring for a Hitachi
128 SH7300(SH-Mobile V) evaluation board.
130 config SH_7343_SOLUTION_ENGINE
131 bool "SolutionEngine7343"
132 select SOLUTION_ENGINE
133 select CPU_SUBTYPE_SH7343
135 Select 7343 SolutionEngine if configuring for a Hitachi
136 SH7343 (SH-Mobile 3AS) evaluation board.
138 config SH_73180_SOLUTION_ENGINE
139 bool "SolutionEngine73180"
140 select SOLUTION_ENGINE
141 select CPU_SUBTYPE_SH73180
143 Select 73180 SolutionEngine if configuring for a Hitachi
144 SH73180(SH-Mobile 3) evaluation board.
146 config SH_7751_SYSTEMH
148 select CPU_SUBTYPE_SH7751R
150 Select SystemH if you are configuring for a Renesas SystemH
151 7751R evaluation board.
155 select SYS_SUPPORTS_APM_EMULATION
157 Select HP6XX if configuring for a HP jornada HP6xx.
158 More information (hardware only) at
159 <http://www.hp.com/jornada/>.
163 select CPU_SUBTYPE_SH7604
165 Select Saturn if configuring for a SEGA Saturn.
169 select CPU_SUBTYPE_SH7091
171 Select Dreamcast if configuring for a SEGA Dreamcast.
173 <http://www.m17n.org/linux-sh/dreamcast/>. There is a
174 Dreamcast project is at <http://linuxdc.sourceforge.net/>.
177 bool "Interface MPC1211"
179 CTP/PCI-SH02 is a CPU module computer that is produced
180 by Interface Corporation.
181 More information at <http://www.interface.co.jp>
184 bool "Interface CTP/PCI-SH03"
186 CTP/PCI-SH03 is a CPU module computer that is produced
187 by Interface Corporation.
188 More information at <http://www.interface.co.jp>
190 config SH_SECUREEDGE5410
191 bool "SecureEdge5410"
192 select CPU_SUBTYPE_SH7751R
194 Select SecureEdge5410 if configuring for a SnapGear SH board.
195 This includes both the OEM SecureEdge products as well as the
198 config SH_HS7751RVOIP
200 select CPU_SUBTYPE_SH7751R
202 Select HS7751RVOIP if configuring for a Renesas Technology
206 bool "SH7710-VOIP-GW"
207 select CPU_SUBTYPE_SH7710
209 Select this option to build a kernel for the SH7710 based
214 select CPU_SUBTYPE_SH7751R
216 Select RTS7751R2D if configuring for a Renesas Technology
217 Sales SH-Graphics board.
224 select CPU_SUBTYPE_SH7705
226 config SH_SH4202_MICRODEV
227 bool "SH4-202 MicroDev"
228 select CPU_SUBTYPE_SH4_202
230 Select SH4-202 MicroDev if configuring for a SuperH MicroDev board
235 select CPU_SUBTYPE_SH7751R
237 I-O DATA DEVICE, INC. "LANDISK Series" support.
241 select CPU_SUBTYPE_SH7751R
243 Select Titan if you are configuring for a Nimble Microsystems
248 select CPU_SUBTYPE_SH7706
250 Select SHMIN if configuring for the SHMIN board.
252 config SH_7206_SOLUTION_ENGINE
253 bool "SolutionEngine7206"
254 select CPU_SUBTYPE_SH7206
256 Select 7206 SolutionEngine if configuring for a Hitachi SH7206
259 config SH_7619_SOLUTION_ENGINE
260 bool "SolutionEngine7619"
261 select CPU_SUBTYPE_SH7619
263 Select 7619 SolutionEngine if configuring for a Hitachi SH7619
268 select CPU_SUBTYPE_SH7751R
270 Select L-BOX RE2 if configuring for the NTT COMWARE L-BOX RE2.
275 "Bare CPU" aka "unknown" means an SH-based system which is not one
276 of the specific ones mentioned above, which means you need to enter
277 all sorts of stuff like CONFIG_MEMORY_START because the config
278 system doesn't already know what it is. You get a machine vector
279 without any platform-specific code in it, so things like the RTC may
282 This option is for the early stages of porting to a new machine.
286 source "arch/sh/boards/renesas/hs7751rvoip/Kconfig"
287 source "arch/sh/boards/renesas/rts7751r2d/Kconfig"
288 source "arch/sh/boards/renesas/r7780rp/Kconfig"
290 source "arch/sh/mm/Kconfig"
293 bool "Compact Flash Enabler support"
294 depends on SH_SOLUTION_ENGINE || SH_UNKNOWN || SH_SH03
296 Compact Flash is a small, removable mass storage device introduced
297 in 1994 originally as a PCMCIA device. If you say `Y' here, you
298 compile in support for Compact Flash devices directly connected to
299 a SuperH processor. A Compact Flash FAQ is available at
300 <http://www.compactflash.org/faqs/faq.htm>.
302 If your board has "Directly Connected" CompactFlash at area 5 or 6,
303 you may want to enable this option. Then, you can use CF as
304 primary IDE drive (only tested for SanDisk).
306 If in doubt, select 'N'.
309 prompt "Compact Flash Connection Area"
310 depends on CF_ENABLER
316 If your board has "Directly Connected" CompactFlash, You should
317 select the area where your CF is connected to.
319 - "Area5" if CompactFlash is connected to Area 5 (0x14000000)
320 - "Area6" if it is connected to Area 6 (0x18000000)
322 "Area6" will work for most boards.
331 depends on CF_ENABLER
332 default "0xb8000000" if CF_AREA6
333 default "0xb4000000" if CF_AREA5
335 menu "Processor features"
338 prompt "Endianess selection"
339 default CPU_LITTLE_ENDIAN
341 Some SuperH machines can be configured for either little or big
342 endian byte order. These modes require different kernels.
344 config CPU_LITTLE_ENDIAN
347 config CPU_BIG_ENDIAN
357 Selecting this option will enable support for SH processors that
358 have FPU units (ie, SH77xx).
360 This option must be set in order to enable the FPU.
363 bool "FPU emulation support"
364 depends on !SH_FPU && EXPERIMENTAL
367 Selecting this option will enable support for software FPU emulation.
368 Most SH-3 users will want to say Y here, whereas most SH-4 users will
373 default y if SH4AL_DSP || !CPU_SH4
376 Selecting this option will enable support for SH processors that
377 have DSP units (ie, SH2-DSP, SH3-DSP, and SH4AL-DSP).
379 This option must be set in order to enable the DSP.
386 Selecting this option will allow the Linux kernel to use SH3 on-chip
391 config SH_STORE_QUEUES
392 bool "Support for Store Queues"
395 Selecting this option will enable an in-kernel API for manipulating
396 the store queues integrated in the SH-4 processors.
398 config SPECULATIVE_EXECUTION
399 bool "Speculative subroutine return"
400 depends on CPU_SUBTYPE_SH7780 && EXPERIMENTAL
402 This enables support for a speculative instruction fetch for
403 subroutine return. There are various pitfalls associated with
404 this, as outlined in the SH7780 hardware manual.
408 config CPU_HAS_INTEVT
411 config CPU_HAS_PINT_IRQ
414 config CPU_HAS_MASKREG_IRQ
417 config CPU_HAS_INTC2_IRQ
420 config CPU_HAS_IPR_IRQ
425 depends on CPU_SH3 || CPU_SH4
428 This will enable the use of SR.RB register bank usage. Processors
429 that are lacking this bit must have another method in place for
430 accomplishing what is taken care of by the banked registers.
432 See <file:Documentation/sh/register-banks.txt> for further
433 information on SR.RB and register banking in the kernel in general.
440 menu "Timer and clock configuration"
443 bool "TMU timer support"
444 depends on CPU_SH3 || CPU_SH4
446 select GENERIC_CLOCKEVENTS
449 This enables the use of the TMU as the system timer.
452 bool "CMT timer support"
456 This enables the use of the CMT as the system timer.
459 bool "MTU2 timer support"
463 This enables the use of the MTU2 as the system timer.
467 default "28" if CPU_SUBTYPE_SH7780 || CPU_SUBTYPE_SH7785
468 default "86" if CPU_SUBTYPE_SH7619
469 default "140" if CPU_SUBTYPE_SH7206
473 int "Peripheral clock frequency (in Hz)"
474 default "27000000" if CPU_SUBTYPE_SH73180 || CPU_SUBTYPE_SH7343
475 default "31250000" if CPU_SUBTYPE_SH7619
476 default "33333333" if CPU_SUBTYPE_SH7300 || CPU_SUBTYPE_SH7770 || \
477 CPU_SUBTYPE_SH7760 || CPU_SUBTYPE_SH7705 || \
479 default "50000000" if CPU_SUBTYPE_SH7750 || CPU_SUBTYPE_SH7780 || \
481 default "60000000" if CPU_SUBTYPE_SH7751
482 default "66000000" if CPU_SUBTYPE_SH4_202
484 This option is used to specify the peripheral clock frequency.
485 This is necessary for determining the reference clock value on
486 platforms lacking an RTC.
489 int "CPU Mode Pin Setting"
491 depends on CPU_SUBTYPE_SH7619 || CPU_SUBTYPE_SH7206
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. At present, only
509 the SH-4 is supported.
511 For details, take a look at <file:Documentation/cpu-freq>.
517 source "arch/sh/drivers/Kconfig"
523 depends on SH_MPC1211
526 menu "Kernel features"
528 source kernel/Kconfig.hz
531 bool "kexec system call (EXPERIMENTAL)"
532 depends on EXPERIMENTAL
534 kexec is a system call that implements the ability to shutdown your
535 current kernel, and to start another kernel. It is like a reboot
536 but it is independent of the system firmware. And like a reboot
537 you can start any kernel with it, not just Linux.
539 The name comes from the similarity to the exec system call.
541 It is an ongoing process to be certain the hardware in a machine
542 is properly shutdown, so do not be surprised if this code does not
543 initially work for you. It may help to enable device hotplugging
544 support. As of this writing the exact hardware interface is
545 strongly in flux, so no good recommendation can be made.
548 bool "kernel crash dumps (EXPERIMENTAL)"
549 depends on EXPERIMENTAL
551 Generate crash dump after being started by kexec.
552 This should be normally only set in special crash dump kernels
553 which are loaded in the main kernel with kexec-tools into
554 a specially reserved region and then later executed after
555 a crash by kdump/kexec. The crash dump kernel must be compiled
556 to a memory address not used by the main kernel using
559 For more details see Documentation/kdump/kdump.txt
562 bool "Symmetric multi-processing support"
564 This enables support for systems with more than one CPU. If you have
565 a system with only one CPU, like most personal computers, say N. If
566 you have a system with more than one CPU, say Y.
568 If you say N here, the kernel will run on single and multiprocessor
569 machines, but will use only one CPU of a multiprocessor machine. If
570 you say Y here, the kernel will run on many, but not all,
571 singleprocessor machines. On a singleprocessor machine, the kernel
572 will run faster if you say N here.
574 People using multiprocessor machines who say Y here should also say
575 Y to "Enhanced Real Time Clock Support", below.
577 See also the <file:Documentation/smp.txt>,
578 <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO available
579 at <http://www.tldp.org/docs.html#howto>.
581 If you don't know what to do here, say N.
584 int "Maximum number of CPUs (2-32)"
589 This allows you to specify the maximum number of CPUs which this
590 kernel will support. The maximum supported value is 32 and the
591 minimum value which makes sense is 2.
593 This is purely to save memory - each supported CPU adds
594 approximately eight kilobytes to the kernel image.
596 source "kernel/Kconfig.preempt"
601 depends on NEED_MULTIPLE_NODES
607 config ZERO_PAGE_OFFSET
608 hex "Zero page offset"
609 default "0x00004000" if SH_MPC1211 || 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"
627 Selecting this option will wakeup the User Break Controller (UBC) on
628 startup. Although the UBC is left in an awake state when the processor
629 comes up, some boot loaders misbehave by putting the UBC to sleep in a
630 power saving state, which causes issues with things like ptrace().
635 bool "Default bootloader kernel arguments"
638 string "Initial kernel command string"
639 depends on CMDLINE_BOOL
640 default "console=ttySC1,115200"
646 # Even on SuperH devices which don't have an ISA bus,
647 # this variable helps the PCMCIA modules handle
648 # IRQ requesting properly -- Greg Banks.
650 # Though we're generally not interested in it when
651 # we're not using PCMCIA, so we make it dependent on
652 # PCMCIA outright. -- PFM.
657 Find out whether you have ISA slots on your motherboard. ISA is the
658 name of a bus system, i.e. the way the CPU talks to the other stuff
659 inside your box. Other bus systems are PCI, EISA, MicroChannel
660 (MCA) or VESA. ISA is an older system, now being displaced by PCI;
661 newer boards don't support it. If you have ISA, say Y, otherwise N.
666 The Extended Industry Standard Architecture (EISA) bus was
667 developed as an open alternative to the IBM MicroChannel bus.
669 The EISA bus provided some of the features of the IBM MicroChannel
670 bus while maintaining backward compatibility with cards made for
671 the older ISA bus. The EISA bus saw limited use between 1988 and
672 1995 when it was made obsolete by the PCI bus.
674 Say Y here if you are building a kernel for an EISA-based machine.
681 MicroChannel Architecture is found in some IBM PS/2 machines and
682 laptops. It is a bus system similar to PCI or ISA. See
683 <file:Documentation/mca.txt> (and especially the web page given
684 there) before attempting to build an MCA bus kernel.
690 tristate "SuperHyway Bus support"
691 depends on CPU_SUBTYPE_SH4_202
693 source "arch/sh/drivers/pci/Kconfig"
695 source "drivers/pci/Kconfig"
697 source "drivers/pcmcia/Kconfig"
699 source "drivers/pci/hotplug/Kconfig"
703 menu "Executable file formats"
705 source "fs/Kconfig.binfmt"
709 menu "Power management options (EXPERIMENTAL)"
710 depends on EXPERIMENTAL
712 source kernel/power/Kconfig
718 source "drivers/Kconfig"
722 source "arch/sh/oprofile/Kconfig"
724 source "arch/sh/Kconfig.debug"
726 source "security/Kconfig"
728 source "crypto/Kconfig"