ARM: use ARM_SINGLE_ARMV7M for ARMv7-M platforms
[GitHub/exynos8895/android_kernel_samsung_universal8895.git] / arch / arm / Kconfig
index cf4c0c99aa253f3f69ecc08a07f0c5a695e63640..b7a7d1556d964234599766cd10c92cf10747caf4 100644 (file)
@@ -1,8 +1,8 @@
 config ARM
        bool
        default y
-       select ARCH_BINFMT_ELF_RANDOMIZE_PIE
        select ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE
+       select ARCH_HAS_ELF_RANDOMIZE
        select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
        select ARCH_HAVE_CUSTOM_GPIO_H
        select ARCH_HAS_GCOV_PROFILE_ALL
@@ -21,6 +21,7 @@ config ARM
        select GENERIC_IDLE_POLL_SETUP
        select GENERIC_IRQ_PROBE
        select GENERIC_IRQ_SHOW
+       select GENERIC_IRQ_SHOW_LEVEL
        select GENERIC_PCI_IOMAP
        select GENERIC_SCHED_CLOCK
        select GENERIC_SMP_IDLE_THREAD
@@ -286,6 +287,11 @@ config GENERIC_BUG
        def_bool y
        depends on BUG
 
+config PGTABLE_LEVELS
+       int
+       default 3 if ARM_LPAE
+       default 2
+
 source "init/Kconfig"
 
 source "kernel/Kconfig.freezer"
@@ -323,6 +329,20 @@ config ARCH_MULTIPLATFORM
        select SPARSE_IRQ
        select USE_OF
 
+config ARM_SINGLE_ARMV7M
+       bool "ARMv7-M based platforms (Cortex-M0/M3/M4)"
+       depends on !MMU
+       select ARCH_WANT_OPTIONAL_GPIOLIB
+       select ARM_NVIC
+       select AUTO_ZRELADDR
+       select CLKSRC_OF
+       select COMMON_CLK
+       select CPU_V7M
+       select GENERIC_CLOCKEVENTS
+       select NO_IOPORT_MAP
+       select SPARSE_IRQ
+       select USE_OF
+
 config ARCH_REALVIEW
        bool "ARM Ltd. RealView family"
        select ARCH_WANT_OPTIONAL_GPIOLIB
@@ -356,19 +376,6 @@ config ARCH_VERSATILE
        help
          This enables support for ARM Ltd Versatile board.
 
-config ARCH_AT91
-       bool "Atmel AT91"
-       select ARCH_REQUIRE_GPIOLIB
-       select CLKDEV_LOOKUP
-       select IRQ_DOMAIN
-       select NEED_MACH_IO_H if PCCARD
-       select PINCTRL
-       select PINCTRL_AT91
-       select USE_OF
-       help
-         This enables support for systems based on Atmel
-         AT91RM9200, AT91SAM9 and SAMA5 processors.
-
 config ARCH_CLPS711X
        bool "Cirrus Logic CLPS711x/EP721x/EP731x-based"
        select ARCH_REQUIRE_GPIOLIB
@@ -405,24 +412,6 @@ config ARCH_EBSA110
          Ethernet interface, two PCMCIA sockets, two serial ports and a
          parallel port.
 
-config ARCH_EFM32
-       bool "Energy Micro efm32"
-       depends on !MMU
-       select ARCH_REQUIRE_GPIOLIB
-       select ARM_NVIC
-       select AUTO_ZRELADDR
-       select CLKSRC_OF
-       select COMMON_CLK
-       select CPU_V7M
-       select GENERIC_CLOCKEVENTS
-       select NO_DMA
-       select NO_IOPORT_MAP
-       select SPARSE_IRQ
-       select USE_OF
-       help
-         Support for Energy Micro's (now Silicon Labs) efm32 Giant Gecko
-         processors.
-
 config ARCH_EP93XX
        bool "EP93xx-based"
        select ARCH_HAS_HOLES_MEMORYMODEL
@@ -613,6 +602,7 @@ config ARCH_PXA
        select ARCH_REQUIRE_GPIOLIB
        select ARM_CPU_SUSPEND if PM
        select AUTO_ZRELADDR
