Re: [PATCH 1/2] dt-bindings: misc: xlnx,sd-fec: convert bindings to yaml

From: Krzysztof Kozlowski
Date: Tue Jan 16 2024 - 10:44:42 EST


On 16/01/2024 16:36, Michal Simek wrote:
>>> + clock-names:
>>> + additionalItems: true
>>
>> Nope
>>
>>> + minItems: 2
>>> + maxItems: 8
>>
>> Nope
>>
>>> + items:
>>> + - const: core_clk
>>> + - const: s_axi_aclk
>>> + - enum:
>>> + - s_axis_ctrl_aclk
>>> + - s_axis_din_aclk
>>> + - m_axis_status_aclk
>>> + - m_axis_dout_aclk
>>> + - s_axis_din_words_aclk
>>> + - m_axis_dout_words_aclk
>>
>> Why order is not enforced?
>
> Let me comment this one. Based on my discussion with Dragan IP itself is
> configurable and only the first two clocks are in all combinations. But based on
> his description that last 6 clocks can be present in some of them.
> It means order is not really fixed and any combination is possible.
> That's why I have suggested him to use this description because I didn't find
> any better one.
> I actually tested this schema here but didn't get a feedback on it yet.
> https://lore.kernel.org/r/3e86244a840a45c970289ba6d2fa700a74f5b259.1705051222.git.michal.simek@xxxxxxx
>
> It means not sure about not defining maxItems but when I don't do it it is not
> passing dtbs_check.


This would explain why you want additionalItems:true, but it should be
also explained in commit msg. Old code did not have such relaxed
statement, at least not explicitly written, and commit msg explicitly
says it is 1-to-1 conversion.

Anyway, current solution won't work, because additional items can be
anything. Try it. Put as fourth clock "yellow_duck" and see what happens.

I don't find such names as useful and maybe the drivers should just get
by index. Especially that Linux driver does not care. It would be a ABI
change, though, so up to you.

If you want to keep the names, then:
1. Look at snps,dwmac.yaml
2. or just list 6 enums with all possibilities.


Best regards,
Krzysztof