]> err.no Git - linux-2.6/blobdiff - arch/sh/Kconfig
sh: Remove duplicate SUPERH64 symbol.
[linux-2.6] / arch / sh / Kconfig
index 54878f07cf0c0f05615af30a3e99e7fc21e0e1be..c0797b4aadbba8692bcd3b3d9b29da40e35f500f 100644 (file)
@@ -6,8 +6,7 @@
 mainmenu "Linux/SuperH Kernel Configuration"
 
 config SUPERH
-       bool
-       default y
+       def_bool y
        select EMBEDDED
        help
          The SuperH is a RISC processor targeted for use in embedded systems
@@ -15,6 +14,12 @@ config SUPERH
          gaming console.  The SuperH port has a home page at
          <http://www.linux-sh.org/>.
 
+config SUPERH32
+       def_bool !SUPERH64
+
+config SUPERH64
+       def_bool y if CPU_SH5
+
 config RWSEM_GENERIC_SPINLOCK
        bool
        default y
@@ -24,7 +29,7 @@ config RWSEM_XCHGADD_ALGORITHM
 
 config GENERIC_BUG
        def_bool y
-       depends on BUG
+       depends on BUG && SUPERH32
 
 config GENERIC_FIND_NEXT_BIT
        bool
@@ -97,115 +102,211 @@ source "init/Kconfig"
 
 menu "System type"
 
-source "arch/sh/mm/Kconfig"
+#
+# Processor families
+#
+config CPU_SH2
+       bool
+
+config CPU_SH2A
+       bool
+       select CPU_SH2
+
+config CPU_SH3
+       bool
+       select CPU_HAS_INTEVT
+       select CPU_HAS_SR_RB
+
+config CPU_SH4
+       bool
+       select CPU_HAS_INTEVT
+       select CPU_HAS_SR_RB
+       select CPU_HAS_PTEA if !CPU_SH4A || CPU_SHX2
+       select CPU_HAS_FPU if !CPU_SH4AL_DSP
 
-menu "Processor features"
+config CPU_SH4A
+       bool
+       select CPU_SH4
+
+config CPU_SH4AL_DSP
+       bool
+       select CPU_SH4A
+       select CPU_HAS_DSP
+
+config CPU_SH5
+       bool
+       select CPU_HAS_FPU
+
+config CPU_SHX2
+       bool
+
+config CPU_SHX3
+       bool
 
 choice
-       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.
+       prompt "Processor sub-type selection"
 
-config CPU_LITTLE_ENDIAN
-       bool "Little Endian"
+#
+# Processor subtypes
+#
 
-config CPU_BIG_ENDIAN
-       bool "Big Endian"
+# SH-2 Processor Support
 
-endchoice
+config CPU_SUBTYPE_SH7619
+       bool "Support SH7619 processor"
+       select CPU_SH2
 
-config SH_FPU
-       bool "FPU support"
-       depends on CPU_SH4
-       default y
+# SH-2A Processor Support
+
+config CPU_SUBTYPE_SH7206
+       bool "Support SH7206 processor"
+       select CPU_SH2A
+
+# SH-3 Processor Support
+
+config CPU_SUBTYPE_SH7705
+       bool "Support SH7705 processor"
+       select CPU_SH3
+
+config CPU_SUBTYPE_SH7706
+       bool "Support SH7706 processor"
+       select CPU_SH3
        help
-         Selecting this option will enable support for SH processors that
-         have FPU units (ie, SH77xx).
+         Select SH7706 if you have a 133 Mhz SH-3 HD6417706 CPU.
 
-         This option must be set in order to enable the FPU.
+config CPU_SUBTYPE_SH7707
+       bool "Support SH7707 processor"
+       select CPU_SH3
+       help
+         Select SH7707 if you have a  60 Mhz SH-3 HD6417707 CPU.
 
-config SH_FPU_EMU
-       bool "FPU emulation support"
-       depends on !SH_FPU && EXPERIMENTAL
-       default n
+config CPU_SUBTYPE_SH7708
+       bool "Support SH7708 processor"
+       select CPU_SH3
        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.
+         Select SH7708 if you have a  60 Mhz SH-3 HD6417708S or
+         if you have a 100 Mhz SH-3 HD6417708R CPU.
 
-config SH_DSP
-       bool "DSP support"
-       depends on CPU_HAS_DSP
-       default y
+config CPU_SUBTYPE_SH7709
+       bool "Support SH7709 processor"
+       select CPU_SH3
        help
-         Selecting this option will enable support for SH processors that
-         have DSP units (ie, SH2-DSP, SH3-DSP, and SH4AL-DSP).
+         Select SH7709 if you have a  80 Mhz SH-3 HD6417709 CPU.
 
-         This option must be set in order to enable the DSP.
+config CPU_SUBTYPE_SH7710
+       bool "Support SH7710 processor"
+       select CPU_SH3
+       select CPU_HAS_DSP
+       help
+         Select SH7710 if you have a SH3-DSP SH7710 CPU.
 
