From: stefan@agner.ch (Stefan Agner)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v5 00/11] ARM: vf610m4: Add Vybrid Cortex-M4 support
Date: Thu, 9 Apr 2015 22:04:04 +0200 [thread overview]
Message-ID: <1428609855-27657-1-git-send-email-stefan@agner.ch> (raw)
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
next reply other threads:[~2015-04-09 20:04 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-04-09 20:04 Stefan Agner [this message]
2015-04-09 20:04 ` [PATCH v5 01/11] genirq: generic chip: support hierarchy domain Stefan Agner
2015-04-09 20:04 ` [PATCH v5 02/11] irqchip: nvic: support hierarchy irq domain Stefan Agner
2015-04-09 20:04 ` [PATCH v5 03/11] irqchip: vf610-mscm: support NVIC parent Stefan Agner
2015-04-09 20:04 ` [PATCH v5 04/11] ARM: ARMv7M: define size of vector table for Vybrid Stefan Agner
2015-04-09 20:04 ` [PATCH v5 05/11] clocksource: add dependencies for Vybrid pit clocksource Stefan Agner
2015-04-09 20:04 ` [PATCH v5 06/11] ARM: unify MMU/!MMU addruart calls Stefan Agner
2015-04-09 20:04 ` [PATCH v5 07/11] ARM: introduce ARM_SINGLE_ARMV7M for ARMv7-M platforms Stefan Agner
2015-04-09 20:04 ` [PATCH v5 08/11] ARM: efm32: use ARM_SINGLE_ARMV7M Stefan Agner
2015-04-09 20:04 ` [PATCH v5 09/11] ARM: vf610: enable Cortex-M4 configuration on Vybrid SoC Stefan Agner
2015-04-10 17:54 ` Paul Bolle
2015-04-09 20:04 ` [PATCH v5 10/11] ARM: dts: add support for Vybrid running on Cortex-M4 Stefan Agner
2015-04-09 20:04 ` [PATCH v5 11/11] ARM: vf610m4: add defconfig for Linux on Vybrids Cortex-M4 Stefan Agner
2015-04-10 8:50 ` [PATCH v5 00/11] ARM: vf610m4: Add Vybrid Cortex-M4 support Maxime Coquelin
2015-04-11 0:13 ` Jason Cooper
2015-04-13 23:27 ` Arnd Bergmann
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=1428609855-27657-1-git-send-email-stefan@agner.ch \
--to=stefan@agner.ch \
--cc=linux-arm-kernel@lists.infradead.org \
/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).