Back to home page

OSCL-LXR

 
 

    


0001 * Mediatek 27xx cirq
0002 
0003 In Mediatek SOCs, the CIRQ is a low power interrupt controller designed to
0004 work outside MCUSYS which comprises with Cortex-Ax cores,CCI and GIC.
0005 The external interrupts (outside MCUSYS) will feed through CIRQ and connect
0006 to GIC in MCUSYS. When CIRQ is enabled, it will record the edge-sensitive
0007 interrupts and generate a pulse signal to parent interrupt controller when
0008 flush command is executed. With CIRQ, MCUSYS can be completely turned off
0009 to improve the system power consumption without losing interrupts.
0010 
0011 Required properties:
0012 - compatible: should be one of
0013   - "mediatek,mt2701-cirq" for mt2701 CIRQ
0014   - "mediatek,mt8135-cirq" for mt8135 CIRQ
0015   - "mediatek,mt8173-cirq" for mt8173 CIRQ
0016   and "mediatek,cirq" as a fallback.
0017 - interrupt-controller : Identifies the node as an interrupt controller.
0018 - #interrupt-cells : Use the same format as specified by GIC in arm,gic.txt.
0019 - reg: Physical base address of the cirq registers and length of memory
0020   mapped region.
0021 - mediatek,ext-irq-range: Identifies external irq number range in different
0022   SOCs.
0023 
0024 Example:
0025         cirq: interrupt-controller@10204000 {
0026                 compatible = "mediatek,mt2701-cirq",
0027                              "mediatek,mtk-cirq";
0028                 interrupt-controller;
0029                 #interrupt-cells = <3>;
0030                 interrupt-parent = <&sysirq>;
0031                 reg = <0 0x10204000 0 0x400>;
0032                 mediatek,ext-irq-start = <32 200>;
0033         };