mbox series

[v5,0/9] clk: cs2000-cp: add dynamic mode and more features

Message ID 20210901093631.1403278-1-daniel@zonque.org
Headers show
Series clk: cs2000-cp: add dynamic mode and more features | expand

Message

Daniel Mack Sept. 1, 2021, 9:36 a.m. UTC
This patch series adds support for dynamic mode, configurable clock
skip settings and a tranisition to regmap.

The most significant change is the additional support for dynamic mode.
Currently, the driver only supports static mode in which the (currently
mandatory) CLK_IN clock input is not used by the hardware.

Unlike v3 of this series, the patch stack now maintains full
compatibility with existing bindings. Rather than infering the mode of
operation through the presence of an optional clock, the driver now
parses a new DT property to enable the dynamic mode.

Thanks,
Daniel

Changelog:

v4 -> v5:
	* Fixed a regression for static mode configurations
	* Added Rob's Acked-by signatures

v3 -> v4:
	* Introduced cirrus,dynamic-mode in favor of making CLK_IN
	  optional


Daniel Mack (9):
  dt-bindings: clock: convert cs2000-cp bindings to yaml
  dt-bindings: clock: cs2000-cp: document aux-output-source
  dt-bindings: clock: cs2000-cp: document cirrus,clock-skip flag
  dt-bindings: clock: cs2000-cp: document cirrus,dynamic-mode
  clk: cs2000-cp: Make aux output function controllable
  clk: cs2000-cp: add support for dynamic mode
  clk: cs2000-cp: make clock skip setting configurable
  clk: cs2000-cp: freeze config during register fiddling
  clk: cs2000-cp: convert driver to regmap

 .../bindings/clock/cirrus,cs2000-cp.yaml      |  91 +++++++
 .../devicetree/bindings/clock/cs2000-cp.txt   |  22 --
 drivers/clk/Kconfig                           |   1 +
 drivers/clk/clk-cs2000-cp.c                   | 240 +++++++++++-------
 include/dt-bindings/clock/cirrus,cs2000-cp.h  |  14 +
 5 files changed, 261 insertions(+), 107 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/clock/cirrus,cs2000-cp.yaml
 delete mode 100644 Documentation/devicetree/bindings/clock/cs2000-cp.txt
 create mode 100644 include/dt-bindings/clock/cirrus,cs2000-cp.h

Comments

Claudiu Beznea Sept. 2, 2021, 9:10 a.m. UTC | #1
On 01.09.2021 12:36, Daniel Mack wrote:
> 


I don't know if this is requested by Rob or not but you're missing a
description here.

> Signed-off-by: Daniel Mack <daniel@zonque.org>

> Acked-by: Rob Herring <robh@kernel.org>

> ---

>  .../devicetree/bindings/clock/cirrus,cs2000-cp.yaml         | 6 ++++++

>  1 file changed, 6 insertions(+)

> 

> diff --git a/Documentation/devicetree/bindings/clock/cirrus,cs2000-cp.yaml b/Documentation/devicetree/bindings/clock/cirrus,cs2000-cp.yaml

> index 79b90500f6ac..9047d8a24a08 100644

> --- a/Documentation/devicetree/bindings/clock/cirrus,cs2000-cp.yaml

> +++ b/Documentation/devicetree/bindings/clock/cirrus,cs2000-cp.yaml

> @@ -48,6 +48,12 @@ properties:

>        - 3 # CS2000CP_AUX_OUTPUT_PLL_LOCK: pll lock status

>      default: 0

> 

> +  cirrus,clock-skip:

> +    description:

> +      This mode allows the PLL to maintain lock even when CLK_IN

> +      has missing pulses for up to 20 ms.

> +    $ref: /schemas/types.yaml#/definitions/flag

> +

>  required:

>    - compatible

>    - reg

> --

> 2.31.1

>
Daniel Mack Sept. 22, 2021, 9:44 a.m. UTC | #2
Mike, Stephen,

Is there a chance to get this series reviewed and potentially queued for
5.16?

We have clearance for the devicetree side, and the functional changes of
the driver are all guarded by new feature flags, so my patches shouldn't
break existing setups.


Thanks a lot,
Daniel


On 9/1/21 11:36 AM, Daniel Mack wrote:
> This patch series adds support for dynamic mode, configurable clock

> skip settings and a tranisition to regmap.

> 

> The most significant change is the additional support for dynamic mode.

> Currently, the driver only supports static mode in which the (currently

> mandatory) CLK_IN clock input is not used by the hardware.

> 

> Unlike v3 of this series, the patch stack now maintains full

> compatibility with existing bindings. Rather than infering the mode of

> operation through the presence of an optional clock, the driver now

> parses a new DT property to enable the dynamic mode.

> 

