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/
v1: https://lore.kernel.org/lkml/20251229075313.27254-1-eleanor.lin@realtek.com/
---
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