All of lore.kernel.org
 help / color / mirror / Atom feed
From: Rob Herring <robh@kernel.org>
To: Sudeep Holla <sudeep.holla@arm.com>
Cc: devicetree@vger.kernel.org, Linus Walleij <linus.walleij@linaro.org>
Subject: Re: [PATCH v2] dt-bindings: interrupt-controller: Convert ARM VIC to json-schema
Date: Wed, 16 Jun 2021 11:34:59 -0600	[thread overview]
Message-ID: <20210616173459.GA3578389@robh.at.kernel.org> (raw)
In-Reply-To: <20210611111033.2818949-1-sudeep.holla@arm.com>

On Fri, Jun 11, 2021 at 12:10:33PM +0100, Sudeep Holla wrote:
> Convert the ARM VIC binding document to DT schema format using
> json-schema.
> 
> Cc: Rob Herring <robh@kernel.org>
> Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
> Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
> ---
>  .../bindings/interrupt-controller/arm,vic.txt | 41 --------
>  .../interrupt-controller/arm,vic.yaml         | 93 +++++++++++++++++++
>  2 files changed, 93 insertions(+), 41 deletions(-)
>  delete mode 100644 Documentation/devicetree/bindings/interrupt-controller/arm,vic.txt
>  create mode 100644 Documentation/devicetree/bindings/interrupt-controller/arm,vic.yaml
> 
> v1->v2:
> 	- Added arm,versatile-vic to the list of compatibles as suggested
> 	  by Linus W and added his review tag
> 	- Updated the SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> 	  Original txt file doesn't carry anything and is not sure about
> 	  it, but just followed what I have done with scmi/scpi ones

It's default GPL-2.0, so you'd need permission to dual license.

