Re: [PATCH 3/4] dt-bindings: display: bridge: thc63lvd1024: Convert binding to YAML

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

 



Hi Jacopo,

On Mon, Apr 06, 2020 at 08:40:31AM +0200, Jacopo Mondi wrote:
> On Mon, Apr 06, 2020 at 02:23:17AM +0300, Laurent Pinchart wrote:
> > Convert the Thine THC63LVD1024 text binding to YAML.
> >
> > Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx>
> > ---
> >  .../display/bridge/thine,thc63lvd1024.txt     |  66 ----------
> >  .../display/bridge/thine,thc63lvd1024.yaml    | 121 ++++++++++++++++++
> >  2 files changed, 121 insertions(+), 66 deletions(-)
> >  delete mode 100644 Documentation/devicetree/bindings/display/bridge/thine,thc63lvd1024.txt
> >  create mode 100644 Documentation/devicetree/bindings/display/bridge/thine,thc63lvd1024.yaml
> >
> > diff --git a/Documentation/devicetree/bindings/display/bridge/thine,thc63lvd1024.txt b/Documentation/devicetree/bindings/display/bridge/thine,thc63lvd1024.txt
> > deleted file mode 100644
> > index d17d1e5820d7..000000000000
> > --- a/Documentation/devicetree/bindings/display/bridge/thine,thc63lvd1024.txt
> > +++ /dev/null
> > @@ -1,66 +0,0 @@
> > -Thine Electronics THC63LVD1024 LVDS decoder
> > --------------------------------------------
> > -
> > -The THC63LVD1024 is a dual link LVDS receiver designed to convert LVDS streams
> > -to parallel data outputs. The chip supports single/dual input/output modes,
> > -handling up to two LVDS input streams and up to two digital CMOS/TTL outputs.
> > -
> > -Single or dual operation mode, output data mapping and DDR output modes are
> > -configured through input signals and the chip does not expose any control bus.
> > -
> > -Required properties:
> > -- compatible: Shall be "thine,thc63lvd1024"
> > -- vcc-supply: Power supply for TTL output, TTL CLOCKOUT signal, LVDS input,
> > -  PPL and digital circuitry
> > -
> > -Optional properties:
> > -- powerdown-gpios: Power down GPIO signal, pin name "/PDWN". Active low
> > -- oe-gpios: Output enable GPIO signal, pin name "OE". Active high
> > -
> > -The THC63LVD1024 video port connections are modeled according
> > -to OF graph bindings specified by Documentation/devicetree/bindings/graph.txt
> > -
> > -Required video port nodes:
> > -- port@0: First LVDS input port
> > -- port@2: First digital CMOS/TTL parallel output
> > -
> > -Optional video port nodes:
> > -- port@1: Second LVDS input port
> > -- port@3: Second digital CMOS/TTL parallel output
> > -
> > -The device can operate in single-link mode or dual-link mode. In single-link
> > -mode, all pixels are received on port@0, and port@1 shall not contain any
> > -endpoint. In dual-link mode, even-numbered pixels are received on port@0 and
> > -odd-numbered pixels on port@1, and both port@0 and port@1 shall contain
> > -endpoints.
> > -
> > -Example:
> > ---------
> > -
> > -	thc63lvd1024: lvds-decoder {
> > -		compatible = "thine,thc63lvd1024";
> > -
> > -		vcc-supply = <&reg_lvds_vcc>;
> > -		powerdown-gpios = <&gpio4 15 GPIO_ACTIVE_LOW>;
> > -
> > -		ports {
> > -			#address-cells = <1>;
> > -			#size-cells = <0>;
> > -
> > -			port@0 {
> > -				reg = <0>;
> > -
> > -				lvds_dec_in_0: endpoint {
> > -					remote-endpoint = <&lvds_out>;
> > -				};
> > -			};
> > -
> > -			port@2{
> > -				reg = <2>;
> > -
> > -				lvds_dec_out_2: endpoint {
> > -					remote-endpoint = <&adv7511_in>;
> > -				};
> > -			};
> > -		};
> > -	};
> > diff --git a/Documentation/devicetree/bindings/display/bridge/thine,thc63lvd1024.yaml b/Documentation/devicetree/bindings/display/bridge/thine,thc63lvd1024.yaml
> > new file mode 100644
> > index 000000000000..469ac4a34273
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/display/bridge/thine,thc63lvd1024.yaml
> > @@ -0,0 +1,121 @@
> > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> > +%YAML 1.2
> > +---
> > +$id: http://devicetree.org/schemas/display/bridge/thine,thc63lvd1024.yaml#
> > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > +
> > +title: Thine Electronics THC63LVD1024 LVDS Decoder
> > +
> > +maintainers:
> > +  - Jacopo Mondi <jacopo+renesas@xxxxxxxxxx>
> 
> Ack
> 
> > +  - Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx>
> > +
> > +description: |
> > +  The THC63LVD1024 is a dual link LVDS receiver designed to convert LVDS
> > +  streams to parallel data outputs. The chip supports single/dual input/output
> > +  modes, handling up to two LVDS input streams and up to two digital CMOS/TTL
> > +  outputs.
> > +
> > +  Single or dual operation mode, output data mapping and DDR output modes are
> > +  configured through input signals and the chip does not expose any control
> > +  bus.
> > +
> > +properties:
> > +  compatible:
> > +    const: thine,thc63lvd1024
> > +
> > +  ports:
> > +    type: object
> > +    description: |
> > +      This device has four video ports. Their connections are modeled using the
> > +      OF graph bindings specified in Documentation/devicetree/bindings/graph.txt.
> > +
> > +      The device can operate in single-link mode or dual-link mode. In
> > +      single-link mode, all pixels are received on port@0, and port@1 shall not
> > +      contain any endpoint. In dual-link mode, even-numbered pixels are
> > +      received on port@0 and odd-numbered pixels on port@1, and both port@0 and
> > +      port@1 shall contain endpoints.
> 
> I wonder why we have documented only single/dual input mode and not
> single/dual output mode too. The driver only supports single input and
> single output, but this might be a good occasion to document the
> output port mapping as well.
> 
> How about
> 
>       The device can operate in single or dual input and output modes.
> 
>       When operating in single input mode, all pixels are received on
>       port@0, and port@1 shall not contain any endpoint. In dual input
>       mode, even-numbered pixels are received on port@0 and
>       odd-numbered pixels on port@1, and both port@0 and port@1 shall
>       contain endpoints.
> 
>       When operating in single output mode all pixels are output from
>       the first CMOS/TTL port and port@3 shall not contain any
>       endpoint. In dual output mode pixels are output from both
>       CMOS/TTL ports and both port@2 and port@3 shall contain
>       endpoints.

