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 source "arch/sh/mm/Kconfig"
86 menu "Processor features"
89 prompt "Endianess selection"
90 default CPU_LITTLE_ENDIAN
92 Some SuperH machines can be configured for either little or big
93 endian byte order. These modes require different kernels.
95 config CPU_LITTLE_ENDIAN
108 Selecting this option will enable support for SH processors that
109 have FPU units (ie, SH77xx).
111 This option must be set in order to enable the FPU.
114 bool "FPU emulation support"
115 depends on !SH_FPU && EXPERIMENTAL
118 Selecting this option will enable support for software FPU emulation.
119 Most SH-3 users will want to say Y here, whereas most SH-4 users will
124 default y if SH4AL_DSP || !CPU_SH4
127 Selecting this option will enable support for SH processors that
128 have DSP units (ie, SH2-DSP, SH3-DSP, and SH4AL-DSP).
130 This option must be set in order to enable the DSP.
137 Selecting this option will allow the Linux kernel to use SH3 on-chip
142 config SH_STORE_QUEUES
143 bool "Support for Store Queues"
146 Selecting this option will enable an in-kernel API for manipulating
147 the store queues integrated in the SH-4 processors.
149 config SPECULATIVE_EXECUTION
150 bool "Speculative subroutine return"
151 depends on CPU_SUBTYPE_SH7780 && EXPERIMENTAL
153 This enables support for a speculative instruction fetch for
154 subroutine return. There are various pitfalls associated with
155 this, as outlined in the SH7780 hardware manual.
159 config CPU_HAS_INTEVT
162 config CPU_HAS_PINT_IRQ
165 config CPU_HAS_MASKREG_IRQ
168 config CPU_HAS_INTC2_IRQ
171 config CPU_HAS_IPR_IRQ
176 depends on CPU_SH3 || CPU_SH4
179 This will enable the use of SR.RB register bank usage. Processors
180 that are lacking this bit must have another method in place for
181 accomplishing what is taken care of by the banked registers.
183 See <file:Documentation/sh/register-banks.txt> for further
184 information on SR.RB and register banking in the kernel in general.
193 config SOLUTION_ENGINE
196 config SH_SOLUTION_ENGINE
197 bool "SolutionEngine"
198 select SOLUTION_ENGINE
199 depends on CPU_SUBTYPE_SH7709 || CPU_SUBTYPE_SH7750
201 Select SolutionEngine if configuring for a Hitachi SH7709
202 or SH7750 evaluation board.
204 config SH_7206_SOLUTION_ENGINE
205 bool "SolutionEngine7206"
206 select SOLUTION_ENGINE
207 depends on CPU_SUBTYPE_SH7206
209 Select 7206 SolutionEngine if configuring for a Hitachi SH7206
212 config SH_7619_SOLUTION_ENGINE
213 bool "SolutionEngine7619"
214 select SOLUTION_ENGINE
215 depends on CPU_SUBTYPE_SH7619
217 Select 7619 SolutionEngine if configuring for a Hitachi SH7619
220 config SH_7722_SOLUTION_ENGINE
221 bool "SolutionEngine7722"
222 select SOLUTION_ENGINE
223 depends on CPU_SUBTYPE_SH7722
225 Select 7722 SolutionEngine if configuring for a Hitachi SH772
228 config SH_7751_SOLUTION_ENGINE
229 bool "SolutionEngine7751"
230 select SOLUTION_ENGINE
231 depends on CPU_SUBTYPE_SH7751
233 Select 7751 SolutionEngine if configuring for a Hitachi SH7751
236 config SH_7780_SOLUTION_ENGINE
237 bool "SolutionEngine7780"
238 select SOLUTION_ENGINE
239 depends on CPU_SUBTYPE_SH7780
241 Select 7780 SolutionEngine if configuring for a Renesas SH7780
244 config SH_7300_SOLUTION_ENGINE
245 bool "SolutionEngine7300"
246 select SOLUTION_ENGINE
247 depends on CPU_SUBTYPE_SH7300
249 Select 7300 SolutionEngine if configuring for a Hitachi
250 SH7300(SH-Mobile V) evaluation board.
252 config SH_7343_SOLUTION_ENGINE
253 bool "SolutionEngine7343"
254 select SOLUTION_ENGINE
255 depends on CPU_SUBTYPE_SH7343
257 Select 7343 SolutionEngine if configuring for a Hitachi
258 SH7343 (SH-Mobile 3AS) evaluation board.
260 config SH_73180_SOLUTION_ENGINE
261 bool "SolutionEngine73180"
262 select SOLUTION_ENGINE
263 depends on CPU_SUBTYPE_SH73180
265 Select 73180 SolutionEngine if configuring for a Hitachi
266 SH73180(SH-Mobile 3) evaluation board.
268 config SH_7751_SYSTEMH
270 depends on CPU_SUBTYPE_SH7751R
272 Select SystemH if you are configuring for a Renesas SystemH
273 7751R evaluation board.
277 select SYS_SUPPORTS_APM_EMULATION
278 depends on CPU_SUBTYPE_SH7709
280 Select HP6XX if configuring for a HP jornada HP6xx.
281 More information (hardware only) at
282 <http://www.hp.com/jornada/>.
286 depends on CPU_SUBTYPE_SH7604
288 Select Saturn if configuring for a SEGA Saturn.
292 depends on CPU_SUBTYPE_SH7091
294 Select Dreamcast if configuring for a SEGA Dreamcast.
296 <http://www.m17n.org/linux-sh/dreamcast/>. There is a
297 Dreamcast project is at <http://linuxdc.sourceforge.net/>.
300 bool "Interface MPC1211"
301 depends on CPU_SUBTYPE_SH7751 && BROKEN
303 CTP/PCI-SH02 is a CPU module computer that is produced
304 by Interface Corporation.
305 More information at <http://www.interface.co.jp>
308 bool "Interface CTP/PCI-SH03"
309 depends on CPU_SUBTYPE_SH7751 && BROKEN
311 CTP/PCI-SH03 is a CPU module computer that is produced
312 by Interface Corporation.
313 More information at <http://www.interface.co.jp>
315 config SH_SECUREEDGE5410
316 bool "SecureEdge5410"
317 depends on CPU_SUBTYPE_SH7751R
319 Select SecureEdge5410 if configuring for a SnapGear SH board.
320 This includes both the OEM SecureEdge products as well as the
323 config SH_HS7751RVOIP
325 depends on CPU_SUBTYPE_SH7751R
327 Select HS7751RVOIP if configuring for a Renesas Technology
331 bool "SH7710-VOIP-GW"
332 depends on CPU_SUBTYPE_SH7710
334 Select this option to build a kernel for the SH7710 based
339 depends on CPU_SUBTYPE_SH7751R
341 Select RTS7751R2D if configuring for a Renesas Technology
342 Sales SH-Graphics board.
346 depends on CPU_SUBTYPE_SH7780 || CPU_SUBTYPE_SH7785
350 depends on CPU_SUBTYPE_SH7705
352 config SH_SH4202_MICRODEV
353 bool "SH4-202 MicroDev"
354 depends on CPU_SUBTYPE_SH4_202
356 Select SH4-202 MicroDev if configuring for a SuperH MicroDev board
361 depends on CPU_SUBTYPE_SH7751R
363 I-O DATA DEVICE, INC. "LANDISK Series" support.
367 depends on CPU_SUBTYPE_SH7751R
369 Select Titan if you are configuring for a Nimble Microsystems
374 depends on CPU_SUBTYPE_SH7706
376 Select SHMIN if configuring for the SHMIN board.
380 depends on CPU_SUBTYPE_SH7751R
382 Select L-BOX RE2 if configuring for the NTT COMWARE L-BOX RE2.
387 "Bare CPU" aka "unknown" means an SH-based system which is not one
388 of the specific ones mentioned above, which means you need to enter
389 all sorts of stuff like CONFIG_MEMORY_START because the config
390 system doesn't already know what it is. You get a machine vector
391 without any platform-specific code in it, so things like the RTC may
394 This option is for the early stages of porting to a new machine.
398 source "arch/sh/boards/renesas/hs7751rvoip/Kconfig"
399 source "arch/sh/boards/renesas/rts7751r2d/Kconfig"
400 source "arch/sh/boards/renesas/r7780rp/Kconfig"
403 bool "Compact Flash Enabler support"
404 depends on SH_SOLUTION_ENGINE || SH_UNKNOWN || SH_SH03
406 Compact Flash is a small, removable mass storage device introduced
407 in 1994 originally as a PCMCIA device. If you say `Y' here, you
408 compile in support for Compact Flash devices directly connected to
409 a SuperH processor. A Compact Flash FAQ is available at
410 <http://www.compactflash.org/faqs/faq.htm>.
412 If your board has "Directly Connected" CompactFlash at area 5 or 6,
413 you may want to enable this option. Then, you can use CF as
414 primary IDE drive (only tested for SanDisk).
416 If in doubt, select 'N'.
419 prompt "Compact Flash Connection Area"
420 depends on CF_ENABLER
426 If your board has "Directly Connected" CompactFlash, You should
427 select the area where your CF is connected to.
429 - "Area5" if CompactFlash is connected to Area 5 (0x14000000)
430 - "Area6" if it is connected to Area 6 (0x18000000)
432 "Area6" will work for most boards.
441 depends on CF_ENABLER
442 default "0xb8000000" if CF_AREA6
443 default "0xb4000000" if CF_AREA5
446 menu "Timer and clock configuration"
449 bool "TMU timer support"
450 depends on CPU_SH3 || CPU_SH4
452 select GENERIC_CLOCKEVENTS
455 This enables the use of the TMU as the system timer.
458 bool "CMT timer support"
462 This enables the use of the CMT as the system timer.
465 bool "MTU2 timer support"
469 This enables the use of the MTU2 as the system timer.
473 default "28" if CPU_SUBTYPE_SH7780 || CPU_SUBTYPE_SH7785
474 default "86" if CPU_SUBTYPE_SH7619
475 default "140" if CPU_SUBTYPE_SH7206
479 int "Peripheral clock frequency (in Hz)"
480 default "27000000" if CPU_SUBTYPE_SH73180 || CPU_SUBTYPE_SH7343
481 default "31250000" if CPU_SUBTYPE_SH7619
482 default "33333333" if CPU_SUBTYPE_SH7300 || CPU_SUBTYPE_SH7770 || \
483 CPU_SUBTYPE_SH7760 || CPU_SUBTYPE_SH7705 || \
485 default "50000000" if CPU_SUBTYPE_SH7750 || CPU_SUBTYPE_SH7780 || \
487 default "60000000" if CPU_SUBTYPE_SH7751
488 default "66000000" if CPU_SUBTYPE_SH4_202
490 This option is used to specify the peripheral clock frequency.
491 This is necessary for determining the reference clock value on
492 platforms lacking an RTC.
495 int "CPU Mode Pin Setting"
497 depends on CPU_SUBTYPE_SH7619 || CPU_SUBTYPE_SH7206
499 MD2 - MD0 pin setting.
501 source "kernel/time/Kconfig"
505 menu "CPU Frequency scaling"
507 source "drivers/cpufreq/Kconfig"
510 tristate "SuperH CPU Frequency driver"
512 select CPU_FREQ_TABLE
514 This adds the cpufreq driver for SuperH. At present, only
515 the SH-4 is supported.
517 For details, take a look at <file:Documentation/cpu-freq>.
523 source "arch/sh/drivers/Kconfig"
529 depends on SH_MPC1211
532 menu "Kernel features"
534 source kernel/Kconfig.hz
537 bool "kexec system call (EXPERIMENTAL)"
538 depends on EXPERIMENTAL
540 kexec is a system call that implements the ability to shutdown your
541 current kernel, and to start another kernel. It is like a reboot
542 but it is independent of the system firmware. And like a reboot
543 you can start any kernel with it, not just Linux.
545 The name comes from the similarity to the exec system call.
547 It is an ongoing process to be certain the hardware in a machine
548 is properly shutdown, so do not be surprised if this code does not
549 initially work for you. It may help to enable device hotplugging
550 support. As of this writing the exact hardware interface is
551 strongly in flux, so no good recommendation can be made.
554 bool "kernel crash dumps (EXPERIMENTAL)"
555 depends on EXPERIMENTAL
557 Generate crash dump after being started by kexec.
558 This should be normally only set in special crash dump kernels
559 which are loaded in the main kernel with kexec-tools into
560 a specially reserved region and then later executed after
561 a crash by kdump/kexec. The crash dump kernel must be compiled
562 to a memory address not used by the main kernel using
565 For more details see Documentation/kdump/kdump.txt
568 bool "Symmetric multi-processing support"
570 This enables support for systems with more than one CPU. If you have
571 a system with only one CPU, like most personal computers, say N. If
572 you have a system with more than one CPU, say Y.
574 If you say N here, the kernel will run on single and multiprocessor
575 machines, but will use only one CPU of a multiprocessor machine. If
576 you say Y here, the kernel will run on many, but not all,
577 singleprocessor machines. On a singleprocessor machine, the kernel
578 will run faster if you say N here.
580 People using multiprocessor machines who say Y here should also say
581 Y to "Enhanced Real Time Clock Support", below.
583 See also the <file:Documentation/smp.txt>,
584 <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO available
585 at <http://www.tldp.org/docs.html#howto>.
587 If you don't know what to do here, say N.
590 int "Maximum number of CPUs (2-32)"
595 This allows you to specify the maximum number of CPUs which this
596 kernel will support. The maximum supported value is 32 and the
597 minimum value which makes sense is 2.
599 This is purely to save memory - each supported CPU adds
600 approximately eight kilobytes to the kernel image.
602 source "kernel/Kconfig.preempt"
607 depends on NEED_MULTIPLE_NODES
613 config ZERO_PAGE_OFFSET
614 hex "Zero page offset"
615 default "0x00004000" if SH_MPC1211 || SH_SH03
616 default "0x00010000" if PAGE_SIZE_64KB
617 default "0x00002000" if PAGE_SIZE_8KB
620 This sets the default offset of zero page.
622 config BOOT_LINK_OFFSET
623 hex "Link address offset for booting"
626 This option allows you to set the link address offset of the zImage.
627 This can be useful if you are on a board which has a small amount of
631 bool "Wakeup UBC on startup"
633 Selecting this option will wakeup the User Break Controller (UBC) on
634 startup. Although the UBC is left in an awake state when the processor
635 comes up, some boot loaders misbehave by putting the UBC to sleep in a
636 power saving state, which causes issues with things like ptrace().
641 bool "Default bootloader kernel arguments"
644 string "Initial kernel command string"
645 depends on CMDLINE_BOOL
646 default "console=ttySC1,115200"
652 # Even on SuperH devices which don't have an ISA bus,
653 # this variable helps the PCMCIA modules handle
654 # IRQ requesting properly -- Greg Banks.
656 # Though we're generally not interested in it when
657 # we're not using PCMCIA, so we make it dependent on
658 # PCMCIA outright. -- PFM.
663 Find out whether you have ISA slots on your motherboard. ISA is the
664 name of a bus system, i.e. the way the CPU talks to the other stuff
665 inside your box. Other bus systems are PCI, EISA, MicroChannel
666 (MCA) or VESA. ISA is an older system, now being displaced by PCI;
667 newer boards don't support it. If you have ISA, say Y, otherwise N.
672 The Extended Industry Standard Architecture (EISA) bus was
673 developed as an open alternative to the IBM MicroChannel bus.
675 The EISA bus provided some of the features of the IBM MicroChannel
676 bus while maintaining backward compatibility with cards made for
677 the older ISA bus. The EISA bus saw limited use between 1988 and
678 1995 when it was made obsolete by the PCI bus.
680 Say Y here if you are building a kernel for an EISA-based machine.
687 MicroChannel Architecture is found in some IBM PS/2 machines and
688 laptops. It is a bus system similar to PCI or ISA. See
689 <file:Documentation/mca.txt> (and especially the web page given
690 there) before attempting to build an MCA bus kernel.
696 tristate "SuperHyway Bus support"
697 depends on CPU_SUBTYPE_SH4_202
699 source "arch/sh/drivers/pci/Kconfig"
701 source "drivers/pci/Kconfig"
703 source "drivers/pcmcia/Kconfig"
705 source "drivers/pci/hotplug/Kconfig"
709 menu "Executable file formats"
711 source "fs/Kconfig.binfmt"
715 menu "Power management options (EXPERIMENTAL)"
716 depends on EXPERIMENTAL
718 source kernel/power/Kconfig
724 source "drivers/Kconfig"
728 source "arch/sh/oprofile/Kconfig"
730 source "arch/sh/Kconfig.debug"
732 source "security/Kconfig"
734 source "crypto/Kconfig"