:orphan:

.. raw:: html

    <!--
    FIXME: do not limit page width until content uses another representation
    format other than tables
    -->
    <style>.wy-nav-content { max-width: none; !important }</style>

.. dtcompatible:: st,stm32wb-pll-clock
.. _dtbinding_st_stm32wb_pll_clock:

st,stm32wb-pll-clock
####################

Vendor: :ref:`STMicroelectronics <dt_vendor_st>`

Description
***********



.. code-block:: none

   STM32WB and STM32WL PLL node.

   It can be used to describe 2 different PLLs: PLL, PLLSAI1.
   Only main PLL is supported for now.

   These PLLs could take one of clk_hse, clk_hsi or clk_msi as input clock, with
   an input frequency from 2.66 to 16 MHz. PLLM factor is used to set the input
   clock in this acceptable range.

   Each PLL can have up to 3 output clocks and for each output clock, the
   frequency can be computed with the following formulae:

     f(PLL_P) = f(VCO clock) / PLLP  --> PLLPCLK
     f(PLL_Q) = f(VCO clock) / PLLQ  --> PLLQCLK
     f(PLL_R) = f(VCO clock) / PLLR  --> PLLRCLK (System Clock)

       with f(VCO clock) = f(PLL clock input) × (PLLN / PLLM)

   The PLL output frequency must not exceed:
           - 64 MHz on STM32WB
           - 62 MHz on STM32WL

Properties
**********

.. tabs::

   .. group-tab:: Node specific properties

      Properties not inherited from the base binding file.

      .. list-table::
         :widths: 1 1 4
         :header-rows: 1

         * - Name
           - Type
           - Details

         * - ``#clock-cells``
           - ``int``
           - .. code-block:: none

                Number of items to expect in a Clock specifier


             This property is **required**.

         * - ``div-m``
           - ``int``
           - .. code-block:: none

                Main PLL division factor for PLL input clock
                Valid range: 1 - 8



             This property is **required**.

         * - ``mul-n``
           - ``int``
           - .. code-block:: none

                Main PLL multiplication factor for VCO
                Valid range: 6 - 127



             This property is **required**.

         * - ``div-p``
           - ``int``
           - .. code-block:: none

                Main PLL division factor for PLLPCLK
                Valid range: 2 - 32



         * - ``div-q``
           - ``int``
           - .. code-block:: none

                Main PLL division factor for PLLQCLK
                Valid range: 2 - 8



         * - ``div-r``
           - ``int``
           - .. code-block:: none

                Main PLL division factor for PLLRCLK (system clock)
                Valid range: 2 - 8



             This property is **required**.



   .. group-tab:: Deprecated node specific properties

      Deprecated properties not inherited from the base binding file.

      (None)

   .. group-tab:: Base properties

      Properties inherited from the base binding file, which defines
      common properties that may be set on many nodes. Not all of these
      may apply to the "st,stm32wb-pll-clock" compatible.

      .. list-table::
         :widths: 1 1 4
         :header-rows: 1

         * - Name
           - Type
           - Details

         * - ``clocks``
           - ``phandle-array``
           - .. code-block:: none

                Clock gate information


             This property is **required**.

         * - ``status``
           - ``string``
           - .. code-block:: none

                indicates the operational status of a device


             Legal values: ``'ok'``, ``'okay'``, ``'disabled'``, ``'reserved'``, ``'fail'``, ``'fail-sss'``

             See :ref:`dt-important-props` for more information.

         * - ``compatible``
           - ``string-array``
           - .. code-block:: none

                compatible strings


             This property is **required**.

             See :ref:`dt-important-props` for more information.

         * - ``reg``
           - ``array``
           - .. code-block:: none

                register space


             See :ref:`dt-important-props` for more information.

         * - ``reg-names``
           - ``string-array``
           - .. code-block:: none

                name of each register space


         * - ``interrupts``
           - ``array``
           - .. code-block:: none

                interrupts for device


             See :ref:`dt-important-props` for more information.

         * - ``interrupts-extended``
           - ``compound``
           - .. code-block:: none

                extended interrupt specifier for device


         * - ``interrupt-names``
           - ``string-array``
           - .. code-block:: none

                name of each interrupt


         * - ``interrupt-parent``
           - ``phandle``
           - .. code-block:: none

                phandle to interrupt controller node


         * - ``label``
           - ``string``
           - .. code-block:: none

                Human readable string describing the device (used as device_get_binding() argument)


             See :ref:`dt-important-props` for more information.

         * - ``clock-names``
           - ``string-array``
           - .. code-block:: none

                name of each clock


         * - ``#address-cells``
           - ``int``
           - .. code-block:: none

                number of address cells in reg property


         * - ``#size-cells``
           - ``int``
           - .. code-block:: none

                number of size cells in reg property


         * - ``dmas``
           - ``phandle-array``
           - .. code-block:: none

                DMA channels specifiers


         * - ``dma-names``
           - ``string-array``
           - .. code-block:: none

                Provided names of DMA channel specifiers


         * - ``io-channels``
           - ``phandle-array``
           - .. code-block:: none

                IO channels specifiers


         * - ``io-channel-names``
           - ``string-array``
           - .. code-block:: none

                Provided names of IO channel specifiers


         * - ``mboxes``
           - ``phandle-array``
           - .. code-block:: none

                mailbox / IPM channels specifiers


         * - ``mbox-names``
           - ``string-array``
           - .. code-block:: none

                Provided names of mailbox / IPM channel specifiers


         * - ``wakeup-source``
           - ``boolean``
           - .. code-block:: none

                Property to identify that a device can be used as wake up source.

                When this property is provided a specific flag is set into the
                device that tells the system that the device is capable of
                wake up the system.

                Wake up capable devices are disabled (interruptions will not wake up
                the system) by default but they can be enabled at runtime if necessary.



         * - ``power-domain``
           - ``phandle``
           - .. code-block:: none


                Power domain the device belongs to.

                The device will be notified when the power domain it belongs to is either
                suspended or resumed.