xref: /linux/Documentation/devicetree/bindings/interrupt-controller/mediatek,mtk-cirq.yaml (revision 7f3974ef4e31d730e7aa902b30800ba0962277da)
1# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/interrupt-controller/mediatek,mtk-cirq.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: MediaTek System Interrupt Controller
8
9maintainers:
10  - Youlin Pei <youlin.pei@mediatek.com>
11
12description:
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.
20
21
22properties:
23  compatible:
24    items:
25      - enum:
26          - mediatek,mt2701-cirq
27          - mediatek,mt8135-cirq
28          - mediatek,mt8173-cirq
29      - const: mediatek,mtk-cirq
30
31  reg:
32    maxItems: 1
33
34  '#interrupt-cells':
35    const: 3
36
37  interrupt-controller: true
38
39  mediatek,ext-irq-range:
40    $ref: /schemas/types.yaml#/definitions/uint32-array
41    items:
42      - description: First CIRQ interrupt
43      - description: Last CIRQ interrupt
44    description:
45      Identifies the range of external interrupts in different SoCs
46
47required:
48  - compatible
49  - reg
50  - '#interrupt-cells'
51  - interrupt-controller
52  - mediatek,ext-irq-range
53
54additionalProperties: false
55
56examples:
57  - |
58    #include <dt-bindings/interrupt-controller/irq.h>
59
60    cirq: interrupt-controller@10204000 {
61        compatible = "mediatek,mt2701-cirq", "mediatek,mtk-cirq";
62        reg = <0x10204000 0x400>;
63        #interrupt-cells = <3>;
64        interrupt-controller;
65        interrupt-parent = <&sysirq>;
66        mediatek,ext-irq-range = <32 200>;
67    };
68