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

Reply via email to