| # Copyright (c) 2021, Linaro ltd |
| # SPDX-License-Identifier: Apache-2.0 |
| |
| description: | |
| PLL node binding for STM32H7 devices |
| |
| It can be used to describe 3 different PLLs: PLL1 (Main PLL), PLL2 and PLL3. |
| Only PLL1 and PLL3 are supported for now. |
| |
| These PLLs could take one of clk_hse, clk_hsi or clk_csi as input clock, with |
| an input frequency from 1 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_Px) = f(VCOx clock) / PLLPx -> pllx_p_ck ((pll1_p_ck : sys_ck)) |
| f(PLL_Qx) = f(VCOx clock) / PLLQx -> pllx_q_ck |
| f(PLL_Rx) = f(VCOx clock) / PLLRx -> pllx_r_ck |
| |
| with f(VCOx clock) = f(REFx_CK) × (PLLNx / PLLMx) |
| |
| The PLL output frequency must not exceed 80 MHz. |
| |
| compatible: "st,stm32h7-pll-clock" |
| |
| include: [clock-controller.yaml, base.yaml] |
| |
| properties: |
| "#clock-cells": |
| const: 0 |
| |
| clocks: |
| required: true |
| |
| div-m: |
| type: int |
| required: true |
| description: | |
| Division factor for PLLx |
| input clock |
| Valid range: 0 - 63 |
| |
| mul-n: |
| type: int |
| required: true |
| description: | |
| Main PLL multiplication factor for VCOx |
| Valid range: 4 - 512 |
| |
| div-p: |
| type: int |
| required: false |
| description: | |
| PLL division factor for pllx_p_ck |
| Valid range: 1 - 128 |
| |
| div-q: |
| type: int |
| required: false |
| description: | |
| PLL division factor for pllx_q_ck |
| Valid range: 1 - 128 |
| |
| div-r: |
| type: int |
| required: false |
| description: | |
| PLL division factor for pllx_r_ck |
| Valid range: 1 - 128 |