Re: [PATCH 09/43] dt-bindings: watchdog: add DT bindings for Cirrus EP93x

From: Krzysztof Kozlowski
Date: Sun Apr 30 2023 - 07:30:39 EST


On 28/04/2023 19:42, Nikita Shubin wrote:
> On Fri, 2023-04-28 at 14:20 +0200, Krzysztof Kozlowski wrote:
>> On 28/04/2023 16:33, Nikita Shubin wrote:
>>> Hello Krzysztof!
>>>
>>> On Tue, 2023-04-25 at 11:31 +0200, Krzysztof Kozlowski wrote:
>>>> On 24/04/2023 14:34, Nikita Shubin wrote:
>>>>> This adds device tree bindings for the Cirrus Logic EP93xx
>>>>> watchdog block used in these SoCs.
>>>>>
>>>>> Signed-off-by: Nikita Shubin <nikita.shubin@xxxxxxxxxxx>
>>>>> ---
>>>>>  .../bindings/watchdog/cirrus,ep93xx-wdt.yaml  | 38
>>>>> +++++++++++++++++++
>>>>>  1 file changed, 38 insertions(+)
>>>>>  create mode 100644
>>>>> Documentation/devicetree/bindings/watchdog/cirrus,ep93xx-
>>>>> wdt.yaml
>>>>>
>>>>> diff --git
>>>>> a/Documentation/devicetree/bindings/watchdog/cirrus,ep93xx-
>>>>> wdt.yaml
>>>>> b/Documentation/devicetree/bindings/watchdog/cirrus,ep93xx-
>>>>> wdt.yaml
>>>>> new file mode 100644
>>>>> index 000000000000..f39d6b14062d
>>>>> --- /dev/null
>>>>> +++ b/Documentation/devicetree/bindings/watchdog/cirrus,ep93xx-
>>>>> wdt.yaml
>>>>> @@ -0,0 +1,38 @@
>>>>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
>>>>> +%YAML 1.2
>>>>> +---
>>>>> +$id:
>>>>> http://devicetree.org/schemas/watchdog/cirrus,ep93xx-wdt.yaml#
>>>>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>>>>> +
>>>>> +title: Cirrus Logic EP93xx Watchdog Timer
>>>>
>>>> EP93xx is no EP9301. This does not match your compatible list.
>>>> You
>>>> should probably list all of your devices. With or without
>>>> compatibility
>>>> between them (so with a generic fallback for example).
>>>
>>> I will rename file to cirrus,ep9301-wdt.yaml, all ep93xx SoC family
>>> has
>>> the same watchdog, so there is now reason for other compatible i
>>> think.
>>
>> You should always have dedicated compatibles, even if using one
>> fallback.
>> https://elixir.bootlin.com/linux/v6.1-rc1/source/Documentation/devicetree/bindings/writing-bindings.rst#L42
>
> Krzysztof, sorry to bother you - but i don't quite get, what we should
> have in compatibles ? 
>
> Should i make an additional fallback compatible like "cirrus,ep-wdt"
> and then "compatible" will look like:
>
> properties:
> compatible:
> - items:
> - enum:
> - cirrus,ep9301-wdt
> - const: cirrus,ep-wdt
>
> Or should i describe every ep93xx SoC variant like:
>
> properties:
> compatible:
> - items:
> - enum:
> - cirrus,ep9302-wdt
> - cirrus,ep9307-wdt
> - cirrus,ep9312-wdt
> - cirrus,ep9315-wdt
> - const: cirrus,ep9301-wdt

This one is preferred. Just don't forget for an entry allowing 9301
alone (and everything within oneOf)

Syntax looks like:

https://elixir.bootlin.com/linux/v6.3-rc6/source/Documentation/devicetree/bindings/sound/nvidia,tegra210-ope.yaml#L31

>
> There are ep9301, ep9302, ep9307, ep9312 and ep9315 SoC variants - all
> have the same watchdog and rtc implementation without any difference at
> all.

We still prefer to have dedicated compatible, in case some
bugs/differences are found.

>
> If on of this is true does the same applies to ep9301-rtc and any other
> variants where we do have a single compatible ?

Yes, please.


Best regards,
Krzysztof