[PATCH v3 1/7] dt-bindings: display: bridge: Convert lvds-transmitter binding to json-schema
Laurent Pinchart
laurent.pinchart at ideasonboard.com
Fri Nov 8 10:54:12 UTC 2019
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 at bp.renesas.com>
> > >
> > > ---
> > > 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 at 0 {
> > > - reg = <0>;
> > > -
> > > - lvds_enc_in: endpoint {
> > > - remote-endpoint = <&display_out_rgb>;
> > > - };
> > > - };
> > > -
> > > - port at 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 at ideasonboard.com>
> > > +
> > > +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 at 0:
> > > + type: object
> > > + description: |
> > > + Port 0 is for parallel input
> > > +
> > > + port at 1:
> > > + type: object
> > > + description: |
> > > + Port 1 is for LVDS output
> > > +
> > > + required:
> > > + - port at 0
> > > + - port at 1
> > > +
> > > +required:
> > > + - compatible
> > > + - ports
> > > +
> > > +examples:
> > > + - |
> > > + lvds-encoder {
> > > + compatible = "lvds-encoder";
> > > +
> > > + ports {
> > > + #address-cells = <1>;
> > > + #size-cells = <0>;
> > > +
> > > + port at 0 {
> > > + reg = <0>;
> > > +
> > > + lvds_enc_in: endpoint {
> > > + remote-endpoint = <&display_out_rgb>;
> > > + };
> > > + };
> > > +
> > > + port at 1 {
> > > + reg = <1>;
> > > +
> > > + lvds_enc_out: endpoint {
> > > + remote-endpoint = <&lvds_panel_in>;
> > > + };
> > > + };
> > > + };
> > > + };
> > > +
> > > +...
--
Regards,
Laurent Pinchart
More information about the dri-devel
mailing list