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