# Copyright (c) 2021, Linaro Limited # SPDX-License-Identifier: Apache-2.0 description: | PLL node binding for STM32U5 devices It can be used to describe 3 different PLLs: PLL1, PLL2 and PLL3. These PLLs could take one of clk_hse, clk_hsi or clk_msis as input clock, with an input frequency from 4 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 f(PLL_Q) = f(VCO clock) / PLLQ f(PLL_R) = f(VCO clock) / PLLR with f(VCO clock) = f(PLL clock input) × (PLLN / PLLM) Note: To reduce the power consumption, it is recommended to configure the VCOx clock output to the lowest frequency. The PLL output frequency must not exceed 160 MHz. compatible: "st,stm32u5-pll-clock" include: [clock-controller.yaml, base.yaml] properties: "#clock-cells": const: 0 clocks: required: true div-m: type: int required: true description: | Prescaler for PLLx input clock Valid range: 1 - 16 mul-n: type: int required: true description: | PLLx multiplication factor for VCO Valid range: 4 - 512 div-p: type: int description: | PLLx DIVP division factor Valid range: 1 - 128 div-q: type: int description: | PLLx DIVQ division factor Valid range: 1 - 128 div-r: type: int required: true description: | PLLx DIVR division factor On PLL1, only division by 1 and even division values are allowed. No restrictions for PLL2 and PLL3 Valid range: 1 - 128 fracn: type: int description: | PLLx FRACN value Valid range: 0 - 8191