[ARM] pxa: fix interrupts number calculation when CONFIG_PXA_HAVE_ISA_IRQS=y
[safe/jmp/linux-2.6] / arch / sh / Kconfig
index d88a61b..88cdeb9 100644 (file)
@@ -10,11 +10,19 @@ config SUPERH
        select EMBEDDED
        select HAVE_CLK
        select HAVE_IDE
        select EMBEDDED
        select HAVE_CLK
        select HAVE_IDE
+       select HAVE_LMB
        select HAVE_OPROFILE
        select HAVE_GENERIC_DMA_COHERENT
        select HAVE_IOREMAP_PROT if MMU
        select HAVE_ARCH_TRACEHOOK
        select HAVE_DMA_API_DEBUG
        select HAVE_OPROFILE
        select HAVE_GENERIC_DMA_COHERENT
        select HAVE_IOREMAP_PROT if MMU
        select HAVE_ARCH_TRACEHOOK
        select HAVE_DMA_API_DEBUG
+       select HAVE_PERF_EVENTS
+       select HAVE_KERNEL_GZIP
+       select HAVE_KERNEL_BZIP2
+       select HAVE_KERNEL_LZMA
+       select HAVE_SYSCALL_TRACEPOINTS
+       select RTC_LIB
+       select GENERIC_ATOMIC64
        help
          The SuperH is a RISC processor targeted for use in embedded systems
          and consumer electronics; it was also used in the Sega Dreamcast
        help
          The SuperH is a RISC processor targeted for use in embedded systems
          and consumer electronics; it was also used in the Sega Dreamcast
@@ -28,9 +36,10 @@ config SUPERH32
        select HAVE_FUNCTION_TRACER
        select HAVE_FTRACE_MCOUNT_RECORD
        select HAVE_DYNAMIC_FTRACE
        select HAVE_FUNCTION_TRACER
        select HAVE_FTRACE_MCOUNT_RECORD
        select HAVE_DYNAMIC_FTRACE
+       select HAVE_FUNCTION_TRACE_MCOUNT_TEST
+       select HAVE_FUNCTION_GRAPH_TRACER
        select HAVE_ARCH_KGDB
        select ARCH_HIBERNATION_POSSIBLE if MMU
        select HAVE_ARCH_KGDB
        select ARCH_HIBERNATION_POSSIBLE if MMU
-       select RTC_LIB
 
 config SUPERH64
        def_bool ARCH = "sh64"
 
 config SUPERH64
        def_bool ARCH = "sh64"
@@ -50,6 +59,10 @@ config GENERIC_BUG
        def_bool y
        depends on BUG && SUPERH32
 
        def_bool y
        depends on BUG && SUPERH32
 
+config GENERIC_CSUM
+       def_bool y
+       depends on SUPERH64
+
 config GENERIC_FIND_NEXT_BIT
        def_bool y
 
 config GENERIC_FIND_NEXT_BIT
        def_bool y
 
@@ -65,6 +78,9 @@ config GENERIC_HARDIRQS_NO__DO_IRQ
 config GENERIC_IRQ_PROBE
        def_bool y
 
 config GENERIC_IRQ_PROBE
        def_bool y
 
+config IRQ_PER_CPU
+       def_bool y
+
 config GENERIC_GPIO
        def_bool n
 
 config GENERIC_GPIO
        def_bool n
 
@@ -105,6 +121,9 @@ config SYS_SUPPORTS_APM_EMULATION
        bool
        select ARCH_SUSPEND_POSSIBLE
 
        bool
        select ARCH_SUSPEND_POSSIBLE
 
+config SYS_SUPPORTS_HUGETLBFS
+       bool
+
 config SYS_SUPPORTS_SMP
        bool
 
 config SYS_SUPPORTS_SMP
        bool
 
@@ -145,6 +164,9 @@ config ARCH_NO_VIRT_TO_BUS
 config ARCH_HAS_DEFAULT_IDLE
        def_bool y
 
 config ARCH_HAS_DEFAULT_IDLE
        def_bool y
 
