Re: [PATCH v4 08/13] dt-bindings: display: Document dual-link LVDS display common properties

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 10/29/2024, Biju Das wrote:
> Hi Liu Ying,

Hi Biju,

> 
>> -----Original Message-----
>> From: dri-devel <dri-devel-bounces@xxxxxxxxxxxxxxxxxxxxx> 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@xxxxxxx>
>>>> 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@xxxxxxxxxx>
>>>> Signed-off-by: Liu Ying <victor.liu@xxxxxxx>
>>>> ---
>>>> 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.yaml
>>>> @@ -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@xxxxxxx>
>>>> +
>>>> +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.

> 
> Cheers,
> Biju
> 

-- 
Regards,
Liu Ying





[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux