RE: [PATCH v3 1/7] dt-bindings: display: bridge: Convert lvds-transmitter binding to json-schema

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello Laurent,

Thank you for your feedback!

> From: linux-renesas-soc-owner@xxxxxxxxxxxxxxx <linux-renesas-soc-owner@xxxxxxxxxxxxxxx> On Behalf Of Laurent Pinchart
> Sent: 07 November 2019 20:21
> Subject: Re: [PATCH v3 1/7] dt-bindings: display: bridge: Convert lvds-transmitter binding to json-schema
> 
> Hi Fabrizio,
> 
> Thank you for the patch.
> 
> On Thu, Nov 07, 2019 at 08:10:57PM +0000, Fabrizio Castro wrote:
> > Convert the lvds-transmitter binding to DT schema format using
> > json-schema.
> >
> > Signed-off-by: Fabrizio Castro <fabrizio.castro@xxxxxxxxxxxxxx>
> >
> > ---
> > v2->v3:
> > * Extracted conversion to dt-schema as per Rob's comment
> > v1->v2:
> > * Converted to dt-schema as per Neil's comment
> > ---
> >  .../bindings/display/bridge/lvds-transmitter.txt   | 66 ----------------
> >  .../bindings/display/bridge/lvds-transmitter.yaml  | 91 ++++++++++++++++++++++
> >  2 files changed, 91 insertions(+), 66 deletions(-)
> >  delete mode 100644 Documentation/devicetree/bindings/display/bridge/lvds-transmitter.txt
> >  create mode 100644 Documentation/devicetree/bindings/display/bridge/lvds-transmitter.yaml
> >
> > diff --git a/Documentation/devicetree/bindings/display/bridge/lvds-transmitter.txt
> b/Documentation/devicetree/bindings/display/bridge/lvds-transmitter.txt
> > deleted file mode 100644
> > index 60091db..0000000
> > --- a/Documentation/devicetree/bindings/display/bridge/lvds-transmitter.txt
> > +++ /dev/null
> > @@ -1,66 +0,0 @@
> > -Parallel to LVDS Encoder
> > -------------------------
> > -
> > -This binding supports the parallel to LVDS encoders that don't require any
> > -configuration.
> > -
> > -LVDS is a physical layer specification defined in ANSI/TIA/EIA-644-A. Multiple
> > -incompatible data link layers have been used over time to transmit image data
> > -to LVDS panels. This binding targets devices compatible with the following
> > -specifications only.
> > -
> > -[JEIDA] "Digital Interface Standards for Monitor", JEIDA-59-1999, February
> > -1999 (Version 1.0), Japan Electronic Industry Development Association (JEIDA)
> > -[LDI] "Open LVDS Display Interface", May 1999 (Version 0.95), National
> > -Semiconductor
> > -[VESA] "VESA Notebook Panel Standard", October 2007 (Version 1.0), Video
> > -Electronics Standards Association (VESA)
> > -
> > -Those devices have been marketed under the FPD-Link and FlatLink brand names
> > -among others.
> > -
> > -
> > -Required properties:
> > -
> > -- compatible: Must be "lvds-encoder"
> > -
> > -  Any encoder compatible with this generic binding, but with additional
> > -  properties not listed here, must list a device specific compatible first
> > -  followed by this generic compatible.
> > -
> > -Required nodes:
> > -
> > -This device has two video ports. Their connections are modeled using the OF
> > -graph bindings specified in Documentation/devicetree/bindings/graph.txt.
> > -
> > -- Video port 0 for parallel input
> > -- Video port 1 for LVDS output
> > -
> > -
> > -Example
> > --------
> > -
> > -lvds-encoder {
> > -	compatible = "lvds-encoder";
> > -
> > -	ports {
> > -		#address-cells = <1>;
> > -		#size-cells = <0>;
> > -
> > -		port@0 {
> > -			reg = <0>;
> > -
> > -			lvds_enc_in: endpoint {
> > -				remote-endpoint = <&display_out_rgb>;
> > -			};
> > -		};
> > -
> > -		port@1 {
> > -			reg = <1>;
> > -
> > -			lvds_enc_out: endpoint {
> > -				remote-endpoint = <&lvds_panel_in>;
> > -			};
> > -		};
> > -	};
> > -};
> > diff --git a/Documentation/devicetree/bindings/display/bridge/lvds-transmitter.yaml
> b/Documentation/devicetree/bindings/display/bridge/lvds-transmitter.yaml
> > new file mode 100644
> > index 0000000..5be163a
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/display/bridge/lvds-transmitter.yaml
> > @@ -0,0 +1,91 @@
> > +# SPDX-License-Identifier: GPL-2.0
> > +%YAML 1.2
> > +---
> > +$id: http://devicetree.org/schemas/display/bridge/lvds-transmitter.yaml#
> > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > +
> > +title: Parallel to LVDS Encoder
> > +
> > +maintainers:
> > +  - Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx>
> > +
> > +description: |
> > +  This binding supports the parallel to LVDS encoders that don't require any
> > +  configuration.
> > +
> > +  LVDS is a physical layer specification defined in ANSI/TIA/EIA-644-A. Multiple
> > +  incompatible data link layers have been used over time to transmit image data
> > +  to LVDS panels. This binding targets devices compatible with the following
> > +  specifications only.
> > +
> > +  [JEIDA] "Digital Interface Standards for Monitor", JEIDA-59-1999, February
> > +  1999 (Version 1.0), Japan Electronic Industry Development Association (JEIDA)
> > +  [LDI] "Open LVDS Display Interface", May 1999 (Version 0.95), National
> > +  Semiconductor
> > +  [VESA] "VESA Notebook Panel Standard", October 2007 (Version 1.0), Video
> > +  Electronics Standards Association (VESA)
> > +
> > +  Those devices have been marketed under the FPD-Link and FlatLink brand names
> > +  among others.
> > +
> > +properties:
> > +  compatible:
> > +    description: |
> > +      Any encoder or decoder compatible with this generic binding, but with
> 
> I think "or decoder" should be added in patch 3/7.

