sh: URAM node support for SH7722.
[safe/jmp/linux-2.6] / arch / sh / Kconfig
index f6a0c44..78f5f23 100644 (file)
@@ -22,6 +22,10 @@ config RWSEM_GENERIC_SPINLOCK
 config RWSEM_XCHGADD_ALGORITHM
        bool
 
+config GENERIC_BUG
+       def_bool y
+       depends on BUG
+
 config GENERIC_FIND_NEXT_BIT
        bool
        default y
@@ -45,39 +49,202 @@ config GENERIC_CALIBRATE_DELAY
 config GENERIC_IOMAP
        bool
 
+config GENERIC_TIME
+       def_bool n
+
+config GENERIC_CLOCKEVENTS
+       def_bool n
+
+config SYS_SUPPORTS_APM_EMULATION
+       bool
+
 config ARCH_MAY_HAVE_PC_FDC
        bool
 
+config STACKTRACE_SUPPORT
+       bool
+       default y
+
+config LOCKDEP_SUPPORT
+       bool
+       default y
+
+config ARCH_HAS_ILOG2_U32
+       bool
+       default n
+
+config ARCH_HAS_ILOG2_U64
+       bool
+       default n
+
 source "init/Kconfig"
 
 menu "System type"
 
-config SOLUTION_ENGINE
-       bool
+source "arch/sh/mm/Kconfig"
+
+menu "Processor features"
 
 choice
-       prompt "SuperH system type"
-       default SH_UNKNOWN
+       prompt "Endianess selection" 
+       default CPU_LITTLE_ENDIAN
+       help
+         Some SuperH machines can be configured for either little or big
+         endian byte order. These modes require different kernels.
+
+config CPU_LITTLE_ENDIAN
+       bool "Little Endian"
+
+config CPU_BIG_ENDIAN
+       bool "Big Endian"
+
+endchoice
+
+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_FPU_EMU
+       bool "FPU emulation support"
+       depends on !SH_FPU && EXPERIMENTAL
+       default n
+       help
+         Selecting this option will enable support for software FPU emulation.
+         Most SH-3 users will want to say Y here, whereas most SH-4 users will
+         want to say N.
+
+config SH_DSP
+       bool "DSP support"
+       default y if SH4AL_DSP || !CPU_SH4
+       default n
+       help
+         Selecting this option will enable support for SH processors that
+         have DSP units (ie, SH2-DSP, SH3-DSP, and SH4AL-DSP).
+
+         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 SPECULATIVE_EXECUTION
+       bool "Speculative subroutine return"
+       depends on CPU_SUBTYPE_SH7780 && EXPERIMENTAL
+       help
+         This enables support for a speculative instruction fetch for
+         subroutine return. There are various pitfalls associated with
+         this, as outlined in the SH7780 hardware manual.
+
+         If unsure, say N.
+
+config CPU_HAS_INTEVT
+       bool
+
+config CPU_HAS_PINT_IRQ
+       bool
+
+config CPU_HAS_MASKREG_IRQ
+       bool
+
+config CPU_HAS_INTC2_IRQ
+       bool
+
+config CPU_HAS_IPR_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.
+
+config CPU_HAS_PTEA
+       bool
+
+endmenu
+
+menu "Board support"
+
+config SOLUTION_ENGINE
+       bool
 
 config SH_SOLUTION_ENGINE
        bool "SolutionEngine"
        select SOLUTION_ENGINE
+       depends on CPU_SUBTYPE_SH7709 || CPU_SUBTYPE_SH7750
        help
          Select SolutionEngine if configuring for a Hitachi SH7709
          or SH7750 evaluation board.
 
