• Magnus Damm's avatar
    irqchip: Renesas IRQC driver · fbc83b7f
    Magnus Damm authored
    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: default avatarMagnus Damm <damm@opensource.se>
    Tested-by: default avatarGuennadi Liakhovetski <g.liakhovetski@gmx.de>
    Signed-off-by: default avatarSimon Horman <horms+renesas@verge.net.au>
    fbc83b7f
irq-renesas-irqc.c 7.5 KB