• Stefan Agner's avatar
    irqchip: vf610-mscm-ir: Add support for Vybrid MSCM interrupt router · 0494e11a
    Stefan Agner authored
    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: default avatarMarc Zyngier <marc.zyngier@arm.com>
    Signed-off-by: default avatarStefan Agner <stefan@agner.ch>
    Link: https://lkml.kernel.org/r/1425249689-32354-2-git-send-email-stefan@agner.chSigned-off-by: default avatarJason Cooper <jason@lakedaemon.net>
    0494e11a
irq-vf610-mscm-ir.c 5.67 KB