> Thanks,

> Daniel

> 

> Changelog:

> 

> v4 -> v5:

> 	* Fixed a regression for static mode configurations

> 	* Added Rob's Acked-by signatures

> 

> v3 -> v4:

> 	* Introduced cirrus,dynamic-mode in favor of making CLK_IN

> 	  optional

> 

> 

> Daniel Mack (9):

>   dt-bindings: clock: convert cs2000-cp bindings to yaml

>   dt-bindings: clock: cs2000-cp: document aux-output-source

>   dt-bindings: clock: cs2000-cp: document cirrus,clock-skip flag

>   dt-bindings: clock: cs2000-cp: document cirrus,dynamic-mode

>   clk: cs2000-cp: Make aux output function controllable

>   clk: cs2000-cp: add support for dynamic mode

>   clk: cs2000-cp: make clock skip setting configurable

>   clk: cs2000-cp: freeze config during register fiddling

>   clk: cs2000-cp: convert driver to regmap

> 

>  .../bindings/clock/cirrus,cs2000-cp.yaml      |  91 +++++++

>  .../devicetree/bindings/clock/cs2000-cp.txt   |  22 --

>  drivers/clk/Kconfig                           |   1 +

>  drivers/clk/clk-cs2000-cp.c                   | 240 +++++++++++-------

>  include/dt-bindings/clock/cirrus,cs2000-cp.h  |  14 +

>  5 files changed, 261 insertions(+), 107 deletions(-)

>  create mode 100644 Documentation/devicetree/bindings/clock/cirrus,cs2000-cp.yaml

>  delete mode 100644 Documentation/devicetree/bindings/clock/cs2000-cp.txt

>  create mode 100644 include/dt-bindings/clock/cirrus,cs2000-cp.h

>
Daniel Mack Oct. 4, 2021, 3:18 p.m. UTC | #3
On 9/22/21 11:44, Daniel Mack wrote:
> Mike, Stephen,

> 

> Is there a chance to get this series reviewed and potentially queued for

> 5.16?

> 

> We have clearance for the devicetree side, and the functional changes of

> the driver are all guarded by new feature flags, so my patches shouldn't

> break existing setups.


Gentle ping. Anything I can do to get this reviewed?


Thanks,
Daniel



> 

> 

> Thanks a lot,

> Daniel

> 

> 

> On 9/1/21 11:36 AM, Daniel Mack wrote:

>> This patch series adds support for dynamic mode, configurable clock

>> skip settings and a tranisition to regmap.

>>

>> The most significant change is the additional support for dynamic mode.

>> Currently, the driver only supports static mode in which the (currently

>> mandatory) CLK_IN clock input is not used by the hardware.

>>

>> Unlike v3 of this series, the patch stack now maintains full

>> compatibility with existing bindings. Rather than infering the mode of

>> operation through the presence of an optional clock, the driver now

>> parses a new DT property to enable the dynamic mode.

>>

>> Thanks,

>> Daniel

>>

>> Changelog:

>>

>> v4 -> v5:

>> 	* Fixed a regression for static mode configurations

>> 	* Added Rob's Acked-by signatures

>>

>> v3 -> v4:

>> 	* Introduced cirrus,dynamic-mode in favor of making CLK_IN

>> 	  optional

>>

>>

>> Daniel Mack (9):

>>   dt-bindings: clock: convert cs2000-cp bindings to yaml

>>   dt-bindings: clock: cs2000-cp: document aux-output-source

>>   dt-bindings: clock: cs2000-cp: document cirrus,clock-skip flag

>>   dt-bindings: clock: cs2000-cp: document cirrus,dynamic-mode

>>   clk: cs2000-cp: Make aux output function controllable

>>   clk: cs2000-cp: add support for dynamic mode

>>   clk: cs2000-cp: make clock skip setting configurable

>>   clk: cs2000-cp: freeze config during register fiddling

>>   clk: cs2000-cp: convert driver to regmap

>>

>>  .../bindings/clock/cirrus,cs2000-cp.yaml      |  91 +++++++

>>  .../devicetree/bindings/clock/cs2000-cp.txt   |  22 --

>>  drivers/clk/Kconfig                           |   1 +

>>  drivers/clk/clk-cs2000-cp.c                   | 240 +++++++++++-------

>>  include/dt-bindings/clock/cirrus,cs2000-cp.h  |  14 +

>>  5 files changed, 261 insertions(+), 107 deletions(-)

>>  create mode 100644 Documentation/devicetree/bindings/clock/cirrus,cs2000-cp.yaml

>>  delete mode 100644 Documentation/devicetree/bindings/clock/cs2000-cp.txt

>>  create mode 100644 include/dt-bindings/clock/cirrus,cs2000-cp.h

>>

>