All of lore.kernel.org
 help / color / mirror / Atom feed
From: Rob Herring <robh@kernel.org>
To: Corentin Labbe <clabbe@baylibre.com>
Cc: airlied@linux.ie, daniel@ffwll.ch, devicetree@vger.kernel.org,
	dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] dt-bindings: display: convert faraday,tve200 to YAML
Date: Mon, 17 May 2021 19:26:24 -0500	[thread overview]
Message-ID: <20210518002624.GA3346846@robh.at.kernel.org> (raw)
In-Reply-To: <20210511165448.422987-1-clabbe@baylibre.com>

On Tue, May 11, 2021 at 04:54:48PM +0000, Corentin Labbe wrote:
> Converts display/faraday,tve200.txt to yaml.
> 
> Signed-off-by: Corentin Labbe <clabbe@baylibre.com>
> ---
>  .../bindings/display/faraday,tve200.txt       | 54 -----------
>  .../bindings/display/faraday,tve200.yaml      | 92 +++++++++++++++++++
>  2 files changed, 92 insertions(+), 54 deletions(-)
>  delete mode 100644 Documentation/devicetree/bindings/display/faraday,tve200.txt
>  create mode 100644 Documentation/devicetree/bindings/display/faraday,tve200.yaml
> 
> diff --git a/Documentation/devicetree/bindings/display/faraday,tve200.txt b/Documentation/devicetree/bindings/display/faraday,tve200.txt
> deleted file mode 100644
> index 82e3bc0b7485..000000000000
> --- a/Documentation/devicetree/bindings/display/faraday,tve200.txt
> +++ /dev/null
> @@ -1,54 +0,0 @@
> -* Faraday TV Encoder TVE200
> -
> -Required properties:
> -
> -- compatible: must be one of:
> -	"faraday,tve200"
> -	"cortina,gemini-tvc", "faraday,tve200"
> -
> -- reg: base address and size of the control registers block
> -
> -- interrupts: contains an interrupt specifier for the interrupt
> -	line from the TVE200
> -
> -- clock-names: should contain "PCLK" for the clock line clocking the
> -	silicon and "TVE" for the 27MHz clock to the video driver
> -
> -- clocks: contains phandle and clock specifier pairs for the entries
> -	in the clock-names property. See
> -	Documentation/devicetree/bindings/clock/clock-bindings.txt
> -
> -Optional properties:
> -
> -- resets: contains the reset line phandle for the block
> -
> -Required sub-nodes:
> -
> -- port: describes LCD panel signals, following the common binding
> -	for video transmitter interfaces; see
> -	Documentation/devicetree/bindings/media/video-interfaces.txt
> -	This port should have the properties:
> -	reg = <0>;
> -	It should have one endpoint connected to a remote endpoint where
> -	the display is connected.
> -
> -Example:
> -
> -display-controller@6a000000 {
> -	#address-cells = <1>;
> -	#size-cells = <0>;
> -	compatible = "faraday,tve200";
> -	reg = <0x6a000000 0x1000>;
> -	interrupts = <13 IRQ_TYPE_EDGE_RISING>;
> -	resets = <&syscon GEMINI_RESET_TVC>;
> -	clocks = <&syscon GEMINI_CLK_GATE_TVC>,
> -		 <&syscon GEMINI_CLK_TVC>;
> -	clock-names = "PCLK", "TVE";
> -
> -	port@0 {
> -		reg = <0>;
> -		display_out: endpoint {
> -			remote-endpoint = <&panel_in>;
> -		};
> -	};
> -};
> diff --git a/Documentation/devicetree/bindings/display/faraday,tve200.yaml b/Documentation/devicetree/bindings/display/faraday,tve200.yaml
> new file mode 100644
> index 000000000000..3ab51e7e72af
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/display/faraday,tve200.yaml
> @@ -0,0 +1,92 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/display/faraday,tve200.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Faraday TV Encoder TVE200
> +
> +maintainers:
> +  - Linus Walleij <linus.walleij@linaro.org>
> +
> +properties:
> +  compatible:
> +    oneOf:
> +      - const: faraday,tve200
> +      - items:
> +          - const: cortina,gemini-tvc
> +          - const: faraday,tve200
> +
> +  reg:
> +    minItems: 1

maxItems: 1

They evaluate the same, but maxItems seems a bit more logical. 

> +
> +  interrupts:
> +    minItems: 1
> +
> +  clock-names:
> +    items:
> +      - const: PCLK
> +      - const: TVE
> +
> +  clocks:
> +    minItems: 2
> +
> +  resets:
> +    minItems: 1
> +
> +  "#address-cells":
> +    const: 1
> +
> +  "#size-cells":
> +    const: 0
> +
> +patternProperties:
> +  "^port@[0-9]+$":

