2021-04-14 20:21:25 +08:00
|
|
|
# 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.
|
|
|
|
|
2022-12-21 18:55:45 +08:00
|
|
|
Output clock frequency can be computed with the following formula:
|
2021-04-14 20:21:25 +08:00
|
|
|
|
2022-12-21 18:55:45 +08:00
|
|
|
f(PLLCLK) = f(PLLIN) x PLLMUL --> SYSCLK (System Clock)
|
2021-04-14 20:21:25 +08:00
|
|
|
|
|
|
|
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:
|
2023-01-04 03:21:25 +08:00
|
|
|
"#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
|
|
|
|
|
|
|
|
otgfspre:
|
|
|
|
type: boolean
|
|
|
|
description: |
|
2024-01-28 20:50:04 +08:00
|
|
|
Optional PLL output divisor to generate a 48MHz USB clock.
|
2023-01-04 03:21:25 +08:00
|
|
|
When set, PLL output clock is not divided.
|
|
|
|
Otherwise, PLL output clock is divided by 1.5.
|