1 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
4 $id: http://devicetree.org/schemas/interrupt-controller/mediatek,mtk-cirq.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: MediaTek System Interrupt Controller
10 - Youlin Pei <youlin.pei@mediatek.com>
13 In MediaTek SoCs, the CIRQ is a low power interrupt controller designed to
14 work outside of MCUSYS which comprises with Cortex-Ax cores, CCI and GIC.
15 The external interrupts (outside MCUSYS) will feed through CIRQ and connect
16 to GIC in MCUSYS. When CIRQ is enabled, it will record the edge-sensitive
17 interrupts and generate a pulse signal to parent interrupt controller when
18 flush command is executed. With CIRQ, MCUSYS can be completely turned off
19 to improve the system power consumption without losing interrupts.
26 - mediatek,mt2701-cirq
27 - mediatek,mt8135-cirq
28 - mediatek,mt8173-cirq
29 - mediatek,mt8192-cirq
30 - const: mediatek,mtk-cirq
38 interrupt-controller: true
40 mediatek,ext-irq-range:
41 $ref: /schemas/types.yaml#/definitions/uint32-array
43 - description: First CIRQ interrupt
44 - description: Last CIRQ interrupt
46 Identifies the range of external interrupts in different SoCs
52 - interrupt-controller
53 - mediatek,ext-irq-range
55 additionalProperties: false
59 #include <dt-bindings/interrupt-controller/irq.h>
61 cirq: interrupt-controller@10204000 {
62 compatible = "mediatek,mt2701-cirq", "mediatek,mtk-cirq";
63 reg = <0x10204000 0x400>;
64 #interrupt-cells = <3>;
66 interrupt-parent = <&sysirq>;
67 mediatek,ext-irq-range = <32 200>;