Should be just 'port' or 'port@0', but really the former is preferred 
when only 1. 

Use the graph binding:

$ref: /schemas/graph.yaml#/properties/port

> +    type: object
> +    description: describes LCD panel signals, following the common binding

But this is not an LCD panel...

> +      for video transmitter interfaces; see
> +      Documentation/devicetree/bindings/media/video-interfaces.txt

Drop this reference. It's now a schema, but this isn't using anything 
from it.

> +      It should have one endpoint connected to a remote endpoint where
> +      the display is connected.
> +
> +    properties:
> +      reg:
> +        const: 0
> +
> +    required:
> +      - reg
> +
> +required:
> +  - compatible
> +  - reg
> +  - interrupts
> +  - clock-names
> +  - clocks
> +  - "#address-cells"
> +  - "#size-cells"
> +
> +additionalProperties: false
> +
> +examples:
> +  - |
> +    #include <dt-bindings/clock/cortina,gemini-clock.h>
> +    #include <dt-bindings/interrupt-controller/irq.h>
> +    #include <dt-bindings/reset/cortina,gemini-reset.h>
> +    display-controller@6a000000 {
> +      #address-cells = <1>;
> +      #size-cells = <0>;
> +      compatible = "faraday,tve200";
> +      reg = <0x6a000000 0x1000>;
> +      interrupts = <13 IRQ_TYPE_EDGE_RISING>;
> +      resets = <&syscon GEMINI_RESET_TVC>;
> +      clocks = <&syscon GEMINI_CLK_GATE_TVC>,
> +               <&syscon GEMINI_CLK_TVC>;
> +      clock-names = "PCLK", "TVE";
> +
> +      port@0 {
> +        reg = <0>;
> +        display_out: endpoint {
> +          remote-endpoint = <&panel_in>;
> +        };
> +      };
> +    };
> -- 
> 2.26.3
> 

WARNING: multiple messages have this Message-ID (diff)
From: Rob Herring <robh@kernel.org>
To: Corentin Labbe <clabbe@baylibre.com>
Cc: airlied@linux.ie, devicetree@vger.kernel.org,
	dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] dt-bindings: display: convert faraday,tve200 to YAML
Date: Mon, 17 May 2021 19:26:24 -0500	[thread overview]
Message-ID: <20210518002624.GA3346846@robh.at.kernel.org> (raw)
In-Reply-To: <20210511165448.422987-1-clabbe@baylibre.com>

On Tue, May 11, 2021 at 04:54:48PM +0000, Corentin Labbe wrote:
> Converts display/faraday,tve200.txt to yaml.
> 
> Signed-off-by: Corentin Labbe <clabbe@baylibre.com>
> ---
>  .../bindings/display/faraday,tve200.txt       | 54 -----------
>  .../bindings/display/faraday,tve200.yaml      | 92 +++++++++++++++++++
>  2 files changed, 92 insertions(+), 54 deletions(-)
>  delete mode 100644 Documentation/devicetree/bindings/display/faraday,tve200.txt
>  create mode 100644 Documentation/devicetree/bindings/display/faraday,tve200.yaml
> 
> diff --git a/Documentation/devicetree/bindings/display/faraday,tve200.txt b/Documentation/devicetree/bindings/display/faraday,tve200.txt
> deleted file mode 100644
> index 82e3bc0b7485..000000000000
> --- a/Documentation/devicetree/bindings/display/faraday,tve200.txt
> +++ /dev/null
> @@ -1,54 +0,0 @@
> -* Faraday TV Encoder TVE200
> -
> -Required properties:
> -
> -- compatible: must be one of:
> -	"faraday,tve200"
> -	"cortina,gemini-tvc", "faraday,tve200"
> -
> -- reg: base address and size of the control registers block
> -
> -- interrupts: contains an interrupt specifier for the interrupt
> -	line from the TVE200
> -
> -- clock-names: should contain "PCLK" for the clock line clocking the
> -	silicon and "TVE" for the 27MHz clock to the video driver
> -
> -- clocks: contains phandle and clock specifier pairs for the entries
> -	in the clock-names property. See
> -	Documentation/devicetree/bindings/clock/clock-bindings.txt
> -
> -Optional properties:
> -
> -- resets: contains the reset line phandle for the block
> -
> -Required sub-nodes:
> -
> -- port: describes LCD panel signals, following the common binding
> -	for video transmitter interfaces; see
> -	Documentation/devicetree/bindings/media/video-interfaces.txt
> -	This port should have the properties:
> -	reg = <0>;
> -	It should have one endpoint connected to a remote endpoint where
> -	the display is connected.
> -
> -Example:
> -
> -display-controller@6a000000 {
> -	#address-cells = <1>;
> -	#size-cells = <0>;
> -	compatible = "faraday,tve200";
> -	reg = <0x6a000000 0x1000>;
> -	interrupts = <13 IRQ_TYPE_EDGE_RISING>;
> -	resets = <&syscon GEMINI_RESET_TVC>;
> -	clocks = <&syscon GEMINI_CLK_GATE_TVC>,
> -		 <&syscon GEMINI_CLK_TVC>;
> -	clock-names = "PCLK", "TVE";
> -
> -	port@0 {
> -		reg = <0>;
> -		display_out: endpoint {
> -			remote-endpoint = <&panel_in>;
> -		};
> -	};
> -};
> diff --git a/Documentation/devicetree/bindings/display/faraday,tve200.yaml b/Documentation/devicetree/bindings/display/faraday,tve200.yaml
> new file mode 100644
> index 000000000000..3ab51e7e72af
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/display/faraday,tve200.yaml
> @@ -0,0 +1,92 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/display/faraday,tve200.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Faraday TV Encoder TVE200
> +
> +maintainers:
> +  - Linus Walleij <linus.walleij@linaro.org>
> +
> +properties:
> +  compatible:
> +    oneOf:
> +      - const: faraday,tve200
> +      - items:
> +          - const: cortina,gemini-tvc
> +          - const: faraday,tve200
> +
> +  reg:
> +    minItems: 1

