• Youlin Pei's avatar
    irqchip: Add Mediatek mtk-cirq driver · 9dbbbd33
    Youlin Pei authored
    In Mediatek SOCs, the CIRQ is a low power interrupt controller
    designed to works outside MCUSYS which comprises with Cortex-Ax
    cores,CCI and GIC.
    
    The CIRQ controller is integrated in between MCUSYS( include
    Cortex-Ax, CCI and GIC ) and interrupt sources as the second
    level interrupt controller. The external interrupts which outside
    MCUSYS will feed through CIRQ then bypass to GIC. CIRQ can monitors
    all edge trigger interupts. When an edge interrupt is triggered,
    CIRQ can record the status and generate a pulse signal to GIC when
    flush command executed.
    
    When system enters sleep mode, MCUSYS will be turned off to improve
    power consumption, also GIC is power down. The edge trigger interrupts
    will be lost in this scenario without CIRQ.
    
    This commit provides the CIRQ irqchip implement.
    Signed-off-by: default avatarYoulin Pei <youlin.pei@mediatek.com>
    Signed-off-by: default avatarMarc Zyngier <marc.zyngier@arm.com>
    9dbbbd33
irq-mtk-cirq.c 7.81 KB