Skip to content

Commit d508ec4

Browse files
juickarkartben
authored andcommitted
dts: bindings: clock: Add stm32mp13 rcc clocks
Add STM32MP13 RCC clock bindings Signed-off-by: Julien Racki <[email protected]>
1 parent 9e392c5 commit d508ec4

File tree

2 files changed

+99
-0
lines changed

2 files changed

+99
-0
lines changed
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
# Copyright (c) 2025, STMicroelectronics
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
description: |
5+
STM32MP13 CPU Clock
6+
Describes the STM32MP13 CPU armv7 timer multiplexer.
7+
For the STM32MP13 the CPU armv7 timer input can either be the HSI or the HSE.
8+
For instance:
9+
cpusw: cpusw {
10+
#clock-cells = <0>;
11+
clocks = <&clk_hsi>;
12+
clock-frequency = <DT_FREQ_M(64)>;
13+
compatible = "st,stm32mp13-cpu-clock-mux", "st,stm32-clock-mux";
14+
status = "okay";
15+
};
16+
17+
compatible: "st,stm32mp13-cpu-clock-mux"
18+
19+
include:
20+
- name: base.yaml
21+
property-allowlist:
22+
- status
23+
- compatible
24+
- clocks
25+
26+
properties:
27+
clock-frequency:
28+
required: true
29+
type: int
30+
description: |
31+
default frequency in Hz for the timer
Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
# Copyright (c) 2025 STMicroelectronics
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
description: |
5+
PLL node binding for STM32MP13 devices
6+
7+
It can be used to describe 4 different PLLs: PLL1, PLL2, PLL3 and PLL4.
8+
9+
These PLLs can take one of hse_ck, hsi_ck or csi_ck as input clock.
10+
PLLM factor is used to set the input clock in this acceptable range.
11+
12+
Each PLL has one output clock whose frequency can be computed with the
13+
following formula:
14+
15+
f(PLL_P) = f(VCO clock) / (DIVP × DIVR × DIVQ)
16+
17+
with f(VCO clock) = f(PLL clock input) × 2 × (((DIVN + 1) + (FRACV / 8192)) / DIVM1)
18+
19+
Note: To reduce the power consumption, it is recommended to configure the VCOx
20+
clock output to the lowest frequency.
21+
22+
The PLL1 output frequency must not exceed 2000 MHz.
23+
The PLL2 output frequency must not exceed 1600 MHz.
24+
The PLL3 output frequency must not exceed 800 MHz.
25+
The PLL4 output frequency must not exceed 800 MHz.
26+
27+
Note: The CPU clock should not exceed 1Ghz so avoid configuring the PLL1 to more
28+
than 1000 MHz or program the mpuss_ck mux to use the MPUDIV
29+
(refer to the stm32mp13 reference manual for details)
30+
31+
compatible: "st,stm32mp13-pll-clock"
32+
33+
include: [clock-controller.yaml, base.yaml]
34+
35+
properties:
36+
37+
"#clock-cells":
38+
const: 0
39+
40+
clocks:
41+
required: true
42+
43+
div-m:
44+
type: int
45+
required: true
46+
description: |
47+
Prescaler for PLLx
48+
input clock
49+
Valid range: 1 - 64
50+
51+
mul-n:
52+
type: int
53+
required: true
54+
description: |
55+
PLLx multiplication factor for VCO
56+
Valid range: 31 - 125
57+
58+
div-p:
59+
type: int
60+
description: |
61+
PLLx DIVP division factor
62+
Valid range: 1 - 128
63+
64+
frac-v:
65+
type: int
66+
description: |
67+
PLLx FRACV fractional latch
68+
Valid range: 1 - 8192

0 commit comments

Comments
 (0)