[PATCH v7 0/6] Add CPU clock support for Armada 7K/8K

Gregory CLEMENT
2019-07-10T13:45:55Z

Hello,

This is the seventh version of a series allowing to manage the cpu
clock for Armada 7K/8K.

For these SoCs, the CPUs share the same clock by cluster, so actually
the clock management is done at cluster level.

As for the other Armada 7K/8K clocks it is possible to have multiple
AP so here again we need to have unique name: the purpose of the second
patch is to share a common code which will be used in 3 drivers.

The last 2 patch enable the driver at dt and platform level and will
be applied through the mvebu subsystem.

Changelog v6->v7:

- Update binding documentation for the AP clock to mention that
they expose reference clocks for the cluster to make distinction
with the cluster clocks themselves exposed by the cpu clock.

- Add precision on the number of parent clock in the binding
documentation.

- Also fix the example by using the reg address in the node name.

Changelog v5->v6:

- Restraint the reg property for the child node to not overlap the
other node.
- Give a specific compatible to ap_syscon1.

Changelog v4->v5:

- As requested by the device tree maintainer make the reg property
mandatory

- Updated the device tree files accordingly with the new binding

Changelog v3->v4:
- Rebased on v5.1-rc1
- Mention in the binding that a reg property can be used to make the
device tree maintainer happy in the hope that there will be finally
a review on this patch blocking the whole series.

Changelog v2->v3:
- Add back the first patch documenting the binding

Changelog v1->v2:
- Header cleanup
- Use unsigned int instead of it for cluster member of the ap_cpu_clk struct
- Use clk_hw instead of clk
- Use regmap_read_poll_timeout
- Use for_each_of_cpu_node
- Remove unnecessary WARN_ON()
- Remove headers from armada_ap_cp_helper.h
- Few other minor cleanup

Gregory CLEMENT (6):
dt-bindings: ap806: add the cluster clock node in the syscon file
clk: mvebu: add helper file for Armada AP and CP clocks
clk: mvebu: add CPU clock driver for Armada 7K/8K
clk: mvebu: ap806: Fix clock name for the cluster
arm64: marvell: enable the Armada 7K/8K CPU clk driver
arm64: dts: marvell: Add cpu clock node on Armada 7K/8K

.../arm/marvell/ap806-system-controller.txt | 31 ++-
arch/arm64/Kconfig.platforms | 1 +
.../boot/dts/marvell/armada-ap806-quad.dtsi | 4 +
arch/arm64/boot/dts/marvell/armada-ap806.dtsi | 7 +
drivers/clk/mvebu/Kconfig | 8 +
drivers/clk/mvebu/Makefile | 2 +
drivers/clk/mvebu/ap-cpu-clk.c | 259 ++++++++++++++++++
drivers/clk/mvebu/ap806-system-controller.c | 24 +-
drivers/clk/mvebu/armada_ap_cp_helper.c | 30 ++
drivers/clk/mvebu/armada_ap_cp_helper.h | 11 +
drivers/clk/mvebu/cp110-system-controller.c | 32 +--
11 files changed, 365 insertions(+), 44 deletions(-)
create mode 100644 drivers/clk/mvebu/ap-cpu-clk.c
create mode 100644 drivers/clk/mvebu/armada_ap_cp_helper.c
create mode 100644 drivers/clk/mvebu/armada_ap_cp_helper.h