[PATCH v2 0/5] arm64: allwinner: a523: Enable CPU clocks
Andre Przywara
andre.przywara at arm.com
Thu Sep 17 15:39:08 PDT 2026
Hi,
after a year (again?) an update to the A523 CPU clock series. I heeded
Chen-Yu's advice and generalised the update bit to cover both the "key"
use case and the now no longer fixed update bit (patch 1). I also
followed one of Krzysztof's suggestions around the binding headers.
For a changelog see below. Based on v7.3-rc1.
This clashes slightly with the already queued clock fixes from Junhui,
please let me know how I should play this.
==============================
This series adds support for the CPU clock controller in the Allwinner
A523/A527/T527 family of SoCs.
In contrast to all earlier Allwinner SoCs, this chip features a separate
CCU for the CPU clocks (one for each of the two clusters) and the DSU
clock.
Patches 1 and 2 add some slight enhancements to the sunxi-ng clock driver
framework, to generalise the update bit and allow clocks with just a
power-of-2 divider.
Patch 3 adds the binding document for the new CCU.
Patch 4 adds the actual clock driver, and patch 5 makes use of that by
adding the clock description to the SoC .dtsi.
Please have a look and test!
Cheers,
Andre
Changes in v2:
- rebase on v7.3-rc1
- cover CCU_FEATURE_KEY_FIELD in update bits generalisation
- explicitly include binding header in clock driver
- order clocks property before enable-method in DT nodes
Andre Przywara (5):
clk: sunxi-ng: generalise update bit
clk: sunxi-ng: mp: support clocks with just a shift register
dt-bindings: clock: sun55i-a523-ccu: Add A523 CPU CCU clock controller
clk: sunxi-ng: add support for the A523/T527 CPU CCU
arm64: dts: allwinner: a523: add CPU clocks
.../clock/allwinner,sun55i-a523-ccu.yaml | 25 ++
.../arm64/boot/dts/allwinner/sun55i-a523.dtsi | 22 ++
drivers/clk/sunxi-ng/Kconfig | 5 +
drivers/clk/sunxi-ng/Makefile | 2 +
drivers/clk/sunxi-ng/ccu-sun55i-a523-cpu.c | 340 ++++++++++++++++++
drivers/clk/sunxi-ng/ccu-sun55i-a523-cpu.h | 24 ++
drivers/clk/sunxi-ng/ccu-sun55i-a523.c | 12 +-
drivers/clk/sunxi-ng/ccu-sun6i-rtc.c | 4 +-
drivers/clk/sunxi-ng/ccu_common.h | 8 +-
drivers/clk/sunxi-ng/ccu_div.c | 3 +-
drivers/clk/sunxi-ng/ccu_gate.c | 6 +-
drivers/clk/sunxi-ng/ccu_mp.c | 6 +-
drivers/clk/sunxi-ng/ccu_mp.h | 8 +-
drivers/clk/sunxi-ng/ccu_mux.c | 8 +-
drivers/clk/sunxi-ng/ccu_nm.c | 1 +
.../dt-bindings/clock/sun55i-a523-cpu-ccu.h | 13 +
16 files changed, 456 insertions(+), 31 deletions(-)
create mode 100644 drivers/clk/sunxi-ng/ccu-sun55i-a523-cpu.c
create mode 100644 drivers/clk/sunxi-ng/ccu-sun55i-a523-cpu.h
create mode 100644 include/dt-bindings/clock/sun55i-a523-cpu-ccu.h
base-commit: cee9395acd8043be0644b25c34bfa86623f2b935
--
2.43.0
More information about the linux-arm-kernel
mailing list