[PATCH v4 08/13] dt-bindings: display: Document dual-link LVDS display common properties

Biju Das biju.das.jz at bp.renesas.com
Tue Oct 29 07:33:00 UTC 2024


Hi Liu Ying,

> -----Original Message-----
> From: Liu Ying <victor.liu at nxp.com>
> Sent: 28 October 2024 02:38
> Subject: [PATCH v4 08/13] dt-bindings: display: Document dual-link LVDS display common properties
> 
> Dual-link LVDS displays receive odd pixels and even pixels separately from dual LVDS links.  One link
> receives odd pixels and the other receives even pixels.  Some of those displays may also use only one
> LVDS link to receive all pixels, being odd and even agnostic.  Document common properties for those
> displays by extending LVDS display common properties defined in lvds.yaml.
> 
> Suggested-by: Dmitry Baryshkov <dmitry.baryshkov at linaro.org>
> Signed-off-by: Liu Ying <victor.liu at nxp.com>
> ---
> v4:
> * Squash change for advantech,idk-2121wr.yaml and
>   panel-simple-lvds-dual-ports.yaml with lvds-dual-ports.yaml.  (Rob)
> * Improve description in lvds-dual-ports.yaml.  (Krzysztof)
> 
> v3:
> * New patch.  (Dmitry)
> 
>  .../bindings/display/lvds-dual-ports.yaml     | 76 +++++++++++++++++++
>  .../display/panel/advantech,idk-2121wr.yaml   | 14 +---
>  .../panel/panel-simple-lvds-dual-ports.yaml   | 20 +----
>  3 files changed, 78 insertions(+), 32 deletions(-)  create mode 100644
> Documentation/devicetree/bindings/display/lvds-dual-ports.yaml
> 
> diff --git a/Documentation/devicetree/bindings/display/lvds-dual-ports.yaml
> b/Documentation/devicetree/bindings/display/lvds-dual-ports.yaml
> new file mode 100644
> index 000000000000..5f7a30640404
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/display/lvds-dual-ports.yaml
> @@ -0,0 +1,76 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) %YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/display/lvds-dual-ports.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Dual-link LVDS Display Common Properties
> +
> +maintainers:
> +  - Liu Ying <victor.liu at nxp.com>
> +
> +description: |
> +  Common properties for LVDS displays with dual LVDS links. Extend LVDS
> +display
> +  common properties defined in lvds.yaml.
> +
> +  Dual-link LVDS displays receive odd pixels and even pixels separately
> + from  the dual LVDS links. One link receives odd pixels and the other
> + receives  even pixels. Some of those displays may also use only one
> + LVDS link to  receive all pixels, being odd and even agnostic.
> +
> +allOf:
> +  - $ref: lvds.yaml#
> +
> +properties:
> +  ports:
> +    $ref: /schemas/graph.yaml#/properties/ports
> +
> +    properties:
> +      port at 0:
> +        $ref: /schemas/graph.yaml#/$defs/port-base
> +        unevaluatedProperties: false
> +        description: the first LVDS input link
> +
> +        properties:
> +          dual-lvds-odd-pixels:
> +            type: boolean
> +            description: the first LVDS input link for odd pixels
> +
> +          dual-lvds-even-pixels:
> +            type: boolean
> +            description: the first LVDS input link for even pixels


port at 0 we know it is first link
port at 1 we know it is second link.
dual-lvds-odd-pixels: We know it is for odd pixels.
dual-lvds-even-pixels: We know it is for odd pixels.

Not sure, whether we can give common description and avoid the duplicate
from port at 1 ??


> +
> +        oneOf:
> +          - required: [dual-lvds-odd-pixels]
> +          - required: [dual-lvds-even-pixels]
> +          - properties:
> +              dual-lvds-odd-pixels: false
> +              dual-lvds-even-pixels: false

Why this is false here? oneOf is not sufficient?