+config SH_7206_SOLUTION_ENGINE
+       bool "SolutionEngine7206"
+       select SOLUTION_ENGINE
+       depends on CPU_SUBTYPE_SH7206
+       help
+         Select 7206 SolutionEngine if configuring for a Hitachi SH7206
+         evaluation board.
+
+config SH_7619_SOLUTION_ENGINE
+       bool "SolutionEngine7619"
+       select SOLUTION_ENGINE
+       depends on CPU_SUBTYPE_SH7619
+       help
+         Select 7619 SolutionEngine if configuring for a Hitachi SH7619
+         evaluation board.
+       
+config SH_7722_SOLUTION_ENGINE
+       bool "SolutionEngine7722"
+       select SOLUTION_ENGINE
+       depends on CPU_SUBTYPE_SH7722
+       help
+         Select 7722 SolutionEngine if configuring for a Hitachi SH772
+         evaluation board.
+
 config SH_7751_SOLUTION_ENGINE
        bool "SolutionEngine7751"
        select SOLUTION_ENGINE
-       select CPU_SUBTYPE_SH7751
+       depends on CPU_SUBTYPE_SH7751
        help
          Select 7751 SolutionEngine if configuring for a Hitachi SH7751
          evaluation board.
+         
+config SH_7780_SOLUTION_ENGINE
+       bool "SolutionEngine7780"
+       select SOLUTION_ENGINE
+       depends on CPU_SUBTYPE_SH7780
+       help
+         Select 7780 SolutionEngine if configuring for a Renesas SH7780
+         evaluation board.
 
 config SH_7300_SOLUTION_ENGINE
        bool "SolutionEngine7300"
        select SOLUTION_ENGINE
-       select CPU_SUBTYPE_SH7300
+       depends on CPU_SUBTYPE_SH7300
        help
          Select 7300 SolutionEngine if configuring for a Hitachi
          SH7300(SH-Mobile V) evaluation board.
@@ -85,59 +252,53 @@ config SH_7300_SOLUTION_ENGINE
 config SH_7343_SOLUTION_ENGINE
        bool "SolutionEngine7343"
        select SOLUTION_ENGINE
-       select CPU_SUBTYPE_SH7343
+       depends on CPU_SUBTYPE_SH7343
        help
          Select 7343 SolutionEngine if configuring for a Hitachi
          SH7343 (SH-Mobile 3AS) evaluation board.
 
 config SH_73180_SOLUTION_ENGINE
-       bool "SolutionEngine73180"
+       bool "SolutionEngine73180"
        select SOLUTION_ENGINE
-       select CPU_SUBTYPE_SH73180
+       depends on 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
+       depends on CPU_SUBTYPE_SH7751R
        help
          Select SystemH if you are configuring for a Renesas SystemH
          7751R evaluation board.
 
 config SH_HP6XX
        bool "HP6XX"
+       select SYS_SUPPORTS_APM_EMULATION
+       depends on CPU_SUBTYPE_SH7709
        help
          Select HP6XX if configuring for a HP jornada HP6xx.
          More information (hardware only) at
          <http://www.hp.com/jornada/>.
 
-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
+       depends on CPU_SUBTYPE_SH7604
        help
          Select Saturn if configuring for a SEGA Saturn.
 
 config SH_DREAMCAST
        bool "Dreamcast"
-       select CPU_SUBTYPE_SH7091
+       depends on 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_BIGSUR
-       bool "BigSur"
-
 config SH_MPC1211
        bool "Interface MPC1211"
+       depends on CPU_SUBTYPE_SH7751 && BROKEN
        help
          CTP/PCI-SH02 is a CPU module computer that is produced
          by Interface Corporation.
@@ -145,6 +306,7 @@ config SH_MPC1211
 
 config SH_SH03
        bool "Interface CTP/PCI-SH03"
+       depends on CPU_SUBTYPE_SH7751 && BROKEN
        help
          CTP/PCI-SH03 is a CPU module computer that is produced
          by Interface Corporation.
@@ -152,7 +314,7 @@ config SH_SH03
 
 config SH_SECUREEDGE5410
        bool "SecureEdge5410"
-       select CPU_SUBTYPE_SH7751R
+       depends on CPU_SUBTYPE_SH7751R
        help
          Select SecureEdge5410 if configuring for a SnapGear SH board.
          This includes both the OEM SecureEdge products as well as the
