]> git.baikalelectronics.ru Git - kernel.git/commit
irqchip: Renesas IRQC driver
authorMagnus Damm <damm@opensource.se>
Wed, 27 Feb 2013 08:15:01 +0000 (17:15 +0900)
committerSimon Horman <horms+renesas@verge.net.au>
Mon, 18 Mar 2013 12:26:06 +0000 (21:26 +0900)
commitda105b0998961dcb1ce3236608a01a81ff7e0f4a
tree3b1159be1b1ccc7f42516c52d73228969d289e35
parent5e3b8d3b81c889fcfbfc4cc937fe8a6ce495b21d
irqchip: Renesas IRQC driver

This patch adds a driver for external IRQ pins connected
to the IRQC hardware block on recent SoCs from Renesas.

The IRQC hardware block is used together with more
recent ARM based SoCs using the GIC. As usual the GIC
requires external IRQ trigger setup somewhere else
which in this particular case happens to be IRQC.

This driver implements the glue code needed to configure
IRQ trigger and also handle mask/unmask and demux of
external IRQ pins hooked up from the IRQC to the GIC.

Tested on r8a73a4 but is designed to work with a wide
range of SoCs. The driver requires one GIC SPI per
external IRQ pin to operate.  Each driver instance
will handle up to 32 external IRQ pins.

The SoCs using this driver are currently mainly used
together with regular platform devices so this driver
allows configuration via platform data to support things
like static interrupt base address. DT support will
be added incrementally in the not so distant future.

Signed-off-by: Magnus Damm <damm@opensource.se>
Tested-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
drivers/irqchip/Kconfig
drivers/irqchip/Makefile
drivers/irqchip/irq-renesas-irqc.c [new file with mode: 0644]
include/linux/platform_data/irq-renesas-irqc.h [new file with mode: 0644]