Commit 223d32eb authored by Dario Binacchi's avatar Dario Binacchi Committed by Stephen Boyd
Browse files

dt-bindings: clock: st,stm32-rcc: support spread spectrum clocking



The addition of DT bindings for enabling and tuning spread spectrum
clocking generation is available only for the main PLL of stm32f{4,7}
platforms.

Signed-off-by: default avatarDario Binacchi <dario.binacchi@amarulasolutions.com>
Reviewed-by: default avatarKrzysztof Kozlowski <krzysztof.kozlowski@linaro.org>

Link: https://lore.kernel.org/r/20250114182021.670435-3-dario.binacchi@amarulasolutions.com


Signed-off-by: default avatarStephen Boyd <sboyd@kernel.org>
parent ebca3970
Loading
Loading
Loading
Loading
+36 −0
Original line number Diff line number Diff line
@@ -53,6 +53,26 @@ properties:
      Phandle to system configuration controller. It can be used to control the
      power domain circuitry.

  st,ssc-modfreq-hz:
    description:
      The modulation frequency for main PLL (in Hz)

  st,ssc-moddepth-permyriad:
    $ref: /schemas/types.yaml#/definitions/uint32
    description:
      The modulation rate for main PLL (in permyriad, i.e. 0.01%)
    minimum: 25
    maximum: 200

  st,ssc-modmethod:
    $ref: /schemas/types.yaml#/definitions/string
    description:
      The modulation techniques for main PLL.
    items:
      enum:
        - center-spread
        - down-spread

required:
  - compatible
  - reg
@@ -78,6 +98,10 @@ allOf:
            - description: high speed external (HSE) clock input
            - description: low speed external (LSE) clock input
            - description: Inter-IC sound (I2S) clock input
        st,ssc-modfreq-hz: false
        st,ssc-moddepth-permyriad: false
        st,ssc-modmethod: false

    else:
      properties:
        '#clock-cells':
@@ -95,6 +119,18 @@ additionalProperties: false

examples:
  # Reset and Clock Control Module node:
  - |
    clock-controller@40023800 {
        compatible = "st,stm32f42xx-rcc", "st,stm32-rcc";
        reg = <0x40023800 0x400>;
        #clock-cells = <2>;
        #reset-cells = <1>;
        clocks = <&clk_hse>, <&clk_i2s_ckin>;
        st,syscfg = <&pwrcfg>;
        st,ssc-modfreq-hz = <10000>;
        st,ssc-moddepth-permyriad = <200>;
        st,ssc-modmethod = "center-spread";
    };
  - |
    clock-controller@58024400 {
        compatible = "st,stm32h743-rcc", "st,stm32-rcc";