maxItems: 1

They evaluate the same, but maxItems seems a bit more logical. 

> +
> +  interrupts:
> +    minItems: 1
> +
> +  clock-names:
> +    items:
> +      - const: PCLK
> +      - const: TVE
> +
> +  clocks:
> +    minItems: 2
> +
> +  resets:
> +    minItems: 1
> +
> +  "#address-cells":
> +    const: 1
> +
> +  "#size-cells":
> +    const: 0
> +
> +patternProperties:
> +  "^port@[0-9]+$":

Should be just 'port' or 'port@0', but really the former is preferred 
when only 1. 

Use the graph binding:

$ref: /schemas/graph.yaml#/properties/port

> +    type: object
> +    description: describes LCD panel signals, following the common binding

But this is not an LCD panel...

> +      for video transmitter interfaces; see
> +      Documentation/devicetree/bindings/media/video-interfaces.txt

Drop this reference. It's now a schema, but this isn't using anything 
from it.

> +      It should have one endpoint connected to a remote endpoint where
> +      the display is connected.
> +
> +    properties:
> +      reg:
> +        const: 0
> +
> +    required:
> +      - reg
> +
> +required:
> +  - compatible
> +  - reg
> +  - interrupts
> +  - clock-names
> +  - clocks
> +  - "#address-cells"
> +  - "#size-cells"
> +
> +additionalProperties: false
> +
> +examples:
> +  - |
> +    #include <dt-bindings/clock/cortina,gemini-clock.h>
> +    #include <dt-bindings/interrupt-controller/irq.h>
> +    #include <dt-bindings/reset/cortina,gemini-reset.h>
> +    display-controller@6a000000 {
> +      #address-cells = <1>;
> +      #size-cells = <0>;
> +      compatible = "faraday,tve200";
> +      reg = <0x6a000000 0x1000>;
> +      interrupts = <13 IRQ_TYPE_EDGE_RISING>;
> +      resets = <&syscon GEMINI_RESET_TVC>;
> +      clocks = <&syscon GEMINI_CLK_GATE_TVC>,
> +               <&syscon GEMINI_CLK_TVC>;
> +      clock-names = "PCLK", "TVE";
> +
> +      port@0 {
> +        reg = <0>;
> +        display_out: endpoint {
> +          remote-endpoint = <&panel_in>;
> +        };
> +      };
> +    };
> -- 
> 2.26.3
> 

  reply	other threads:[~2021-05-18  0:28 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-05-11 16:54 [PATCH] dt-bindings: display: convert faraday,tve200 to YAML Corentin Labbe
2021-05-11 16:54 ` Corentin Labbe
2021-05-18  0:26 ` Rob Herring [this message]
2021-05-18  0:26   ` Rob Herring
2021-05-18 18:38   ` LABBE Corentin
2021-05-18 18:38     ` LABBE Corentin
2021-05-18 21:55     ` Linus Walleij
2021-05-18 21:55       ` Linus Walleij

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=20210518002624.GA3346846@robh.at.kernel.org \
    --to=robh@kernel.org \
    --cc=airlied@linux.ie \
    --cc=clabbe@baylibre.com \
    --cc=daniel@ffwll.ch \
    --cc=devicetree@vger.kernel.org \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=linux-kernel@vger.kernel.org \
    /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.