+config ARCH_HAS_CPU_IDLE_WAIT
+       def_bool y
+
 config IO_TRAPPED
        bool
 
 config IO_TRAPPED
        bool
 
@@ -174,9 +196,9 @@ config CPU_SH4
        bool
        select CPU_HAS_INTEVT
        select CPU_HAS_SR_RB
        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
        select SYS_SUPPORTS_TMU
        select CPU_HAS_FPU if !CPU_SH4AL_DSP
        select SYS_SUPPORTS_TMU
+       select SYS_SUPPORTS_HUGETLBFS if MMU
 
 config CPU_SH4A
        bool
 
 config CPU_SH4A
        bool
@@ -191,6 +213,7 @@ config CPU_SH5
        bool
        select CPU_HAS_FPU
        select SYS_SUPPORTS_TMU
        bool
        select CPU_HAS_FPU
        select SYS_SUPPORTS_TMU
+       select SYS_SUPPORTS_HUGETLBFS if MMU
 
 config CPU_SHX2
        bool
 
 config CPU_SHX2
        bool
@@ -201,6 +224,8 @@ config CPU_SHX3
 config ARCH_SHMOBILE
        bool
        select ARCH_SUSPEND_POSSIBLE
 config ARCH_SHMOBILE
        bool
        select ARCH_SUSPEND_POSSIBLE
+       select PM
+       select PM_RUNTIME
 
 if SUPERH32
 
 
 if SUPERH32
 
@@ -302,6 +327,7 @@ config CPU_SUBTYPE_SH7720
        bool "Support SH7720 processor"
        select CPU_SH3
        select CPU_HAS_DSP
        bool "Support SH7720 processor"
        select CPU_SH3
        select CPU_HAS_DSP
+       select SYS_SUPPORTS_CMT
        help
          Select SH7720 if you have a SH3-DSP SH7720 CPU.
 
        help
          Select SH7720 if you have a SH3-DSP SH7720 CPU.
 
@@ -309,6 +335,7 @@ config CPU_SUBTYPE_SH7721
        bool "Support SH7721 processor"
        select CPU_SH3
        select CPU_HAS_DSP
        bool "Support SH7721 processor"
        select CPU_SH3
        select CPU_HAS_DSP
+       select SYS_SUPPORTS_CMT
        help
          Select SH7721 if you have a SH3-DSP SH7721 CPU.
 
        help
          Select SH7721 if you have a SH3-DSP SH7721 CPU.
 
@@ -376,6 +403,13 @@ config CPU_SUBTYPE_SH7724
        help
          Select SH7724 if you have an SH-MobileR2R CPU.
 
        help
          Select SH7724 if you have an SH-MobileR2R CPU.
 
+config CPU_SUBTYPE_SH7757
+       bool "Support SH7757 processor"
+       select CPU_SH4A
+       select CPU_SHX2
+       help
+         Select SH7757 if you have a SH4A SH7757 CPU.
+
 config CPU_SUBTYPE_SH7763
        bool "Support SH7763 processor"
        select CPU_SH4A
 config CPU_SUBTYPE_SH7763
        bool "Support SH7763 processor"
        select CPU_SH4A
@@ -404,6 +438,8 @@ config CPU_SUBTYPE_SH7786
        select CPU_HAS_PTEAEX
        select ARCH_SPARSEMEM_ENABLE
        select SYS_SUPPORTS_NUMA
        select CPU_HAS_PTEAEX
        select ARCH_SPARSEMEM_ENABLE
        select SYS_SUPPORTS_NUMA
+       select SYS_SUPPORTS_SMP
+       select GENERIC_CLOCKEVENTS_BROADCAST if SMP
 
 config CPU_SUBTYPE_SHX3
        bool "Support SH-X3 processor"
 
 config CPU_SUBTYPE_SHX3
        bool "Support SH-X3 processor"
@@ -471,16 +507,9 @@ source "arch/sh/boards/Kconfig"
 
 menu "Timer and clock configuration"
 
 
 menu "Timer and clock configuration"
 
