diff mbox series

[V4,1/2] dt-bindings: display: bridge: lvds-codec: Document LVDS data mapping select

Message ID 20210727161357.8842-1-marex@denx.de
State New
Headers show
Series [V4,1/2] dt-bindings: display: bridge: lvds-codec: Document LVDS data mapping select | expand

Commit Message

Marek Vasut July 27, 2021, 4:13 p.m. UTC
Decoder input LVDS format is a property of the decoder chip or even
its strapping. Add DT property data-mapping the same way lvds-panel
does, to define the LVDS data mapping.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Cc: Rob Herring <robh+dt@kernel.org>
Cc: Sam Ravnborg <sam@ravnborg.org>
Cc: devicetree@vger.kernel.org
To: dri-devel@lists.freedesktop.org
---
V2: - Use allOf
    - Move the data-mapping to endpoint
V3: - Rebase on V2 submitted a while ago, reinstate changelog
    - Drop the allOf and un-rebase on previous pclk patch
V4: - port@1, remove $ref: /schemas/graph.yaml#/properties/port and
      add $ref: /schemas/graph.yaml#/$defs/port-base
---
 .../bindings/display/bridge/lvds-codec.yaml   | 33 ++++++++++++++++++-
 1 file changed, 32 insertions(+), 1 deletion(-)

Comments

Rob Herring Aug. 2, 2021, 8:53 p.m. UTC | #1
On Tue, 27 Jul 2021 18:13:56 +0200, Marek Vasut wrote:
> Decoder input LVDS format is a property of the decoder chip or even

> its strapping. Add DT property data-mapping the same way lvds-panel

> does, to define the LVDS data mapping.

> 

> Signed-off-by: Marek Vasut <marex@denx.de>

> Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

> Cc: Rob Herring <robh+dt@kernel.org>

> Cc: Sam Ravnborg <sam@ravnborg.org>

> Cc: devicetree@vger.kernel.org

> To: dri-devel@lists.freedesktop.org

> ---

> V2: - Use allOf

>     - Move the data-mapping to endpoint

> V3: - Rebase on V2 submitted a while ago, reinstate changelog

>     - Drop the allOf and un-rebase on previous pclk patch

> V4: - port@1, remove $ref: /schemas/graph.yaml#/properties/port and

>       add $ref: /schemas/graph.yaml#/$defs/port-base

> ---

>  .../bindings/display/bridge/lvds-codec.yaml   | 33 ++++++++++++++++++-

>  1 file changed, 32 insertions(+), 1 deletion(-)

> 


Reviewed-by: Rob Herring <robh@kernel.org>
Laurent Pinchart Oct. 5, 2021, 12:03 a.m. UTC | #2
Hi Marek,

Thank you for the patch.

On Tue, Jul 27, 2021 at 06:13:56PM +0200, Marek Vasut wrote:
> Decoder input LVDS format is a property of the decoder chip or even

> its strapping. Add DT property data-mapping the same way lvds-panel

> does, to define the LVDS data mapping.

> 

> Signed-off-by: Marek Vasut <marex@denx.de>

> Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

> Cc: Rob Herring <robh+dt@kernel.org>

> Cc: Sam Ravnborg <sam@ravnborg.org>

> Cc: devicetree@vger.kernel.org

> To: dri-devel@lists.freedesktop.org


Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>


And all my apologies for the delay.

> ---

> V2: - Use allOf

>     - Move the data-mapping to endpoint

> V3: - Rebase on V2 submitted a while ago, reinstate changelog

>     - Drop the allOf and un-rebase on previous pclk patch

> V4: - port@1, remove $ref: /schemas/graph.yaml#/properties/port and

>       add $ref: /schemas/graph.yaml#/$defs/port-base

> ---

>  .../bindings/display/bridge/lvds-codec.yaml   | 33 ++++++++++++++++++-

>  1 file changed, 32 insertions(+), 1 deletion(-)

> 

> diff --git a/Documentation/devicetree/bindings/display/bridge/lvds-codec.yaml b/Documentation/devicetree/bindings/display/bridge/lvds-codec.yaml

> index 304a1367faaa7..c0400c60f272a 100644

> --- a/Documentation/devicetree/bindings/display/bridge/lvds-codec.yaml

> +++ b/Documentation/devicetree/bindings/display/bridge/lvds-codec.yaml

> @@ -55,11 +55,26 @@ properties:

>            For LVDS decoders, port 0 is the LVDS input

>  

>        port@1:

> -        $ref: /schemas/graph.yaml#/properties/port

> +        $ref: /schemas/graph.yaml#/$defs/port-base

>          description: |

>            For LVDS encoders, port 1 is the LVDS output

>            For LVDS decoders, port 1 is the parallel output

>  

> +        properties:

> +          endpoint:

> +            $ref: /schemas/media/video-interfaces.yaml#

> +            unevaluatedProperties: false

> +

> +            properties:

> +              data-mapping:

> +                enum:

> +                  - jeida-18

> +                  - jeida-24

> +                  - vesa-24

> +                description: |

> +                  The color signals mapping order. See details in

> +                  Documentation/devicetree/bindings/display/panel/lvds.yaml

> +

>      required:

>        - port@0

>        - port@1

> @@ -71,6 +86,22 @@ properties:

>  

>    power-supply: true

>  

> +if:

> +  not:

> +    properties:

> +      compatible:

> +        contains:

> +          const: lvds-decoder

> +then:

