[PATCH v3 0/9] clk: realtek: Add RTD1625 Clock Support
From: Yu-Chun Lin <eleanor.lin@realtek.com>
Date: 2026-01-22 11:09:16
Also in:
linux-clk, lkml
Hello, This patch series adds clock support for Realtek's RTD1625 platform The series includes: 1. Infrastructure: reset controller, basic clocks, PLLs, gate clocks, mux clocks, and MMC-tuned PLLs. 2. Platform drivers: two clock controller drivers for RTD1625-CRT and RTD1625-ISO. I welcome feedback and suggestions. Best regards, Yu-Chun Lin --- Changes in v3: General: - Added prefix "rtk_" in operation names to avoid duplicate symbol problem. - Converted macro to static inline function. patch 1: - Converted header file path to the full path. patch 2: - Reduced the number of IDs per bank from 256 to 32, eliminating unnecessary gaps. - Used UL() to prevent undefined behavior. patch 3 & 4: - Optimized code structure by removing redundant elements. - Replaced Read-Modify-Write operations in clk_pll_set_rate with regmap_update_bits() v2: https://lore.kernel.org/lkml/20260113112333.821-1-eleanor.lin@realtek.com/ (local) v1: https://lore.kernel.org/lkml/20251229075313.27254-1-eleanor.lin@realtek.com/ (local) --- Yu-Chun Lin (9): dt-bindings: clock: Add Realtek RTD1625 Clock & Reset Controller clk: realtek: Add basic reset support clk: realtek: Introduce a common probe() clk: realtek: Add support for phase locked loops (PLLs) clk: realtek: Add support for gate clock clk: realtek: Add support for mux clock clk: realtek: Add support for MMC-tuned PLL clocks clk: realtek: Add RTD1625-CRT clock controller driver clk: realtek: Add RTD1625-ISO clock controller driver .../bindings/clock/realtek,rtd1625-clk.yaml | 51 ++ MAINTAINERS | 18 + drivers/clk/Kconfig | 1 + drivers/clk/Makefile | 1 + drivers/clk/realtek/Kconfig | 45 + drivers/clk/realtek/Makefile | 14 + drivers/clk/realtek/clk-pll-mmc.c | 399 +++++++++ drivers/clk/realtek/clk-pll.c | 156 ++++ drivers/clk/realtek/clk-pll.h | 68 ++ drivers/clk/realtek/clk-regmap-gate.c | 66 ++ drivers/clk/realtek/clk-regmap-gate.h | 65 ++ drivers/clk/realtek/clk-regmap-mux.c | 46 + drivers/clk/realtek/clk-regmap-mux.h | 43 + drivers/clk/realtek/clk-rtd1625-crt.c | 788 ++++++++++++++++++ drivers/clk/realtek/clk-rtd1625-iso.c | 153 ++++ drivers/clk/realtek/common.c | 64 ++ drivers/clk/realtek/common.h | 43 + drivers/clk/realtek/freq_table.c | 35 + drivers/clk/realtek/freq_table.h | 23 + drivers/clk/realtek/reset.c | 112 +++ drivers/clk/realtek/reset.h | 36 + .../dt-bindings/clock/realtek,rtd1625-clk.h | 164 ++++ 22 files changed, 2391 insertions(+) create mode 100644 Documentation/devicetree/bindings/clock/realtek,rtd1625-clk.yaml create mode 100644 drivers/clk/realtek/Kconfig create mode 100644 drivers/clk/realtek/Makefile create mode 100644 drivers/clk/realtek/clk-pll-mmc.c create mode 100644 drivers/clk/realtek/clk-pll.c create mode 100644 drivers/clk/realtek/clk-pll.h create mode 100644 drivers/clk/realtek/clk-regmap-gate.c create mode 100644 drivers/clk/realtek/clk-regmap-gate.h create mode 100644 drivers/clk/realtek/clk-regmap-mux.c create mode 100644 drivers/clk/realtek/clk-regmap-mux.h create mode 100644 drivers/clk/realtek/clk-rtd1625-crt.c create mode 100644 drivers/clk/realtek/clk-rtd1625-iso.c create mode 100644 drivers/clk/realtek/common.c create mode 100644 drivers/clk/realtek/common.h create mode 100644 drivers/clk/realtek/freq_table.c create mode 100644 drivers/clk/realtek/freq_table.h create mode 100644 drivers/clk/realtek/reset.c create mode 100644 drivers/clk/realtek/reset.h create mode 100644 include/dt-bindings/clock/realtek,rtd1625-clk.h -- 2.34.1