Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
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
21properties:
22 compatible:
23 items:
24 - enum:
25 - mediatek,mt2701-cirq
26 - mediatek,mt8135-cirq
27 - mediatek,mt8173-cirq
28 - mediatek,mt8192-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 };