[PATCH 00/13] clk: amlogic: Introduce A9 PLL and CCU driver support
From: Chuan Liu via B4 Relay <devnull+chuan.liu.amlogic.com@kernel.org>
Date: 2026-02-09 05:49:06
Also in:
b4-sent, linux-amlogic, linux-clk, lkml
This patch adds driver support for Phase-Locked Loop (PLL) controllers and Clock Control Units (CCUs) in A9 SoC family. In the A9 SoC architecture, PLLs and clock control units are implemented as standardized hardware instances to reduce unnecessary differentiation across individual units. All A9 PLLs and CCUs are exposed as device tree nodes, providing an accurate representation of the SoC's internal clock hardware structure. These drivers are designed for reuse in subsequent SoC generations, guaranteeing code inheritance and maximizing reusability. Makefile rules compile A9 PLL and CCU drivers into clk-amlogic.o (see drivers/clk/amlogic/Makefile), simplifying deployment and enhancing load efficiency (single insmod for kernel module). Since the foundational A9 DTS hasn't been upstreamed yet, I'm temporarily pushing the PLL/CCU DTS files to github for driver comprehension [1]. These patches will be included in a later release after the base A9 DTS is merged. [1] https://github.com/torvalds/linux/commit/d6a82e4cce675fa5146c5f638c2a926c1c8cb1d9 Signed-off-by: Chuan Liu <redacted> --- Chuan Liu (13): dt-bindings: clock: Add Amlogic A9 standardized model clock control units dt-bindings: clock: Add Amlogic A9 PLL controllers dt-bindings: clock: Add Amlogic A9 misc clock control units clk: amlogic: Add basic clock driver clk: amlogic: Add composite clock driver clk: amlogic: Add noglitch clock driver clk: amlogic: Add duandiv clock driver clk: amlogic: Add PLL driver clk: amlogic: Add DT-based clock registration functions clk: amlogic: Add A9 standardized model clock control units driver clk: amlogic: Add A9 PLL controllers driver clk: amlogic: Add A9 misc clock control units driver clk: amlogic: Add support for building as combined kernel module .../bindings/clock/amlogic,a9-misc-ccu.yaml | 523 +++++++++++ .../bindings/clock/amlogic,a9-model-ccu.yaml | 435 +++++++++ .../devicetree/bindings/clock/amlogic,a9-pll.yaml | 134 +++ drivers/clk/Kconfig | 1 + drivers/clk/Makefile | 1 + drivers/clk/amlogic/Kconfig | 52 ++ drivers/clk/amlogic/Makefile | 23 + drivers/clk/amlogic/a9-misc-ccu.c | 970 +++++++++++++++++++++ drivers/clk/amlogic/a9-model-ccu.c | 475 ++++++++++ drivers/clk/amlogic/a9-pll.c | 156 ++++ drivers/clk/amlogic/clk-basic.c | 219 +++++ drivers/clk/amlogic/clk-basic.h | 39 + drivers/clk/amlogic/clk-composite.c | 280 ++++++ drivers/clk/amlogic/clk-composite.h | 20 + drivers/clk/amlogic/clk-dualdiv.c | 365 ++++++++ drivers/clk/amlogic/clk-dualdiv.h | 27 + drivers/clk/amlogic/clk-module.c | 42 + drivers/clk/amlogic/clk-module.h | 53 ++ drivers/clk/amlogic/clk-noglitch.c | 584 +++++++++++++ drivers/clk/amlogic/clk-noglitch.h | 29 + drivers/clk/amlogic/clk-pll.c | 701 +++++++++++++++ drivers/clk/amlogic/clk-pll.h | 43 + drivers/clk/amlogic/clk.c | 464 ++++++++++ drivers/clk/amlogic/clk.h | 56 ++ include/dt-bindings/clock/amlogic,a9-misc-ccu.h | 53 ++ 25 files changed, 5745 insertions(+) --- base-commit: 4d310797262f0ddf129e76c2aad2b950adaf1fda change-id: 20260130-a9_clock_driver-ddd90357848c Best regards, -- Chuan Liu [off-list ref]