Hi Liu Ying, > -----Original Message----- > From: dri-devel <dri-devel-bounces@xxxxxxxxxxxxxxxxxxxxx> On Behalf Of Liu Ying > Sent: 29 October 2024 09:07 > 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: 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.yam > >>>> +++ l > >>>> @@ -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. OK, then this binding is suffient I guess. As description says, majority devices supports dual links. Some dual link display supports single link as well. Cheers, Biju