[PATCH v3 0/8] Support spread spectrum clocking for i.MX8{M,N,P} PLLs

Dario Binacchi
2024-11-06T09:29:02Z

The series adds support for spread spectrum clocking for i.MX8M{N,M,P}
PLLs (audio, video and DRAM). It has been tested for the video PLL on
boards using i.MX8MN and i.MX8MP.

Changes in v3:
- Patches 1/8 has been added in version 3. The dt-bindings have
been moved from fsl,imx8m-anatop.yaml to imx8m-clock.yaml. The
anatop device (fsl,imx8m-anatop.yaml) is indeed more or less a
syscon, so it represents a memory area accessible by ccm
(imx8m-clock.yaml) to setup the PLLs.
- Patches {3,5}/8 have been added in version 3.
- Patches {4,6,8}/8 use ccm device node instead of the anatop one.

Changes in v2:
- Add "allOf:" and place it after "required:" block, like in the
example schema.
- Move the properties definition to the top-level.
- Drop unit types as requested by the "make dt_binding_check" command.

Dario Binacchi (8):
dt-bindings: clock: imx8m-clock: support spread spectrum clocking
clk: imx: pll14xx: support spread spectrum clock generation
clk: imx: imx8mm: distinguish between ccm and anatop references
clk: imx8mm: support spread spectrum clock generation
clk: imx: imx8mn: distinguish between ccm and anatop references
clk: imx8mn: support spread spectrum clock generation
clk: imx8mp: don't lose the anatop device node
clk: imx8mp: support spread spectrum clock generation

.../bindings/clock/imx8m-clock.yaml | 46 ++++++++
drivers/clk/imx/clk-imx8mm.c | 99 +++++++++--------
drivers/clk/imx/clk-imx8mn.c | 102 +++++++++---------
drivers/clk/imx/clk-imx8mp-audiomix.c | 2 +-
drivers/clk/imx/clk-imx8mp.c | 21 ++--
drivers/clk/imx/clk-pll14xx.c | 102 +++++++++++++++++-
drivers/clk/imx/clk.h | 24 ++++-
7 files changed, 289 insertions(+), 107 deletions(-)

--
2.43.0