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
45 prompt "SuperH system type"
48 config SH_SOLUTION_ENGINE
51 Select SolutionEngine if configuring for a Hitachi SH7709
52 or SH7750 evaluation board.
54 config SH_7751_SOLUTION_ENGINE
55 bool "SolutionEngine7751"
57 Select 7751 SolutionEngine if configuring for a Hitachi SH7751
60 config SH_7300_SOLUTION_ENGINE
61 bool "SolutionEngine7300"
63 Select 7300 SolutionEngine if configuring for a Hitachi SH7300(SH-Mobile V)
66 config SH_73180_SOLUTION_ENGINE
67 bool "SolutionEngine73180"
69 Select 73180 SolutionEngine if configuring for a Hitachi SH73180(SH-Mobile 3)
72 config SH_7751_SYSTEMH
75 Select SystemH if you are configuring for a Renesas SystemH
76 7751R evaluation board.
81 config SH_STB1_OVERDRIVE
87 Select HP620 if configuring for a HP jornada HP620.
88 More information (hardware only) at
89 <http://www.hp.com/jornada/>.
94 Select HP680 if configuring for a HP Jornada HP680.
95 More information (hardware only) at
96 <http://www.hp.com/jornada/products/680/>.
101 Select HP690 if configuring for a HP Jornada HP690.
102 More information (hardware only)
103 at <http://www.hp.com/jornada/products/680/>.
108 Select CqREEK if configuring for a CqREEK SH7708 or SH7750.
110 <http://sources.redhat.com/ecos/hardware.html#SuperH>.
115 Select DMIDA if configuring for a DataMyte 4000 Industrial
116 Digital Assistant. More information at <http://www.dmida.com/>.
121 Select EC3104 if configuring for a system with an Eclipse
122 International EC3104 chip, e.g. the Harris AD2000.
127 Select Saturn if configuring for a SEGA Saturn.
132 Select Dreamcast if configuring for a SEGA Dreamcast.
134 <http://www.m17n.org/linux-sh/dreamcast/>. There is a
135 Dreamcast project is at <http://linuxdc.sourceforge.net/>.
146 SH-2000 is a single-board computer based around SH7709A chip
147 intended for embedded applications.
148 It has an Ethernet interface (CS8900A), direct connected
149 Compact Flash socket, three serial ports and PC-104 bus.
150 More information at <http://sh2000.sh-linux.org>.
161 CTP/PCI-SH03 is a CPU module computer that produced
162 by Interface Corporation.
163 It is compact and excellent in durability.
164 It will play an active part in your factory or laboratory
166 More information at <http://www.interface.co.jp>
168 config SH_SECUREEDGE5410
169 bool "SecureEdge5410"
171 Select SecureEdge5410 if configuring for a SnapGear SH board.
172 This includes both the OEM SecureEdge products as well as the
175 config SH_HS7751RVOIP
178 Select HS7751RVOIP if configuring for a Renesas Technology
184 Select RTS7751R2D if configuring for a Renesas Technology
185 Sales SH-Graphics board.
190 config SH_SH4202_MICRODEV
191 bool "SH4-202 MicroDev"
193 Select SH4-202 MicroDev if configuring for a SuperH MicroDev board
199 "Bare CPU" aka "unknown" means an SH-based system which is not one
200 of the specific ones mentioned above, which means you need to enter
201 all sorts of stuff like CONFIG_MEMORY_START because the config
202 system doesn't already know what it is. You get a machine vector
203 without any platform-specific code in it, so things like the RTC may
206 This option is for the early stages of porting to a new machine.
211 prompt "Processor family"
214 This option determines the CPU family to compile for. Supported
215 targets are SH-2, SH-3, and SH-4. These options are independent of
216 CPU functionality. As such, SH-DSP users will still want to select
217 their respective processor family in addition to the DSP support
222 select SH_WRITETHROUGH
233 prompt "Processor subtype"
235 config CPU_SUBTYPE_SH7604
239 Select SH7604 if you have SH7604
241 config CPU_SUBTYPE_SH7300
245 config CPU_SUBTYPE_SH7705
249 config CPU_SUBTYPE_SH7707
253 Select SH7707 if you have a 60 Mhz SH-3 HD6417707 CPU.
255 config CPU_SUBTYPE_SH7708
259 Select SH7708 if you have a 60 Mhz SH-3 HD6417708S or
260 if you have a 100 Mhz SH-3 HD6417708R CPU.
262 config CPU_SUBTYPE_SH7709
266 Select SH7709 if you have a 80 Mhz SH-3 HD6417709 CPU.
268 config CPU_SUBTYPE_SH7750
272 Select SH7750 if you have a 200 Mhz SH-4 HD6417750 CPU.
274 config CPU_SUBTYPE_SH7751
275 bool "SH7751/SH7751R"
278 Select SH7751 if you have a 166 Mhz SH-4 HD6417751 CPU,
279 or if you have a HD6417751R CPU.
281 config CPU_SUBTYPE_SH7760
285 config CPU_SUBTYPE_SH73180
289 config CPU_SUBTYPE_ST40STB1
290 bool "ST40STB1 / ST40RA"
293 Select ST40STB1 if you have a ST40RA CPU.
294 This was previously called the ST40STB1, hence the option name.
296 config CPU_SUBTYPE_ST40GX1
300 Select ST40GX1 if you have a ST40GX1 CPU.
302 config CPU_SUBTYPE_SH4_202
308 config SH7705_CACHE_32KB
309 bool "Enable 32KB cache size for SH7705"
310 depends on CPU_SUBTYPE_SH7705
314 bool "Support for memory management hardware"
318 Early SH processors (such as the SH7604) lack an MMU. In order to
319 boot on these systems, this option must not be set.
321 On other systems (such as the SH-3 and 4) where an MMU exists,
322 turning this off will boot the kernel on these machines with the
323 MMU implicitly switched off.
326 prompt "HugeTLB page size"
327 depends on HUGETLB_PAGE && CPU_SH4 && MMU
328 default HUGETLB_PAGE_SIZE_64K
330 config HUGETLB_PAGE_SIZE_64K
333 config HUGETLB_PAGE_SIZE_1MB
339 bool "Default bootloader kernel arguments"
342 string "Initial kernel command string"
343 depends on CMDLINE_BOOL
344 default "console=ttySC1,115200"
346 # Platform-specific memory start and size definitions
348 hex "Physical memory start address" if !MEMORY_SET || MEMORY_OVERRIDE
349 default "0x08000000" if !MEMORY_SET || MEMORY_OVERRIDE || !MEMORY_OVERRIDE && SH_ADX || SH_MPC1211 || SH_SH03 || SH_SECUREEDGE5410 || SH_SH4202_MICRODEV
350 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)
352 Computers built with Hitachi SuperH processors always
353 map the ROM starting at address zero. But the processor
354 does not specify the range that RAM takes.
356 The physical memory (RAM) start address will be automatically
357 set to 08000000, unless you selected one of the following
358 processor types: SolutionEngine, Overdrive, HP620, HP680, HP690,
359 in which case the start address will be set to 0c000000.
361 Tweak this only when porting to a new machine which is not already
362 known by the config system. Changing it from the known correct
363 value on any of the known systems will only lead to disaster.
366 hex "Physical memory size" if !MEMORY_SET || MEMORY_OVERRIDE
367 default "0x00400000" if !MEMORY_SET || MEMORY_OVERRIDE || !MEMORY_OVERRIDE && SH_ADX || !MEMORY_OVERRIDE && (SH_HP600 || SH_BIGSUR || SH_SH2000)
368 default "0x01000000" if !MEMORY_OVERRIDE && SH_DREAMCAST || SH_SECUREEDGE5410 || SH_EDOSK7705
369 default "0x02000000" if !MEMORY_OVERRIDE && (SH_73180_SOLUTION_ENGINE || SH_SOLUTION_ENGINE)
370 default "0x04000000" if !MEMORY_OVERRIDE && (SH_7300_SOLUTION_ENGINE || SH_7751_SOLUTION_ENGINE || SH_HS7751RVOIP || SH_RTS7751R2D || SH_SH4202_MICRODEV)
371 default "0x08000000" if SH_MPC1211 || SH_SH03
373 This sets the default memory size assumed by your SH kernel. It can
374 be overridden as normal by the 'mem=' argument on the kernel command
375 line. If unsure, consult your board specifications or just leave it
376 as 0x00400000 which was the default value before this became
381 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)
384 This is an option about which you will never be asked a question.
385 Therefore, I conclude that you do not exist - go away.
387 There is a grue here.
389 # If none of the above have set memory start/size, ask the user.
390 config MEMORY_OVERRIDE
391 bool "Override default load address and memory size"
393 # XXX: break these out into the board-specific configs below
395 bool "Compact Flash Enabler support"
396 depends on SH_ADX || SH_SOLUTION_ENGINE || SH_UNKNOWN || SH_CAT68701 || SH_SH03
398 Compact Flash is a small, removable mass storage device introduced
399 in 1994 originally as a PCMCIA device. If you say `Y' here, you
400 compile in support for Compact Flash devices directly connected to
401 a SuperH processor. A Compact Flash FAQ is available at
402 <http://www.compactflash.org/faqs/faq.htm>.
404 If your board has "Directly Connected" CompactFlash at area 5 or 6,
405 you may want to enable this option. Then, you can use CF as
406 primary IDE drive (only tested for SanDisk).
408 If in doubt, select 'N'.
411 prompt "Compact Flash Connection Area"
412 depends on CF_ENABLER
418 If your board has "Directly Connected" CompactFlash, You should
419 select the area where your CF is connected to.
421 - "Area5" if CompactFlash is connected to Area 5 (0x14000000)
422 - "Area6" if it is connected to Area 6 (0x18000000)
424 "Area6" will work for most boards. For ADX, select "Area5".
433 depends on CF_ENABLER
434 default "0xb8000000" if CF_AREA6
435 default "0xb4000000" if CF_AREA5
437 # The SH7750 RTC module is disabled in the Dreamcast
440 depends on !SH_DREAMCAST && !SH_SATURN && !SH_7300_SOLUTION_ENGINE && !SH_73180_SOLUTION_ENGINE
443 Selecting this option will allow the Linux kernel to emulate
453 Selecting this option will enable support for SH processors that
454 have FPU units (ie, SH77xx).
456 This option must be set in order to enable the FPU.
463 Selecting this option will enable support for SH processors that
464 have DSP units (ie, SH2-DSP and SH3-DSP). It is safe to say Y here
465 by default, as the existance of the DSP will be probed at runtime.
467 This option must be set in order to enable the DSP.
474 Selecting this option will allow the Linux kernel to use SH3 on-chip
481 depends on SH_HP620 || SH_HP680 || SH_HP690
484 config CPU_SUBTYPE_ST40
486 depends on CPU_SUBTYPE_ST40STB1 || CPU_SUBTYPE_ST40GX1
489 config ARCH_DISCONTIGMEM_ENABLE
494 Say Y to upport efficient handling of discontiguous physical memory,
495 for architectures which are either NUMA (Non-Uniform Memory Access)
496 or have huge holes in the physical address space for other reasons.
497 See <file:Documentation/vm/numa> for more.
501 config ZERO_PAGE_OFFSET
502 hex "Zero page offset"
503 default "0x00001000" if !(SH_MPC1211 || SH_SH03)
504 default "0x00004000" if SH_MPC1211 || SH_SH03
506 This sets the default offset of zero page.
508 # XXX: needs to lose subtype for system type
509 config ST40_LMI_MEMORY
511 depends on CPU_SUBTYPE_ST40STB1
515 depends on CPU_SUBTYPE_ST40STB1 && ST40_LMI_MEMORY
520 depends on CPU_SUBTYPE_ST40STB1 && ST40_LMI_MEMORY
525 depends on CPU_SUBTYPE_ST40STB1 && ST40_LMI_MEMORY
528 config BOOT_LINK_OFFSET
529 hex "Link address offset for booting"
532 This option allows you to set the link address offset of the zImage.
533 This can be useful if you are on a board which has a small amount of
536 config CPU_LITTLE_ENDIAN
539 Some SuperH machines can be configured for either little or big
540 endian byte order. These modes require different kernels. Say Y if
541 your machine is little endian, N if it's a big endian machine.
544 bool "Preemptible Kernel (EXPERIMENTAL)"
545 depends on EXPERIMENTAL
548 bool "Wakeup UBC on startup"
550 Selecting this option will wakeup the User Break Controller (UBC) on
551 startup. Although the UBC is left in an awake state when the processor
552 comes up, some boot loaders misbehave by putting the UBC to sleep in a
553 power saving state, which causes issues with things like ptrace().
557 config SH_WRITETHROUGH
558 bool "Use write-through caching"
561 Selecting this option will configure the caches in write-through
562 mode, as opposed to the default write-back configuration.
564 Since there's sill some aliasing issues on SH-4, this option will
565 unfortunately still require the majority of flushing functions to
566 be implemented to deal with aliasing.
571 bool "Operand Cache RAM (OCRAM) support"
573 Selecting this option will automatically tear down the number of
574 sets in the dcache by half, which in turn exposes a memory range.
576 The addresses for the OC RAM base will vary according to the
577 processor version. Consult vendor documentation for specifics.
581 config SH_STORE_QUEUES
582 bool "Support for Store Queues"
585 Selecting this option will enable an in-kernel API for manipulating
586 the store queues integrated in the SH-4 processors.
589 bool "Symmetric multi-processing support"
591 This enables support for systems with more than one CPU. If you have
592 a system with only one CPU, like most personal computers, say N. If
593 you have a system with more than one CPU, say Y.
595 If you say N here, the kernel will run on single and multiprocessor
596 machines, but will use only one CPU of a multiprocessor machine. If
597 you say Y here, the kernel will run on many, but not all,
598 singleprocessor machines. On a singleprocessor machine, the kernel
599 will run faster if you say N here.
601 People using multiprocessor machines who say Y here should also say
602 Y to "Enhanced Real Time Clock Support", below.
604 See also the <file:Documentation/smp.txt>,
605 <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO available
606 at <http://www.tldp.org/docs.html#howto>.
608 If you don't know what to do here, say N.
611 int "Maximum number of CPUs (2-32)"
616 This allows you to specify the maximum number of CPUs which this
617 kernel will support. The maximum supported value is 32 and the
618 minimum value which makes sense is 2.
620 This is purely to save memory - each supported CPU adds
621 approximately eight kilobytes to the kernel image.
623 config HS7751RVOIP_CODEC
624 bool "Support VoIP Codec section"
625 depends on SH_HS7751RVOIP
627 Selecting this option will support CODEC section.
629 config RTS7751R2D_REV11
630 bool "RTS7751R2D Rev. 1.1 board support"
631 depends on SH_RTS7751R2D
633 Selecting this option will support version rev. 1.1.
637 default n if CPU_SUBTYPE_SH7300 || CPU_SUBTYPE_SH73180
640 This option will cause the PCLK value to be probed at run-time. It
641 will display a notification if the probed value has greater than a
642 1% variance of the hardcoded CONFIG_SH_PCLK_FREQ.
645 int "Peripheral clock frequency (in Hz)"
646 default "50000000" if CPU_SUBTYPE_SH7750
647 default "60000000" if CPU_SUBTYPE_SH7751
648 default "33333333" if CPU_SUBTYPE_SH7300
649 default "27000000" if CPU_SUBTYPE_SH73180
650 default "66000000" if CPU_SUBTYPE_SH4_202
653 This option is used to specify the peripheral clock frequency. This
654 option must be set for each processor in order for the kernel to
655 function reliably. If no sane default exists, we use a default from
656 the legacy i8254. Any discrepancies will be reported on boot time
657 with an auto-probed frequency which should be considered the proper
658 value for your hardware.
660 menu "CPU Frequency scaling"
662 source "drivers/cpufreq/Kconfig"
665 tristate "SuperH CPU Frequency driver"
667 select CPU_FREQ_TABLE
669 This adds the cpufreq driver for SuperH. At present, only
670 the SH-4 is supported.
672 For details, take a look at <file:Documentation/cpu-freq>.
678 source "arch/sh/drivers/dma/Kconfig"
680 source "arch/sh/cchips/Kconfig"
684 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
686 Use the power-on LED on your machine as a load meter. The exact
687 behavior is platform-dependent, but normally the flash frequency is
688 a hyperbolic function of the 5-minute load average.
691 tristate "EPSON RTC-9701JE support"
692 depends on SH_RTS7751R2D
694 Selecting this option will support EPSON RTC-9701JE.
703 menu "Bus options (PCI, PCMCIA, EISA, MCA, ISA)"
705 # Even on SuperH devices which don't have an ISA bus,
706 # this variable helps the PCMCIA modules handle
707 # IRQ requesting properly -- Greg Banks.
709 # Though we're generally not interested in it when
710 # we're not using PCMCIA, so we make it dependent on
711 # PCMCIA outright. -- PFM.
714 default y if PCMCIA || SMC91X
716 Find out whether you have ISA slots on your motherboard. ISA is the
717 name of a bus system, i.e. the way the CPU talks to the other stuff
718 inside your box. Other bus systems are PCI, EISA, MicroChannel
719 (MCA) or VESA. ISA is an older system, now being displaced by PCI;
720 newer boards don't support it. If you have ISA, say Y, otherwise N.
725 The Extended Industry Standard Architecture (EISA) bus was
726 developed as an open alternative to the IBM MicroChannel bus.
728 The EISA bus provided some of the features of the IBM MicroChannel
729 bus while maintaining backward compatibility with cards made for
730 the older ISA bus. The EISA bus saw limited use between 1988 and
731 1995 when it was made obsolete by the PCI bus.
733 Say Y here if you are building a kernel for an EISA-based machine.
740 MicroChannel Architecture is found in some IBM PS/2 machines and
741 laptops. It is a bus system similar to PCI or ISA. See
742 <file:Documentation/mca.txt> (and especially the web page given
743 there) before attempting to build an MCA bus kernel.
749 tristate "Maple Bus support"
750 depends on SH_DREAMCAST
753 source "arch/sh/drivers/pci/Kconfig"
755 source "drivers/pci/Kconfig"
757 source "drivers/pcmcia/Kconfig"
759 source "drivers/pci/hotplug/Kconfig"
763 menu "Executable file formats"
765 source "fs/Kconfig.binfmt"
769 menu "SH initrd options"
770 depends on BLK_DEV_INITRD
772 config EMBEDDED_RAMDISK
773 bool "Embed root filesystem ramdisk into the kernel"
775 config EMBEDDED_RAMDISK_IMAGE
776 string "Filename of gziped ramdisk image"
777 depends on EMBEDDED_RAMDISK
780 This is the filename of the ramdisk image to be built into the
781 kernel. Relative pathnames are relative to arch/sh/ramdisk/.
782 The ramdisk image is not part of the kernel distribution; you must
783 provide one yourself.
789 source "drivers/Kconfig"
793 source "arch/sh/oprofile/Kconfig"
795 source "arch/sh/Kconfig.debug"
797 source "security/Kconfig"
799 source "crypto/Kconfig"