Re: [PATCH v6 16/18] dt-bindings: clock: imx8m-clock: support spread spectrum clocking
From: Krzysztof Kozlowski
Date: Mon Dec 23 2024 - 10:05:25 EST
On Sun, Dec 22, 2024 at 06:04:31PM +0100, 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>
>
> ---
>
> 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 | 38 +++++++++++++++++++
> 1 file changed, 38 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/clock/imx8m-clock.yaml b/Documentation/devicetree/bindings/clock/imx8m-clock.yaml
> index 05bc01960045..37cc6a6e89d4 100644
> --- a/Documentation/devicetree/bindings/clock/imx8m-clock.yaml
> +++ b/Documentation/devicetree/bindings/clock/imx8m-clock.yaml
> @@ -43,6 +43,37 @@ 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 (i. e. audio_pll1, audio_pll2,
> + dram_pll and video_pll).
> + minItems: 1
> + maxItems: 4
Please list the items. You rely here on this being in strict order, so
this should be explicit, instead of just "in example" in the
description.
items:
- description: audio_pll1
> +
> + fsl,ssc-modrate-percent:
> + description:
> + The percentage values of modulation rate for each clock
> + supporting spread spectrum (i. e. audio_pll1, audio_pll2,
> + dram_pll and video_pll).
> + minItems: 1
> + maxItems: 4
Ditto
> +
> + fsl,ssc-modmethod:
> + $ref: /schemas/types.yaml#/definitions/non-unique-string-array
> + description:
> + The modulation techniques for each clock supporting spread
> + spectrum (i. e. audio_pll1, audio_pll2, dram_pll and
> + video_pll).
I guess here listing items might not work, so:
The modulation techniques for each clock supporting spread
spectrum, in this order: audio_pll1, audio_pll2, dram_pll and video_pll
Everything looks good for me, so with above changes:
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx>
Best regards,
Krzysztof