@@ -160,81 +322,74 @@ config SH_SECUREEDGE5410
 
 config SH_HS7751RVOIP
        bool "HS7751RVOIP"
-       select CPU_SUBTYPE_SH7751R
+       depends on CPU_SUBTYPE_SH7751R
        help
          Select HS7751RVOIP if configuring for a Renesas Technology
          Sales VoIP board.
 
 config SH_7710VOIPGW
        bool "SH7710-VOIP-GW"
-       select CPU_SUBTYPE_SH7710
+       depends on CPU_SUBTYPE_SH7710
        help
          Select this option to build a kernel for the SH7710 based
          VOIP GW.
 
 config SH_RTS7751R2D
        bool "RTS7751R2D"
-       select CPU_SUBTYPE_SH7751R
+       depends on 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_HIGHLANDER
+       bool "Highlander"
+       depends on CPU_SUBTYPE_SH7780 || CPU_SUBTYPE_SH7785
 
 config SH_EDOSK7705
        bool "EDOSK7705"
-       select CPU_SUBTYPE_SH7705
+       depends on CPU_SUBTYPE_SH7705
 
 config SH_SH4202_MICRODEV
        bool "SH4-202 MicroDev"
-       select CPU_SUBTYPE_SH4_202
+       depends on 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
+       depends on CPU_SUBTYPE_SH7751R
        help
          I-O DATA DEVICE, INC. "LANDISK Series" support.
 
 config SH_TITAN
        bool "TITAN"
-       select CPU_SUBTYPE_SH7751R
+       depends on CPU_SUBTYPE_SH7751R
        help
          Select Titan if you are configuring for a Nimble Microsystems
          NetEngine NP51R.
 
 config SH_SHMIN
        bool "SHMIN"
-       select CPU_SUBTYPE_SH7706
+       depends on CPU_SUBTYPE_SH7706
        help
-         Select SHMIN if configureing for the SHMIN board
+         Select SHMIN if configuring for the SHMIN board.
 
-config SH_UNKNOWN
-       bool "BareCPU"
+config SH_LBOX_RE2
+       bool "L-BOX RE2"
+       depends on CPU_SUBTYPE_SH7751R
        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.
+         Select L-BOX RE2 if configuring for the NTT COMWARE L-BOX RE2.
 
-endchoice
+endmenu
 
-source "arch/sh/mm/Kconfig"
+source "arch/sh/boards/renesas/hs7751rvoip/Kconfig"
+source "arch/sh/boards/renesas/rts7751r2d/Kconfig"
+source "arch/sh/boards/renesas/r7780rp/Kconfig"
 
 config CF_ENABLER
        bool "Compact Flash Enabler support"
-       depends on SH_SOLUTION_ENGINE || SH_UNKNOWN || SH_SH03
+       depends on SH_SOLUTION_ENGINE || 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
@@ -275,116 +430,66 @@ config CF_BASE_ADDR
        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.
-
-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_FPU_EMU
-       bool "FPU emulation support"
-       depends on !SH_FPU && EXPERIMENTAL
-       default n
-       help
-         Selecting this option will enable support for software FPU emulation.
-         Most SH-3 users will want to say Y here, whereas most SH-4 users will
-         want to say N.
-
-config SH_DSP
-       bool "DSP support"
-       default y if SH4AL_DSP || !CPU_SH4
-       default n
-       help
-         Selecting this option will enable support for SH processors that
-         have DSP units (ie, SH2-DSP, SH3-DSP, and SH4AL-DSP).
-
-         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_MASKREG_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"
+menu "Timer and clock configuration"
 
 config SH_TMU
        bool "TMU timer support"
+       depends on CPU_SH3 || CPU_SH4
+       select GENERIC_TIME
+       select GENERIC_CLOCKEVENTS
        default y
        help
          This enables the use of the TMU as the system timer.
 
-endmenu
-
-source "arch/sh/boards/renesas/hs7751rvoip/Kconfig"
+config SH_CMT
+       bool "CMT timer support"
+       depends on CPU_SH2
+       default y
+       help
+         This enables the use of the CMT as the system timer.
 
