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
249 select CPU_SUBTYPE_SH7751R
251 Select L-BOX RE2 if configuring for the NTT COMWARE L-BOX RE2.
256 "Bare CPU" aka "unknown" means an SH-based system which is not one
257 of the specific ones mentioned above, which means you need to enter
258 all sorts of stuff like CONFIG_MEMORY_START because the config
259 system doesn't already know what it is. You get a machine vector
260 without any platform-specific code in it, so things like the RTC may
263 This option is for the early stages of porting to a new machine.
267 source "arch/sh/boards/renesas/hs7751rvoip/Kconfig"
268 source "arch/sh/boards/renesas/rts7751r2d/Kconfig"
269 source "arch/sh/boards/renesas/r7780rp/Kconfig"
271 source "arch/sh/mm/Kconfig"
274 bool "Compact Flash Enabler support"
275 depends on SH_SOLUTION_ENGINE || SH_UNKNOWN || SH_SH03
277 Compact Flash is a small, removable mass storage device introduced
278 in 1994 originally as a PCMCIA device. If you say `Y' here, you
279 compile in support for Compact Flash devices directly connected to
280 a SuperH processor. A Compact Flash FAQ is available at
281 <http://www.compactflash.org/faqs/faq.htm>.
283 If your board has "Directly Connected" CompactFlash at area 5 or 6,
284 you may want to enable this option. Then, you can use CF as
285 primary IDE drive (only tested for SanDisk).
287 If in doubt, select 'N'.
290 prompt "Compact Flash Connection Area"
291 depends on CF_ENABLER
297 If your board has "Directly Connected" CompactFlash, You should
298 select the area where your CF is connected to.
300 - "Area5" if CompactFlash is connected to Area 5 (0x14000000)
301 - "Area6" if it is connected to Area 6 (0x18000000)
303 "Area6" will work for most boards.
312 depends on CF_ENABLER
313 default "0xb8000000" if CF_AREA6
314 default "0xb4000000" if CF_AREA5
316 menu "Processor features"
319 prompt "Endianess selection"
320 default CPU_LITTLE_ENDIAN
322 Some SuperH machines can be configured for either little or big
323 endian byte order. These modes require different kernels.
325 config CPU_LITTLE_ENDIAN
328 config CPU_BIG_ENDIAN
338 Selecting this option will enable support for SH processors that
339 have FPU units (ie, SH77xx).
341 This option must be set in order to enable the FPU.
344 bool "FPU emulation support"
345 depends on !SH_FPU && EXPERIMENTAL
348 Selecting this option will enable support for software FPU emulation.
349 Most SH-3 users will want to say Y here, whereas most SH-4 users will
354 default y if SH4AL_DSP || !CPU_SH4
357 Selecting this option will enable support for SH processors that
358 have DSP units (ie, SH2-DSP, SH3-DSP, and SH4AL-DSP).
360 This option must be set in order to enable the DSP.
367 Selecting this option will allow the Linux kernel to use SH3 on-chip
372 config SH_STORE_QUEUES
373 bool "Support for Store Queues"
376 Selecting this option will enable an in-kernel API for manipulating
377 the store queues integrated in the SH-4 processors.
379 config SPECULATIVE_EXECUTION
380 bool "Speculative subroutine return"
381 depends on CPU_SUBTYPE_SH7780 && EXPERIMENTAL
383 This enables support for a speculative instruction fetch for
384 subroutine return. There are various pitfalls associated with
385 this, as outlined in the SH7780 hardware manual.
389 config CPU_HAS_INTEVT
392 config CPU_HAS_PINT_IRQ
395 config CPU_HAS_MASKREG_IRQ
398 config CPU_HAS_INTC2_IRQ
401 config CPU_HAS_IPR_IRQ
406 depends on CPU_SH3 || CPU_SH4
409 This will enable the use of SR.RB register bank usage. Processors
410 that are lacking this bit must have another method in place for
411 accomplishing what is taken care of by the banked registers.
413 See <file:Documentation/sh/register-banks.txt> for further
414 information on SR.RB and register banking in the kernel in general.
421 menu "Timer and clock configuration"
426 bool "TMU timer support"
427 depends on CPU_SH3 || CPU_SH4
430 This enables the use of the TMU as the system timer.
433 bool "CMT timer support"
437 This enables the use of the CMT as the system timer.
440 bool "MTU2 timer support"
444 This enables the use of the MTU2 as the system timer.
450 default "28" if CPU_SUBTYPE_SH7780 || CPU_SUBTYPE_SH7785
451 default "86" if CPU_SUBTYPE_SH7619
452 default "140" if CPU_SUBTYPE_SH7206
456 bool "Dynamic tick timer"
458 Select this option if you want to disable continuous timer ticks
459 and have them programmed to occur as required. This option saves
460 power as the system can remain in idle state for longer.
462 By default dynamic tick is disabled during the boot, and can be
463 manually enabled with:
465 echo 1 > /sys/devices/system/timer/timer0/dyn_tick
467 Alternatively, if you want dynamic tick automatically enabled
468 during boot, pass "dyntick=enable" via the kernel command string.
470 Please note that dynamic tick may affect the accuracy of
471 timekeeping on some platforms depending on the implementation.
474 int "Peripheral clock frequency (in Hz)"
475 default "27000000" if CPU_SUBTYPE_SH73180 || CPU_SUBTYPE_SH7343
476 default "31250000" if CPU_SUBTYPE_SH7619
477 default "33333333" if CPU_SUBTYPE_SH7300 || CPU_SUBTYPE_SH7770 || \
478 CPU_SUBTYPE_SH7760 || CPU_SUBTYPE_SH7705 || \
480 default "50000000" if CPU_SUBTYPE_SH7750 || CPU_SUBTYPE_SH7780 || \
482 default "60000000" if CPU_SUBTYPE_SH7751
483 default "66000000" if CPU_SUBTYPE_SH4_202
485 This option is used to specify the peripheral clock frequency.
486 This is necessary for determining the reference clock value on
487 platforms lacking an RTC.
490 int "CPU Mode Pin Setting"
492 depends on CPU_SUBTYPE_SH7619 || CPU_SUBTYPE_SH7206
494 MD2 - MD0 pin setting.
498 menu "CPU Frequency scaling"
500 source "drivers/cpufreq/Kconfig"
503 tristate "SuperH CPU Frequency driver"
505 select CPU_FREQ_TABLE
507 This adds the cpufreq driver for SuperH. At present, only
508 the SH-4 is supported.
510 For details, take a look at <file:Documentation/cpu-freq>.
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
595 default "0x00010000" if PAGE_SIZE_64KB
596 default "0x00002000" if PAGE_SIZE_8KB
599 This sets the default offset of zero page.
601 config BOOT_LINK_OFFSET
602 hex "Link address offset for booting"
605 This option allows you to set the link address offset of the zImage.
606 This can be useful if you are on a board which has a small amount of
610 bool "Wakeup UBC on startup"
612 Selecting this option will wakeup the User Break Controller (UBC) on
613 startup. Although the UBC is left in an awake state when the processor
614 comes up, some boot loaders misbehave by putting the UBC to sleep in a
615 power saving state, which causes issues with things like ptrace().
620 bool "Default bootloader kernel arguments"
623 string "Initial kernel command string"
624 depends on CMDLINE_BOOL
625 default "console=ttySC1,115200"
631 # Even on SuperH devices which don't have an ISA bus,
632 # this variable helps the PCMCIA modules handle
633 # IRQ requesting properly -- Greg Banks.
635 # Though we're generally not interested in it when
636 # we're not using PCMCIA, so we make it dependent on
637 # PCMCIA outright. -- PFM.
642 Find out whether you have ISA slots on your motherboard. ISA is the
643 name of a bus system, i.e. the way the CPU talks to the other stuff
644 inside your box. Other bus systems are PCI, EISA, MicroChannel
645 (MCA) or VESA. ISA is an older system, now being displaced by PCI;
646 newer boards don't support it. If you have ISA, say Y, otherwise N.
651 The Extended Industry Standard Architecture (EISA) bus was
652 developed as an open alternative to the IBM MicroChannel bus.
654 The EISA bus provided some of the features of the IBM MicroChannel
655 bus while maintaining backward compatibility with cards made for
656 the older ISA bus. The EISA bus saw limited use between 1988 and
657 1995 when it was made obsolete by the PCI bus.
659 Say Y here if you are building a kernel for an EISA-based machine.
666 MicroChannel Architecture is found in some IBM PS/2 machines and
667 laptops. It is a bus system similar to PCI or ISA. See
668 <file:Documentation/mca.txt> (and especially the web page given
669 there) before attempting to build an MCA bus kernel.
675 tristate "SuperHyway Bus support"
676 depends on CPU_SUBTYPE_SH4_202
678 source "arch/sh/drivers/pci/Kconfig"
680 source "drivers/pci/Kconfig"
682 source "drivers/pcmcia/Kconfig"
684 source "drivers/pci/hotplug/Kconfig"
688 menu "Executable file formats"
690 source "fs/Kconfig.binfmt"
694 menu "Power management options (EXPERIMENTAL)"
695 depends on EXPERIMENTAL
697 source kernel/power/Kconfig
703 source "drivers/Kconfig"
707 source "arch/sh/oprofile/Kconfig"
709 source "arch/sh/Kconfig.debug"
711 source "security/Kconfig"
713 source "crypto/Kconfig"