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_7722_SOLUTION_ENGINE
96 bool "SolutionEngine7722"
97 select SOLUTION_ENGINE
98 select CPU_SUBTYPE_SH7722
100 Select 7722 SolutionEngine if configuring for a Hitachi SH772
103 config SH_7751_SOLUTION_ENGINE
104 bool "SolutionEngine7751"
105 select SOLUTION_ENGINE
106 select CPU_SUBTYPE_SH7751
108 Select 7751 SolutionEngine if configuring for a Hitachi SH7751
111 config SH_7780_SOLUTION_ENGINE
112 bool "SolutionEngine7780"
113 select SOLUTION_ENGINE
114 select CPU_SUBTYPE_SH7780
116 Select 7780 SolutionEngine if configuring for a Renesas SH7780
119 config SH_7300_SOLUTION_ENGINE
120 bool "SolutionEngine7300"
121 select SOLUTION_ENGINE
122 select CPU_SUBTYPE_SH7300
124 Select 7300 SolutionEngine if configuring for a Hitachi
125 SH7300(SH-Mobile V) evaluation board.
127 config SH_7343_SOLUTION_ENGINE
128 bool "SolutionEngine7343"
129 select SOLUTION_ENGINE
130 select CPU_SUBTYPE_SH7343
132 Select 7343 SolutionEngine if configuring for a Hitachi
133 SH7343 (SH-Mobile 3AS) evaluation board.
135 config SH_73180_SOLUTION_ENGINE
136 bool "SolutionEngine73180"
137 select SOLUTION_ENGINE
138 select CPU_SUBTYPE_SH73180
140 Select 73180 SolutionEngine if configuring for a Hitachi
141 SH73180(SH-Mobile 3) evaluation board.
143 config SH_7751_SYSTEMH
145 select CPU_SUBTYPE_SH7751R
147 Select SystemH if you are configuring for a Renesas SystemH
148 7751R evaluation board.
152 select SYS_SUPPORTS_APM_EMULATION
154 Select HP6XX if configuring for a HP jornada HP6xx.
155 More information (hardware only) at
156 <http://www.hp.com/jornada/>.
160 select CPU_SUBTYPE_SH7604
162 Select Saturn if configuring for a SEGA Saturn.
166 select CPU_SUBTYPE_SH7091
168 Select Dreamcast if configuring for a SEGA Dreamcast.
170 <http://www.m17n.org/linux-sh/dreamcast/>. There is a
171 Dreamcast project is at <http://linuxdc.sourceforge.net/>.
174 bool "Interface MPC1211"
176 CTP/PCI-SH02 is a CPU module computer that is produced
177 by Interface Corporation.
178 More information at <http://www.interface.co.jp>
181 bool "Interface CTP/PCI-SH03"
183 CTP/PCI-SH03 is a CPU module computer that is produced
184 by Interface Corporation.
185 More information at <http://www.interface.co.jp>
187 config SH_SECUREEDGE5410
188 bool "SecureEdge5410"
189 select CPU_SUBTYPE_SH7751R
191 Select SecureEdge5410 if configuring for a SnapGear SH board.
192 This includes both the OEM SecureEdge products as well as the
195 config SH_HS7751RVOIP
197 select CPU_SUBTYPE_SH7751R
199 Select HS7751RVOIP if configuring for a Renesas Technology
203 bool "SH7710-VOIP-GW"
204 select CPU_SUBTYPE_SH7710
206 Select this option to build a kernel for the SH7710 based
211 select CPU_SUBTYPE_SH7751R
213 Select RTS7751R2D if configuring for a Renesas Technology
214 Sales SH-Graphics board.
221 select CPU_SUBTYPE_SH7705
223 config SH_SH4202_MICRODEV
224 bool "SH4-202 MicroDev"
225 select CPU_SUBTYPE_SH4_202
227 Select SH4-202 MicroDev if configuring for a SuperH MicroDev board
232 select CPU_SUBTYPE_SH7751R
234 I-O DATA DEVICE, INC. "LANDISK Series" support.
238 select CPU_SUBTYPE_SH7751R
240 Select Titan if you are configuring for a Nimble Microsystems
245 select CPU_SUBTYPE_SH7706
247 Select SHMIN if configuring for the SHMIN board.
249 config SH_7206_SOLUTION_ENGINE
250 bool "SolutionEngine7206"
251 select CPU_SUBTYPE_SH7206
253 Select 7206 SolutionEngine if configuring for a Hitachi SH7206
256 config SH_7619_SOLUTION_ENGINE
257 bool "SolutionEngine7619"
258 select CPU_SUBTYPE_SH7619
260 Select 7619 SolutionEngine if configuring for a Hitachi SH7619
265 select CPU_SUBTYPE_SH7751R
267 Select L-BOX RE2 if configuring for the NTT COMWARE L-BOX RE2.
272 "Bare CPU" aka "unknown" means an SH-based system which is not one
273 of the specific ones mentioned above, which means you need to enter
274 all sorts of stuff like CONFIG_MEMORY_START because the config
275 system doesn't already know what it is. You get a machine vector
276 without any platform-specific code in it, so things like the RTC may
279 This option is for the early stages of porting to a new machine.
283 source "arch/sh/boards/renesas/hs7751rvoip/Kconfig"
284 source "arch/sh/boards/renesas/rts7751r2d/Kconfig"
285 source "arch/sh/boards/renesas/r7780rp/Kconfig"
287 source "arch/sh/mm/Kconfig"
290 bool "Compact Flash Enabler support"
291 depends on SH_SOLUTION_ENGINE || SH_UNKNOWN || SH_SH03
293 Compact Flash is a small, removable mass storage device introduced
294 in 1994 originally as a PCMCIA device. If you say `Y' here, you
295 compile in support for Compact Flash devices directly connected to
296 a SuperH processor. A Compact Flash FAQ is available at
297 <http://www.compactflash.org/faqs/faq.htm>.
299 If your board has "Directly Connected" CompactFlash at area 5 or 6,
300 you may want to enable this option. Then, you can use CF as
301 primary IDE drive (only tested for SanDisk).
303 If in doubt, select 'N'.
306 prompt "Compact Flash Connection Area"
307 depends on CF_ENABLER
313 If your board has "Directly Connected" CompactFlash, You should
314 select the area where your CF is connected to.
316 - "Area5" if CompactFlash is connected to Area 5 (0x14000000)
317 - "Area6" if it is connected to Area 6 (0x18000000)
319 "Area6" will work for most boards.
328 depends on CF_ENABLER
329 default "0xb8000000" if CF_AREA6
330 default "0xb4000000" if CF_AREA5
332 menu "Processor features"
335 prompt "Endianess selection"
336 default CPU_LITTLE_ENDIAN
338 Some SuperH machines can be configured for either little or big
339 endian byte order. These modes require different kernels.
341 config CPU_LITTLE_ENDIAN
344 config CPU_BIG_ENDIAN
354 Selecting this option will enable support for SH processors that
355 have FPU units (ie, SH77xx).
357 This option must be set in order to enable the FPU.
360 bool "FPU emulation support"
361 depends on !SH_FPU && EXPERIMENTAL
364 Selecting this option will enable support for software FPU emulation.
365 Most SH-3 users will want to say Y here, whereas most SH-4 users will
370 default y if SH4AL_DSP || !CPU_SH4
373 Selecting this option will enable support for SH processors that
374 have DSP units (ie, SH2-DSP, SH3-DSP, and SH4AL-DSP).
376 This option must be set in order to enable the DSP.
383 Selecting this option will allow the Linux kernel to use SH3 on-chip
388 config SH_STORE_QUEUES
389 bool "Support for Store Queues"
392 Selecting this option will enable an in-kernel API for manipulating
393 the store queues integrated in the SH-4 processors.
395 config SPECULATIVE_EXECUTION
396 bool "Speculative subroutine return"
397 depends on CPU_SUBTYPE_SH7780 && EXPERIMENTAL
399 This enables support for a speculative instruction fetch for
400 subroutine return. There are various pitfalls associated with
401 this, as outlined in the SH7780 hardware manual.
405 config CPU_HAS_INTEVT
408 config CPU_HAS_PINT_IRQ
411 config CPU_HAS_MASKREG_IRQ
414 config CPU_HAS_INTC2_IRQ
417 config CPU_HAS_IPR_IRQ
422 depends on CPU_SH3 || CPU_SH4
425 This will enable the use of SR.RB register bank usage. Processors
426 that are lacking this bit must have another method in place for
427 accomplishing what is taken care of by the banked registers.
429 See <file:Documentation/sh/register-banks.txt> for further
430 information on SR.RB and register banking in the kernel in general.
437 menu "Timer and clock configuration"
442 bool "TMU timer support"
443 depends on CPU_SH3 || CPU_SH4
446 This enables the use of the TMU as the system timer.
449 bool "CMT timer support"
453 This enables the use of the CMT as the system timer.
456 bool "MTU2 timer support"
460 This enables the use of the MTU2 as the system timer.
466 default "28" if CPU_SUBTYPE_SH7780 || CPU_SUBTYPE_SH7785
467 default "86" if CPU_SUBTYPE_SH7619
468 default "140" if CPU_SUBTYPE_SH7206
472 bool "Dynamic tick timer"
474 Select this option if you want to disable continuous timer ticks
475 and have them programmed to occur as required. This option saves
476 power as the system can remain in idle state for longer.
478 By default dynamic tick is disabled during the boot, and can be
479 manually enabled with:
481 echo 1 > /sys/devices/system/timer/timer0/dyn_tick
483 Alternatively, if you want dynamic tick automatically enabled
484 during boot, pass "dyntick=enable" via the kernel command string.
486 Please note that dynamic tick may affect the accuracy of
487 timekeeping on some platforms depending on the implementation.
490 int "Peripheral clock frequency (in Hz)"
491 default "27000000" if CPU_SUBTYPE_SH73180 || CPU_SUBTYPE_SH7343
492 default "31250000" if CPU_SUBTYPE_SH7619
493 default "33333333" if CPU_SUBTYPE_SH7300 || CPU_SUBTYPE_SH7770 || \
494 CPU_SUBTYPE_SH7760 || CPU_SUBTYPE_SH7705 || \
496 default "50000000" if CPU_SUBTYPE_SH7750 || CPU_SUBTYPE_SH7780 || \
498 default "60000000" if CPU_SUBTYPE_SH7751
499 default "66000000" if CPU_SUBTYPE_SH4_202
501 This option is used to specify the peripheral clock frequency.
502 This is necessary for determining the reference clock value on
503 platforms lacking an RTC.
506 int "CPU Mode Pin Setting"
508 depends on CPU_SUBTYPE_SH7619 || CPU_SUBTYPE_SH7206
510 MD2 - MD0 pin setting.
514 menu "CPU Frequency scaling"
516 source "drivers/cpufreq/Kconfig"
519 tristate "SuperH CPU Frequency driver"
521 select CPU_FREQ_TABLE
523 This adds the cpufreq driver for SuperH. At present, only
524 the SH-4 is supported.
526 For details, take a look at <file:Documentation/cpu-freq>.
532 source "arch/sh/drivers/Kconfig"
538 depends on SH_MPC1211
541 menu "Kernel features"
543 source kernel/Kconfig.hz
546 bool "kexec system call (EXPERIMENTAL)"
547 depends on EXPERIMENTAL
549 kexec is a system call that implements the ability to shutdown your
550 current kernel, and to start another kernel. It is like a reboot
551 but it is independent of the system firmware. And like a reboot
552 you can start any kernel with it, not just Linux.
554 The name comes from the similarity to the exec system call.
556 It is an ongoing process to be certain the hardware in a machine
557 is properly shutdown, so do not be surprised if this code does not
558 initially work for you. It may help to enable device hotplugging
559 support. As of this writing the exact hardware interface is
560 strongly in flux, so no good recommendation can be made.
563 bool "kernel crash dumps (EXPERIMENTAL)"
564 depends on EXPERIMENTAL
566 Generate crash dump after being started by kexec.
567 This should be normally only set in special crash dump kernels
568 which are loaded in the main kernel with kexec-tools into
569 a specially reserved region and then later executed after
570 a crash by kdump/kexec. The crash dump kernel must be compiled
571 to a memory address not used by the main kernel using
574 For more details see Documentation/kdump/kdump.txt
577 bool "Symmetric multi-processing support"
579 This enables support for systems with more than one CPU. If you have
580 a system with only one CPU, like most personal computers, say N. If
581 you have a system with more than one CPU, say Y.
583 If you say N here, the kernel will run on single and multiprocessor
584 machines, but will use only one CPU of a multiprocessor machine. If
585 you say Y here, the kernel will run on many, but not all,
586 singleprocessor machines. On a singleprocessor machine, the kernel
587 will run faster if you say N here.
589 People using multiprocessor machines who say Y here should also say
590 Y to "Enhanced Real Time Clock Support", below.
592 See also the <file:Documentation/smp.txt>,
593 <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO available
594 at <http://www.tldp.org/docs.html#howto>.
596 If you don't know what to do here, say N.
599 int "Maximum number of CPUs (2-32)"
604 This allows you to specify the maximum number of CPUs which this
605 kernel will support. The maximum supported value is 32 and the
606 minimum value which makes sense is 2.
608 This is purely to save memory - each supported CPU adds
609 approximately eight kilobytes to the kernel image.
611 source "kernel/Kconfig.preempt"
616 depends on NEED_MULTIPLE_NODES
622 config ZERO_PAGE_OFFSET
623 hex "Zero page offset"
624 default "0x00004000" if SH_MPC1211 || SH_SH03
625 default "0x00010000" if PAGE_SIZE_64KB
626 default "0x00002000" if PAGE_SIZE_8KB
629 This sets the default offset of zero page.
631 config BOOT_LINK_OFFSET
632 hex "Link address offset for booting"
635 This option allows you to set the link address offset of the zImage.
636 This can be useful if you are on a board which has a small amount of
640 bool "Wakeup UBC on startup"
642 Selecting this option will wakeup the User Break Controller (UBC) on
643 startup. Although the UBC is left in an awake state when the processor
644 comes up, some boot loaders misbehave by putting the UBC to sleep in a
645 power saving state, which causes issues with things like ptrace().
650 bool "Default bootloader kernel arguments"
653 string "Initial kernel command string"
654 depends on CMDLINE_BOOL
655 default "console=ttySC1,115200"
661 # Even on SuperH devices which don't have an ISA bus,
662 # this variable helps the PCMCIA modules handle
663 # IRQ requesting properly -- Greg Banks.
665 # Though we're generally not interested in it when
666 # we're not using PCMCIA, so we make it dependent on
667 # PCMCIA outright. -- PFM.
672 Find out whether you have ISA slots on your motherboard. ISA is the
673 name of a bus system, i.e. the way the CPU talks to the other stuff
674 inside your box. Other bus systems are PCI, EISA, MicroChannel
675 (MCA) or VESA. ISA is an older system, now being displaced by PCI;
676 newer boards don't support it. If you have ISA, say Y, otherwise N.
681 The Extended Industry Standard Architecture (EISA) bus was
682 developed as an open alternative to the IBM MicroChannel bus.
684 The EISA bus provided some of the features of the IBM MicroChannel
685 bus while maintaining backward compatibility with cards made for
686 the older ISA bus. The EISA bus saw limited use between 1988 and
687 1995 when it was made obsolete by the PCI bus.
689 Say Y here if you are building a kernel for an EISA-based machine.
696 MicroChannel Architecture is found in some IBM PS/2 machines and
697 laptops. It is a bus system similar to PCI or ISA. See
698 <file:Documentation/mca.txt> (and especially the web page given
699 there) before attempting to build an MCA bus kernel.
705 tristate "SuperHyway Bus support"
706 depends on CPU_SUBTYPE_SH4_202
708 source "arch/sh/drivers/pci/Kconfig"
710 source "drivers/pci/Kconfig"
712 source "drivers/pcmcia/Kconfig"
714 source "drivers/pci/hotplug/Kconfig"
718 menu "Executable file formats"
720 source "fs/Kconfig.binfmt"
724 menu "Power management options (EXPERIMENTAL)"
725 depends on EXPERIMENTAL
727 source kernel/power/Kconfig
733 source "drivers/Kconfig"
737 source "arch/sh/oprofile/Kconfig"
739 source "arch/sh/Kconfig.debug"
741 source "security/Kconfig"
743 source "crypto/Kconfig"