-config SH_ADC
-       bool "ADC support"
-       depends on CPU_SH3
-       default y
+config CPU_SUBTYPE_SH7712
+       bool "Support SH7712 processor"
+       select CPU_SH3
+       select CPU_HAS_DSP
        help
-         Selecting this option will allow the Linux kernel to use SH3 on-chip
-         ADC module.
+         Select SH7712 if you have a SH3-DSP SH7712 CPU.
 
-         If unsure, say N.
+config CPU_SUBTYPE_SH7720
+       bool "Support SH7720 processor"
+       select CPU_SH3
+       select CPU_HAS_DSP
+       help
+         Select SH7720 if you have a SH3-DSP SH7720 CPU.
+
+# SH-4 Processor Support
 
-config SH_STORE_QUEUES
-       bool "Support for Store Queues"
-       depends on CPU_SH4
+config CPU_SUBTYPE_SH7750
+       bool "Support SH7750 processor"
+       select CPU_SH4
        help
-         Selecting this option will enable an in-kernel API for manipulating
-         the store queues integrated in the SH-4 processors.
+         Select SH7750 if you have a 200 Mhz SH-4 HD6417750 CPU.
 
-config SPECULATIVE_EXECUTION
-       bool "Speculative subroutine return"
-       depends on CPU_SUBTYPE_SH7780 && EXPERIMENTAL
+config CPU_SUBTYPE_SH7091
+       bool "Support SH7091 processor"
+       select CPU_SH4
        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.
+         Select SH7091 if you have an SH-4 based Sega device (such as
+         the Dreamcast, Naomi, and Naomi 2).
 
-         If unsure, say N.
+config CPU_SUBTYPE_SH7750R
+       bool "Support SH7750R processor"
+       select CPU_SH4
 
-config CPU_HAS_INTEVT
-       bool
+config CPU_SUBTYPE_SH7750S
+       bool "Support SH7750S processor"
+       select CPU_SH4
 
-config CPU_HAS_MASKREG_IRQ
-       bool
+config CPU_SUBTYPE_SH7751
+       bool "Support SH7751 processor"
+       select CPU_SH4
+       help
+         Select SH7751 if you have a 166 Mhz SH-4 HD6417751 CPU,
+         or if you have a HD6417751R CPU.
 
-config CPU_HAS_INTC_IRQ
-       bool
+config CPU_SUBTYPE_SH7751R
+       bool "Support SH7751R processor"
+       select CPU_SH4
 
-config CPU_HAS_INTC2_IRQ
-       bool
+config CPU_SUBTYPE_SH7760
+       bool "Support SH7760 processor"
+       select CPU_SH4
 
-config CPU_HAS_IPR_IRQ
-       bool
+config CPU_SUBTYPE_SH4_202
+       bool "Support SH4-202 processor"
+       select CPU_SH4
 
-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.
+# SH-4A Processor Support
 
-         See <file:Documentation/sh/register-banks.txt> for further
-         information on SR.RB and register banking in the kernel in general.
+config CPU_SUBTYPE_SH7770
+       bool "Support SH7770 processor"
+       select CPU_SH4A
 
-config CPU_HAS_PTEA
-       bool
+config CPU_SUBTYPE_SH7780
+       bool "Support SH7780 processor"
+       select CPU_SH4A
 
-config CPU_HAS_DSP
-       bool
+config CPU_SUBTYPE_SH7785
+       bool "Support SH7785 processor"
+       select CPU_SH4A
+       select CPU_SHX2
+       select ARCH_SPARSEMEM_ENABLE
+       select SYS_SUPPORTS_NUMA
 
-endmenu
+config CPU_SUBTYPE_SHX3
+       bool "Support SH-X3 processor"
+       select CPU_SH4A
+       select CPU_SHX3
+       select ARCH_SPARSEMEM_ENABLE
+       select SYS_SUPPORTS_NUMA
+       select SYS_SUPPORTS_SMP
+
+# SH4AL-DSP Processor Support
+
+config CPU_SUBTYPE_SH7343
+       bool "Support SH7343 processor"
+       select CPU_SH4AL_DSP
+
+config CPU_SUBTYPE_SH7722
+       bool "Support SH7722 processor"
+       select CPU_SH4AL_DSP
+       select CPU_SHX2
+       select ARCH_SPARSEMEM_ENABLE
+       select SYS_SUPPORTS_NUMA
+
+# SH-5 Processor Support
+
+config CPU_SUBTYPE_SH5_101
+       bool "Support SH5-101 processor"
+       select CPU_SH5
+
+config CPU_SUBTYPE_SH5_103
+       bool "Support SH5-103 processor"
+
+endchoice
+
+source "arch/sh/mm/Kconfig"
+source "arch/sh/Kconfig.cpu"
 
 menu "Board support"
 
@@ -216,10 +317,12 @@ config SH_SOLUTION_ENGINE
        bool "SolutionEngine"
        select SOLUTION_ENGINE
        select CPU_HAS_IPR_IRQ