-source "arch/sh/boards/renesas/rts7751r2d/Kconfig"
+config SH_MTU2
+       bool "MTU2 timer support"
+       depends on CPU_SH2A
+       default n
+       help
+         This enables the use of the MTU2 as the system timer.
 
-source "arch/sh/boards/renesas/r7780rp/Kconfig"
+config SH_TIMER_IRQ
+       int
+       default "28" if CPU_SUBTYPE_SH7780 || CPU_SUBTYPE_SH7785
+       default "86" if CPU_SUBTYPE_SH7619
+       default "140" if CPU_SUBTYPE_SH7206
+       default "16"
 
 config SH_PCLK_FREQ
        int "Peripheral clock frequency (in Hz)"
-       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 || CPU_SUBTYPE_SH7705
        default "27000000" if CPU_SUBTYPE_SH73180 || CPU_SUBTYPE_SH7343
+       default "31250000" if CPU_SUBTYPE_SH7619
+       default "32000000" if CPU_SUBTYPE_SH7722
+       default "33333333" if CPU_SUBTYPE_SH7300 || CPU_SUBTYPE_SH7770 || \
+                             CPU_SUBTYPE_SH7760 || CPU_SUBTYPE_SH7705 || \
+                             CPU_SUBTYPE_SH7206
+       default "60000000" if CPU_SUBTYPE_SH7751 || CPU_SUBTYPE_SH7751R
        default "66000000" if CPU_SUBTYPE_SH4_202
+       default "50000000"
        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.
 
+config SH_CLK_MD
+       int "CPU Mode Pin Setting"
+       default 0
+       depends on CPU_SUBTYPE_SH7619 || CPU_SUBTYPE_SH7206
+       help
+         MD2 - MD0 pin setting.
+
+source "kernel/time/Kconfig"
+
+endmenu
+
 menu "CPU Frequency scaling"
 
 source "drivers/cpufreq/Kconfig"
@@ -403,19 +508,7 @@ config SH_CPU_FREQ
 
 endmenu
 
-source "arch/sh/drivers/dma/Kconfig"
-
-source "arch/sh/cchips/Kconfig"
-
-config HEARTBEAT
-       bool "Heartbeat LED"
-       depends on SH_MPC1211 || SH_SH03 || \
-                  SH_BIGSUR || 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.
+source "arch/sh/drivers/Kconfig"
 
 endmenu
 
@@ -445,6 +538,20 @@ config KEXEC
          support.  As of this writing the exact hardware interface is
          strongly in flux, so no good recommendation can be made.
 
+config CRASH_DUMP
+       bool "kernel crash dumps (EXPERIMENTAL)"
+       depends on EXPERIMENTAL
+       help
+         Generate crash dump after being started by kexec.
+         This should be normally only set in special crash dump kernels
+         which are loaded in the main kernel with kexec-tools into
+         a specially reserved region and then later executed after
+         a crash by kdump/kexec. The crash dump kernel must be compiled
+         to a memory address not used by the main kernel using
+         MEMORY_START.
+
+         For more details see Documentation/kdump/kdump.txt
+
 config SMP
        bool "Symmetric multi-processing support"
        ---help---
@@ -482,18 +589,6 @@ config NR_CPUS
 
 source "kernel/Kconfig.preempt"
 
-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.
-
 config NODES_SHIFT
        int
        default "1"
@@ -506,6 +601,8 @@ menu "Boot options"
 config ZERO_PAGE_OFFSET
        hex "Zero page offset"
        default "0x00004000" if SH_MPC1211 || SH_SH03
+       default "0x00010000" if PAGE_SIZE_64KB
+       default "0x00002000" if PAGE_SIZE_8KB
        default "0x00001000"
        help
          This sets the default offset of zero page.
@@ -608,9 +705,6 @@ depends on EXPERIMENTAL
 
 source kernel/power/Kconfig
 
-config APM
-       bool "Advanced Power Management Emulation"
-       depends on PM
 endmenu
 
 source "net/Kconfig"