This is a good idea, but I'll split it to a separate patch as it makes
sense to review it independently of the conversion.

> With or without this, as the new bindings are not worse than what they
> where already:
> 
> Reviewed-by: Jacopo Mondi <jacopo+renesas@xxxxxxxxxx>
> 
> > +
> > +    properties:
> > +      '#address-cells':
> > +        const: 1
> > +
> > +      '#size-cells':
> > +        const: 0
> > +
> > +      port@0:
> > +        type: object
> > +        description: First LVDS input port
> > +
> > +      port@1:
> > +        type: object
> > +        description: Second LVDS input port
> > +
> > +      port@2:
> > +        type: object
> > +        description: First digital CMOS/TTL parallel output
> > +
> > +      port@3:
> > +        type: object
> > +        description: Second digital CMOS/TTL parallel output
> > +
> > +    required:
> > +      - port@0
> > +      - port@2
> > +
> > +    additionalProperties: false
> > +
> > +  oe-gpios:
> > +    maxItems: 1
> > +    description: Output enable GPIO signal, pin name "OE", active high.
> > +
> > +  powerdown-gpios:
> > +    maxItems: 1
> > +    description: Power down GPIO signal, pin name "/PDWN", active low.
> > +
> > +  vcc-supply:
> > +    maxItems: 1
> > +    description:
> > +      Power supply for the TTL output, TTL CLOCKOUT signal, LVDS input, PLL and
> > +      digital circuitry.
> > +
> > +required:
> > +  - compatible
> > +  - ports
> > +  - vcc-supply
> > +
> > +additionalProperties: false
> > +
> > +examples:
> > +  - |
> > +    #include <dt-bindings/gpio/gpio.h>
> > +
> > +    lvds-decoder {
> > +        compatible = "thine,thc63lvd1024";
> > +
> > +        vcc-supply = <&reg_lvds_vcc>;
> > +        powerdown-gpios = <&gpio4 15 GPIO_ACTIVE_LOW>;
> > +
> > +        ports {
> > +            #address-cells = <1>;
> > +            #size-cells = <0>;
> > +
> > +            port@0 {
> > +                reg = <0>;
> > +
> > +                lvds_dec_in_0: endpoint {
> > +                    remote-endpoint = <&lvds_out>;
> > +                };
> > +            };
> > +
> > +            port@2 {
> > +                reg = <2>;
> > +
> > +                lvds_dec_out_2: endpoint {
> > +                    remote-endpoint = <&adv7511_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