devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Stefan Agner <stefan@agner.ch>
To: shawn.guo@linaro.org, kernel@pengutronix.de,
	linux@arm.linux.org.uk, u.kleine-koenig@pengutronix.de,
	jason@lakedaemon.net, olof@lixom.net, arnd@arndb.de,
	daniel.lezcano@linaro.org, tglx@linutronix.de,
	mark.rutland@arm.com, pawel.moll@arm.com, robh+dt@kernel.org,
	ijc+devicetree@hellion.org.uk, galak@codeaurora.org,
	marc.zyngier@arm.com
Cc: devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org, Stefan Agner <stefan@agner.ch>
Subject: [PATCH v2 09/12] ARM: efm32: move into multiplatform
Date: Tue, 30 Dec 2014 00:32:12 +0100	[thread overview]
Message-ID: <1419895935-22966-10-git-send-email-stefan@agner.ch> (raw)
In-Reply-To: <1419895935-22966-1-git-send-email-stefan@agner.ch>

From: Arnd Bergmann <arnd@arndb.de>

Since the multiplatform configuration can support no-MMU kernels now,
there is nothing stopping us from moving the efm32 platform in there
as well. This introduces a new ARCH_MULTI_V7M CPU architecture selection
option, since v7-M is incompatible with v7-A, and we can have either
of the two enabled for multiplatform, but not both at the same time.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Stefan Agner <stefan@agner.ch>
---
 arch/arm/Kconfig                 | 35 ++++++++++++++++-------------------
 arch/arm/configs/efm32_defconfig |  2 ++
 2 files changed, 18 insertions(+), 19 deletions(-)

diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 95007b9..8fe035b 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -314,7 +314,7 @@ config ARCH_MULTIPLATFORM
 	select COMMON_CLK
 	select GENERIC_CLOCKEVENTS
 	select MIGHT_HAVE_PCI
-	select MULTI_IRQ_HANDLER
+	select MULTI_IRQ_HANDLER if !ARCH_MULTI_V7M
 	select SPARSE_IRQ
 	select USE_OF
 
@@ -400,24 +400,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
@@ -778,6 +760,14 @@ menu "Multiple platform selection"
 
 comment "CPU Core family selection"
 
+config ARCH_MULTI_V7M
+	bool "ARMv7-M based platforms (Cortex-M)"
+	depends on !MMU && !(ARCH_MULTI_V4_V5 || ARCH_MULTI_V6_V7)
+	select CPU_V7M
+	select ARM_NVIC
+	select NO_DMA # for now
+	select NO_IOPORT_MAP # for now
+
 config ARCH_MULTI_V4
 	bool "ARMv4 based platforms (FA526)"
 	depends on !ARCH_MULTI_V6_V7 && MMU
@@ -834,6 +824,13 @@ config ARCH_VIRT
 	select ARM_PSCI
 	select HAVE_ARM_ARCH_TIMER
 
+config ARCH_EFM32
+	bool "Energy Micro efm32" if ARCH_MULTI_V7M
+	depends on !MMU
+	help
+	  Support for Energy Micro's (now Silicon Labs) efm32 Giant Gecko
+	  processors.
+
 #
 # This is sorted alphabetically by mach-* pathname.  However, plat-*
 # Kconfigs may be included either alphabetically (according to the
diff --git a/arch/arm/configs/efm32_defconfig b/arch/arm/configs/efm32_defconfig
index f59fffb..7bd2486 100644
--- a/arch/arm/configs/efm32_defconfig
+++ b/arch/arm/configs/efm32_defconfig
@@ -16,6 +16,8 @@ CONFIG_EMBEDDED=y
 # CONFIG_IOSCHED_DEADLINE is not set
 # CONFIG_IOSCHED_CFQ is not set
 # CONFIG_MMU is not set
+# CONFIG_ARCH_MULTI_V7 is not set
+CONFIG_ARCH_MULTI_V7M=y
 CONFIG_ARCH_EFM32=y
 # CONFIG_KUSER_HELPERS is not set
 CONFIG_SET_MEM_PARAM=y
-- 
2.2.1

  parent reply	other threads:[~2014-12-29 23:32 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-12-29 23:32 [PATCH v2 00/12] ARM: vf610m4: Add Vybrid Cortex-M4 support Stefan Agner
2014-12-29 23:32 ` [PATCH v2 02/12] irqchip: nvic: support hierarchy irq domain Stefan Agner
2014-12-29 23:32 ` [PATCH v2 03/12] irqchip: vf610-mscm: support NVIC parent Stefan Agner
2014-12-29 23:32 ` [PATCH v2 04/12] irqchip: nvic: increase number of external interrupts to 112 Stefan Agner
2014-12-29 23:32 ` [PATCH v2 05/12] clocksource: add dependencies for Vybrid pit clocksource Stefan Agner
2014-12-29 23:32 ` [PATCH v2 06/12] ARM: unify MMU/!MMU addruart calls Stefan Agner
2014-12-29 23:32 ` [PATCH v2 07/12] ARM: imx: depend MXC debug board on 3DS machines Stefan Agner
2014-12-30 10:42   ` Sergei Shtylyov
2014-12-29 23:32 ` [PATCH v2 08/12] ARM: allow MULTIPLATFORM with !MMU Stefan Agner
2014-12-30 21:42   ` Rob Herring
     [not found]     ` <CAL_JsqK94Pk2xPF1MMX0GU0CQEiwiDD2qv9v3k4WLg2znDVjgA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-12-30 22:02       ` Stefan Agner
     [not found]         ` <8ec6bcf0fe2ec13898cf6c259d9da559-XLVq0VzYD2Y@public.gmane.org>
2014-12-30 22:27           ` Arnd Bergmann
2014-12-29 23:32 ` Stefan Agner [this message]
     [not found]   ` <1419895935-22966-10-git-send-email-stefan-XLVq0VzYD2Y@public.gmane.org>
2015-01-02  9:50     ` [PATCH v2 09/12] ARM: efm32: move into multiplatform Uwe Kleine-König
2014-12-29 23:32 ` [PATCH v2 10/12] ARM: vf610: enable Cortex-M4 on Vybrid SoC Stefan Agner
2014-12-29 23:32 ` [PATCH v2 11/12] ARM: dts: add support for Vybrid running on Cortex-M4 Stefan Agner
     [not found] ` <1419895935-22966-1-git-send-email-stefan-XLVq0VzYD2Y@public.gmane.org>
2014-12-29 23:32   ` [PATCH v2 01/12] genirq: generic chip: support hierarchy domain Stefan Agner
2014-12-29 23:32   ` [PATCH v2 12/12] ARM: vf610m4: add defconfig for Linux on Vybrids Cortex-M4 Stefan Agner

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1419895935-22966-10-git-send-email-stefan@agner.ch \
    --to=stefan@agner.ch \
    --cc=arnd@arndb.de \
    --cc=daniel.lezcano@linaro.org \
    --cc=devicetree@vger.kernel.org \
    --cc=galak@codeaurora.org \
    --cc=ijc+devicetree@hellion.org.uk \
    --cc=jason@lakedaemon.net \
    --cc=kernel@pengutronix.de \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@arm.linux.org.uk \
    --cc=marc.zyngier@arm.com \
    --cc=mark.rutland@arm.com \
    --cc=olof@lixom.net \
    --cc=pawel.moll@arm.com \
    --cc=robh+dt@kernel.org \
    --cc=shawn.guo@linaro.org \
    --cc=tglx@linutronix.de \
    --cc=u.kleine-koenig@pengutronix.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).