2 # For a description of the syntax of this configuration file,
3 # see Documentation/kbuild/kconfig-language.txt.
6 mainmenu "Linux/SuperH Kernel Configuration"
12 The SuperH is a RISC processor targeted for use in embedded systems
13 and consumer electronics; it was also used in the Sega Dreamcast
14 gaming console. The SuperH port has a home page at
15 <http://www.linux-sh.org/>.
21 config RWSEM_GENERIC_SPINLOCK
25 config RWSEM_XCHGADD_ALGORITHM
28 config GENERIC_HARDIRQS
32 config GENERIC_IRQ_PROBE
36 config GENERIC_CALIBRATE_DELAY
40 config ARCH_MAY_HAVE_PC_FDC
49 prompt "SuperH system type"
52 config SH_SOLUTION_ENGINE
55 Select SolutionEngine if configuring for a Hitachi SH7709
56 or SH7750 evaluation board.
58 config SH_7751_SOLUTION_ENGINE
59 bool "SolutionEngine7751"
61 Select 7751 SolutionEngine if configuring for a Hitachi SH7751
64 config SH_7300_SOLUTION_ENGINE
65 bool "SolutionEngine7300"
67 Select 7300 SolutionEngine if configuring for a Hitachi SH7300(SH-Mobile V)
70 config SH_73180_SOLUTION_ENGINE
71 bool "SolutionEngine73180"
73 Select 73180 SolutionEngine if configuring for a Hitachi SH73180(SH-Mobile 3)
76 config SH_7751_SYSTEMH
79 Select SystemH if you are configuring for a Renesas SystemH
80 7751R evaluation board.
85 config SH_STB1_OVERDRIVE
91 Select HP620 if configuring for a HP jornada HP620.
92 More information (hardware only) at
93 <http://www.hp.com/jornada/>.
98 Select HP680 if configuring for a HP Jornada HP680.
99 More information (hardware only) at
100 <http://www.hp.com/jornada/products/680/>.
105 Select HP690 if configuring for a HP Jornada HP690.
106 More information (hardware only)
107 at <http://www.hp.com/jornada/products/680/>.
112 Select CqREEK if configuring for a CqREEK SH7708 or SH7750.
114 <http://sources.redhat.com/ecos/hardware.html#SuperH>.
119 Select DMIDA if configuring for a DataMyte 4000 Industrial
120 Digital Assistant. More information at <http://www.dmida.com/>.
125 Select EC3104 if configuring for a system with an Eclipse
126 International EC3104 chip, e.g. the Harris AD2000.
131 Select Saturn if configuring for a SEGA Saturn.
136 Select Dreamcast if configuring for a SEGA Dreamcast.
138 <http://www.m17n.org/linux-sh/dreamcast/>. There is a
139 Dreamcast project is at <http://linuxdc.sourceforge.net/>.
150 SH-2000 is a single-board computer based around SH7709A chip
151 intended for embedded applications.
152 It has an Ethernet interface (CS8900A), direct connected
153 Compact Flash socket, three serial ports and PC-104 bus.
154 More information at <http://sh2000.sh-linux.org>.
165 CTP/PCI-SH03 is a CPU module computer that produced
166 by Interface Corporation.
167 It is compact and excellent in durability.
168 It will play an active part in your factory or laboratory
170 More information at <http://www.interface.co.jp>
172 config SH_SECUREEDGE5410
173 bool "SecureEdge5410"
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
182 Select HS7751RVOIP if configuring for a Renesas Technology
188 Select RTS7751R2D if configuring for a Renesas Technology
189 Sales SH-Graphics board.
194 config SH_SH4202_MICRODEV
195 bool "SH4-202 MicroDev"
197 Select SH4-202 MicroDev if configuring for a SuperH MicroDev board
203 "Bare CPU" aka "unknown" means an SH-based system which is not one
204 of the specific ones mentioned above, which means you need to enter
205 all sorts of stuff like CONFIG_MEMORY_START because the config
206 system doesn't already know what it is. You get a machine vector
207 without any platform-specific code in it, so things like the RTC may
210 This option is for the early stages of porting to a new machine.
215 prompt "Processor family"
218 This option determines the CPU family to compile for. Supported
219 targets are SH-2, SH-3, and SH-4. These options are independent of
220 CPU functionality. As such, SH-DSP users will still want to select
221 their respective processor family in addition to the DSP support
226 select SH_WRITETHROUGH
237 prompt "Processor subtype"
239 config CPU_SUBTYPE_SH7604
243 Select SH7604 if you have SH7604
245 config CPU_SUBTYPE_SH7300
249 config CPU_SUBTYPE_SH7705
253 config CPU_SUBTYPE_SH7707
257 Select SH7707 if you have a 60 Mhz SH-3 HD6417707 CPU.
259 config CPU_SUBTYPE_SH7708
263 Select SH7708 if you have a 60 Mhz SH-3 HD6417708S or
264 if you have a 100 Mhz SH-3 HD6417708R CPU.
266 config CPU_SUBTYPE_SH7709
270 Select SH7709 if you have a 80 Mhz SH-3 HD6417709 CPU.
272 config CPU_SUBTYPE_SH7750
276 Select SH7750 if you have a 200 Mhz SH-4 HD6417750 CPU.
278 config CPU_SUBTYPE_SH7751
279 bool "SH7751/SH7751R"
282 Select SH7751 if you have a 166 Mhz SH-4 HD6417751 CPU,
283 or if you have a HD6417751R CPU.
285 config CPU_SUBTYPE_SH7760
289 config CPU_SUBTYPE_SH73180
293 config CPU_SUBTYPE_ST40STB1
294 bool "ST40STB1 / ST40RA"
297 Select ST40STB1 if you have a ST40RA CPU.
298 This was previously called the ST40STB1, hence the option name.
300 config CPU_SUBTYPE_ST40GX1
304 Select ST40GX1 if you have a ST40GX1 CPU.
306 config CPU_SUBTYPE_SH4_202
312 config SH7705_CACHE_32KB
313 bool "Enable 32KB cache size for SH7705"
314 depends on CPU_SUBTYPE_SH7705
318 bool "Support for memory management hardware"
322 Early SH processors (such as the SH7604) lack an MMU. In order to
323 boot on these systems, this option must not be set.
325 On other systems (such as the SH-3 and 4) where an MMU exists,
326 turning this off will boot the kernel on these machines with the
327 MMU implicitly switched off.
330 prompt "HugeTLB page size"
331 depends on HUGETLB_PAGE && CPU_SH4 && MMU
332 default HUGETLB_PAGE_SIZE_64K
334 config HUGETLB_PAGE_SIZE_64K
337 config HUGETLB_PAGE_SIZE_1MB
343 bool "Default bootloader kernel arguments"
346 string "Initial kernel command string"
347 depends on CMDLINE_BOOL
348 default "console=ttySC1,115200"
350 # Platform-specific memory start and size definitions
352 hex "Physical memory start address" if !MEMORY_SET || MEMORY_OVERRIDE
353 default "0x08000000" if !MEMORY_SET || MEMORY_OVERRIDE || !MEMORY_OVERRIDE && SH_ADX || SH_MPC1211 || SH_SH03 || SH_SECUREEDGE5410 || SH_SH4202_MICRODEV
354 default "0x0c000000" if !MEMORY_OVERRIDE && (SH_DREAMCAST || SH_HP600 || SH_BIGSUR || SH_SH2000 || SH_73180_SOLUTION_ENGINE || SH_7300_SOLUTION_ENGINE || SH_7751_SOLUTION_ENGINE || SH_SOLUTION_ENGINE || SH_HS7751RVOIP || SH_RTS7751R2D || SH_EDOSK7705)
356 Computers built with Hitachi SuperH processors always
357 map the ROM starting at address zero. But the processor
358 does not specify the range that RAM takes.
360 The physical memory (RAM) start address will be automatically
361 set to 08000000, unless you selected one of the following
362 processor types: SolutionEngine, Overdrive, HP620, HP680, HP690,
363 in which case the start address will be set to 0c000000.
365 Tweak this only when porting to a new machine which is not already
366 known by the config system. Changing it from the known correct
367 value on any of the known systems will only lead to disaster.
370 hex "Physical memory size" if !MEMORY_SET || MEMORY_OVERRIDE
371 default "0x00400000" if !MEMORY_SET || MEMORY_OVERRIDE || !MEMORY_OVERRIDE && SH_ADX || !MEMORY_OVERRIDE && (SH_HP600 || SH_BIGSUR || SH_SH2000)
372 default "0x01000000" if !MEMORY_OVERRIDE && SH_DREAMCAST || SH_SECUREEDGE5410 || SH_EDOSK7705
373 default "0x02000000" if !MEMORY_OVERRIDE && (SH_73180_SOLUTION_ENGINE || SH_SOLUTION_ENGINE)
374 default "0x04000000" if !MEMORY_OVERRIDE && (SH_7300_SOLUTION_ENGINE || SH_7751_SOLUTION_ENGINE || SH_HS7751RVOIP || SH_RTS7751R2D || SH_SH4202_MICRODEV)
375 default "0x08000000" if SH_MPC1211 || SH_SH03
377 This sets the default memory size assumed by your SH kernel. It can
378 be overridden as normal by the 'mem=' argument on the kernel command
379 line. If unsure, consult your board specifications or just leave it
380 as 0x00400000 which was the default value before this became
385 depends on !MEMORY_OVERRIDE && (SH_MPC1211 || SH_SH03 || SH_ADX || SH_DREAMCAST || SH_HP600 || SH_BIGSUR || SH_SH2000 || SH_7751_SOLUTION_ENGINE || SH_SOLUTION_ENGINE || SH_SECUREEDGE5410 || SH_HS7751RVOIP || SH_RTS7751R2D || SH_SH4202_MICRODEV || SH_EDOSK7705)
388 This is an option about which you will never be asked a question.
389 Therefore, I conclude that you do not exist - go away.
391 There is a grue here.
393 # If none of the above have set memory start/size, ask the user.
394 config MEMORY_OVERRIDE
395 bool "Override default load address and memory size"
397 # XXX: break these out into the board-specific configs below
399 bool "Compact Flash Enabler support"
400 depends on SH_ADX || SH_SOLUTION_ENGINE || SH_UNKNOWN || SH_CAT68701 || SH_SH03
402 Compact Flash is a small, removable mass storage device introduced
403 in 1994 originally as a PCMCIA device. If you say `Y' here, you
404 compile in support for Compact Flash devices directly connected to
405 a SuperH processor. A Compact Flash FAQ is available at
406 <http://www.compactflash.org/faqs/faq.htm>.
408 If your board has "Directly Connected" CompactFlash at area 5 or 6,
409 you may want to enable this option. Then, you can use CF as
410 primary IDE drive (only tested for SanDisk).
412 If in doubt, select 'N'.
415 prompt "Compact Flash Connection Area"
416 depends on CF_ENABLER
422 If your board has "Directly Connected" CompactFlash, You should
423 select the area where your CF is connected to.
425 - "Area5" if CompactFlash is connected to Area 5 (0x14000000)
426 - "Area6" if it is connected to Area 6 (0x18000000)
428 "Area6" will work for most boards. For ADX, select "Area5".
437 depends on CF_ENABLER
438 default "0xb8000000" if CF_AREA6
439 default "0xb4000000" if CF_AREA5
441 # The SH7750 RTC module is disabled in the Dreamcast
444 depends on !SH_DREAMCAST && !SH_SATURN && !SH_7300_SOLUTION_ENGINE && !SH_73180_SOLUTION_ENGINE
447 Selecting this option will allow the Linux kernel to emulate
457 Selecting this option will enable support for SH processors that
458 have FPU units (ie, SH77xx).
460 This option must be set in order to enable the FPU.
467 Selecting this option will enable support for SH processors that
468 have DSP units (ie, SH2-DSP and SH3-DSP). It is safe to say Y here
469 by default, as the existance of the DSP will be probed at runtime.
471 This option must be set in order to enable the DSP.
478 Selecting this option will allow the Linux kernel to use SH3 on-chip
485 depends on SH_HP620 || SH_HP680 || SH_HP690
488 config CPU_SUBTYPE_ST40
490 depends on CPU_SUBTYPE_ST40STB1 || CPU_SUBTYPE_ST40GX1
493 config ARCH_DISCONTIGMEM_ENABLE
498 Say Y to upport efficient handling of discontiguous physical memory,
499 for architectures which are either NUMA (Non-Uniform Memory Access)
500 or have huge holes in the physical address space for other reasons.
501 See <file:Documentation/vm/numa> for more.
505 config ZERO_PAGE_OFFSET
506 hex "Zero page offset"
507 default "0x00001000" if !(SH_MPC1211 || SH_SH03)
508 default "0x00004000" if SH_MPC1211 || SH_SH03
510 This sets the default offset of zero page.
512 # XXX: needs to lose subtype for system type
513 config ST40_LMI_MEMORY
515 depends on CPU_SUBTYPE_ST40STB1
519 depends on CPU_SUBTYPE_ST40STB1 && ST40_LMI_MEMORY
524 depends on CPU_SUBTYPE_ST40STB1 && ST40_LMI_MEMORY
529 depends on CPU_SUBTYPE_ST40STB1 && ST40_LMI_MEMORY
532 config BOOT_LINK_OFFSET
533 hex "Link address offset for booting"
536 This option allows you to set the link address offset of the zImage.
537 This can be useful if you are on a board which has a small amount of
540 config CPU_LITTLE_ENDIAN
543 Some SuperH machines can be configured for either little or big
544 endian byte order. These modes require different kernels. Say Y if
545 your machine is little endian, N if it's a big endian machine.
548 bool "Preemptible Kernel (EXPERIMENTAL)"
549 depends on EXPERIMENTAL
552 bool "Wakeup UBC on startup"
554 Selecting this option will wakeup the User Break Controller (UBC) on
555 startup. Although the UBC is left in an awake state when the processor
556 comes up, some boot loaders misbehave by putting the UBC to sleep in a
557 power saving state, which causes issues with things like ptrace().
561 config SH_WRITETHROUGH
562 bool "Use write-through caching"
565 Selecting this option will configure the caches in write-through
566 mode, as opposed to the default write-back configuration.
568 Since there's sill some aliasing issues on SH-4, this option will
569 unfortunately still require the majority of flushing functions to
570 be implemented to deal with aliasing.
575 bool "Operand Cache RAM (OCRAM) support"
577 Selecting this option will automatically tear down the number of
578 sets in the dcache by half, which in turn exposes a memory range.
580 The addresses for the OC RAM base will vary according to the
581 processor version. Consult vendor documentation for specifics.
585 config SH_STORE_QUEUES
586 bool "Support for Store Queues"
589 Selecting this option will enable an in-kernel API for manipulating
590 the store queues integrated in the SH-4 processors.
593 bool "Symmetric multi-processing support"
595 This enables support for systems with more than one CPU. If you have
596 a system with only one CPU, like most personal computers, say N. If
597 you have a system with more than one CPU, say Y.
599 If you say N here, the kernel will run on single and multiprocessor
600 machines, but will use only one CPU of a multiprocessor machine. If
601 you say Y here, the kernel will run on many, but not all,
602 singleprocessor machines. On a singleprocessor machine, the kernel
603 will run faster if you say N here.
605 People using multiprocessor machines who say Y here should also say
606 Y to "Enhanced Real Time Clock Support", below.
608 See also the <file:Documentation/smp.txt>,
609 <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO available
610 at <http://www.tldp.org/docs.html#howto>.
612 If you don't know what to do here, say N.
615 int "Maximum number of CPUs (2-32)"
620 This allows you to specify the maximum number of CPUs which this
621 kernel will support. The maximum supported value is 32 and the
622 minimum value which makes sense is 2.
624 This is purely to save memory - each supported CPU adds
625 approximately eight kilobytes to the kernel image.
627 config HS7751RVOIP_CODEC
628 bool "Support VoIP Codec section"
629 depends on SH_HS7751RVOIP
631 Selecting this option will support CODEC section.
633 config RTS7751R2D_REV11
634 bool "RTS7751R2D Rev. 1.1 board support"
635 depends on SH_RTS7751R2D
637 Selecting this option will support version rev. 1.1.
641 default n if CPU_SUBTYPE_SH7300 || CPU_SUBTYPE_SH73180
644 This option will cause the PCLK value to be probed at run-time. It
645 will display a notification if the probed value has greater than a
646 1% variance of the hardcoded CONFIG_SH_PCLK_FREQ.
649 int "Peripheral clock frequency (in Hz)"
650 default "50000000" if CPU_SUBTYPE_SH7750
651 default "60000000" if CPU_SUBTYPE_SH7751
652 default "33333333" if CPU_SUBTYPE_SH7300
653 default "27000000" if CPU_SUBTYPE_SH73180
654 default "66000000" if CPU_SUBTYPE_SH4_202
657 This option is used to specify the peripheral clock frequency. This
658 option must be set for each processor in order for the kernel to
659 function reliably. If no sane default exists, we use a default from
660 the legacy i8254. Any discrepancies will be reported on boot time
661 with an auto-probed frequency which should be considered the proper
662 value for your hardware.
664 menu "CPU Frequency scaling"
666 source "drivers/cpufreq/Kconfig"
669 tristate "SuperH CPU Frequency driver"
671 select CPU_FREQ_TABLE
673 This adds the cpufreq driver for SuperH. At present, only
674 the SH-4 is supported.
676 For details, take a look at <file:Documentation/cpu-freq>.
682 source "arch/sh/drivers/dma/Kconfig"
684 source "arch/sh/cchips/Kconfig"
688 depends on SH_MPC1211 || SH_SH03 || SH_CAT68701 || SH_STB1_HARP || SH_STB1_OVERDRIVE || SH_BIGSUR || SH_7751_SOLUTION_ENGINE || SH_7300_SOLUTION_ENGINE || SH_73180_SOLUTION_ENGINE || SH_SOLUTION_ENGINE || SH_RTS7751R2D || SH_SH4202_MICRODEV
690 Use the power-on LED on your machine as a load meter. The exact
691 behavior is platform-dependent, but normally the flash frequency is
692 a hyperbolic function of the 5-minute load average.
695 tristate "EPSON RTC-9701JE support"
696 depends on SH_RTS7751R2D
698 Selecting this option will support EPSON RTC-9701JE.
707 menu "Bus options (PCI, PCMCIA, EISA, MCA, ISA)"
709 # Even on SuperH devices which don't have an ISA bus,
710 # this variable helps the PCMCIA modules handle
711 # IRQ requesting properly -- Greg Banks.
713 # Though we're generally not interested in it when
714 # we're not using PCMCIA, so we make it dependent on
715 # PCMCIA outright. -- PFM.
718 default y if PCMCIA || SMC91X
720 Find out whether you have ISA slots on your motherboard. ISA is the
721 name of a bus system, i.e. the way the CPU talks to the other stuff
722 inside your box. Other bus systems are PCI, EISA, MicroChannel
723 (MCA) or VESA. ISA is an older system, now being displaced by PCI;
724 newer boards don't support it. If you have ISA, say Y, otherwise N.
729 The Extended Industry Standard Architecture (EISA) bus was
730 developed as an open alternative to the IBM MicroChannel bus.
732 The EISA bus provided some of the features of the IBM MicroChannel
733 bus while maintaining backward compatibility with cards made for
734 the older ISA bus. The EISA bus saw limited use between 1988 and
735 1995 when it was made obsolete by the PCI bus.
737 Say Y here if you are building a kernel for an EISA-based machine.
744 MicroChannel Architecture is found in some IBM PS/2 machines and
745 laptops. It is a bus system similar to PCI or ISA. See
746 <file:Documentation/mca.txt> (and especially the web page given
747 there) before attempting to build an MCA bus kernel.
753 tristate "Maple Bus support"
754 depends on SH_DREAMCAST
757 source "arch/sh/drivers/pci/Kconfig"
759 source "drivers/pci/Kconfig"
761 source "drivers/pcmcia/Kconfig"
763 source "drivers/pci/hotplug/Kconfig"
767 menu "Executable file formats"
769 source "fs/Kconfig.binfmt"
773 menu "SH initrd options"
774 depends on BLK_DEV_INITRD
776 config EMBEDDED_RAMDISK
777 bool "Embed root filesystem ramdisk into the kernel"
779 config EMBEDDED_RAMDISK_IMAGE
780 string "Filename of gziped ramdisk image"
781 depends on EMBEDDED_RAMDISK
784 This is the filename of the ramdisk image to be built into the
785 kernel. Relative pathnames are relative to arch/sh/ramdisk/.
786 The ramdisk image is not part of the kernel distribution; you must
787 provide one yourself.
793 source "drivers/Kconfig"
797 source "arch/sh/oprofile/Kconfig"
799 source "arch/sh/Kconfig.debug"
801 source "security/Kconfig"
803 source "crypto/Kconfig"