ARM: bcm: clean up config and build targets
authorAlex Elder <elder@linaro.org>
Tue, 15 Apr 2014 12:37:19 +0000 (07:37 -0500)
committerMatt Porter <mporter@linaro.org>
Fri, 25 Apr 2014 12:51:30 +0000 (08:51 -0400)
Currently CONFIG_ARCH_BCM_MOBILE is used to select all (both)
Broadcom mobile SoC families.  Instead, use that only as a config
menu switch, and define specific symbols like ARCH_BCM_281XX to
select a particular SoC family.  If ARCH_BCM_MOBILE is selected, all
of the SoCs will be selected by default, but this way each can be
disabled individually as well.

Note that BCM281xx and BCM21664 both require the SMC and L2 cache
control code, so that code will be built based on ARCH_BCM_MOBILE.

Signed-off-by: Alex Elder <elder@linaro.org>
[mporter: added ARM: to the description]
Signed-off-by: Matt Porter <mporter@linaro.org>
arch/arm/mach-bcm/Kconfig
arch/arm/mach-bcm/Makefile

index 49c914cd9c7a9c83159475a33c4a4a9961b7f4a9..5f5740fc334f647a67acc66820fc40472cb636d3 100644 (file)
@@ -10,7 +10,7 @@ if ARCH_BCM
 menu "Broadcom SoC Selection"
 
 config ARCH_BCM_MOBILE
-       bool "Broadcom Mobile SoC" if ARCH_MULTI_V7
+       bool "Broadcom Mobile SoC Support" if ARCH_MULTI_V7
        depends on MMU
        select ARCH_REQUIRE_GPIOLIB
        select ARM_ERRATA_754322
@@ -23,9 +23,29 @@ config ARCH_BCM_MOBILE
        select PINCTRL
        help
          This enables support for systems based on Broadcom mobile SoCs.
-         It currently supports the 'BCM281XX' family, which includes
-         BCM11130, BCM11140, BCM11351, BCM28145 and
-         BCM28155 variants.
+
+if ARCH_BCM_MOBILE
+
+menu "Broadcom Mobile SoC Selection"
+
+config ARCH_BCM_281XX
+       bool "Broadcom BCM281XX SoC family"
+       default y
+       help
+         Enable support for the the BCM281XX family, which includes
+         BCM11130, BCM11140, BCM11351, BCM28145 and BCM28155
+         variants.
+
+config ARCH_BCM_21664
+       bool "Broadcom BCM21664 SoC family"
+       default y
+       help
+         Enable support for the the BCM21664 family, which includes
+         BCM21663 and BCM21664 variants.
+
+endmenu
+
+endif
 
 config ARCH_BCM2835
        bool "Broadcom BCM2835 family" if ARCH_MULTI_V6
index a326b28c44064656b69f67f20ce721a9e5192169..7fb9b04022040b142c39edc90bed80f316d9a087 100644 (file)
 # of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 # GNU General Public License for more details.
 
-obj-$(CONFIG_ARCH_BCM_MOBILE)  := board_bcm281xx.o board_bcm21664.o \
-                               bcm_kona_smc.o bcm_kona_smc_asm.o kona.o
-obj-$(CONFIG_ARCH_BCM2835)     += board_bcm2835.o
+# BCM281XX
+obj-$(CONFIG_ARCH_BCM_281XX)   += board_bcm281xx.o
+
+# BCM21664
+obj-$(CONFIG_ARCH_BCM_21664)   += board_bcm21664.o
 
+# BCM281XX and BCM21664 L2 cache control
+obj-$(CONFIG_ARCH_BCM_MOBILE)  += bcm_kona_smc.o bcm_kona_smc_asm.o kona.o
 plus_sec := $(call as-instr,.arch_extension sec,+sec)
 AFLAGS_bcm_kona_smc_asm.o      :=-Wa,-march=armv7-a$(plus_sec)
+
+# BCM2835
+obj-$(CONFIG_ARCH_BCM2835)     += board_bcm2835.o
+
+# BCM5301X
 obj-$(CONFIG_ARCH_BCM_5301X)   += bcm_5301x.o