Re: [PATCH v2 5/9] dt-bindings: display: bridge: Add ITE IT6263 LVDS to HDMI converter

From: Liu Ying
Date: Mon Oct 14 2024 - 06:01:39 EST


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?

---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]

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

unevaluatedProperties: false
---8<---

--
Regards,
Liu Ying