Re: [PATCH v5 1/2] dt-bindings: hwlock: add sun6i_hwspinlock

From: Wilken Gottwalt
Date: Sun Feb 07 2021 - 04:10:31 EST


On Wed, 23 Dec 2020 15:49:19 -0700
Rob Herring <robh+dt@xxxxxxxxxx> wrote:

> On Wed, Dec 23, 2020 at 4:34 AM Wilken Gottwalt
> <wilken.gottwalt@xxxxxxxxxx> wrote:
> >
> > Adds documentation on how to use the sun6i_hwspinlock driver for sun6i
> > compatible SoCs.
>
> Please resend to DT list so that automated checks run and it's in my
> queue (PW). You need to run 'make dt_binding_check' as there are
> several issues.

Mentioning somewhere, that yamllint is required would have helped here a lot.
Without it I always ended up with that, what was quite misleading:

ERROR: dtschema minimum version is v2020.8.1
make[1]: *** [Documentation/devicetree/bindings/Makefile:12: check_dtschema_version] Error 1
make: *** [Makefile:1370: dt_binding_check] Error 2

> > Signed-off-by: Wilken Gottwalt <wilken.gottwalt@xxxxxxxxxx>
> > ---
> > Changes in v5:
> > - changed binding to earliest known supported SoC sun6i-a31
> > - dropped unnecessary entries
> >
> > Changes in v4:
> > - changed binding to sun8i-a33-hwpinlock
> > - added changes suggested by Maxime Ripard
> >
> > Changes in v3:
> > - changed symbols from sunxi to sun8i
> >
> > Changes in v2:
> > - fixed memory ranges
> > ---
> > .../bindings/hwlock/sun6i-a31-hwspinlock.yaml | 44 +++++++++++++++++++
> > 1 file changed, 44 insertions(+)
> > create mode 100644 Documentation/devicetree/bindings/hwlock/sun6i-a31-hwspinlock.yaml
> >
> > diff --git a/Documentation/devicetree/bindings/hwlock/sun6i-a31-hwspinlock.yaml
> > b/Documentation/devicetree/bindings/hwlock/sun6i-a31-hwspinlock.yaml new file mode 100644
> > index 000000000000..481c5c995ad7
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/hwlock/sun6i-a31-hwspinlock.yaml
> > @@ -0,0 +1,44 @@
> > +# SPDX-License-Identifier: (GPL-2.0-only or BSD-2-Clause)
> > +%YAML 1.2
> > +---
> > +$id: http://devicetree.org/schemas/hwlock/sun6i-hwspinlock.yaml#
>
> This will fail checks. Wrong filename.
>
> > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > +
> > +title: SUN6I hardware spinlock driver for Allwinner sun6i compatible SoCs
> > +
> > +maintainers:
> > + - Wilken Gottwalt <wilken.gottwalt@xxxxxxxxxx>
> > +
> > +description:
> > + The hardware unit provides semaphores between the ARM cores and the embedded
> > + companion core on the SoC.
> > +
> > +properties:
> > + compatible:
> > + const: allwinner,sun6i-a31-hwspinlock
> > +
> > + reg:
> > + maxItems: 1
> > +
> > + clocks:
> > + maxItems: 1
> > +
> > + resets:
> > + maxItems: 1
> > +
> > +required:
> > + - compatible
> > + - reg
> > + - clocks
> > + - resets
> > +
> > +additionalProperties: false
> > +
> > +examples:
> > + - |
> > + hwspinlock@1c18000 {
>
> hwlock@...

sprd, stm32 and omap using hwspinlock. Why is it okay there and not okay in
my version?

> > + compatible = "allwinner,sun6i-a31-hwspinlock";
> > + reg = <0x01c18000 0x1000>;
> > + clocks = <&ccu CLK_BUS_SPINLOCK>;
> > + resets = <&ccu RST_BUS_SPINLOCK>;
>
> You need an include for these defines.

So I guess it is needed because I the clocks/resets are used, right? But why
is it not the case for the sprd example, which also uses clocks?

> > + };
> > --
> > 2.29.2
> >