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