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]

 



Hi Fabrizio,

On Fri, Nov 08, 2019 at 09:15:02AM +0000, Fabrizio Castro wrote:
> On 07 November 2019 20:21 Laurent Pinchart wrote:
> > 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?

I think we should, yes.

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

That would be useful, yes.

> > > +  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



[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux