cad8244840
Currently the CPU subtype options are cluttering up arch/sh/Kconfig somewhat. Given that, this moves all of that in to its own arch/sh/mm/Kconfig. Things like cache configuration are also moved to this new location. This also adds support for strict CPU tuning on newer cores, which requires the addition of as-option. Signed-off-by: Paul Mundt <lethal@linux-sh.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
646 lines
17 KiB
Text
646 lines
17 KiB
Text
#
|
|
# For a description of the syntax of this configuration file,
|
|
# see Documentation/kbuild/kconfig-language.txt.
|
|
#
|
|
|
|
mainmenu "Linux/SuperH Kernel Configuration"
|
|
|
|
config SUPERH
|
|
bool
|
|
default y
|
|
help
|
|
The SuperH is a RISC processor targeted for use in embedded systems
|
|
and consumer electronics; it was also used in the Sega Dreamcast
|
|
gaming console. The SuperH port has a home page at
|
|
<http://www.linux-sh.org/>.
|
|
|
|
config RWSEM_GENERIC_SPINLOCK
|
|
bool
|
|
default y
|
|
|
|
config RWSEM_XCHGADD_ALGORITHM
|
|
bool
|
|
|
|
config GENERIC_HARDIRQS
|
|
bool
|
|
default y
|
|
|
|
config GENERIC_IRQ_PROBE
|
|
bool
|
|
default y
|
|
|
|
config GENERIC_CALIBRATE_DELAY
|
|
bool
|
|
default y
|
|
|
|
config GENERIC_IOMAP
|
|
bool
|
|
|
|
config ARCH_MAY_HAVE_PC_FDC
|
|
bool
|
|
|
|
source "init/Kconfig"
|
|
|
|
menu "System type"
|
|
|
|
choice
|
|
prompt "SuperH system type"
|
|
default SH_UNKNOWN
|
|
|
|
config SH_SOLUTION_ENGINE
|
|
bool "SolutionEngine"
|
|
help
|
|
Select SolutionEngine if configuring for a Hitachi SH7709
|
|
or SH7750 evaluation board.
|
|
|
|
config SH_7751_SOLUTION_ENGINE
|
|
bool "SolutionEngine7751"
|
|
select CPU_SUBTYPE_SH7751
|
|
help
|
|
Select 7751 SolutionEngine if configuring for a Hitachi SH7751
|
|
evaluation board.
|
|
|
|
config SH_7300_SOLUTION_ENGINE
|
|
bool "SolutionEngine7300"
|
|
select CPU_SUBTYPE_SH7300
|
|
help
|
|
Select 7300 SolutionEngine if configuring for a Hitachi SH7300(SH-Mobile V)
|
|
evaluation board.
|
|
|
|
config SH_73180_SOLUTION_ENGINE
|
|
bool "SolutionEngine73180"
|
|
select CPU_SUBTYPE_SH73180
|
|
help
|
|
Select 73180 SolutionEngine if configuring for a Hitachi SH73180(SH-Mobile 3)
|
|
evaluation board.
|
|
|
|
config SH_7751_SYSTEMH
|
|
bool "SystemH7751R"
|
|
select CPU_SUBTYPE_SH7751R
|
|
help
|
|
Select SystemH if you are configuring for a Renesas SystemH
|
|
7751R evaluation board.
|
|
|
|
config SH_STB1_HARP
|
|
bool "STB1_Harp"
|
|
|
|
config SH_STB1_OVERDRIVE
|
|
bool "STB1_Overdrive"
|
|
|
|
config SH_HP6XX
|
|
bool "HP6XX"
|
|
help
|
|
Select HP6XX if configuring for a HP jornada HP6xx.
|
|
More information (hardware only) at
|
|
<http://www.hp.com/jornada/>.
|
|
|
|
config SH_CQREEK
|
|
bool "CqREEK"
|
|
help
|
|
Select CqREEK if configuring for a CqREEK SH7708 or SH7750.
|
|
More information at
|
|
<http://sources.redhat.com/ecos/hardware.html#SuperH>.
|
|
|
|
config SH_DMIDA
|
|
bool "DMIDA"
|
|
help
|
|
Select DMIDA if configuring for a DataMyte 4000 Industrial
|
|
Digital Assistant. More information at <http://www.dmida.com/>.
|
|
|
|
config SH_EC3104
|
|
bool "EC3104"
|
|
help
|
|
Select EC3104 if configuring for a system with an Eclipse
|
|
International EC3104 chip, e.g. the Harris AD2000.
|
|
|
|
config SH_SATURN
|
|
bool "Saturn"
|
|
select CPU_SUBTYPE_SH7604
|
|
help
|
|
Select Saturn if configuring for a SEGA Saturn.
|
|
|
|
config SH_DREAMCAST
|
|
bool "Dreamcast"
|
|
select CPU_SUBTYPE_SH7091
|
|
help
|
|
Select Dreamcast if configuring for a SEGA Dreamcast.
|
|
More information at
|
|
<http://www.m17n.org/linux-sh/dreamcast/>. There is a
|
|
Dreamcast project is at <http://linuxdc.sourceforge.net/>.
|
|
|
|
config SH_CAT68701
|
|
bool "CAT68701"
|
|
|
|
config SH_BIGSUR
|
|
bool "BigSur"
|
|
|
|
config SH_SH2000
|
|
bool "SH2000"
|
|
select CPU_SUBTYPE_SH7709
|
|
help
|
|
SH-2000 is a single-board computer based around SH7709A chip
|
|
intended for embedded applications.
|
|
It has an Ethernet interface (CS8900A), direct connected
|
|
Compact Flash socket, three serial ports and PC-104 bus.
|
|
More information at <http://sh2000.sh-linux.org>.
|
|
|
|
config SH_ADX
|
|
bool "ADX"
|
|
|
|
config SH_MPC1211
|
|
bool "Interface MPC1211"
|
|
help
|
|
CTP/PCI-SH02 is a CPU module computer that is produced
|
|
by Interface Corporation.
|
|
More information at <http://www.interface.co.jp>
|
|
|
|
config SH_SH03
|
|
bool "Interface CTP/PCI-SH03"
|
|
help
|
|
CTP/PCI-SH03 is a CPU module computer that is produced
|
|
by Interface Corporation.
|
|
More information at <http://www.interface.co.jp>
|
|
|
|
config SH_SECUREEDGE5410
|
|
bool "SecureEdge5410"
|
|
select CPU_SUBTYPE_SH7751R
|
|
help
|
|
Select SecureEdge5410 if configuring for a SnapGear SH board.
|
|
This includes both the OEM SecureEdge products as well as the
|
|
SME product line.
|
|
|
|
config SH_HS7751RVOIP
|
|
bool "HS7751RVOIP"
|
|
select CPU_SUBTYPE_SH7751R
|
|
help
|
|
Select HS7751RVOIP if configuring for a Renesas Technology
|
|
Sales VoIP board.
|
|
|
|
config SH_RTS7751R2D
|
|
bool "RTS7751R2D"
|
|
select CPU_SUBTYPE_SH7751R
|
|
help
|
|
Select RTS7751R2D if configuring for a Renesas Technology
|
|
Sales SH-Graphics board.
|
|
|
|
config SH_R7780RP
|
|
bool "R7780RP-1"
|
|
select CPU_SUBTYPE_SH7780
|
|
help
|
|
Select R7780RP-1 if configuring for a Renesas Solutions
|
|
HIGHLANDER board.
|
|
|
|
config SH_EDOSK7705
|
|
bool "EDOSK7705"
|
|
select CPU_SUBTYPE_SH7705
|
|
|
|
config SH_SH4202_MICRODEV
|
|
bool "SH4-202 MicroDev"
|
|
select CPU_SUBTYPE_SH4_202
|
|
help
|
|
Select SH4-202 MicroDev if configuring for a SuperH MicroDev board
|
|
with an SH4-202 CPU.
|
|
|
|
config SH_LANDISK
|
|
bool "LANDISK"
|
|
select CPU_SUBTYPE_SH7751R
|
|
help
|
|
I-O DATA DEVICE, INC. "LANDISK Series" support.
|
|
|
|
config SH_TITAN
|
|
bool "TITAN"
|
|
select CPU_SUBTYPE_SH7751R
|
|
help
|
|
Select Titan if you are configuring for a Nimble Microsystems
|
|
NetEngine NP51R.
|
|
|
|
config SH_UNKNOWN
|
|
bool "BareCPU"
|
|
help
|
|
"Bare CPU" aka "unknown" means an SH-based system which is not one
|
|
of the specific ones mentioned above, which means you need to enter
|
|
all sorts of stuff like CONFIG_MEMORY_START because the config
|
|
system doesn't already know what it is. You get a machine vector
|
|
without any platform-specific code in it, so things like the RTC may
|
|
not work.
|
|
|
|
This option is for the early stages of porting to a new machine.
|
|
|
|
endchoice
|
|
|
|
source "arch/sh/mm/Kconfig"
|
|
|
|
config MEMORY_START
|
|
hex "Physical memory start address"
|
|
default "0x08000000"
|
|
---help---
|
|
Computers built with Hitachi SuperH processors always
|
|
map the ROM starting at address zero. But the processor
|
|
does not specify the range that RAM takes.
|
|
|
|
The physical memory (RAM) start address will be automatically
|
|
set to 08000000. Other platforms, such as the Solution Engine
|
|
boards typically map RAM at 0C000000.
|
|
|
|
Tweak this only when porting to a new machine which does not
|
|
already have a defconfig. Changing it from the known correct
|
|
value on any of the known systems will only lead to disaster.
|
|
|
|
config MEMORY_SIZE
|
|
hex "Physical memory size"
|
|
default "0x00400000"
|
|
help
|
|
This sets the default memory size assumed by your SH kernel. It can
|
|
be overridden as normal by the 'mem=' argument on the kernel command
|
|
line. If unsure, consult your board specifications or just leave it
|
|
as 0x00400000 which was the default value before this became
|
|
configurable.
|
|
|
|
config CF_ENABLER
|
|
bool "Compact Flash Enabler support"
|
|
depends on SH_ADX || SH_SOLUTION_ENGINE || SH_UNKNOWN || SH_CAT68701 || SH_SH03
|
|
---help---
|
|
Compact Flash is a small, removable mass storage device introduced
|
|
in 1994 originally as a PCMCIA device. If you say `Y' here, you
|
|
compile in support for Compact Flash devices directly connected to
|
|
a SuperH processor. A Compact Flash FAQ is available at
|
|
<http://www.compactflash.org/faqs/faq.htm>.
|
|
|
|
If your board has "Directly Connected" CompactFlash at area 5 or 6,
|
|
you may want to enable this option. Then, you can use CF as
|
|
primary IDE drive (only tested for SanDisk).
|
|
|
|
If in doubt, select 'N'.
|
|
|
|
choice
|
|
prompt "Compact Flash Connection Area"
|
|
depends on CF_ENABLER
|
|
default CF_AREA6
|
|
|
|
config CF_AREA5
|
|
bool "Area5"
|
|
help
|
|
If your board has "Directly Connected" CompactFlash, You should
|
|
select the area where your CF is connected to.
|
|
|
|
- "Area5" if CompactFlash is connected to Area 5 (0x14000000)
|
|
- "Area6" if it is connected to Area 6 (0x18000000)
|
|
|
|
"Area6" will work for most boards. For ADX, select "Area5".
|
|
|
|
config CF_AREA6
|
|
bool "Area6"
|
|
|
|
endchoice
|
|
|
|
config CF_BASE_ADDR
|
|
hex
|
|
depends on CF_ENABLER
|
|
default "0xb8000000" if CF_AREA6
|
|
default "0xb4000000" if CF_AREA5
|
|
|
|
menu "Processor features"
|
|
|
|
config CPU_LITTLE_ENDIAN
|
|
bool "Little Endian"
|
|
help
|
|
Some SuperH machines can be configured for either little or big
|
|
endian byte order. These modes require different kernels. Say Y if
|
|
your machine is little endian, N if it's a big endian machine.
|
|
|
|
# The SH7750 RTC module is disabled in the Dreamcast
|
|
config SH_RTC
|
|
bool
|
|
depends on !SH_DREAMCAST && !SH_SATURN && !SH_7300_SOLUTION_ENGINE && \
|
|
!SH_73180_SOLUTION_ENGINE && !SH_LANDISK && \
|
|
!SH_R7780RP
|
|
default y
|
|
help
|
|
Selecting this option will allow the Linux kernel to emulate
|
|
PC's RTC.
|
|
|
|
If unsure, say N.
|
|
|
|
config SH_FPU
|
|
bool "FPU support"
|
|
depends on !CPU_SH3
|
|
default y
|
|
help
|
|
Selecting this option will enable support for SH processors that
|
|
have FPU units (ie, SH77xx).
|
|
|
|
This option must be set in order to enable the FPU.
|
|
|
|
config SH_DSP
|
|
bool "DSP support"
|
|
depends on !CPU_SH4
|
|
default y
|
|
help
|
|
Selecting this option will enable support for SH processors that
|
|
have DSP units (ie, SH2-DSP and SH3-DSP). It is safe to say Y here
|
|
by default, as the existance of the DSP will be probed at runtime.
|
|
|
|
This option must be set in order to enable the DSP.
|
|
|
|
config SH_ADC
|
|
bool "ADC support"
|
|
depends on CPU_SH3
|
|
default y
|
|
help
|
|
Selecting this option will allow the Linux kernel to use SH3 on-chip
|
|
ADC module.
|
|
|
|
If unsure, say N.
|
|
|
|
config SH_STORE_QUEUES
|
|
bool "Support for Store Queues"
|
|
depends on CPU_SH4
|
|
help
|
|
Selecting this option will enable an in-kernel API for manipulating
|
|
the store queues integrated in the SH-4 processors.
|
|
|
|
config CPU_HAS_INTEVT
|
|
bool
|
|
|
|
config CPU_HAS_PINT_IRQ
|
|
bool
|
|
|
|
config CPU_HAS_INTC2_IRQ
|
|
bool
|
|
|
|
config CPU_HAS_SR_RB
|
|
bool "CPU has SR.RB"
|
|
depends on CPU_SH3 || CPU_SH4
|
|
default y
|
|
help
|
|
This will enable the use of SR.RB register bank usage. Processors
|
|
that are lacking this bit must have another method in place for
|
|
accomplishing what is taken care of by the banked registers.
|
|
|
|
See <file:Documentation/sh/register-banks.txt> for further
|
|
information on SR.RB and register banking in the kernel in general.
|
|
|
|
endmenu
|
|
|
|
menu "Timer support"
|
|
|
|
config SH_TMU
|
|
bool "TMU timer support"
|
|
default y
|
|
help
|
|
This enables the use of the TMU as the system timer.
|
|
|
|
endmenu
|
|
|
|
source "arch/sh/boards/renesas/hs7751rvoip/Kconfig"
|
|
|
|
source "arch/sh/boards/renesas/rts7751r2d/Kconfig"
|
|
|
|
config SH_PCLK_FREQ_BOOL
|
|
bool "Set default pclk frequency"
|
|
default y if !SH_RTC
|
|
default n
|
|
|
|
config SH_PCLK_FREQ
|
|
int "Peripheral clock frequency (in Hz)"
|
|
depends on SH_PCLK_FREQ_BOOL
|
|
default "50000000" if CPU_SUBTYPE_SH7750 || CPU_SUBTYPE_SH7780
|
|
default "60000000" if CPU_SUBTYPE_SH7751
|
|
default "33333333" if CPU_SUBTYPE_SH7300 || CPU_SUBTYPE_SH7770 || CPU_SUBTYPE_SH7760
|
|
default "27000000" if CPU_SUBTYPE_SH73180
|
|
default "66000000" if CPU_SUBTYPE_SH4_202
|
|
help
|
|
This option is used to specify the peripheral clock frequency.
|
|
This is necessary for determining the reference clock value on
|
|
platforms lacking an RTC.
|
|
|
|
menu "CPU Frequency scaling"
|
|
|
|
source "drivers/cpufreq/Kconfig"
|
|
|
|
config SH_CPU_FREQ
|
|
tristate "SuperH CPU Frequency driver"
|
|
depends on CPU_FREQ
|
|
select CPU_FREQ_TABLE
|
|
help
|
|
This adds the cpufreq driver for SuperH. At present, only
|
|
the SH-4 is supported.
|
|
|
|
For details, take a look at <file:Documentation/cpu-freq>.
|
|
|
|
If unsure, say N.
|
|
|
|
endmenu
|
|
|
|
source "arch/sh/drivers/dma/Kconfig"
|
|
|
|
source "arch/sh/cchips/Kconfig"
|
|
|
|
config HEARTBEAT
|
|
bool "Heartbeat LED"
|
|
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 || SH_LANDISK
|
|
help
|
|
Use the power-on LED on your machine as a load meter. The exact
|
|
behavior is platform-dependent, but normally the flash frequency is
|
|
a hyperbolic function of the 5-minute load average.
|
|
|
|
endmenu
|
|
|
|
config ISA_DMA_API
|
|
bool
|
|
depends on MPC1211
|
|
default y
|
|
|
|
menu "Kernel features"
|
|
|
|
config KEXEC
|
|
bool "kexec system call (EXPERIMENTAL)"
|
|
depends on EXPERIMENTAL
|
|
help
|
|
kexec is a system call that implements the ability to shutdown your
|
|
current kernel, and to start another kernel. It is like a reboot
|
|
but it is indepedent of the system firmware. And like a reboot
|
|
you can start any kernel with it, not just Linux.
|
|
|
|
The name comes from the similiarity to the exec system call.
|
|
|
|
It is an ongoing process to be certain the hardware in a machine
|
|
is properly shutdown, so do not be surprised if this code does not
|
|
initially work for you. It may help to enable device hotplugging
|
|
support. As of this writing the exact hardware interface is
|
|
strongly in flux, so no good recommendation can be made.
|
|
|
|
config PREEMPT
|
|
bool "Preemptible Kernel (EXPERIMENTAL)"
|
|
depends on EXPERIMENTAL
|
|
|
|
config SMP
|
|
bool "Symmetric multi-processing support"
|
|
---help---
|
|
This enables support for systems with more than one CPU. If you have
|
|
a system with only one CPU, like most personal computers, say N. If
|
|
you have a system with more than one CPU, say Y.
|
|
|
|
If you say N here, the kernel will run on single and multiprocessor
|
|
machines, but will use only one CPU of a multiprocessor machine. If
|
|
you say Y here, the kernel will run on many, but not all,
|
|
singleprocessor machines. On a singleprocessor machine, the kernel
|
|
will run faster if you say N here.
|
|
|
|
People using multiprocessor machines who say Y here should also say
|
|
Y to "Enhanced Real Time Clock Support", below.
|
|
|
|
See also the <file:Documentation/smp.txt>,
|
|
<file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO available
|
|
at <http://www.tldp.org/docs.html#howto>.
|
|
|
|
If you don't know what to do here, say N.
|
|
|
|
config NR_CPUS
|
|
int "Maximum number of CPUs (2-32)"
|
|
range 2 32
|
|
depends on SMP
|
|
default "2"
|
|
help
|
|
This allows you to specify the maximum number of CPUs which this
|
|
kernel will support. The maximum supported value is 32 and the
|
|
minimum value which makes sense is 2.
|
|
|
|
This is purely to save memory - each supported CPU adds
|
|
approximately eight kilobytes to the kernel image.
|
|
|
|
config CPU_HAS_SR_RB
|
|
bool "CPU has SR.RB"
|
|
depends on CPU_SH3 || CPU_SH4
|
|
default y
|
|
help
|
|
This will enable the use of SR.RB register bank usage. Processors
|
|
that are lacking this bit must have another method in place for
|
|
accomplishing what is taken care of by the banked registers.
|
|
|
|
See <file:Documentation/sh/register-banks.txt> for further
|
|
information on SR.RB and register banking in the kernel in general.
|
|
|
|
endmenu
|
|
|
|
menu "Boot options"
|
|
|
|
config ZERO_PAGE_OFFSET
|
|
hex "Zero page offset"
|
|
default "0x00004000" if SH_MPC1211 || SH_SH03
|
|
default "0x00001000"
|
|
help
|
|
This sets the default offset of zero page.
|
|
|
|
config BOOT_LINK_OFFSET
|
|
hex "Link address offset for booting"
|
|
default "0x00800000"
|
|
help
|
|
This option allows you to set the link address offset of the zImage.
|
|
This can be useful if you are on a board which has a small amount of
|
|
memory.
|
|
|
|
config UBC_WAKEUP
|
|
bool "Wakeup UBC on startup"
|
|
help
|
|
Selecting this option will wakeup the User Break Controller (UBC) on
|
|
startup. Although the UBC is left in an awake state when the processor
|
|
comes up, some boot loaders misbehave by putting the UBC to sleep in a
|
|
power saving state, which causes issues with things like ptrace().
|
|
|
|
If unsure, say N.
|
|
|
|
config CMDLINE_BOOL
|
|
bool "Default bootloader kernel arguments"
|
|
|
|
config CMDLINE
|
|
string "Initial kernel command string"
|
|
depends on CMDLINE_BOOL
|
|
default "console=ttySC1,115200"
|
|
|
|
endmenu
|
|
|
|
menu "Bus options"
|
|
|
|
# Even on SuperH devices which don't have an ISA bus,
|
|
# this variable helps the PCMCIA modules handle
|
|
# IRQ requesting properly -- Greg Banks.
|
|
#
|
|
# Though we're generally not interested in it when
|
|
# we're not using PCMCIA, so we make it dependent on
|
|
# PCMCIA outright. -- PFM.
|
|
config ISA
|
|
bool
|
|
default y if PCMCIA
|
|
help
|
|
Find out whether you have ISA slots on your motherboard. ISA is the
|
|
name of a bus system, i.e. the way the CPU talks to the other stuff
|
|
inside your box. Other bus systems are PCI, EISA, MicroChannel
|
|
(MCA) or VESA. ISA is an older system, now being displaced by PCI;
|
|
newer boards don't support it. If you have ISA, say Y, otherwise N.
|
|
|
|
config EISA
|
|
bool
|
|
---help---
|
|
The Extended Industry Standard Architecture (EISA) bus was
|
|
developed as an open alternative to the IBM MicroChannel bus.
|
|
|
|
The EISA bus provided some of the features of the IBM MicroChannel
|
|
bus while maintaining backward compatibility with cards made for
|
|
the older ISA bus. The EISA bus saw limited use between 1988 and
|
|
1995 when it was made obsolete by the PCI bus.
|
|
|
|
Say Y here if you are building a kernel for an EISA-based machine.
|
|
|
|
Otherwise, say N.
|
|
|
|
config MCA
|
|
bool
|
|
help
|
|
MicroChannel Architecture is found in some IBM PS/2 machines and
|
|
laptops. It is a bus system similar to PCI or ISA. See
|
|
<file:Documentation/mca.txt> (and especially the web page given
|
|
there) before attempting to build an MCA bus kernel.
|
|
|
|
config SBUS
|
|
bool
|
|
|
|
config SUPERHYWAY
|
|
tristate "SuperHyway Bus support"
|
|
depends on CPU_SUBTYPE_SH4_202
|
|
|
|
source "arch/sh/drivers/pci/Kconfig"
|
|
|
|
source "drivers/pci/Kconfig"
|
|
|
|
source "drivers/pcmcia/Kconfig"
|
|
|
|
source "drivers/pci/hotplug/Kconfig"
|
|
|
|
endmenu
|
|
|
|
menu "Executable file formats"
|
|
|
|
source "fs/Kconfig.binfmt"
|
|
|
|
endmenu
|
|
|
|
source "net/Kconfig"
|
|
|
|
source "drivers/Kconfig"
|
|
|
|
source "fs/Kconfig"
|
|
|
|
source "arch/sh/oprofile/Kconfig"
|
|
|
|
source "arch/sh/Kconfig.debug"
|
|
|
|
source "security/Kconfig"
|
|
|
|
source "crypto/Kconfig"
|
|
|
|
source "lib/Kconfig"
|