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