Merge branch 'smp' into devel
[pandora-kernel.git] / arch / arm / Kconfig
index a930e5c..28248b5 100644 (file)
@@ -34,15 +34,12 @@ config SYS_SUPPORTS_APM_EMULATION
 
 config GENERIC_GPIO
        bool
-       default n
 
 config GENERIC_TIME
        bool
-       default n
 
 config GENERIC_CLOCKEVENTS
        bool
-       default n
 
 config GENERIC_CLOCKEVENTS_BROADCAST
        bool
@@ -55,7 +52,6 @@ config MMU
 
 config NO_IOPORT
        bool
-       default n
 
 config EISA
        bool
@@ -126,11 +122,9 @@ config RWSEM_XCHGADD_ALGORITHM
 
 config ARCH_HAS_ILOG2_U32
        bool
-       default n
 
 config ARCH_HAS_ILOG2_U64
        bool
-       default n
 
 config GENERIC_HWEIGHT
        bool
@@ -281,6 +275,7 @@ config ARCH_EP93XX
        select HAVE_CLK
        select COMMON_CLKDEV
        select ARCH_REQUIRE_GPIOLIB
+       select ARCH_HAS_HOLES_MEMORYMODEL
        help
          This enables support for the Cirrus EP93xx series of CPUs.
 
@@ -299,6 +294,7 @@ config ARCH_MXC
        select ARCH_MTD_XIP
        select GENERIC_GPIO
        select ARCH_REQUIRE_GPIOLIB
+       select HAVE_CLK
        help
          Support for Freescale MXC/iMX-based family of processors
 
@@ -318,15 +314,6 @@ config ARCH_H720X
        help
          This enables support for systems based on the Hynix HMS720x
 
-config ARCH_IMX
-       bool "IMX"
-       select CPU_ARM920T
-       select GENERIC_GPIO
-       select GENERIC_TIME
-       select GENERIC_CLOCKEVENTS
-       help
-         Support for Motorola's i.MX family of processors (MX1, MXL).
-
 config ARCH_IOP13XX
        bool "IOP13xx-based"
        depends on MMU
@@ -507,8 +494,6 @@ config ARCH_PXA
        select HAVE_CLK
        select COMMON_CLKDEV
        select ARCH_REQUIRE_GPIOLIB
-       select HAVE_CLK
-       select COMMON_CLKDEV
        select GENERIC_TIME
        select GENERIC_CLOCKEVENTS
        select TICK_ONESHOT
@@ -603,6 +588,9 @@ config ARCH_DAVINCI
        select ARCH_REQUIRE_GPIOLIB
        select HAVE_CLK
        select ZONE_DMA
+       select HAVE_IDE
+       select COMMON_CLKDEV
+       select GENERIC_ALLOCATOR
        help
          Support for TI's DaVinci platform.
 
@@ -681,8 +669,6 @@ endif
 
 source "arch/arm/mach-lh7a40x/Kconfig"
 
-source "arch/arm/mach-imx/Kconfig"
-
 source "arch/arm/mach-h720x/Kconfig"
 
 source "arch/arm/mach-versatile/Kconfig"
@@ -740,6 +726,56 @@ if !MMU
 source "arch/arm/Kconfig-nommu"
 endif
 
+config ARM_ERRATA_411920
+       bool "ARM errata: Invalidation of the Instruction Cache operation can fail"
+       depends on CPU_V6 && !SMP
+       help
+         Invalidation of the Instruction Cache operation can
+         fail. This erratum is present in 1136 (before r1p4), 1156 and 1176.
+         It does not affect the MPCore. This option enables the ARM Ltd.
+         recommended workaround.
+
+config ARM_ERRATA_430973
+       bool "ARM errata: Stale prediction on replaced interworking branch"
+       depends on CPU_V7
+       help
+         This option enables the workaround for the 430973 Cortex-A8
+         (r1p0..r1p2) erratum. If a code sequence containing an ARM/Thumb
+         interworking branch is replaced with another code sequence at the
+         same virtual address, whether due to self-modifying code or virtual
+         to physical address re-mapping, Cortex-A8 does not recover from the
+         stale interworking branch prediction. This results in Cortex-A8
+         executing the new code sequence in the incorrect ARM or Thumb state.
+         The workaround enables the BTB/BTAC operations by setting ACTLR.IBE
+         and also flushes the branch target cache at every context switch.
+         Note that setting specific bits in the ACTLR register may not be
+         available in non-secure mode.
+
+config ARM_ERRATA_458693
+       bool "ARM errata: Processor deadlock when a false hazard is created"
+       depends on CPU_V7
+       help
+         This option enables the workaround for the 458693 Cortex-A8 (r2p0)
+         erratum. For very specific sequences of memory operations, it is
+         possible for a hazard condition intended for a cache line to instead
+         be incorrectly associated with a different cache line. This false
+         hazard might then cause a processor deadlock. The workaround enables
+         the L1 caching of the NEON accesses and disables the PLD instruction
+         in the ACTLR register. Note that setting specific bits in the ACTLR
+         register may not be available in non-secure mode.
+
+config ARM_ERRATA_460075
+       bool "ARM errata: Data written to the L2 cache can be overwritten with stale data"
+       depends on CPU_V7
+       help
+         This option enables the workaround for the 460075 Cortex-A8 (r2p0)
+         erratum. Any asynchronous access to the L2 cache may encounter a
+         situation in which recent store transactions to the L2 cache are lost
+         and overwritten with stale memory contents from external memory. The
+         workaround disables the write-allocate mode for the L2 cache via the
+         ACTLR register. Note that setting specific bits in the ACTLR register
+         may not be available in non-secure mode.
+
 endmenu
 
 source "arch/arm/common/Kconfig"