> +
> +      port at 1:
> +        $ref: /schemas/graph.yaml#/$defs/port-base
> +        unevaluatedProperties: false
> +        description: the second LVDS input link
> +
> +        properties:
> +          dual-lvds-odd-pixels:
> +            type: boolean
> +            description: the second LVDS input link for odd pixels
> +
> +          dual-lvds-even-pixels:
> +            type: boolean
> +            description: the second LVDS input link for even pixels
> +
> +        oneOf:
> +          - required: [dual-lvds-odd-pixels]
> +          - required: [dual-lvds-even-pixels]
> +          - properties:
> +              dual-lvds-odd-pixels: false
> +              dual-lvds-even-pixels: false

Same as above??

Cheers,
Biju

> +
> +required:
> +  - ports
> +
> +additionalProperties: true
> +
> +...
> diff --git a/Documentation/devicetree/bindings/display/panel/advantech,idk-2121wr.yaml
> b/Documentation/devicetree/bindings/display/panel/advantech,idk-2121wr.yaml
> index 2e8dbdb5a3d5..05ca3b2385f8 100644
> --- a/Documentation/devicetree/bindings/display/panel/advantech,idk-2121wr.yaml
> +++ b/Documentation/devicetree/bindings/display/panel/advantech,idk-2121
> +++ wr.yaml
> @@ -20,6 +20,7 @@ description: |
>    dual-lvds-odd-pixels or dual-lvds-even-pixels).
> 
>  allOf:
> +  - $ref: /schemas/display/lvds-dual-ports.yaml#
>    - $ref: panel-common.yaml#
> 
>  properties:
> @@ -44,22 +45,10 @@ properties:
> 
>      properties:
>        port at 0:
> -        $ref: /schemas/graph.yaml#/$defs/port-base
> -        unevaluatedProperties: false
> -        description: The sink for odd pixels.
> -        properties:
> -          dual-lvds-odd-pixels: true
> -
>          required:
>            - dual-lvds-odd-pixels
> 
>        port at 1:
> -        $ref: /schemas/graph.yaml#/$defs/port-base
> -        unevaluatedProperties: false
> -        description: The sink for even pixels.
> -        properties:
> -          dual-lvds-even-pixels: true
> -
>          required:
>            - dual-lvds-even-pixels
> 
> @@ -75,7 +64,6 @@ required:
>    - height-mm
>    - data-mapping
>    - panel-timing
> -  - ports
> 
>  examples:
>    - |+
> diff --git a/Documentation/devicetree/bindings/display/panel/panel-simple-lvds-dual-ports.yaml
> b/Documentation/devicetree/bindings/display/panel/panel-simple-lvds-dual-ports.yaml
> index 10ed4b57232b..e80fc7006984 100644
> --- a/Documentation/devicetree/bindings/display/panel/panel-simple-lvds-dual-ports.yaml
> +++ b/Documentation/devicetree/bindings/display/panel/panel-simple-lvds-
> +++ dual-ports.yaml
> @@ -22,6 +22,7 @@ description: |
>    If the panel is more advanced a dedicated binding file is required.
> 
>  allOf:
> +  - $ref: /schemas/display/lvds-dual-ports.yaml#
>    - $ref: panel-common.yaml#
> 
>  properties:
> @@ -55,28 +56,10 @@ properties:
> 
>      properties:
>        port at 0:
> -        $ref: /schemas/graph.yaml#/$defs/port-base
> -        unevaluatedProperties: false
> -        description: The first sink port.
> -
> -        properties:
> -          dual-lvds-odd-pixels:
> -            type: boolean
> -            description: The first sink port for odd pixels.
> -
>          required:
>            - dual-lvds-odd-pixels
> 
>        port at 1:
> -        $ref: /schemas/graph.yaml#/$defs/port-base
> -        unevaluatedProperties: false
> -        description: The second sink port.
> -
> -        properties:
> -          dual-lvds-even-pixels:
> -            type: boolean
> -            description: The second sink port for even pixels.
> -
>          required:
>            - dual-lvds-even-pixels
> 
> @@ -88,7 +71,6 @@ unevaluatedProperties: false
> 
>  required:
>    - compatible
> -  - ports
>    - power-supply
> 
>  examples:
> --
> 2.34.1



More information about the dri-devel mailing list