[3/4] dt-bindings: display: bridge: thc63lvd1024: Convert binding to YAML
diff mbox series

Message ID 20200405232318.26833-4-laurent.pinchart+renesas@ideasonboard.com
State New
Delegated to: Kieran Bingham
Headers show
Series
  • dt-bindings: display: bridge: Convert bindings used by R-Car DU to YAML
Related show

Commit Message

Laurent Pinchart April 5, 2020, 11:23 p.m. UTC
Convert the Thine THC63LVD1024 text binding to YAML.

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
---
 .../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

Comments

Jacopo Mondi April 6, 2020, 6:40 a.m. UTC | #1
Hi Laurent,

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@ideasonboard.com>
> ---
>  .../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@jmondi.org>

Ack

> +  - Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
> +
> +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.

With or without this, as the new bindings are not worse than what they
where already:

Reviewed-by: Jacopo Mondi <jacopo+renesas@jmondi.org>

Thanks
   j

> +
> +    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
>
Maxime Ripard April 6, 2020, 7:48 a.m. UTC | #2
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@ideasonboard.com>

Acked-by: Maxime Ripard <mripard@kernel.org>

Maxime
Laurent Pinchart April 6, 2020, 11:15 a.m. UTC | #3
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@ideasonboard.com>
> > ---
> >  .../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@jmondi.org>
> 
> Ack
> 
> > +  - Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
> > +
> > +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@jmondi.org>
> 
> > +
> > +    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>;
> > +                };
> > +            };
> > +        };
> > +    };
> > +
> > +...
Rob Herring April 14, 2020, 10:01 p.m. UTC | #4
On Mon,  6 Apr 2020 02:23:17 +0300, Laurent Pinchart wrote:
> Convert the Thine THC63LVD1024 text binding to YAML.
> 
> Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
> ---
>  .../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
> 

Reviewed-by: Rob Herring <robh@kernel.org>

Patch
diff mbox series

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@jmondi.org>
+  - Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
+
+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.
+
+    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>;
+                };
+            };
+        };
+    };
+
+...