irqchip: Add Mediatek mtk-cirq driver
authorYoulin Pei <youlin.pei@mediatek.com>
Fri, 7 Apr 2017 08:06:36 +0000 (16:06 +0800)
committerMarc Zyngier <marc.zyngier@arm.com>
Fri, 7 Apr 2017 09:52:22 +0000 (10:52 +0100)
commit9dbbbd33aafaf1f95b1cce940bdf4331cd8b822e
tree30537b0e7044cbb27702db93e1d1910e8299f70b
parentf59dd407bfc2f32ec2cf4476a2e582be03368397
irqchip: Add Mediatek mtk-cirq driver

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: Youlin Pei <youlin.pei@mediatek.com>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
drivers/irqchip/Makefile
drivers/irqchip/irq-mtk-cirq.c [new file with mode: 0644]