Commit 7f3974ef authored by AngeloGioacchino Del Regno's avatar AngeloGioacchino Del Regno Committed by Marc Zyngier
Browse files

dt-bindings: interrupt-controller: mediatek,cirq: Migrate to dt schema



Migrate mediatek,cirq.txt to dt schema as mediatek,mtk-cirq.yaml.
While at it, I've also fixed some typos that were present in the
original txt binding, as it was suggesting that the compatible
string would have "mediatek,cirq" as compatible but, in reality,
that's supposed to be "mediatek,mtk-cirq" instead.

Little rewording on property descriptions also happened for
them to be more concise.

Signed-off-by: default avatarAngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Reviewed-by: default avatarKrzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: default avatarMarc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20221128092217.36552-2-angelogioacchino.delregno@collabora.com
parent 247f34f7
Loading
Loading
Loading
Loading
+0 −33
Original line number Diff line number Diff line
* Mediatek 27xx cirq

In Mediatek SOCs, the CIRQ is a low power interrupt controller designed to
work outside MCUSYS which comprises with Cortex-Ax cores,CCI and GIC.
The external interrupts (outside MCUSYS) will feed through CIRQ and connect
to GIC in MCUSYS. When CIRQ is enabled, it will record the edge-sensitive
interrupts and generate a pulse signal to parent interrupt controller when
flush command is executed. With CIRQ, MCUSYS can be completely turned off
to improve the system power consumption without losing interrupts.

Required properties:
- compatible: should be one of
  - "mediatek,mt2701-cirq" for mt2701 CIRQ
  - "mediatek,mt8135-cirq" for mt8135 CIRQ
  - "mediatek,mt8173-cirq" for mt8173 CIRQ
  and "mediatek,cirq" as a fallback.
- interrupt-controller : Identifies the node as an interrupt controller.
- #interrupt-cells : Use the same format as specified by GIC in arm,gic.txt.
- reg: Physical base address of the cirq registers and length of memory
  mapped region.
- mediatek,ext-irq-range: Identifies external irq number range in different
  SOCs.

Example:
	cirq: interrupt-controller@10204000 {
		compatible = "mediatek,mt2701-cirq",
			     "mediatek,mtk-cirq";
		interrupt-controller;
		#interrupt-cells = <3>;
		interrupt-parent = <&sysirq>;
		reg = <0 0x10204000 0 0x400>;
		mediatek,ext-irq-start = <32 200>;
	};
+67 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/interrupt-controller/mediatek,mtk-cirq.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: MediaTek System Interrupt Controller

maintainers:
  - Youlin Pei <youlin.pei@mediatek.com>

description:
  In MediaTek SoCs, the CIRQ is a low power interrupt controller designed to
  work outside of MCUSYS which comprises with Cortex-Ax cores, CCI and GIC.
  The external interrupts (outside MCUSYS) will feed through CIRQ and connect
  to GIC in MCUSYS. When CIRQ is enabled, it will record the edge-sensitive
  interrupts and generate a pulse signal to parent interrupt controller when
  flush command is executed. With CIRQ, MCUSYS can be completely turned off
  to improve the system power consumption without losing interrupts.


properties:
  compatible:
    items:
      - enum:
          - mediatek,mt2701-cirq
          - mediatek,mt8135-cirq
          - mediatek,mt8173-cirq
      - const: mediatek,mtk-cirq

  reg:
    maxItems: 1

  '#interrupt-cells':
    const: 3

  interrupt-controller: true

  mediatek,ext-irq-range:
    $ref: /schemas/types.yaml#/definitions/uint32-array
    items:
      - description: First CIRQ interrupt
      - description: Last CIRQ interrupt
    description:
      Identifies the range of external interrupts in different SoCs

required:
  - compatible
  - reg
  - '#interrupt-cells'
  - interrupt-controller
  - mediatek,ext-irq-range

additionalProperties: false

examples:
  - |
    #include <dt-bindings/interrupt-controller/irq.h>

    cirq: interrupt-controller@10204000 {
        compatible = "mediatek,mt2701-cirq", "mediatek,mtk-cirq";
        reg = <0x10204000 0x400>;
        #interrupt-cells = <3>;
        interrupt-controller;
        interrupt-parent = <&sysirq>;
        mediatek,ext-irq-range = <32 200>;
    };