]> Pileus Git - ~andy/linux/commitdiff
ARM: spear: use multiplatform configuration options.
authorArnd Bergmann <arnd@arndb.de>
Thu, 6 Dec 2012 13:51:56 +0000 (14:51 +0100)
committerArnd Bergmann <arnd@arndb.de>
Tue, 12 Mar 2013 16:40:14 +0000 (17:40 +0100)
The spear platform is now multiplatform capable in principle,
and everything still builds when enabled. This slightly rearranges
the Kconfig options for spear to enable both single- and multiplatform
support. As a side-effect, even building the single spear kernel
can now enable spear3xx and spear6xx simultaneously, although
not together with spear13xx, because they are a different archicture
version (v7 instead of v5).

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
arch/arm/Kconfig
arch/arm/configs/spear3xx_defconfig
arch/arm/configs/spear6xx_defconfig
arch/arm/mach-spear/Kconfig
arch/arm/mach-spear/Makefile

index 4d2b1cf0593162b23e715bcee2b0918819424315..4b82c7bbef864781d46380bfb7287d496707aaf2 100644 (file)
@@ -933,16 +933,8 @@ config ARCH_NOMADIK
        help
          Support for the Nomadik platform by ST-Ericsson
 
-config PLAT_SPEAR
+config PLAT_SPEAR_SINGLE
        bool "ST SPEAr"
-       select ARCH_HAS_CPUFREQ
-       select ARCH_REQUIRE_GPIOLIB
-       select ARM_AMBA
-       select CLKDEV_LOOKUP
-       select CLKSRC_MMIO
-       select COMMON_CLK
-       select GENERIC_CLOCKEVENTS
-       select HAVE_CLK
        help
          Support for ST's SPEAr platform (SPEAr3xx, SPEAr6xx and SPEAr13xx).
 
index 865980c5f21288115315a238900934c7cc50dc22..7ff23a077f5d1bf0c5e0bc9ccbede7fe4c80f3a3 100644 (file)
@@ -6,7 +6,9 @@ CONFIG_MODULES=y
 CONFIG_MODULE_UNLOAD=y
 CONFIG_MODVERSIONS=y
 CONFIG_PARTITION_ADVANCED=y
+# CONFIG_ARCH_MULTI_V7 is not set
 CONFIG_PLAT_SPEAR=y
+CONFIG_ARCH_SPEAR3XX=y
 CONFIG_MACH_SPEAR300=y
 CONFIG_MACH_SPEAR310=y
 CONFIG_MACH_SPEAR320=y
index a2a1265f86b63fd06aee7ce9a87e697835338bef..7822980d7d555ac293d0db693ea65556aacee4bc 100644 (file)
@@ -6,6 +6,7 @@ CONFIG_MODULES=y
 CONFIG_MODULE_UNLOAD=y
 CONFIG_MODVERSIONS=y
 CONFIG_PARTITION_ADVANCED=y
+# CONFIG_ARCH_MULTI_V7 is not set
 CONFIG_PLAT_SPEAR=y
 CONFIG_ARCH_SPEAR6XX=y
 CONFIG_BINFMT_MISC=y
index e288df90c7465c801706200629b0e41c87c307ec..4c52ee2b77dc51d8654430b50815d71cc9ee5987 100644 (file)
@@ -2,14 +2,22 @@
 # SPEAr Platform configuration file
 #
 
-if PLAT_SPEAR
+menuconfig PLAT_SPEAR
+       bool "ST SPEAr Family" if ARCH_MULTI_V7 || ARCH_MULTI_V5
+       default PLAT_SPEAR_SINGLE
+       select ARCH_REQUIRE_GPIOLIB
+       select ARM_AMBA
+       select CLKDEV_LOOKUP
+       select CLKSRC_MMIO
+       select COMMON_CLK
+       select GENERIC_CLOCKEVENTS
+       select HAVE_CLK
 
-choice
-       prompt "ST SPEAr Family"
-       default ARCH_SPEAR3XX
+if PLAT_SPEAR
 
 config ARCH_SPEAR13XX
-       bool "ST SPEAr13xx with Device Tree"
+       bool "ST SPEAr13xx"
+       depends on ARCH_MULTI_V7 || PLAT_SPEAR_SINGLE
        select ARCH_HAVE_CPUFREQ
        select ARM_GIC
        select CPU_V7
@@ -21,27 +29,8 @@ config ARCH_SPEAR13XX
        help
          Supports for ARM's SPEAR13XX family
 
-config ARCH_SPEAR3XX
-       bool "ST SPEAr3xx with Device Tree"
-       select ARM_VIC
-       select CPU_ARM926T
-       select PINCTRL
-       select USE_OF
-       help
-         Supports for ARM's SPEAR3XX family
-
-config ARCH_SPEAR6XX
-       bool "SPEAr6XX"
-       select ARM_VIC
-       select CPU_ARM926T
-       help
-         Supports for ARM's SPEAR6XX family
-
-endchoice
-
 if ARCH_SPEAR13XX
 
-menu "SPEAr13xx Implementations"
 config MACH_SPEAR1310
        bool "SPEAr1310 Machine support with Device Tree"
        select PINCTRL_SPEAR1310
@@ -53,12 +42,22 @@ config MACH_SPEAR1340
        select PINCTRL_SPEAR1340
        help
          Supports ST SPEAr1340 machine configured via the device-tree
-endmenu
+
 endif #ARCH_SPEAR13XX
 
+config ARCH_SPEAR3XX
+       bool "ST SPEAr3xx"
+       depends on ARCH_MULTI_V5 || PLAT_SPEAR_SINGLE
+       depends on !ARCH_SPEAR13XX
+       select ARM_VIC
+       select CPU_ARM926T
+       select PINCTRL
+       select USE_OF
+       help
+         Supports for ARM's SPEAR3XX family
+
 if ARCH_SPEAR3XX
 
-menu "SPEAr3xx Implementations"
 config MACH_SPEAR300
        bool "SPEAr300 Machine support with Device Tree"
        select PINCTRL_SPEAR300
@@ -76,10 +75,18 @@ config MACH_SPEAR320
        select PINCTRL_SPEAR320
        help
          Supports ST SPEAr320 machine configured via the device-tree
-endmenu
 
 endif
 
+config ARCH_SPEAR6XX
+       bool "ST SPEAr6XX"
+       depends on ARCH_MULTI_V5 || PLAT_SPEAR_SINGLE
+       depends on !ARCH_SPEAR13XX
+       select ARM_VIC
+       select CPU_ARM926T
+       help
+         Supports for ARM's SPEAR6XX family
+
 config MACH_SPEAR600
        def_bool y
        depends on ARCH_SPEAR6XX
@@ -87,4 +94,10 @@ config MACH_SPEAR600
        help
          Supports ST SPEAr600 boards configured via the device-treesource "arch/arm/mach-spear6xx/Kconfig"
 
+config ARCH_SPEAR_AUTO
+       def_bool PLAT_SPEAR_SINGLE
+       depends on !ARCH_SPEAR13XX && !ARCH_SPEAR6XX
+       select ARCH_SPEAR3XX
+
 endif
+
index 8a937bff9d81fd61d0d10a68507464055da46dff..dc9ce80508ad1642899b4476c882d8b793cf2327 100644 (file)
@@ -2,6 +2,8 @@
 # SPEAr Platform specific Makefile
 #
 
+ccflags-$(CONFIG_ARCH_MULTIPLATFORM) := -I$(srctree)/$(src)/include
+
 # Common support
 obj-y  := restart.o time.o