Re: [PATCH v9 16/23] dt-bindings: clock: imx8m-clock: support spread spectrum clocking

From: Krzysztof Kozlowski
Date: Fri Jan 24 2025 - 08:45:21 EST


On 18/01/2025 13:39, Dario Binacchi wrote:
> The addition of DT bindings for enabling and tuning spread spectrum
> clocking generation can be applied specifically to the PLLs.
>
> The "" value for the fsl,ssc-method property is specifically intended to
> specify a "no SSC" case, as in the example, when you don't want to
> configure spread spectrum for one of the PLLs, thus avoiding the use of
> a method that would only make sense if SSC were being set.
>
> Signed-off-by: Dario Binacchi <dario.binacchi@xxxxxxxxxxxxxxxxxxxx>
> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx>
>
> ---
>
> (no changes since v7)
>
> Changes in v7:
> - List the PLLs to strictly define the setup order for each of the
> added properties
> - Drop maxItems from "fsl,ssc-modfreq-hz" and "fsl,ssc-modrate-percent"
> properties
> - Add 'Reviewed-by' tag of Krzysztof Kozlowski
>
> Changes in v6:
> - Improve the commit message
> - change minItems from 7 to 1 for all the ssc properties added
> - change maxItems from 10 to 4 for alle the ssc properties added
> - update the DTS example
>
> Changes in v4:
> - Drop "fsl,ssc-clocks" property. The other added properties now refer
> to the clock list.
> - Updated minItems and maxItems of
> - clocks
> - clock-names
> - fsl,ssc-modfreq-hz
> - fsl,ssc-modrate-percent
> - fsl,ssc-modmethod
> - Updated the dts examples
>
> Changes in v3:
> - Added in v3
> - 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.
>
> 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.
>
> .../bindings/clock/imx8m-clock.yaml | 47 +++++++++++++++++++
> 1 file changed, 47 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/clock/imx8m-clock.yaml b/Documentation/devicetree/bindings/clock/imx8m-clock.yaml
> index d96570bf60dc..d347d630764a 100644
> --- a/Documentation/devicetree/bindings/clock/imx8m-clock.yaml
> +++ b/Documentation/devicetree/bindings/clock/imx8m-clock.yaml
> @@ -43,6 +43,46 @@ properties:
> ID in its "clocks" phandle cell. See include/dt-bindings/clock/imx8m-clock.h
> for the full list of i.MX8M clock IDs.
>
> + fsl,ssc-modfreq-hz:
> + description:
> + The values of modulation frequency (Hz unit) for each clock
> + supporting spread spectrum.
> + minItems: 1
> + items:
> + - description: audio_pll1
> + - description: audio_pll2
> + - description: dram_pll
> + - description: video_pll

Ehh, so it looks that nine versions of this patches for iMX8 and NXP
comes with generic bindings for iMX9.

Better late than never, but a pity that they did not share the
intention, which would spare you effort.

Please work with Peng and unify approach for entire iMX and use common
bindings.

https://github.com/devicetree-org/dt-schema/pull/154

Best regards,
Krzysztof