[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <wplt4txytz4fj7o6qzxualuj45rzmim3yfn6vvefrhoga6lmfk@5llfokdecuan>
Date: Mon, 14 Oct 2024 14:15:03 +0300
From: Dmitry Baryshkov <dmitry.baryshkov@...aro.org>
To: Liu Ying <victor.liu@....com>
Cc: dri-devel@...ts.freedesktop.org, devicetree@...r.kernel.org,
linux-kernel@...r.kernel.org, imx@...ts.linux.dev, linux-arm-kernel@...ts.infradead.org,
andrzej.hajda@...el.com, neil.armstrong@...aro.org, rfoss@...nel.org,
Laurent.pinchart@...asonboard.com, jonas@...boo.se, jernej.skrabec@...il.com, airlied@...il.com,
simona@...ll.ch, maarten.lankhorst@...ux.intel.com, mripard@...nel.org,
tzimmermann@...e.de, robh@...nel.org, krzk+dt@...nel.org, conor+dt@...nel.org,
shawnguo@...nel.org, s.hauer@...gutronix.de, kernel@...gutronix.de,
festevam@...il.com, catalin.marinas@....com, will@...nel.org,
quic_bjorande@...cinc.com, geert+renesas@...der.be, arnd@...db.de, nfraprado@...labora.com,
o.rempel@...gutronix.de, y.moog@...tec.de, marex@...x.de, isaac.scott@...asonboard.com,
biju.das.jz@...renesas.com
Subject: Re: [PATCH v2 5/9] dt-bindings: display: bridge: Add ITE IT6263 LVDS
to HDMI converter
On Mon, Oct 14, 2024 at 06:01:49PM +0800, Liu Ying wrote:
> On 10/14/2024, Dmitry Baryshkov wrote:
>
> [...]
>
> >>>>> My suggestion would be to add a single root-level property which
> >>>>> specifies which port provides even pixel data.
> >>>>
> >>>> That won't work. The LVDS source side expects the ports of
> >>>> the sink side specify dual-lvds-{odd,even}-pixels properties.
> >>>
> >>> I didn't notice that these properties are already defined.
> >>>
> >>> As these properties are common between several schema files, please
> >>> extract them to a common schema file (like lvds.yaml).
> >>
> >> I'm not sure how to do that. Is it obvious?
> >> Please shed some light.
> >>
> >> Only two panel schema files are defining even/odd pixels now -
> >> advantech,idk-2121wr.yaml and panel-simple-lvds-dual-ports.yaml.
> >> Maybe, extract them later when more schema files(especially for
> >> bridges) try to define the same? I'd like to keep a low profile
> >> for now.
> >
> > I'd say, please extract those now. Adding third is more than enough and
> > should be avoided. Extracting is pretty simple. One patch to move the
> > definition and descriptions from panel-simple-lvds-dual-ports to a
> > common location (e.g. lvds-dual-ports.yaml). Leave the required
> > constrains in place. Second patch is to add oneOf constraints to the
> > ports.
>
> oneOf just sits below ports so that single-port and dual-port
> are documented separately? That won't pass dt_binding_check
> as the v1 binding has proved that warnings will be generated.
>
> > port@0 might get the same oneOf + the
> > dual-lvds-{odd,even}-pixels:false case, allowing a single-port
> > definition.
>
> I don't catch this.
> Below snippet is a draft lvds-dual-port.yaml.
> How can it be referenced in ite,it6263.yaml?
allOf:
- $ref: /schemas/display/lvds-dual-port.yaml
Another option might be to use $defs, define two combinations:
single-or-dual-port, dual-only-port. Reference them from the panel
bindings and from your bridge bindings by using:
ports:
port@0:
$ref: /schemas/display/lvds.yaml#/#defs/single-or-dual-port
port@1:
$ref: /schemas/display/lvds.yaml#/#defs/dual-only-port
(the names are just an example, feel free to come with better
suggestions).
>
> ---8<---
> 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 sink port for odd pixels
>
> dual-lvds-even-pixels:
> type: boolean
> description: the first sink port for even pixels
>
> oneOf:
> - required: [dual-lvds-even-pixels]
> - required: [dual-lvds-odd-pixels]
Also under oneOf:
- 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-even-pixels:
> type: boolean
> description: the second sink port for even pixels
>
> dual-lvds-odd-pixels:
> type: boolean
> description: the second sink port for odd pixels
>
> oneOf:
> - required: [dual-lvds-even-pixels]
> - required: [dual-lvds-odd-pixels]
>
> required:
> - port@0
> - port@1
You allow both single-port and dual-port configurations, so you can not
use this required statement. Please keep this part in the corresponding
panel bindings.
>
> unevaluatedProperties: false
> ---8<---
>
> --
> Regards,
> Liu Ying
>
--
With best wishes
Dmitry
Powered by blists - more mailing lists