Re: [RFC PATCH 1/3] dt: bindings: interrupt-controller: Add binding description for msc313-intc

From: Rob Herring
Date: Fri Jul 31 2020 - 14:23:20 EST


On Thu, Jul 30, 2020 at 10:00:42PM +0900, Daniel Palmer wrote:
> Adds a YAML description of the binding for the msc313-intc.
>
> Signed-off-by: Daniel Palmer <daniel@xxxxxxxx>
> Tested-by: Willy Tarreau <w@xxxxxx>
> ---
> .../mstar,msc313-intc.yaml | 79 +++++++++++++++++++
> MAINTAINERS | 1 +
> 2 files changed, 80 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/interrupt-controller/mstar,msc313-intc.yaml
>
> diff --git a/Documentation/devicetree/bindings/interrupt-controller/mstar,msc313-intc.yaml b/Documentation/devicetree/bindings/interrupt-controller/mstar,msc313-intc.yaml
> new file mode 100644
> index 000000000000..e87c72d452c3
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/interrupt-controller/mstar,msc313-intc.yaml
> @@ -0,0 +1,79 @@
> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> +# Copyright 2020 thingy.jp.
> +%YAML 1.2
> +---
> +$id: "http://devicetree.org/schemas/interrupt-controller/mstar,msc313-intc.yaml#";
> +$schema: "http://devicetree.org/meta-schemas/core.yaml#";
> +
> +title: MStar/SigmaStar ARMv7 SoC Interrupt Controller Device Tree Bindings
> +
> +maintainers:
> + - Daniel Palmer <daniel@xxxxxxxxx>
> +
> +allOf:
> + - $ref: /schemas/interrupt-controller.yaml#
> +
> +properties:
> + "#interrupt-cells":
> + const: 2
> +
> + compatible:
> + enum:
> + - mstar,msc313-intc-irq
> + - mstar,msc313-intc-fiq
> +
> + reg:
> + maxItems: 1
> +
> + interrupt-controller: true
> +
> + mstar,gic-offset:
> + description:
> + Offset added to the intc irq number to get the parent GIC irq.
> + allOf:
> + - $ref: /schemas/types.yaml#/definitions/uint32
> + - minimum: 0
> + maximum: 255
> +
> + mstar,nr-interrupts:
> + description:
> + Number of interrupt lines this intc has.

Generally, no other interrupt controller needs this type of property,
why do you?

Can't this be implied by the compatible string? Same question for
mstar,gic-offset.

> + allOf:
> + - $ref: /schemas/types.yaml#/definitions/uint32
> + - minimum: 0
> + maximum: 255
> +
> +required:
> + - "#interrupt-cells"
> + - compatible
> + - reg
> + - interrupt-controller
> + - mstar,gic-offset
> + - mstar,nr-interrupts
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + intc_fiq: intc@201310 {
> + compatible = "mstar,msc313-intc-fiq";
> + interrupt-controller;
> + reg = <0x201310 0x40>;
> + #interrupt-cells = <2>;
> + interrupt-parent = <&gic>;
> + mstar,gic-offset = <96>;
> + mstar,nr-interrupts = <32>;
> + };
> +
> + - |
> + intc_irq: intc@201350 {
> + compatible = "mstar,msc313-intc-irq";
> + interrupt-controller;
> + reg = <0x201350 0x40>;
> + #interrupt-cells = <2>;
> + interrupt-parent = <&gic>;
> + mstar,gic-offset = <32>;
> + mstar,nr-interrupts = <64>;
> + };
> +
> +...
> diff --git a/MAINTAINERS b/MAINTAINERS
> index 9b35edac7ef7..cf64b4b90222 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -2140,6 +2140,7 @@ L: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx (moderated for non-subscribers)
> S: Maintained
> W: http://linux-chenxing.org/
> F: Documentation/devicetree/bindings/arm/mstar/*
> +F: Documentation/devicetree/bindings/interrupt-controller/mstar,msc313-intc.yaml
> F: arch/arm/boot/dts/infinity*.dtsi
> F: arch/arm/boot/dts/mercury*.dtsi
> F: arch/arm/boot/dts/mstar-v7.dtsi
> --
> 2.27.0
>