# Copyright (c) 2021, Linaro ltd
# SPDX-License-Identifier: Apache-2.0

description: |
  STM32L0 and STM32L1 Main PLL node binding:

  Takes one of clk_hse, clk_hsi or clk_msi as input clock, with an
  input frequency from 2 to 24 MHz.

  The desired PLL frequency can be computed with the following formula:

    f(PLL) = f(VCO clock) / PLLDIV  --> PLLCLK (System Clock)

      with f(VCO clock) = f(PLL clock input) × PLLMUL --> PLLVCO

  The PLL output frequency must not exceed 32 MHz.

compatible: "st,stm32l0-pll-clock"

include: [clock-controller.yaml, base.yaml]

properties:
    "#clock-cells":
      const: 0

    clocks:
      required: true

    div:
      type: int
      required: true
      description: |
          PLL output division
      enum:
        - 2
        - 3
        - 4

    mul:
      type: int
      required: true
      description: |
          PLL multiplication factor for VCO
          The PLL VCO clock frequency must not exceed:
          - 96 MHz when the product is in Range 1
          - 48 MHz when the product is in Range 2
          - 24 MHz when the product is in Range 3
          If the USB uses the PLL as clock source, the PLL VCO clock must be
          programmed to output a 96 MHz frequency (USBCLK = PLLVCO/2).
      enum:
        - 3
        - 4
        - 6
        - 8
        - 12
        - 16
        - 24
        - 32
        - 48
