[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID:
<TYCPR01MB11332D71A26AB9FFBDF593281864B2@TYCPR01MB11332.jpnprd01.prod.outlook.com>
Date: Tue, 29 Oct 2024 09:18:08 +0000
From: Biju Das <biju.das.jz@...renesas.com>
To: Liu Ying <victor.liu@....com>, "dri-devel@...ts.freedesktop.org"
<dri-devel@...ts.freedesktop.org>, "devicetree@...r.kernel.org"
<devicetree@...r.kernel.org>, "linux-kernel@...r.kernel.org"
<linux-kernel@...r.kernel.org>, "linux-media@...r.kernel.org"
<linux-media@...r.kernel.org>, "imx@...ts.linux.dev" <imx@...ts.linux.dev>,
"linux-arm-kernel@...ts.infradead.org" <linux-arm-kernel@...ts.infradead.org>
CC: "andrzej.hajda@...el.com" <andrzej.hajda@...el.com>,
"neil.armstrong@...aro.org" <neil.armstrong@...aro.org>, "rfoss@...nel.org"
<rfoss@...nel.org>, laurent.pinchart <laurent.pinchart@...asonboard.com>,
"jonas@...boo.se" <jonas@...boo.se>, "jernej.skrabec@...il.com"
<jernej.skrabec@...il.com>, "maarten.lankhorst@...ux.intel.com"
<maarten.lankhorst@...ux.intel.com>, "mripard@...nel.org"
<mripard@...nel.org>, "tzimmermann@...e.de" <tzimmermann@...e.de>,
"airlied@...il.com" <airlied@...il.com>, "simona@...ll.ch" <simona@...ll.ch>,
"robh@...nel.org" <robh@...nel.org>, "krzk+dt@...nel.org"
<krzk+dt@...nel.org>, "conor+dt@...nel.org" <conor+dt@...nel.org>,
"quic_jesszhan@...cinc.com" <quic_jesszhan@...cinc.com>, "mchehab@...nel.org"
<mchehab@...nel.org>, "shawnguo@...nel.org" <shawnguo@...nel.org>,
"s.hauer@...gutronix.de" <s.hauer@...gutronix.de>, "kernel@...gutronix.de"
<kernel@...gutronix.de>, "festevam@...il.com" <festevam@...il.com>,
"catalin.marinas@....com" <catalin.marinas@....com>, "will@...nel.org"
<will@...nel.org>, "sakari.ailus@...ux.intel.com"
<sakari.ailus@...ux.intel.com>, "hverkuil@...all.nl" <hverkuil@...all.nl>,
"tomi.valkeinen@...asonboard.com" <tomi.valkeinen@...asonboard.com>,
"quic_bjorande@...cinc.com" <quic_bjorande@...cinc.com>,
"geert+renesas@...der.be" <geert+renesas@...der.be>,
"dmitry.baryshkov@...aro.org" <dmitry.baryshkov@...aro.org>, "arnd@...db.de"
<arnd@...db.de>, "nfraprado@...labora.com" <nfraprado@...labora.com>,
"thierry.reding@...il.com" <thierry.reding@...il.com>, Prabhakar Mahadev Lad
<prabhakar.mahadev-lad.rj@...renesas.com>, "sam@...nborg.org"
<sam@...nborg.org>, "marex@...x.de" <marex@...x.de>
Subject: RE: [PATCH v4 08/13] dt-bindings: display: Document dual-link LVDS
display common properties
Hi Liu Ying,
> -----Original Message-----
> From: dri-devel <dri-devel-bounces@...ts.freedesktop.org> 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@...ts.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@....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@...aro.org>
> >>>> Signed-off-by: Liu Ying <victor.liu@....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.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@....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@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
Powered by blists - more mailing lists