[<prev] [next>] [day] [month] [year] [list]
Message-ID: <7d304d3a14ad44f1dcb301961c0b7d777b243156.camel@maquefel.me>
Date: Sun, 23 Jul 2023 21:20:33 +0300
From: Nikita Shubin <nikita.shubin@...uefel.me>
To: Michael Turquette <mturquette@...libre.com>,
Stephen Boyd <sboyd@...nel.org>,
Rob Herring <robh+dt@...nel.org>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@...aro.org>,
Conor Dooley <conor+dt@...nel.org>,
Nikita Shubin <nikita.shubin@...uefel.me>,
Alexander Sverdlin <alexander.sverdlin@...il.com>,
Arnd Bergmann <arnd@...db.de>,
Linus Walleij <linus.walleij@...aro.org>
Cc: linux-clk@...r.kernel.org, devicetree@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH v3 02/42] dt-bindings: clock: Add Cirrus EP93xx
Hello Stephen.
On Thu, 2023-07-20 at 16:20 -0700, Stephen Boyd wrote:
> Quoting Nikita Shubin via B4 Relay (2023-07-20 04:29:02)
> > diff --git a/Documentation/devicetree/bindings/clock/cirrus,ep9301-
> > clk.yaml b/Documentation/devicetree/bindings/clock/cirrus,ep9301-
> > clk.yaml
> > new file mode 100644
> > index 000000000000..111e016601fb
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/clock/cirrus,ep9301-
> > clk.yaml
> > @@ -0,0 +1,46 @@
> > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> > +%YAML 1.2
> > +---
> > +$id: http://devicetree.org/schemas/clock/cirrus,ep9301-clk.yaml#
> > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > +
> > +title: Cirrus Logic ep93xx SoC's clock controller
> > +
> > +maintainers:
> > + - Nikita Shubin <nikita.shubin@...uefel.me>
> > + - Alexander Sverdlin <alexander.sverdlin@...il.com>
> > +
> > +properties:
> > + compatible:
> > + oneOf:
> > + - const: cirrus,ep9301-clk
> > + - items:
> > + - enum:
> > + - cirrus,ep9302-clk
> > + - cirrus,ep9307-clk
> > + - cirrus,ep9312-clk
> > + - cirrus,ep9315-clk
> > + - const: cirrus,ep9301-clk
> > +
> > + "#clock-cells":
> > + const: 1
> > +
> > + clocks:
> > + items:
> > + - description: reference clock
> > +
> > +required:
> > + - compatible
> > + - "#clock-cells"
> > + - clocks
> > +
> > +additionalProperties: false
> > +
> > +examples:
> > + - |
> > + clock-controller {
> > + compatible = "cirrus,ep9301-clk";
>
> Is there a reg property? The driver grabs some syscon and then iomaps
> it, so presumably there is a register range. Is it part of some other
> hardware block? If so, can you make that device register sub-devices
> with the auxiliary bus instead of using a syscon?
Is reg property missing the only thing that doesn't fit ?
`devm_of_iomap` was done only for reusing `devm_clk_hw_register_gate`
for DMA's and USB clock gates, i can give clk node it's own registers,
like:
reg = <0x80930004 0x04>;
Or drop devm_clk_hw_register_gate reusage entirely and just implement
non swlocked version of clk enable/disable that will go through syscon
regmap.
The ep93xx really looks like an syscon device in docs it refers itself
as a "Syscon block", also converting into "Auxiliary Bus" won't help
with `ep93xx_syscon_swlocked_write` either.
Powered by blists - more mailing lists