xref: /freebsd/sys/contrib/device-tree/Bindings/interrupt-controller/mediatek,cirq.txt (revision a03411e84728e9b267056fd31c7d1d9d1dc1b01e)
1* Mediatek 27xx cirq
2
3In Mediatek SOCs, the CIRQ is a low power interrupt controller designed to
4work outside MCUSYS which comprises with Cortex-Ax cores,CCI and GIC.
5The external interrupts (outside MCUSYS) will feed through CIRQ and connect
6to GIC in MCUSYS. When CIRQ is enabled, it will record the edge-sensitive
7interrupts and generate a pulse signal to parent interrupt controller when
8flush command is executed. With CIRQ, MCUSYS can be completely turned off
9to improve the system power consumption without losing interrupts.
10
11Required properties:
12- compatible: should be one of
13  - "mediatek,mt2701-cirq" for mt2701 CIRQ
14  - "mediatek,mt8135-cirq" for mt8135 CIRQ
15  - "mediatek,mt8173-cirq" for mt8173 CIRQ
16  and "mediatek,cirq" as a fallback.
17- interrupt-controller : Identifies the node as an interrupt controller.
18- #interrupt-cells : Use the same format as specified by GIC in arm,gic.txt.
19- reg: Physical base address of the cirq registers and length of memory
20  mapped region.
21- mediatek,ext-irq-range: Identifies external irq number range in different
22  SOCs.
23
24Example:
25	cirq: interrupt-controller@10204000 {
26		compatible = "mediatek,mt2701-cirq",
27			     "mediatek,mtk-cirq";
28		interrupt-controller;
29		#interrupt-cells = <3>;
30		interrupt-parent = <&sysirq>;
31		reg = <0 0x10204000 0 0x400>;
32		mediatek,ext-irq-start = <32 200>;
33	};
34