[PATCH v2 00/12] ARM: vf610m4: Add Vybrid Cortex-M4 support

From: Stefan Agner
Date: Mon Dec 29 2014 - 18:35:47 EST


This version of the patchset does not contain the interrupt router
driver anymore (MSCM). The driver has been sent in a seperate
patchset with GIC (Cortex-A5) support only:
https://lkml.org/lkml/2014/12/16/454

This patchset extends the NVIC driver to support irq domain
hierarchy and the MSCM driver to support NVIC as a parent irq
controller.

I'm happy with the outcome of the MSCM driver, the irq domain
hierarchy support has proven to work with GIC and NVIC as
intendet.

This version also does not add any new architecture or SoC anymore.
Instead, it allows to select ARCH_MULTIPLATFORM in the !MMU case
and add ARCH_MULTI_V7M as a new CPU choice. This change is based
on patches found in Arnd's git tree, however, it tries to allow
MULTIPLATFORM with !MMU in a way which should not allow to make
other selections than before (except ARCH_MULTI_V7M of course).
This makes ARCH_MXC and SOC_VF610 available for the !MMU CPU V7M.
With a small change, SOC_VF610 is now useable for the Cortex-M4
CPU too.

The patchset has proven to be working on the Cortex-A5 as well as
on the Cortex-M4 of the Vybrid SoC.

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

Arnd Bergmann (1):
ARM: efm32: move into multiplatform

Stefan Agner (11):
genirq: generic chip: support hierarchy domain
irqchip: nvic: support hierarchy irq domain
irqchip: vf610-mscm: support NVIC parent
irqchip: nvic: increase number of external interrupts to 112
clocksource: add dependencies for Vybrid pit clocksource
ARM: unify MMU/!MMU addruart calls
ARM: imx: depend MXC debug board on 3DS machines
ARM: allow MULTIPLATFORM with !MMU
ARM: vf610: enable Cortex-M4 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 | 56 +++++++++++++--------------
arch/arm/boot/dts/Makefile | 1 +
arch/arm/boot/dts/vf610m4-colibri.dts | 52 +++++++++++++++++++++++++
arch/arm/boot/dts/vf610m4.dtsi | 10 +++++
arch/arm/configs/efm32_defconfig | 2 +
arch/arm/configs/vf610m4_defconfig | 53 +++++++++++++++++++++++++
arch/arm/include/debug/efm32.S | 2 +-
arch/arm/kernel/debug.S | 2 +-
arch/arm/kernel/entry-v7m.S | 8 ++--
arch/arm/mach-imx/Kconfig | 37 +++++++++++-------
arch/arm/mach-imx/Makefile.boot | 0
arch/arm/mach-imx/mach-vf610.c | 1 +
drivers/clocksource/Kconfig | 2 +
drivers/irqchip/irq-nvic.c | 37 +++++++++++++++++-
drivers/irqchip/irq-vf610-mscm.c | 31 ++++++++++++---
kernel/irq/generic-chip.c | 5 +--
17 files changed, 243 insertions(+), 59 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.2.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/