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
25 config GENERIC_FIND_NEXT_BIT
29 config GENERIC_HWEIGHT
33 config GENERIC_HARDIRQS
37 config GENERIC_IRQ_PROBE
41 config GENERIC_CALIBRATE_DELAY
51 config ARCH_MAY_HAVE_PC_FDC
54 config STACKTRACE_SUPPORT
58 config LOCKDEP_SUPPORT
62 config ARCH_HAS_ILOG2_U32
66 config ARCH_HAS_ILOG2_U64
74 config SOLUTION_ENGINE
78 prompt "SuperH system type"
81 config SH_SOLUTION_ENGINE
83 select SOLUTION_ENGINE
85 Select SolutionEngine if configuring for a Hitachi SH7709
86 or SH7750 evaluation board.
88 config SH_7751_SOLUTION_ENGINE
89 bool "SolutionEngine7751"
90 select SOLUTION_ENGINE
91 select CPU_SUBTYPE_SH7751
93 Select 7751 SolutionEngine if configuring for a Hitachi SH7751
96 config SH_7300_SOLUTION_ENGINE
97 bool "SolutionEngine7300"
98 select SOLUTION_ENGINE
99 select CPU_SUBTYPE_SH7300
101 Select 7300 SolutionEngine if configuring for a Hitachi
102 SH7300(SH-Mobile V) evaluation board.
104 config SH_7343_SOLUTION_ENGINE
105 bool "SolutionEngine7343"
106 select SOLUTION_ENGINE
107 select CPU_SUBTYPE_SH7343
109 Select 7343 SolutionEngine if configuring for a Hitachi
110 SH7343 (SH-Mobile 3AS) evaluation board.
112 config SH_73180_SOLUTION_ENGINE
113 bool "SolutionEngine73180"
114 select SOLUTION_ENGINE
115 select CPU_SUBTYPE_SH73180
117 Select 73180 SolutionEngine if configuring for a Hitachi
118 SH73180(SH-Mobile 3) evaluation board.
120 config SH_7751_SYSTEMH
122 select CPU_SUBTYPE_SH7751R
124 Select SystemH if you are configuring for a Renesas SystemH
125 7751R evaluation board.
130 Select HP6XX if configuring for a HP jornada HP6xx.
131 More information (hardware only) at
132 <http://www.hp.com/jornada/>.
137 Select EC3104 if configuring for a system with an Eclipse
138 International EC3104 chip, e.g. the Harris AD2000.
142 select CPU_SUBTYPE_SH7604
144 Select Saturn if configuring for a SEGA Saturn.
148 select CPU_SUBTYPE_SH7091
150 Select Dreamcast if configuring for a SEGA Dreamcast.
152 <http://www.m17n.org/linux-sh/dreamcast/>. There is a
153 Dreamcast project is at <http://linuxdc.sourceforge.net/>.
159 bool "Interface MPC1211"
161 CTP/PCI-SH02 is a CPU module computer that is produced
162 by Interface Corporation.
163 More information at <http://www.interface.co.jp>
166 bool "Interface CTP/PCI-SH03"
168 CTP/PCI-SH03 is a CPU module computer that is produced
169 by Interface Corporation.
170 More information at <http://www.interface.co.jp>
172 config SH_SECUREEDGE5410
173 bool "SecureEdge5410"
174 select CPU_SUBTYPE_SH7751R
176 Select SecureEdge5410 if configuring for a SnapGear SH board.
177 This includes both the OEM SecureEdge products as well as the
180 config SH_HS7751RVOIP
182 select CPU_SUBTYPE_SH7751R
184 Select HS7751RVOIP if configuring for a Renesas Technology
188 bool "SH7710-VOIP-GW"
189 select CPU_SUBTYPE_SH7710
191 Select this option to build a kernel for the SH7710 based
196 select CPU_SUBTYPE_SH7751R
198 Select RTS7751R2D if configuring for a Renesas Technology
199 Sales SH-Graphics board.
203 select CPU_SUBTYPE_SH7780
205 Select R7780RP-1 if configuring for a Renesas Solutions
210 select CPU_SUBTYPE_SH7705
212 config SH_SH4202_MICRODEV
213 bool "SH4-202 MicroDev"
214 select CPU_SUBTYPE_SH4_202
216 Select SH4-202 MicroDev if configuring for a SuperH MicroDev board
221 select CPU_SUBTYPE_SH7751R
223 I-O DATA DEVICE, INC. "LANDISK Series" support.
227 select CPU_SUBTYPE_SH7751R
229 Select Titan if you are configuring for a Nimble Microsystems
234 select CPU_SUBTYPE_SH7706
236 Select SHMIN if configuring for the SHMIN board.
238 config SH_7206_SOLUTION_ENGINE
239 bool "SolutionEngine7206"
240 select CPU_SUBTYPE_SH7206
242 Select 7206 SolutionEngine if configuring for a Hitachi SH7206
245 config SH_7619_SOLUTION_ENGINE
246 bool "SolutionEngine7619"
247 select CPU_SUBTYPE_SH7619
249 Select 7619 SolutionEngine if configuring for a Hitachi SH7619
255 "Bare CPU" aka "unknown" means an SH-based system which is not one
256 of the specific ones mentioned above, which means you need to enter
257 all sorts of stuff like CONFIG_MEMORY_START because the config
258 system doesn't already know what it is. You get a machine vector
259 without any platform-specific code in it, so things like the RTC may
262 This option is for the early stages of porting to a new machine.
266 source "arch/sh/mm/Kconfig"
269 bool "Compact Flash Enabler support"
270 depends on SH_SOLUTION_ENGINE || SH_UNKNOWN || SH_SH03
272 Compact Flash is a small, removable mass storage device introduced
273 in 1994 originally as a PCMCIA device. If you say `Y' here, you
274 compile in support for Compact Flash devices directly connected to
275 a SuperH processor. A Compact Flash FAQ is available at
276 <http://www.compactflash.org/faqs/faq.htm>.
278 If your board has "Directly Connected" CompactFlash at area 5 or 6,
279 you may want to enable this option. Then, you can use CF as
280 primary IDE drive (only tested for SanDisk).
282 If in doubt, select 'N'.
285 prompt "Compact Flash Connection Area"
286 depends on CF_ENABLER
292 If your board has "Directly Connected" CompactFlash, You should
293 select the area where your CF is connected to.
295 - "Area5" if CompactFlash is connected to Area 5 (0x14000000)
296 - "Area6" if it is connected to Area 6 (0x18000000)
298 "Area6" will work for most boards.
307 depends on CF_ENABLER
308 default "0xb8000000" if CF_AREA6
309 default "0xb4000000" if CF_AREA5
311 menu "Processor features"
314 prompt "Endianess selection"
315 default CPU_LITTLE_ENDIAN
317 Some SuperH machines can be configured for either little or big
318 endian byte order. These modes require different kernels.
320 config CPU_LITTLE_ENDIAN
323 config CPU_BIG_ENDIAN
333 Selecting this option will enable support for SH processors that
334 have FPU units (ie, SH77xx).
336 This option must be set in order to enable the FPU.
339 bool "FPU emulation support"
340 depends on !SH_FPU && EXPERIMENTAL
343 Selecting this option will enable support for software FPU emulation.
344 Most SH-3 users will want to say Y here, whereas most SH-4 users will
349 default y if SH4AL_DSP || !CPU_SH4
352 Selecting this option will enable support for SH processors that
353 have DSP units (ie, SH2-DSP, SH3-DSP, and SH4AL-DSP).
355 This option must be set in order to enable the DSP.
362 Selecting this option will allow the Linux kernel to use SH3 on-chip
367 config SH_STORE_QUEUES
368 bool "Support for Store Queues"
371 Selecting this option will enable an in-kernel API for manipulating
372 the store queues integrated in the SH-4 processors.
374 config CPU_HAS_INTEVT
377 config CPU_HAS_PINT_IRQ
380 config CPU_HAS_MASKREG_IRQ
383 config CPU_HAS_INTC2_IRQ
386 config CPU_HAS_IPR_IRQ
391 depends on CPU_SH3 || CPU_SH4
394 This will enable the use of SR.RB register bank usage. Processors
395 that are lacking this bit must have another method in place for
396 accomplishing what is taken care of by the banked registers.
398 See <file:Documentation/sh/register-banks.txt> for further
399 information on SR.RB and register banking in the kernel in general.
407 depends on !GENERIC_TIME
410 bool "TMU timer support"
411 depends on CPU_SH3 || CPU_SH4
414 This enables the use of the TMU as the system timer.
417 bool "CMT timer support"
421 This enables the use of the CMT as the system timer.
424 bool "MTU2 timer support"
428 This enables the use of the MTU2 as the system timer.
432 source "arch/sh/boards/renesas/hs7751rvoip/Kconfig"
434 source "arch/sh/boards/renesas/rts7751r2d/Kconfig"
436 source "arch/sh/boards/renesas/r7780rp/Kconfig"
440 default "28" if CPU_SUBTYPE_SH7780
441 default "86" if CPU_SUBTYPE_SH7619
442 default "140" if CPU_SUBTYPE_SH7206
446 bool "Dynamic tick timer"
448 Select this option if you want to disable continuous timer ticks
449 and have them programmed to occur as required. This option saves
450 power as the system can remain in idle state for longer.
452 By default dynamic tick is disabled during the boot, and can be
453 manually enabled with:
455 echo 1 > /sys/devices/system/timer/timer0/dyn_tick
457 Alternatively, if you want dynamic tick automatically enabled
458 during boot, pass "dyntick=enable" via the kernel command string.
460 Please note that dynamic tick may affect the accuracy of
461 timekeeping on some platforms depending on the implementation.
464 int "Peripheral clock frequency (in Hz)"
465 default "27000000" if CPU_SUBTYPE_SH73180 || CPU_SUBTYPE_SH7343
466 default "31250000" if CPU_SUBTYPE_SH7619
467 default "33333333" if CPU_SUBTYPE_SH7300 || CPU_SUBTYPE_SH7770 || \
468 CPU_SUBTYPE_SH7760 || CPU_SUBTYPE_SH7705 || \
470 default "50000000" if CPU_SUBTYPE_SH7750 || CPU_SUBTYPE_SH7780
471 default "60000000" if CPU_SUBTYPE_SH7751
472 default "66000000" if CPU_SUBTYPE_SH4_202
474 This option is used to specify the peripheral clock frequency.
475 This is necessary for determining the reference clock value on
476 platforms lacking an RTC.
479 int "CPU Mode Pin Setting"
480 depends on CPU_SUBTYPE_SH7619 || CPU_SUBTYPE_SH7206
482 MD2 - MD0 pin setting.
484 menu "CPU Frequency scaling"
486 source "drivers/cpufreq/Kconfig"
489 tristate "SuperH CPU Frequency driver"
491 select CPU_FREQ_TABLE
493 This adds the cpufreq driver for SuperH. At present, only
494 the SH-4 is supported.
496 For details, take a look at <file:Documentation/cpu-freq>.
502 source "arch/sh/drivers/dma/Kconfig"
504 source "arch/sh/cchips/Kconfig"
508 depends on SH_MPC1211 || SH_SH03 || \
509 SH_BIGSUR || SOLUTION_ENGINE || \
510 SH_RTS7751R2D || SH_SH4202_MICRODEV || SH_LANDISK
512 Use the power-on LED on your machine as a load meter. The exact
513 behavior is platform-dependent, but normally the flash frequency is
514 a hyperbolic function of the 5-minute load average.
516 source "arch/sh/drivers/Kconfig"
522 depends on SH_MPC1211
525 menu "Kernel features"
527 source kernel/Kconfig.hz
530 bool "kexec system call (EXPERIMENTAL)"
531 depends on EXPERIMENTAL
533 kexec is a system call that implements the ability to shutdown your
534 current kernel, and to start another kernel. It is like a reboot
535 but it is independent of the system firmware. And like a reboot
536 you can start any kernel with it, not just Linux.
538 The name comes from the similarity to the exec system call.
540 It is an ongoing process to be certain the hardware in a machine
541 is properly shutdown, so do not be surprised if this code does not
542 initially work for you. It may help to enable device hotplugging
543 support. As of this writing the exact hardware interface is
544 strongly in flux, so no good recommendation can be made.
547 bool "Symmetric multi-processing support"
549 This enables support for systems with more than one CPU. If you have
550 a system with only one CPU, like most personal computers, say N. If
551 you have a system with more than one CPU, say Y.
553 If you say N here, the kernel will run on single and multiprocessor
554 machines, but will use only one CPU of a multiprocessor machine. If
555 you say Y here, the kernel will run on many, but not all,
556 singleprocessor machines. On a singleprocessor machine, the kernel
557 will run faster if you say N here.
559 People using multiprocessor machines who say Y here should also say
560 Y to "Enhanced Real Time Clock Support", below.
562 See also the <file:Documentation/smp.txt>,
563 <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO available
564 at <http://www.tldp.org/docs.html#howto>.
566 If you don't know what to do here, say N.
569 int "Maximum number of CPUs (2-32)"
574 This allows you to specify the maximum number of CPUs which this
575 kernel will support. The maximum supported value is 32 and the
576 minimum value which makes sense is 2.
578 This is purely to save memory - each supported CPU adds
579 approximately eight kilobytes to the kernel image.
581 source "kernel/Kconfig.preempt"
586 depends on NEED_MULTIPLE_NODES
592 config ZERO_PAGE_OFFSET
593 hex "Zero page offset"
594 default "0x00004000" if SH_MPC1211 || SH_SH03
597 This sets the default offset of zero page.
599 config BOOT_LINK_OFFSET
600 hex "Link address offset for booting"
603 This option allows you to set the link address offset of the zImage.
604 This can be useful if you are on a board which has a small amount of
608 bool "Wakeup UBC on startup"
610 Selecting this option will wakeup the User Break Controller (UBC) on
611 startup. Although the UBC is left in an awake state when the processor
612 comes up, some boot loaders misbehave by putting the UBC to sleep in a
613 power saving state, which causes issues with things like ptrace().
618 bool "Default bootloader kernel arguments"
621 string "Initial kernel command string"
622 depends on CMDLINE_BOOL
623 default "console=ttySC1,115200"
629 # Even on SuperH devices which don't have an ISA bus,
630 # this variable helps the PCMCIA modules handle
631 # IRQ requesting properly -- Greg Banks.
633 # Though we're generally not interested in it when
634 # we're not using PCMCIA, so we make it dependent on
635 # PCMCIA outright. -- PFM.
640 Find out whether you have ISA slots on your motherboard. ISA is the
641 name of a bus system, i.e. the way the CPU talks to the other stuff
642 inside your box. Other bus systems are PCI, EISA, MicroChannel
643 (MCA) or VESA. ISA is an older system, now being displaced by PCI;
644 newer boards don't support it. If you have ISA, say Y, otherwise N.
649 The Extended Industry Standard Architecture (EISA) bus was
650 developed as an open alternative to the IBM MicroChannel bus.
652 The EISA bus provided some of the features of the IBM MicroChannel
653 bus while maintaining backward compatibility with cards made for
654 the older ISA bus. The EISA bus saw limited use between 1988 and
655 1995 when it was made obsolete by the PCI bus.
657 Say Y here if you are building a kernel for an EISA-based machine.
664 MicroChannel Architecture is found in some IBM PS/2 machines and
665 laptops. It is a bus system similar to PCI or ISA. See
666 <file:Documentation/mca.txt> (and especially the web page given
667 there) before attempting to build an MCA bus kernel.
673 tristate "SuperHyway Bus support"
674 depends on CPU_SUBTYPE_SH4_202
676 source "arch/sh/drivers/pci/Kconfig"
678 source "drivers/pci/Kconfig"
680 source "drivers/pcmcia/Kconfig"
682 source "drivers/pci/hotplug/Kconfig"
686 menu "Executable file formats"
688 source "fs/Kconfig.binfmt"
692 menu "Power management options (EXPERIMENTAL)"
693 depends on EXPERIMENTAL
695 source kernel/power/Kconfig
698 bool "Advanced Power Management Emulation"
704 source "drivers/Kconfig"
708 source "arch/sh/oprofile/Kconfig"
710 source "arch/sh/Kconfig.debug"
712 source "security/Kconfig"
714 source "crypto/Kconfig"