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 07:35 >> 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: 29 October 2024 07:13 >>>> 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: 29 October 2024 06:17 >>>>>> Subject: Re: [PATCH v4 08/13] dt-bindings: display: Document >>>>>> dual-link LVDS display common properties >>>>>> >>>>>> On 10/28/2024, Liu Ying wrote: >>>>>>> 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.ya >>>>>>> +++ ml >>>>>>> @@ -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 >>>>>>> + >>>>>>> + oneOf: >>>>>>> + - required: [dual-lvds-odd-pixels] >>>>>>> + - required: [dual-lvds-even-pixels] >>>>>>> + - properties: >>>>>>> + dual-lvds-odd-pixels: false >>>>>>> + dual-lvds-even-pixels: false >>>>>>> + >>>>>>> + port@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 >>>>>> >>>>>> Hmm, I should require port@0 or port@1. >>>>> >>>>> For dual LVDS, you need 3 ports as common use case >>>> >>>> For LVDS panels, only two ports for LVDS sink are needed. >>>> For display bridges with LVDS sink, one additional output port is >>>> needed. However, I'm not sure if this output port should be >>>> documented in this binding or not, because it doesn't look common enough considering the LVDS >> panels. >>>> >>>>> >>>>> 2 input ports and 1 outport and all are required properties. >>>> >>>> The output port cannot be required for LVDS panels at least. >>> >>> Ack. >>> >>>> >>>> We need to require one or two input ports, because IT6263 may use one LVDS link or two. >>> >>> This patch is for generic dual link common cases and is not applicable for IT6263 single link case. >> >> Based on previous discussion(especially Dmitry's suggestion), this binding should cover display >> bridges that can use one LVDS sink port or two LVDS sink ports, like IT6263. To be clear, those >> bridges may have two modes(supported by one >> chip) - single LVDS sink link mode and dual LVDS sink link mode. Those bridges are considered as >> common dual-link LVDS displays. That's why I was asked to extract the common >> properties to this schema when adding IT6263 DT binding. > > As per [1] and [2] both panels don’t support single LVDS link. > IT6263 is bridge device that has single and dual link support. > Not sure the single link case has to be taken care in ITE6263 binding itself, > Leaving Dual link as it is?? There are a couple of bridges supporting dual-link LVDS like IT6263, see lontium,lt9211.yaml and thine,thc63lvd1024.yaml. So, it looks fine for this binding to cover those bridges, as those LVDS links are sort of common stuff. > > [1] > https://elixir.bootlin.com/linux/v6.12-rc5/source/Documentation/devicetree/bindings/display/panel/advantech,idk-2121wr.yaml > [2] > > https://elixir.bootlin.com/linux/v6.12-rc5/source/Documentation/devicetree/bindings/display/panel/panel-simple-lvds-dual-ports.yaml > > > Cheers, > Biju -- Regards, Liu Ying