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_7300_SOLUTION_ENGINE
104 bool "SolutionEngine7300"
105 select SOLUTION_ENGINE
106 select CPU_SUBTYPE_SH7300
108 Select 7300 SolutionEngine if configuring for a Hitachi
109 SH7300(SH-Mobile V) evaluation board.
111 config SH_7343_SOLUTION_ENGINE
112 bool "SolutionEngine7343"
113 select SOLUTION_ENGINE
114 select CPU_SUBTYPE_SH7343
116 Select 7343 SolutionEngine if configuring for a Hitachi
117 SH7343 (SH-Mobile 3AS) evaluation board.
119 config SH_73180_SOLUTION_ENGINE
120 bool "SolutionEngine73180"
121 select SOLUTION_ENGINE
122 select CPU_SUBTYPE_SH73180
124 Select 73180 SolutionEngine if configuring for a Hitachi
125 SH73180(SH-Mobile 3) evaluation board.
127 config SH_7751_SYSTEMH
129 select CPU_SUBTYPE_SH7751R
131 Select SystemH if you are configuring for a Renesas SystemH
132 7751R evaluation board.
136 select SYS_SUPPORTS_APM_EMULATION
138 Select HP6XX if configuring for a HP jornada HP6xx.
139 More information (hardware only) at
140 <http://www.hp.com/jornada/>.
144 select CPU_SUBTYPE_SH7604
146 Select Saturn if configuring for a SEGA Saturn.
150 select CPU_SUBTYPE_SH7091
152 Select Dreamcast if configuring for a SEGA Dreamcast.
154 <http://www.m17n.org/linux-sh/dreamcast/>. There is a
155 Dreamcast project is at <http://linuxdc.sourceforge.net/>.
158 bool "Interface MPC1211"
160 CTP/PCI-SH02 is a CPU module computer that is produced
161 by Interface Corporation.
162 More information at <http://www.interface.co.jp>
165 bool "Interface CTP/PCI-SH03"
167 CTP/PCI-SH03 is a CPU module computer that is produced
168 by Interface Corporation.
169 More information at <http://www.interface.co.jp>
171 config SH_SECUREEDGE5410
172 bool "SecureEdge5410"
173 select CPU_SUBTYPE_SH7751R
175 Select SecureEdge5410 if configuring for a SnapGear SH board.
176 This includes both the OEM SecureEdge products as well as the
179 config SH_HS7751RVOIP
181 select CPU_SUBTYPE_SH7751R
183 Select HS7751RVOIP if configuring for a Renesas Technology
187 bool "SH7710-VOIP-GW"
188 select CPU_SUBTYPE_SH7710
190 Select this option to build a kernel for the SH7710 based
195 select CPU_SUBTYPE_SH7751R
197 Select RTS7751R2D if configuring for a Renesas Technology
198 Sales SH-Graphics board.
205 select CPU_SUBTYPE_SH7705
207 config SH_SH4202_MICRODEV
208 bool "SH4-202 MicroDev"
209 select CPU_SUBTYPE_SH4_202
211 Select SH4-202 MicroDev if configuring for a SuperH MicroDev board
216 select CPU_SUBTYPE_SH7751R
218 I-O DATA DEVICE, INC. "LANDISK Series" support.
222 select CPU_SUBTYPE_SH7751R
224 Select Titan if you are configuring for a Nimble Microsystems
229 select CPU_SUBTYPE_SH7706
231 Select SHMIN if configuring for the SHMIN board.
233 config SH_7206_SOLUTION_ENGINE
234 bool "SolutionEngine7206"
235 select CPU_SUBTYPE_SH7206
237 Select 7206 SolutionEngine if configuring for a Hitachi SH7206
240 config SH_7619_SOLUTION_ENGINE
241 bool "SolutionEngine7619"
242 select CPU_SUBTYPE_SH7619
244 Select 7619 SolutionEngine if configuring for a Hitachi SH7619
250 "Bare CPU" aka "unknown" means an SH-based system which is not one
251 of the specific ones mentioned above, which means you need to enter
252 all sorts of stuff like CONFIG_MEMORY_START because the config
253 system doesn't already know what it is. You get a machine vector
254 without any platform-specific code in it, so things like the RTC may
257 This option is for the early stages of porting to a new machine.
261 source "arch/sh/boards/renesas/hs7751rvoip/Kconfig"
262 source "arch/sh/boards/renesas/rts7751r2d/Kconfig"
263 source "arch/sh/boards/renesas/r7780rp/Kconfig"
265 source "arch/sh/mm/Kconfig"
268 bool "Compact Flash Enabler support"
269 depends on SH_SOLUTION_ENGINE || SH_UNKNOWN || SH_SH03
271 Compact Flash is a small, removable mass storage device introduced
272 in 1994 originally as a PCMCIA device. If you say `Y' here, you
273 compile in support for Compact Flash devices directly connected to
274 a SuperH processor. A Compact Flash FAQ is available at
275 <http://www.compactflash.org/faqs/faq.htm>.
277 If your board has "Directly Connected" CompactFlash at area 5 or 6,
278 you may want to enable this option. Then, you can use CF as
279 primary IDE drive (only tested for SanDisk).
281 If in doubt, select 'N'.
284 prompt "Compact Flash Connection Area"
285 depends on CF_ENABLER
291 If your board has "Directly Connected" CompactFlash, You should
292 select the area where your CF is connected to.
294 - "Area5" if CompactFlash is connected to Area 5 (0x14000000)
295 - "Area6" if it is connected to Area 6 (0x18000000)
297 "Area6" will work for most boards.
306 depends on CF_ENABLER
307 default "0xb8000000" if CF_AREA6
308 default "0xb4000000" if CF_AREA5
310 menu "Processor features"
313 prompt "Endianess selection"
314 default CPU_LITTLE_ENDIAN
316 Some SuperH machines can be configured for either little or big
317 endian byte order. These modes require different kernels.
319 config CPU_LITTLE_ENDIAN
322 config CPU_BIG_ENDIAN
332 Selecting this option will enable support for SH processors that
333 have FPU units (ie, SH77xx).
335 This option must be set in order to enable the FPU.
338 bool "FPU emulation support"
339 depends on !SH_FPU && EXPERIMENTAL
342 Selecting this option will enable support for software FPU emulation.
343 Most SH-3 users will want to say Y here, whereas most SH-4 users will
348 default y if SH4AL_DSP || !CPU_SH4
351 Selecting this option will enable support for SH processors that
352 have DSP units (ie, SH2-DSP, SH3-DSP, and SH4AL-DSP).
354 This option must be set in order to enable the DSP.
361 Selecting this option will allow the Linux kernel to use SH3 on-chip
366 config SH_STORE_QUEUES
367 bool "Support for Store Queues"
370 Selecting this option will enable an in-kernel API for manipulating
371 the store queues integrated in the SH-4 processors.
373 config SPECULATIVE_EXECUTION
374 bool "Speculative subroutine return"
375 depends on CPU_SUBTYPE_SH7780 && EXPERIMENTAL
377 This enables support for a speculative instruction fetch for
378 subroutine return. There are various pitfalls associated with
379 this, as outlined in the SH7780 hardware manual.
383 config CPU_HAS_INTEVT
386 config CPU_HAS_PINT_IRQ
389 config CPU_HAS_MASKREG_IRQ
392 config CPU_HAS_INTC2_IRQ
395 config CPU_HAS_IPR_IRQ
400 depends on CPU_SH3 || CPU_SH4
403 This will enable the use of SR.RB register bank usage. Processors
404 that are lacking this bit must have another method in place for
405 accomplishing what is taken care of by the banked registers.
407 See <file:Documentation/sh/register-banks.txt> for further
408 information on SR.RB and register banking in the kernel in general.
415 menu "Timer and clock configuration"
420 bool "TMU timer support"
421 depends on CPU_SH3 || CPU_SH4
424 This enables the use of the TMU as the system timer.
427 bool "CMT timer support"
431 This enables the use of the CMT as the system timer.
434 bool "MTU2 timer support"
438 This enables the use of the MTU2 as the system timer.
444 default "28" if CPU_SUBTYPE_SH7780 || CPU_SUBTYPE_SH7785
445 default "86" if CPU_SUBTYPE_SH7619
446 default "140" if CPU_SUBTYPE_SH7206
450 bool "Dynamic tick timer"
452 Select this option if you want to disable continuous timer ticks
453 and have them programmed to occur as required. This option saves
454 power as the system can remain in idle state for longer.
456 By default dynamic tick is disabled during the boot, and can be
457 manually enabled with:
459 echo 1 > /sys/devices/system/timer/timer0/dyn_tick
461 Alternatively, if you want dynamic tick automatically enabled
462 during boot, pass "dyntick=enable" via the kernel command string.
464 Please note that dynamic tick may affect the accuracy of
465 timekeeping on some platforms depending on the implementation.
468 int "Peripheral clock frequency (in Hz)"
469 default "27000000" if CPU_SUBTYPE_SH73180 || CPU_SUBTYPE_SH7343
470 default "31250000" if CPU_SUBTYPE_SH7619
471 default "33333333" if CPU_SUBTYPE_SH7300 || CPU_SUBTYPE_SH7770 || \
472 CPU_SUBTYPE_SH7760 || CPU_SUBTYPE_SH7705 || \
474 default "50000000" if CPU_SUBTYPE_SH7750 || CPU_SUBTYPE_SH7780 || \
476 default "60000000" if CPU_SUBTYPE_SH7751
477 default "66000000" if CPU_SUBTYPE_SH4_202
479 This option is used to specify the peripheral clock frequency.
480 This is necessary for determining the reference clock value on
481 platforms lacking an RTC.
484 int "CPU Mode Pin Setting"
486 depends on CPU_SUBTYPE_SH7619 || CPU_SUBTYPE_SH7206
488 MD2 - MD0 pin setting.
492 menu "CPU Frequency scaling"
494 source "drivers/cpufreq/Kconfig"
497 tristate "SuperH CPU Frequency driver"
499 select CPU_FREQ_TABLE
501 This adds the cpufreq driver for SuperH. At present, only
502 the SH-4 is supported.
504 For details, take a look at <file:Documentation/cpu-freq>.
510 source "arch/sh/drivers/Kconfig"
516 depends on SH_MPC1211
519 menu "Kernel features"
521 source kernel/Kconfig.hz
524 bool "kexec system call (EXPERIMENTAL)"
525 depends on EXPERIMENTAL
527 kexec is a system call that implements the ability to shutdown your
528 current kernel, and to start another kernel. It is like a reboot
529 but it is independent of the system firmware. And like a reboot
530 you can start any kernel with it, not just Linux.
532 The name comes from the similarity to the exec system call.
534 It is an ongoing process to be certain the hardware in a machine
535 is properly shutdown, so do not be surprised if this code does not
536 initially work for you. It may help to enable device hotplugging
537 support. As of this writing the exact hardware interface is
538 strongly in flux, so no good recommendation can be made.
541 bool "Symmetric multi-processing support"
543 This enables support for systems with more than one CPU. If you have
544 a system with only one CPU, like most personal computers, say N. If
545 you have a system with more than one CPU, say Y.
547 If you say N here, the kernel will run on single and multiprocessor
548 machines, but will use only one CPU of a multiprocessor machine. If
549 you say Y here, the kernel will run on many, but not all,
550 singleprocessor machines. On a singleprocessor machine, the kernel
551 will run faster if you say N here.
553 People using multiprocessor machines who say Y here should also say
554 Y to "Enhanced Real Time Clock Support", below.
556 See also the <file:Documentation/smp.txt>,
557 <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO available
558 at <http://www.tldp.org/docs.html#howto>.
560 If you don't know what to do here, say N.
563 int "Maximum number of CPUs (2-32)"
568 This allows you to specify the maximum number of CPUs which this
569 kernel will support. The maximum supported value is 32 and the
570 minimum value which makes sense is 2.
572 This is purely to save memory - each supported CPU adds
573 approximately eight kilobytes to the kernel image.
575 source "kernel/Kconfig.preempt"
580 depends on NEED_MULTIPLE_NODES
586 config ZERO_PAGE_OFFSET
587 hex "Zero page offset"
588 default "0x00004000" if SH_MPC1211 || SH_SH03
589 default "0x00010000" if PAGE_SIZE_64KB
590 default "0x00002000" if PAGE_SIZE_8KB
593 This sets the default offset of zero page.
595 config BOOT_LINK_OFFSET
596 hex "Link address offset for booting"
599 This option allows you to set the link address offset of the zImage.
600 This can be useful if you are on a board which has a small amount of
604 bool "Wakeup UBC on startup"
606 Selecting this option will wakeup the User Break Controller (UBC) on
607 startup. Although the UBC is left in an awake state when the processor
608 comes up, some boot loaders misbehave by putting the UBC to sleep in a
609 power saving state, which causes issues with things like ptrace().
614 bool "Default bootloader kernel arguments"
617 string "Initial kernel command string"
618 depends on CMDLINE_BOOL
619 default "console=ttySC1,115200"
625 # Even on SuperH devices which don't have an ISA bus,
626 # this variable helps the PCMCIA modules handle
627 # IRQ requesting properly -- Greg Banks.
629 # Though we're generally not interested in it when
630 # we're not using PCMCIA, so we make it dependent on
631 # PCMCIA outright. -- PFM.
636 Find out whether you have ISA slots on your motherboard. ISA is the
637 name of a bus system, i.e. the way the CPU talks to the other stuff
638 inside your box. Other bus systems are PCI, EISA, MicroChannel
639 (MCA) or VESA. ISA is an older system, now being displaced by PCI;
640 newer boards don't support it. If you have ISA, say Y, otherwise N.
645 The Extended Industry Standard Architecture (EISA) bus was
646 developed as an open alternative to the IBM MicroChannel bus.
648 The EISA bus provided some of the features of the IBM MicroChannel
649 bus while maintaining backward compatibility with cards made for
650 the older ISA bus. The EISA bus saw limited use between 1988 and
651 1995 when it was made obsolete by the PCI bus.
653 Say Y here if you are building a kernel for an EISA-based machine.
660 MicroChannel Architecture is found in some IBM PS/2 machines and
661 laptops. It is a bus system similar to PCI or ISA. See
662 <file:Documentation/mca.txt> (and especially the web page given
663 there) before attempting to build an MCA bus kernel.
669 tristate "SuperHyway Bus support"
670 depends on CPU_SUBTYPE_SH4_202
672 source "arch/sh/drivers/pci/Kconfig"
674 source "drivers/pci/Kconfig"
676 source "drivers/pcmcia/Kconfig"
678 source "drivers/pci/hotplug/Kconfig"
682 menu "Executable file formats"
684 source "fs/Kconfig.binfmt"
688 menu "Power management options (EXPERIMENTAL)"
689 depends on EXPERIMENTAL
691 source kernel/power/Kconfig
697 source "drivers/Kconfig"
701 source "arch/sh/oprofile/Kconfig"
703 source "arch/sh/Kconfig.debug"
705 source "security/Kconfig"
707 source "crypto/Kconfig"