xref: /optee_os/core/arch/arm/dts/stm32mp215f-dk-ca35tdcid-rcc.dtsi (revision d8faf33f0a3a3dc74246f728d31d0c9dd1095e1f)
1*d8faf33fSGabriel Fernandez// SPDX-License-Identifier: (GPL-2.0-only OR BSD-3-Clause)
2*d8faf33fSGabriel Fernandez/*
3*d8faf33fSGabriel Fernandez * Copyright (C) 2025, STMicroelectronics - All Rights Reserved
4*d8faf33fSGabriel Fernandez */
5*d8faf33fSGabriel Fernandez
6*d8faf33fSGabriel Fernandez/*
7*d8faf33fSGabriel Fernandez * STM32MP21 Clock tree device tree configuration
8*d8faf33fSGabriel Fernandez */
9*d8faf33fSGabriel Fernandez
10*d8faf33fSGabriel Fernandez&clk_hse {
11*d8faf33fSGabriel Fernandez	clock-frequency = <40000000>;
12*d8faf33fSGabriel Fernandez};
13*d8faf33fSGabriel Fernandez
14*d8faf33fSGabriel Fernandez&clk_hsi {
15*d8faf33fSGabriel Fernandez	clock-frequency = <64000000>;
16*d8faf33fSGabriel Fernandez};
17*d8faf33fSGabriel Fernandez
18*d8faf33fSGabriel Fernandez&clk_lse {
19*d8faf33fSGabriel Fernandez	clock-frequency = <32768>;
20*d8faf33fSGabriel Fernandez};
21*d8faf33fSGabriel Fernandez
22*d8faf33fSGabriel Fernandez&clk_lsi {
23*d8faf33fSGabriel Fernandez	clock-frequency = <32000>;
24*d8faf33fSGabriel Fernandez};
25*d8faf33fSGabriel Fernandez
26*d8faf33fSGabriel Fernandez&clk_msi {
27*d8faf33fSGabriel Fernandez	clock-frequency = <16000000>;
28*d8faf33fSGabriel Fernandez};
29*d8faf33fSGabriel Fernandez
30*d8faf33fSGabriel Fernandez&rcc {
31*d8faf33fSGabriel Fernandez	st,busclk = <
32*d8faf33fSGabriel Fernandez		DIV_CFG(DIV_LSMCU, 1)
33*d8faf33fSGabriel Fernandez		DIV_CFG(DIV_APB1, 0)
34*d8faf33fSGabriel Fernandez		DIV_CFG(DIV_APB2, 0)
35*d8faf33fSGabriel Fernandez		DIV_CFG(DIV_APB3, 0)
36*d8faf33fSGabriel Fernandez		DIV_CFG(DIV_APB4, 0)
37*d8faf33fSGabriel Fernandez		DIV_CFG(DIV_APB5, 0)
38*d8faf33fSGabriel Fernandez		DIV_CFG(DIV_APBDBG, 0)
39*d8faf33fSGabriel Fernandez	>;
40*d8faf33fSGabriel Fernandez
41*d8faf33fSGabriel Fernandez	st,flexgen = <
42*d8faf33fSGabriel Fernandez		FLEXGEN_CFG(0, XBAR_SRC_PLL4, 0, 3)
43*d8faf33fSGabriel Fernandez		FLEXGEN_CFG(1, XBAR_SRC_PLL4, 0, 5)
44*d8faf33fSGabriel Fernandez		FLEXGEN_CFG(2, XBAR_SRC_PLL4, 0, 1)
45*d8faf33fSGabriel Fernandez		FLEXGEN_CFG(3, XBAR_SRC_PLL4, 0, 2)
46*d8faf33fSGabriel Fernandez		FLEXGEN_CFG(4, XBAR_SRC_PLL4, 0, 3)
47*d8faf33fSGabriel Fernandez		FLEXGEN_CFG(5, XBAR_SRC_PLL4, 0, 2)
48*d8faf33fSGabriel Fernandez		FLEXGEN_CFG(6, XBAR_SRC_PLL4, 0, 1)
49*d8faf33fSGabriel Fernandez		FLEXGEN_CFG(7, XBAR_SRC_PLL4, 0, 11)
50*d8faf33fSGabriel Fernandez		FLEXGEN_CFG(8, XBAR_SRC_HSI_KER, 0, 0)
51*d8faf33fSGabriel Fernandez		FLEXGEN_CFG(9, XBAR_SRC_HSI_KER, 0, 0)
52*d8faf33fSGabriel Fernandez		FLEXGEN_CFG(10, XBAR_SRC_PLL7, 0, 16)
53*d8faf33fSGabriel Fernandez		FLEXGEN_CFG(11, XBAR_SRC_PLL7, 0, 16)
54*d8faf33fSGabriel Fernandez		FLEXGEN_CFG(12, XBAR_SRC_PLL4, 0, 5)
55*d8faf33fSGabriel Fernandez		FLEXGEN_CFG(13, XBAR_SRC_PLL4, 0, 11)
56*d8faf33fSGabriel Fernandez		FLEXGEN_CFG(14, XBAR_SRC_PLL4, 0, 11)
57*d8faf33fSGabriel Fernandez		FLEXGEN_CFG(16, XBAR_SRC_PLL7, 0, 16)
58*d8faf33fSGabriel Fernandez		FLEXGEN_CFG(17, XBAR_SRC_PLL5, 0, 3)
59*d8faf33fSGabriel Fernandez		FLEXGEN_CFG(18, XBAR_SRC_HSI_KER, 0, 0)
60*d8faf33fSGabriel Fernandez		FLEXGEN_CFG(19, XBAR_SRC_HSI_KER, 0, 0)
61*d8faf33fSGabriel Fernandez		FLEXGEN_CFG(20, XBAR_SRC_HSI_KER, 0, 0)
62*d8faf33fSGabriel Fernandez		FLEXGEN_CFG(21, XBAR_SRC_PLL7, 0, 16)
63*d8faf33fSGabriel Fernandez		FLEXGEN_CFG(22, XBAR_SRC_PLL7, 0, 16)
64*d8faf33fSGabriel Fernandez		FLEXGEN_CFG(23, XBAR_SRC_PLL7, 0, 16)
65*d8faf33fSGabriel Fernandez		FLEXGEN_CFG(24, XBAR_SRC_PLL7, 0, 16)
66*d8faf33fSGabriel Fernandez		FLEXGEN_CFG(25, XBAR_SRC_PLL7, 0, 16)
67*d8faf33fSGabriel Fernandez		FLEXGEN_CFG(26, XBAR_SRC_PLL4, 0, 11)
68*d8faf33fSGabriel Fernandez		FLEXGEN_CFG(27, XBAR_SRC_PLL8, 0, 3)
69*d8faf33fSGabriel Fernandez		FLEXGEN_CFG(29, XBAR_SRC_PLL5, 0, 1)
70*d8faf33fSGabriel Fernandez		FLEXGEN_CFG(30, XBAR_SRC_HSE_KER, 0, 1)
71*d8faf33fSGabriel Fernandez		FLEXGEN_CFG(31, XBAR_SRC_PLL5, 0, 19)
72*d8faf33fSGabriel Fernandez		FLEXGEN_CFG(33, XBAR_SRC_HSE_KER, 0, 0)
73*d8faf33fSGabriel Fernandez		FLEXGEN_CFG(36, XBAR_SRC_PLL4, 0, 11)
74*d8faf33fSGabriel Fernandez		FLEXGEN_CFG(37, XBAR_SRC_PLL5, 0, 3)
75*d8faf33fSGabriel Fernandez		FLEXGEN_CFG(38, XBAR_SRC_PLL4, 0, 11)
76*d8faf33fSGabriel Fernandez		FLEXGEN_CFG(39, XBAR_SRC_MSI_KER, 0, 0)
77*d8faf33fSGabriel Fernandez		FLEXGEN_CFG(40, XBAR_SRC_LSE, 0, 0)
78*d8faf33fSGabriel Fernandez		FLEXGEN_CFG(41, XBAR_SRC_PLL4, 0, 11)
79*d8faf33fSGabriel Fernandez		FLEXGEN_CFG(42, XBAR_SRC_PLL4, 0, 11)
80*d8faf33fSGabriel Fernandez		FLEXGEN_CFG(43, XBAR_SRC_PLL4, 0, 23)
81*d8faf33fSGabriel Fernandez		FLEXGEN_CFG(44, XBAR_SRC_PLL4, 0, 5)
82*d8faf33fSGabriel Fernandez		FLEXGEN_CFG(45, XBAR_SRC_PLL4, 0, 2)
83*d8faf33fSGabriel Fernandez		FLEXGEN_CFG(46, XBAR_SRC_PLL5, 0, 3)
84*d8faf33fSGabriel Fernandez		FLEXGEN_CFG(47, XBAR_SRC_PLL5, 0, 3)
85*d8faf33fSGabriel Fernandez		FLEXGEN_CFG(48, XBAR_SRC_PLL5, 0, 3)
86*d8faf33fSGabriel Fernandez		FLEXGEN_CFG(51, XBAR_SRC_PLL4, 0, 5)
87*d8faf33fSGabriel Fernandez		FLEXGEN_CFG(52, XBAR_SRC_PLL4, 0, 5)
88*d8faf33fSGabriel Fernandez		FLEXGEN_CFG(53, XBAR_SRC_PLL4, 0, 5)
89*d8faf33fSGabriel Fernandez		FLEXGEN_CFG(54, XBAR_SRC_PLL6, 0, 9)
90*d8faf33fSGabriel Fernandez		FLEXGEN_CFG(55, XBAR_SRC_PLL6, 0, 3)
91*d8faf33fSGabriel Fernandez		FLEXGEN_CFG(56, XBAR_SRC_PLL4, 0, 5)
92*d8faf33fSGabriel Fernandez		FLEXGEN_CFG(57, XBAR_SRC_HSE_KER, 0, 1)
93*d8faf33fSGabriel Fernandez		FLEXGEN_CFG(58, XBAR_SRC_HSE_KER, 0, 1)
94*d8faf33fSGabriel Fernandez		FLEXGEN_CFG(61, XBAR_SRC_PLL4, 0, 7)
95*d8faf33fSGabriel Fernandez		FLEXGEN_CFG(62, XBAR_SRC_PLL4, 0, 7)
96*d8faf33fSGabriel Fernandez		FLEXGEN_CFG(63, XBAR_SRC_PLL4, 0, 2)
97*d8faf33fSGabriel Fernandez	>;
98*d8faf33fSGabriel Fernandez
99*d8faf33fSGabriel Fernandez	st,kerclk = <
100*d8faf33fSGabriel Fernandez		MUX_CFG(MUX_ADC1, MUX_ADC1_FLEX46)
101*d8faf33fSGabriel Fernandez		MUX_CFG(MUX_ADC2, MUX_ADC2_FLEX47)
102*d8faf33fSGabriel Fernandez		MUX_CFG(MUX_USB2PHY1, MUX_USB2PHY1_FLEX57)
103*d8faf33fSGabriel Fernandez		MUX_CFG(MUX_USB2PHY2, MUX_USB2PHY2_FLEX58)
104*d8faf33fSGabriel Fernandez		MUX_CFG(MUX_DTS, MUX_DTS_HSE)
105*d8faf33fSGabriel Fernandez		MUX_CFG(MUX_RTC, MUX_RTC_LSE)
106*d8faf33fSGabriel Fernandez		MCO_CFG(MCO1, MUX_MCO1_FLEX61, MCO_OFF)
107*d8faf33fSGabriel Fernandez		MCO_CFG(MCO2, MUX_MCO2_FLEX62, MCO_OFF)
108*d8faf33fSGabriel Fernandez	>;
109*d8faf33fSGabriel Fernandez
110*d8faf33fSGabriel Fernandez	pll1: st,pll-1 {
111*d8faf33fSGabriel Fernandez		st,pll = <&pll1_cfg_1200MHz>;
112*d8faf33fSGabriel Fernandez
113*d8faf33fSGabriel Fernandez		pll1_cfg_1200MHz: pll1-cfg-1200MHz {
114*d8faf33fSGabriel Fernandez			cfg = <30 1 1 1>;
115*d8faf33fSGabriel Fernandez			src = <MUX_CFG(MUX_MUXSEL5, MUXSEL_HSE)>;
116*d8faf33fSGabriel Fernandez		};
117*d8faf33fSGabriel Fernandez
118*d8faf33fSGabriel Fernandez		pll1_cfg_1500MHz: pll1-cfg-1500MHz {
119*d8faf33fSGabriel Fernandez			cfg = <75 2 1 1>;
120*d8faf33fSGabriel Fernandez			src = <MUX_CFG(MUX_MUXSEL5, MUXSEL_HSE)>;
121*d8faf33fSGabriel Fernandez		};
122*d8faf33fSGabriel Fernandez	};
123*d8faf33fSGabriel Fernandez
124*d8faf33fSGabriel Fernandez	pll2: st,pll-2 {
125*d8faf33fSGabriel Fernandez		st,pll = <&pll2_cfg_400MHz>;
126*d8faf33fSGabriel Fernandez
127*d8faf33fSGabriel Fernandez		pll2_cfg_400MHz: pll2-cfg-400MHz {
128*d8faf33fSGabriel Fernandez			cfg = <20 1 1 2>;
129*d8faf33fSGabriel Fernandez			src = <MUX_CFG(MUX_MUXSEL6, MUXSEL_HSE)>;
130*d8faf33fSGabriel Fernandez		};
131*d8faf33fSGabriel Fernandez	};
132*d8faf33fSGabriel Fernandez
133*d8faf33fSGabriel Fernandez	pll4: st,pll-4 {
134*d8faf33fSGabriel Fernandez		st,pll = <&pll4_cfg_1200MHz>;
135*d8faf33fSGabriel Fernandez
136*d8faf33fSGabriel Fernandez		pll4_cfg_1200MHz: pll4-cfg-1200MHz {
137*d8faf33fSGabriel Fernandez			cfg = <30 1 1 1>;
138*d8faf33fSGabriel Fernandez			src = <MUX_CFG(MUX_MUXSEL0, MUXSEL_HSE)>;
139*d8faf33fSGabriel Fernandez		};
140*d8faf33fSGabriel Fernandez	};
141*d8faf33fSGabriel Fernandez
142*d8faf33fSGabriel Fernandez	pll5: st,pll-5 {
143*d8faf33fSGabriel Fernandez		st,pll = <&pll5_cfg_532MHz>;
144*d8faf33fSGabriel Fernandez
145*d8faf33fSGabriel Fernandez		pll5_cfg_532MHz: pll5-cfg-532MHz {
146*d8faf33fSGabriel Fernandez			cfg = <133 5 1 2>;
147*d8faf33fSGabriel Fernandez			src = <MUX_CFG(MUX_MUXSEL1, MUXSEL_HSE)>;
148*d8faf33fSGabriel Fernandez		};
149*d8faf33fSGabriel Fernandez	};
150*d8faf33fSGabriel Fernandez
151*d8faf33fSGabriel Fernandez	pll6: st,pll-6 {
152*d8faf33fSGabriel Fernandez		st,pll = <&pll6_cfg_500MHz>;
153*d8faf33fSGabriel Fernandez
154*d8faf33fSGabriel Fernandez		pll6_cfg_500MHz: pll6-cfg-500MHz {
155*d8faf33fSGabriel Fernandez			cfg = <25 1 1 2>;
156*d8faf33fSGabriel Fernandez			src = <MUX_CFG(MUX_MUXSEL2, MUXSEL_HSE)>;
157*d8faf33fSGabriel Fernandez		};
158*d8faf33fSGabriel Fernandez	};
159*d8faf33fSGabriel Fernandez
160*d8faf33fSGabriel Fernandez	pll7: st,pll-7 {
161*d8faf33fSGabriel Fernandez		st,pll = <&pll7_cfg_835_51172MHz>;
162*d8faf33fSGabriel Fernandez
163*d8faf33fSGabriel Fernandez		pll7_cfg_835_51172MHz: pll7-cfg-835-51172MHz {
164*d8faf33fSGabriel Fernandez			cfg = <167 4 1 2>;
165*d8faf33fSGabriel Fernandez			src = <MUX_CFG(MUX_MUXSEL3, MUXSEL_HSE)>;
166*d8faf33fSGabriel Fernandez			frac = < 0x1A3337 >;
167*d8faf33fSGabriel Fernandez		};
168*d8faf33fSGabriel Fernandez	};
169*d8faf33fSGabriel Fernandez
170*d8faf33fSGabriel Fernandez	pll8: st,pll-8 {
171*d8faf33fSGabriel Fernandez		st,pll = <&pll8_cfg_594MHz>;
172*d8faf33fSGabriel Fernandez
173*d8faf33fSGabriel Fernandez		pll8_cfg_594MHz: pll8-cfg-594MHz {
174*d8faf33fSGabriel Fernandez			cfg = <297 5 1 4>;
175*d8faf33fSGabriel Fernandez			src = <MUX_CFG(MUX_MUXSEL4, MUXSEL_HSE)>;
176*d8faf33fSGabriel Fernandez		};
177*d8faf33fSGabriel Fernandez	};
178*d8faf33fSGabriel Fernandez};
179