Add binding for MT58XX interrupt controller.

Signed-off-by: Mark-PK Tsai <mark-pk.t...@mediatek.com>
---
 .../mediatek,mt58xx-intc.yaml                 | 70 +++++++++++++++++++
 1 file changed, 70 insertions(+)
 create mode 100644 
Documentation/devicetree/bindings/interrupt-controller/mediatek,mt58xx-intc.yaml

diff --git 
a/Documentation/devicetree/bindings/interrupt-controller/mediatek,mt58xx-intc.yaml
 
b/Documentation/devicetree/bindings/interrupt-controller/mediatek,mt58xx-intc.yaml
new file mode 100644
index 000000000000..23e04763ab86
--- /dev/null
+++ 
b/Documentation/devicetree/bindings/interrupt-controller/mediatek,mt58xx-intc.yaml
@@ -0,0 +1,70 @@
+# SPDX-License-Identifier: GPL-2.0
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/interrupt-controller/arm,gic.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: MediaTek MT58XX Interrupt Controller
+
+maintainers:
+  - Mark-PK Tsai <mark-pk.t...@mediatek.com>
+
+description: |+
+  Mediatek DTV SoCs contain multiple legacy interrupt controllers that
+  routes interrupts to the GIC. All the mt58xx SoCs have this
+  controller, hence the name of binding.
+
+  The HW block exposes a number of interrupt controllers, each
+  can support up to 64 interrupts.
+
+allOf:
+  - $ref: /schemas/interrupt-controller.yaml#
+
+properties:
+  compatible:
+    - items:
+        - const: mediatek,mt58xx-intc
+
+  interrupt-controller: true
+
+  "#address-cells":
+    enum: [ 0, 1 ]
+  "#size-cells":
+    const: 1
+
+  "#interrupt-cells":
+    const: 3
+    description: |
+      Use the same format as specified by GIC in arm,gic.yaml.
+
+  reg:
+    description: |
+      Physical base address of the MT58xx interrupt controller
+      registers and length of memory mapped region.
+
+  mediatek,irqs-map-range:
+    description: |
+      The range of parent interrupt controller's interrupt lines
+      that are hardwired to MT58xx interrupt controller.
+
+  mediatek,intc-no-eoi:
+    description: |
+      Mark this controller has no End Of Interrupt(EOI) implementation.
+      This is a empty, boolean property.
+
+required:
+  - compatible
+  - reg
+  - mediatek,irqs-map-range
+
+examples:
+  - |
+    mt58xx_intc0: interrupt-controller@1f2032d0 {
+      compatible = "mediatek,mt58xx-intc";
+      interrupt-controller;
+      #interrupt-cells = <0x3>;
+      interrupt-parent = <&gic>;
+      reg = <0x0 0x1f2032d0 0x0 0x30>;
+      mediatek,irqs-map-range = <0 63>;
+    };
+...
-- 
2.18.0

Reply via email to