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_PM
61 config SYS_SUPPORTS_APM_EMULATION
63 select SYS_SUPPORTS_PM
65 config SYS_SUPPORTS_SMP
68 config SYS_SUPPORTS_NUMA
71 config SYS_SUPPORTS_PCI
74 config ARCH_MAY_HAVE_PC_FDC
77 config STACKTRACE_SUPPORT
81 config LOCKDEP_SUPPORT
85 config ARCH_HAS_ILOG2_U32
89 config ARCH_HAS_ILOG2_U64
93 config ARCH_NO_VIRT_TO_BUS
100 source "arch/sh/mm/Kconfig"
102 menu "Processor features"
105 prompt "Endianess selection"
106 default CPU_LITTLE_ENDIAN
108 Some SuperH machines can be configured for either little or big
109 endian byte order. These modes require different kernels.
111 config CPU_LITTLE_ENDIAN
114 config CPU_BIG_ENDIAN
121 depends on CPU_HAS_FPU
124 Selecting this option will enable support for SH processors that
125 have FPU units (ie, SH77xx).
127 This option must be set in order to enable the FPU.
130 bool "FPU emulation support"
131 depends on !SH_FPU && EXPERIMENTAL
134 Selecting this option will enable support for software FPU emulation.
135 Most SH-3 users will want to say Y here, whereas most SH-4 users will
140 depends on CPU_HAS_DSP
143 Selecting this option will enable support for SH processors that
144 have DSP units (ie, SH2-DSP, SH3-DSP, and SH4AL-DSP).
146 This option must be set in order to enable the DSP.
153 Selecting this option will allow the Linux kernel to use SH3 on-chip
158 config SH_STORE_QUEUES
159 bool "Support for Store Queues"
162 Selecting this option will enable an in-kernel API for manipulating
163 the store queues integrated in the SH-4 processors.
165 config SPECULATIVE_EXECUTION
166 bool "Speculative subroutine return"
167 depends on CPU_SUBTYPE_SH7780 && EXPERIMENTAL
169 This enables support for a speculative instruction fetch for
170 subroutine return. There are various pitfalls associated with
171 this, as outlined in the SH7780 hardware manual.
175 config CPU_HAS_INTEVT
178 config CPU_HAS_MASKREG_IRQ
181 config CPU_HAS_IPR_IRQ
187 This will enable the use of SR.RB register bank usage. Processors
188 that are lacking this bit must have another method in place for
189 accomplishing what is taken care of by the banked registers.
191 See <file:Documentation/sh/register-banks.txt> for further
192 information on SR.RB and register banking in the kernel in general.
207 config SOLUTION_ENGINE
210 config SH_SOLUTION_ENGINE
211 bool "SolutionEngine"
212 select SOLUTION_ENGINE
213 select CPU_HAS_IPR_IRQ
214 depends on CPU_SUBTYPE_SH7705 || CPU_SUBTYPE_SH7709 || CPU_SUBTYPE_SH7710 || \
215 CPU_SUBTYPE_SH7712 || CPU_SUBTYPE_SH7750 || CPU_SUBTYPE_SH7750S || \
218 Select SolutionEngine if configuring for a Hitachi SH7705, SH7709,
219 SH7710, SH7712, SH7750, SH7750S or SH7750R evaluation board.
221 config SH_7206_SOLUTION_ENGINE
222 bool "SolutionEngine7206"
223 select SOLUTION_ENGINE
224 depends on CPU_SUBTYPE_SH7206
226 Select 7206 SolutionEngine if configuring for a Hitachi SH7206
229 config SH_7619_SOLUTION_ENGINE
230 bool "SolutionEngine7619"
231 select SOLUTION_ENGINE
232 depends on CPU_SUBTYPE_SH7619
234 Select 7619 SolutionEngine if configuring for a Hitachi SH7619
237 config SH_7722_SOLUTION_ENGINE
238 bool "SolutionEngine7722"
239 select SOLUTION_ENGINE
240 depends on CPU_SUBTYPE_SH7722
242 Select 7722 SolutionEngine if configuring for a Hitachi SH772
245 config SH_7751_SOLUTION_ENGINE
246 bool "SolutionEngine7751"
247 select SOLUTION_ENGINE
248 select CPU_HAS_IPR_IRQ
249 depends on CPU_SUBTYPE_SH7751
251 Select 7751 SolutionEngine if configuring for a Hitachi SH7751
254 config SH_7780_SOLUTION_ENGINE
255 bool "SolutionEngine7780"
256 select SOLUTION_ENGINE
257 select SYS_SUPPORTS_PCI
258 depends on CPU_SUBTYPE_SH7780
260 Select 7780 SolutionEngine if configuring for a Renesas SH7780
263 config SH_7343_SOLUTION_ENGINE
264 bool "SolutionEngine7343"
265 select SOLUTION_ENGINE
266 depends on CPU_SUBTYPE_SH7343
268 Select 7343 SolutionEngine if configuring for a Hitachi
269 SH7343 (SH-Mobile 3AS) evaluation board.
271 config SH_7751_SYSTEMH
273 depends on CPU_SUBTYPE_SH7751R
275 Select SystemH if you are configuring for a Renesas SystemH
276 7751R evaluation board.
280 select SYS_SUPPORTS_APM_EMULATION
281 select HD6446X_SERIES
282 depends on CPU_SUBTYPE_SH7709
284 Select HP6XX if configuring for a HP jornada HP6xx.
285 More information (hardware only) at
286 <http://www.hp.com/jornada/>.
290 select SYS_SUPPORTS_PCI
291 depends on CPU_SUBTYPE_SH7091
293 Select Dreamcast if configuring for a SEGA Dreamcast.
294 More information at <http://www.linux-sh.org>
297 bool "Interface MPC1211"
298 depends on CPU_SUBTYPE_SH7751 && BROKEN
300 CTP/PCI-SH02 is a CPU module computer that is produced
301 by Interface Corporation.
302 More information at <http://www.interface.co.jp>
305 bool "Interface CTP/PCI-SH03"
306 depends on CPU_SUBTYPE_SH7751
307 select CPU_HAS_IPR_IRQ
308 select SYS_SUPPORTS_PCI
310 CTP/PCI-SH03 is a CPU module computer that is produced
311 by Interface Corporation.
312 More information at <http://www.interface.co.jp>
314 config SH_SECUREEDGE5410
315 bool "SecureEdge5410"
316 depends on CPU_SUBTYPE_SH7751R
317 select CPU_HAS_IPR_IRQ
318 select SYS_SUPPORTS_PCI
320 Select SecureEdge5410 if configuring for a SnapGear SH board.
321 This includes both the OEM SecureEdge products as well as the
324 config SH_HS7751RVOIP
326 depends on CPU_SUBTYPE_SH7751R
328 Select HS7751RVOIP if configuring for a Renesas Technology
332 bool "SH7710-VOIP-GW"
333 depends on CPU_SUBTYPE_SH7710
335 Select this option to build a kernel for the SH7710 based
340 depends on CPU_SUBTYPE_SH7751R
341 select SYS_SUPPORTS_PCI
343 Select RTS7751R2D if configuring for a Renesas Technology
344 Sales SH-Graphics board.
348 depends on CPU_SUBTYPE_SH7780 || CPU_SUBTYPE_SH7785
349 select SYS_SUPPORTS_PCI
353 depends on CPU_SUBTYPE_SH7705
355 config SH_SH4202_MICRODEV
356 bool "SH4-202 MicroDev"
357 depends on CPU_SUBTYPE_SH4_202
359 Select SH4-202 MicroDev if configuring for a SuperH MicroDev board
364 depends on CPU_SUBTYPE_SH7751R
365 select SYS_SUPPORTS_PCI
367 I-O DATA DEVICE, INC. "LANDISK Series" support.
371 depends on CPU_SUBTYPE_SH7751R
372 select CPU_HAS_IPR_IRQ
373 select SYS_SUPPORTS_PCI
375 Select Titan if you are configuring for a Nimble Microsystems
380 depends on CPU_SUBTYPE_SH7706
381 select CPU_HAS_IPR_IRQ
383 Select SHMIN if configuring for the SHMIN board.
387 depends on CPU_SUBTYPE_SH7751R
388 select SYS_SUPPORTS_PCI
390 Select L-BOX RE2 if configuring for the NTT COMWARE L-BOX RE2.
393 bool "SH-X3 Prototype board"
394 depends on CPU_SUBTYPE_SHX3
396 config SH_MAGIC_PANEL_R2
397 bool "Magic Panel R2"
398 depends on CPU_SUBTYPE_SH7720
400 Select Magic Panel R2 if configuring for Magic Panel R2.
404 source "arch/sh/boards/renesas/hs7751rvoip/Kconfig"
405 source "arch/sh/boards/renesas/rts7751r2d/Kconfig"
406 source "arch/sh/boards/renesas/r7780rp/Kconfig"
407 source "arch/sh/boards/magicpanelr2/Kconfig"
409 menu "Timer and clock configuration"
412 bool "TMU timer support"
413 depends on CPU_SH3 || CPU_SH4
415 select GENERIC_CLOCKEVENTS
418 This enables the use of the TMU as the system timer.
421 bool "CMT timer support"
425 This enables the use of the CMT as the system timer.
428 bool "MTU2 timer support"
432 This enables the use of the MTU2 as the system timer.
436 default "28" if CPU_SUBTYPE_SH7780 || CPU_SUBTYPE_SH7785
437 default "86" if CPU_SUBTYPE_SH7619
438 default "140" if CPU_SUBTYPE_SH7206
442 int "Peripheral clock frequency (in Hz)"
443 default "27000000" if CPU_SUBTYPE_SH7343
444 default "31250000" if CPU_SUBTYPE_SH7619
445 default "32000000" if CPU_SUBTYPE_SH7722
446 default "33333333" if CPU_SUBTYPE_SH7770 || \
447 CPU_SUBTYPE_SH7760 || CPU_SUBTYPE_SH7705 || \
449 default "60000000" if CPU_SUBTYPE_SH7751 || CPU_SUBTYPE_SH7751R
450 default "66000000" if CPU_SUBTYPE_SH4_202
453 This option is used to specify the peripheral clock frequency.
454 This is necessary for determining the reference clock value on
455 platforms lacking an RTC.
458 int "CPU Mode Pin Setting"
459 depends on CPU_SUBTYPE_SH7619 || CPU_SUBTYPE_SH7206
460 default 6 if CPU_SUBTYPE_SH7206
461 default 5 if CPU_SUBTYPE_SH7619
464 MD2 - MD0 pin setting.
466 source "kernel/time/Kconfig"
470 menu "CPU Frequency scaling"
472 source "drivers/cpufreq/Kconfig"
475 tristate "SuperH CPU Frequency driver"
477 select CPU_FREQ_TABLE
479 This adds the cpufreq driver for SuperH. At present, only
480 the SH-4 is supported.
482 For details, take a look at <file:Documentation/cpu-freq>.
488 source "arch/sh/drivers/Kconfig"
494 depends on SH_MPC1211
497 menu "Kernel features"
499 source kernel/Kconfig.hz
502 bool "kexec system call (EXPERIMENTAL)"
503 depends on EXPERIMENTAL
505 kexec is a system call that implements the ability to shutdown your
506 current kernel, and to start another kernel. It is like a reboot
507 but it is independent of the system firmware. And like a reboot
508 you can start any kernel with it, not just Linux.
510 The name comes from the similarity to the exec system call.
512 It is an ongoing process to be certain the hardware in a machine
513 is properly shutdown, so do not be surprised if this code does not
514 initially work for you. It may help to enable device hotplugging
515 support. As of this writing the exact hardware interface is
516 strongly in flux, so no good recommendation can be made.
519 bool "kernel crash dumps (EXPERIMENTAL)"
520 depends on EXPERIMENTAL
522 Generate crash dump after being started by kexec.
523 This should be normally only set in special crash dump kernels
524 which are loaded in the main kernel with kexec-tools into
525 a specially reserved region and then later executed after
526 a crash by kdump/kexec. The crash dump kernel must be compiled
527 to a memory address not used by the main kernel using
530 For more details see Documentation/kdump/kdump.txt
533 bool "Symmetric multi-processing support"
534 depends on SYS_SUPPORTS_SMP
536 This enables support for systems with more than one CPU. If you have
537 a system with only one CPU, like most personal computers, say N. If
538 you have a system with more than one CPU, say Y.
540 If you say N here, the kernel will run on single and multiprocessor
541 machines, but will use only one CPU of a multiprocessor machine. If
542 you say Y here, the kernel will run on many, but not all,
543 singleprocessor machines. On a singleprocessor machine, the kernel
544 will run faster if you say N here.
546 People using multiprocessor machines who say Y here should also say
547 Y to "Enhanced Real Time Clock Support", below.
549 See also the <file:Documentation/smp.txt>,
550 <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO available
551 at <http://www.tldp.org/docs.html#howto>.
553 If you don't know what to do here, say N.
556 int "Maximum number of CPUs (2-32)"
559 default "4" if CPU_SHX3
562 This allows you to specify the maximum number of CPUs which this
563 kernel will support. The maximum supported value is 32 and the
564 minimum value which makes sense is 2.
566 This is purely to save memory - each supported CPU adds
567 approximately eight kilobytes to the kernel image.
569 source "kernel/Kconfig.preempt"
575 This enables support for gUSA (general UserSpace Atomicity).
576 This is the default implementation for both UP and non-ll/sc
577 CPUs, and is used by the libc, amongst others.
579 For additional information, design information can be found
580 in <http://lc.linux.or.jp/lc2002/papers/niibe0919p.pdf>.
582 This should only be disabled for special cases where alternate
583 atomicity implementations exist.
589 config ZERO_PAGE_OFFSET
590 hex "Zero page offset"
591 default "0x00004000" if SH_MPC1211 || SH_SH03
592 default "0x00010000" if PAGE_SIZE_64KB
593 default "0x00002000" if PAGE_SIZE_8KB
596 This sets the default offset of zero page.
598 config BOOT_LINK_OFFSET
599 hex "Link address offset for booting"
602 This option allows you to set the link address offset of the zImage.
603 This can be useful if you are on a board which has a small amount of
607 bool "Wakeup UBC on startup"
608 depends on CPU_SH4 && !CPU_SH4A
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.
638 depends on PCMCIA && HD6446X_SERIES
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
677 bool "Maple Bus support"
678 depends on SH_DREAMCAST
680 The Maple Bus is SEGA's serial communication bus for peripherals
681 on the Dreamcast. Without this bus support you won't be able to
682 get your Dreamcast keyboard etc to work, so most users
683 probably want to say 'Y' here, unless you are only using the
684 Dreamcast with a serial line terminal or a remote network
688 bool "Compact Flash Enabler support"
689 depends on SOLUTION_ENGINE || SH_SH03
691 Compact Flash is a small, removable mass storage device introduced
692 in 1994 originally as a PCMCIA device. If you say `Y' here, you
693 compile in support for Compact Flash devices directly connected to
694 a SuperH processor. A Compact Flash FAQ is available at
695 <http://www.compactflash.org/faqs/faq.htm>.
697 If your board has "Directly Connected" CompactFlash at area 5 or 6,
698 you may want to enable this option. Then, you can use CF as
699 primary IDE drive (only tested for SanDisk).
701 If in doubt, select 'N'.
704 prompt "Compact Flash Connection Area"
705 depends on CF_ENABLER
711 If your board has "Directly Connected" CompactFlash, You should
712 select the area where your CF is connected to.
714 - "Area5" if CompactFlash is connected to Area 5 (0x14000000)
715 - "Area6" if it is connected to Area 6 (0x18000000)
717 "Area6" will work for most boards.
726 depends on CF_ENABLER
727 default "0xb8000000" if CF_AREA6
728 default "0xb4000000" if CF_AREA5
730 source "arch/sh/drivers/pci/Kconfig"
732 source "drivers/pci/Kconfig"
734 source "drivers/pcmcia/Kconfig"
736 source "drivers/pci/hotplug/Kconfig"
740 menu "Executable file formats"
742 source "fs/Kconfig.binfmt"
746 menu "Power management options (EXPERIMENTAL)"
747 depends on EXPERIMENTAL && SYS_SUPPORTS_PM
749 source kernel/power/Kconfig
755 source "drivers/Kconfig"
759 source "kernel/Kconfig.instrumentation"
761 source "arch/sh/Kconfig.debug"
763 source "security/Kconfig"
765 source "crypto/Kconfig"