linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Stefan Agner <stefan@agner.ch>
To: shawn.guo@linaro.org, kernel@pengutronix.de, jason@lakedaemon.net
Cc: marc.zyngier@arm.com, linux@arm.linux.org.uk,
	u.kleine-koenig@pengutronix.de, 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,
	mcoquelin.stm32@gmail.com, devicetree@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org, Stefan Agner <stefan@agner.ch>
Subject: [PATCH v7 00/13] ARM: vf610m4: Add Vybrid Cortex-M4 support
Date: Sat, 16 May 2015 11:44:12 +0200	[thread overview]
Message-ID: <1431769465-26867-1-git-send-email-stefan@agner.ch> (raw)

Beside the additional helper irq_chip_(enable|disable)_parent
I also cleaned up Kconfig.debug by adding ARM_SINGLE_ARMV7M as
UNCOMPRESS_INCLUDE/DEBUG_UNCOMPRESS dependencies. This avoids
that each ARMv7-M ARCH_/SOC_ needs to be added.

Shawn, if ok, could you pickup that patchset as Arnd suggested?
I guess the IRQ stuff still should go through Jason's tree
directly (Patch 1-5)?

The patchset has proven to be working on the Cortex-M4 of the
Vybrid SoC using a Colibri VF61 module.

Note: The patch "ARM: ARMv7M: define size of vector table for
Vybrid" has a dependency on "ARM: ARMv7-M: Enlarge vector table
up to 256 entries" (Maxime Coquelin), which is in Russels patch
system (marked as applied, see 8340/1). However, since the
vector table defaults to 240 with that patch, defining the size
of the vector table for Vybrid is not absolutely required.
Therefor patch 6 can also be applied at a later point in time...

Changes since v6:
- Add genirq irq_chip_(enable|disable)_parent helper
- Add ARM_SINGLE_ARMV7M to UNCOMPRESS_INCLUDE/DEBUG_UNCOMPRESS
  since all supported ARMv7-M platforms so far support early
  debug through DEBUG_LL

Changes since v5:
- Remove unnecessary empty lines in Kconfig
- Add non-hierarchy helper irq_domain_set_info
- Rebased on v4.1-rc1

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

Stefan Agner (13):
  irqdomain: Add non-hierarchy helper irq_domain_set_info
  genirq: Add irq_chip_(enable|disable)_parent
  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                        |  4 +-
 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           | 23 +++++--
 include/linux/irq.h                           |  2 +
 include/linux/irqdomain.h                     |  8 +--
 kernel/irq/chip.c                             | 28 ++++++++
 kernel/irq/generic-chip.c                     |  5 +-
 kernel/irq/irqdomain.c                        | 21 ++++++
 23 files changed, 350 insertions(+), 53 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.4.1


             reply	other threads:[~2015-05-16  9:46 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-05-16  9:44 Stefan Agner [this message]
2015-05-16  9:44 ` [PATCH v7 01/13] irqdomain: Add non-hierarchy helper irq_domain_set_info Stefan Agner
2015-05-18 15:36   ` [tip:irq/core] " tip-bot for Stefan Agner
2015-05-16  9:44 ` [PATCH v7 02/13] genirq: Add irq_chip_(enable|disable)_parent Stefan Agner
2015-05-18 15:36   ` [tip:irq/core] genirq: Add irq_chip_(enable/disable)_parent tip-bot for Stefan Agner
2015-05-16  9:44 ` [PATCH v7 03/13] genirq: generic chip: support hierarchy domain Stefan Agner
2015-05-18 15:37   ` [tip:irq/core] genirq: generic chip: Support " tip-bot for Stefan Agner
2015-05-16  9:44 ` [PATCH v7 04/13] irqchip: nvic: support hierarchy irq domain Stefan Agner
2015-05-18 15:37   ` [tip:irq/core] irqchip: nvic: Support " tip-bot for Stefan Agner
2015-05-16  9:44 ` [PATCH v7 05/13] irqchip: vf610-mscm: support NVIC parent Stefan Agner
2015-05-18 15:37   ` [tip:irq/core] irqchip: vf610-mscm: Support NVIC parent chip tip-bot for Stefan Agner
2015-05-18 22:03   ` tip-bot for Stefan Agner
2015-05-16  9:44 ` [PATCH v7 06/13] ARM: ARMv7M: define size of vector table for Vybrid Stefan Agner
2015-05-16  9:44 ` [PATCH v7 07/13] clocksource: add dependencies for Vybrid pit clocksource Stefan Agner
2015-05-16  9:44 ` [PATCH v7 08/13] ARM: unify MMU/!MMU addruart calls Stefan Agner
2015-05-16 20:51   ` Russell King - ARM Linux
2015-05-17  7:53     ` Thomas Gleixner
2015-05-18 15:36       ` Thomas Gleixner
2015-05-19  5:35         ` Shawn Guo
2015-05-19  8:11           ` Thomas Gleixner
2015-05-19  8:56             ` Shawn Guo
2015-05-19 10:16           ` Russell King - ARM Linux
2015-05-19 11:23             ` Stefan Agner
2015-05-19 11:50               ` Arnd Bergmann
2015-05-19 16:06                 ` Stefan Agner
2015-05-19 18:24                   ` Arnd Bergmann
2015-05-19 21:26                     ` Stefan Agner
2015-05-19 21:32                       ` Thomas Gleixner
2015-05-19 21:32                         ` Stefan Agner
2015-05-19 21:37                       ` Arnd Bergmann
2015-05-19 21:37                       ` Joachim Eastwood
2015-05-16  9:44 ` [PATCH v7 09/13] ARM: introduce ARM_SINGLE_ARMV7M for ARMv7-M platforms Stefan Agner
2015-05-16  9:44 ` [PATCH v7 10/13] ARM: efm32: use ARM_SINGLE_ARMV7M Stefan Agner
2015-05-19 12:14   ` Uwe Kleine-König
2015-05-16  9:44 ` [PATCH v7 11/13] ARM: vf610: enable Cortex-M4 configuration on Vybrid SoC Stefan Agner
2015-05-16  9:44 ` [PATCH v7 12/13] ARM: dts: add support for Vybrid running on Cortex-M4 Stefan Agner
2015-05-16  9:44 ` [PATCH v7 13/13] 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=1431769465-26867-1-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=mcoquelin.stm32@gmail.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).