| # Copyright (c) 2021, Linaro ltd |
| # SPDX-License-Identifier: Apache-2.0 |
| |
| description: | |
| Main PLL node binding for Connectivity line devices (STM32F105/STM32F107) |
| |
| Takes one of clk_hse, pll2 or clk_hsi as input clock. |
| When clk_hsi is used a fixed prescaler is applied. When input clock is hse or |
| pll2, configurable prescaler is used. |
| |
| Up to 2 output clocks could be supported and for each output clock, the |
| frequency can be computed with the following formula: |
| |
| f(PLLCLK) = f(PLLIN) x PLLMUL --> SYSCLK (System Clock) |
| f(USBCLK) = f(PLLCLK) * 2 / USBPRE --> USB |
| |
| with, depending on the case: |
| f(PLLIN) = f(input_clk) / 2 if input_clk = clk_hsi |
| f(PLLIN) = f(input_clk) / PREDIV if input_clk = clk_hse or pll2 |
| |
| The PLL output frequency must not exceed 72 MHz. |
| |
| |
| compatible: "st,stm32f105-pll-clock" |
| |
| include: [clock-controller.yaml, base.yaml] |
| |
| properties: |
| "#clock-cells": |
| const: 0 |
| |
| clocks: |
| required: true |
| |
| mul: |
| type: int |
| required: true |
| description: | |
| Main PLL multiplication factor for VCO. |
| Note: For x6.5 multiplier value, please use "mul = <15>;" |
| enum: |
| - 4 # x4 |
| - 5 # x5 |
| - 6 # x6 |
| - 7 # x7 |
| - 8 # x8 |
| - 9 # x9 |
| - 15 # x6.5 |
| |
| prediv: |
| type: int |
| required: true |
| description: | |
| Configurable prescaler |
| Valid range: 1 - 16 |