> 
> diff --git a/Documentation/devicetree/bindings/interrupt-controller/arm,vic.txt b/Documentation/devicetree/bindings/interrupt-controller/arm,vic.txt
> deleted file mode 100644
> index dd527216c5fb..000000000000
> --- a/Documentation/devicetree/bindings/interrupt-controller/arm,vic.txt
> +++ /dev/null
> @@ -1,41 +0,0 @@
> -* ARM Vectored Interrupt Controller
> -
> -One or more Vectored Interrupt Controllers (VIC's) can be connected in an ARM
> -system for interrupt routing.  For multiple controllers they can either be
> -nested or have the outputs wire-OR'd together.
> -
> -Required properties:
> -
> -- compatible : should be one of
> -	"arm,pl190-vic"
> -	"arm,pl192-vic"
> -- interrupt-controller : Identifies the node as an interrupt controller
> -- #interrupt-cells : The number of cells to define the interrupts.  Must be 1 as
> -  the VIC has no configuration options for interrupt sources.  The cell is a u32
> -  and defines the interrupt number.
> -- reg : The register bank for the VIC.
> -
> -Optional properties:
> -
> -- interrupts : Interrupt source for parent controllers if the VIC is nested.
> -- valid-mask : A one cell big bit mask of valid interrupt sources. Each bit
> -  represents single interrupt source, starting from source 0 at LSb and ending
> -  at source 31 at MSb. A bit that is set means that the source is wired and
> -  clear means otherwise. If unspecified, defaults to all valid.
> -- valid-wakeup-mask : A one cell big bit mask of interrupt sources that can be
> -  configured as wake up source for the system. Order of bits is the same as for
> -  valid-mask property. A set bit means that this interrupt source can be
> -  configured as a wake up source for the system. If unspecied, defaults to all
> -  interrupt sources configurable as wake up sources.
> -
> -Example:
> -
> -	vic0: interrupt-controller@60000 {
> -		compatible = "arm,pl192-vic";
> -		interrupt-controller;
> -		#interrupt-cells = <1>;
> -		reg = <0x60000 0x1000>;
> -
> -		valid-mask = <0xffffff7f>;
> -		valid-wakeup-mask = <0x0000ff7f>;
> -	};
> diff --git a/Documentation/devicetree/bindings/interrupt-controller/arm,vic.yaml b/Documentation/devicetree/bindings/interrupt-controller/arm,vic.yaml
> new file mode 100644
> index 000000000000..60576bf14b43
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/interrupt-controller/arm,vic.yaml
> @@ -0,0 +1,93 @@
> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/interrupt-controller/arm,vic.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: ARM Vectored Interrupt Controller
> +
> +maintainers:
> +  - Rob Herring <robh@kernel.org>
> +
> +description: |+
> +  One or more Vectored Interrupt Controllers (VIC's) can be connected in an
> +  ARM system for interrupt routing.  For multiple controllers they can either
> +  be nested or have the outputs wire-OR'd together.
> +
> +allOf:
> +  - $ref: /schemas/interrupt-controller.yaml#
> +
> +properties:
> +  compatible:
> +    oneOf:
> +      - const: arm,pl190-vic
> +      - const: arm,pl192-vic
> +      - const: arm,versatile-vic

Use enum instead of oneOf+const

> +
> +  interrupt-controller: true
> +
> +  "#interrupt-cells":
> +    const: 1
> +    description:
> +      The number of cells to define the interrupts.  It must be 1 as the
> +      VIC has no configuration options for interrupt sources. The single
> +      cell defines the interrupt number.
> +
> +  reg:
> +    description: The register bank for the VIC.

Drop. That's every 'reg' ...

> +    maxItems: 1
> +
> +  interrupts:
> +    description:
> +      Interrupt source for the parent interrupt controller if the VIC
> +      is nested.

Drop.

> +    maxItems: 1
> +
> +  interrupts-extended:

Don't need this. The tooling will add it for any 'interrupts' property.

> +    description:
> +      Interrupt source for the parent interrupt controllers if the VIC
> +      is nested.
> +    maxItems: 1
> +
> +  valid-mask:
> +    description:
> +      A one cell big bit mask of valid interrupt sources. Each bit
> +      represents single interrupt source, starting from source 0 at
> +      LSb and ending at source 31 at MSb. A bit that is set means
> +      that the source is wired and clear means otherwise. If unspecified,
> +      defaults to all valid.
> +    $ref: /schemas/types.yaml#/definitions/uint32
> +    maxItems: 1

Drop. It's not an array.

> +
> +  valid-wakeup-mask:
> +    description:
> +      A one cell big bit mask of interrupt sources that can be configured
> +      as wake up source for the system. Order of bits is the same as for
> +      valid-mask property. A set bit means that this interrupt source
> +      can be configured as a wake up source for the system. If unspecied,
> +      defaults to all interrupt sources configurable as wake up sources.
> +    $ref: /schemas/types.yaml#/definitions/uint32
> +    maxItems: 1

Drop.

> +
> +required:
> +  - compatible
> +  - reg
> +  - interrupt-controller
> +  - "#interrupt-cells"
> +
> +additionalProperties: false
> +
> +examples:
> +  - |
> +    // GICv1

GIC?

> +    vic0: interrupt-controller@60000 {
> +      compatible = "arm,pl192-vic";
> +      interrupt-controller;
> +      #interrupt-cells = <1>;
> +      reg = <0x60000 0x1000>;
> +
> +      valid-mask = <0xffffff7f>;
> +      valid-wakeup-mask = <0x0000ff7f>;
> +    };
> +
> +...
> -- 
> 2.25.1

  reply	other threads:[~2021-06-16 17:35 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-06-11 11:10 [PATCH v2] dt-bindings: interrupt-controller: Convert ARM VIC to json-schema Sudeep Holla
2021-06-16 17:34 ` Rob Herring [this message]
2021-06-16 17:53   ` Sudeep Holla

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210616173459.GA3578389@robh.at.kernel.org \
    --to=robh@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=linus.walleij@linaro.org \
    --cc=sudeep.holla@arm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.