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.
202 select CPU_SUBTYPE_SH7780
204 Select R7780RP-1 if configuring for a Renesas Solutions
209 select CPU_SUBTYPE_SH7705
211 config SH_SH4202_MICRODEV
212 bool "SH4-202 MicroDev"
213 select CPU_SUBTYPE_SH4_202
215 Select SH4-202 MicroDev if configuring for a SuperH MicroDev board
220 select CPU_SUBTYPE_SH7751R
222 I-O DATA DEVICE, INC. "LANDISK Series" support.
226 select CPU_SUBTYPE_SH7751R
228 Select Titan if you are configuring for a Nimble Microsystems
233 select CPU_SUBTYPE_SH7706
235 Select SHMIN if configuring for the SHMIN board.
237 config SH_7206_SOLUTION_ENGINE
238 bool "SolutionEngine7206"
239 select CPU_SUBTYPE_SH7206
241 Select 7206 SolutionEngine if configuring for a Hitachi SH7206
244 config SH_7619_SOLUTION_ENGINE
245 bool "SolutionEngine7619"
246 select CPU_SUBTYPE_SH7619
248 Select 7619 SolutionEngine if configuring for a Hitachi SH7619
254 "Bare CPU" aka "unknown" means an SH-based system which is not one
255 of the specific ones mentioned above, which means you need to enter
256 all sorts of stuff like CONFIG_MEMORY_START because the config
257 system doesn't already know what it is. You get a machine vector
258 without any platform-specific code in it, so things like the RTC may
261 This option is for the early stages of porting to a new machine.
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.
416 depends on !GENERIC_TIME
419 bool "TMU timer support"
420 depends on CPU_SH3 || CPU_SH4
423 This enables the use of the TMU as the system timer.
426 bool "CMT timer support"
430 This enables the use of the CMT as the system timer.
433 bool "MTU2 timer support"
437 This enables the use of the MTU2 as the system timer.
441 source "arch/sh/boards/renesas/hs7751rvoip/Kconfig"
443 source "arch/sh/boards/renesas/rts7751r2d/Kconfig"
445 source "arch/sh/boards/renesas/r7780rp/Kconfig"
449 default "28" if CPU_SUBTYPE_SH7780
450 default "86" if CPU_SUBTYPE_SH7619
451 default "140" if CPU_SUBTYPE_SH7206
455 bool "Dynamic tick timer"
457 Select this option if you want to disable continuous timer ticks
458 and have them programmed to occur as required. This option saves
459 power as the system can remain in idle state for longer.
461 By default dynamic tick is disabled during the boot, and can be
462 manually enabled with:
464 echo 1 > /sys/devices/system/timer/timer0/dyn_tick
466 Alternatively, if you want dynamic tick automatically enabled
467 during boot, pass "dyntick=enable" via the kernel command string.
469 Please note that dynamic tick may affect the accuracy of
470 timekeeping on some platforms depending on the implementation.
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
480 default "60000000" if CPU_SUBTYPE_SH7751
481 default "66000000" if CPU_SUBTYPE_SH4_202
483 This option is used to specify the peripheral clock frequency.
484 This is necessary for determining the reference clock value on
485 platforms lacking an RTC.
488 int "CPU Mode Pin Setting"
490 depends on CPU_SUBTYPE_SH7619 || CPU_SUBTYPE_SH7206
492 MD2 - MD0 pin setting.
494 menu "CPU Frequency scaling"
496 source "drivers/cpufreq/Kconfig"
499 tristate "SuperH CPU Frequency driver"
501 select CPU_FREQ_TABLE
503 This adds the cpufreq driver for SuperH. At present, only
504 the SH-4 is supported.
506 For details, take a look at <file:Documentation/cpu-freq>.
512 source "arch/sh/drivers/dma/Kconfig"
514 source "arch/sh/cchips/Kconfig"
518 depends on SH_MPC1211 || SH_SH03 || \
520 SH_RTS7751R2D || SH_SH4202_MICRODEV || SH_LANDISK || \
523 Use the power-on LED on your machine as a load meter. The exact
524 behavior is platform-dependent, but normally the flash frequency is
525 a hyperbolic function of the 5-minute load average.
527 source "arch/sh/drivers/Kconfig"
533 depends on SH_MPC1211
536 menu "Kernel features"
538 source kernel/Kconfig.hz
541 bool "kexec system call (EXPERIMENTAL)"
542 depends on EXPERIMENTAL
544 kexec is a system call that implements the ability to shutdown your
545 current kernel, and to start another kernel. It is like a reboot
546 but it is independent of the system firmware. And like a reboot
547 you can start any kernel with it, not just Linux.
549 The name comes from the similarity to the exec system call.
551 It is an ongoing process to be certain the hardware in a machine
552 is properly shutdown, so do not be surprised if this code does not
553 initially work for you. It may help to enable device hotplugging
554 support. As of this writing the exact hardware interface is
555 strongly in flux, so no good recommendation can be made.
558 bool "Symmetric multi-processing support"
560 This enables support for systems with more than one CPU. If you have
561 a system with only one CPU, like most personal computers, say N. If
562 you have a system with more than one CPU, say Y.
564 If you say N here, the kernel will run on single and multiprocessor
565 machines, but will use only one CPU of a multiprocessor machine. If
566 you say Y here, the kernel will run on many, but not all,
567 singleprocessor machines. On a singleprocessor machine, the kernel
568 will run faster if you say N here.
570 People using multiprocessor machines who say Y here should also say
571 Y to "Enhanced Real Time Clock Support", below.
573 See also the <file:Documentation/smp.txt>,
574 <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO available
575 at <http://www.tldp.org/docs.html#howto>.
577 If you don't know what to do here, say N.
580 int "Maximum number of CPUs (2-32)"
585 This allows you to specify the maximum number of CPUs which this
586 kernel will support. The maximum supported value is 32 and the
587 minimum value which makes sense is 2.
589 This is purely to save memory - each supported CPU adds
590 approximately eight kilobytes to the kernel image.
592 source "kernel/Kconfig.preempt"
597 depends on NEED_MULTIPLE_NODES
603 config ZERO_PAGE_OFFSET
604 hex "Zero page offset"
605 default "0x00004000" if SH_MPC1211 || SH_SH03
606 default "0x00010000" if PAGE_SIZE_64KB
607 default "0x00002000" if PAGE_SIZE_8KB
610 This sets the default offset of zero page.
612 config BOOT_LINK_OFFSET
613 hex "Link address offset for booting"
616 This option allows you to set the link address offset of the zImage.
617 This can be useful if you are on a board which has a small amount of
621 bool "Wakeup UBC on startup"
623 Selecting this option will wakeup the User Break Controller (UBC) on
624 startup. Although the UBC is left in an awake state when the processor
625 comes up, some boot loaders misbehave by putting the UBC to sleep in a
626 power saving state, which causes issues with things like ptrace().
631 bool "Default bootloader kernel arguments"
634 string "Initial kernel command string"
635 depends on CMDLINE_BOOL
636 default "console=ttySC1,115200"
642 # Even on SuperH devices which don't have an ISA bus,
643 # this variable helps the PCMCIA modules handle
644 # IRQ requesting properly -- Greg Banks.
646 # Though we're generally not interested in it when
647 # we're not using PCMCIA, so we make it dependent on
648 # PCMCIA outright. -- PFM.
653 Find out whether you have ISA slots on your motherboard. ISA is the
654 name of a bus system, i.e. the way the CPU talks to the other stuff
655 inside your box. Other bus systems are PCI, EISA, MicroChannel
656 (MCA) or VESA. ISA is an older system, now being displaced by PCI;
657 newer boards don't support it. If you have ISA, say Y, otherwise N.
662 The Extended Industry Standard Architecture (EISA) bus was
663 developed as an open alternative to the IBM MicroChannel bus.
665 The EISA bus provided some of the features of the IBM MicroChannel
666 bus while maintaining backward compatibility with cards made for
667 the older ISA bus. The EISA bus saw limited use between 1988 and
668 1995 when it was made obsolete by the PCI bus.
670 Say Y here if you are building a kernel for an EISA-based machine.
677 MicroChannel Architecture is found in some IBM PS/2 machines and
678 laptops. It is a bus system similar to PCI or ISA. See
679 <file:Documentation/mca.txt> (and especially the web page given
680 there) before attempting to build an MCA bus kernel.
686 tristate "SuperHyway Bus support"
687 depends on CPU_SUBTYPE_SH4_202
689 source "arch/sh/drivers/pci/Kconfig"
691 source "drivers/pci/Kconfig"
693 source "drivers/pcmcia/Kconfig"
695 source "drivers/pci/hotplug/Kconfig"
699 menu "Executable file formats"
701 source "fs/Kconfig.binfmt"
705 menu "Power management options (EXPERIMENTAL)"
706 depends on EXPERIMENTAL
708 source kernel/power/Kconfig
714 source "drivers/Kconfig"
718 source "arch/sh/oprofile/Kconfig"
720 source "arch/sh/Kconfig.debug"
722 source "security/Kconfig"
724 source "crypto/Kconfig"