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

From: Nikita Shubin
Date: Fri Apr 28 2023 - 10:42:25 EST


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

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

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

>
> Best regards,
> Krzysztof
>