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 SYS_SUPPORTS_APM_EMULATION
58 config ARCH_MAY_HAVE_PC_FDC
61 config STACKTRACE_SUPPORT
65 config LOCKDEP_SUPPORT
69 config ARCH_HAS_ILOG2_U32
73 config ARCH_HAS_ILOG2_U64
81 config SOLUTION_ENGINE
85 prompt "SuperH system type"
88 config SH_SOLUTION_ENGINE
90 select SOLUTION_ENGINE
92 Select SolutionEngine if configuring for a Hitachi SH7709
93 or SH7750 evaluation board.
95 config SH_7751_SOLUTION_ENGINE
96 bool "SolutionEngine7751"
97 select SOLUTION_ENGINE
98 select CPU_SUBTYPE_SH7751
100 Select 7751 SolutionEngine if configuring for a Hitachi SH7751
103 config SH_7780_SOLUTION_ENGINE
104 bool "SolutionEngine7780"
105 select SOLUTION_ENGINE
106 select CPU_SUBTYPE_SH7780
108 Select 7780 SolutionEngine if configuring for a Renesas SH7780
111 config SH_7300_SOLUTION_ENGINE
112 bool "SolutionEngine7300"
113 select SOLUTION_ENGINE
114 select CPU_SUBTYPE_SH7300
116 Select 7300 SolutionEngine if configuring for a Hitachi
117 SH7300(SH-Mobile V) evaluation board.
119 config SH_7343_SOLUTION_ENGINE
120 bool "SolutionEngine7343"
121 select SOLUTION_ENGINE
122 select CPU_SUBTYPE_SH7343
124 Select 7343 SolutionEngine if configuring for a Hitachi
125 SH7343 (SH-Mobile 3AS) evaluation board.
127 config SH_73180_SOLUTION_ENGINE
128 bool "SolutionEngine73180"
129 select SOLUTION_ENGINE
130 select CPU_SUBTYPE_SH73180
132 Select 73180 SolutionEngine if configuring for a Hitachi
133 SH73180(SH-Mobile 3) evaluation board.
135 config SH_7751_SYSTEMH
137 select CPU_SUBTYPE_SH7751R
139 Select SystemH if you are configuring for a Renesas SystemH
140 7751R evaluation board.
144 select SYS_SUPPORTS_APM_EMULATION
146 Select HP6XX if configuring for a HP jornada HP6xx.
147 More information (hardware only) at
148 <http://www.hp.com/jornada/>.
152 select CPU_SUBTYPE_SH7604
154 Select Saturn if configuring for a SEGA Saturn.
158 select CPU_SUBTYPE_SH7091
160 Select Dreamcast if configuring for a SEGA Dreamcast.
162 <http://www.m17n.org/linux-sh/dreamcast/>. There is a
163 Dreamcast project is at <http://linuxdc.sourceforge.net/>.
166 bool "Interface MPC1211"
168 CTP/PCI-SH02 is a CPU module computer that is produced
169 by Interface Corporation.
170 More information at <http://www.interface.co.jp>
173 bool "Interface CTP/PCI-SH03"
175 CTP/PCI-SH03 is a CPU module computer that is produced
176 by Interface Corporation.
177 More information at <http://www.interface.co.jp>
179 config SH_SECUREEDGE5410
180 bool "SecureEdge5410"
181 select CPU_SUBTYPE_SH7751R
183 Select SecureEdge5410 if configuring for a SnapGear SH board.
184 This includes both the OEM SecureEdge products as well as the
187 config SH_HS7751RVOIP
189 select CPU_SUBTYPE_SH7751R
191 Select HS7751RVOIP if configuring for a Renesas Technology
195 bool "SH7710-VOIP-GW"
196 select CPU_SUBTYPE_SH7710
198 Select this option to build a kernel for the SH7710 based
203 select CPU_SUBTYPE_SH7751R
205 Select RTS7751R2D if configuring for a Renesas Technology
206 Sales SH-Graphics board.
213 select CPU_SUBTYPE_SH7705
215 config SH_SH4202_MICRODEV
216 bool "SH4-202 MicroDev"
217 select CPU_SUBTYPE_SH4_202
219 Select SH4-202 MicroDev if configuring for a SuperH MicroDev board
224 select CPU_SUBTYPE_SH7751R
226 I-O DATA DEVICE, INC. "LANDISK Series" support.
230 select CPU_SUBTYPE_SH7751R
232 Select Titan if you are configuring for a Nimble Microsystems
237 select CPU_SUBTYPE_SH7706
239 Select SHMIN if configuring for the SHMIN board.
241 config SH_7206_SOLUTION_ENGINE
242 bool "SolutionEngine7206"
243 select CPU_SUBTYPE_SH7206
245 Select 7206 SolutionEngine if configuring for a Hitachi SH7206
248 config SH_7619_SOLUTION_ENGINE
249 bool "SolutionEngine7619"
250 select CPU_SUBTYPE_SH7619
252 Select 7619 SolutionEngine if configuring for a Hitachi SH7619
257 select CPU_SUBTYPE_SH7751R
259 Select L-BOX RE2 if configuring for the NTT COMWARE L-BOX RE2.
264 "Bare CPU" aka "unknown" means an SH-based system which is not one
265 of the specific ones mentioned above, which means you need to enter
266 all sorts of stuff like CONFIG_MEMORY_START because the config
267 system doesn't already know what it is. You get a machine vector
268 without any platform-specific code in it, so things like the RTC may
271 This option is for the early stages of porting to a new machine.
275 source "arch/sh/boards/renesas/hs7751rvoip/Kconfig"
276 source "arch/sh/boards/renesas/rts7751r2d/Kconfig"
277 source "arch/sh/boards/renesas/r7780rp/Kconfig"
279 source "arch/sh/mm/Kconfig"
282 bool "Compact Flash Enabler support"
283 depends on SH_SOLUTION_ENGINE || SH_UNKNOWN || SH_SH03
285 Compact Flash is a small, removable mass storage device introduced
286 in 1994 originally as a PCMCIA device. If you say `Y' here, you
287 compile in support for Compact Flash devices directly connected to
288 a SuperH processor. A Compact Flash FAQ is available at
289 <http://www.compactflash.org/faqs/faq.htm>.
291 If your board has "Directly Connected" CompactFlash at area 5 or 6,
292 you may want to enable this option. Then, you can use CF as
293 primary IDE drive (only tested for SanDisk).
295 If in doubt, select 'N'.
298 prompt "Compact Flash Connection Area"
299 depends on CF_ENABLER
305 If your board has "Directly Connected" CompactFlash, You should
306 select the area where your CF is connected to.
308 - "Area5" if CompactFlash is connected to Area 5 (0x14000000)
309 - "Area6" if it is connected to Area 6 (0x18000000)
311 "Area6" will work for most boards.
320 depends on CF_ENABLER
321 default "0xb8000000" if CF_AREA6
322 default "0xb4000000" if CF_AREA5
324 menu "Processor features"
327 prompt "Endianess selection"
328 default CPU_LITTLE_ENDIAN
330 Some SuperH machines can be configured for either little or big
331 endian byte order. These modes require different kernels.
333 config CPU_LITTLE_ENDIAN
336 config CPU_BIG_ENDIAN
346 Selecting this option will enable support for SH processors that
347 have FPU units (ie, SH77xx).
349 This option must be set in order to enable the FPU.
352 bool "FPU emulation support"
353 depends on !SH_FPU && EXPERIMENTAL
356 Selecting this option will enable support for software FPU emulation.
357 Most SH-3 users will want to say Y here, whereas most SH-4 users will
362 default y if SH4AL_DSP || !CPU_SH4
365 Selecting this option will enable support for SH processors that
366 have DSP units (ie, SH2-DSP, SH3-DSP, and SH4AL-DSP).
368 This option must be set in order to enable the DSP.
375 Selecting this option will allow the Linux kernel to use SH3 on-chip
380 config SH_STORE_QUEUES
381 bool "Support for Store Queues"
384 Selecting this option will enable an in-kernel API for manipulating
385 the store queues integrated in the SH-4 processors.
387 config SPECULATIVE_EXECUTION
388 bool "Speculative subroutine return"
389 depends on CPU_SUBTYPE_SH7780 && EXPERIMENTAL
391 This enables support for a speculative instruction fetch for
392 subroutine return. There are various pitfalls associated with
393 this, as outlined in the SH7780 hardware manual.
397 config CPU_HAS_INTEVT
400 config CPU_HAS_PINT_IRQ
403 config CPU_HAS_MASKREG_IRQ
406 config CPU_HAS_INTC2_IRQ
409 config CPU_HAS_IPR_IRQ
414 depends on CPU_SH3 || CPU_SH4
417 This will enable the use of SR.RB register bank usage. Processors
418 that are lacking this bit must have another method in place for
419 accomplishing what is taken care of by the banked registers.
421 See <file:Documentation/sh/register-banks.txt> for further
422 information on SR.RB and register banking in the kernel in general.
429 menu "Timer and clock configuration"
434 bool "TMU timer support"
435 depends on CPU_SH3 || CPU_SH4
438 This enables the use of the TMU as the system timer.
441 bool "CMT timer support"
445 This enables the use of the CMT as the system timer.
448 bool "MTU2 timer support"
452 This enables the use of the MTU2 as the system timer.
458 default "28" if CPU_SUBTYPE_SH7780 || CPU_SUBTYPE_SH7785
459 default "86" if CPU_SUBTYPE_SH7619
460 default "140" if CPU_SUBTYPE_SH7206
464 bool "Dynamic tick timer"
466 Select this option if you want to disable continuous timer ticks
467 and have them programmed to occur as required. This option saves
468 power as the system can remain in idle state for longer.
470 By default dynamic tick is disabled during the boot, and can be
471 manually enabled with:
473 echo 1 > /sys/devices/system/timer/timer0/dyn_tick
475 Alternatively, if you want dynamic tick automatically enabled
476 during boot, pass "dyntick=enable" via the kernel command string.
478 Please note that dynamic tick may affect the accuracy of
479 timekeeping on some platforms depending on the implementation.
482 int "Peripheral clock frequency (in Hz)"
483 default "27000000" if CPU_SUBTYPE_SH73180 || CPU_SUBTYPE_SH7343
484 default "31250000" if CPU_SUBTYPE_SH7619
485 default "33333333" if CPU_SUBTYPE_SH7300 || CPU_SUBTYPE_SH7770 || \
486 CPU_SUBTYPE_SH7760 || CPU_SUBTYPE_SH7705 || \
488 default "50000000" if CPU_SUBTYPE_SH7750 || CPU_SUBTYPE_SH7780 || \
490 default "60000000" if CPU_SUBTYPE_SH7751
491 default "66000000" if CPU_SUBTYPE_SH4_202
493 This option is used to specify the peripheral clock frequency.
494 This is necessary for determining the reference clock value on
495 platforms lacking an RTC.
498 int "CPU Mode Pin Setting"
500 depends on CPU_SUBTYPE_SH7619 || CPU_SUBTYPE_SH7206
502 MD2 - MD0 pin setting.
506 menu "CPU Frequency scaling"
508 source "drivers/cpufreq/Kconfig"
511 tristate "SuperH CPU Frequency driver"
513 select CPU_FREQ_TABLE
515 This adds the cpufreq driver for SuperH. At present, only
516 the SH-4 is supported.
518 For details, take a look at <file:Documentation/cpu-freq>.
524 source "arch/sh/drivers/Kconfig"
530 depends on SH_MPC1211
533 menu "Kernel features"
535 source kernel/Kconfig.hz
538 bool "kexec system call (EXPERIMENTAL)"
539 depends on EXPERIMENTAL
541 kexec is a system call that implements the ability to shutdown your
542 current kernel, and to start another kernel. It is like a reboot
543 but it is independent of the system firmware. And like a reboot
544 you can start any kernel with it, not just Linux.
546 The name comes from the similarity to the exec system call.
548 It is an ongoing process to be certain the hardware in a machine
549 is properly shutdown, so do not be surprised if this code does not
550 initially work for you. It may help to enable device hotplugging
551 support. As of this writing the exact hardware interface is
552 strongly in flux, so no good recommendation can be made.
555 bool "kernel crash dumps (EXPERIMENTAL)"
556 depends on EXPERIMENTAL
558 Generate crash dump after being started by kexec.
559 This should be normally only set in special crash dump kernels
560 which are loaded in the main kernel with kexec-tools into
561 a specially reserved region and then later executed after
562 a crash by kdump/kexec. The crash dump kernel must be compiled
563 to a memory address not used by the main kernel using
566 For more details see Documentation/kdump/kdump.txt
569 bool "Symmetric multi-processing support"
571 This enables support for systems with more than one CPU. If you have
572 a system with only one CPU, like most personal computers, say N. If
573 you have a system with more than one CPU, say Y.
575 If you say N here, the kernel will run on single and multiprocessor
576 machines, but will use only one CPU of a multiprocessor machine. If
577 you say Y here, the kernel will run on many, but not all,
578 singleprocessor machines. On a singleprocessor machine, the kernel
579 will run faster if you say N here.
581 People using multiprocessor machines who say Y here should also say
582 Y to "Enhanced Real Time Clock Support", below.
584 See also the <file:Documentation/smp.txt>,
585 <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO available
586 at <http://www.tldp.org/docs.html#howto>.
588 If you don't know what to do here, say N.
591 int "Maximum number of CPUs (2-32)"
596 This allows you to specify the maximum number of CPUs which this
597 kernel will support. The maximum supported value is 32 and the
598 minimum value which makes sense is 2.
600 This is purely to save memory - each supported CPU adds
601 approximately eight kilobytes to the kernel image.
603 source "kernel/Kconfig.preempt"
608 depends on NEED_MULTIPLE_NODES
614 config ZERO_PAGE_OFFSET
615 hex "Zero page offset"
616 default "0x00004000" if SH_MPC1211 || SH_SH03
617 default "0x00010000" if PAGE_SIZE_64KB
618 default "0x00002000" if PAGE_SIZE_8KB
621 This sets the default offset of zero page.
623 config BOOT_LINK_OFFSET
624 hex "Link address offset for booting"
627 This option allows you to set the link address offset of the zImage.
628 This can be useful if you are on a board which has a small amount of
632 bool "Wakeup UBC on startup"
634 Selecting this option will wakeup the User Break Controller (UBC) on
635 startup. Although the UBC is left in an awake state when the processor
636 comes up, some boot loaders misbehave by putting the UBC to sleep in a
637 power saving state, which causes issues with things like ptrace().
642 bool "Default bootloader kernel arguments"
645 string "Initial kernel command string"
646 depends on CMDLINE_BOOL
647 default "console=ttySC1,115200"
653 # Even on SuperH devices which don't have an ISA bus,
654 # this variable helps the PCMCIA modules handle
655 # IRQ requesting properly -- Greg Banks.
657 # Though we're generally not interested in it when
658 # we're not using PCMCIA, so we make it dependent on
659 # PCMCIA outright. -- PFM.
664 Find out whether you have ISA slots on your motherboard. ISA is the
665 name of a bus system, i.e. the way the CPU talks to the other stuff
666 inside your box. Other bus systems are PCI, EISA, MicroChannel
667 (MCA) or VESA. ISA is an older system, now being displaced by PCI;
668 newer boards don't support it. If you have ISA, say Y, otherwise N.
673 The Extended Industry Standard Architecture (EISA) bus was
674 developed as an open alternative to the IBM MicroChannel bus.
676 The EISA bus provided some of the features of the IBM MicroChannel
677 bus while maintaining backward compatibility with cards made for
678 the older ISA bus. The EISA bus saw limited use between 1988 and
679 1995 when it was made obsolete by the PCI bus.
681 Say Y here if you are building a kernel for an EISA-based machine.
688 MicroChannel Architecture is found in some IBM PS/2 machines and
689 laptops. It is a bus system similar to PCI or ISA. See
690 <file:Documentation/mca.txt> (and especially the web page given
691 there) before attempting to build an MCA bus kernel.
697 tristate "SuperHyway Bus support"
698 depends on CPU_SUBTYPE_SH4_202
700 source "arch/sh/drivers/pci/Kconfig"
702 source "drivers/pci/Kconfig"
704 source "drivers/pcmcia/Kconfig"
706 source "drivers/pci/hotplug/Kconfig"
710 menu "Executable file formats"
712 source "fs/Kconfig.binfmt"
716 menu "Power management options (EXPERIMENTAL)"
717 depends on EXPERIMENTAL
719 source kernel/power/Kconfig
725 source "drivers/Kconfig"
729 source "arch/sh/oprofile/Kconfig"
731 source "arch/sh/Kconfig.debug"
733 source "security/Kconfig"
735 source "crypto/Kconfig"