-       depends on CPU_SUBTYPE_SH7709 || CPU_SUBTYPE_SH7750
+       depends on CPU_SUBTYPE_SH7705 || CPU_SUBTYPE_SH7709 || CPU_SUBTYPE_SH7710 || \
+         CPU_SUBTYPE_SH7712 || CPU_SUBTYPE_SH7750 || CPU_SUBTYPE_SH7750S || \
+         CPU_SUBTYPE_SH7750R 
        help
-         Select SolutionEngine if configuring for a Hitachi SH7709
-         or SH7750 evaluation board.
+         Select SolutionEngine if configuring for a Hitachi SH7705, SH7709,
+         SH7710, SH7712, SH7750, SH7750S or SH7750R evaluation board.
 
 config SH_7206_SOLUTION_ENGINE
        bool "SolutionEngine7206"
@@ -258,7 +361,6 @@ config SH_7780_SOLUTION_ENGINE
        bool "SolutionEngine7780"
        select SOLUTION_ENGINE
        select SYS_SUPPORTS_PCI
-       select CPU_HAS_INTC2_IRQ
        depends on CPU_SUBTYPE_SH7780
        help
          Select 7780 SolutionEngine if configuring for a Renesas SH7780
@@ -295,9 +397,7 @@ config SH_DREAMCAST
        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/>.
+         More information at <http://www.linux-sh.org>
 
 config SH_MPC1211
        bool "Interface MPC1211"
@@ -309,7 +409,7 @@ config SH_MPC1211
 
 config SH_SH03
        bool "Interface CTP/PCI-SH03"
-       depends on CPU_SUBTYPE_SH7751 && BROKEN
+       depends on CPU_SUBTYPE_SH7751
        select CPU_HAS_IPR_IRQ
        select SYS_SUPPORTS_PCI
        help
@@ -395,11 +495,34 @@ config SH_LBOX_RE2
        help
          Select L-BOX RE2 if configuring for the NTT COMWARE L-BOX RE2.
 
+config SH_X3PROTO
+       bool "SH-X3 Prototype board"
+       depends on CPU_SUBTYPE_SHX3
+
+config SH_MAGIC_PANEL_R2
+       bool "Magic Panel R2"
+       depends on CPU_SUBTYPE_SH7720
+       help
+         Select Magic Panel R2 if configuring for Magic Panel R2.
+
+config SH_SIMULATOR
+       bool "Simulator"
+       depends on SUPERH64
+
+config SH_CAYMAN
+       bool "Hitachi Cayman"
+       depends on CPU_SUBTYPE_SH5_101 || CPU_SUBTYPE_SH5_103
+
+config SH_HARP
+       bool "ST50 Harp"
+       depends on CPU_SH5
+
 endmenu
 
 source "arch/sh/boards/renesas/hs7751rvoip/Kconfig"
 source "arch/sh/boards/renesas/rts7751r2d/Kconfig"
 source "arch/sh/boards/renesas/r7780rp/Kconfig"
+source "arch/sh/boards/magicpanelr2/Kconfig"
 
 menu "Timer and clock configuration"
 
@@ -563,10 +686,19 @@ config NR_CPUS
 
 source "kernel/Kconfig.preempt"
 
-config NODES_SHIFT
-       int
-       default "1"
-       depends on NEED_MULTIPLE_NODES
+config GUSA
+       def_bool y
+       depends on !SMP
+       help
+         This enables support for gUSA (general UserSpace Atomicity).
+         This is the default implementation for both UP and non-ll/sc
+         CPUs, and is used by the libc, amongst others.
+
+         For additional information, design information can be found 
+         in <http://lc.linux.or.jp/lc2002/papers/niibe0919p.pdf>.
+
+         This should only be disabled for special cases where alternate
+         atomicity implementations exist.
 
 endmenu
 
@@ -591,7 +723,7 @@ config BOOT_LINK_OFFSET
 
 config UBC_WAKEUP
        bool "Wakeup UBC on startup"
-       depends on CPU_SH4
+       depends on CPU_SH4 && !CPU_SH4A
        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
@@ -659,6 +791,17 @@ config SUPERHYWAY
        tristate "SuperHyway Bus support"
        depends on CPU_SUBTYPE_SH4_202
 
+config MAPLE
+       bool "Maple Bus support"
+       depends on SH_DREAMCAST
+       help
+         The Maple Bus is SEGA's serial communication bus for peripherals
+         on the Dreamcast. Without this bus support you won't be able to
+         get your Dreamcast keyboard etc to work, so most users
+         probably want to say 'Y' here, unless you are only using the
+         Dreamcast with a serial line terminal or a remote network
+         connection.
+
 config CF_ENABLER
        bool "Compact Flash Enabler support"
        depends on SOLUTION_ENGINE || SH_SH03
@@ -731,7 +874,7 @@ source "drivers/Kconfig"
 
 source "fs/Kconfig"
 
-source "arch/sh/oprofile/Kconfig"
+source "kernel/Kconfig.instrumentation"
 
 source "arch/sh/Kconfig.debug"