| * Mediatek 27xx cirq | |
| In Mediatek SOCs, the CIRQ is a low power interrupt controller designed to | |
| work outside MCUSYS which comprises with Cortex-Ax cores,CCI and GIC. | |
| The external interrupts (outside MCUSYS) will feed through CIRQ and connect | |
| to GIC in MCUSYS. When CIRQ is enabled, it will record the edge-sensitive | |
| interrupts and generate a pulse signal to parent interrupt controller when | |
| flush command is executed. With CIRQ, MCUSYS can be completely turned off | |
| to improve the system power consumption without losing interrupts. | |
| Required properties: | |
| - compatible: should be one of | |
| - "mediatek,mt2701-cirq" for mt2701 CIRQ | |
| - "mediatek,mt8135-cirq" for mt8135 CIRQ | |
| - "mediatek,mt8173-cirq" for mt8173 CIRQ | |
| and "mediatek,cirq" as a fallback. | |
| - interrupt-controller : Identifies the node as an interrupt controller. | |
| - #interrupt-cells : Use the same format as specified by GIC in arm,gic.txt. | |
| - interrupt-parent: phandle of irq parent for cirq. The parent must | |
| use the same interrupt-cells format as GIC. | |
| - reg: Physical base address of the cirq registers and length of memory | |
| mapped region. | |
| - mediatek,ext-irq-range: Identifies external irq number range in different | |
| SOCs. | |
| Example: | |
| cirq: interrupt-controller@10204000 { | |
| compatible = "mediatek,mt2701-cirq", | |
| "mediatek,mtk-cirq"; | |
| interrupt-controller; | |
| #interrupt-cells = <3>; | |
| interrupt-parent = <&sysirq>; | |
| reg = <0 0x10204000 0 0x400>; | |
| mediatek,ext-irq-start = <32 200>; | |
| }; |