-config SH_TMU
-       bool "TMU timer support"
-       depends on CPU_SH3 || CPU_SH4
-       default y
-       help
-         This enables the use of the TMU as the system timer.
-
 config SH_TIMER_TMU
        bool "TMU timer driver"
 config SH_TIMER_TMU
        bool "TMU timer driver"
-       depends on !SH_TMU && SYS_SUPPORTS_TMU
+       depends on SYS_SUPPORTS_TMU
        default y
        help
          This enables the build of the TMU timer driver.
        default y
        help
          This enables the build of the TMU timer driver.
@@ -499,17 +528,6 @@ config SH_TIMER_MTU2
        help
          This enables build of the MTU2 timer driver.
 
        help
          This enables build of the MTU2 timer driver.
 
-config SH_TIMER_IRQ
-       int
-       default "28" if CPU_SUBTYPE_SH7780 || CPU_SUBTYPE_SH7785 || \
-                       CPU_SUBTYPE_SH7763
-       default "86" if CPU_SUBTYPE_SH7619
-       default "140" if CPU_SUBTYPE_SH7206
-       default "142" if CPU_SUBTYPE_SH7203 && SH_CMT
-       default "153" if CPU_SUBTYPE_SH7203 && SH_MTU2
-       default "238" if CPU_SUBTYPE_MXG
-       default "16"
-
 config SH_PCLK_FREQ
        int "Peripheral clock frequency (in Hz)"
        default "27000000" if CPU_SUBTYPE_SH7343
 config SH_PCLK_FREQ
        int "Peripheral clock frequency (in Hz)"
        default "27000000" if CPU_SUBTYPE_SH7343
@@ -519,8 +537,7 @@ config SH_PCLK_FREQ
                              CPU_SUBTYPE_SH7760 || CPU_SUBTYPE_SH7705 || \
                              CPU_SUBTYPE_SH7203 || CPU_SUBTYPE_SH7206 || \
                              CPU_SUBTYPE_SH7263 || CPU_SUBTYPE_MXG    || \
                              CPU_SUBTYPE_SH7760 || CPU_SUBTYPE_SH7705 || \
                              CPU_SUBTYPE_SH7203 || CPU_SUBTYPE_SH7206 || \
                              CPU_SUBTYPE_SH7263 || CPU_SUBTYPE_MXG    || \
-                             CPU_SUBTYPE_SH7786
-       default "41666666" if CPU_SUBTYPE_SH7724
+                             CPU_SUBTYPE_SH7786 || CPU_SUBTYPE_SH7724
        default "60000000" if CPU_SUBTYPE_SH7751 || CPU_SUBTYPE_SH7751R
        default "66000000" if CPU_SUBTYPE_SH4_202
        default "50000000"
        default "60000000" if CPU_SUBTYPE_SH7751 || CPU_SUBTYPE_SH7751R
        default "66000000" if CPU_SUBTYPE_SH4_202
        default "50000000"
@@ -529,6 +546,13 @@ config SH_PCLK_FREQ
          This is necessary for determining the reference clock value on
          platforms lacking an RTC.
 
          This is necessary for determining the reference clock value on
          platforms lacking an RTC.
 
+config SH_CLK_CPG
+       def_bool y
+
+config SH_CLK_CPG_LEGACY
+       depends on SH_CLK_CPG
+       def_bool y if !CPU_SUBTYPE_SH7785 && !ARCH_SHMOBILE
+
 config SH_CLK_MD
        int "CPU Mode Pin Setting"
        depends on CPU_SH2
 config SH_CLK_MD
        int "CPU Mode Pin Setting"
        depends on CPU_SH2
@@ -653,7 +677,7 @@ config NR_CPUS
        int "Maximum number of CPUs (2-32)"
        range 2 32
        depends on SMP
        int "Maximum number of CPUs (2-32)"
        range 2 32
        depends on SMP
