Linux clock framework development
 help / color / mirror / Atom feed
* [PATCH v3 0/4] arm64: allwinner: a523: Enable CPU clocks
@ 2026-09-25 22:51 Andre Przywara
  2026-09-25 22:51 ` [PATCH v3 1/4] clk: sunxi-ng: generalise update bit Andre Przywara
                   ` (3 more replies)
  0 siblings, 4 replies; 9+ messages in thread
From: Andre Przywara @ 2026-09-25 22:51 UTC (permalink / raw)
  To: Stephen Boyd, Brian Masney, Jerome Brunet, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Chen-Yu Tsai, Jernej Skrabec,
	Samuel Holland
  Cc: linux-clk, devicetree, linux-arm-kernel, linux-sunxi

Hi,

an update for the A523 CPU clock series, aiming at eventually lifting
all A523 boards out of their current 768MHz misery ;-)
This addresses the comments on the list and from Sashiko, though I took
the freedom to ignore impossible scenarios (we cannot really remove this
clock module), and pathological corner cases (race condition between
registering the CCU and registering the clock notifiers).
Changes to mention are the usage of a new clock macro based on a divider
clock for the PLL dividers, and the rework of the PLL start routine. 
For a more complete changelog see below. Based on v7.3-rc1.

==============================
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.

Patch 1 adds some slight enhancement to the sunxi-ng clock driver
framework, to generalise the update bit.
Patch 2 adds the binding document for the new CCU.
Patch 3 adds the actual clock driver, and patch 4 makes use of that by
adding the clock description to the SoC .dtsi.

Please have a look and test!

Cheers,
Andre

Changes in v3:
- forbid #reset-cells in DT binding
- adjust top level comment to include DSU divider bits
- drop patch 2 in favour of using a div clock and a new macro
- describe PLL divider clocks using new divider clock macro
- rename 600MHz input clock name to match binding (lower case "m")
- add MUX notifier for DSU clock as well
- add new function to start CPU PLLs in a safer way
- add MODULE_DEVICE_TABLE
- drop unneeded (and now forbidden) #reset-cells from .dtsi
- only build driver for CONFIG_ARCH_SUNXI

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 (4):
  clk: sunxi-ng: generalise update bit
  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      |  38 +-
 .../arm64/boot/dts/allwinner/sun55i-a523.dtsi |  21 +
 drivers/clk/sunxi-ng/Kconfig                  |   5 +
 drivers/clk/sunxi-ng/Makefile                 |   2 +
 drivers/clk/sunxi-ng/ccu-sun55i-a523-cpu.c    | 378 ++++++++++++++++++
 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_div.h                |   5 +
 drivers/clk/sunxi-ng/ccu_gate.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, 506 insertions(+), 30 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.46.4


^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2026-10-06 16:03 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-09-25 22:51 [PATCH v3 0/4] arm64: allwinner: a523: Enable CPU clocks Andre Przywara
2026-09-25 22:51 ` [PATCH v3 1/4] clk: sunxi-ng: generalise update bit Andre Przywara
2026-09-25 22:51 ` [PATCH v3 2/4] dt-bindings: clock: sun55i-a523-ccu: Add A523 CPU CCU clock controller Andre Przywara
2026-09-29  8:42   ` Krzysztof Kozlowski
2026-10-04 22:50     ` Andre Przywara
2026-10-06 16:03       ` Krzysztof Kozlowski
2026-09-25 22:51 ` [PATCH v3 3/4] clk: sunxi-ng: add support for the A523/T527 CPU CCU Andre Przywara
2026-09-25 23:06   ` sashiko-bot
2026-09-25 22:51 ` [PATCH v3 4/4] arm64: dts: allwinner: a523: add CPU clocks Andre Przywara

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox