[PATCH v5 00/10] clk: realtek: Add RTD1625 clock support

From: Yu-Chun Lin

Date: Mon Mar 23 2026 - 22:59:00 EST


Hello,

This patch series adds clock support for Realtek's RTD1625 platform
The series includes:
1. Device Tree: Add clock controller nodes.
2. Infrastructure: reset controller, basic clocks, PLLs, gate clocks, mux
clocks, and MMC-tuned PLLs.
3. Platform drivers: two clock controller drivers for RTD1625-CRT and
RTD1625-ISO.

Best regards,
Yu-Chun Lin
---
Changes in v5:
patch 1:
- Removed hardware bit position encoding from the reset binding and redesgined
reset IDs as sequential values.

patch 2:
- Reordered device nodes alphabetically.

patch 3:
- Created drivers/reset/realtek/ directory and include/linux/reset/realtek.h.
- Extracted the common reset helpers:
- Moved the source code to drivers/reset/realtek/common.c and
- the header to include/linux/reset/realtek.h
- Renamed rtk_reset_bank to rtk_reset_desc.
- Added 'bits' member to rtk_reset_desc structure.
- Removed rtk_reset_get_id() and rtk_reset_get_bank() helper.
- Introduced rtk_reset_get_desc().

patch 4:
- Synchronized with reset controller changes.

patches 9-10:
- Added #include <dt-bindings/reset/realtek,rtd1625.h> in drivers.
- Replaced rtk_reset_bank arrays with rtk_reset_desc descriptors.
- Implemented complete mapping tables for all reset IDs.

v4: https://lore.kernel.org/lkml/20260313081100.596224-1-eleanor.lin@xxxxxxxxxxx/
v3: https://lore.kernel.org/lkml/20260122110857.12995-1-eleanor.lin@xxxxxxxxxxx/
v2: https://lore.kernel.org/lkml/20260113112333.821-1-eleanor.lin@xxxxxxxxxxx/
v1: https://lore.kernel.org/lkml/20251229075313.27254-1-eleanor.lin@xxxxxxxxxxx/

Yu-Chun Lin (10):
dt-bindings: clock: Add Realtek RTD1625 Clock & Reset Controller
arm64: dts: realtek: Add clock support for RTD1625
reset: Add Realtek 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 | 52 +
MAINTAINERS | 19 +
arch/arm64/boot/dts/realtek/kent.dtsi | 30 +
drivers/clk/Kconfig | 1 +
drivers/clk/Makefile | 1 +
drivers/clk/realtek/Kconfig | 45 +
drivers/clk/realtek/Makefile | 13 +
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 | 912 ++++++++++++++++++
drivers/clk/realtek/clk-rtd1625-iso.c | 186 ++++
drivers/clk/realtek/common.c | 59 ++
drivers/clk/realtek/common.h | 43 +
drivers/clk/realtek/freq_table.c | 35 +
drivers/clk/realtek/freq_table.h | 23 +
drivers/reset/Kconfig | 1 +
drivers/reset/Makefile | 1 +
drivers/reset/realtek/Kconfig | 3 +
drivers/reset/realtek/Makefile | 2 +
drivers/reset/realtek/common.c | 91 ++
.../dt-bindings/clock/realtek,rtd1625-clk.h | 164 ++++
include/dt-bindings/reset/realtek,rtd1625.h | 186 ++++
include/linux/reset/realtek.h | 25 +
28 files changed, 2735 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/reset/realtek/Kconfig
create mode 100644 drivers/reset/realtek/Makefile
create mode 100644 drivers/reset/realtek/common.c
create mode 100644 include/dt-bindings/clock/realtek,rtd1625-clk.h
create mode 100644 include/dt-bindings/reset/realtek,rtd1625.h
create mode 100644 include/linux/reset/realtek.h

--
2.34.1