[PATCH RFC v4 00/12] ZTE zx297520v3 clock bindings and driver
Stefan Dösinger
stefandoesinger at gmail.com
Tue Jun 16 13:26:20 PDT 2026
Hi,
I am sending version 4 of my zx297520v3 clock patch. The major change is
using regmaps rather than raw mmio to access the clocks and moving reset
handling into its own aux bus driver.
I think the list of clocks in my driver is fairly complete; It is
certainly a lot better than what the downstream ZTE drivers have. I
deduced a lot of it by trial and error. I am sure there are some clocks
missing that will need to be added to the binding later. Afaiu adding
clocks is not an issue, but removing or reordering them is an ABI break.
I expect Sashiko to find a lot of slopiness mistakes, so I kept the
[RFC] tag for this submission.
Signed-off-by: Stefan Dösinger <stefandoesinger at gmail.com>
---
Changes in v4:
*) Use syscon and regmap instead of raw IO
*) Move reset to its own driver on the aux bus, but keep reset and clk
in the same binding as it matches the way the hardware works
*) Go back to having matrixclk in its own device because syscon deals
poorly with multi io reg devices. List all PLL outputs from topclk as
inputs to matrixclk
*) Some more hardware research: Figure out the parents of the 4 possible
GPIO clock outputs and declare them in the driver. They are unused on
the hardware I have, but they show that all PLLs can be used.
- Link to v3: https://lore.kernel.org/r/20260529-zx29clk-v3-0-c7fe54ea388f@gmail.com
Changes in v3:
Model top and matrix clocks as one device
Add PLL driver
Fixed a few issues found by Sashiko: register lock, some missing devm_,
error handling
v2: Fix build issues introduced by checkpatch.pl fixes that I didn't
spot earlier.
---
Stefan Dösinger (12):
dt-bindings: clk: zte: Add zx297520v3 top clock and reset bindings
dt-bindings: clk: zte: Add zx297520v3 matrix clock and reset bindings
dt-bindings: clk: zte: Add zx297520v3 LSP clock and reset bindings
clk: zte: Add Clock registration infrastructure.
clk: zte: Add zx PLL support infrastructure
clk: zte: Add regmap based clocks
clk: zte: Introduce a driver for zx297520v3 top clocks
clk: zte: Introduce a driver for zx297520v3 matrix clocks
clk: zte: Introduce a driver for zx297520v3 LSP clocks
reset: zte: Add a zx297520v3 reset driver
ARM: dts: zte: Declare zx297520v3 clock device nodes
ARM: dts: zte: Add a syscon-reboot for zx297520v3 boards
.../bindings/clock/zte,zx297520v3-lspclk.yaml | 130 ++++
.../bindings/clock/zte,zx297520v3-matrixclk.yaml | 180 +++++
.../bindings/clock/zte,zx297520v3-topclk.yaml | 70 ++
MAINTAINERS | 4 +
arch/arm/boot/dts/zte/zx297520v3.dtsi | 97 ++-
drivers/clk/Kconfig | 1 +
drivers/clk/Makefile | 1 +
drivers/clk/zte/Kconfig | 28 +
drivers/clk/zte/Makefile | 6 +
drivers/clk/zte/clk-regmap.c | 247 +++++++
drivers/clk/zte/clk-zx.c | 157 ++++
drivers/clk/zte/clk-zx.h | 79 ++
drivers/clk/zte/clk-zx297520v3.c | 795 +++++++++++++++++++++
drivers/clk/zte/pll-zx.c | 477 +++++++++++++
drivers/reset/Kconfig | 11 +
drivers/reset/Makefile | 1 +
drivers/reset/reset-zte-zx297520v3.c | 224 ++++++
include/dt-bindings/clock/zte,zx297520v3-clk.h | 219 ++++++
18 files changed, 2718 insertions(+), 9 deletions(-)
---
base-commit: c1ecb239fa3456529a32255359fc78b69eb9d847
change-id: 20260510-zx29clk-2e4d39e3128c
Best regards,
--
Stefan Dösinger <stefandoesinger at gmail.com>
More information about the linux-arm-kernel
mailing list