@@ -808,7 +844,9 @@ source "kernel/time/Kconfig"
 config SMP
        bool "Symmetric Multi-Processing (EXPERIMENTAL)"
        depends on EXPERIMENTAL && (REALVIEW_EB_ARM11MP || MACH_REALVIEW_PB11MP)
+       depends on GENERIC_CLOCKEVENTS
        select USE_GENERIC_SMP_HELPERS
+       select HAVE_ARM_SCU if ARCH_REALVIEW
        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
@@ -826,6 +864,18 @@ config SMP
 
          If you don't know what to do here, say N.
 
+config HAVE_ARM_SCU
+       bool
+       depends on SMP
+       help
+         This option enables support for the ARM system coherency unit
+
+config HAVE_ARM_TWD
+       bool
+       depends on SMP
+       help
+         This options enables support for the ARM timer and watchdog unit
+
 choice
        prompt "Memory split"
        default VMSPLIT_3G
@@ -866,6 +916,7 @@ config LOCAL_TIMERS
        bool "Use local timer interrupts"
        depends on SMP && (REALVIEW_EB_ARM11MP || MACH_REALVIEW_PB11MP || REALVIEW_EB_A9MP)
        default y
+       select HAVE_ARM_TWD if ARCH_REALVIEW
        help
          Enable support for local timers on SMP platforms, rather then the
          legacy IPI broadcast method.  Local timers allows the system
@@ -925,10 +976,8 @@ config OABI_COMPAT
          UNPREDICTABLE (in fact it can be predicted that it won't work
          at all). If in doubt say Y.
 
-config ARCH_FLATMEM_HAS_HOLES
+config ARCH_HAS_HOLES_MEMORYMODEL
        bool
-       default y
-       depends on FLATMEM
 
 # Discontigmem is deprecated
 config ARCH_DISCONTIGMEM_ENABLE
@@ -971,7 +1020,7 @@ source "mm/Kconfig"
 config LEDS
        bool "Timer and CPU usage LEDs"
        depends on ARCH_CDB89712 || ARCH_EBSA110 || \
-                  ARCH_EBSA285 || ARCH_IMX || ARCH_INTEGRATOR || \
+                  ARCH_EBSA285 || ARCH_INTEGRATOR || \
                   ARCH_LUBBOCK || MACH_MAINSTONE || ARCH_NETWINDER || \
                   ARCH_OMAP || ARCH_P720T || ARCH_PXA_IDP || \
                   ARCH_SA1100 || ARCH_SHARK || ARCH_VERSATILE || \
@@ -1137,7 +1186,7 @@ endmenu
 
 menu "CPU Power Management"
 
-if (ARCH_SA1100 || ARCH_INTEGRATOR || ARCH_OMAP || ARCH_IMX || ARCH_PXA)
+if (ARCH_SA1100 || ARCH_INTEGRATOR || ARCH_OMAP || ARCH_PXA)
 
 source "drivers/cpufreq/Kconfig"
 
@@ -1162,15 +1211,6 @@ config CPU_FREQ_INTEGRATOR
 
          If in doubt, say Y.
 
-config CPU_FREQ_IMX
-       tristate "CPUfreq driver for i.MX CPUs"
-       depends on ARCH_IMX && CPU_FREQ
-       default n
-       help
-         This enables the CPUfreq driver for i.MX CPUs.
-
-         If in doubt, say N.
-
 config CPU_FREQ_PXA
        bool
        depends on CPU_FREQ && ARCH_PXA && PXA25x