| * 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>; |
| }; |