Re: [PATCH 0/3] clk: Support spread spectrum and use it in clk-scmi
From: Dario Binacchi
Date: Sat Jan 25 2025 - 07:58:50 EST
On Fri, Jan 24, 2025 at 2:19 PM Peng Fan (OSS) <peng.fan@xxxxxxxxxxx> wrote:
>
> - 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_imx;
>
I wonder if your solution is truly generic or merely a generalization
of your use case, which seems significantly simpler compared to what
happens on the i.MX8M platform, as discussed in thread
https://lore.kernel.org/lkml/PAXPR04MB8459537D7D2A49221D0E890D88E32@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/,
or on the STM32F platform, where parameters are not written directly
to registers but are instead used in calculations involving the
parent_rate and the PLL divider, for example.
I am the author of the patches that introduced spread spectrum
management for the AM33x and STM32Fx platforms, as well as the
series, still pending acceptance, for the i.MX8M.
>From my perspective, this functionality varies significantly
from platform to platform, with key differences that must be
considered.
Thanks and regards,
Dario
> [1] https://github.com/devicetree-org/dt-schema/pull/154
>
> Signed-off-by: Peng Fan <peng.fan@xxxxxxx>
> ---
> Peng Fan (3):
> clk: Introduce clk_set_spread_spectrum
> clk: conf: Support assigned-clock-sscs
> clk: scmi: Support spread spectrum
>
> drivers/clk/clk-conf.c | 68 +++++++++++++++++++++++++++++++++++++++++++
> drivers/clk/clk-scmi.c | 37 +++++++++++++++++++++++
> drivers/clk/clk.c | 39 +++++++++++++++++++++++++
> include/linux/clk-provider.h | 22 ++++++++++++++
> include/linux/clk.h | 22 ++++++++++++++
> include/linux/scmi_protocol.h | 5 ++++
> 6 files changed, 193 insertions(+)
> ---
> base-commit: 5ffa57f6eecefababb8cbe327222ef171943b183
> change-id: 20250124-clk-ssc-fccd4f60d7e5
>
> Best regards,
> --
> Peng Fan <peng.fan@xxxxxxx>
>
--
Dario Binacchi
Senior Embedded Linux Developer
dario.binacchi@xxxxxxxxxxxxxxxxxxxx
__________________________________
Amarula Solutions SRL
Via Le Canevare 30, 31100 Treviso, Veneto, IT
T. +39 042 243 5310
info@xxxxxxxxxxxxxxxxxxxx
www.amarulasolutions.com