> +  properties:

> +    ports:

> +      properties:

> +        port@1:

> +          properties:

> +            endpoint:

> +              properties:

> +                data-mapping: false

> +

>  required:

>    - compatible

>    - ports


-- 
Regards,

Laurent Pinchart
Laurent Pinchart Oct. 5, 2021, 12:11 a.m. UTC | #3
On Tue, Oct 05, 2021 at 03:03:40AM +0300, Laurent Pinchart wrote:
> Hi Marek,

> 

> Thank you for the patch.

> 

> On Tue, Jul 27, 2021 at 06:13:56PM +0200, Marek Vasut wrote:

> > Decoder input LVDS format is a property of the decoder chip or even

> > its strapping. Add DT property data-mapping the same way lvds-panel

> > does, to define the LVDS data mapping.

> > 

> > Signed-off-by: Marek Vasut <marex@denx.de>

> > Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

> > Cc: Rob Herring <robh+dt@kernel.org>

> > Cc: Sam Ravnborg <sam@ravnborg.org>

> > Cc: devicetree@vger.kernel.org

> > To: dri-devel@lists.freedesktop.org

> 

> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>


I think I have to retract this, see below :-(

> And all my apologies for the delay.

> 

> > ---

> > V2: - Use allOf

> >     - Move the data-mapping to endpoint

> > V3: - Rebase on V2 submitted a while ago, reinstate changelog

> >     - Drop the allOf and un-rebase on previous pclk patch

> > V4: - port@1, remove $ref: /schemas/graph.yaml#/properties/port and

> >       add $ref: /schemas/graph.yaml#/$defs/port-base

> > ---

> >  .../bindings/display/bridge/lvds-codec.yaml   | 33 ++++++++++++++++++-

> >  1 file changed, 32 insertions(+), 1 deletion(-)

> > 

> > diff --git a/Documentation/devicetree/bindings/display/bridge/lvds-codec.yaml b/Documentation/devicetree/bindings/display/bridge/lvds-codec.yaml

> > index 304a1367faaa7..c0400c60f272a 100644

> > --- a/Documentation/devicetree/bindings/display/bridge/lvds-codec.yaml

> > +++ b/Documentation/devicetree/bindings/display/bridge/lvds-codec.yaml

> > @@ -55,11 +55,26 @@ properties:

> >            For LVDS decoders, port 0 is the LVDS input

> >  

> >        port@1:

> > -        $ref: /schemas/graph.yaml#/properties/port

> > +        $ref: /schemas/graph.yaml#/$defs/port-base

> >          description: |

> >            For LVDS encoders, port 1 is the LVDS output

> >            For LVDS decoders, port 1 is the parallel output

> >  

> > +        properties:

> > +          endpoint:

> > +            $ref: /schemas/media/video-interfaces.yaml#

> > +            unevaluatedProperties: false

> > +

> > +            properties:

> > +              data-mapping:

> > +                enum:

> > +                  - jeida-18

> > +                  - jeida-24

> > +                  - vesa-24

> > +                description: |

> > +                  The color signals mapping order. See details in

> > +                  Documentation/devicetree/bindings/display/panel/lvds.yaml

> > +


Shouldn't this be for port 0 ? For decoders, port 1 is the parallel
side, not the LVDS side.

With this fixed, you can retain the

Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>


> >      required:

> >        - port@0

> >        - port@1

> > @@ -71,6 +86,22 @@ properties:

> >  

> >    power-supply: true

> >  

> > +if:

> > +  not:

> > +    properties:

> > +      compatible:

> > +        contains:

> > +          const: lvds-decoder

> > +then:

> > +  properties:

> > +    ports:

> > +      properties:

> > +        port@1:

> > +          properties:

> > +            endpoint:

> > +              properties:

> > +                data-mapping: false

> > +

> >  required:

> >    - compatible

> >    - ports


-- 
Regards,

Laurent Pinchart
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/display/bridge/lvds-codec.yaml b/Documentation/devicetree/bindings/display/bridge/lvds-codec.yaml
index 304a1367faaa7..c0400c60f272a 100644
--- a/Documentation/devicetree/bindings/display/bridge/lvds-codec.yaml
+++ b/Documentation/devicetree/bindings/display/bridge/lvds-codec.yaml
@@ -55,11 +55,26 @@  properties:
           For LVDS decoders, port 0 is the LVDS input
 
       port@1:
-        $ref: /schemas/graph.yaml#/properties/port
+        $ref: /schemas/graph.yaml#/$defs/port-base
         description: |
           For LVDS encoders, port 1 is the LVDS output
           For LVDS decoders, port 1 is the parallel output
 
+        properties:
+          endpoint:
+            $ref: /schemas/media/video-interfaces.yaml#
+            unevaluatedProperties: false
+
+            properties:
+              data-mapping:
+                enum:
+                  - jeida-18
+                  - jeida-24
+                  - vesa-24
+                description: |
+                  The color signals mapping order. See details in
+                  Documentation/devicetree/bindings/display/panel/lvds.yaml
+
     required:
       - port@0
       - port@1
@@ -71,6 +86,22 @@  properties:
 
   power-supply: true
 
+if:
+  not:
+    properties:
+      compatible:
+        contains:
+          const: lvds-decoder
+then:
+  properties:
+    ports:
+      properties:
+        port@1:
+          properties:
+            endpoint:
+              properties:
+                data-mapping: false
+
 required:
   - compatible
   - ports