On 10/29/2024, Biju Das wrote: > Hi Liu Ying, Hi Biju, > >> -----Original Message----- >> From: dri-devel <dri-devel-bounces@xxxxxxxxxxxxxxxxxxxxx> 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@xxxxxxx> >>>> 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@xxxxxxxxxx> >>>> Signed-off-by: Liu Ying <victor.liu@xxxxxxx> >>>> --- >>>> 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@xxxxxxx> >>>> + >>>> +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@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@0 we know it is first link >>> port@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@1 ?? >> >> Yes, it'd better to use patternProperties. Thanks. >> >> --8<-- >> patternProperties: >> '^port@[01]$': >> $ref: /schemas/graph.yaml#/$defs/port-base >> unevaluatedProperties: false >> description: | >> port@0 is for the first LVDS input link. >> port@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@0 >> - required: >> - port@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?? Single-link LVDS displays are supposed to be documented without referencing this schema, i.e., they may reference lvds.yaml and define the single LVDS sink link with port property(for panels) or port@0 property(for bridges). port@1 would be defined as output port for bridges, not input port. Maybe, we'll have something like lvds-single-port.yaml in the future. > > Cheers, > Biju > -- Regards, Liu Ying