[PATCH v3 0/3] clk: ti: dpll: switch spread spectrum to the generic framework

From: Dario Binacchi

Date: Wed Oct 28 2026 - 03:45:00 EST


The am33xx/am43xx DPLL spread spectrum clocking (SSC) is configured
through vendor specific DT properties. Since 7.3 the clock framework
provides a generic API and the assigned-clock-sscs DT property for it,
so the series moves the TI DPLL to the generic configuration and
deprecates the vendor specific properties.

The last patch applies the configuration right away, as the clock
core skips set_rate() when the requested rate is already the current
one, e.g. when the bootloader has set it up.

Tested on a BeagleBone Black with equivalent parameters, set through
the deprecated properties, assigned-clock-sscs or both. The dpll_disp_ck
SSC registers are programmed with the same values as before the series.

Changes in v3:
- Deprecate the properties instead of dropping them
- Keep parsing the deprecated vendor specific properties
- Skip reprogramming only if the configuration is already applied
to the hardware

Changes in v2:
- Check the DPLL lock state instead of its parent, as the reference
and bypass clocks can be the same clock

Dario Binacchi (3):
dt-bindings: clock: ti: dpll: deprecate the ti,ssc-* properties
clk: ti: dpll: use the generic spread spectrum configuration
clk: ti: dpll: apply the spread spectrum configuration right away

.../devicetree/bindings/clock/ti/dpll.txt | 9 +-
drivers/clk/ti/clock.h | 2 +
drivers/clk/ti/dpll.c | 20 +++-
drivers/clk/ti/dpll3xxx.c | 98 +++++++++++++++++--
include/linux/clk/ti.h | 9 +-
5 files changed, 113 insertions(+), 25 deletions(-)

---
base-commit: 65ba8f34ec886ec72b2c07ddc8cf3d815c32869d
branch: am33xx-assigned-clock-sscs

--
2.43.0