Message ID | 1573157463-14070-4-git-send-email-fabrizio.castro@bp.renesas.com |
---|---|
State | New |
Headers | show |
Series |
|
Related | show |
Hello Laurent, Thank you for your feedback! > From: linux-renesas-soc-owner@vger.kernel.org <linux-renesas-soc-owner@vger.kernel.org> On Behalf Of Laurent Pinchart > Sent: 07 November 2019 20:38 > Subject: Re: [PATCH v3 3/7] dt-bindings: display: bridge: Repurpose lvds-encoder > > Hi Fabrizio, > > Thank you for the patch. > > On Thu, Nov 07, 2019 at 08:10:59PM +0000, Fabrizio Castro wrote: > > In an effort to repurpose lvds-encoder.c to also serve the > > function of LVDS decoders, we ended up defining a new "generic" > > compatible string, therefore adapt the dt-bindings to fit the > > new purpose. > > > > Signed-off-by: Fabrizio Castro <fabrizio.castro@bp.renesas.com> > > > > --- > > v2->v3: > > * Extracted conversion to lvds-codec as per Rob's comment > > v1->v2: > > * Converted to dt-schema as per Neil's comment > > --- > > .../bindings/display/bridge/lvds-codec.yaml | 120 +++++++++++++++++++++ > > .../bindings/display/bridge/lvds-transmitter.yaml | 91 ---------------- > > -M1 would also help a lot here. Will do > > > 2 files changed, 120 insertions(+), 91 deletions(-) > > create mode 100644 Documentation/devicetree/bindings/display/bridge/lvds-codec.yaml > > delete mode 100644 Documentation/devicetree/bindings/display/bridge/lvds-transmitter.yaml > > > > diff --git a/Documentation/devicetree/bindings/display/bridge/lvds-codec.yaml > b/Documentation/devicetree/bindings/display/bridge/lvds-codec.yaml > > new file mode 100644 > > index 0000000..3ebdf96 > > --- /dev/null > > +++ b/Documentation/devicetree/bindings/display/bridge/lvds-codec.yaml > > @@ -0,0 +1,120 @@ > > +# SPDX-License-Identifier: GPL-2.0 > > +%YAML 1.2 > > +--- > > +$id: http://devicetree.org/schemas/display/bridge/lvds-codec.yaml# > > +$schema: http://devicetree.org/meta-schemas/core.yaml# > > + > > +title: Transparent LVDS encoders and LVDS decoders > > s/LVDS decoders/decoders/ ? Will replace > > > + > > +maintainers: > > + - Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> > > + > > +description: | > > + This binding supports transparent LVDS encoders and LVDS decoders that don't > > Same here. Will do Thanks, Fab > > Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> > > > + 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 > > + additional properties not listed here, must define its own binding and > > + list a device specific compatible first followed by the generic compatible > > + enum: > > + - lvds-encoder # for LVDS encoders > > + - lvds-decoder # for LVDS decoders > > + > > + 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: | > > + With LVDS encoders port 0 is for parallel input > > + With LVDS decoders port 0 is for LVDS input > > + > > + port@1: > > + type: object > > + description: | > > + With LVDS encoders port 1 is for LVDS output > > + With LVDS decoders port 1 is for parallel 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>; > > + }; > > + }; > > + }; > > + }; > > + > > + - | > > + lvds-decoder { > > + compatible = "lvds-decoder"; > > + > > + ports { > > + #address-cells = <1>; > > + #size-cells = <0>; > > + > > + port@0 { > > + reg = <0>; > > + > > + lvds_dec_in: endpoint { > > + remote-endpoint = <&display_out_lvds>; > > + }; > > + }; > > + > > + port@1 { > > + reg = <1>; > > + > > + lvds_dec_out: endpoint { > > + remote-endpoint = <&rgb_panel_in>; > > + }; > > + }; > > + }; > > + }; > > + > > +... > > diff --git a/Documentation/devicetree/bindings/display/bridge/lvds-transmitter.yaml > b/Documentation/devicetree/bindings/display/bridge/lvds-transmitter.yaml > > deleted file mode 100644 > > index 5be163a..0000000 > > --- a/Documentation/devicetree/bindings/display/bridge/lvds-transmitter.yaml > > +++ /dev/null > > @@ -1,91 +0,0 @@ > > -# 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@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 > > - additional properties not listed here, must define its own binding and > > - list a device specific compatible first followed by the generic compatible > > - enum: > > - - lvds-encoder > > - > > - 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>; > > - }; > > - }; > > - }; > > - }; > > - > > -... > > -- > > 2.7.4 > > > > -- > Regards, > > Laurent Pinchart
diff --git a/Documentation/devicetree/bindings/display/bridge/lvds-codec.yaml b/Documentation/devicetree/bindings/display/bridge/lvds-codec.yaml new file mode 100644 index 0000000..3ebdf96 --- /dev/null +++ b/Documentation/devicetree/bindings/display/bridge/lvds-codec.yaml @@ -0,0 +1,120 @@ +# SPDX-License-Identifier: GPL-2.0 +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/display/bridge/lvds-codec.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Transparent LVDS encoders and LVDS decoders + +maintainers: + - Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> + +description: | + This binding supports transparent LVDS encoders and LVDS decoders 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 + additional properties not listed here, must define its own binding and + list a device specific compatible first followed by the generic compatible + enum: + - lvds-encoder # for LVDS encoders + - lvds-decoder # for LVDS decoders + + 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: | + With LVDS encoders port 0 is for parallel input + With LVDS decoders port 0 is for LVDS input + + port@1: + type: object + description: | + With LVDS encoders port 1 is for LVDS output + With LVDS decoders port 1 is for parallel 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>; + }; + }; + }; + }; + + - | + lvds-decoder { + compatible = "lvds-decoder"; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + + lvds_dec_in: endpoint { + remote-endpoint = <&display_out_lvds>; + }; + }; + + port@1 { + reg = <1>; + + lvds_dec_out: endpoint { + remote-endpoint = <&rgb_panel_in>; + }; + }; + }; + }; + +... diff --git a/Documentation/devicetree/bindings/display/bridge/lvds-transmitter.yaml b/Documentation/devicetree/bindings/display/bridge/lvds-transmitter.yaml deleted file mode 100644 index 5be163a..0000000 --- a/Documentation/devicetree/bindings/display/bridge/lvds-transmitter.yaml +++ /dev/null @@ -1,91 +0,0 @@ -# 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@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 - additional properties not listed here, must define its own binding and - list a device specific compatible first followed by the generic compatible - enum: - - lvds-encoder - - 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>; - }; - }; - }; - }; - -...
In an effort to repurpose lvds-encoder.c to also serve the function of LVDS decoders, we ended up defining a new "generic" compatible string, therefore adapt the dt-bindings to fit the new purpose. Signed-off-by: Fabrizio Castro <fabrizio.castro@bp.renesas.com> --- v2->v3: * Extracted conversion to lvds-codec as per Rob's comment v1->v2: * Converted to dt-schema as per Neil's comment --- .../bindings/display/bridge/lvds-codec.yaml | 120 +++++++++++++++++++++ .../bindings/display/bridge/lvds-transmitter.yaml | 91 ---------------- 2 files changed, 120 insertions(+), 91 deletions(-) create mode 100644 Documentation/devicetree/bindings/display/bridge/lvds-codec.yaml delete mode 100644 Documentation/devicetree/bindings/display/bridge/lvds-transmitter.yaml