+       select COMMON_CLK
        select CLKDEV_LOOKUP
        select CLKSRC_MMIO
        select CLKSRC_OF
@@ -626,18 +616,6 @@ config ARCH_PXA
        help
          Support for Intel/Marvell's PXA2xx/PXA3xx processor line.
 
-config ARCH_MSM
-       bool "Qualcomm MSM (non-multiplatform)"
-       select ARCH_REQUIRE_GPIOLIB
-       select COMMON_CLK
-       select GENERIC_CLOCKEVENTS
-       help
-         Support for Qualcomm MSM/QSD based systems.  This runs on the
-         apps processor of the MSM/QSD and depends on a shared memory
-         interface to the modem processor which runs the baseband
-         stack and controls some vital subsystems
-         (clock and power control, etc).
-
 config ARCH_SHMOBILE_LEGACY
        bool "Renesas ARM SoCs (non-multiplatform)"
        select ARCH_SHMOBILE
@@ -647,7 +625,6 @@ config ARCH_SHMOBILE_LEGACY
        select GENERIC_CLOCKEVENTS
        select HAVE_ARM_SCU if SMP
        select HAVE_ARM_TWD if SMP
-       select HAVE_MACH_CLKDEV
        select HAVE_SMP
        select MIGHT_HAVE_CACHE_L2X0
        select MULTI_IRQ_HANDLER
@@ -772,8 +749,10 @@ config ARCH_OMAP1
        select GENERIC_IRQ_CHIP
        select HAVE_IDE
        select IRQ_DOMAIN
+       select MULTI_IRQ_HANDLER
        select NEED_MACH_IO_H if PCCARD
        select NEED_MACH_MEMORY_H
+       select SPARSE_IRQ
        help
          Support for older TI OMAP1 (omap7xx, omap15xx or omap16xx)
 
@@ -845,6 +824,8 @@ config ARCH_VIRT
 #
 source "arch/arm/mach-mvebu/Kconfig"
 
+source "arch/arm/mach-alpine/Kconfig"
+
 source "arch/arm/mach-asm9260/Kconfig"
 
 source "arch/arm/mach-at91/Kconfig"
@@ -891,8 +872,6 @@ source "arch/arm/mach-ks8695/Kconfig"
 
 source "arch/arm/mach-meson/Kconfig"
 
-source "arch/arm/mach-msm/Kconfig"
-
 source "arch/arm/mach-moxart/Kconfig"
 
 source "arch/arm/mach-mv78xx0/Kconfig"
@@ -957,6 +936,8 @@ source "arch/arm/mach-tegra/Kconfig"
 
 source "arch/arm/mach-u300/Kconfig"
 
+source "arch/arm/mach-uniphier/Kconfig"
+
 source "arch/arm/mach-ux500/Kconfig"
 
 source "arch/arm/mach-versatile/Kconfig"
@@ -968,8 +949,39 @@ source "arch/arm/mach-vt8500/Kconfig"
 
 source "arch/arm/mach-w90x900/Kconfig"
 
+source "arch/arm/mach-zx/Kconfig"
+
 source "arch/arm/mach-zynq/Kconfig"
 
+# ARMv7-M architecture
+config ARCH_EFM32
+       bool "Energy Micro efm32"
+       depends on ARM_SINGLE_ARMV7M
+       select ARCH_REQUIRE_GPIOLIB
+       help
+         Support for Energy Micro's (now Silicon Labs) efm32 Giant Gecko
+         processors.
+
+config ARCH_LPC18XX
+       bool "NXP LPC18xx/LPC43xx"
+       depends on ARM_SINGLE_ARMV7M
+       select ARCH_HAS_RESET_CONTROLLER
+       select ARM_AMBA
+       select CLKSRC_LPC32XX
+       select PINCTRL
+       help
+         Support for NXP's LPC18xx Cortex-M3 and LPC43xx Cortex-M4
+         high performance microcontrollers.
+
+config ARCH_STM32
+       bool "STMicrolectronics STM32"
+       depends on ARM_SINGLE_ARMV7M
+       select ARCH_HAS_RESET_CONTROLLER
+       select ARMV7M_SYSTICK
+       select RESET_CONTROLLER
+       help
+         Support for STMicroelectronics STM32 processors.
+
 # Definitions to make life easier
 config ARCH_ACORN
        bool