-       default "4" if CPU_SHX3
+       default "4" if CPU_SUBTYPE_SHX3
        default "2"
        help
          This allows you to specify the maximum number of CPUs which this
        default "2"
        help
          This allows you to specify the maximum number of CPUs which this
@@ -689,27 +713,54 @@ config GUSA_RB
          LLSC, this should be more efficient than the other alternative of
          disabling interrupts around the atomic sequence.
 
          LLSC, this should be more efficient than the other alternative of
          disabling interrupts around the atomic sequence.
 
+config SPARSE_IRQ
+       bool "Support sparse irq numbering"
+       depends on EXPERIMENTAL
+       help
+         This enables support for sparse irqs. This is useful in general
+         as most CPUs have a fairly sparse array of IRQ vectors, which
+         the irq_desc then maps directly on to. Systems with a high
+         number of off-chip IRQs will want to treat this as
+         experimental until they have been independently verified.
+
+         If you don't know what to do here, say N.
+
 endmenu
 
 menu "Boot options"
 
 config ZERO_PAGE_OFFSET
 endmenu
 
 menu "Boot options"
 
 config ZERO_PAGE_OFFSET
-       hex "Zero page offset"
-       default "0x00004000" if SH_SH03
-       default "0x00010000" if PAGE_SIZE_64KB
+       hex
+       default "0x00010000" if PAGE_SIZE_64KB || SH_RTS7751R2D || \
+                               SH_7751_SOLUTION_ENGINE
+       default "0x00004000" if PAGE_SIZE_16KB || SH_SH03
        default "0x00002000" if PAGE_SIZE_8KB
        default "0x00001000"
        help
          This sets the default offset of zero page.
 
 config BOOT_LINK_OFFSET
        default "0x00002000" if PAGE_SIZE_8KB
        default "0x00001000"
        help
          This sets the default offset of zero page.
 
 config BOOT_LINK_OFFSET
-       hex "Link address offset for booting"
+       hex
+       default "0x00210000" if SH_SHMIN
+       default "0x00400000" if SH_CAYMAN
+       default "0x00810000" if SH_7780_SOLUTION_ENGINE
+       default "0x009e0000" if SH_TITAN
+       default "0x01800000" if SH_SDK7780
+       default "0x02000000" if SH_EDOSK7760
        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.
 
        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 ENTRY_OFFSET
+       hex
+       default "0x00001000" if PAGE_SIZE_4KB
+       default "0x00002000" if PAGE_SIZE_8KB
+       default "0x00004000" if PAGE_SIZE_16KB
+       default "0x00010000" if PAGE_SIZE_64KB
+       default "0x00000000"
+
 config UBC_WAKEUP
        bool "Wakeup UBC on startup"
        depends on CPU_SH4 && !CPU_SH4A
 config UBC_WAKEUP
        bool "Wakeup UBC on startup"
        depends on CPU_SH4 && !CPU_SH4A
@@ -721,12 +772,31 @@ config UBC_WAKEUP
 
          If unsure, say N.
 
 
          If unsure, say N.
 
-config CMDLINE_BOOL
-       bool "Default bootloader kernel arguments"
+choice
+       prompt "Kernel command line"
+       optional
+       default CMDLINE_OVERWRITE
+       help
+         Setting this option allows the kernel command line arguments
+         to be set.
+
+config CMDLINE_OVERWRITE
+       bool "Overwrite bootloader kernel arguments"
+       help
+         Given string will overwrite any arguments passed in by
+         a bootloader.
+
+config CMDLINE_EXTEND
+       bool "Extend bootloader kernel arguments"
+       help
+         Given string will be concatenated with arguments passed in
+         by a bootloader.
+
+endchoice
 
 config CMDLINE
 
 config CMDLINE
-       string "Initial kernel command string"
-       depends on CMDLINE_BOOL
+       string "Kernel command line arguments string"
+       depends on CMDLINE_OVERWRITE || CMDLINE_EXTEND
        default "console=ttySC1,115200"
 
 endmenu
        default "console=ttySC1,115200"
 
 endmenu