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 - mediatek,mt8192-cirq 30 - const: mediatek,mtk-cirq 31 32 reg: 33 maxItems: 1 34 35 '#interrupt-cells': 36 const: 3 37 38 interrupt-controller: true 39 40 mediatek,ext-irq-range: 41 $ref: /schemas/types.yaml#/definitions/uint32-array 42 items: 43 - description: First CIRQ interrupt 44 - description: Last CIRQ interrupt 45 description: 46 Identifies the range of external interrupts in different SoCs 47 48required: 49 - compatible 50 - reg 51 - '#interrupt-cells' 52 - interrupt-controller 53 - mediatek,ext-irq-range 54 55additionalProperties: false 56 57examples: 58 - | 59 #include <dt-bindings/interrupt-controller/irq.h> 60 61 cirq: interrupt-controller@10204000 { 62 compatible = "mediatek,mt2701-cirq", "mediatek,mtk-cirq"; 63 reg = <0x10204000 0x400>; 64 #interrupt-cells = <3>; 65 interrupt-controller; 66 interrupt-parent = <&sysirq>; 67 mediatek,ext-irq-range = <32 200>; 68 }; 69