[PATCH v2 0/4] clk: Support spread spectrum and use it in clk-pll144x and clk-scmi

Peng Fan (OSS) peng.fan at oss.nxp.com
Mon Feb 24 05:09:20 PST 2025


Hi Rob, Stephen,

> Subject: [PATCH v2 0/4] clk: Support spread spectrum and use it in clk-
> pll144x and clk-scmi

Do you have time to give a look on patch 1,2 and the bindings
part in https://github.com/devicetree-org/dt-schema/pull/154

I would like to see if you agree on this approach or not, then
I could work on next step to explore new method or else

Thanks,
Peng.

> 
> - Introduce clk_set_spread_spectrum to set the parameters for enabling
>   spread spectrum of a clock.
> - Parse 'assigned-clock-sscs' and configure it by default before using the
>   clock. The pull request for this property is at [1]
>   This property is parsed before parsing clock rate.
> 
> - Enable this feature for clk-scmi on i.MX95.
>   This may not the best, since checking machine compatibles.
>   I am thinking to provide an API scmi_get_vendor_info, then driver
>   could use it for OEM stuff, such as
>   if (scmi_get_vendor_info returns NXP_IMX)
>       ops->set_spread_spectrum = scmi_clk_set_spread_spectrum;
> 
> [1] https://github.com/devicetree-org/dt-schema/pull/154
> 
> Signed-off-by: Peng Fan <peng.fan at nxp.com>
> ---
> Changes in v2:
> - Rename to clk_hw_set_spread_spectrum and not export it as
> consumer API.
> - Fix error handling
> - The enable parameter is still kept, because 0% is valid per
>   https://www.ti.com/lit/an/scaa103/scaa103.pdf?ts=1738667308903
>   https://www.synopsys.com/blogs/chip-design/understanding-pcie-
> spread-spectrum-clocking.html
> - Include the i.MX clk pll14xx which was an effort to enable SSC on
> i.MX8MN from https://lore.kernel.org/all/20250118124044.157308-1-
> dario.binacchi at amarulasolutions.com/
>   With this patchset, things could be simplied a lot.
> - Update the clk-scmi extconfig, marked as not apply, because spec not
> settle down.
> - Link to v1: https://lore.kernel.org/linux-clk/20250124-clk-ssc-v1-0-
> 2d39f6baf2af at nxp.com/T/#mce926ef10d3d9c1c960c21867c2f1509f1
> f87cb9
> 
> ---
> Peng Fan (4):
>       clk: Introduce clk_hw_set_spread_spectrum
>       clk: conf: Support assigned-clock-sscs
>       clk: imx: pll14xx: support spread spectrum clock generation
>       [NOT APPLY] clk: scmi: Support spread spectrum
> 
>  drivers/clk/clk-conf.c        | 70
> +++++++++++++++++++++++++++++++++++++++++++
>  drivers/clk/clk-scmi.c        | 47 +++++++++++++++++++++++++++--
>  drivers/clk/clk.c             | 34 +++++++++++++++++++++
>  drivers/clk/imx/clk-pll14xx.c | 66
> ++++++++++++++++++++++++++++++++++++++++
>  include/linux/clk-provider.h  | 32 ++++++++++++++++++++
>  include/linux/clk.h           | 22 ++++++++++++++
>  include/linux/scmi_protocol.h |  6 ++++
>  7 files changed, 275 insertions(+), 2 deletions(-)
> ---
> base-commit: 40b8e93e17bff4a4e0cc129e04f9fdf5daa5397e
> change-id: 20250124-clk-ssc-f3d70fb6cd1c
> 
> Best regards,
> --
> Peng Fan <peng.fan at nxp.com>



More information about the linux-arm-kernel mailing list