2020-08-03 06:43:15

by Mark-PK Tsai

[permalink] [raw]
Subject: [PATCH 2/2] dt-bindings: interrupt-controller: Add MT58XX interrupt controller

Add binding for MT58XX interrupt controller.

Signed-off-by: Mark-PK Tsai <[email protected]>
---
.../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 <[email protected]>
+
+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


2020-08-03 21:50:46

by Rob Herring (Arm)

[permalink] [raw]
Subject: Re: [PATCH 2/2] dt-bindings: interrupt-controller: Add MT58XX interrupt controller

On Mon, 03 Aug 2020 14:22:14 +0800, Mark-PK Tsai wrote:
> Add binding for MT58XX interrupt controller.
>
> Signed-off-by: Mark-PK Tsai <[email protected]>
> ---
> .../mediatek,mt58xx-intc.yaml | 70 +++++++++++++++++++
> 1 file changed, 70 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/interrupt-controller/mediatek,mt58xx-intc.yaml
>


My bot found errors running 'make dt_binding_check' on your patch:

/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/interrupt-controller/mediatek,mt58xx-intc.yaml: properties:compatible: [{'items': [{'const': 'mediatek,mt58xx-intc'}]}] is not of type 'object', 'boolean'
/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/interrupt-controller/mediatek,mt58xx-intc.yaml: properties:mediatek,intc-no-eoi: {'description': 'Mark this controller has no End Of Interrupt(EOI) implementation.\nThis is a empty, boolean property.\n'} is not valid under any of the given schemas (Possible causes of the failure):
/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/interrupt-controller/mediatek,mt58xx-intc.yaml: properties:mediatek,intc-no-eoi: 'not' is a required property

/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/interrupt-controller/mediatek,mt58xx-intc.yaml: properties:mediatek,irqs-map-range: {'description': "The range of parent interrupt controller's interrupt lines\nthat are hardwired to MT58xx interrupt controller.\n"} is not valid under any of the given schemas (Possible causes of the failure):
/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/interrupt-controller/mediatek,mt58xx-intc.yaml: properties:mediatek,irqs-map-range: 'not' is a required property

Documentation/devicetree/bindings/interrupt-controller/mediatek,mt58xx-intc.yaml: $id: relative path/filename doesn't match actual path or filename
expected: http://devicetree.org/schemas/interrupt-controller/mediatek,mt58xx-intc.yaml#
Documentation/devicetree/bindings/Makefile:20: recipe for target 'Documentation/devicetree/bindings/interrupt-controller/mediatek,mt58xx-intc.example.dts' failed
make[1]: *** [Documentation/devicetree/bindings/interrupt-controller/mediatek,mt58xx-intc.example.dts] Error 1
make[1]: *** Waiting for unfinished jobs....
/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/interrupt-controller/mediatek,mt58xx-intc.yaml: ignoring, error in schema: properties: compatible
warning: no schema found in file: ./Documentation/devicetree/bindings/interrupt-controller/mediatek,mt58xx-intc.yaml
/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/interrupt-controller/mediatek,mt58xx-intc.yaml: ignoring, error in schema: properties: compatible
warning: no schema found in file: ./Documentation/devicetree/bindings/interrupt-controller/mediatek,mt58xx-intc.yaml
Makefile:1347: recipe for target 'dt_binding_check' failed
make: *** [dt_binding_check] Error 2


See https://patchwork.ozlabs.org/patch/1340146

If you already ran 'make dt_binding_check' and didn't see the above
error(s), then make sure dt-schema is up to date:

pip3 install git+https://github.com/devicetree-org/dt-schema.git@master --upgrade

Please check and re-submit.