69 lines · yaml
1# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause2%YAML 1.23---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 Controller8 9maintainers:10 - Youlin Pei <youlin.pei@mediatek.com>11 12description:13 In MediaTek SoCs, the CIRQ is a low power interrupt controller designed to14 work outside of MCUSYS which comprises with Cortex-Ax cores, CCI and GIC.15 The external interrupts (outside MCUSYS) will feed through CIRQ and connect16 to GIC in MCUSYS. When CIRQ is enabled, it will record the edge-sensitive17 interrupts and generate a pulse signal to parent interrupt controller when18 flush command is executed. With CIRQ, MCUSYS can be completely turned off19 to improve the system power consumption without losing interrupts.20 21 22properties:23 compatible:24 items:25 - enum:26 - mediatek,mt2701-cirq27 - mediatek,mt8135-cirq28 - mediatek,mt8173-cirq29 - mediatek,mt8192-cirq30 - const: mediatek,mtk-cirq31 32 reg:33 maxItems: 134 35 '#interrupt-cells':36 const: 337 38 interrupt-controller: true39 40 mediatek,ext-irq-range:41 $ref: /schemas/types.yaml#/definitions/uint32-array42 items:43 - description: First CIRQ interrupt44 - description: Last CIRQ interrupt45 description:46 Identifies the range of external interrupts in different SoCs47 48required:49 - compatible50 - reg51 - '#interrupt-cells'52 - interrupt-controller53 - mediatek,ext-irq-range54 55additionalProperties: false56 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