Re: [PATCH] dt-bindings: display: atmel,lcdc: convert to dtschema

From: Dharma.B
Date: Sun Mar 03 2024 - 23:15:27 EST


On 01/03/24 11:40 pm, Rob Herring wrote:
> EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe
>
> On Thu, Feb 29, 2024 at 06:25:56AM +0000, Dharma.B@xxxxxxxxxxxxx wrote:
>> On 28/02/24 3:53 pm, Krzysztof Kozlowski wrote:
>>> EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe
>>>
>>> On 28/02/2024 11:18, Dharma.B@xxxxxxxxxxxxx wrote:
>>>> On 28/02/24 12:43 pm, Krzysztof Kozlowski wrote:
>>>>> EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe
>>>>>
>>>>> On 28/02/2024 07:59, Dharma.B@xxxxxxxxxxxxx wrote:
>>>>>>
>>>>>>>
>>>>>>> I don't know what's this exactly, but if embedded display then maybe
>>>>>>> could be part of this device node. If some other display, then maybe you
>>>>>>> need another schema, with compatible? But first I would check how others
>>>>>>> are doing this.
>>>>>>
>>>>>> Okay, then I think the driver also needs to be modified, currently the
>>>>>> driver parses the phandle and looks for these properties. Also the
>>>>>> corresponding dts files.
>>>>>
>>>>> Driver does not have to be modified in my proposal. You would still have
>>>>> phandle.
>>>>
>>>> If I understand correctly, I could define the dt bindings as below
>>>>
>>>> display:
>>>> $ref: /schemas/types.yaml#/definitions/phandle
>>>> description: A phandle pointing to the display node.
>>>>
>>>> panel:
>>>> $ref: panel/panel-common.yaml#
>>>> properties:
>>>>
>>>
>>> So these are standard panel bindings? Then the node should live outside
>>> of lcdc. If current driver needs to poke inside panel and panel could be
>>> anything, then probably you need peripheral-props-like approach. :/
>>
>> Thank you so much, so can I use something like this
>>
>> display:
>> $ref: /schemas/types.yaml#/definitions/phandle
>> description: A phandle pointing to the display node.
>>
>> patternProperties:
>> "^panel":
>
> Just 'panel' and not a pattern.
>
> However, that's not what the original binding had. It was a separate
> node. If you want to preserve that, then you'll need a separate
> schema file and a special 'select'. Something like:
>
> select:
> anyOf:
> - required: [ atmel,dmacon ]
> - required: [ atmel,lcdcon2 ]
> - required: [ atmel,guard-time ]
>
> Up to you and at91 maintainers if you want to have to update your dts
> files or not.
>
> Rob

Thank you so much Rob, I will introduce a new binding for lcdc-display
with a special select as you suggested.

I will send a v2 with the following changes
- Run checkpatch and remove whitespace errors.
- Add the standard interrupt flags.
- Split the binding into two namely lcdc.yaml and lcdc-display.yaml.
for your kind perusal.

--
With Best Regards,
Dharma B.