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