[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 08:51:38 UTC 2024
Hi Liu Ying,
> -----Original Message-----
> From: dri-devel <dri-devel-bounces at lists.freedesktop.org> On Behalf Of Liu Ying
> Sent: 29 October 2024 08:02
> Subject: Re: [PATCH v4 08/13] dt-bindings: display: Document dual-link LVDS display common properties
>
> On 10/29/2024, Biju Das wrote:
> > Hi Liu Ying,
>
> Hi Biju,
>
> >
> >> -----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 ??
>
> Yes, it'd better to use patternProperties. Thanks.
>
> --8<--
> patternProperties:
> '^port@[01]$':
> $ref: /schemas/graph.yaml#/$defs/port-base
> unevaluatedProperties: false
> description: |
> port at 0 is for the first LVDS input link.
> port at 1 is for the second LVDS input link.
>
> properties:
> dual-lvds-odd-pixels:
> type: boolean
> description: LVDS input link for odd pixels
>
> dual-lvds-even-pixels:
> type: boolean
> description: 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
>
> anyOf:
> - required:
> - port at 0
> - required:
> - port at 1
> --8<--
>
> >
> >
> >> +
> >> + 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?
>
> The 'false' is used when this LVDS link works alone as a single LVDS link, being odd and even
> agnostic.
>
> The 'oneOf' allows a LVDS link to be defined as a single LVDS link or one link of dual LVDS links.
Ok, it makes sense for single LVDS link. Maybe rename the file to lvds-dual-ports.yaml->lvds-ports.yaml
to make it clear, it is for all LVDS ports, if it is going to address single link case aswell??
Cheers,
Biju
More information about the dri-devel
mailing list