irqchip: vf610-mscm-ir: Add support for Vybrid MSCM interrupt router
authorStefan Agner <stefan@agner.ch>
Sun, 1 Mar 2015 22:41:27 +0000 (23:41 +0100)
committerJason Cooper <jason@lakedaemon.net>
Sun, 8 Mar 2015 05:08:15 +0000 (05:08 +0000)
commit0494e11aafc7855b1600fe19f04fadf682e52da9
tree951c32039cafff626ee25a703fa36a58899cdac5
parentc517d838eb7d07bbe9507871fab3931deccff539
irqchip: vf610-mscm-ir: Add support for Vybrid MSCM interrupt router

This adds support for Vybrid's interrupt router. On VF6xx models,
almost all peripherals can be used by either of the two CPU's,
the Cortex-A5 or the Cortex-M4. The interrupt router routes the
peripheral interrupts to the configured CPU.

This IRQ chip driver configures the interrupt router to route
the requested interrupt to the CPU the kernel is running on.
The driver makes use of the irqdomain hierarchy support. The
parent is given by the device tree. This should be one of the
two possible parents either ARM GIC or the ARM NVIC interrupt
controller. The latter is currently not yet supported.

Note that there is no resource control mechnism implemented to
avoid concurrent access of the same peripheral. The user needs
to make sure to use device trees which assign the peripherals
orthogonally. However, this driver warns the user in case the
interrupt is already configured for the other CPU. This provides
a poor man's resource controller.

Acked-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Stefan Agner <stefan@agner.ch>
Link: https://lkml.kernel.org/r/1425249689-32354-2-git-send-email-stefan@agner.ch
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
arch/arm/mach-imx/Kconfig
drivers/irqchip/Makefile
drivers/irqchip/irq-vf610-mscm-ir.c [new file with mode: 0644]