Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933673AbbDIUEb (ORCPT ); Thu, 9 Apr 2015 16:04:31 -0400 Received: from mail.kmu-office.ch ([178.209.48.109]:51314 "EHLO mail.kmu-office.ch" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933018AbbDIUEW (ORCPT ); Thu, 9 Apr 2015 16:04:22 -0400 From: Stefan Agner 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, mcoquelin.stm32@gmail.com Cc: devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Stefan Agner Subject: [PATCH v5 00/11] ARM: vf610m4: Add Vybrid Cortex-M4 support Date: Thu, 9 Apr 2015 22:04:04 +0200 Message-Id: <1428609855-27657-1-git-send-email-stefan@agner.ch> X-Mailer: git-send-email 2.3.5 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 5199 Lines: 121 In this fifth revision the patchset moves away from the idea including ARMv7-M platforms into ARCH_MULTIPLATFORM, but instead adds a new top-level config symbol ARM_SINGLE_ARMV7M Patch 7 adds this new config symbol while patch 8 alters the existing ARMv7-M platform ARCH_EFM32 to use ARM_SINGLE_ARMV7M. I chose to move the config symbol of the ARMv7-M specific architectures (ARCH_EFM32 at that point) below the multiarch includes. I think it is a good idea to keep them together, but I'm not sure if this is an appropriate place. The architecture which Vybrid is depending on, ARCH_MXC, is not also selectable when ARM_SINGLE_ARMV7M is selected. Since v3, this patchset does not contain the interrupt router driver anymore (MSCM IR). The driver has been merged inbetween: https://lkml.org/lkml/2015/3/8/6 This patchset extends the NVIC driver to support irq domain hierarchy and the MSCM IR driver to support NVIC as a parent irq controller. The patchset has proven to be working on the Cortex-M4 of the Vybrid SoC using a Colibri VF61 module. Note: This patchset has dependencies on "ARM: ARMv7-M: Enlarge vector table up to 256 entries" (Maxime Coquelin) and the "irqchip: vf610-mscm: add MSCM interrupt router driver" patch- set (lined up for next in Jason Cooper's irqchip git tree). Changes since v4: - Added ARM_SINGLE_ARMV7M as top-level config symbol for ARMv7-M architectures - Cleaned up unnecessary selects within SOC_VF610 - Added linux,stdout-path to device tree Changes since v3: - Added dependency IRQ_DOMAIN_HIERARCHY for ARM_NVIC - Fix MSCM IR disable function check - Remove "ARM: imx: depend MXC debug board on 3DS machines", the patch has been merged Changes since v2: - Update MSCM patches to merged version of MSCM interrupt router - Use the GPLv2/X11 dual license in the new device tree files - Drop SD controller in device tree (initramfs works now and is probably more appropriate for most cases) - Disable GPIO nodes since the A5 is using them - Drop CONFIG_ prefixes in Kconfig changes for MXC_DEBUG_BOARD - Drop vector table resizing in favor of Maxime Coquelin's patch (https://lkml.org/lkml/2015/2/20/399) - Remove !MMU dependency for ARCH_EFM32 since its part of ARCH_MULTI_V7M - Rebased on v4.0-rc1 Changes since v1: - Remove MSCM driver - Support irq domain hierarchy with NVIC irq controller - Extend MSCM interrupt router with NVIC as parent in the irq domain hierarchy - Rebased on v3.19-rc1 with MSCM driver - NVIC: Register only the amount of IRQ's which vectors are available for Changes since RFC: - Unified addruart calls for MMU/!MMU - Add MSCM support along with routable IRQ support in NVIC - Rebased on Shawns for-next tree which made some changes obsolete (mainly the Vybrid SoC device tree files in for-next are already prepared for Cortex-M4 support) - Removed SRC_GPR3 hack, this is now part of a mini boot-loader: https://github.com/falstaff84/vf610m4bootldr *** SUBJECT HERE *** *** BLURB HERE *** Stefan Agner (11): genirq: generic chip: support hierarchy domain irqchip: nvic: support hierarchy irq domain irqchip: vf610-mscm: support NVIC parent ARM: ARMv7M: define size of vector table for Vybrid clocksource: add dependencies for Vybrid pit clocksource ARM: unify MMU/!MMU addruart calls ARM: introduce ARM_SINGLE_ARMV7M for ARMv7-M platforms ARM: efm32: use ARM_SINGLE_ARMV7M ARM: vf610: enable Cortex-M4 configuration on Vybrid SoC ARM: dts: add support for Vybrid running on Cortex-M4 ARM: vf610m4: add defconfig for Linux on Vybrids Cortex-M4 Documentation/devicetree/bindings/arm/fsl.txt | 3 + arch/arm/Kconfig | 41 ++++++----- arch/arm/Kconfig.debug | 2 +- arch/arm/boot/dts/Makefile | 1 + arch/arm/boot/dts/vf610m4-colibri.dts | 99 +++++++++++++++++++++++++++ arch/arm/boot/dts/vf610m4.dtsi | 50 ++++++++++++++ arch/arm/configs/efm32_defconfig | 1 + arch/arm/configs/vf610m4_defconfig | 42 ++++++++++++ arch/arm/include/debug/efm32.S | 2 +- arch/arm/kernel/debug.S | 2 +- arch/arm/mach-imx/Kconfig | 38 ++++++---- arch/arm/mach-imx/Makefile.boot | 0 arch/arm/mach-imx/mach-vf610.c | 1 + arch/arm/mm/Kconfig | 1 + drivers/clocksource/Kconfig | 2 + drivers/irqchip/Kconfig | 1 + drivers/irqchip/irq-nvic.c | 28 +++++++- drivers/irqchip/irq-vf610-mscm-ir.c | 32 +++++++-- kernel/irq/generic-chip.c | 5 +- 19 files changed, 305 insertions(+), 46 deletions(-) create mode 100644 arch/arm/boot/dts/vf610m4-colibri.dts create mode 100644 arch/arm/boot/dts/vf610m4.dtsi create mode 100644 arch/arm/configs/vf610m4_defconfig create mode 100644 arch/arm/mach-imx/Makefile.boot -- 2.3.5 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/