@@ -1058,7 +1070,7 @@ config ARM_ERRATA_430973
        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
+         r1p* 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
@@ -1127,6 +1139,7 @@ config ARM_ERRATA_742231
 config ARM_ERRATA_643719
        bool "ARM errata: LoUIS bit field in CLIDR register is incorrect"
        depends on CPU_V7 && SMP
+       default y
        help
          This option enables the workaround for the 643719 Cortex-A9 (prior to
          r1p0) erratum. On affected cores the LoUIS bit field of the CLIDR
@@ -1344,7 +1357,7 @@ config SMP
          If you don't know what to do here, say N.
 
 config SMP_ON_UP
-       bool "Allow booting SMP kernel on uniprocessor systems (EXPERIMENTAL)"
+       bool "Allow booting SMP kernel on uniprocessor systems"
        depends on SMP && !XIP_KERNEL && MMU
        default y
        help
@@ -1516,7 +1529,7 @@ config HZ_FIXED
        int
        default 200 if ARCH_EBSA110 || ARCH_S3C24XX || \
                ARCH_S5PV210 || ARCH_EXYNOS4
-       default AT91_TIMER_HZ if ARCH_AT91
+       default 128 if SOC_AT91RM9200
        default SHMOBILE_TIMER_HZ if ARCH_SHMOBILE_LEGACY
        default 0
 
@@ -1849,35 +1862,6 @@ config ZBOOT_ROM
          Say Y here if you intend to execute your compressed kernel image
          (zImage) directly from ROM or flash.  If unsure, say N.
 
-choice
-       prompt "Include SD/MMC loader in zImage (EXPERIMENTAL)"
-       depends on ZBOOT_ROM && ARCH_SH7372
-       default ZBOOT_ROM_NONE
-       help
-         Include experimental SD/MMC loading code in the ROM-able zImage.
-         With this enabled it is possible to write the ROM-able zImage
-         kernel image to an MMC or SD card and boot the kernel straight
-         from the reset vector. At reset the processor Mask ROM will load
-         the first part of the ROM-able zImage which in turn loads the
-         rest the kernel image to RAM.
-
-config ZBOOT_ROM_NONE
-       bool "No SD/MMC loader in zImage (EXPERIMENTAL)"
-       help
-         Do not load image from SD or MMC
-
-config ZBOOT_ROM_MMCIF
-       bool "Include MMCIF loader in zImage (EXPERIMENTAL)"
-       help
-         Load image from MMCIF hardware block.
-
-config ZBOOT_ROM_SH_MOBILE_SDHI
-       bool "Include SuperH Mobile SDHI loader in zImage (EXPERIMENTAL)"
-       help
-         Load image from SDHI hardware block
-
-endchoice
-
 config ARM_APPENDED_DTB
        bool "Use appended device tree blob to zImage (EXPERIMENTAL)"
        depends on OF
@@ -2126,16 +2110,6 @@ menu "Userspace binary formats"
 
 source "fs/Kconfig.binfmt"
 
-config ARTHUR
-       tristate "RISC OS personality"
-       depends on !AEABI
-       help
-         Say Y here to include the kernel code necessary if you want to run
-         Acorn RISC OS/Arthur binaries under Linux. This code is still very
-         experimental; if this sounds frightening, say N and sleep in peace.
-         You can also say M here to compile this support as a module (which
-         will be called arthur).
-
 endmenu
 
 menu "Power management options"
@@ -2161,6 +2135,8 @@ source "net/Kconfig"
 
 source "drivers/Kconfig"
 
+source "drivers/firmware/Kconfig"
+
 source "fs/Kconfig"
 
 source "arch/arm/Kconfig.debug"
@@ -2168,6 +2144,9 @@ source "arch/arm/Kconfig.debug"
 source "security/Kconfig"
 
 source "crypto/Kconfig"
+if CRYPTO
+source "arch/arm/crypto/Kconfig"
+endif
 
 source "lib/Kconfig"