From patchwork Fri Apr 4 00:45:50 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alex Elder X-Patchwork-Id: 3935201 Return-Path: X-Original-To: patchwork-linux-arm@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork2.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.19.201]) by patchwork2.web.kernel.org (Postfix) with ESMTP id 9F1B9BFF02 for ; Fri, 4 Apr 2014 00:46:13 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id BB74C202F8 for ; Fri, 4 Apr 2014 00:46:12 +0000 (UTC) Received: from casper.infradead.org (casper.infradead.org [85.118.1.10]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id A3638202A7 for ; Fri, 4 Apr 2014 00:46:11 +0000 (UTC) Received: from merlin.infradead.org ([2001:4978:20e::2]) by casper.infradead.org with esmtps (Exim 4.80.1 #2 (Red Hat Linux)) id 1WVsGU-0006xn-Tn; Fri, 04 Apr 2014 00:45:51 +0000 Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.80.1 #2 (Red Hat Linux)) id 1WVsGS-0002SD-FE; Fri, 04 Apr 2014 00:45:48 +0000 Received: from mail-ig0-f182.google.com ([209.85.213.182]) by merlin.infradead.org with esmtps (Exim 4.80.1 #2 (Red Hat Linux)) id 1WVsGP-0002RU-WD for linux-arm-kernel@lists.infradead.org; Fri, 04 Apr 2014 00:45:46 +0000 Received: by mail-ig0-f182.google.com with SMTP id uy17so308297igb.9 for ; Thu, 03 Apr 2014 17:45:24 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=JllSGWFXK/1B2lj2190ASxnAOwxcMrxf80m2yfp9iPg=; b=MbxpW50I2aejQZpomzme1zJrIPl7yypKTqLj5b4QcyT5i3b61IKWjork+fS1kjRuN/ OEtFyMvomsjVktBdU3UDfOcM4TaE1qOJhnvAoXTIWlTglcxdETBAKqrF71PTm0L6a7LI Fb4LFe/mqPZwO/8bu/dd4Q7BouRMat1taNwtcUR2u6Ew0JSx1eu2wckUdXSuxtggptkz BoqgTBDxn4zxyTnLD6D/CPc8GMVCYB15WQ8lEVk7hnlukdFbuYesAyGUIYJUvOvrHg/6 0W99bxao8fyMjYOCyi7pprcQXy0RUT9DWVB7oYBEJ3DdUWk25RczZQeFkZnS7W58QtXK jApA== X-Gm-Message-State: ALoCoQlCQy0+SF9A0i1QvLVfLpajXedYjsuDLuIMqZw0is0R1NhcnlMBJvQVqSAZ0X/k60mk09uW X-Received: by 10.51.15.225 with SMTP id fr1mr29983igd.5.1396572324538; Thu, 03 Apr 2014 17:45:24 -0700 (PDT) Received: from localhost.localdomain (c-71-195-31-37.hsd1.mn.comcast.net. [71.195.31.37]) by mx.google.com with ESMTPSA id gd5sm1840713igd.5.2014.04.03.17.45.23 for (version=TLSv1.1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Thu, 03 Apr 2014 17:45:23 -0700 (PDT) From: Alex Elder To: bcm@fixthebug.org, mporter@linaro.org Subject: [PATCH v3] mach-bcm: clean up config and build targets Date: Thu, 3 Apr 2014 19:45:50 -0500 Message-Id: <1396572350-10728-1-git-send-email-elder@linaro.org> X-Mailer: git-send-email 1.7.9.5 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20140403_204546_079537_C46B73C1 X-CRM114-Status: GOOD ( 11.76 ) X-Spam-Score: -2.6 (--) Cc: bcm-kernel-feedback-list@broadcom.com, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Spam-Status: No, score=-4.8 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_MED, RP_MATCHES_RCVD, UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP 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 --- v3: SMC and L2 cache code is needed by both SoC families. v2: No longer uses Kbuild's $(-y) variable mechanism. Note: This patch is based on the current arm-soc/for-next branch: e98cd72 arm-soc: document samsung merges The patch is available here: http://git.linaro.org/landing-teams/working/broadcom/kernel.git Branch review/mach-bcm-cleanup-v3 arch/arm/mach-bcm/Kconfig | 28 ++++++++++++++++++++++++---- arch/arm/mach-bcm/Makefile | 17 +++++++++++++---- 2 files changed, 37 insertions(+), 8 deletions(-) diff --git a/arch/arm/mach-bcm/Kconfig b/arch/arm/mach-bcm/Kconfig index 21f97f7..183fdef 100644 --- a/arch/arm/mach-bcm/Kconfig +++ b/arch/arm/mach-bcm/Kconfig @@ -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 diff --git a/arch/arm/mach-bcm/Makefile b/arch/arm/mach-bcm/Makefile index a326b28..b2279e3 100644 --- a/arch/arm/mach-bcm/Makefile +++ b/arch/arm/mach-bcm/Makefile @@ -10,10 +10,19 @@ # 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 plus_sec := $(call as-instr,.arch_extension sec,+sec) + +# 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 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