Good catch, will fix.

> 
> > +      additional properties not listed here, must define its own binding and
> > +      list a device specific compatible first followed by the generic compatible
> 
> s/compatible/compatible./

Will change

> 
> > +    enum:
> > +      - lvds-encoder
> > +
> 
> How is this binding supposed to be used, should LVDS encoder bindings
> reference it with $ref ? If so, how do those bindings extend the
> compatible property ?

I think for the time being we could simply list the compatible devices straight
into this binding and forget about referencing this with ref until we have a
use case that requires an extension that's not suitable for the generic case
(but this is probably highly unlikely as this is for transparent devices, which
means that if there is anything missing is probably worth implementing in the
generic driver as others may benefit from it).

Is this going to require a tidy? For example, should we absorb
Documentation/devicetree/bindings/display/bridge/ti,ds90c185.txt ?
Also, I have found an undocumented compatible ("ti,sn75lvds83") used
in a node with "lvds-encoder" as generic fallback, shall we incorporate
that one too?

We should also describe powerdown-gpio, somehow its documentation was
left behind.

Thanks,
Fab

> 
> > +  ports:
> > +    type: object
> > +    description: |
> > +      This device has two video ports. Their connections are modeled using the
> > +      OF graph bindings specified in Documentation/devicetree/bindings/graph.txt
> > +    properties:
> > +      port@0:
> > +        type: object
> > +        description: |
> > +          Port 0 is for parallel input
> > +
> > +      port@1:
> > +        type: object
> > +        description: |
> > +          Port 1 is for LVDS output
> > +
> > +    required:
> > +      - port@0
> > +      - port@1
> > +
> > +required:
> > +  - compatible
> > +  - ports
> > +
> > +examples:
> > +  - |
> > +    lvds-encoder {
> > +      compatible = "lvds-encoder";
> > +
> > +      ports {
> > +        #address-cells = <1>;
> > +        #size-cells = <0>;
> > +
> > +        port@0 {
> > +          reg = <0>;
> > +
> > +          lvds_enc_in: endpoint {
> > +            remote-endpoint = <&display_out_rgb>;
> > +          };
> > +        };
> > +
> > +        port@1 {
> > +          reg = <1>;
> > +
> > +          lvds_enc_out: endpoint {
> > +            remote-endpoint = <&lvds_panel_in>;
> > +          };
> > +        };
> > +      };
> > +    };
> > +
> > +...
> 
> --
> Regards,
> 
> Laurent Pinchart
_______________________________________________
dri-devel mailing list
dri-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/dri-devel




[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux