xref: /linux/drivers/clk/qcom/gcc-glymur.c (revision 3a2c4d55e32ad65efebdb6de44eef3bfa08bb49d)
1 // SPDX-License-Identifier: GPL-2.0-only
2 /*
3  * Copyright (c) 2025, Qualcomm Technologies, Inc. and/or its subsidiaries.
4  */
5 
6 #include <linux/clk-provider.h>
7 #include <linux/module.h>
8 #include <linux/platform_device.h>
9 #include <linux/regmap.h>
10 
11 #include <dt-bindings/clock/qcom,glymur-gcc.h>
12 
13 #include "clk-alpha-pll.h"
14 #include "clk-branch.h"
15 #include "clk-pll.h"
16 #include "clk-rcg.h"
17 #include "clk-regmap.h"
18 #include "clk-regmap-divider.h"
19 #include "clk-regmap-mux.h"
20 #include "clk-regmap-phy-mux.h"
21 #include "common.h"
22 #include "gdsc.h"
23 #include "reset.h"
24 
25 enum {
26 	DT_BI_TCXO,
27 	DT_BI_TCXO_AO,
28 	DT_SLEEP_CLK,
29 	DT_GCC_USB4_0_PHY_DP0_GMUX_CLK_SRC,
30 	DT_GCC_USB4_0_PHY_DP1_GMUX_CLK_SRC,
31 	DT_GCC_USB4_0_PHY_PCIE_PIPEGMUX_CLK_SRC,
32 	DT_GCC_USB4_0_PHY_PIPEGMUX_CLK_SRC,
33 	DT_GCC_USB4_0_PHY_SYS_PIPEGMUX_CLK_SRC,
34 	DT_GCC_USB4_1_PHY_DP0_GMUX_2_CLK_SRC,
35 	DT_GCC_USB4_1_PHY_DP1_GMUX_2_CLK_SRC,
36 	DT_GCC_USB4_1_PHY_PCIE_PIPEGMUX_CLK_SRC,
37 	DT_GCC_USB4_1_PHY_PIPEGMUX_CLK_SRC,
38 	DT_GCC_USB4_1_PHY_SYS_PIPEGMUX_CLK_SRC,
39 	DT_GCC_USB4_2_PHY_DP0_GMUX_CLK_SRC,
40 	DT_GCC_USB4_2_PHY_DP1_GMUX_CLK_SRC,
41 	DT_GCC_USB4_2_PHY_PCIE_PIPEGMUX_CLK_SRC,
42 	DT_GCC_USB4_2_PHY_PIPEGMUX_CLK_SRC,
43 	DT_GCC_USB4_2_PHY_SYS_PIPEGMUX_CLK_SRC,
44 	DT_PCIE_3A_PIPE_CLK,
45 	DT_PCIE_3B_PIPE_CLK,
46 	DT_PCIE_4_PIPE_CLK,
47 	DT_PCIE_5_PIPE_CLK,
48 	DT_PCIE_6_PIPE_CLK,
49 	DT_QUSB4PHY_0_GCC_USB4_RX0_CLK,
50 	DT_QUSB4PHY_0_GCC_USB4_RX1_CLK,
51 	DT_QUSB4PHY_1_GCC_USB4_RX0_CLK,
52 	DT_QUSB4PHY_1_GCC_USB4_RX1_CLK,
53 	DT_QUSB4PHY_2_GCC_USB4_RX0_CLK,
54 	DT_QUSB4PHY_2_GCC_USB4_RX1_CLK,
55 	DT_UFS_PHY_RX_SYMBOL_0_CLK,
56 	DT_UFS_PHY_RX_SYMBOL_1_CLK,
57 	DT_UFS_PHY_TX_SYMBOL_0_CLK,
58 	DT_USB3_PHY_0_WRAPPER_GCC_USB30_PIPE_CLK,
59 	DT_USB3_PHY_1_WRAPPER_GCC_USB30_PIPE_CLK,
60 	DT_USB3_PHY_2_WRAPPER_GCC_USB30_PIPE_CLK,
61 	DT_USB3_UNI_PHY_MP_GCC_USB30_PIPE_0_CLK,
62 	DT_USB3_UNI_PHY_MP_GCC_USB30_PIPE_1_CLK,
63 	DT_USB4_0_PHY_GCC_USB4_PCIE_PIPE_CLK,
64 	DT_USB4_0_PHY_GCC_USB4RTR_MAX_PIPE_CLK,
65 	DT_USB4_1_PHY_GCC_USB4_PCIE_PIPE_CLK,
66 	DT_USB4_1_PHY_GCC_USB4RTR_MAX_PIPE_CLK,
67 	DT_USB4_2_PHY_GCC_USB4_PCIE_PIPE_CLK,
68 	DT_USB4_2_PHY_GCC_USB4RTR_MAX_PIPE_CLK,
69 };
70 
71 enum {
72 	P_BI_TCXO,
73 	P_GCC_GPLL0_OUT_EVEN,
74 	P_GCC_GPLL0_OUT_MAIN,
75 	P_GCC_GPLL14_OUT_EVEN,
76 	P_GCC_GPLL14_OUT_MAIN,
77 	P_GCC_GPLL1_OUT_MAIN,
78 	P_GCC_GPLL4_OUT_MAIN,
79 	P_GCC_GPLL5_OUT_MAIN,
80 	P_GCC_GPLL7_OUT_MAIN,
81 	P_GCC_GPLL8_OUT_MAIN,
82 	P_GCC_GPLL9_OUT_MAIN,
83 	P_GCC_USB3_PRIM_PHY_PIPE_CLK_SRC,
84 	P_GCC_USB3_SEC_PHY_PIPE_CLK_SRC,
85 	P_GCC_USB3_TERT_PHY_PIPE_CLK_SRC,
86 	P_GCC_USB4_0_PHY_DP0_GMUX_CLK_SRC,
87 	P_GCC_USB4_0_PHY_DP1_GMUX_CLK_SRC,
88 	P_GCC_USB4_0_PHY_PCIE_PIPEGMUX_CLK_SRC,
89 	P_GCC_USB4_0_PHY_PIPEGMUX_CLK_SRC,
90 	P_GCC_USB4_0_PHY_SYS_PIPEGMUX_CLK_SRC,
91 	P_GCC_USB4_1_PHY_DP0_GMUX_2_CLK_SRC,
92 	P_GCC_USB4_1_PHY_DP1_GMUX_2_CLK_SRC,
93 	P_GCC_USB4_1_PHY_PCIE_PIPEGMUX_CLK_SRC,
94 	P_GCC_USB4_1_PHY_PIPEGMUX_CLK_SRC,
95 	P_GCC_USB4_1_PHY_PLL_PIPE_CLK_SRC,
96 	P_GCC_USB4_1_PHY_SYS_PIPEGMUX_CLK_SRC,
97 	P_GCC_USB4_2_PHY_DP0_GMUX_CLK_SRC,
98 	P_GCC_USB4_2_PHY_DP1_GMUX_CLK_SRC,
99 	P_GCC_USB4_2_PHY_PCIE_PIPEGMUX_CLK_SRC,
100 	P_GCC_USB4_2_PHY_PIPEGMUX_CLK_SRC,
101 	P_GCC_USB4_2_PHY_SYS_PIPEGMUX_CLK_SRC,
102 	P_PCIE_3A_PIPE_CLK,
103 	P_PCIE_3B_PIPE_CLK,
104 	P_PCIE_4_PIPE_CLK,
105 	P_PCIE_5_PIPE_CLK,
106 	P_PCIE_6_PIPE_CLK,
107 	P_QUSB4PHY_0_GCC_USB4_RX0_CLK,
108 	P_QUSB4PHY_0_GCC_USB4_RX1_CLK,
109 	P_QUSB4PHY_1_GCC_USB4_RX0_CLK,
110 	P_QUSB4PHY_1_GCC_USB4_RX1_CLK,
111 	P_QUSB4PHY_2_GCC_USB4_RX0_CLK,
112 	P_QUSB4PHY_2_GCC_USB4_RX1_CLK,
113 	P_SLEEP_CLK,
114 	P_UFS_PHY_RX_SYMBOL_0_CLK,
115 	P_UFS_PHY_RX_SYMBOL_1_CLK,
116 	P_UFS_PHY_TX_SYMBOL_0_CLK,
117 	P_USB3_PHY_0_WRAPPER_GCC_USB30_PIPE_CLK,
118 	P_USB3_PHY_1_WRAPPER_GCC_USB30_PIPE_CLK,
119 	P_USB3_PHY_2_WRAPPER_GCC_USB30_PIPE_CLK,
120 	P_USB3_UNI_PHY_MP_GCC_USB30_PIPE_0_CLK,
121 	P_USB3_UNI_PHY_MP_GCC_USB30_PIPE_1_CLK,
122 	P_USB4_0_PHY_GCC_USB4_PCIE_PIPE_CLK,
123 	P_USB4_0_PHY_GCC_USB4RTR_MAX_PIPE_CLK,
124 	P_USB4_1_PHY_GCC_USB4_PCIE_PIPE_CLK,
125 	P_USB4_1_PHY_GCC_USB4RTR_MAX_PIPE_CLK,
126 	P_USB4_2_PHY_GCC_USB4_PCIE_PIPE_CLK,
127 	P_USB4_2_PHY_GCC_USB4RTR_MAX_PIPE_CLK,
128 };
129 
130 static struct clk_alpha_pll gcc_gpll0 = {
131 	.offset = 0x0,
132 	.regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_TAYCAN_EKO_T],
133 	.clkr = {
134 		.enable_reg = 0x62040,
135 		.enable_mask = BIT(0),
136 		.hw.init = &(const struct clk_init_data) {
137 			.name = "gcc_gpll0",
138 			.parent_data = &(const struct clk_parent_data) {
139 				.index = DT_BI_TCXO,
140 			},
141 			.num_parents = 1,
142 			.ops = &clk_alpha_pll_fixed_taycan_eko_t_ops,
143 		},
144 	},
145 };
146 
147 static const struct clk_div_table post_div_table_gcc_gpll0_out_even[] = {
148 	{ 0x1, 2 },
149 	{ }
150 };
151 
152 static struct clk_alpha_pll_postdiv gcc_gpll0_out_even = {
153 	.offset = 0x0,
154 	.post_div_shift = 10,
155 	.post_div_table = post_div_table_gcc_gpll0_out_even,
156 	.num_post_div = ARRAY_SIZE(post_div_table_gcc_gpll0_out_even),
157 	.width = 4,
158 	.regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_TAYCAN_EKO_T],
159 	.clkr.hw.init = &(const struct clk_init_data) {
160 		.name = "gcc_gpll0_out_even",
161 		.parent_hws = (const struct clk_hw*[]) {
162 			&gcc_gpll0.clkr.hw,
163 		},
164 		.num_parents = 1,
165 		.ops = &clk_alpha_pll_postdiv_taycan_eko_t_ops,
166 	},
167 };
168 
169 static struct clk_alpha_pll gcc_gpll1 = {
170 	.offset = 0x1000,
171 	.regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_TAYCAN_EKO_T],
172 	.clkr = {
173 		.enable_reg = 0x62040,
174 		.enable_mask = BIT(1),
175 		.hw.init = &(const struct clk_init_data) {
176 			.name = "gcc_gpll1",
177 			.parent_data = &(const struct clk_parent_data) {
178 				.index = DT_BI_TCXO,
179 			},
180 			.num_parents = 1,
181 			.ops = &clk_alpha_pll_fixed_taycan_eko_t_ops,
182 		},
183 	},
184 };
185 
186 static struct clk_alpha_pll gcc_gpll14 = {
187 	.offset = 0xe000,
188 	.regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_TAYCAN_EKO_T],
189 	.clkr = {
190 		.enable_reg = 0x62040,
191 		.enable_mask = BIT(14),
192 		.hw.init = &(const struct clk_init_data) {
193 			.name = "gcc_gpll14",
194 			.parent_data = &(const struct clk_parent_data) {
195 				.index = DT_BI_TCXO,
196 			},
197 			.num_parents = 1,
198 			.ops = &clk_alpha_pll_fixed_taycan_eko_t_ops,
199 		},
200 	},
201 };
202 
203 static const struct clk_div_table post_div_table_gcc_gpll14_out_even[] = {
204 	{ 0x1, 2 },
205 	{ }
206 };
207 
208 static struct clk_alpha_pll_postdiv gcc_gpll14_out_even = {
209 	.offset = 0xe000,
210 	.post_div_shift = 10,
211 	.post_div_table = post_div_table_gcc_gpll14_out_even,
212 	.num_post_div = ARRAY_SIZE(post_div_table_gcc_gpll14_out_even),
213 	.width = 4,
214 	.regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_TAYCAN_EKO_T],
215 	.clkr.hw.init = &(const struct clk_init_data) {
216 		.name = "gcc_gpll14_out_even",
217 		.parent_hws = (const struct clk_hw*[]) {
218 			&gcc_gpll14.clkr.hw,
219 		},
220 		.num_parents = 1,
221 		.ops = &clk_alpha_pll_postdiv_taycan_eko_t_ops,
222 	},
223 };
224 
225 static struct clk_alpha_pll gcc_gpll4 = {
226 	.offset = 0x4000,
227 	.regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_TAYCAN_EKO_T],
228 	.clkr = {
229 		.enable_reg = 0x62040,
230 		.enable_mask = BIT(4),
231 		.hw.init = &(const struct clk_init_data) {
232 			.name = "gcc_gpll4",
233 			.parent_data = &(const struct clk_parent_data) {
234 				.index = DT_BI_TCXO,
235 			},
236 			.num_parents = 1,
237 			.ops = &clk_alpha_pll_fixed_taycan_eko_t_ops,
238 		},
239 	},
240 };
241 
242 static struct clk_alpha_pll gcc_gpll5 = {
243 	.offset = 0x5000,
244 	.regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_TAYCAN_EKO_T],
245 	.clkr = {
246 		.enable_reg = 0x62040,
247 		.enable_mask = BIT(5),
248 		.hw.init = &(const struct clk_init_data) {
249 			.name = "gcc_gpll5",
250 			.parent_data = &(const struct clk_parent_data) {
251 				.index = DT_BI_TCXO,
252 			},
253 			.num_parents = 1,
254 			.ops = &clk_alpha_pll_fixed_taycan_eko_t_ops,
255 		},
256 	},
257 };
258 
259 static struct clk_alpha_pll gcc_gpll7 = {
260 	.offset = 0x7000,
261 	.regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_TAYCAN_EKO_T],
262 	.clkr = {
263 		.enable_reg = 0x62040,
264 		.enable_mask = BIT(7),
265 		.hw.init = &(const struct clk_init_data) {
266 			.name = "gcc_gpll7",
267 			.parent_data = &(const struct clk_parent_data) {
268 				.index = DT_BI_TCXO,
269 			},
270 			.num_parents = 1,
271 			.ops = &clk_alpha_pll_fixed_taycan_eko_t_ops,
272 		},
273 	},
274 };
275 
276 static struct clk_alpha_pll gcc_gpll8 = {
277 	.offset = 0x8000,
278 	.regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_TAYCAN_EKO_T],
279 	.clkr = {
280 		.enable_reg = 0x62040,
281 		.enable_mask = BIT(8),
282 		.hw.init = &(const struct clk_init_data) {
283 			.name = "gcc_gpll8",
284 			.parent_data = &(const struct clk_parent_data) {
285 				.index = DT_BI_TCXO,
286 			},
287 			.num_parents = 1,
288 			.ops = &clk_alpha_pll_fixed_taycan_eko_t_ops,
289 		},
290 	},
291 };
292 
293 static struct clk_alpha_pll gcc_gpll9 = {
294 	.offset = 0x9000,
295 	.regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_TAYCAN_EKO_T],
296 	.clkr = {
297 		.enable_reg = 0x62040,
298 		.enable_mask = BIT(9),
299 		.hw.init = &(const struct clk_init_data) {
300 			.name = "gcc_gpll9",
301 			.parent_data = &(const struct clk_parent_data) {
302 				.index = DT_BI_TCXO,
303 			},
304 			.num_parents = 1,
305 			.ops = &clk_alpha_pll_fixed_taycan_eko_t_ops,
306 		},
307 	},
308 };
309 
310 static struct clk_regmap_mux gcc_usb3_prim_phy_pipe_clk_src;
311 static struct clk_regmap_mux gcc_usb3_sec_phy_pipe_clk_src;
312 static struct clk_regmap_mux gcc_usb3_tert_phy_pipe_clk_src;
313 
314 static struct clk_rcg2 gcc_usb4_1_phy_pll_pipe_clk_src;
315 
316 static const struct parent_map gcc_parent_map_0[] = {
317 	{ P_BI_TCXO, 0 },
318 	{ P_GCC_GPLL0_OUT_MAIN, 1 },
319 	{ P_GCC_GPLL0_OUT_EVEN, 6 },
320 };
321 
322 static const struct clk_parent_data gcc_parent_data_0[] = {
323 	{ .index = DT_BI_TCXO },
324 	{ .hw = &gcc_gpll0.clkr.hw },
325 	{ .hw = &gcc_gpll0_out_even.clkr.hw },
326 };
327 
328 static const struct parent_map gcc_parent_map_1[] = {
329 	{ P_BI_TCXO, 0 },
330 	{ P_GCC_GPLL0_OUT_MAIN, 1 },
331 	{ P_GCC_GPLL1_OUT_MAIN, 4 },
332 	{ P_GCC_GPLL0_OUT_EVEN, 6 },
333 };
334 
335 static const struct clk_parent_data gcc_parent_data_1[] = {
336 	{ .index = DT_BI_TCXO },
337 	{ .hw = &gcc_gpll0.clkr.hw },
338 	{ .hw = &gcc_gpll1.clkr.hw },
339 	{ .hw = &gcc_gpll0_out_even.clkr.hw },
340 };
341 
342 static const struct parent_map gcc_parent_map_2[] = {
343 	{ P_BI_TCXO, 0 },
344 	{ P_SLEEP_CLK, 5 },
345 };
346 
347 static const struct clk_parent_data gcc_parent_data_2[] = {
348 	{ .index = DT_BI_TCXO },
349 	{ .index = DT_SLEEP_CLK },
350 };
351 
352 static const struct parent_map gcc_parent_map_3[] = {
353 	{ P_BI_TCXO, 0 },
354 	{ P_GCC_GPLL0_OUT_MAIN, 1 },
355 	{ P_GCC_GPLL1_OUT_MAIN, 4 },
356 	{ P_GCC_GPLL4_OUT_MAIN, 5 },
357 	{ P_GCC_GPLL0_OUT_EVEN, 6 },
358 };
359 
360 static const struct clk_parent_data gcc_parent_data_3[] = {
361 	{ .index = DT_BI_TCXO },
362 	{ .hw = &gcc_gpll0.clkr.hw },
363 	{ .hw = &gcc_gpll1.clkr.hw },
364 	{ .hw = &gcc_gpll4.clkr.hw },
365 	{ .hw = &gcc_gpll0_out_even.clkr.hw },
366 };
367 
368 static const struct parent_map gcc_parent_map_4[] = {
369 	{ P_BI_TCXO, 0 },
370 	{ P_GCC_GPLL0_OUT_MAIN, 1 },
371 	{ P_SLEEP_CLK, 5 },
372 	{ P_GCC_GPLL0_OUT_EVEN, 6 },
373 };
374 
375 static const struct clk_parent_data gcc_parent_data_4[] = {
376 	{ .index = DT_BI_TCXO },
377 	{ .hw = &gcc_gpll0.clkr.hw },
378 	{ .index = DT_SLEEP_CLK },
379 	{ .hw = &gcc_gpll0_out_even.clkr.hw },
380 };
381 
382 static const struct parent_map gcc_parent_map_5[] = {
383 	{ P_BI_TCXO, 0 },
384 };
385 
386 static const struct clk_parent_data gcc_parent_data_5[] = {
387 	{ .index = DT_BI_TCXO },
388 };
389 
390 static const struct parent_map gcc_parent_map_6[] = {
391 	{ P_BI_TCXO, 0 },
392 	{ P_GCC_GPLL0_OUT_MAIN, 1 },
393 	{ P_GCC_GPLL4_OUT_MAIN, 5 },
394 	{ P_GCC_GPLL0_OUT_EVEN, 6 },
395 };
396 
397 static const struct clk_parent_data gcc_parent_data_6[] = {
398 	{ .index = DT_BI_TCXO },
399 	{ .hw = &gcc_gpll0.clkr.hw },
400 	{ .hw = &gcc_gpll4.clkr.hw },
401 	{ .hw = &gcc_gpll0_out_even.clkr.hw },
402 };
403 
404 static const struct parent_map gcc_parent_map_7[] = {
405 	{ P_BI_TCXO, 0 },
406 	{ P_GCC_GPLL14_OUT_MAIN, 1 },
407 	{ P_GCC_GPLL14_OUT_EVEN, 6 },
408 };
409 
410 static const struct clk_parent_data gcc_parent_data_7[] = {
411 	{ .index = DT_BI_TCXO },
412 	{ .hw = &gcc_gpll14.clkr.hw },
413 	{ .hw = &gcc_gpll14_out_even.clkr.hw },
414 };
415 
416 static const struct parent_map gcc_parent_map_8[] = {
417 	{ P_BI_TCXO, 0 },
418 	{ P_GCC_GPLL4_OUT_MAIN, 5 },
419 };
420 
421 static const struct clk_parent_data gcc_parent_data_8[] = {
422 	{ .index = DT_BI_TCXO },
423 	{ .hw = &gcc_gpll4.clkr.hw },
424 };
425 
426 static const struct parent_map gcc_parent_map_9[] = {
427 	{ P_BI_TCXO, 0 },
428 	{ P_GCC_GPLL0_OUT_MAIN, 1 },
429 	{ P_GCC_GPLL8_OUT_MAIN, 2 },
430 	{ P_GCC_GPLL0_OUT_EVEN, 6 },
431 };
432 
433 static const struct clk_parent_data gcc_parent_data_9[] = {
434 	{ .index = DT_BI_TCXO },
435 	{ .hw = &gcc_gpll0.clkr.hw },
436 	{ .hw = &gcc_gpll8.clkr.hw },
437 	{ .hw = &gcc_gpll0_out_even.clkr.hw },
438 };
439 
440 static const struct parent_map gcc_parent_map_10[] = {
441 	{ P_BI_TCXO, 0 },
442 	{ P_GCC_GPLL0_OUT_MAIN, 1 },
443 	{ P_GCC_GPLL7_OUT_MAIN, 2 },
444 };
445 
446 static const struct clk_parent_data gcc_parent_data_10[] = {
447 	{ .index = DT_BI_TCXO },
448 	{ .hw = &gcc_gpll0.clkr.hw },
449 	{ .hw = &gcc_gpll7.clkr.hw },
450 };
451 
452 static const struct parent_map gcc_parent_map_11[] = {
453 	{ P_BI_TCXO, 0 },
454 	{ P_GCC_GPLL0_OUT_MAIN, 1 },
455 	{ P_GCC_GPLL7_OUT_MAIN, 2 },
456 	{ P_GCC_GPLL8_OUT_MAIN, 3 },
457 	{ P_SLEEP_CLK, 5 },
458 };
459 
460 static const struct clk_parent_data gcc_parent_data_11[] = {
461 	{ .index = DT_BI_TCXO },
462 	{ .hw = &gcc_gpll0.clkr.hw },
463 	{ .hw = &gcc_gpll7.clkr.hw },
464 	{ .hw = &gcc_gpll8.clkr.hw },
465 	{ .index = DT_SLEEP_CLK },
466 };
467 
468 static const struct parent_map gcc_parent_map_17[] = {
469 	{ P_BI_TCXO, 0 },
470 	{ P_GCC_GPLL0_OUT_MAIN, 1 },
471 	{ P_GCC_GPLL9_OUT_MAIN, 2 },
472 	{ P_GCC_GPLL4_OUT_MAIN, 5 },
473 	{ P_GCC_GPLL0_OUT_EVEN, 6 },
474 };
475 
476 static const struct clk_parent_data gcc_parent_data_17[] = {
477 	{ .index = DT_BI_TCXO },
478 	{ .hw = &gcc_gpll0.clkr.hw },
479 	{ .hw = &gcc_gpll9.clkr.hw },
480 	{ .hw = &gcc_gpll4.clkr.hw },
481 	{ .hw = &gcc_gpll0_out_even.clkr.hw },
482 };
483 
484 static const struct parent_map gcc_parent_map_18[] = {
485 	{ P_UFS_PHY_RX_SYMBOL_0_CLK, 0 },
486 	{ P_BI_TCXO, 2 },
487 };
488 
489 static const struct clk_parent_data gcc_parent_data_18[] = {
490 	{ .index = DT_UFS_PHY_RX_SYMBOL_0_CLK },
491 	{ .index = DT_BI_TCXO },
492 };
493 
494 static const struct parent_map gcc_parent_map_19[] = {
495 	{ P_UFS_PHY_RX_SYMBOL_1_CLK, 0 },
496 	{ P_BI_TCXO, 2 },
497 };
498 
499 static const struct clk_parent_data gcc_parent_data_19[] = {
500 	{ .index = DT_UFS_PHY_RX_SYMBOL_1_CLK },
501 	{ .index = DT_BI_TCXO },
502 };
503 
504 static const struct parent_map gcc_parent_map_20[] = {
505 	{ P_UFS_PHY_TX_SYMBOL_0_CLK, 0 },
506 	{ P_BI_TCXO, 2 },
507 };
508 
509 static const struct clk_parent_data gcc_parent_data_20[] = {
510 	{ .index = DT_UFS_PHY_TX_SYMBOL_0_CLK },
511 	{ .index = DT_BI_TCXO },
512 };
513 
514 static const struct parent_map gcc_parent_map_21[] = {
515 	{ P_GCC_USB3_PRIM_PHY_PIPE_CLK_SRC, 0 },
516 	{ P_USB4_0_PHY_GCC_USB4RTR_MAX_PIPE_CLK, 1 },
517 	{ P_GCC_USB4_0_PHY_PIPEGMUX_CLK_SRC, 3 },
518 };
519 
520 static const struct clk_parent_data gcc_parent_data_21[] = {
521 	{ .hw = &gcc_usb3_prim_phy_pipe_clk_src.clkr.hw },
522 	{ .index = DT_USB4_0_PHY_GCC_USB4RTR_MAX_PIPE_CLK },
523 	{ .index = DT_GCC_USB4_0_PHY_PIPEGMUX_CLK_SRC },
524 };
525 
526 static const struct parent_map gcc_parent_map_22[] = {
527 	{ P_GCC_USB3_SEC_PHY_PIPE_CLK_SRC, 0 },
528 	{ P_USB4_1_PHY_GCC_USB4RTR_MAX_PIPE_CLK, 1 },
529 	{ P_GCC_USB4_1_PHY_PLL_PIPE_CLK_SRC, 2 },
530 	{ P_GCC_USB4_1_PHY_PIPEGMUX_CLK_SRC, 3 },
531 };
532 
533 static const struct clk_parent_data gcc_parent_data_22[] = {
534 	{ .hw = &gcc_usb3_sec_phy_pipe_clk_src.clkr.hw },
535 	{ .index = DT_USB4_1_PHY_GCC_USB4RTR_MAX_PIPE_CLK },
536 	{ .hw = &gcc_usb4_1_phy_pll_pipe_clk_src.clkr.hw },
537 	{ .index = DT_GCC_USB4_1_PHY_PIPEGMUX_CLK_SRC },
538 };
539 
540 static const struct parent_map gcc_parent_map_23[] = {
541 	{ P_GCC_USB3_TERT_PHY_PIPE_CLK_SRC, 0 },
542 	{ P_USB4_2_PHY_GCC_USB4RTR_MAX_PIPE_CLK, 1 },
543 	{ P_GCC_USB4_2_PHY_PIPEGMUX_CLK_SRC, 3 },
544 };
545 
546 static const struct clk_parent_data gcc_parent_data_23[] = {
547 	{ .hw = &gcc_usb3_tert_phy_pipe_clk_src.clkr.hw },
548 	{ .index = DT_USB4_2_PHY_GCC_USB4RTR_MAX_PIPE_CLK },
549 	{ .index = DT_GCC_USB4_2_PHY_PIPEGMUX_CLK_SRC },
550 };
551 
552 static const struct parent_map gcc_parent_map_24[] = {
553 	{ P_USB3_UNI_PHY_MP_GCC_USB30_PIPE_0_CLK, 0 },
554 	{ P_BI_TCXO, 2 },
555 };
556 
557 static const struct clk_parent_data gcc_parent_data_24[] = {
558 	{ .index = DT_USB3_UNI_PHY_MP_GCC_USB30_PIPE_0_CLK },
559 	{ .index = DT_BI_TCXO },
560 };
561 
562 static const struct parent_map gcc_parent_map_25[] = {
563 	{ P_USB3_UNI_PHY_MP_GCC_USB30_PIPE_1_CLK, 0 },
564 	{ P_BI_TCXO, 2 },
565 };
566 
567 static const struct clk_parent_data gcc_parent_data_25[] = {
568 	{ .index = DT_USB3_UNI_PHY_MP_GCC_USB30_PIPE_1_CLK },
569 	{ .index = DT_BI_TCXO },
570 };
571 
572 static const struct parent_map gcc_parent_map_26[] = {
573 	{ P_USB3_PHY_0_WRAPPER_GCC_USB30_PIPE_CLK, 0 },
574 	{ P_BI_TCXO, 2 },
575 };
576 
577 static const struct clk_parent_data gcc_parent_data_26[] = {
578 	{ .index = DT_USB3_PHY_0_WRAPPER_GCC_USB30_PIPE_CLK },
579 	{ .index = DT_BI_TCXO },
580 };
581 
582 static const struct parent_map gcc_parent_map_27[] = {
583 	{ P_USB3_PHY_1_WRAPPER_GCC_USB30_PIPE_CLK, 0 },
584 	{ P_BI_TCXO, 2 },
585 };
586 
587 static const struct clk_parent_data gcc_parent_data_27[] = {
588 	{ .index = DT_USB3_PHY_1_WRAPPER_GCC_USB30_PIPE_CLK },
589 	{ .index = DT_BI_TCXO },
590 };
591 
592 static const struct parent_map gcc_parent_map_28[] = {
593 	{ P_USB3_PHY_2_WRAPPER_GCC_USB30_PIPE_CLK, 0 },
594 	{ P_BI_TCXO, 2 },
595 };
596 
597 static const struct clk_parent_data gcc_parent_data_28[] = {
598 	{ .index = DT_USB3_PHY_2_WRAPPER_GCC_USB30_PIPE_CLK },
599 	{ .index = DT_BI_TCXO },
600 };
601 
602 static const struct parent_map gcc_parent_map_29[] = {
603 	{ P_GCC_USB4_0_PHY_DP0_GMUX_CLK_SRC, 0 },
604 	{ P_USB4_0_PHY_GCC_USB4RTR_MAX_PIPE_CLK, 2 },
605 };
606 
607 static const struct clk_parent_data gcc_parent_data_29[] = {
608 	{ .index = DT_GCC_USB4_0_PHY_DP0_GMUX_CLK_SRC },
609 	{ .index = DT_USB4_0_PHY_GCC_USB4RTR_MAX_PIPE_CLK },
610 };
611 
612 static const struct parent_map gcc_parent_map_30[] = {
613 	{ P_GCC_USB4_0_PHY_DP1_GMUX_CLK_SRC, 0 },
614 	{ P_USB4_0_PHY_GCC_USB4RTR_MAX_PIPE_CLK, 2 },
615 };
616 
617 static const struct clk_parent_data gcc_parent_data_30[] = {
618 	{ .index = DT_GCC_USB4_0_PHY_DP1_GMUX_CLK_SRC },
619 	{ .index = DT_USB4_0_PHY_GCC_USB4RTR_MAX_PIPE_CLK },
620 };
621 
622 static const struct parent_map gcc_parent_map_31[] = {
623 	{ P_USB4_0_PHY_GCC_USB4_PCIE_PIPE_CLK, 0 },
624 	{ P_BI_TCXO, 2 },
625 };
626 
627 static const struct clk_parent_data gcc_parent_data_31[] = {
628 	{ .index = DT_USB4_0_PHY_GCC_USB4_PCIE_PIPE_CLK },
629 	{ .index = DT_BI_TCXO },
630 };
631 
632 static const struct parent_map gcc_parent_map_32[] = {
633 	{ P_BI_TCXO, 0 },
634 	{ P_GCC_GPLL0_OUT_MAIN, 1 },
635 	{ P_GCC_GPLL7_OUT_MAIN, 2 },
636 	{ P_SLEEP_CLK, 5 },
637 };
638 
639 static const struct clk_parent_data gcc_parent_data_32[] = {
640 	{ .index = DT_BI_TCXO },
641 	{ .hw = &gcc_gpll0.clkr.hw },
642 	{ .hw = &gcc_gpll7.clkr.hw },
643 	{ .index = DT_SLEEP_CLK },
644 };
645 
646 static const struct parent_map gcc_parent_map_33[] = {
647 	{ P_GCC_USB4_0_PHY_PCIE_PIPEGMUX_CLK_SRC, 0 },
648 	{ P_USB4_0_PHY_GCC_USB4_PCIE_PIPE_CLK, 1 },
649 };
650 
651 static const struct clk_parent_data gcc_parent_data_33[] = {
652 	{ .index = DT_GCC_USB4_0_PHY_PCIE_PIPEGMUX_CLK_SRC },
653 	{ .index = DT_USB4_0_PHY_GCC_USB4_PCIE_PIPE_CLK },
654 };
655 
656 static const struct parent_map gcc_parent_map_34[] = {
657 	{ P_QUSB4PHY_0_GCC_USB4_RX0_CLK, 0 },
658 	{ P_BI_TCXO, 2 },
659 };
660 
661 static const struct clk_parent_data gcc_parent_data_34[] = {
662 	{ .index = DT_QUSB4PHY_0_GCC_USB4_RX0_CLK },
663 	{ .index = DT_BI_TCXO },
664 };
665 
666 static const struct parent_map gcc_parent_map_35[] = {
667 	{ P_QUSB4PHY_0_GCC_USB4_RX1_CLK, 0 },
668 	{ P_BI_TCXO, 2 },
669 };
670 
671 static const struct clk_parent_data gcc_parent_data_35[] = {
672 	{ .index = DT_QUSB4PHY_0_GCC_USB4_RX1_CLK },
673 	{ .index = DT_BI_TCXO },
674 };
675 
676 static const struct parent_map gcc_parent_map_36[] = {
677 	{ P_GCC_USB4_0_PHY_SYS_PIPEGMUX_CLK_SRC, 0 },
678 	{ P_USB4_0_PHY_GCC_USB4_PCIE_PIPE_CLK, 2 },
679 };
680 
681 static const struct clk_parent_data gcc_parent_data_36[] = {
682 	{ .index = DT_GCC_USB4_0_PHY_SYS_PIPEGMUX_CLK_SRC },
683 	{ .index = DT_USB4_0_PHY_GCC_USB4_PCIE_PIPE_CLK },
684 };
685 
686 static const struct parent_map gcc_parent_map_37[] = {
687 	{ P_GCC_USB4_1_PHY_DP0_GMUX_2_CLK_SRC, 0 },
688 	{ P_USB4_1_PHY_GCC_USB4RTR_MAX_PIPE_CLK, 2 },
689 };
690 
691 static const struct clk_parent_data gcc_parent_data_37[] = {
692 	{ .index = DT_GCC_USB4_1_PHY_DP0_GMUX_2_CLK_SRC },
693 	{ .index = DT_USB4_1_PHY_GCC_USB4RTR_MAX_PIPE_CLK },
694 };
695 
696 static const struct parent_map gcc_parent_map_38[] = {
697 	{ P_GCC_USB4_1_PHY_DP1_GMUX_2_CLK_SRC, 0 },
698 	{ P_USB4_1_PHY_GCC_USB4RTR_MAX_PIPE_CLK, 2 },
699 };
700 
701 static const struct clk_parent_data gcc_parent_data_38[] = {
702 	{ .index = DT_GCC_USB4_1_PHY_DP1_GMUX_2_CLK_SRC },
703 	{ .index = DT_USB4_1_PHY_GCC_USB4RTR_MAX_PIPE_CLK },
704 };
705 
706 static const struct parent_map gcc_parent_map_39[] = {
707 	{ P_USB4_1_PHY_GCC_USB4_PCIE_PIPE_CLK, 0 },
708 	{ P_BI_TCXO, 2 },
709 };
710 
711 static const struct clk_parent_data gcc_parent_data_39[] = {
712 	{ .index = DT_USB4_1_PHY_GCC_USB4_PCIE_PIPE_CLK },
713 	{ .index = DT_BI_TCXO },
714 };
715 
716 static const struct parent_map gcc_parent_map_40[] = {
717 	{ P_GCC_USB4_1_PHY_PCIE_PIPEGMUX_CLK_SRC, 0 },
718 	{ P_USB4_1_PHY_GCC_USB4_PCIE_PIPE_CLK, 1 },
719 };
720 
721 static const struct clk_parent_data gcc_parent_data_40[] = {
722 	{ .index = DT_GCC_USB4_1_PHY_PCIE_PIPEGMUX_CLK_SRC },
723 	{ .index = DT_USB4_1_PHY_GCC_USB4_PCIE_PIPE_CLK },
724 };
725 
726 static const struct parent_map gcc_parent_map_41[] = {
727 	{ P_BI_TCXO, 0 },
728 	{ P_GCC_GPLL0_OUT_MAIN, 1 },
729 	{ P_GCC_GPLL5_OUT_MAIN, 3 },
730 	{ P_GCC_GPLL0_OUT_EVEN, 6 },
731 };
732 
733 static const struct clk_parent_data gcc_parent_data_41[] = {
734 	{ .index = DT_BI_TCXO },
735 	{ .hw = &gcc_gpll0.clkr.hw },
736 	{ .hw = &gcc_gpll5.clkr.hw },
737 	{ .hw = &gcc_gpll0_out_even.clkr.hw },
738 };
739 
740 static const struct parent_map gcc_parent_map_42[] = {
741 	{ P_QUSB4PHY_1_GCC_USB4_RX0_CLK, 0 },
742 	{ P_BI_TCXO, 2 },
743 };
744 
745 static const struct clk_parent_data gcc_parent_data_42[] = {
746 	{ .index = DT_QUSB4PHY_1_GCC_USB4_RX0_CLK },
747 	{ .index = DT_BI_TCXO },
748 };
749 
750 static const struct parent_map gcc_parent_map_43[] = {
751 	{ P_QUSB4PHY_1_GCC_USB4_RX1_CLK, 0 },
752 	{ P_BI_TCXO, 2 },
753 };
754 
755 static const struct clk_parent_data gcc_parent_data_43[] = {
756 	{ .index = DT_QUSB4PHY_1_GCC_USB4_RX1_CLK },
757 	{ .index = DT_BI_TCXO },
758 };
759 
760 static const struct parent_map gcc_parent_map_44[] = {
761 	{ P_GCC_USB4_1_PHY_SYS_PIPEGMUX_CLK_SRC, 0 },
762 	{ P_USB4_1_PHY_GCC_USB4_PCIE_PIPE_CLK, 2 },
763 };
764 
765 static const struct clk_parent_data gcc_parent_data_44[] = {
766 	{ .index = DT_GCC_USB4_1_PHY_SYS_PIPEGMUX_CLK_SRC },
767 	{ .index = DT_USB4_1_PHY_GCC_USB4_PCIE_PIPE_CLK },
768 };
769 
770 static const struct parent_map gcc_parent_map_45[] = {
771 	{ P_GCC_USB4_2_PHY_DP0_GMUX_CLK_SRC, 0 },
772 	{ P_USB4_2_PHY_GCC_USB4RTR_MAX_PIPE_CLK, 2 },
773 };
774 
775 static const struct clk_parent_data gcc_parent_data_45[] = {
776 	{ .index = DT_GCC_USB4_2_PHY_DP0_GMUX_CLK_SRC },
777 	{ .index = DT_USB4_2_PHY_GCC_USB4RTR_MAX_PIPE_CLK },
778 };
779 
780 static const struct parent_map gcc_parent_map_46[] = {
781 	{ P_GCC_USB4_2_PHY_DP1_GMUX_CLK_SRC, 0 },
782 	{ P_USB4_2_PHY_GCC_USB4RTR_MAX_PIPE_CLK, 2 },
783 };
784 
785 static const struct clk_parent_data gcc_parent_data_46[] = {
786 	{ .index = DT_GCC_USB4_2_PHY_DP1_GMUX_CLK_SRC },
787 	{ .index = DT_USB4_2_PHY_GCC_USB4RTR_MAX_PIPE_CLK },
788 };
789 
790 static const struct parent_map gcc_parent_map_47[] = {
791 	{ P_USB4_2_PHY_GCC_USB4_PCIE_PIPE_CLK, 0 },
792 	{ P_BI_TCXO, 2 },
793 };
794 
795 static const struct clk_parent_data gcc_parent_data_47[] = {
796 	{ .index = DT_USB4_2_PHY_GCC_USB4_PCIE_PIPE_CLK },
797 	{ .index = DT_BI_TCXO },
798 };
799 
800 static const struct parent_map gcc_parent_map_48[] = {
801 	{ P_GCC_USB4_2_PHY_PCIE_PIPEGMUX_CLK_SRC, 0 },
802 	{ P_USB4_2_PHY_GCC_USB4_PCIE_PIPE_CLK, 1 },
803 };
804 
805 static const struct clk_parent_data gcc_parent_data_48[] = {
806 	{ .index = DT_GCC_USB4_2_PHY_PCIE_PIPEGMUX_CLK_SRC },
807 	{ .index = DT_USB4_2_PHY_GCC_USB4_PCIE_PIPE_CLK },
808 };
809 
810 static const struct parent_map gcc_parent_map_49[] = {
811 	{ P_QUSB4PHY_2_GCC_USB4_RX0_CLK, 0 },
812 	{ P_BI_TCXO, 2 },
813 };
814 
815 static const struct clk_parent_data gcc_parent_data_49[] = {
816 	{ .index = DT_QUSB4PHY_2_GCC_USB4_RX0_CLK },
817 	{ .index = DT_BI_TCXO },
818 };
819 
820 static const struct parent_map gcc_parent_map_50[] = {
821 	{ P_QUSB4PHY_2_GCC_USB4_RX1_CLK, 0 },
822 	{ P_BI_TCXO, 2 },
823 };
824 
825 static const struct clk_parent_data gcc_parent_data_50[] = {
826 	{ .index = DT_QUSB4PHY_2_GCC_USB4_RX1_CLK },
827 	{ .index = DT_BI_TCXO },
828 };
829 
830 static const struct parent_map gcc_parent_map_51[] = {
831 	{ P_GCC_USB4_2_PHY_SYS_PIPEGMUX_CLK_SRC, 0 },
832 	{ P_USB4_2_PHY_GCC_USB4_PCIE_PIPE_CLK, 2 },
833 };
834 
835 static const struct clk_parent_data gcc_parent_data_51[] = {
836 	{ .index = DT_GCC_USB4_2_PHY_SYS_PIPEGMUX_CLK_SRC },
837 	{ .index = DT_USB4_2_PHY_GCC_USB4_PCIE_PIPE_CLK },
838 };
839 
840 static struct clk_regmap_phy_mux gcc_pcie_3a_pipe_clk_src = {
841 	.reg = 0xdc088,
842 	.clkr = {
843 		.hw.init = &(const struct clk_init_data) {
844 			.name = "gcc_pcie_3a_pipe_clk_src",
845 			.parent_data = &(const struct clk_parent_data){
846 				.index = DT_PCIE_3A_PIPE_CLK,
847 			},
848 			.num_parents = 1,
849 			.ops = &clk_regmap_phy_mux_ops,
850 		},
851 	},
852 };
853 
854 static struct clk_regmap_phy_mux gcc_pcie_3b_pipe_clk_src = {
855 	.reg = 0x941b4,
856 	.clkr = {
857 		.hw.init = &(const struct clk_init_data) {
858 			.name = "gcc_pcie_3b_pipe_clk_src",
859 			.parent_data = &(const struct clk_parent_data){
860 				.index = DT_PCIE_3B_PIPE_CLK,
861 			},
862 			.num_parents = 1,
863 			.ops = &clk_regmap_phy_mux_ops,
864 		},
865 	},
866 };
867 
868 static struct clk_regmap_phy_mux gcc_pcie_4_pipe_clk_src = {
869 	.reg = 0x881a4,
870 	.clkr = {
871 		.hw.init = &(const struct clk_init_data) {
872 			.name = "gcc_pcie_4_pipe_clk_src",
873 			.parent_data = &(const struct clk_parent_data){
874 				.index = DT_PCIE_4_PIPE_CLK,
875 			},
876 			.num_parents = 1,
877 			.ops = &clk_regmap_phy_mux_ops,
878 		},
879 	},
880 };
881 
882 static struct clk_regmap_phy_mux gcc_pcie_5_pipe_clk_src = {
883 	.reg = 0xc309c,
884 	.clkr = {
885 		.hw.init = &(const struct clk_init_data) {
886 			.name = "gcc_pcie_5_pipe_clk_src",
887 			.parent_data = &(const struct clk_parent_data){
888 				.index = DT_PCIE_5_PIPE_CLK,
889 			},
890 			.num_parents = 1,
891 			.ops = &clk_regmap_phy_mux_ops,
892 		},
893 	},
894 };
895 
896 static struct clk_regmap_phy_mux gcc_pcie_6_pipe_clk_src = {
897 	.reg = 0x8a1a4,
898 	.clkr = {
899 		.hw.init = &(const struct clk_init_data) {
900 			.name = "gcc_pcie_6_pipe_clk_src",
901 			.parent_data = &(const struct clk_parent_data){
902 				.index = DT_PCIE_6_PIPE_CLK,
903 			},
904 			.num_parents = 1,
905 			.ops = &clk_regmap_phy_mux_ops,
906 		},
907 	},
908 };
909 
910 static struct clk_regmap_mux gcc_ufs_phy_rx_symbol_0_clk_src = {
911 	.reg = 0x7706c,
912 	.shift = 0,
913 	.width = 2,
914 	.parent_map = gcc_parent_map_18,
915 	.clkr = {
916 		.hw.init = &(const struct clk_init_data) {
917 			.name = "gcc_ufs_phy_rx_symbol_0_clk_src",
918 			.parent_data = gcc_parent_data_18,
919 			.num_parents = ARRAY_SIZE(gcc_parent_data_18),
920 			.ops = &clk_regmap_mux_closest_ops,
921 		},
922 	},
923 };
924 
925 static struct clk_regmap_mux gcc_ufs_phy_rx_symbol_1_clk_src = {
926 	.reg = 0x770f0,
927 	.shift = 0,
928 	.width = 2,
929 	.parent_map = gcc_parent_map_19,
930 	.clkr = {
931 		.hw.init = &(const struct clk_init_data) {
932 			.name = "gcc_ufs_phy_rx_symbol_1_clk_src",
933 			.parent_data = gcc_parent_data_19,
934 			.num_parents = ARRAY_SIZE(gcc_parent_data_19),
935 			.ops = &clk_regmap_mux_closest_ops,
936 		},
937 	},
938 };
939 
940 static struct clk_regmap_mux gcc_ufs_phy_tx_symbol_0_clk_src = {
941 	.reg = 0x7705c,
942 	.shift = 0,
943 	.width = 2,
944 	.parent_map = gcc_parent_map_20,
945 	.clkr = {
946 		.hw.init = &(const struct clk_init_data) {
947 			.name = "gcc_ufs_phy_tx_symbol_0_clk_src",
948 			.parent_data = gcc_parent_data_20,
949 			.num_parents = ARRAY_SIZE(gcc_parent_data_20),
950 			.ops = &clk_regmap_mux_closest_ops,
951 		},
952 	},
953 };
954 
955 static struct clk_regmap_mux gcc_usb34_prim_phy_pipe_clk_src = {
956 	.reg = 0x2b0b8,
957 	.shift = 0,
958 	.width = 2,
959 	.parent_map = gcc_parent_map_21,
960 	.clkr = {
961 		.hw.init = &(const struct clk_init_data) {
962 			.name = "gcc_usb34_prim_phy_pipe_clk_src",
963 			.parent_data = gcc_parent_data_21,
964 			.num_parents = ARRAY_SIZE(gcc_parent_data_21),
965 			.ops = &clk_regmap_mux_closest_ops,
966 		},
967 	},
968 };
969 
970 static struct clk_regmap_mux gcc_usb34_sec_phy_pipe_clk_src = {
971 	.reg = 0x2d0c4,
972 	.shift = 0,
973 	.width = 2,
974 	.parent_map = gcc_parent_map_22,
975 	.clkr = {
976 		.hw.init = &(const struct clk_init_data) {
977 			.name = "gcc_usb34_sec_phy_pipe_clk_src",
978 			.parent_data = gcc_parent_data_22,
979 			.num_parents = ARRAY_SIZE(gcc_parent_data_22),
980 			.ops = &clk_regmap_mux_closest_ops,
981 		},
982 	},
983 };
984 
985 static struct clk_regmap_mux gcc_usb34_tert_phy_pipe_clk_src = {
986 	.reg = 0xe00bc,
987 	.shift = 0,
988 	.width = 2,
989 	.parent_map = gcc_parent_map_23,
990 	.clkr = {
991 		.hw.init = &(const struct clk_init_data) {
992 			.name = "gcc_usb34_tert_phy_pipe_clk_src",
993 			.parent_data = gcc_parent_data_23,
994 			.num_parents = ARRAY_SIZE(gcc_parent_data_23),
995 			.ops = &clk_regmap_mux_closest_ops,
996 		},
997 	},
998 };
999 
1000 static struct clk_regmap_mux gcc_usb3_mp_phy_pipe_0_clk_src = {
1001 	.reg = 0x9a07c,
1002 	.shift = 0,
1003 	.width = 2,
1004 	.parent_map = gcc_parent_map_24,
1005 	.clkr = {
1006 		.hw.init = &(const struct clk_init_data) {
1007 			.name = "gcc_usb3_mp_phy_pipe_0_clk_src",
1008 			.parent_data = gcc_parent_data_24,
1009 			.num_parents = ARRAY_SIZE(gcc_parent_data_24),
1010 			.ops = &clk_regmap_mux_closest_ops,
1011 		},
1012 	},
1013 };
1014 
1015 static struct clk_regmap_mux gcc_usb3_mp_phy_pipe_1_clk_src = {
1016 	.reg = 0x9a084,
1017 	.shift = 0,
1018 	.width = 2,
1019 	.parent_map = gcc_parent_map_25,
1020 	.clkr = {
1021 		.hw.init = &(const struct clk_init_data) {
1022 			.name = "gcc_usb3_mp_phy_pipe_1_clk_src",
1023 			.parent_data = gcc_parent_data_25,
1024 			.num_parents = ARRAY_SIZE(gcc_parent_data_25),
1025 			.ops = &clk_regmap_mux_closest_ops,
1026 		},
1027 	},
1028 };
1029 
1030 static struct clk_regmap_mux gcc_usb3_prim_phy_pipe_clk_src = {
1031 	.reg = 0x3f08c,
1032 	.shift = 0,
1033 	.width = 2,
1034 	.parent_map = gcc_parent_map_26,
1035 	.clkr = {
1036 		.hw.init = &(const struct clk_init_data) {
1037 			.name = "gcc_usb3_prim_phy_pipe_clk_src",
1038 			.parent_data = gcc_parent_data_26,
1039 			.num_parents = ARRAY_SIZE(gcc_parent_data_26),
1040 			.ops = &clk_regmap_mux_closest_ops,
1041 		},
1042 	},
1043 };
1044 
1045 static struct clk_regmap_mux gcc_usb3_sec_phy_pipe_clk_src = {
1046 	.reg = 0xe207c,
1047 	.shift = 0,
1048 	.width = 2,
1049 	.parent_map = gcc_parent_map_27,
1050 	.clkr = {
1051 		.hw.init = &(const struct clk_init_data) {
1052 			.name = "gcc_usb3_sec_phy_pipe_clk_src",
1053 			.parent_data = gcc_parent_data_27,
1054 			.num_parents = ARRAY_SIZE(gcc_parent_data_27),
1055 			.ops = &clk_regmap_mux_closest_ops,
1056 		},
1057 	},
1058 };
1059 
1060 static struct clk_regmap_mux gcc_usb3_tert_phy_pipe_clk_src = {
1061 	.reg = 0xe107c,
1062 	.shift = 0,
1063 	.width = 2,
1064 	.parent_map = gcc_parent_map_28,
1065 	.clkr = {
1066 		.hw.init = &(const struct clk_init_data) {
1067 			.name = "gcc_usb3_tert_phy_pipe_clk_src",
1068 			.parent_data = gcc_parent_data_28,
1069 			.num_parents = ARRAY_SIZE(gcc_parent_data_28),
1070 			.ops = &clk_regmap_mux_closest_ops,
1071 		},
1072 	},
1073 };
1074 
1075 static struct clk_regmap_mux gcc_usb4_0_phy_dp0_clk_src = {
1076 	.reg = 0x2b080,
1077 	.shift = 0,
1078 	.width = 2,
1079 	.parent_map = gcc_parent_map_29,
1080 	.clkr = {
1081 		.hw.init = &(const struct clk_init_data) {
1082 			.name = "gcc_usb4_0_phy_dp0_clk_src",
1083 			.parent_data = gcc_parent_data_29,
1084 			.num_parents = ARRAY_SIZE(gcc_parent_data_29),
1085 			.ops = &clk_regmap_mux_closest_ops,
1086 		},
1087 	},
1088 };
1089 
1090 static struct clk_regmap_mux gcc_usb4_0_phy_dp1_clk_src = {
1091 	.reg = 0x2b134,
1092 	.shift = 0,
1093 	.width = 2,
1094 	.parent_map = gcc_parent_map_30,
1095 	.clkr = {
1096 		.hw.init = &(const struct clk_init_data) {
1097 			.name = "gcc_usb4_0_phy_dp1_clk_src",
1098 			.parent_data = gcc_parent_data_30,
1099 			.num_parents = ARRAY_SIZE(gcc_parent_data_30),
1100 			.ops = &clk_regmap_mux_closest_ops,
1101 		},
1102 	},
1103 };
1104 
1105 static struct clk_regmap_mux gcc_usb4_0_phy_p2rr2p_pipe_clk_src = {
1106 	.reg = 0x2b0f0,
1107 	.shift = 0,
1108 	.width = 2,
1109 	.parent_map = gcc_parent_map_31,
1110 	.clkr = {
1111 		.hw.init = &(const struct clk_init_data) {
1112 			.name = "gcc_usb4_0_phy_p2rr2p_pipe_clk_src",
1113 			.parent_data = gcc_parent_data_31,
1114 			.num_parents = ARRAY_SIZE(gcc_parent_data_31),
1115 			.ops = &clk_regmap_mux_closest_ops,
1116 		},
1117 	},
1118 };
1119 
1120 static struct clk_regmap_mux gcc_usb4_0_phy_pcie_pipe_mux_clk_src = {
1121 	.reg = 0x2b120,
1122 	.shift = 0,
1123 	.width = 1,
1124 	.parent_map = gcc_parent_map_33,
1125 	.clkr = {
1126 		.hw.init = &(const struct clk_init_data) {
1127 			.name = "gcc_usb4_0_phy_pcie_pipe_mux_clk_src",
1128 			.parent_data = gcc_parent_data_33,
1129 			.num_parents = ARRAY_SIZE(gcc_parent_data_33),
1130 			.ops = &clk_regmap_mux_closest_ops,
1131 		},
1132 	},
1133 };
1134 
1135 static struct clk_regmap_mux gcc_usb4_0_phy_rx0_clk_src = {
1136 	.reg = 0x2b0c0,
1137 	.shift = 0,
1138 	.width = 2,
1139 	.parent_map = gcc_parent_map_34,
1140 	.clkr = {
1141 		.hw.init = &(const struct clk_init_data) {
1142 			.name = "gcc_usb4_0_phy_rx0_clk_src",
1143 			.parent_data = gcc_parent_data_34,
1144 			.num_parents = ARRAY_SIZE(gcc_parent_data_34),
1145 			.ops = &clk_regmap_mux_closest_ops,
1146 		},
1147 	},
1148 };
1149 
1150 static struct clk_regmap_mux gcc_usb4_0_phy_rx1_clk_src = {
1151 	.reg = 0x2b0d4,
1152 	.shift = 0,
1153 	.width = 2,
1154 	.parent_map = gcc_parent_map_35,
1155 	.clkr = {
1156 		.hw.init = &(const struct clk_init_data) {
1157 			.name = "gcc_usb4_0_phy_rx1_clk_src",
1158 			.parent_data = gcc_parent_data_35,
1159 			.num_parents = ARRAY_SIZE(gcc_parent_data_35),
1160 			.ops = &clk_regmap_mux_closest_ops,
1161 		},
1162 	},
1163 };
1164 
1165 static struct clk_regmap_mux gcc_usb4_0_phy_sys_clk_src = {
1166 	.reg = 0x2b100,
1167 	.shift = 0,
1168 	.width = 2,
1169 	.parent_map = gcc_parent_map_36,
1170 	.clkr = {
1171 		.hw.init = &(const struct clk_init_data) {
1172 			.name = "gcc_usb4_0_phy_sys_clk_src",
1173 			.parent_data = gcc_parent_data_36,
1174 			.num_parents = ARRAY_SIZE(gcc_parent_data_36),
1175 			.ops = &clk_regmap_mux_closest_ops,
1176 		},
1177 	},
1178 };
1179 
1180 static struct clk_regmap_mux gcc_usb4_1_phy_dp0_clk_src = {
1181 	.reg = 0x2d08c,
1182 	.shift = 0,
1183 	.width = 2,
1184 	.parent_map = gcc_parent_map_37,
1185 	.clkr = {
1186 		.hw.init = &(const struct clk_init_data) {
1187 			.name = "gcc_usb4_1_phy_dp0_clk_src",
1188 			.parent_data = gcc_parent_data_37,
1189 			.num_parents = ARRAY_SIZE(gcc_parent_data_37),
1190 			.ops = &clk_regmap_mux_closest_ops,
1191 		},
1192 	},
1193 };
1194 
1195 static struct clk_regmap_mux gcc_usb4_1_phy_dp1_clk_src = {
1196 	.reg = 0x2d154,
1197 	.shift = 0,
1198 	.width = 2,
1199 	.parent_map = gcc_parent_map_38,
1200 	.clkr = {
1201 		.hw.init = &(const struct clk_init_data) {
1202 			.name = "gcc_usb4_1_phy_dp1_clk_src",
1203 			.parent_data = gcc_parent_data_38,
1204 			.num_parents = ARRAY_SIZE(gcc_parent_data_38),
1205 			.ops = &clk_regmap_mux_closest_ops,
1206 		},
1207 	},
1208 };
1209 
1210 static struct clk_regmap_mux gcc_usb4_1_phy_p2rr2p_pipe_clk_src = {
1211 	.reg = 0x2d114,
1212 	.shift = 0,
1213 	.width = 2,
1214 	.parent_map = gcc_parent_map_39,
1215 	.clkr = {
1216 		.hw.init = &(const struct clk_init_data) {
1217 			.name = "gcc_usb4_1_phy_p2rr2p_pipe_clk_src",
1218 			.parent_data = gcc_parent_data_39,
1219 			.num_parents = ARRAY_SIZE(gcc_parent_data_39),
1220 			.ops = &clk_regmap_mux_closest_ops,
1221 		},
1222 	},
1223 };
1224 
1225 static struct clk_regmap_mux gcc_usb4_1_phy_pcie_pipe_mux_clk_src = {
1226 	.reg = 0x2d140,
1227 	.shift = 0,
1228 	.width = 1,
1229 	.parent_map = gcc_parent_map_40,
1230 	.clkr = {
1231 		.hw.init = &(const struct clk_init_data) {
1232 			.name = "gcc_usb4_1_phy_pcie_pipe_mux_clk_src",
1233 			.parent_data = gcc_parent_data_40,
1234 			.num_parents = ARRAY_SIZE(gcc_parent_data_40),
1235 			.ops = &clk_regmap_mux_closest_ops,
1236 		},
1237 	},
1238 };
1239 
1240 static struct clk_regmap_mux gcc_usb4_1_phy_rx0_clk_src = {
1241 	.reg = 0x2d0e4,
1242 	.shift = 0,
1243 	.width = 2,
1244 	.parent_map = gcc_parent_map_42,
1245 	.clkr = {
1246 		.hw.init = &(const struct clk_init_data) {
1247 			.name = "gcc_usb4_1_phy_rx0_clk_src",
1248 			.parent_data = gcc_parent_data_42,
1249 			.num_parents = ARRAY_SIZE(gcc_parent_data_42),
1250 			.ops = &clk_regmap_mux_closest_ops,
1251 		},
1252 	},
1253 };
1254 
1255 static struct clk_regmap_mux gcc_usb4_1_phy_rx1_clk_src = {
1256 	.reg = 0x2d0f8,
1257 	.shift = 0,
1258 	.width = 2,
1259 	.parent_map = gcc_parent_map_43,
1260 	.clkr = {
1261 		.hw.init = &(const struct clk_init_data) {
1262 			.name = "gcc_usb4_1_phy_rx1_clk_src",
1263 			.parent_data = gcc_parent_data_43,
1264 			.num_parents = ARRAY_SIZE(gcc_parent_data_43),
1265 			.ops = &clk_regmap_mux_closest_ops,
1266 		},
1267 	},
1268 };
1269 
1270 static struct clk_regmap_mux gcc_usb4_1_phy_sys_clk_src = {
1271 	.reg = 0x2d124,
1272 	.shift = 0,
1273 	.width = 2,
1274 	.parent_map = gcc_parent_map_44,
1275 	.clkr = {
1276 		.hw.init = &(const struct clk_init_data) {
1277 			.name = "gcc_usb4_1_phy_sys_clk_src",
1278 			.parent_data = gcc_parent_data_44,
1279 			.num_parents = ARRAY_SIZE(gcc_parent_data_44),
1280 			.ops = &clk_regmap_mux_closest_ops,
1281 		},
1282 	},
1283 };
1284 
1285 static struct clk_regmap_mux gcc_usb4_2_phy_dp0_clk_src = {
1286 	.reg = 0xe0084,
1287 	.shift = 0,
1288 	.width = 2,
1289 	.parent_map = gcc_parent_map_45,
1290 	.clkr = {
1291 		.hw.init = &(const struct clk_init_data) {
1292 			.name = "gcc_usb4_2_phy_dp0_clk_src",
1293 			.parent_data = gcc_parent_data_45,
1294 			.num_parents = ARRAY_SIZE(gcc_parent_data_45),
1295 			.ops = &clk_regmap_mux_closest_ops,
1296 		},
1297 	},
1298 };
1299 
1300 static struct clk_regmap_mux gcc_usb4_2_phy_dp1_clk_src = {
1301 	.reg = 0xe013c,
1302 	.shift = 0,
1303 	.width = 2,
1304 	.parent_map = gcc_parent_map_46,
1305 	.clkr = {
1306 		.hw.init = &(const struct clk_init_data) {
1307 			.name = "gcc_usb4_2_phy_dp1_clk_src",
1308 			.parent_data = gcc_parent_data_46,
1309 			.num_parents = ARRAY_SIZE(gcc_parent_data_46),
1310 			.ops = &clk_regmap_mux_closest_ops,
1311 		},
1312 	},
1313 };
1314 
1315 static struct clk_regmap_mux gcc_usb4_2_phy_p2rr2p_pipe_clk_src = {
1316 	.reg = 0xe00f4,
1317 	.shift = 0,
1318 	.width = 2,
1319 	.parent_map = gcc_parent_map_47,
1320 	.clkr = {
1321 		.hw.init = &(const struct clk_init_data) {
1322 			.name = "gcc_usb4_2_phy_p2rr2p_pipe_clk_src",
1323 			.parent_data = gcc_parent_data_47,
1324 			.num_parents = ARRAY_SIZE(gcc_parent_data_47),
1325 			.ops = &clk_regmap_mux_closest_ops,
1326 		},
1327 	},
1328 };
1329 
1330 static struct clk_regmap_mux gcc_usb4_2_phy_pcie_pipe_mux_clk_src = {
1331 	.reg = 0xe0124,
1332 	.shift = 0,
1333 	.width = 1,
1334 	.parent_map = gcc_parent_map_48,
1335 	.clkr = {
1336 		.hw.init = &(const struct clk_init_data) {
1337 			.name = "gcc_usb4_2_phy_pcie_pipe_mux_clk_src",
1338 			.parent_data = gcc_parent_data_48,
1339 			.num_parents = ARRAY_SIZE(gcc_parent_data_48),
1340 			.ops = &clk_regmap_mux_closest_ops,
1341 		},
1342 	},
1343 };
1344 
1345 static struct clk_regmap_mux gcc_usb4_2_phy_rx0_clk_src = {
1346 	.reg = 0xe00c4,
1347 	.shift = 0,
1348 	.width = 2,
1349 	.parent_map = gcc_parent_map_49,
1350 	.clkr = {
1351 		.hw.init = &(const struct clk_init_data) {
1352 			.name = "gcc_usb4_2_phy_rx0_clk_src",
1353 			.parent_data = gcc_parent_data_49,
1354 			.num_parents = ARRAY_SIZE(gcc_parent_data_49),
1355 			.ops = &clk_regmap_mux_closest_ops,
1356 		},
1357 	},
1358 };
1359 
1360 static struct clk_regmap_mux gcc_usb4_2_phy_rx1_clk_src = {
1361 	.reg = 0xe00d8,
1362 	.shift = 0,
1363 	.width = 2,
1364 	.parent_map = gcc_parent_map_50,
1365 	.clkr = {
1366 		.hw.init = &(const struct clk_init_data) {
1367 			.name = "gcc_usb4_2_phy_rx1_clk_src",
1368 			.parent_data = gcc_parent_data_50,
1369 			.num_parents = ARRAY_SIZE(gcc_parent_data_50),
1370 			.ops = &clk_regmap_mux_closest_ops,
1371 		},
1372 	},
1373 };
1374 
1375 static struct clk_regmap_mux gcc_usb4_2_phy_sys_clk_src = {
1376 	.reg = 0xe0104,
1377 	.shift = 0,
1378 	.width = 2,
1379 	.parent_map = gcc_parent_map_51,
1380 	.clkr = {
1381 		.hw.init = &(const struct clk_init_data) {
1382 			.name = "gcc_usb4_2_phy_sys_clk_src",
1383 			.parent_data = gcc_parent_data_51,
1384 			.num_parents = ARRAY_SIZE(gcc_parent_data_51),
1385 			.ops = &clk_regmap_mux_closest_ops,
1386 		},
1387 	},
1388 };
1389 
1390 static const struct freq_tbl ftbl_gcc_gp1_clk_src[] = {
1391 	F(50000000, P_GCC_GPLL0_OUT_EVEN, 6, 0, 0),
1392 	F(100000000, P_GCC_GPLL0_OUT_MAIN, 6, 0, 0),
1393 	F(200000000, P_GCC_GPLL0_OUT_MAIN, 3, 0, 0),
1394 	{ }
1395 };
1396 
1397 static struct clk_rcg2 gcc_gp1_clk_src = {
1398 	.cmd_rcgr = 0x64004,
1399 	.mnd_width = 16,
1400 	.hid_width = 5,
1401 	.parent_map = gcc_parent_map_4,
1402 	.freq_tbl = ftbl_gcc_gp1_clk_src,
1403 	.clkr.hw.init = &(const struct clk_init_data) {
1404 		.name = "gcc_gp1_clk_src",
1405 		.parent_data = gcc_parent_data_4,
1406 		.num_parents = ARRAY_SIZE(gcc_parent_data_4),
1407 		.flags = CLK_SET_RATE_PARENT,
1408 		.ops = &clk_rcg2_shared_no_init_park_ops,
1409 	},
1410 };
1411 
1412 static struct clk_rcg2 gcc_gp2_clk_src = {
1413 	.cmd_rcgr = 0x92004,
1414 	.mnd_width = 16,
1415 	.hid_width = 5,
1416 	.parent_map = gcc_parent_map_4,
1417 	.freq_tbl = ftbl_gcc_gp1_clk_src,
1418 	.clkr.hw.init = &(const struct clk_init_data) {
1419 		.name = "gcc_gp2_clk_src",
1420 		.parent_data = gcc_parent_data_4,
1421 		.num_parents = ARRAY_SIZE(gcc_parent_data_4),
1422 		.flags = CLK_SET_RATE_PARENT,
1423 		.ops = &clk_rcg2_shared_no_init_park_ops,
1424 	},
1425 };
1426 
1427 static struct clk_rcg2 gcc_gp3_clk_src = {
1428 	.cmd_rcgr = 0x93004,
1429 	.mnd_width = 16,
1430 	.hid_width = 5,
1431 	.parent_map = gcc_parent_map_4,
1432 	.freq_tbl = ftbl_gcc_gp1_clk_src,
1433 	.clkr.hw.init = &(const struct clk_init_data) {
1434 		.name = "gcc_gp3_clk_src",
1435 		.parent_data = gcc_parent_data_4,
1436 		.num_parents = ARRAY_SIZE(gcc_parent_data_4),
1437 		.flags = CLK_SET_RATE_PARENT,
1438 		.ops = &clk_rcg2_shared_no_init_park_ops,
1439 	},
1440 };
1441 
1442 static const struct freq_tbl ftbl_gcc_pcie_0_aux_clk_src[] = {
1443 	F(19200000, P_BI_TCXO, 1, 0, 0),
1444 	{ }
1445 };
1446 
1447 static struct clk_rcg2 gcc_pcie_0_aux_clk_src = {
1448 	.cmd_rcgr = 0xc8168,
1449 	.mnd_width = 16,
1450 	.hid_width = 5,
1451 	.parent_map = gcc_parent_map_2,
1452 	.freq_tbl = ftbl_gcc_pcie_0_aux_clk_src,
1453 	.clkr.hw.init = &(const struct clk_init_data) {
1454 		.name = "gcc_pcie_0_aux_clk_src",
1455 		.parent_data = gcc_parent_data_2,
1456 		.num_parents = ARRAY_SIZE(gcc_parent_data_2),
1457 		.flags = CLK_SET_RATE_PARENT,
1458 		.ops = &clk_rcg2_shared_no_init_park_ops,
1459 	},
1460 };
1461 
1462 static const struct freq_tbl ftbl_gcc_pcie_0_phy_rchng_clk_src[] = {
1463 	F(19200000, P_BI_TCXO, 1, 0, 0),
1464 	F(100000000, P_GCC_GPLL0_OUT_EVEN, 3, 0, 0),
1465 	{ }
1466 };
1467 
1468 static struct clk_rcg2 gcc_pcie_0_phy_rchng_clk_src = {
1469 	.cmd_rcgr = 0xc803c,
1470 	.mnd_width = 0,
1471 	.hid_width = 5,
1472 	.parent_map = gcc_parent_map_0,
1473 	.freq_tbl = ftbl_gcc_pcie_0_phy_rchng_clk_src,
1474 	.clkr.hw.init = &(const struct clk_init_data) {
1475 		.name = "gcc_pcie_0_phy_rchng_clk_src",
1476 		.parent_data = gcc_parent_data_0,
1477 		.num_parents = ARRAY_SIZE(gcc_parent_data_0),
1478 		.flags = CLK_SET_RATE_PARENT,
1479 		.ops = &clk_rcg2_shared_no_init_park_ops,
1480 	},
1481 };
1482 
1483 static struct clk_rcg2 gcc_pcie_1_aux_clk_src = {
1484 	.cmd_rcgr = 0x2e168,
1485 	.mnd_width = 16,
1486 	.hid_width = 5,
1487 	.parent_map = gcc_parent_map_2,
1488 	.freq_tbl = ftbl_gcc_pcie_0_aux_clk_src,
1489 	.clkr.hw.init = &(const struct clk_init_data) {
1490 		.name = "gcc_pcie_1_aux_clk_src",
1491 		.parent_data = gcc_parent_data_2,
1492 		.num_parents = ARRAY_SIZE(gcc_parent_data_2),
1493 		.flags = CLK_SET_RATE_PARENT,
1494 		.ops = &clk_rcg2_shared_no_init_park_ops,
1495 	},
1496 };
1497 
1498 static struct clk_rcg2 gcc_pcie_1_phy_rchng_clk_src = {
1499 	.cmd_rcgr = 0x2e03c,
1500 	.mnd_width = 0,
1501 	.hid_width = 5,
1502 	.parent_map = gcc_parent_map_0,
1503 	.freq_tbl = ftbl_gcc_pcie_0_phy_rchng_clk_src,
1504 	.clkr.hw.init = &(const struct clk_init_data) {
1505 		.name = "gcc_pcie_1_phy_rchng_clk_src",
1506 		.parent_data = gcc_parent_data_0,
1507 		.num_parents = ARRAY_SIZE(gcc_parent_data_0),
1508 		.flags = CLK_SET_RATE_PARENT,
1509 		.ops = &clk_rcg2_shared_no_init_park_ops,
1510 	},
1511 };
1512 
1513 static struct clk_rcg2 gcc_pcie_2_aux_clk_src = {
1514 	.cmd_rcgr = 0xc0168,
1515 	.mnd_width = 16,
1516 	.hid_width = 5,
1517 	.parent_map = gcc_parent_map_2,
1518 	.freq_tbl = ftbl_gcc_pcie_0_aux_clk_src,
1519 	.clkr.hw.init = &(const struct clk_init_data) {
1520 		.name = "gcc_pcie_2_aux_clk_src",
1521 		.parent_data = gcc_parent_data_2,
1522 		.num_parents = ARRAY_SIZE(gcc_parent_data_2),
1523 		.flags = CLK_SET_RATE_PARENT,
1524 		.ops = &clk_rcg2_shared_no_init_park_ops,
1525 	},
1526 };
1527 
1528 static struct clk_rcg2 gcc_pcie_2_phy_rchng_clk_src = {
1529 	.cmd_rcgr = 0xc003c,
1530 	.mnd_width = 0,
1531 	.hid_width = 5,
1532 	.parent_map = gcc_parent_map_0,
1533 	.freq_tbl = ftbl_gcc_pcie_0_phy_rchng_clk_src,
1534 	.clkr.hw.init = &(const struct clk_init_data) {
1535 		.name = "gcc_pcie_2_phy_rchng_clk_src",
1536 		.parent_data = gcc_parent_data_0,
1537 		.num_parents = ARRAY_SIZE(gcc_parent_data_0),
1538 		.flags = CLK_SET_RATE_PARENT,
1539 		.ops = &clk_rcg2_shared_no_init_park_ops,
1540 	},
1541 };
1542 
1543 static struct clk_rcg2 gcc_pcie_3a_aux_clk_src = {
1544 	.cmd_rcgr = 0xdc08c,
1545 	.mnd_width = 16,
1546 	.hid_width = 5,
1547 	.parent_map = gcc_parent_map_2,
1548 	.freq_tbl = ftbl_gcc_pcie_0_aux_clk_src,
1549 	.clkr.hw.init = &(const struct clk_init_data) {
1550 		.name = "gcc_pcie_3a_aux_clk_src",
1551 		.parent_data = gcc_parent_data_2,
1552 		.num_parents = ARRAY_SIZE(gcc_parent_data_2),
1553 		.flags = CLK_SET_RATE_PARENT,
1554 		.ops = &clk_rcg2_shared_no_init_park_ops,
1555 	},
1556 };
1557 
1558 static struct clk_rcg2 gcc_pcie_3a_phy_rchng_clk_src = {
1559 	.cmd_rcgr = 0xdc070,
1560 	.mnd_width = 0,
1561 	.hid_width = 5,
1562 	.parent_map = gcc_parent_map_0,
1563 	.freq_tbl = ftbl_gcc_pcie_0_phy_rchng_clk_src,
1564 	.clkr.hw.init = &(const struct clk_init_data) {
1565 		.name = "gcc_pcie_3a_phy_rchng_clk_src",
1566 		.parent_data = gcc_parent_data_0,
1567 		.num_parents = ARRAY_SIZE(gcc_parent_data_0),
1568 		.flags = CLK_SET_RATE_PARENT,
1569 		.ops = &clk_rcg2_shared_no_init_park_ops,
1570 	},
1571 };
1572 
1573 static struct clk_rcg2 gcc_pcie_3b_aux_clk_src = {
1574 	.cmd_rcgr = 0x941b8,
1575 	.mnd_width = 16,
1576 	.hid_width = 5,
1577 	.parent_map = gcc_parent_map_2,
1578 	.freq_tbl = ftbl_gcc_pcie_0_aux_clk_src,
1579 	.clkr.hw.init = &(const struct clk_init_data) {
1580 		.name = "gcc_pcie_3b_aux_clk_src",
1581 		.parent_data = gcc_parent_data_2,
1582 		.num_parents = ARRAY_SIZE(gcc_parent_data_2),
1583 		.flags = CLK_SET_RATE_PARENT,
1584 		.ops = &clk_rcg2_shared_no_init_park_ops,
1585 	},
1586 };
1587 
1588 static struct clk_rcg2 gcc_pcie_3b_phy_rchng_clk_src = {
1589 	.cmd_rcgr = 0x94088,
1590 	.mnd_width = 0,
1591 	.hid_width = 5,
1592 	.parent_map = gcc_parent_map_0,
1593 	.freq_tbl = ftbl_gcc_pcie_0_phy_rchng_clk_src,
1594 	.clkr.hw.init = &(const struct clk_init_data) {
1595 		.name = "gcc_pcie_3b_phy_rchng_clk_src",
1596 		.parent_data = gcc_parent_data_0,
1597 		.num_parents = ARRAY_SIZE(gcc_parent_data_0),
1598 		.flags = CLK_SET_RATE_PARENT,
1599 		.ops = &clk_rcg2_shared_no_init_park_ops,
1600 	},
1601 };
1602 
1603 static struct clk_rcg2 gcc_pcie_4_aux_clk_src = {
1604 	.cmd_rcgr = 0x881a8,
1605 	.mnd_width = 16,
1606 	.hid_width = 5,
1607 	.parent_map = gcc_parent_map_2,
1608 	.freq_tbl = ftbl_gcc_pcie_0_aux_clk_src,
1609 	.clkr.hw.init = &(const struct clk_init_data) {
1610 		.name = "gcc_pcie_4_aux_clk_src",
1611 		.parent_data = gcc_parent_data_2,
1612 		.num_parents = ARRAY_SIZE(gcc_parent_data_2),
1613 		.flags = CLK_SET_RATE_PARENT,
1614 		.ops = &clk_rcg2_shared_no_init_park_ops,
1615 	},
1616 };
1617 
1618 static struct clk_rcg2 gcc_pcie_4_phy_rchng_clk_src = {
1619 	.cmd_rcgr = 0x88078,
1620 	.mnd_width = 0,
1621 	.hid_width = 5,
1622 	.parent_map = gcc_parent_map_0,
1623 	.freq_tbl = ftbl_gcc_pcie_0_phy_rchng_clk_src,
1624 	.clkr.hw.init = &(const struct clk_init_data) {
1625 		.name = "gcc_pcie_4_phy_rchng_clk_src",
1626 		.parent_data = gcc_parent_data_0,
1627 		.num_parents = ARRAY_SIZE(gcc_parent_data_0),
1628 		.flags = CLK_SET_RATE_PARENT,
1629 		.ops = &clk_rcg2_shared_no_init_park_ops,
1630 	},
1631 };
1632 
1633 static struct clk_rcg2 gcc_pcie_5_aux_clk_src = {
1634 	.cmd_rcgr = 0xc30a0,
1635 	.mnd_width = 16,
1636 	.hid_width = 5,
1637 	.parent_map = gcc_parent_map_2,
1638 	.freq_tbl = ftbl_gcc_pcie_0_aux_clk_src,
1639 	.clkr.hw.init = &(const struct clk_init_data) {
1640 		.name = "gcc_pcie_5_aux_clk_src",
1641 		.parent_data = gcc_parent_data_2,
1642 		.num_parents = ARRAY_SIZE(gcc_parent_data_2),
1643 		.flags = CLK_SET_RATE_PARENT,
1644 		.ops = &clk_rcg2_shared_no_init_park_ops,
1645 	},
1646 };
1647 
1648 static struct clk_rcg2 gcc_pcie_5_phy_rchng_clk_src = {
1649 	.cmd_rcgr = 0xc3084,
1650 	.mnd_width = 0,
1651 	.hid_width = 5,
1652 	.parent_map = gcc_parent_map_0,
1653 	.freq_tbl = ftbl_gcc_pcie_0_phy_rchng_clk_src,
1654 	.clkr.hw.init = &(const struct clk_init_data) {
1655 		.name = "gcc_pcie_5_phy_rchng_clk_src",
1656 		.parent_data = gcc_parent_data_0,
1657 		.num_parents = ARRAY_SIZE(gcc_parent_data_0),
1658 		.flags = CLK_SET_RATE_PARENT,
1659 		.ops = &clk_rcg2_shared_no_init_park_ops,
1660 	},
1661 };
1662 
1663 static struct clk_rcg2 gcc_pcie_6_aux_clk_src = {
1664 	.cmd_rcgr = 0x8a1a8,
1665 	.mnd_width = 16,
1666 	.hid_width = 5,
1667 	.parent_map = gcc_parent_map_2,
1668 	.freq_tbl = ftbl_gcc_pcie_0_aux_clk_src,
1669 	.clkr.hw.init = &(const struct clk_init_data) {
1670 		.name = "gcc_pcie_6_aux_clk_src",
1671 		.parent_data = gcc_parent_data_2,
1672 		.num_parents = ARRAY_SIZE(gcc_parent_data_2),
1673 		.flags = CLK_SET_RATE_PARENT,
1674 		.ops = &clk_rcg2_shared_no_init_park_ops,
1675 	},
1676 };
1677 
1678 static struct clk_rcg2 gcc_pcie_6_phy_rchng_clk_src = {
1679 	.cmd_rcgr = 0x8a078,
1680 	.mnd_width = 0,
1681 	.hid_width = 5,
1682 	.parent_map = gcc_parent_map_0,
1683 	.freq_tbl = ftbl_gcc_pcie_0_phy_rchng_clk_src,
1684 	.clkr.hw.init = &(const struct clk_init_data) {
1685 		.name = "gcc_pcie_6_phy_rchng_clk_src",
1686 		.parent_data = gcc_parent_data_0,
1687 		.num_parents = ARRAY_SIZE(gcc_parent_data_0),
1688 		.flags = CLK_SET_RATE_PARENT,
1689 		.ops = &clk_rcg2_shared_no_init_park_ops,
1690 	},
1691 };
1692 
1693 static struct clk_rcg2 gcc_pcie_phy_3a_aux_clk_src = {
1694 	.cmd_rcgr = 0x6c01c,
1695 	.mnd_width = 16,
1696 	.hid_width = 5,
1697 	.parent_map = gcc_parent_map_2,
1698 	.freq_tbl = ftbl_gcc_pcie_0_aux_clk_src,
1699 	.clkr.hw.init = &(const struct clk_init_data) {
1700 		.name = "gcc_pcie_phy_3a_aux_clk_src",
1701 		.parent_data = gcc_parent_data_2,
1702 		.num_parents = ARRAY_SIZE(gcc_parent_data_2),
1703 		.flags = CLK_SET_RATE_PARENT,
1704 		.ops = &clk_rcg2_shared_no_init_park_ops,
1705 	},
1706 };
1707 
1708 static struct clk_rcg2 gcc_pcie_phy_3b_aux_clk_src = {
1709 	.cmd_rcgr = 0x7501c,
1710 	.mnd_width = 16,
1711 	.hid_width = 5,
1712 	.parent_map = gcc_parent_map_2,
1713 	.freq_tbl = ftbl_gcc_pcie_0_aux_clk_src,
1714 	.clkr.hw.init = &(const struct clk_init_data) {
1715 		.name = "gcc_pcie_phy_3b_aux_clk_src",
1716 		.parent_data = gcc_parent_data_2,
1717 		.num_parents = ARRAY_SIZE(gcc_parent_data_2),
1718 		.flags = CLK_SET_RATE_PARENT,
1719 		.ops = &clk_rcg2_shared_no_init_park_ops,
1720 	},
1721 };
1722 
1723 static struct clk_rcg2 gcc_pcie_phy_4_aux_clk_src = {
1724 	.cmd_rcgr = 0xd3018,
1725 	.mnd_width = 16,
1726 	.hid_width = 5,
1727 	.parent_map = gcc_parent_map_2,
1728 	.freq_tbl = ftbl_gcc_pcie_0_aux_clk_src,
1729 	.clkr.hw.init = &(const struct clk_init_data) {
1730 		.name = "gcc_pcie_phy_4_aux_clk_src",
1731 		.parent_data = gcc_parent_data_2,
1732 		.num_parents = ARRAY_SIZE(gcc_parent_data_2),
1733 		.flags = CLK_SET_RATE_PARENT,
1734 		.ops = &clk_rcg2_shared_no_init_park_ops,
1735 	},
1736 };
1737 
1738 static struct clk_rcg2 gcc_pcie_phy_5_aux_clk_src = {
1739 	.cmd_rcgr = 0xd2018,
1740 	.mnd_width = 16,
1741 	.hid_width = 5,
1742 	.parent_map = gcc_parent_map_2,
1743 	.freq_tbl = ftbl_gcc_pcie_0_aux_clk_src,
1744 	.clkr.hw.init = &(const struct clk_init_data) {
1745 		.name = "gcc_pcie_phy_5_aux_clk_src",
1746 		.parent_data = gcc_parent_data_2,
1747 		.num_parents = ARRAY_SIZE(gcc_parent_data_2),
1748 		.flags = CLK_SET_RATE_PARENT,
1749 		.ops = &clk_rcg2_shared_no_init_park_ops,
1750 	},
1751 };
1752 
1753 static struct clk_rcg2 gcc_pcie_phy_6_aux_clk_src = {
1754 	.cmd_rcgr = 0xd4018,
1755 	.mnd_width = 16,
1756 	.hid_width = 5,
1757 	.parent_map = gcc_parent_map_2,
1758 	.freq_tbl = ftbl_gcc_pcie_0_aux_clk_src,
1759 	.clkr.hw.init = &(const struct clk_init_data) {
1760 		.name = "gcc_pcie_phy_6_aux_clk_src",
1761 		.parent_data = gcc_parent_data_2,
1762 		.num_parents = ARRAY_SIZE(gcc_parent_data_2),
1763 		.flags = CLK_SET_RATE_PARENT,
1764 		.ops = &clk_rcg2_shared_no_init_park_ops,
1765 	},
1766 };
1767 
1768 static const struct freq_tbl ftbl_gcc_pdm2_clk_src[] = {
1769 	F(60000000, P_GCC_GPLL0_OUT_MAIN, 10, 0, 0),
1770 	{ }
1771 };
1772 
1773 static struct clk_rcg2 gcc_pdm2_clk_src = {
1774 	.cmd_rcgr = 0x33010,
1775 	.mnd_width = 0,
1776 	.hid_width = 5,
1777 	.parent_map = gcc_parent_map_0,
1778 	.freq_tbl = ftbl_gcc_pdm2_clk_src,
1779 	.clkr.hw.init = &(const struct clk_init_data) {
1780 		.name = "gcc_pdm2_clk_src",
1781 		.parent_data = gcc_parent_data_0,
1782 		.num_parents = ARRAY_SIZE(gcc_parent_data_0),
1783 		.flags = CLK_SET_RATE_PARENT,
1784 		.ops = &clk_rcg2_shared_no_init_park_ops,
1785 	},
1786 };
1787 
1788 static const struct freq_tbl ftbl_gcc_qupv3_oob_qspi_s0_clk_src[] = {
1789 	F(7372800, P_GCC_GPLL0_OUT_EVEN, 1, 384, 15625),
1790 	F(14745600, P_GCC_GPLL0_OUT_EVEN, 1, 768, 15625),
1791 	F(19200000, P_BI_TCXO, 1, 0, 0),
1792 	F(29491200, P_GCC_GPLL0_OUT_EVEN, 1, 1536, 15625),
1793 	F(32000000, P_GCC_GPLL0_OUT_EVEN, 1, 8, 75),
1794 	F(48000000, P_GCC_GPLL0_OUT_EVEN, 1, 4, 25),
1795 	F(64000000, P_GCC_GPLL0_OUT_EVEN, 1, 16, 75),
1796 	F(75000000, P_GCC_GPLL0_OUT_EVEN, 4, 0, 0),
1797 	F(80000000, P_GCC_GPLL0_OUT_EVEN, 1, 4, 15),
1798 	F(96000000, P_GCC_GPLL0_OUT_EVEN, 1, 8, 25),
1799 	F(100000000, P_GCC_GPLL0_OUT_MAIN, 6, 0, 0),
1800 	F(120000000, P_GCC_GPLL0_OUT_MAIN, 5, 0, 0),
1801 	F(150000000, P_GCC_GPLL0_OUT_EVEN, 2, 0, 0),
1802 	F(200000000, P_GCC_GPLL0_OUT_MAIN, 3, 0, 0),
1803 	F(403000000, P_GCC_GPLL4_OUT_MAIN, 2, 0, 0),
1804 	{ }
1805 };
1806 
1807 static struct clk_init_data gcc_qupv3_oob_qspi_s0_clk_src_init = {
1808 	.name = "gcc_qupv3_oob_qspi_s0_clk_src",
1809 	.parent_data = gcc_parent_data_3,
1810 	.num_parents = ARRAY_SIZE(gcc_parent_data_3),
1811 	.flags = CLK_SET_RATE_PARENT,
1812 	.ops = &clk_rcg2_shared_no_init_park_ops,
1813 };
1814 
1815 static struct clk_rcg2 gcc_qupv3_oob_qspi_s0_clk_src = {
1816 	.cmd_rcgr = 0xe7044,
1817 	.mnd_width = 16,
1818 	.hid_width = 5,
1819 	.parent_map = gcc_parent_map_3,
1820 	.freq_tbl = ftbl_gcc_qupv3_oob_qspi_s0_clk_src,
1821 	.clkr.hw.init = &gcc_qupv3_oob_qspi_s0_clk_src_init,
1822 };
1823 
1824 static const struct freq_tbl ftbl_gcc_qupv3_oob_qspi_s1_clk_src[] = {
1825 	F(7372800, P_GCC_GPLL0_OUT_EVEN, 1, 384, 15625),
1826 	F(14745600, P_GCC_GPLL0_OUT_EVEN, 1, 768, 15625),
1827 	F(19200000, P_BI_TCXO, 1, 0, 0),
1828 	F(29491200, P_GCC_GPLL0_OUT_EVEN, 1, 1536, 15625),
1829 	F(32000000, P_GCC_GPLL0_OUT_EVEN, 1, 8, 75),
1830 	F(48000000, P_GCC_GPLL0_OUT_EVEN, 1, 4, 25),
1831 	F(64000000, P_GCC_GPLL0_OUT_EVEN, 1, 16, 75),
1832 	F(75000000, P_GCC_GPLL0_OUT_EVEN, 4, 0, 0),
1833 	F(80000000, P_GCC_GPLL0_OUT_EVEN, 1, 4, 15),
1834 	F(96000000, P_GCC_GPLL0_OUT_EVEN, 1, 8, 25),
1835 	F(100000000, P_GCC_GPLL0_OUT_MAIN, 6, 0, 0),
1836 	F(120000000, P_GCC_GPLL0_OUT_MAIN, 5, 0, 0),
1837 	F(150000000, P_GCC_GPLL0_OUT_EVEN, 2, 0, 0),
1838 	F(200000000, P_GCC_GPLL0_OUT_MAIN, 3, 0, 0),
1839 	{ }
1840 };
1841 
1842 static struct clk_init_data gcc_qupv3_oob_qspi_s1_clk_src_init = {
1843 	.name = "gcc_qupv3_oob_qspi_s1_clk_src",
1844 	.parent_data = gcc_parent_data_1,
1845 	.num_parents = ARRAY_SIZE(gcc_parent_data_1),
1846 	.flags = CLK_SET_RATE_PARENT,
1847 	.ops = &clk_rcg2_shared_no_init_park_ops,
1848 };
1849 
1850 static struct clk_rcg2 gcc_qupv3_oob_qspi_s1_clk_src = {
1851 	.cmd_rcgr = 0xe7170,
1852 	.mnd_width = 16,
1853 	.hid_width = 5,
1854 	.parent_map = gcc_parent_map_1,
1855 	.freq_tbl = ftbl_gcc_qupv3_oob_qspi_s1_clk_src,
1856 	.clkr.hw.init = &gcc_qupv3_oob_qspi_s1_clk_src_init,
1857 };
1858 
1859 static struct clk_init_data gcc_qupv3_wrap0_qspi_s2_clk_src_init = {
1860 	.name = "gcc_qupv3_wrap0_qspi_s2_clk_src",
1861 	.parent_data = gcc_parent_data_1,
1862 	.num_parents = ARRAY_SIZE(gcc_parent_data_1),
1863 	.flags = CLK_SET_RATE_PARENT,
1864 	.ops = &clk_rcg2_shared_no_init_park_ops,
1865 };
1866 
1867 static struct clk_rcg2 gcc_qupv3_wrap0_qspi_s2_clk_src = {
1868 	.cmd_rcgr = 0x287a0,
1869 	.mnd_width = 16,
1870 	.hid_width = 5,
1871 	.parent_map = gcc_parent_map_1,
1872 	.freq_tbl = ftbl_gcc_qupv3_oob_qspi_s1_clk_src,
1873 	.clkr.hw.init = &gcc_qupv3_wrap0_qspi_s2_clk_src_init,
1874 };
1875 
1876 static struct clk_init_data gcc_qupv3_wrap0_qspi_s3_clk_src_init = {
1877 	.name = "gcc_qupv3_wrap0_qspi_s3_clk_src",
1878 	.parent_data = gcc_parent_data_1,
1879 	.num_parents = ARRAY_SIZE(gcc_parent_data_1),
1880 	.flags = CLK_SET_RATE_PARENT,
1881 	.ops = &clk_rcg2_shared_no_init_park_ops,
1882 };
1883 
1884 static struct clk_rcg2 gcc_qupv3_wrap0_qspi_s3_clk_src = {
1885 	.cmd_rcgr = 0x288d0,
1886 	.mnd_width = 16,
1887 	.hid_width = 5,
1888 	.parent_map = gcc_parent_map_1,
1889 	.freq_tbl = ftbl_gcc_qupv3_oob_qspi_s1_clk_src,
1890 	.clkr.hw.init = &gcc_qupv3_wrap0_qspi_s3_clk_src_init,
1891 };
1892 
1893 static struct clk_init_data gcc_qupv3_wrap0_qspi_s6_clk_src_init = {
1894 	.name = "gcc_qupv3_wrap0_qspi_s6_clk_src",
1895 	.parent_data = gcc_parent_data_1,
1896 	.num_parents = ARRAY_SIZE(gcc_parent_data_1),
1897 	.flags = CLK_SET_RATE_PARENT,
1898 	.ops = &clk_rcg2_shared_no_init_park_ops,
1899 };
1900 
1901 static struct clk_rcg2 gcc_qupv3_wrap0_qspi_s6_clk_src = {
1902 	.cmd_rcgr = 0x2866c,
1903 	.mnd_width = 16,
1904 	.hid_width = 5,
1905 	.parent_map = gcc_parent_map_1,
1906 	.freq_tbl = ftbl_gcc_qupv3_oob_qspi_s1_clk_src,
1907 	.clkr.hw.init = &gcc_qupv3_wrap0_qspi_s6_clk_src_init,
1908 };
1909 
1910 static const struct freq_tbl ftbl_gcc_qupv3_wrap0_s0_clk_src[] = {
1911 	F(7372800, P_GCC_GPLL0_OUT_EVEN, 1, 384, 15625),
1912 	F(14745600, P_GCC_GPLL0_OUT_EVEN, 1, 768, 15625),
1913 	F(19200000, P_BI_TCXO, 1, 0, 0),
1914 	F(29491200, P_GCC_GPLL0_OUT_EVEN, 1, 1536, 15625),
1915 	F(32000000, P_GCC_GPLL0_OUT_EVEN, 1, 8, 75),
1916 	F(48000000, P_GCC_GPLL0_OUT_EVEN, 1, 4, 25),
1917 	F(64000000, P_GCC_GPLL0_OUT_EVEN, 1, 16, 75),
1918 	F(75000000, P_GCC_GPLL0_OUT_EVEN, 4, 0, 0),
1919 	F(80000000, P_GCC_GPLL0_OUT_EVEN, 1, 4, 15),
1920 	F(96000000, P_GCC_GPLL0_OUT_EVEN, 1, 8, 25),
1921 	F(100000000, P_GCC_GPLL0_OUT_MAIN, 6, 0, 0),
1922 	F(120000000, P_GCC_GPLL0_OUT_MAIN, 5, 0, 0),
1923 	{ }
1924 };
1925 
1926 static struct clk_init_data gcc_qupv3_wrap0_s0_clk_src_init = {
1927 	.name = "gcc_qupv3_wrap0_s0_clk_src",
1928 	.parent_data = gcc_parent_data_1,
1929 	.num_parents = ARRAY_SIZE(gcc_parent_data_1),
1930 	.flags = CLK_SET_RATE_PARENT,
1931 	.ops = &clk_rcg2_shared_no_init_park_ops,
1932 };
1933 
1934 static struct clk_rcg2 gcc_qupv3_wrap0_s0_clk_src = {
1935 	.cmd_rcgr = 0x28014,
1936 	.mnd_width = 16,
1937 	.hid_width = 5,
1938 	.parent_map = gcc_parent_map_1,
1939 	.freq_tbl = ftbl_gcc_qupv3_wrap0_s0_clk_src,
1940 	.clkr.hw.init = &gcc_qupv3_wrap0_s0_clk_src_init,
1941 };
1942 
1943 static struct clk_init_data gcc_qupv3_wrap0_s1_clk_src_init = {
1944 	.name = "gcc_qupv3_wrap0_s1_clk_src",
1945 	.parent_data = gcc_parent_data_1,
1946 	.num_parents = ARRAY_SIZE(gcc_parent_data_1),
1947 	.flags = CLK_SET_RATE_PARENT,
1948 	.ops = &clk_rcg2_shared_no_init_park_ops,
1949 };
1950 
1951 static struct clk_rcg2 gcc_qupv3_wrap0_s1_clk_src = {
1952 	.cmd_rcgr = 0x28150,
1953 	.mnd_width = 16,
1954 	.hid_width = 5,
1955 	.parent_map = gcc_parent_map_1,
1956 	.freq_tbl = ftbl_gcc_qupv3_wrap0_s0_clk_src,
1957 	.clkr.hw.init = &gcc_qupv3_wrap0_s1_clk_src_init,
1958 };
1959 
1960 static const struct freq_tbl ftbl_gcc_qupv3_wrap0_s4_clk_src[] = {
1961 	F(7372800, P_GCC_GPLL0_OUT_EVEN, 1, 384, 15625),
1962 	F(14745600, P_GCC_GPLL0_OUT_EVEN, 1, 768, 15625),
1963 	F(19200000, P_BI_TCXO, 1, 0, 0),
1964 	F(29491200, P_GCC_GPLL0_OUT_EVEN, 1, 1536, 15625),
1965 	F(32000000, P_GCC_GPLL0_OUT_EVEN, 1, 8, 75),
1966 	F(48000000, P_GCC_GPLL0_OUT_EVEN, 1, 4, 25),
1967 	F(64000000, P_GCC_GPLL0_OUT_EVEN, 1, 16, 75),
1968 	F(75000000, P_GCC_GPLL0_OUT_EVEN, 4, 0, 0),
1969 	F(80000000, P_GCC_GPLL0_OUT_EVEN, 1, 4, 15),
1970 	F(96000000, P_GCC_GPLL0_OUT_EVEN, 1, 8, 25),
1971 	F(100000000, P_GCC_GPLL0_OUT_MAIN, 6, 0, 0),
1972 	{ }
1973 };
1974 
1975 static struct clk_init_data gcc_qupv3_wrap0_s4_clk_src_init = {
1976 	.name = "gcc_qupv3_wrap0_s4_clk_src",
1977 	.parent_data = gcc_parent_data_1,
1978 	.num_parents = ARRAY_SIZE(gcc_parent_data_1),
1979 	.flags = CLK_SET_RATE_PARENT,
1980 	.ops = &clk_rcg2_shared_no_init_park_ops,
1981 };
1982 
1983 static struct clk_rcg2 gcc_qupv3_wrap0_s4_clk_src = {
1984 	.cmd_rcgr = 0x282b4,
1985 	.mnd_width = 16,
1986 	.hid_width = 5,
1987 	.parent_map = gcc_parent_map_1,
1988 	.freq_tbl = ftbl_gcc_qupv3_wrap0_s4_clk_src,
1989 	.clkr.hw.init = &gcc_qupv3_wrap0_s4_clk_src_init,
1990 };
1991 
1992 static struct clk_init_data gcc_qupv3_wrap0_s5_clk_src_init = {
1993 	.name = "gcc_qupv3_wrap0_s5_clk_src",
1994 	.parent_data = gcc_parent_data_1,
1995 	.num_parents = ARRAY_SIZE(gcc_parent_data_1),
1996 	.flags = CLK_SET_RATE_PARENT,
1997 	.ops = &clk_rcg2_shared_no_init_park_ops,
1998 };
1999 
2000 static struct clk_rcg2 gcc_qupv3_wrap0_s5_clk_src = {
2001 	.cmd_rcgr = 0x283f0,
2002 	.mnd_width = 16,
2003 	.hid_width = 5,
2004 	.parent_map = gcc_parent_map_1,
2005 	.freq_tbl = ftbl_gcc_qupv3_wrap0_s4_clk_src,
2006 	.clkr.hw.init = &gcc_qupv3_wrap0_s5_clk_src_init,
2007 };
2008 
2009 static struct clk_init_data gcc_qupv3_wrap0_s7_clk_src_init = {
2010 	.name = "gcc_qupv3_wrap0_s7_clk_src",
2011 	.parent_data = gcc_parent_data_1,
2012 	.num_parents = ARRAY_SIZE(gcc_parent_data_1),
2013 	.flags = CLK_SET_RATE_PARENT,
2014 	.ops = &clk_rcg2_shared_no_init_park_ops,
2015 };
2016 
2017 static struct clk_rcg2 gcc_qupv3_wrap0_s7_clk_src = {
2018 	.cmd_rcgr = 0x28540,
2019 	.mnd_width = 16,
2020 	.hid_width = 5,
2021 	.parent_map = gcc_parent_map_1,
2022 	.freq_tbl = ftbl_gcc_qupv3_wrap0_s4_clk_src,
2023 	.clkr.hw.init = &gcc_qupv3_wrap0_s7_clk_src_init,
2024 };
2025 
2026 static struct clk_init_data gcc_qupv3_wrap1_qspi_s2_clk_src_init = {
2027 	.name = "gcc_qupv3_wrap1_qspi_s2_clk_src",
2028 	.parent_data = gcc_parent_data_1,
2029 	.num_parents = ARRAY_SIZE(gcc_parent_data_1),
2030 	.flags = CLK_SET_RATE_PARENT,
2031 	.ops = &clk_rcg2_shared_no_init_park_ops,
2032 };
2033 
2034 static struct clk_rcg2 gcc_qupv3_wrap1_qspi_s2_clk_src = {
2035 	.cmd_rcgr = 0xb37a0,
2036 	.mnd_width = 16,
2037 	.hid_width = 5,
2038 	.parent_map = gcc_parent_map_1,
2039 	.freq_tbl = ftbl_gcc_qupv3_oob_qspi_s1_clk_src,
2040 	.clkr.hw.init = &gcc_qupv3_wrap1_qspi_s2_clk_src_init,
2041 };
2042 
2043 static struct clk_init_data gcc_qupv3_wrap1_qspi_s3_clk_src_init = {
2044 	.name = "gcc_qupv3_wrap1_qspi_s3_clk_src",
2045 	.parent_data = gcc_parent_data_1,
2046 	.num_parents = ARRAY_SIZE(gcc_parent_data_1),
2047 	.flags = CLK_SET_RATE_PARENT,
2048 	.ops = &clk_rcg2_shared_no_init_park_ops,
2049 };
2050 
2051 static struct clk_rcg2 gcc_qupv3_wrap1_qspi_s3_clk_src = {
2052 	.cmd_rcgr = 0xb38d0,
2053 	.mnd_width = 16,
2054 	.hid_width = 5,
2055 	.parent_map = gcc_parent_map_1,
2056 	.freq_tbl = ftbl_gcc_qupv3_oob_qspi_s1_clk_src,
2057 	.clkr.hw.init = &gcc_qupv3_wrap1_qspi_s3_clk_src_init,
2058 };
2059 
2060 static struct clk_init_data gcc_qupv3_wrap1_qspi_s6_clk_src_init = {
2061 	.name = "gcc_qupv3_wrap1_qspi_s6_clk_src",
2062 	.parent_data = gcc_parent_data_1,
2063 	.num_parents = ARRAY_SIZE(gcc_parent_data_1),
2064 	.flags = CLK_SET_RATE_PARENT,
2065 	.ops = &clk_rcg2_shared_no_init_park_ops,
2066 };
2067 
2068 static struct clk_rcg2 gcc_qupv3_wrap1_qspi_s6_clk_src = {
2069 	.cmd_rcgr = 0xb366c,
2070 	.mnd_width = 16,
2071 	.hid_width = 5,
2072 	.parent_map = gcc_parent_map_1,
2073 	.freq_tbl = ftbl_gcc_qupv3_oob_qspi_s1_clk_src,
2074 	.clkr.hw.init = &gcc_qupv3_wrap1_qspi_s6_clk_src_init,
2075 };
2076 
2077 static struct clk_init_data gcc_qupv3_wrap1_s0_clk_src_init = {
2078 	.name = "gcc_qupv3_wrap1_s0_clk_src",
2079 	.parent_data = gcc_parent_data_1,
2080 	.num_parents = ARRAY_SIZE(gcc_parent_data_1),
2081 	.flags = CLK_SET_RATE_PARENT,
2082 	.ops = &clk_rcg2_shared_no_init_park_ops,
2083 };
2084 
2085 static struct clk_rcg2 gcc_qupv3_wrap1_s0_clk_src = {
2086 	.cmd_rcgr = 0xb3014,
2087 	.mnd_width = 16,
2088 	.hid_width = 5,
2089 	.parent_map = gcc_parent_map_1,
2090 	.freq_tbl = ftbl_gcc_qupv3_wrap0_s0_clk_src,
2091 	.clkr.hw.init = &gcc_qupv3_wrap1_s0_clk_src_init,
2092 };
2093 
2094 static struct clk_init_data gcc_qupv3_wrap1_s1_clk_src_init = {
2095 	.name = "gcc_qupv3_wrap1_s1_clk_src",
2096 	.parent_data = gcc_parent_data_1,
2097 	.num_parents = ARRAY_SIZE(gcc_parent_data_1),
2098 	.flags = CLK_SET_RATE_PARENT,
2099 	.ops = &clk_rcg2_shared_no_init_park_ops,
2100 };
2101 
2102 static struct clk_rcg2 gcc_qupv3_wrap1_s1_clk_src = {
2103 	.cmd_rcgr = 0xb3150,
2104 	.mnd_width = 16,
2105 	.hid_width = 5,
2106 	.parent_map = gcc_parent_map_1,
2107 	.freq_tbl = ftbl_gcc_qupv3_wrap0_s0_clk_src,
2108 	.clkr.hw.init = &gcc_qupv3_wrap1_s1_clk_src_init,
2109 };
2110 
2111 static struct clk_init_data gcc_qupv3_wrap1_s4_clk_src_init = {
2112 	.name = "gcc_qupv3_wrap1_s4_clk_src",
2113 	.parent_data = gcc_parent_data_1,
2114 	.num_parents = ARRAY_SIZE(gcc_parent_data_1),
2115 	.flags = CLK_SET_RATE_PARENT,
2116 	.ops = &clk_rcg2_shared_no_init_park_ops,
2117 };
2118 
2119 static struct clk_rcg2 gcc_qupv3_wrap1_s4_clk_src = {
2120 	.cmd_rcgr = 0xb32b4,
2121 	.mnd_width = 16,
2122 	.hid_width = 5,
2123 	.parent_map = gcc_parent_map_1,
2124 	.freq_tbl = ftbl_gcc_qupv3_wrap0_s4_clk_src,
2125 	.clkr.hw.init = &gcc_qupv3_wrap1_s4_clk_src_init,
2126 };
2127 
2128 static struct clk_init_data gcc_qupv3_wrap1_s5_clk_src_init = {
2129 	.name = "gcc_qupv3_wrap1_s5_clk_src",
2130 	.parent_data = gcc_parent_data_1,
2131 	.num_parents = ARRAY_SIZE(gcc_parent_data_1),
2132 	.flags = CLK_SET_RATE_PARENT,
2133 	.ops = &clk_rcg2_shared_no_init_park_ops,
2134 };
2135 
2136 static struct clk_rcg2 gcc_qupv3_wrap1_s5_clk_src = {
2137 	.cmd_rcgr = 0xb33f0,
2138 	.mnd_width = 16,
2139 	.hid_width = 5,
2140 	.parent_map = gcc_parent_map_1,
2141 	.freq_tbl = ftbl_gcc_qupv3_wrap0_s4_clk_src,
2142 	.clkr.hw.init = &gcc_qupv3_wrap1_s5_clk_src_init,
2143 };
2144 
2145 static struct clk_init_data gcc_qupv3_wrap1_s7_clk_src_init = {
2146 	.name = "gcc_qupv3_wrap1_s7_clk_src",
2147 	.parent_data = gcc_parent_data_1,
2148 	.num_parents = ARRAY_SIZE(gcc_parent_data_1),
2149 	.flags = CLK_SET_RATE_PARENT,
2150 	.ops = &clk_rcg2_shared_no_init_park_ops,
2151 };
2152 
2153 static struct clk_rcg2 gcc_qupv3_wrap1_s7_clk_src = {
2154 	.cmd_rcgr = 0xb3540,
2155 	.mnd_width = 16,
2156 	.hid_width = 5,
2157 	.parent_map = gcc_parent_map_1,
2158 	.freq_tbl = ftbl_gcc_qupv3_wrap0_s4_clk_src,
2159 	.clkr.hw.init = &gcc_qupv3_wrap1_s7_clk_src_init,
2160 };
2161 
2162 static struct clk_init_data gcc_qupv3_wrap2_qspi_s2_clk_src_init = {
2163 	.name = "gcc_qupv3_wrap2_qspi_s2_clk_src",
2164 	.parent_data = gcc_parent_data_1,
2165 	.num_parents = ARRAY_SIZE(gcc_parent_data_1),
2166 	.flags = CLK_SET_RATE_PARENT,
2167 	.ops = &clk_rcg2_shared_no_init_park_ops,
2168 };
2169 
2170 static struct clk_rcg2 gcc_qupv3_wrap2_qspi_s2_clk_src = {
2171 	.cmd_rcgr = 0xb47a0,
2172 	.mnd_width = 16,
2173 	.hid_width = 5,
2174 	.parent_map = gcc_parent_map_1,
2175 	.freq_tbl = ftbl_gcc_qupv3_oob_qspi_s1_clk_src,
2176 	.clkr.hw.init = &gcc_qupv3_wrap2_qspi_s2_clk_src_init,
2177 };
2178 
2179 static struct clk_init_data gcc_qupv3_wrap2_qspi_s3_clk_src_init = {
2180 	.name = "gcc_qupv3_wrap2_qspi_s3_clk_src",
2181 	.parent_data = gcc_parent_data_1,
2182 	.num_parents = ARRAY_SIZE(gcc_parent_data_1),
2183 	.flags = CLK_SET_RATE_PARENT,
2184 	.ops = &clk_rcg2_shared_no_init_park_ops,
2185 };
2186 
2187 static struct clk_rcg2 gcc_qupv3_wrap2_qspi_s3_clk_src = {
2188 	.cmd_rcgr = 0xb48d0,
2189 	.mnd_width = 16,
2190 	.hid_width = 5,
2191 	.parent_map = gcc_parent_map_1,
2192 	.freq_tbl = ftbl_gcc_qupv3_oob_qspi_s1_clk_src,
2193 	.clkr.hw.init = &gcc_qupv3_wrap2_qspi_s3_clk_src_init,
2194 };
2195 
2196 static struct clk_init_data gcc_qupv3_wrap2_qspi_s6_clk_src_init = {
2197 	.name = "gcc_qupv3_wrap2_qspi_s6_clk_src",
2198 	.parent_data = gcc_parent_data_1,
2199 	.num_parents = ARRAY_SIZE(gcc_parent_data_1),
2200 	.flags = CLK_SET_RATE_PARENT,
2201 	.ops = &clk_rcg2_shared_no_init_park_ops,
2202 };
2203 
2204 static struct clk_rcg2 gcc_qupv3_wrap2_qspi_s6_clk_src = {
2205 	.cmd_rcgr = 0xb466c,
2206 	.mnd_width = 16,
2207 	.hid_width = 5,
2208 	.parent_map = gcc_parent_map_1,
2209 	.freq_tbl = ftbl_gcc_qupv3_oob_qspi_s1_clk_src,
2210 	.clkr.hw.init = &gcc_qupv3_wrap2_qspi_s6_clk_src_init,
2211 };
2212 
2213 static struct clk_init_data gcc_qupv3_wrap2_s0_clk_src_init = {
2214 	.name = "gcc_qupv3_wrap2_s0_clk_src",
2215 	.parent_data = gcc_parent_data_1,
2216 	.num_parents = ARRAY_SIZE(gcc_parent_data_1),
2217 	.flags = CLK_SET_RATE_PARENT,
2218 	.ops = &clk_rcg2_shared_no_init_park_ops,
2219 };
2220 
2221 static struct clk_rcg2 gcc_qupv3_wrap2_s0_clk_src = {
2222 	.cmd_rcgr = 0xb4014,
2223 	.mnd_width = 16,
2224 	.hid_width = 5,
2225 	.parent_map = gcc_parent_map_1,
2226 	.freq_tbl = ftbl_gcc_qupv3_wrap0_s0_clk_src,
2227 	.clkr.hw.init = &gcc_qupv3_wrap2_s0_clk_src_init,
2228 };
2229 
2230 static struct clk_init_data gcc_qupv3_wrap2_s1_clk_src_init = {
2231 	.name = "gcc_qupv3_wrap2_s1_clk_src",
2232 	.parent_data = gcc_parent_data_1,
2233 	.num_parents = ARRAY_SIZE(gcc_parent_data_1),
2234 	.flags = CLK_SET_RATE_PARENT,
2235 	.ops = &clk_rcg2_shared_no_init_park_ops,
2236 };
2237 
2238 static struct clk_rcg2 gcc_qupv3_wrap2_s1_clk_src = {
2239 	.cmd_rcgr = 0xb4150,
2240 	.mnd_width = 16,
2241 	.hid_width = 5,
2242 	.parent_map = gcc_parent_map_1,
2243 	.freq_tbl = ftbl_gcc_qupv3_wrap0_s0_clk_src,
2244 	.clkr.hw.init = &gcc_qupv3_wrap2_s1_clk_src_init,
2245 };
2246 
2247 static struct clk_init_data gcc_qupv3_wrap2_s4_clk_src_init = {
2248 	.name = "gcc_qupv3_wrap2_s4_clk_src",
2249 	.parent_data = gcc_parent_data_1,
2250 	.num_parents = ARRAY_SIZE(gcc_parent_data_1),
2251 	.flags = CLK_SET_RATE_PARENT,
2252 	.ops = &clk_rcg2_shared_no_init_park_ops,
2253 };
2254 
2255 static struct clk_rcg2 gcc_qupv3_wrap2_s4_clk_src = {
2256 	.cmd_rcgr = 0xb42b4,
2257 	.mnd_width = 16,
2258 	.hid_width = 5,
2259 	.parent_map = gcc_parent_map_1,
2260 	.freq_tbl = ftbl_gcc_qupv3_wrap0_s4_clk_src,
2261 	.clkr.hw.init = &gcc_qupv3_wrap2_s4_clk_src_init,
2262 };
2263 
2264 static struct clk_init_data gcc_qupv3_wrap2_s5_clk_src_init = {
2265 	.name = "gcc_qupv3_wrap2_s5_clk_src",
2266 	.parent_data = gcc_parent_data_1,
2267 	.num_parents = ARRAY_SIZE(gcc_parent_data_1),
2268 	.flags = CLK_SET_RATE_PARENT,
2269 	.ops = &clk_rcg2_shared_no_init_park_ops,
2270 };
2271 
2272 static struct clk_rcg2 gcc_qupv3_wrap2_s5_clk_src = {
2273 	.cmd_rcgr = 0xb43f0,
2274 	.mnd_width = 16,
2275 	.hid_width = 5,
2276 	.parent_map = gcc_parent_map_1,
2277 	.freq_tbl = ftbl_gcc_qupv3_wrap0_s4_clk_src,
2278 	.clkr.hw.init = &gcc_qupv3_wrap2_s5_clk_src_init,
2279 };
2280 
2281 static struct clk_init_data gcc_qupv3_wrap2_s7_clk_src_init = {
2282 	.name = "gcc_qupv3_wrap2_s7_clk_src",
2283 	.parent_data = gcc_parent_data_1,
2284 	.num_parents = ARRAY_SIZE(gcc_parent_data_1),
2285 	.flags = CLK_SET_RATE_PARENT,
2286 	.ops = &clk_rcg2_shared_no_init_park_ops,
2287 };
2288 
2289 static struct clk_rcg2 gcc_qupv3_wrap2_s7_clk_src = {
2290 	.cmd_rcgr = 0xb4540,
2291 	.mnd_width = 16,
2292 	.hid_width = 5,
2293 	.parent_map = gcc_parent_map_1,
2294 	.freq_tbl = ftbl_gcc_qupv3_wrap0_s4_clk_src,
2295 	.clkr.hw.init = &gcc_qupv3_wrap2_s7_clk_src_init,
2296 };
2297 
2298 static const struct freq_tbl ftbl_gcc_sdcc2_apps_clk_src[] = {
2299 	F(400000, P_BI_TCXO, 12, 1, 4),
2300 	F(25000000, P_GCC_GPLL0_OUT_EVEN, 12, 0, 0),
2301 	F(50000000, P_GCC_GPLL0_OUT_EVEN, 6, 0, 0),
2302 	F(100000000, P_GCC_GPLL0_OUT_EVEN, 3, 0, 0),
2303 	F(202000000, P_GCC_GPLL9_OUT_MAIN, 4, 0, 0),
2304 	{ }
2305 };
2306 
2307 static struct clk_rcg2 gcc_sdcc2_apps_clk_src = {
2308 	.cmd_rcgr = 0xb001c,
2309 	.mnd_width = 8,
2310 	.hid_width = 5,
2311 	.parent_map = gcc_parent_map_17,
2312 	.freq_tbl = ftbl_gcc_sdcc2_apps_clk_src,
2313 	.clkr.hw.init = &(const struct clk_init_data) {
2314 		.name = "gcc_sdcc2_apps_clk_src",
2315 		.parent_data = gcc_parent_data_17,
2316 		.num_parents = ARRAY_SIZE(gcc_parent_data_17),
2317 		.flags = CLK_SET_RATE_PARENT,
2318 		.ops = &clk_rcg2_shared_floor_ops,
2319 	},
2320 };
2321 
2322 static const struct freq_tbl ftbl_gcc_sdcc4_apps_clk_src[] = {
2323 	F(400000, P_BI_TCXO, 12, 1, 4),
2324 	F(25000000, P_GCC_GPLL0_OUT_EVEN, 12, 0, 0),
2325 	F(75000000, P_GCC_GPLL0_OUT_MAIN, 8, 0, 0),
2326 	{ }
2327 };
2328 
2329 static struct clk_rcg2 gcc_sdcc4_apps_clk_src = {
2330 	.cmd_rcgr = 0xdf01c,
2331 	.mnd_width = 8,
2332 	.hid_width = 5,
2333 	.parent_map = gcc_parent_map_3,
2334 	.freq_tbl = ftbl_gcc_sdcc4_apps_clk_src,
2335 	.clkr.hw.init = &(const struct clk_init_data) {
2336 		.name = "gcc_sdcc4_apps_clk_src",
2337 		.parent_data = gcc_parent_data_3,
2338 		.num_parents = ARRAY_SIZE(gcc_parent_data_3),
2339 		.flags = CLK_SET_RATE_PARENT,
2340 		.ops = &clk_rcg2_shared_floor_ops,
2341 	},
2342 };
2343 
2344 static const struct freq_tbl ftbl_gcc_ufs_phy_axi_clk_src[] = {
2345 	F(25000000, P_GCC_GPLL0_OUT_EVEN, 12, 0, 0),
2346 	F(100000000, P_GCC_GPLL0_OUT_EVEN, 3, 0, 0),
2347 	F(201500000, P_GCC_GPLL4_OUT_MAIN, 4, 0, 0),
2348 	F(403000000, P_GCC_GPLL4_OUT_MAIN, 2, 0, 0),
2349 	{ }
2350 };
2351 
2352 static struct clk_rcg2 gcc_ufs_phy_axi_clk_src = {
2353 	.cmd_rcgr = 0x77038,
2354 	.mnd_width = 8,
2355 	.hid_width = 5,
2356 	.parent_map = gcc_parent_map_6,
2357 	.freq_tbl = ftbl_gcc_ufs_phy_axi_clk_src,
2358 	.clkr.hw.init = &(const struct clk_init_data) {
2359 		.name = "gcc_ufs_phy_axi_clk_src",
2360 		.parent_data = gcc_parent_data_6,
2361 		.num_parents = ARRAY_SIZE(gcc_parent_data_6),
2362 		.flags = CLK_SET_RATE_PARENT,
2363 		.ops = &clk_rcg2_shared_no_init_park_ops,
2364 	},
2365 };
2366 
2367 static const struct freq_tbl ftbl_gcc_ufs_phy_ice_core_clk_src[] = {
2368 	F(100000000, P_GCC_GPLL0_OUT_EVEN, 3, 0, 0),
2369 	F(201500000, P_GCC_GPLL4_OUT_MAIN, 4, 0, 0),
2370 	F(403000000, P_GCC_GPLL4_OUT_MAIN, 2, 0, 0),
2371 	{ }
2372 };
2373 
2374 static struct clk_rcg2 gcc_ufs_phy_ice_core_clk_src = {
2375 	.cmd_rcgr = 0x77090,
2376 	.mnd_width = 0,
2377 	.hid_width = 5,
2378 	.parent_map = gcc_parent_map_6,
2379 	.freq_tbl = ftbl_gcc_ufs_phy_ice_core_clk_src,
2380 	.clkr.hw.init = &(const struct clk_init_data) {
2381 		.name = "gcc_ufs_phy_ice_core_clk_src",
2382 		.parent_data = gcc_parent_data_6,
2383 		.num_parents = ARRAY_SIZE(gcc_parent_data_6),
2384 		.flags = CLK_SET_RATE_PARENT,
2385 		.ops = &clk_rcg2_shared_no_init_park_ops,
2386 	},
2387 };
2388 
2389 static struct clk_rcg2 gcc_ufs_phy_phy_aux_clk_src = {
2390 	.cmd_rcgr = 0x770c4,
2391 	.mnd_width = 0,
2392 	.hid_width = 5,
2393 	.parent_map = gcc_parent_map_5,
2394 	.freq_tbl = ftbl_gcc_pcie_0_aux_clk_src,
2395 	.clkr.hw.init = &(const struct clk_init_data) {
2396 		.name = "gcc_ufs_phy_phy_aux_clk_src",
2397 		.parent_data = gcc_parent_data_5,
2398 		.num_parents = ARRAY_SIZE(gcc_parent_data_5),
2399 		.flags = CLK_SET_RATE_PARENT,
2400 		.ops = &clk_rcg2_shared_no_init_park_ops,
2401 	},
2402 };
2403 
2404 static struct clk_rcg2 gcc_ufs_phy_unipro_core_clk_src = {
2405 	.cmd_rcgr = 0x770a8,
2406 	.mnd_width = 0,
2407 	.hid_width = 5,
2408 	.parent_map = gcc_parent_map_6,
2409 	.freq_tbl = ftbl_gcc_ufs_phy_ice_core_clk_src,
2410 	.clkr.hw.init = &(const struct clk_init_data) {
2411 		.name = "gcc_ufs_phy_unipro_core_clk_src",
2412 		.parent_data = gcc_parent_data_6,
2413 		.num_parents = ARRAY_SIZE(gcc_parent_data_6),
2414 		.flags = CLK_SET_RATE_PARENT,
2415 		.ops = &clk_rcg2_shared_no_init_park_ops,
2416 	},
2417 };
2418 
2419 static const struct freq_tbl ftbl_gcc_usb20_master_clk_src[] = {
2420 	F(60000000, P_GCC_GPLL14_OUT_MAIN, 10, 0, 0),
2421 	F(120000000, P_GCC_GPLL14_OUT_MAIN, 5, 0, 0),
2422 	{ }
2423 };
2424 
2425 static struct clk_rcg2 gcc_usb20_master_clk_src = {
2426 	.cmd_rcgr = 0xbc030,
2427 	.mnd_width = 8,
2428 	.hid_width = 5,
2429 	.parent_map = gcc_parent_map_7,
2430 	.freq_tbl = ftbl_gcc_usb20_master_clk_src,
2431 	.clkr.hw.init = &(const struct clk_init_data) {
2432 		.name = "gcc_usb20_master_clk_src",
2433 		.parent_data = gcc_parent_data_7,
2434 		.num_parents = ARRAY_SIZE(gcc_parent_data_7),
2435 		.flags = CLK_SET_RATE_PARENT,
2436 		.ops = &clk_rcg2_shared_no_init_park_ops,
2437 	},
2438 };
2439 
2440 static struct clk_rcg2 gcc_usb20_mock_utmi_clk_src = {
2441 	.cmd_rcgr = 0xbc048,
2442 	.mnd_width = 0,
2443 	.hid_width = 5,
2444 	.parent_map = gcc_parent_map_7,
2445 	.freq_tbl = ftbl_gcc_pcie_0_aux_clk_src,
2446 	.clkr.hw.init = &(const struct clk_init_data) {
2447 		.name = "gcc_usb20_mock_utmi_clk_src",
2448 		.parent_data = gcc_parent_data_7,
2449 		.num_parents = ARRAY_SIZE(gcc_parent_data_7),
2450 		.flags = CLK_SET_RATE_PARENT,
2451 		.ops = &clk_rcg2_shared_no_init_park_ops,
2452 	},
2453 };
2454 
2455 static const struct freq_tbl ftbl_gcc_usb30_mp_master_clk_src[] = {
2456 	F(66666667, P_GCC_GPLL0_OUT_EVEN, 4.5, 0, 0),
2457 	F(133333333, P_GCC_GPLL0_OUT_MAIN, 4.5, 0, 0),
2458 	F(200000000, P_GCC_GPLL0_OUT_MAIN, 3, 0, 0),
2459 	F(240000000, P_GCC_GPLL0_OUT_MAIN, 2.5, 0, 0),
2460 	{ }
2461 };
2462 
2463 static struct clk_rcg2 gcc_usb30_mp_master_clk_src = {
2464 	.cmd_rcgr = 0x9a03c,
2465 	.mnd_width = 8,
2466 	.hid_width = 5,
2467 	.parent_map = gcc_parent_map_0,
2468 	.freq_tbl = ftbl_gcc_usb30_mp_master_clk_src,
2469 	.clkr.hw.init = &(const struct clk_init_data) {
2470 		.name = "gcc_usb30_mp_master_clk_src",
2471 		.parent_data = gcc_parent_data_0,
2472 		.num_parents = ARRAY_SIZE(gcc_parent_data_0),
2473 		.flags = CLK_SET_RATE_PARENT,
2474 		.ops = &clk_rcg2_shared_no_init_park_ops,
2475 	},
2476 };
2477 
2478 static struct clk_rcg2 gcc_usb30_mp_mock_utmi_clk_src = {
2479 	.cmd_rcgr = 0x9a054,
2480 	.mnd_width = 0,
2481 	.hid_width = 5,
2482 	.parent_map = gcc_parent_map_0,
2483 	.freq_tbl = ftbl_gcc_pcie_0_aux_clk_src,
2484 	.clkr.hw.init = &(const struct clk_init_data) {
2485 		.name = "gcc_usb30_mp_mock_utmi_clk_src",
2486 		.parent_data = gcc_parent_data_0,
2487 		.num_parents = ARRAY_SIZE(gcc_parent_data_0),
2488 		.flags = CLK_SET_RATE_PARENT,
2489 		.ops = &clk_rcg2_shared_no_init_park_ops,
2490 	},
2491 };
2492 
2493 static struct clk_rcg2 gcc_usb30_prim_master_clk_src = {
2494 	.cmd_rcgr = 0x3f04c,
2495 	.mnd_width = 8,
2496 	.hid_width = 5,
2497 	.parent_map = gcc_parent_map_0,
2498 	.freq_tbl = ftbl_gcc_usb30_mp_master_clk_src,
2499 	.clkr.hw.init = &(const struct clk_init_data) {
2500 		.name = "gcc_usb30_prim_master_clk_src",
2501 		.parent_data = gcc_parent_data_0,
2502 		.num_parents = ARRAY_SIZE(gcc_parent_data_0),
2503 		.flags = CLK_SET_RATE_PARENT,
2504 		.ops = &clk_rcg2_shared_no_init_park_ops,
2505 	},
2506 };
2507 
2508 static struct clk_rcg2 gcc_usb30_prim_mock_utmi_clk_src = {
2509 	.cmd_rcgr = 0x3f064,
2510 	.mnd_width = 0,
2511 	.hid_width = 5,
2512 	.parent_map = gcc_parent_map_0,
2513 	.freq_tbl = ftbl_gcc_pcie_0_aux_clk_src,
2514 	.clkr.hw.init = &(const struct clk_init_data) {
2515 		.name = "gcc_usb30_prim_mock_utmi_clk_src",
2516 		.parent_data = gcc_parent_data_0,
2517 		.num_parents = ARRAY_SIZE(gcc_parent_data_0),
2518 		.flags = CLK_SET_RATE_PARENT,
2519 		.ops = &clk_rcg2_shared_no_init_park_ops,
2520 	},
2521 };
2522 
2523 static struct clk_rcg2 gcc_usb30_sec_master_clk_src = {
2524 	.cmd_rcgr = 0xe203c,
2525 	.mnd_width = 8,
2526 	.hid_width = 5,
2527 	.parent_map = gcc_parent_map_0,
2528 	.freq_tbl = ftbl_gcc_usb30_mp_master_clk_src,
2529 	.clkr.hw.init = &(const struct clk_init_data) {
2530 		.name = "gcc_usb30_sec_master_clk_src",
2531 		.parent_data = gcc_parent_data_0,
2532 		.num_parents = ARRAY_SIZE(gcc_parent_data_0),
2533 		.flags = CLK_SET_RATE_PARENT,
2534 		.ops = &clk_rcg2_shared_no_init_park_ops,
2535 	},
2536 };
2537 
2538 static struct clk_rcg2 gcc_usb30_sec_mock_utmi_clk_src = {
2539 	.cmd_rcgr = 0xe2054,
2540 	.mnd_width = 0,
2541 	.hid_width = 5,
2542 	.parent_map = gcc_parent_map_0,
2543 	.freq_tbl = ftbl_gcc_pcie_0_aux_clk_src,
2544 	.clkr.hw.init = &(const struct clk_init_data) {
2545 		.name = "gcc_usb30_sec_mock_utmi_clk_src",
2546 		.parent_data = gcc_parent_data_0,
2547 		.num_parents = ARRAY_SIZE(gcc_parent_data_0),
2548 		.flags = CLK_SET_RATE_PARENT,
2549 		.ops = &clk_rcg2_shared_no_init_park_ops,
2550 	},
2551 };
2552 
2553 static struct clk_rcg2 gcc_usb30_tert_master_clk_src = {
2554 	.cmd_rcgr = 0xe103c,
2555 	.mnd_width = 8,
2556 	.hid_width = 5,
2557 	.parent_map = gcc_parent_map_0,
2558 	.freq_tbl = ftbl_gcc_usb30_mp_master_clk_src,
2559 	.clkr.hw.init = &(const struct clk_init_data) {
2560 		.name = "gcc_usb30_tert_master_clk_src",
2561 		.parent_data = gcc_parent_data_0,
2562 		.num_parents = ARRAY_SIZE(gcc_parent_data_0),
2563 		.flags = CLK_SET_RATE_PARENT,
2564 		.ops = &clk_rcg2_shared_no_init_park_ops,
2565 	},
2566 };
2567 
2568 static struct clk_rcg2 gcc_usb30_tert_mock_utmi_clk_src = {
2569 	.cmd_rcgr = 0xe1054,
2570 	.mnd_width = 0,
2571 	.hid_width = 5,
2572 	.parent_map = gcc_parent_map_0,
2573 	.freq_tbl = ftbl_gcc_pcie_0_aux_clk_src,
2574 	.clkr.hw.init = &(const struct clk_init_data) {
2575 		.name = "gcc_usb30_tert_mock_utmi_clk_src",
2576 		.parent_data = gcc_parent_data_0,
2577 		.num_parents = ARRAY_SIZE(gcc_parent_data_0),
2578 		.flags = CLK_SET_RATE_PARENT,
2579 		.ops = &clk_rcg2_shared_no_init_park_ops,
2580 	},
2581 };
2582 
2583 static struct clk_rcg2 gcc_usb3_mp_phy_aux_clk_src = {
2584 	.cmd_rcgr = 0x9a088,
2585 	.mnd_width = 0,
2586 	.hid_width = 5,
2587 	.parent_map = gcc_parent_map_8,
2588 	.freq_tbl = ftbl_gcc_pcie_0_aux_clk_src,
2589 	.clkr.hw.init = &(const struct clk_init_data) {
2590 		.name = "gcc_usb3_mp_phy_aux_clk_src",
2591 		.parent_data = gcc_parent_data_8,
2592 		.num_parents = ARRAY_SIZE(gcc_parent_data_8),
2593 		.flags = CLK_SET_RATE_PARENT,
2594 		.ops = &clk_rcg2_shared_no_init_park_ops,
2595 	},
2596 };
2597 
2598 static struct clk_rcg2 gcc_usb3_prim_phy_aux_clk_src = {
2599 	.cmd_rcgr = 0x3f090,
2600 	.mnd_width = 0,
2601 	.hid_width = 5,
2602 	.parent_map = gcc_parent_map_8,
2603 	.freq_tbl = ftbl_gcc_pcie_0_aux_clk_src,
2604 	.clkr.hw.init = &(const struct clk_init_data) {
2605 		.name = "gcc_usb3_prim_phy_aux_clk_src",
2606 		.parent_data = gcc_parent_data_8,
2607 		.num_parents = ARRAY_SIZE(gcc_parent_data_8),
2608 		.flags = CLK_SET_RATE_PARENT,
2609 		.ops = &clk_rcg2_shared_no_init_park_ops,
2610 	},
2611 };
2612 
2613 static struct clk_rcg2 gcc_usb3_sec_phy_aux_clk_src = {
2614 	.cmd_rcgr = 0xe2080,
2615 	.mnd_width = 0,
2616 	.hid_width = 5,
2617 	.parent_map = gcc_parent_map_8,
2618 	.freq_tbl = ftbl_gcc_pcie_0_aux_clk_src,
2619 	.clkr.hw.init = &(const struct clk_init_data) {
2620 		.name = "gcc_usb3_sec_phy_aux_clk_src",
2621 		.parent_data = gcc_parent_data_8,
2622 		.num_parents = ARRAY_SIZE(gcc_parent_data_8),
2623 		.flags = CLK_SET_RATE_PARENT,
2624 		.ops = &clk_rcg2_shared_no_init_park_ops,
2625 	},
2626 };
2627 
2628 static struct clk_rcg2 gcc_usb3_tert_phy_aux_clk_src = {
2629 	.cmd_rcgr = 0xe1080,
2630 	.mnd_width = 0,
2631 	.hid_width = 5,
2632 	.parent_map = gcc_parent_map_8,
2633 	.freq_tbl = ftbl_gcc_pcie_0_aux_clk_src,
2634 	.clkr.hw.init = &(const struct clk_init_data) {
2635 		.name = "gcc_usb3_tert_phy_aux_clk_src",
2636 		.parent_data = gcc_parent_data_8,
2637 		.num_parents = ARRAY_SIZE(gcc_parent_data_8),
2638 		.flags = CLK_SET_RATE_PARENT,
2639 		.ops = &clk_rcg2_shared_no_init_park_ops,
2640 	},
2641 };
2642 
2643 static const struct freq_tbl ftbl_gcc_usb4_0_master_clk_src[] = {
2644 	F(177666750, P_GCC_GPLL8_OUT_MAIN, 4, 0, 0),
2645 	F(355333500, P_GCC_GPLL8_OUT_MAIN, 2, 0, 0),
2646 	{ }
2647 };
2648 
2649 static struct clk_rcg2 gcc_usb4_0_master_clk_src = {
2650 	.cmd_rcgr = 0x2b02c,
2651 	.mnd_width = 8,
2652 	.hid_width = 5,
2653 	.parent_map = gcc_parent_map_9,
2654 	.freq_tbl = ftbl_gcc_usb4_0_master_clk_src,
2655 	.clkr.hw.init = &(const struct clk_init_data) {
2656 		.name = "gcc_usb4_0_master_clk_src",
2657 		.parent_data = gcc_parent_data_9,
2658 		.num_parents = ARRAY_SIZE(gcc_parent_data_9),
2659 		.flags = CLK_SET_RATE_PARENT,
2660 		.ops = &clk_rcg2_shared_no_init_park_ops,
2661 	},
2662 };
2663 
2664 static const struct freq_tbl ftbl_gcc_usb4_0_phy_pcie_pipe_clk_src[] = {
2665 	F(19200000, P_BI_TCXO, 1, 0, 0),
2666 	F(125000000, P_GCC_GPLL7_OUT_MAIN, 4, 0, 0),
2667 	F(250000000, P_GCC_GPLL7_OUT_MAIN, 2, 0, 0),
2668 	{ }
2669 };
2670 
2671 static struct clk_rcg2 gcc_usb4_0_phy_pcie_pipe_clk_src = {
2672 	.cmd_rcgr = 0x2b104,
2673 	.mnd_width = 0,
2674 	.hid_width = 5,
2675 	.parent_map = gcc_parent_map_32,
2676 	.freq_tbl = ftbl_gcc_usb4_0_phy_pcie_pipe_clk_src,
2677 	.clkr.hw.init = &(const struct clk_init_data) {
2678 		.name = "gcc_usb4_0_phy_pcie_pipe_clk_src",
2679 		.parent_data = gcc_parent_data_32,
2680 		.num_parents = ARRAY_SIZE(gcc_parent_data_32),
2681 		.flags = CLK_SET_RATE_PARENT,
2682 		.ops = &clk_rcg2_shared_no_init_park_ops,
2683 	},
2684 };
2685 
2686 static struct clk_rcg2 gcc_usb4_0_sb_if_clk_src = {
2687 	.cmd_rcgr = 0x2b0a0,
2688 	.mnd_width = 0,
2689 	.hid_width = 5,
2690 	.parent_map = gcc_parent_map_5,
2691 	.freq_tbl = ftbl_gcc_pcie_0_aux_clk_src,
2692 	.clkr.hw.init = &(const struct clk_init_data) {
2693 		.name = "gcc_usb4_0_sb_if_clk_src",
2694 		.parent_data = gcc_parent_data_5,
2695 		.num_parents = ARRAY_SIZE(gcc_parent_data_5),
2696 		.flags = CLK_SET_RATE_PARENT,
2697 		.ops = &clk_rcg2_shared_no_init_park_ops,
2698 	},
2699 };
2700 
2701 static struct clk_rcg2 gcc_usb4_0_tmu_clk_src = {
2702 	.cmd_rcgr = 0x2b084,
2703 	.mnd_width = 0,
2704 	.hid_width = 5,
2705 	.parent_map = gcc_parent_map_10,
2706 	.freq_tbl = ftbl_gcc_usb4_0_phy_pcie_pipe_clk_src,
2707 	.clkr.hw.init = &(const struct clk_init_data) {
2708 		.name = "gcc_usb4_0_tmu_clk_src",
2709 		.parent_data = gcc_parent_data_10,
2710 		.num_parents = ARRAY_SIZE(gcc_parent_data_10),
2711 		.flags = CLK_SET_RATE_PARENT,
2712 		.ops = &clk_rcg2_shared_no_init_park_ops,
2713 	},
2714 };
2715 
2716 static struct clk_rcg2 gcc_usb4_1_master_clk_src = {
2717 	.cmd_rcgr = 0x2d02c,
2718 	.mnd_width = 8,
2719 	.hid_width = 5,
2720 	.parent_map = gcc_parent_map_9,
2721 	.freq_tbl = ftbl_gcc_usb4_0_master_clk_src,
2722 	.clkr.hw.init = &(const struct clk_init_data) {
2723 		.name = "gcc_usb4_1_master_clk_src",
2724 		.parent_data = gcc_parent_data_9,
2725 		.num_parents = ARRAY_SIZE(gcc_parent_data_9),
2726 		.flags = CLK_SET_RATE_PARENT,
2727 		.ops = &clk_rcg2_shared_no_init_park_ops,
2728 	},
2729 };
2730 
2731 static const struct freq_tbl ftbl_gcc_usb4_1_phy_pcie_pipe_clk_src[] = {
2732 	F(19200000, P_BI_TCXO, 1, 0, 0),
2733 	F(177666750, P_GCC_GPLL8_OUT_MAIN, 4, 0, 0),
2734 	F(355333500, P_GCC_GPLL8_OUT_MAIN, 2, 0, 0),
2735 	{ }
2736 };
2737 
2738 static struct clk_rcg2 gcc_usb4_1_phy_pcie_pipe_clk_src = {
2739 	.cmd_rcgr = 0x2d128,
2740 	.mnd_width = 0,
2741 	.hid_width = 5,
2742 	.parent_map = gcc_parent_map_11,
2743 	.freq_tbl = ftbl_gcc_usb4_1_phy_pcie_pipe_clk_src,
2744 	.clkr.hw.init = &(const struct clk_init_data) {
2745 		.name = "gcc_usb4_1_phy_pcie_pipe_clk_src",
2746 		.parent_data = gcc_parent_data_11,
2747 		.num_parents = ARRAY_SIZE(gcc_parent_data_11),
2748 		.flags = CLK_SET_RATE_PARENT,
2749 		.ops = &clk_rcg2_shared_no_init_park_ops,
2750 	},
2751 };
2752 
2753 static const struct freq_tbl ftbl_gcc_usb4_1_phy_pll_pipe_clk_src[] = {
2754 	F(100000000, P_GCC_GPLL0_OUT_EVEN, 3, 0, 0),
2755 	F(311000000, P_GCC_GPLL5_OUT_MAIN, 3, 0, 0),
2756 	{ }
2757 };
2758 
2759 static struct clk_rcg2 gcc_usb4_1_phy_pll_pipe_clk_src = {
2760 	.cmd_rcgr = 0x2d0c8,
2761 	.mnd_width = 0,
2762 	.hid_width = 5,
2763 	.parent_map = gcc_parent_map_41,
2764 	.freq_tbl = ftbl_gcc_usb4_1_phy_pll_pipe_clk_src,
2765 	.clkr.hw.init = &(const struct clk_init_data) {
2766 		.name = "gcc_usb4_1_phy_pll_pipe_clk_src",
2767 		.parent_data = gcc_parent_data_41,
2768 		.num_parents = ARRAY_SIZE(gcc_parent_data_41),
2769 		.flags = CLK_SET_RATE_PARENT,
2770 		.ops = &clk_rcg2_shared_no_init_park_ops,
2771 	},
2772 };
2773 
2774 static struct clk_rcg2 gcc_usb4_1_sb_if_clk_src = {
2775 	.cmd_rcgr = 0x2d0ac,
2776 	.mnd_width = 0,
2777 	.hid_width = 5,
2778 	.parent_map = gcc_parent_map_5,
2779 	.freq_tbl = ftbl_gcc_pcie_0_aux_clk_src,
2780 	.clkr.hw.init = &(const struct clk_init_data) {
2781 		.name = "gcc_usb4_1_sb_if_clk_src",
2782 		.parent_data = gcc_parent_data_5,
2783 		.num_parents = ARRAY_SIZE(gcc_parent_data_5),
2784 		.flags = CLK_SET_RATE_PARENT,
2785 		.ops = &clk_rcg2_shared_no_init_park_ops,
2786 	},
2787 };
2788 
2789 static struct clk_rcg2 gcc_usb4_1_tmu_clk_src = {
2790 	.cmd_rcgr = 0x2d090,
2791 	.mnd_width = 0,
2792 	.hid_width = 5,
2793 	.parent_map = gcc_parent_map_10,
2794 	.freq_tbl = ftbl_gcc_usb4_0_phy_pcie_pipe_clk_src,
2795 	.clkr.hw.init = &(const struct clk_init_data) {
2796 		.name = "gcc_usb4_1_tmu_clk_src",
2797 		.parent_data = gcc_parent_data_10,
2798 		.num_parents = ARRAY_SIZE(gcc_parent_data_10),
2799 		.flags = CLK_SET_RATE_PARENT,
2800 		.ops = &clk_rcg2_shared_no_init_park_ops,
2801 	},
2802 };
2803 
2804 static struct clk_rcg2 gcc_usb4_2_master_clk_src = {
2805 	.cmd_rcgr = 0xe002c,
2806 	.mnd_width = 8,
2807 	.hid_width = 5,
2808 	.parent_map = gcc_parent_map_9,
2809 	.freq_tbl = ftbl_gcc_usb4_0_master_clk_src,
2810 	.clkr.hw.init = &(const struct clk_init_data) {
2811 		.name = "gcc_usb4_2_master_clk_src",
2812 		.parent_data = gcc_parent_data_9,
2813 		.num_parents = ARRAY_SIZE(gcc_parent_data_9),
2814 		.flags = CLK_SET_RATE_PARENT,
2815 		.ops = &clk_rcg2_shared_no_init_park_ops,
2816 	},
2817 };
2818 
2819 static struct clk_rcg2 gcc_usb4_2_phy_pcie_pipe_clk_src = {
2820 	.cmd_rcgr = 0xe0108,
2821 	.mnd_width = 0,
2822 	.hid_width = 5,
2823 	.parent_map = gcc_parent_map_11,
2824 	.freq_tbl = ftbl_gcc_usb4_0_phy_pcie_pipe_clk_src,
2825 	.clkr.hw.init = &(const struct clk_init_data) {
2826 		.name = "gcc_usb4_2_phy_pcie_pipe_clk_src",
2827 		.parent_data = gcc_parent_data_11,
2828 		.num_parents = ARRAY_SIZE(gcc_parent_data_11),
2829 		.flags = CLK_SET_RATE_PARENT,
2830 		.ops = &clk_rcg2_shared_no_init_park_ops,
2831 	},
2832 };
2833 
2834 static struct clk_rcg2 gcc_usb4_2_sb_if_clk_src = {
2835 	.cmd_rcgr = 0xe00a4,
2836 	.mnd_width = 0,
2837 	.hid_width = 5,
2838 	.parent_map = gcc_parent_map_5,
2839 	.freq_tbl = ftbl_gcc_pcie_0_aux_clk_src,
2840 	.clkr.hw.init = &(const struct clk_init_data) {
2841 		.name = "gcc_usb4_2_sb_if_clk_src",
2842 		.parent_data = gcc_parent_data_5,
2843 		.num_parents = ARRAY_SIZE(gcc_parent_data_5),
2844 		.flags = CLK_SET_RATE_PARENT,
2845 		.ops = &clk_rcg2_shared_no_init_park_ops,
2846 	},
2847 };
2848 
2849 static struct clk_rcg2 gcc_usb4_2_tmu_clk_src = {
2850 	.cmd_rcgr = 0xe0088,
2851 	.mnd_width = 0,
2852 	.hid_width = 5,
2853 	.parent_map = gcc_parent_map_10,
2854 	.freq_tbl = ftbl_gcc_usb4_0_phy_pcie_pipe_clk_src,
2855 	.clkr.hw.init = &(const struct clk_init_data) {
2856 		.name = "gcc_usb4_2_tmu_clk_src",
2857 		.parent_data = gcc_parent_data_10,
2858 		.num_parents = ARRAY_SIZE(gcc_parent_data_10),
2859 		.flags = CLK_SET_RATE_PARENT,
2860 		.ops = &clk_rcg2_shared_no_init_park_ops,
2861 	},
2862 };
2863 
2864 static struct clk_regmap_div gcc_pcie_3b_pipe_div_clk_src = {
2865 	.reg = 0x94070,
2866 	.shift = 0,
2867 	.width = 4,
2868 	.clkr.hw.init = &(const struct clk_init_data) {
2869 		.name = "gcc_pcie_3b_pipe_div_clk_src",
2870 		.parent_hws = (const struct clk_hw*[]) {
2871 			&gcc_pcie_3b_pipe_clk_src.clkr.hw,
2872 		},
2873 		.num_parents = 1,
2874 		.flags = CLK_SET_RATE_PARENT,
2875 		.ops = &clk_regmap_div_ro_ops,
2876 	},
2877 };
2878 
2879 static struct clk_regmap_div gcc_pcie_4_pipe_div_clk_src = {
2880 	.reg = 0x88060,
2881 	.shift = 0,
2882 	.width = 4,
2883 	.clkr.hw.init = &(const struct clk_init_data) {
2884 		.name = "gcc_pcie_4_pipe_div_clk_src",
2885 		.parent_hws = (const struct clk_hw*[]) {
2886 			&gcc_pcie_4_pipe_clk_src.clkr.hw,
2887 		},
2888 		.num_parents = 1,
2889 		.flags = CLK_SET_RATE_PARENT,
2890 		.ops = &clk_regmap_div_ro_ops,
2891 	},
2892 };
2893 
2894 static struct clk_regmap_div gcc_pcie_5_pipe_div_clk_src = {
2895 	.reg = 0xc306c,
2896 	.shift = 0,
2897 	.width = 4,
2898 	.clkr.hw.init = &(const struct clk_init_data) {
2899 		.name = "gcc_pcie_5_pipe_div_clk_src",
2900 		.parent_hws = (const struct clk_hw*[]) {
2901 			&gcc_pcie_5_pipe_clk_src.clkr.hw,
2902 		},
2903 		.num_parents = 1,
2904 		.flags = CLK_SET_RATE_PARENT,
2905 		.ops = &clk_regmap_div_ro_ops,
2906 	},
2907 };
2908 
2909 static struct clk_regmap_div gcc_pcie_6_pipe_div_clk_src = {
2910 	.reg = 0x8a060,
2911 	.shift = 0,
2912 	.width = 4,
2913 	.clkr.hw.init = &(const struct clk_init_data) {
2914 		.name = "gcc_pcie_6_pipe_div_clk_src",
2915 		.parent_hws = (const struct clk_hw*[]) {
2916 			&gcc_pcie_6_pipe_clk_src.clkr.hw,
2917 		},
2918 		.num_parents = 1,
2919 		.flags = CLK_SET_RATE_PARENT,
2920 		.ops = &clk_regmap_div_ro_ops,
2921 	},
2922 };
2923 
2924 static struct clk_regmap_div gcc_qupv3_oob_s0_clk_src = {
2925 	.reg = 0xe7024,
2926 	.shift = 0,
2927 	.width = 4,
2928 	.clkr.hw.init = &(const struct clk_init_data) {
2929 		.name = "gcc_qupv3_oob_s0_clk_src",
2930 		.parent_hws = (const struct clk_hw*[]) {
2931 			&gcc_qupv3_oob_qspi_s0_clk_src.clkr.hw,
2932 		},
2933 		.num_parents = 1,
2934 		.flags = CLK_SET_RATE_PARENT,
2935 		.ops = &clk_regmap_div_ro_ops,
2936 	},
2937 };
2938 
2939 static struct clk_regmap_div gcc_qupv3_oob_s1_clk_src = {
2940 	.reg = 0xe7038,
2941 	.shift = 0,
2942 	.width = 4,
2943 	.clkr.hw.init = &(const struct clk_init_data) {
2944 		.name = "gcc_qupv3_oob_s1_clk_src",
2945 		.parent_hws = (const struct clk_hw*[]) {
2946 			&gcc_qupv3_oob_qspi_s1_clk_src.clkr.hw,
2947 		},
2948 		.num_parents = 1,
2949 		.flags = CLK_SET_RATE_PARENT,
2950 		.ops = &clk_regmap_div_ro_ops,
2951 	},
2952 };
2953 
2954 static struct clk_regmap_div gcc_qupv3_wrap0_s2_clk_src = {
2955 	.reg = 0x2828c,
2956 	.shift = 0,
2957 	.width = 4,
2958 	.clkr.hw.init = &(const struct clk_init_data) {
2959 		.name = "gcc_qupv3_wrap0_s2_clk_src",
2960 		.parent_hws = (const struct clk_hw*[]) {
2961 			&gcc_qupv3_wrap0_qspi_s2_clk_src.clkr.hw,
2962 		},
2963 		.num_parents = 1,
2964 		.flags = CLK_SET_RATE_PARENT,
2965 		.ops = &clk_regmap_div_ro_ops,
2966 	},
2967 };
2968 
2969 static struct clk_regmap_div gcc_qupv3_wrap0_s3_clk_src = {
2970 	.reg = 0x282a0,
2971 	.shift = 0,
2972 	.width = 4,
2973 	.clkr.hw.init = &(const struct clk_init_data) {
2974 		.name = "gcc_qupv3_wrap0_s3_clk_src",
2975 		.parent_hws = (const struct clk_hw*[]) {
2976 			&gcc_qupv3_wrap0_qspi_s3_clk_src.clkr.hw,
2977 		},
2978 		.num_parents = 1,
2979 		.flags = CLK_SET_RATE_PARENT,
2980 		.ops = &clk_regmap_div_ro_ops,
2981 	},
2982 };
2983 
2984 static struct clk_regmap_div gcc_qupv3_wrap0_s6_clk_src = {
2985 	.reg = 0x2852c,
2986 	.shift = 0,
2987 	.width = 4,
2988 	.clkr.hw.init = &(const struct clk_init_data) {
2989 		.name = "gcc_qupv3_wrap0_s6_clk_src",
2990 		.parent_hws = (const struct clk_hw*[]) {
2991 			&gcc_qupv3_wrap0_qspi_s6_clk_src.clkr.hw,
2992 		},
2993 		.num_parents = 1,
2994 		.flags = CLK_SET_RATE_PARENT,
2995 		.ops = &clk_regmap_div_ro_ops,
2996 	},
2997 };
2998 
2999 static struct clk_regmap_div gcc_qupv3_wrap1_s2_clk_src = {
3000 	.reg = 0xb328c,
3001 	.shift = 0,
3002 	.width = 4,
3003 	.clkr.hw.init = &(const struct clk_init_data) {
3004 		.name = "gcc_qupv3_wrap1_s2_clk_src",
3005 		.parent_hws = (const struct clk_hw*[]) {
3006 			&gcc_qupv3_wrap1_qspi_s2_clk_src.clkr.hw,
3007 		},
3008 		.num_parents = 1,
3009 		.flags = CLK_SET_RATE_PARENT,
3010 		.ops = &clk_regmap_div_ro_ops,
3011 	},
3012 };
3013 
3014 static struct clk_regmap_div gcc_qupv3_wrap1_s3_clk_src = {
3015 	.reg = 0xb32a0,
3016 	.shift = 0,
3017 	.width = 4,
3018 	.clkr.hw.init = &(const struct clk_init_data) {
3019 		.name = "gcc_qupv3_wrap1_s3_clk_src",
3020 		.parent_hws = (const struct clk_hw*[]) {
3021 			&gcc_qupv3_wrap1_qspi_s3_clk_src.clkr.hw,
3022 		},
3023 		.num_parents = 1,
3024 		.flags = CLK_SET_RATE_PARENT,
3025 		.ops = &clk_regmap_div_ro_ops,
3026 	},
3027 };
3028 
3029 static struct clk_regmap_div gcc_qupv3_wrap1_s6_clk_src = {
3030 	.reg = 0xb352c,
3031 	.shift = 0,
3032 	.width = 4,
3033 	.clkr.hw.init = &(const struct clk_init_data) {
3034 		.name = "gcc_qupv3_wrap1_s6_clk_src",
3035 		.parent_hws = (const struct clk_hw*[]) {
3036 			&gcc_qupv3_wrap1_qspi_s6_clk_src.clkr.hw,
3037 		},
3038 		.num_parents = 1,
3039 		.flags = CLK_SET_RATE_PARENT,
3040 		.ops = &clk_regmap_div_ro_ops,
3041 	},
3042 };
3043 
3044 static struct clk_regmap_div gcc_qupv3_wrap2_s2_clk_src = {
3045 	.reg = 0xb428c,
3046 	.shift = 0,
3047 	.width = 4,
3048 	.clkr.hw.init = &(const struct clk_init_data) {
3049 		.name = "gcc_qupv3_wrap2_s2_clk_src",
3050 		.parent_hws = (const struct clk_hw*[]) {
3051 			&gcc_qupv3_wrap2_qspi_s2_clk_src.clkr.hw,
3052 		},
3053 		.num_parents = 1,
3054 		.flags = CLK_SET_RATE_PARENT,
3055 		.ops = &clk_regmap_div_ro_ops,
3056 	},
3057 };
3058 
3059 static struct clk_regmap_div gcc_qupv3_wrap2_s3_clk_src = {
3060 	.reg = 0xb42a0,
3061 	.shift = 0,
3062 	.width = 4,
3063 	.clkr.hw.init = &(const struct clk_init_data) {
3064 		.name = "gcc_qupv3_wrap2_s3_clk_src",
3065 		.parent_hws = (const struct clk_hw*[]) {
3066 			&gcc_qupv3_wrap2_qspi_s3_clk_src.clkr.hw,
3067 		},
3068 		.num_parents = 1,
3069 		.flags = CLK_SET_RATE_PARENT,
3070 		.ops = &clk_regmap_div_ro_ops,
3071 	},
3072 };
3073 
3074 static struct clk_regmap_div gcc_qupv3_wrap2_s6_clk_src = {
3075 	.reg = 0xb452c,
3076 	.shift = 0,
3077 	.width = 4,
3078 	.clkr.hw.init = &(const struct clk_init_data) {
3079 		.name = "gcc_qupv3_wrap2_s6_clk_src",
3080 		.parent_hws = (const struct clk_hw*[]) {
3081 			&gcc_qupv3_wrap2_qspi_s6_clk_src.clkr.hw,
3082 		},
3083 		.num_parents = 1,
3084 		.flags = CLK_SET_RATE_PARENT,
3085 		.ops = &clk_regmap_div_ro_ops,
3086 	},
3087 };
3088 
3089 static struct clk_regmap_div gcc_usb20_mock_utmi_postdiv_clk_src = {
3090 	.reg = 0xbc174,
3091 	.shift = 0,
3092 	.width = 4,
3093 	.clkr.hw.init = &(const struct clk_init_data) {
3094 		.name = "gcc_usb20_mock_utmi_postdiv_clk_src",
3095 		.parent_hws = (const struct clk_hw*[]) {
3096 			&gcc_usb20_mock_utmi_clk_src.clkr.hw,
3097 		},
3098 		.num_parents = 1,
3099 		.flags = CLK_SET_RATE_PARENT,
3100 		.ops = &clk_regmap_div_ro_ops,
3101 	},
3102 };
3103 
3104 static struct clk_regmap_div gcc_usb30_mp_mock_utmi_postdiv_clk_src = {
3105 	.reg = 0x9a06c,
3106 	.shift = 0,
3107 	.width = 4,
3108 	.clkr.hw.init = &(const struct clk_init_data) {
3109 		.name = "gcc_usb30_mp_mock_utmi_postdiv_clk_src",
3110 		.parent_hws = (const struct clk_hw*[]) {
3111 			&gcc_usb30_mp_mock_utmi_clk_src.clkr.hw,
3112 		},
3113 		.num_parents = 1,
3114 		.flags = CLK_SET_RATE_PARENT,
3115 		.ops = &clk_regmap_div_ro_ops,
3116 	},
3117 };
3118 
3119 static struct clk_regmap_div gcc_usb30_prim_mock_utmi_postdiv_clk_src = {
3120 	.reg = 0x3f07c,
3121 	.shift = 0,
3122 	.width = 4,
3123 	.clkr.hw.init = &(const struct clk_init_data) {
3124 		.name = "gcc_usb30_prim_mock_utmi_postdiv_clk_src",
3125 		.parent_hws = (const struct clk_hw*[]) {
3126 			&gcc_usb30_prim_mock_utmi_clk_src.clkr.hw,
3127 		},
3128 		.num_parents = 1,
3129 		.flags = CLK_SET_RATE_PARENT,
3130 		.ops = &clk_regmap_div_ro_ops,
3131 	},
3132 };
3133 
3134 static struct clk_regmap_div gcc_usb30_sec_mock_utmi_postdiv_clk_src = {
3135 	.reg = 0xe206c,
3136 	.shift = 0,
3137 	.width = 4,
3138 	.clkr.hw.init = &(const struct clk_init_data) {
3139 		.name = "gcc_usb30_sec_mock_utmi_postdiv_clk_src",
3140 		.parent_hws = (const struct clk_hw*[]) {
3141 			&gcc_usb30_sec_mock_utmi_clk_src.clkr.hw,
3142 		},
3143 		.num_parents = 1,
3144 		.flags = CLK_SET_RATE_PARENT,
3145 		.ops = &clk_regmap_div_ro_ops,
3146 	},
3147 };
3148 
3149 static struct clk_regmap_div gcc_usb30_tert_mock_utmi_postdiv_clk_src = {
3150 	.reg = 0xe106c,
3151 	.shift = 0,
3152 	.width = 4,
3153 	.clkr.hw.init = &(const struct clk_init_data) {
3154 		.name = "gcc_usb30_tert_mock_utmi_postdiv_clk_src",
3155 		.parent_hws = (const struct clk_hw*[]) {
3156 			&gcc_usb30_tert_mock_utmi_clk_src.clkr.hw,
3157 		},
3158 		.num_parents = 1,
3159 		.flags = CLK_SET_RATE_PARENT,
3160 		.ops = &clk_regmap_div_ro_ops,
3161 	},
3162 };
3163 
3164 static struct clk_branch gcc_aggre_noc_pcie_3a_west_sf_axi_clk = {
3165 	.halt_reg = 0xdc0bc,
3166 	.halt_check = BRANCH_HALT_VOTED,
3167 	.clkr = {
3168 		.enable_reg = 0x62008,
3169 		.enable_mask = BIT(27),
3170 		.hw.init = &(const struct clk_init_data) {
3171 			.name = "gcc_aggre_noc_pcie_3a_west_sf_axi_clk",
3172 			.ops = &clk_branch2_ops,
3173 		},
3174 	},
3175 };
3176 
3177 static struct clk_branch gcc_aggre_noc_pcie_3b_west_sf_axi_clk = {
3178 	.halt_reg = 0x941ec,
3179 	.halt_check = BRANCH_HALT_VOTED,
3180 	.clkr = {
3181 		.enable_reg = 0x62008,
3182 		.enable_mask = BIT(28),
3183 		.hw.init = &(const struct clk_init_data) {
3184 			.name = "gcc_aggre_noc_pcie_3b_west_sf_axi_clk",
3185 			.ops = &clk_branch2_ops,
3186 		},
3187 	},
3188 };
3189 
3190 static struct clk_branch gcc_aggre_noc_pcie_4_west_sf_axi_clk = {
3191 	.halt_reg = 0x881d0,
3192 	.halt_check = BRANCH_HALT_VOTED,
3193 	.clkr = {
3194 		.enable_reg = 0x62008,
3195 		.enable_mask = BIT(29),
3196 		.hw.init = &(const struct clk_init_data) {
3197 			.name = "gcc_aggre_noc_pcie_4_west_sf_axi_clk",
3198 			.ops = &clk_branch2_ops,
3199 		},
3200 	},
3201 };
3202 
3203 static struct clk_branch gcc_aggre_noc_pcie_5_east_sf_axi_clk = {
3204 	.halt_reg = 0xc30d0,
3205 	.halt_check = BRANCH_HALT_VOTED,
3206 	.clkr = {
3207 		.enable_reg = 0x62008,
3208 		.enable_mask = BIT(30),
3209 		.hw.init = &(const struct clk_init_data) {
3210 			.name = "gcc_aggre_noc_pcie_5_east_sf_axi_clk",
3211 			.ops = &clk_branch2_ops,
3212 		},
3213 	},
3214 };
3215 
3216 static struct clk_branch gcc_aggre_noc_pcie_6_west_sf_axi_clk = {
3217 	.halt_reg = 0x8a1d0,
3218 	.halt_check = BRANCH_HALT_VOTED,
3219 	.clkr = {
3220 		.enable_reg = 0x62008,
3221 		.enable_mask = BIT(31),
3222 		.hw.init = &(const struct clk_init_data) {
3223 			.name = "gcc_aggre_noc_pcie_6_west_sf_axi_clk",
3224 			.ops = &clk_branch2_ops,
3225 		},
3226 	},
3227 };
3228 
3229 static struct clk_branch gcc_aggre_ufs_phy_axi_clk = {
3230 	.halt_reg = 0x77000,
3231 	.halt_check = BRANCH_HALT_VOTED,
3232 	.hwcg_reg = 0x77000,
3233 	.hwcg_bit = 1,
3234 	.clkr = {
3235 		.enable_reg = 0x77000,
3236 		.enable_mask = BIT(0),
3237 		.hw.init = &(const struct clk_init_data) {
3238 			.name = "gcc_aggre_ufs_phy_axi_clk",
3239 			.parent_hws = (const struct clk_hw*[]) {
3240 				&gcc_ufs_phy_axi_clk_src.clkr.hw,
3241 			},
3242 			.num_parents = 1,
3243 			.flags = CLK_SET_RATE_PARENT,
3244 			.ops = &clk_branch2_ops,
3245 		},
3246 	},
3247 };
3248 
3249 static struct clk_branch gcc_aggre_usb2_prim_axi_clk = {
3250 	.halt_reg = 0xbc17c,
3251 	.halt_check = BRANCH_HALT_VOTED,
3252 	.hwcg_reg = 0xbc17c,
3253 	.hwcg_bit = 1,
3254 	.clkr = {
3255 		.enable_reg = 0xbc17c,
3256 		.enable_mask = BIT(0),
3257 		.hw.init = &(const struct clk_init_data) {
3258 			.name = "gcc_aggre_usb2_prim_axi_clk",
3259 			.parent_hws = (const struct clk_hw*[]) {
3260 				&gcc_usb20_master_clk_src.clkr.hw,
3261 			},
3262 			.num_parents = 1,
3263 			.flags = CLK_SET_RATE_PARENT,
3264 			.ops = &clk_branch2_ops,
3265 		},
3266 	},
3267 };
3268 
3269 static struct clk_branch gcc_aggre_usb3_mp_axi_clk = {
3270 	.halt_reg = 0x9a004,
3271 	.halt_check = BRANCH_HALT_VOTED,
3272 	.hwcg_reg = 0x9a004,
3273 	.hwcg_bit = 1,
3274 	.clkr = {
3275 		.enable_reg = 0x9a004,
3276 		.enable_mask = BIT(0),
3277 		.hw.init = &(const struct clk_init_data) {
3278 			.name = "gcc_aggre_usb3_mp_axi_clk",
3279 			.parent_hws = (const struct clk_hw*[]) {
3280 				&gcc_usb30_mp_master_clk_src.clkr.hw,
3281 			},
3282 			.num_parents = 1,
3283 			.flags = CLK_SET_RATE_PARENT,
3284 			.ops = &clk_branch2_ops,
3285 		},
3286 	},
3287 };
3288 
3289 static struct clk_branch gcc_aggre_usb3_prim_axi_clk = {
3290 	.halt_reg = 0x3f00c,
3291 	.halt_check = BRANCH_HALT_VOTED,
3292 	.hwcg_reg = 0x3f00c,
3293 	.hwcg_bit = 1,
3294 	.clkr = {
3295 		.enable_reg = 0x3f00c,
3296 		.enable_mask = BIT(0),
3297 		.hw.init = &(const struct clk_init_data) {
3298 			.name = "gcc_aggre_usb3_prim_axi_clk",
3299 			.parent_hws = (const struct clk_hw*[]) {
3300 				&gcc_usb30_prim_master_clk_src.clkr.hw,
3301 			},
3302 			.num_parents = 1,
3303 			.flags = CLK_SET_RATE_PARENT,
3304 			.ops = &clk_branch2_ops,
3305 		},
3306 	},
3307 };
3308 
3309 static struct clk_branch gcc_aggre_usb3_sec_axi_clk = {
3310 	.halt_reg = 0xe2004,
3311 	.halt_check = BRANCH_HALT_VOTED,
3312 	.hwcg_reg = 0xe2004,
3313 	.hwcg_bit = 1,
3314 	.clkr = {
3315 		.enable_reg = 0xe2004,
3316 		.enable_mask = BIT(0),
3317 		.hw.init = &(const struct clk_init_data) {
3318 			.name = "gcc_aggre_usb3_sec_axi_clk",
3319 			.parent_hws = (const struct clk_hw*[]) {
3320 				&gcc_usb30_sec_master_clk_src.clkr.hw,
3321 			},
3322 			.num_parents = 1,
3323 			.flags = CLK_SET_RATE_PARENT,
3324 			.ops = &clk_branch2_ops,
3325 		},
3326 	},
3327 };
3328 
3329 static struct clk_branch gcc_aggre_usb3_tert_axi_clk = {
3330 	.halt_reg = 0xe1004,
3331 	.halt_check = BRANCH_HALT_VOTED,
3332 	.hwcg_reg = 0xe1004,
3333 	.hwcg_bit = 1,
3334 	.clkr = {
3335 		.enable_reg = 0xe1004,
3336 		.enable_mask = BIT(0),
3337 		.hw.init = &(const struct clk_init_data) {
3338 			.name = "gcc_aggre_usb3_tert_axi_clk",
3339 			.parent_hws = (const struct clk_hw*[]) {
3340 				&gcc_usb30_tert_master_clk_src.clkr.hw,
3341 			},
3342 			.num_parents = 1,
3343 			.flags = CLK_SET_RATE_PARENT,
3344 			.ops = &clk_branch2_ops,
3345 		},
3346 	},
3347 };
3348 
3349 static struct clk_branch gcc_aggre_usb4_0_axi_clk = {
3350 	.halt_reg = 0x2b000,
3351 	.halt_check = BRANCH_HALT_VOTED,
3352 	.hwcg_reg = 0x2b000,
3353 	.hwcg_bit = 1,
3354 	.clkr = {
3355 		.enable_reg = 0x2b000,
3356 		.enable_mask = BIT(0),
3357 		.hw.init = &(const struct clk_init_data) {
3358 			.name = "gcc_aggre_usb4_0_axi_clk",
3359 			.parent_hws = (const struct clk_hw*[]) {
3360 				&gcc_usb4_0_master_clk_src.clkr.hw,
3361 			},
3362 			.num_parents = 1,
3363 			.flags = CLK_SET_RATE_PARENT,
3364 			.ops = &clk_branch2_ops,
3365 		},
3366 	},
3367 };
3368 
3369 static struct clk_branch gcc_aggre_usb4_1_axi_clk = {
3370 	.halt_reg = 0x2d000,
3371 	.halt_check = BRANCH_HALT_VOTED,
3372 	.hwcg_reg = 0x2d000,
3373 	.hwcg_bit = 1,
3374 	.clkr = {
3375 		.enable_reg = 0x2d000,
3376 		.enable_mask = BIT(0),
3377 		.hw.init = &(const struct clk_init_data) {
3378 			.name = "gcc_aggre_usb4_1_axi_clk",
3379 			.parent_hws = (const struct clk_hw*[]) {
3380 				&gcc_usb4_1_master_clk_src.clkr.hw,
3381 			},
3382 			.num_parents = 1,
3383 			.flags = CLK_SET_RATE_PARENT,
3384 			.ops = &clk_branch2_ops,
3385 		},
3386 	},
3387 };
3388 
3389 static struct clk_branch gcc_aggre_usb4_2_axi_clk = {
3390 	.halt_reg = 0xe0000,
3391 	.halt_check = BRANCH_HALT_VOTED,
3392 	.hwcg_reg = 0xe0000,
3393 	.hwcg_bit = 1,
3394 	.clkr = {
3395 		.enable_reg = 0xe0000,
3396 		.enable_mask = BIT(0),
3397 		.hw.init = &(const struct clk_init_data) {
3398 			.name = "gcc_aggre_usb4_2_axi_clk",
3399 			.parent_hws = (const struct clk_hw*[]) {
3400 				&gcc_usb4_2_master_clk_src.clkr.hw,
3401 			},
3402 			.num_parents = 1,
3403 			.flags = CLK_SET_RATE_PARENT,
3404 			.ops = &clk_branch2_ops,
3405 		},
3406 	},
3407 };
3408 
3409 static struct clk_branch gcc_av1e_ahb_clk = {
3410 	.halt_reg = 0x9b02c,
3411 	.halt_check = BRANCH_HALT_VOTED,
3412 	.hwcg_reg = 0x9b02c,
3413 	.hwcg_bit = 1,
3414 	.clkr = {
3415 		.enable_reg = 0x9b02c,
3416 		.enable_mask = BIT(0),
3417 		.hw.init = &(const struct clk_init_data) {
3418 			.name = "gcc_av1e_ahb_clk",
3419 			.ops = &clk_branch2_ops,
3420 		},
3421 	},
3422 };
3423 
3424 static struct clk_branch gcc_av1e_axi_clk = {
3425 	.halt_reg = 0x9b030,
3426 	.halt_check = BRANCH_HALT_SKIP,
3427 	.hwcg_reg = 0x9b030,
3428 	.hwcg_bit = 1,
3429 	.clkr = {
3430 		.enable_reg = 0x9b030,
3431 		.enable_mask = BIT(0),
3432 		.hw.init = &(const struct clk_init_data) {
3433 			.name = "gcc_av1e_axi_clk",
3434 			.ops = &clk_branch2_ops,
3435 		},
3436 	},
3437 };
3438 
3439 static struct clk_branch gcc_av1e_xo_clk = {
3440 	.halt_reg = 0x9b044,
3441 	.halt_check = BRANCH_HALT,
3442 	.clkr = {
3443 		.enable_reg = 0x9b044,
3444 		.enable_mask = BIT(0),
3445 		.hw.init = &(const struct clk_init_data) {
3446 			.name = "gcc_av1e_xo_clk",
3447 			.ops = &clk_branch2_ops,
3448 		},
3449 	},
3450 };
3451 
3452 static struct clk_branch gcc_boot_rom_ahb_clk = {
3453 	.halt_reg = 0x34038,
3454 	.halt_check = BRANCH_HALT_VOTED,
3455 	.hwcg_reg = 0x34038,
3456 	.hwcg_bit = 1,
3457 	.clkr = {
3458 		.enable_reg = 0x62020,
3459 		.enable_mask = BIT(27),
3460 		.hw.init = &(const struct clk_init_data) {
3461 			.name = "gcc_boot_rom_ahb_clk",
3462 			.ops = &clk_branch2_ops,
3463 		},
3464 	},
3465 };
3466 
3467 static struct clk_branch gcc_camera_hf_axi_clk = {
3468 	.halt_reg = 0x26014,
3469 	.halt_check = BRANCH_HALT_SKIP,
3470 	.hwcg_reg = 0x26014,
3471 	.hwcg_bit = 1,
3472 	.clkr = {
3473 		.enable_reg = 0x26014,
3474 		.enable_mask = BIT(0),
3475 		.hw.init = &(const struct clk_init_data) {
3476 			.name = "gcc_camera_hf_axi_clk",
3477 			.ops = &clk_branch2_ops,
3478 		},
3479 	},
3480 };
3481 
3482 static struct clk_branch gcc_camera_sf_axi_clk = {
3483 	.halt_reg = 0x26028,
3484 	.halt_check = BRANCH_HALT_SKIP,
3485 	.hwcg_reg = 0x26028,
3486 	.hwcg_bit = 1,
3487 	.clkr = {
3488 		.enable_reg = 0x26028,
3489 		.enable_mask = BIT(0),
3490 		.hw.init = &(const struct clk_init_data) {
3491 			.name = "gcc_camera_sf_axi_clk",
3492 			.ops = &clk_branch2_ops,
3493 		},
3494 	},
3495 };
3496 
3497 static struct clk_branch gcc_cfg_noc_pcie_anoc_ahb_clk = {
3498 	.halt_reg = 0x82004,
3499 	.halt_check = BRANCH_HALT_VOTED,
3500 	.hwcg_reg = 0x82004,
3501 	.hwcg_bit = 1,
3502 	.clkr = {
3503 		.enable_reg = 0x62008,
3504 		.enable_mask = BIT(19),
3505 		.hw.init = &(const struct clk_init_data) {
3506 			.name = "gcc_cfg_noc_pcie_anoc_ahb_clk",
3507 			.ops = &clk_branch2_ops,
3508 		},
3509 	},
3510 };
3511 
3512 static struct clk_branch gcc_cfg_noc_pcie_anoc_south_ahb_clk = {
3513 	.halt_reg = 0xba2ec,
3514 	.halt_check = BRANCH_HALT_VOTED,
3515 	.hwcg_reg = 0xba2ec,
3516 	.hwcg_bit = 1,
3517 	.clkr = {
3518 		.enable_reg = 0x62008,
3519 		.enable_mask = BIT(16),
3520 		.hw.init = &(const struct clk_init_data) {
3521 			.name = "gcc_cfg_noc_pcie_anoc_south_ahb_clk",
3522 			.ops = &clk_branch2_ops,
3523 		},
3524 	},
3525 };
3526 
3527 static struct clk_branch gcc_cfg_noc_usb2_prim_axi_clk = {
3528 	.halt_reg = 0xbc178,
3529 	.halt_check = BRANCH_HALT_VOTED,
3530 	.hwcg_reg = 0xbc178,
3531 	.hwcg_bit = 1,
3532 	.clkr = {
3533 		.enable_reg = 0xbc178,
3534 		.enable_mask = BIT(0),
3535 		.hw.init = &(const struct clk_init_data) {
3536 			.name = "gcc_cfg_noc_usb2_prim_axi_clk",
3537 			.parent_hws = (const struct clk_hw*[]) {
3538 				&gcc_usb20_master_clk_src.clkr.hw,
3539 			},
3540 			.num_parents = 1,
3541 			.flags = CLK_SET_RATE_PARENT,
3542 			.ops = &clk_branch2_ops,
3543 		},
3544 	},
3545 };
3546 
3547 static struct clk_branch gcc_cfg_noc_usb3_mp_axi_clk = {
3548 	.halt_reg = 0x9a000,
3549 	.halt_check = BRANCH_HALT_VOTED,
3550 	.hwcg_reg = 0x9a000,
3551 	.hwcg_bit = 1,
3552 	.clkr = {
3553 		.enable_reg = 0x9a000,
3554 		.enable_mask = BIT(0),
3555 		.hw.init = &(const struct clk_init_data) {
3556 			.name = "gcc_cfg_noc_usb3_mp_axi_clk",
3557 			.parent_hws = (const struct clk_hw*[]) {
3558 				&gcc_usb30_mp_master_clk_src.clkr.hw,
3559 			},
3560 			.num_parents = 1,
3561 			.flags = CLK_SET_RATE_PARENT,
3562 			.ops = &clk_branch2_ops,
3563 		},
3564 	},
3565 };
3566 
3567 static struct clk_branch gcc_cfg_noc_usb3_prim_axi_clk = {
3568 	.halt_reg = 0x3f000,
3569 	.halt_check = BRANCH_HALT_VOTED,
3570 	.hwcg_reg = 0x3f000,
3571 	.hwcg_bit = 1,
3572 	.clkr = {
3573 		.enable_reg = 0x3f000,
3574 		.enable_mask = BIT(0),
3575 		.hw.init = &(const struct clk_init_data) {
3576 			.name = "gcc_cfg_noc_usb3_prim_axi_clk",
3577 			.parent_hws = (const struct clk_hw*[]) {
3578 				&gcc_usb30_prim_master_clk_src.clkr.hw,
3579 			},
3580 			.num_parents = 1,
3581 			.flags = CLK_SET_RATE_PARENT,
3582 			.ops = &clk_branch2_ops,
3583 		},
3584 	},
3585 };
3586 
3587 static struct clk_branch gcc_cfg_noc_usb3_sec_axi_clk = {
3588 	.halt_reg = 0xe2000,
3589 	.halt_check = BRANCH_HALT_VOTED,
3590 	.hwcg_reg = 0xe2000,
3591 	.hwcg_bit = 1,
3592 	.clkr = {
3593 		.enable_reg = 0xe2000,
3594 		.enable_mask = BIT(0),
3595 		.hw.init = &(const struct clk_init_data) {
3596 			.name = "gcc_cfg_noc_usb3_sec_axi_clk",
3597 			.parent_hws = (const struct clk_hw*[]) {
3598 				&gcc_usb30_sec_master_clk_src.clkr.hw,
3599 			},
3600 			.num_parents = 1,
3601 			.flags = CLK_SET_RATE_PARENT,
3602 			.ops = &clk_branch2_ops,
3603 		},
3604 	},
3605 };
3606 
3607 static struct clk_branch gcc_cfg_noc_usb3_tert_axi_clk = {
3608 	.halt_reg = 0xe1000,
3609 	.halt_check = BRANCH_HALT_VOTED,
3610 	.hwcg_reg = 0xe1000,
3611 	.hwcg_bit = 1,
3612 	.clkr = {
3613 		.enable_reg = 0xe1000,
3614 		.enable_mask = BIT(0),
3615 		.hw.init = &(const struct clk_init_data) {
3616 			.name = "gcc_cfg_noc_usb3_tert_axi_clk",
3617 			.parent_hws = (const struct clk_hw*[]) {
3618 				&gcc_usb30_tert_master_clk_src.clkr.hw,
3619 			},
3620 			.num_parents = 1,
3621 			.flags = CLK_SET_RATE_PARENT,
3622 			.ops = &clk_branch2_ops,
3623 		},
3624 	},
3625 };
3626 
3627 static struct clk_branch gcc_cfg_noc_usb_anoc_ahb_clk = {
3628 	.halt_reg = 0x3f004,
3629 	.halt_check = BRANCH_HALT_VOTED,
3630 	.hwcg_reg = 0x3f004,
3631 	.hwcg_bit = 1,
3632 	.clkr = {
3633 		.enable_reg = 0x62008,
3634 		.enable_mask = BIT(17),
3635 		.hw.init = &(const struct clk_init_data) {
3636 			.name = "gcc_cfg_noc_usb_anoc_ahb_clk",
3637 			.ops = &clk_branch2_ops,
3638 		},
3639 	},
3640 };
3641 
3642 static struct clk_branch gcc_cfg_noc_usb_anoc_south_ahb_clk = {
3643 	.halt_reg = 0x3f008,
3644 	.halt_check = BRANCH_HALT_VOTED,
3645 	.hwcg_reg = 0x3f008,
3646 	.hwcg_bit = 1,
3647 	.clkr = {
3648 		.enable_reg = 0x62008,
3649 		.enable_mask = BIT(18),
3650 		.hw.init = &(const struct clk_init_data) {
3651 			.name = "gcc_cfg_noc_usb_anoc_south_ahb_clk",
3652 			.ops = &clk_branch2_ops,
3653 		},
3654 	},
3655 };
3656 
3657 static struct clk_branch gcc_disp_hf_axi_clk = {
3658 	.halt_reg = 0x27008,
3659 	.halt_check = BRANCH_HALT_SKIP,
3660 	.clkr = {
3661 		.enable_reg = 0x27008,
3662 		.enable_mask = BIT(0),
3663 		.hw.init = &(const struct clk_init_data) {
3664 			.name = "gcc_disp_hf_axi_clk",
3665 			.ops = &clk_branch2_ops,
3666 			.flags = CLK_IS_CRITICAL,
3667 		},
3668 	},
3669 };
3670 
3671 static struct clk_branch gcc_eva_axi0_clk = {
3672 	.halt_reg = 0x9b008,
3673 	.halt_check = BRANCH_HALT_SKIP,
3674 	.hwcg_reg = 0x9b008,
3675 	.hwcg_bit = 1,
3676 	.clkr = {
3677 		.enable_reg = 0x9b008,
3678 		.enable_mask = BIT(0),
3679 		.hw.init = &(const struct clk_init_data) {
3680 			.name = "gcc_eva_axi0_clk",
3681 			.ops = &clk_branch2_ops,
3682 		},
3683 	},
3684 };
3685 
3686 static struct clk_branch gcc_eva_axi0c_clk = {
3687 	.halt_reg = 0x9b01c,
3688 	.halt_check = BRANCH_HALT_VOTED,
3689 	.hwcg_reg = 0x9b01c,
3690 	.hwcg_bit = 1,
3691 	.clkr = {
3692 		.enable_reg = 0x9b01c,
3693 		.enable_mask = BIT(0),
3694 		.hw.init = &(const struct clk_init_data) {
3695 			.name = "gcc_eva_axi0c_clk",
3696 			.ops = &clk_branch2_ops,
3697 		},
3698 	},
3699 };
3700 
3701 static struct clk_branch gcc_gp1_clk = {
3702 	.halt_reg = 0x64000,
3703 	.halt_check = BRANCH_HALT,
3704 	.clkr = {
3705 		.enable_reg = 0x64000,
3706 		.enable_mask = BIT(0),
3707 		.hw.init = &(const struct clk_init_data) {
3708 			.name = "gcc_gp1_clk",
3709 			.parent_hws = (const struct clk_hw*[]) {
3710 				&gcc_gp1_clk_src.clkr.hw,
3711 			},
3712 			.num_parents = 1,
3713 			.flags = CLK_SET_RATE_PARENT,
3714 			.ops = &clk_branch2_ops,
3715 		},
3716 	},
3717 };
3718 
3719 static struct clk_branch gcc_gp2_clk = {
3720 	.halt_reg = 0x92000,
3721 	.halt_check = BRANCH_HALT,
3722 	.clkr = {
3723 		.enable_reg = 0x92000,
3724 		.enable_mask = BIT(0),
3725 		.hw.init = &(const struct clk_init_data) {
3726 			.name = "gcc_gp2_clk",
3727 			.parent_hws = (const struct clk_hw*[]) {
3728 				&gcc_gp2_clk_src.clkr.hw,
3729 			},
3730 			.num_parents = 1,
3731 			.flags = CLK_SET_RATE_PARENT,
3732 			.ops = &clk_branch2_ops,
3733 		},
3734 	},
3735 };
3736 
3737 static struct clk_branch gcc_gp3_clk = {
3738 	.halt_reg = 0x93000,
3739 	.halt_check = BRANCH_HALT,
3740 	.clkr = {
3741 		.enable_reg = 0x93000,
3742 		.enable_mask = BIT(0),
3743 		.hw.init = &(const struct clk_init_data) {
3744 			.name = "gcc_gp3_clk",
3745 			.parent_hws = (const struct clk_hw*[]) {
3746 				&gcc_gp3_clk_src.clkr.hw,
3747 			},
3748 			.num_parents = 1,
3749 			.flags = CLK_SET_RATE_PARENT,
3750 			.ops = &clk_branch2_ops,
3751 		},
3752 	},
3753 };
3754 
3755 static struct clk_branch gcc_gpu_gemnoc_gfx_clk = {
3756 	.halt_reg = 0x71010,
3757 	.halt_check = BRANCH_HALT_VOTED,
3758 	.hwcg_reg = 0x71010,
3759 	.hwcg_bit = 1,
3760 	.clkr = {
3761 		.enable_reg = 0x71010,
3762 		.enable_mask = BIT(0),
3763 		.hw.init = &(const struct clk_init_data) {
3764 			.name = "gcc_gpu_gemnoc_gfx_clk",
3765 			.ops = &clk_branch2_ops,
3766 		},
3767 	},
3768 };
3769 
3770 static struct clk_branch gcc_gpu_gpll0_clk_src = {
3771 	.halt_reg = 0x71024,
3772 	.halt_check = BRANCH_HALT_VOTED,
3773 	.hwcg_reg = 0x71024,
3774 	.hwcg_bit = 1,
3775 	.clkr = {
3776 		.enable_reg = 0x62038,
3777 		.enable_mask = BIT(0),
3778 		.hw.init = &(const struct clk_init_data) {
3779 			.name = "gcc_gpu_gpll0_clk_src",
3780 			.parent_hws = (const struct clk_hw*[]) {
3781 				&gcc_gpll0.clkr.hw,
3782 			},
3783 			.num_parents = 1,
3784 			.flags = CLK_SET_RATE_PARENT,
3785 			.ops = &clk_branch2_ops,
3786 		},
3787 	},
3788 };
3789 
3790 static struct clk_branch gcc_gpu_gpll0_div_clk_src = {
3791 	.halt_reg = 0x7102c,
3792 	.halt_check = BRANCH_HALT_VOTED,
3793 	.hwcg_reg = 0x7102c,
3794 	.hwcg_bit = 1,
3795 	.clkr = {
3796 		.enable_reg = 0x62038,
3797 		.enable_mask = BIT(1),
3798 		.hw.init = &(const struct clk_init_data) {
3799 			.name = "gcc_gpu_gpll0_div_clk_src",
3800 			.parent_hws = (const struct clk_hw*[]) {
3801 				&gcc_gpll0_out_even.clkr.hw,
3802 			},
3803 			.num_parents = 1,
3804 			.flags = CLK_SET_RATE_PARENT,
3805 			.ops = &clk_branch2_ops,
3806 		},
3807 	},
3808 };
3809 
3810 static struct clk_branch gcc_pcie_0_aux_clk = {
3811 	.halt_reg = 0xc8018,
3812 	.halt_check = BRANCH_HALT_VOTED,
3813 	.clkr = {
3814 		.enable_reg = 0x62010,
3815 		.enable_mask = BIT(25),
3816 		.hw.init = &(const struct clk_init_data) {
3817 			.name = "gcc_pcie_0_aux_clk",
3818 			.parent_hws = (const struct clk_hw*[]) {
3819 				&gcc_pcie_0_aux_clk_src.clkr.hw,
3820 			},
3821 			.num_parents = 1,
3822 			.flags = CLK_SET_RATE_PARENT,
3823 			.ops = &clk_branch2_ops,
3824 		},
3825 	},
3826 };
3827 
3828 static struct clk_branch gcc_pcie_0_cfg_ahb_clk = {
3829 	.halt_reg = 0xba4a8,
3830 	.halt_check = BRANCH_HALT_VOTED,
3831 	.hwcg_reg = 0xba4a8,
3832 	.hwcg_bit = 1,
3833 	.clkr = {
3834 		.enable_reg = 0x62010,
3835 		.enable_mask = BIT(24),
3836 		.hw.init = &(const struct clk_init_data) {
3837 			.name = "gcc_pcie_0_cfg_ahb_clk",
3838 			.ops = &clk_branch2_ops,
3839 		},
3840 	},
3841 };
3842 
3843 static struct clk_branch gcc_pcie_0_mstr_axi_clk = {
3844 	.halt_reg = 0xba498,
3845 	.halt_check = BRANCH_HALT_SKIP,
3846 	.hwcg_reg = 0xba498,
3847 	.hwcg_bit = 1,
3848 	.clkr = {
3849 		.enable_reg = 0x62010,
3850 		.enable_mask = BIT(23),
3851 		.hw.init = &(const struct clk_init_data) {
3852 			.name = "gcc_pcie_0_mstr_axi_clk",
3853 			.ops = &clk_branch2_ops,
3854 		},
3855 	},
3856 };
3857 
3858 static struct clk_branch gcc_pcie_0_phy_rchng_clk = {
3859 	.halt_reg = 0xc8038,
3860 	.halt_check = BRANCH_HALT_VOTED,
3861 	.clkr = {
3862 		.enable_reg = 0x62010,
3863 		.enable_mask = BIT(27),
3864 		.hw.init = &(const struct clk_init_data) {
3865 			.name = "gcc_pcie_0_phy_rchng_clk",
3866 			.parent_hws = (const struct clk_hw*[]) {
3867 				&gcc_pcie_0_phy_rchng_clk_src.clkr.hw,
3868 			},
3869 			.num_parents = 1,
3870 			.flags = CLK_SET_RATE_PARENT,
3871 			.ops = &clk_branch2_ops,
3872 		},
3873 	},
3874 };
3875 
3876 static struct clk_branch gcc_pcie_0_pipe_clk = {
3877 	.halt_reg = 0xc8028,
3878 	.halt_check = BRANCH_HALT_SKIP,
3879 	.clkr = {
3880 		.enable_reg = 0x62010,
3881 		.enable_mask = BIT(26),
3882 		.hw.init = &(const struct clk_init_data) {
3883 			.name = "gcc_pcie_0_pipe_clk",
3884 			.parent_hws = (const struct clk_hw*[]) {
3885 				&gcc_usb4_0_phy_pcie_pipe_mux_clk_src.clkr.hw,
3886 			},
3887 			.num_parents = 1,
3888 			.flags = CLK_SET_RATE_PARENT,
3889 			.ops = &clk_branch2_ops,
3890 		},
3891 	},
3892 };
3893 
3894 static struct clk_branch gcc_pcie_0_slv_axi_clk = {
3895 	.halt_reg = 0xba488,
3896 	.halt_check = BRANCH_HALT_VOTED,
3897 	.hwcg_reg = 0xba488,
3898 	.hwcg_bit = 1,
3899 	.clkr = {
3900 		.enable_reg = 0x62010,
3901 		.enable_mask = BIT(22),
3902 		.hw.init = &(const struct clk_init_data) {
3903 			.name = "gcc_pcie_0_slv_axi_clk",
3904 			.ops = &clk_branch2_ops,
3905 		},
3906 	},
3907 };
3908 
3909 static struct clk_branch gcc_pcie_0_slv_q2a_axi_clk = {
3910 	.halt_reg = 0xba484,
3911 	.halt_check = BRANCH_HALT_VOTED,
3912 	.clkr = {
3913 		.enable_reg = 0x62010,
3914 		.enable_mask = BIT(21),
3915 		.hw.init = &(const struct clk_init_data) {
3916 			.name = "gcc_pcie_0_slv_q2a_axi_clk",
3917 			.ops = &clk_branch2_ops,
3918 		},
3919 	},
3920 };
3921 
3922 static struct clk_branch gcc_pcie_1_aux_clk = {
3923 	.halt_reg = 0x2e018,
3924 	.halt_check = BRANCH_HALT_VOTED,
3925 	.clkr = {
3926 		.enable_reg = 0x62010,
3927 		.enable_mask = BIT(18),
3928 		.hw.init = &(const struct clk_init_data) {
3929 			.name = "gcc_pcie_1_aux_clk",
3930 			.parent_hws = (const struct clk_hw*[]) {
3931 				&gcc_pcie_1_aux_clk_src.clkr.hw,
3932 			},
3933 			.num_parents = 1,
3934 			.flags = CLK_SET_RATE_PARENT,
3935 			.ops = &clk_branch2_ops,
3936 		},
3937 	},
3938 };
3939 
3940 static struct clk_branch gcc_pcie_1_cfg_ahb_clk = {
3941 	.halt_reg = 0xba480,
3942 	.halt_check = BRANCH_HALT_VOTED,
3943 	.hwcg_reg = 0xba480,
3944 	.hwcg_bit = 1,
3945 	.clkr = {
3946 		.enable_reg = 0x62010,
3947 		.enable_mask = BIT(17),
3948 		.hw.init = &(const struct clk_init_data) {
3949 			.name = "gcc_pcie_1_cfg_ahb_clk",
3950 			.ops = &clk_branch2_ops,
3951 		},
3952 	},
3953 };
3954 
3955 static struct clk_branch gcc_pcie_1_mstr_axi_clk = {
3956 	.halt_reg = 0xba470,
3957 	.halt_check = BRANCH_HALT_SKIP,
3958 	.hwcg_reg = 0xba470,
3959 	.hwcg_bit = 1,
3960 	.clkr = {
3961 		.enable_reg = 0x62010,
3962 		.enable_mask = BIT(16),
3963 		.hw.init = &(const struct clk_init_data) {
3964 			.name = "gcc_pcie_1_mstr_axi_clk",
3965 			.ops = &clk_branch2_ops,
3966 		},
3967 	},
3968 };
3969 
3970 static struct clk_branch gcc_pcie_1_phy_rchng_clk = {
3971 	.halt_reg = 0x2e038,
3972 	.halt_check = BRANCH_HALT_VOTED,
3973 	.clkr = {
3974 		.enable_reg = 0x62010,
3975 		.enable_mask = BIT(20),
3976 		.hw.init = &(const struct clk_init_data) {
3977 			.name = "gcc_pcie_1_phy_rchng_clk",
3978 			.parent_hws = (const struct clk_hw*[]) {
3979 				&gcc_pcie_1_phy_rchng_clk_src.clkr.hw,
3980 			},
3981 			.num_parents = 1,
3982 			.flags = CLK_SET_RATE_PARENT,
3983 			.ops = &clk_branch2_ops,
3984 		},
3985 	},
3986 };
3987 
3988 static struct clk_branch gcc_pcie_1_pipe_clk = {
3989 	.halt_reg = 0x2e028,
3990 	.halt_check = BRANCH_HALT_SKIP,
3991 	.clkr = {
3992 		.enable_reg = 0x62010,
3993 		.enable_mask = BIT(19),
3994 		.hw.init = &(const struct clk_init_data) {
3995 			.name = "gcc_pcie_1_pipe_clk",
3996 			.parent_hws = (const struct clk_hw*[]) {
3997 				&gcc_usb4_1_phy_pcie_pipe_mux_clk_src.clkr.hw,
3998 			},
3999 			.num_parents = 1,
4000 			.flags = CLK_SET_RATE_PARENT,
4001 			.ops = &clk_branch2_ops,
4002 		},
4003 	},
4004 };
4005 
4006 static struct clk_branch gcc_pcie_1_slv_axi_clk = {
4007 	.halt_reg = 0xba460,
4008 	.halt_check = BRANCH_HALT_VOTED,
4009 	.hwcg_reg = 0xba460,
4010 	.hwcg_bit = 1,
4011 	.clkr = {
4012 		.enable_reg = 0x62010,
4013 		.enable_mask = BIT(15),
4014 		.hw.init = &(const struct clk_init_data) {
4015 			.name = "gcc_pcie_1_slv_axi_clk",
4016 			.ops = &clk_branch2_ops,
4017 		},
4018 	},
4019 };
4020 
4021 static struct clk_branch gcc_pcie_1_slv_q2a_axi_clk = {
4022 	.halt_reg = 0xba45c,
4023 	.halt_check = BRANCH_HALT_VOTED,
4024 	.clkr = {
4025 		.enable_reg = 0x62010,
4026 		.enable_mask = BIT(14),
4027 		.hw.init = &(const struct clk_init_data) {
4028 			.name = "gcc_pcie_1_slv_q2a_axi_clk",
4029 			.ops = &clk_branch2_ops,
4030 		},
4031 	},
4032 };
4033 
4034 static struct clk_branch gcc_pcie_2_aux_clk = {
4035 	.halt_reg = 0xc0018,
4036 	.halt_check = BRANCH_HALT_VOTED,
4037 	.clkr = {
4038 		.enable_reg = 0x62018,
4039 		.enable_mask = BIT(0),
4040 		.hw.init = &(const struct clk_init_data) {
4041 			.name = "gcc_pcie_2_aux_clk",
4042 			.parent_hws = (const struct clk_hw*[]) {
4043 				&gcc_pcie_2_aux_clk_src.clkr.hw,
4044 			},
4045 			.num_parents = 1,
4046 			.flags = CLK_SET_RATE_PARENT,
4047 			.ops = &clk_branch2_ops,
4048 		},
4049 	},
4050 };
4051 
4052 static struct clk_branch gcc_pcie_2_cfg_ahb_clk = {
4053 	.halt_reg = 0xba4d0,
4054 	.halt_check = BRANCH_HALT_VOTED,
4055 	.hwcg_reg = 0xba4d0,
4056 	.hwcg_bit = 1,
4057 	.clkr = {
4058 		.enable_reg = 0x62010,
4059 		.enable_mask = BIT(31),
4060 		.hw.init = &(const struct clk_init_data) {
4061 			.name = "gcc_pcie_2_cfg_ahb_clk",
4062 			.ops = &clk_branch2_ops,
4063 		},
4064 	},
4065 };
4066 
4067 static struct clk_branch gcc_pcie_2_mstr_axi_clk = {
4068 	.halt_reg = 0xba4c0,
4069 	.halt_check = BRANCH_HALT_SKIP,
4070 	.hwcg_reg = 0xba4c0,
4071 	.hwcg_bit = 1,
4072 	.clkr = {
4073 		.enable_reg = 0x62010,
4074 		.enable_mask = BIT(30),
4075 		.hw.init = &(const struct clk_init_data) {
4076 			.name = "gcc_pcie_2_mstr_axi_clk",
4077 			.ops = &clk_branch2_ops,
4078 		},
4079 	},
4080 };
4081 
4082 static struct clk_branch gcc_pcie_2_phy_rchng_clk = {
4083 	.halt_reg = 0xc0038,
4084 	.halt_check = BRANCH_HALT_VOTED,
4085 	.clkr = {
4086 		.enable_reg = 0x62018,
4087 		.enable_mask = BIT(2),
4088 		.hw.init = &(const struct clk_init_data) {
4089 			.name = "gcc_pcie_2_phy_rchng_clk",
4090 			.parent_hws = (const struct clk_hw*[]) {
4091 				&gcc_pcie_2_phy_rchng_clk_src.clkr.hw,
4092 			},
4093 			.num_parents = 1,
4094 			.flags = CLK_SET_RATE_PARENT,
4095 			.ops = &clk_branch2_ops,
4096 		},
4097 	},
4098 };
4099 
4100 static struct clk_branch gcc_pcie_2_pipe_clk = {
4101 	.halt_reg = 0xc0028,
4102 	.halt_check = BRANCH_HALT_SKIP,
4103 	.clkr = {
4104 		.enable_reg = 0x62018,
4105 		.enable_mask = BIT(1),
4106 		.hw.init = &(const struct clk_init_data) {
4107 			.name = "gcc_pcie_2_pipe_clk",
4108 			.parent_hws = (const struct clk_hw*[]) {
4109 				&gcc_usb4_2_phy_pcie_pipe_mux_clk_src.clkr.hw,
4110 			},
4111 			.num_parents = 1,
4112 			.flags = CLK_SET_RATE_PARENT,
4113 			.ops = &clk_branch2_ops,
4114 		},
4115 	},
4116 };
4117 
4118 static struct clk_branch gcc_pcie_2_slv_axi_clk = {
4119 	.halt_reg = 0xba4b0,
4120 	.halt_check = BRANCH_HALT_VOTED,
4121 	.hwcg_reg = 0xba4b0,
4122 	.hwcg_bit = 1,
4123 	.clkr = {
4124 		.enable_reg = 0x62010,
4125 		.enable_mask = BIT(29),
4126 		.hw.init = &(const struct clk_init_data) {
4127 			.name = "gcc_pcie_2_slv_axi_clk",
4128 			.ops = &clk_branch2_ops,
4129 		},
4130 	},
4131 };
4132 
4133 static struct clk_branch gcc_pcie_2_slv_q2a_axi_clk = {
4134 	.halt_reg = 0xba4ac,
4135 	.halt_check = BRANCH_HALT_VOTED,
4136 	.clkr = {
4137 		.enable_reg = 0x62010,
4138 		.enable_mask = BIT(28),
4139 		.hw.init = &(const struct clk_init_data) {
4140 			.name = "gcc_pcie_2_slv_q2a_axi_clk",
4141 			.ops = &clk_branch2_ops,
4142 		},
4143 	},
4144 };
4145 
4146 static struct clk_branch gcc_pcie_3a_aux_clk = {
4147 	.halt_reg = 0xdc04c,
4148 	.halt_check = BRANCH_HALT_VOTED,
4149 	.hwcg_reg = 0xdc04c,
4150 	.hwcg_bit = 1,
4151 	.clkr = {
4152 		.enable_reg = 0x62028,
4153 		.enable_mask = BIT(16),
4154 		.hw.init = &(const struct clk_init_data) {
4155 			.name = "gcc_pcie_3a_aux_clk",
4156 			.parent_hws = (const struct clk_hw*[]) {
4157 				&gcc_pcie_3a_aux_clk_src.clkr.hw,
4158 			},
4159 			.num_parents = 1,
4160 			.flags = CLK_SET_RATE_PARENT,
4161 			.ops = &clk_branch2_ops,
4162 		},
4163 	},
4164 };
4165 
4166 static struct clk_branch gcc_pcie_3a_cfg_ahb_clk = {
4167 	.halt_reg = 0xba4f0,
4168 	.halt_check = BRANCH_HALT_VOTED,
4169 	.hwcg_reg = 0xba4f0,
4170 	.hwcg_bit = 1,
4171 	.clkr = {
4172 		.enable_reg = 0x62028,
4173 		.enable_mask = BIT(15),
4174 		.hw.init = &(const struct clk_init_data) {
4175 			.name = "gcc_pcie_3a_cfg_ahb_clk",
4176 			.ops = &clk_branch2_ops,
4177 		},
4178 	},
4179 };
4180 
4181 static struct clk_branch gcc_pcie_3a_mstr_axi_clk = {
4182 	.halt_reg = 0xdc038,
4183 	.halt_check = BRANCH_HALT_SKIP,
4184 	.hwcg_reg = 0xdc038,
4185 	.hwcg_bit = 1,
4186 	.clkr = {
4187 		.enable_reg = 0x62028,
4188 		.enable_mask = BIT(14),
4189 		.hw.init = &(const struct clk_init_data) {
4190 			.name = "gcc_pcie_3a_mstr_axi_clk",
4191 			.ops = &clk_branch2_ops,
4192 		},
4193 	},
4194 };
4195 
4196 static struct clk_branch gcc_pcie_3a_phy_rchng_clk = {
4197 	.halt_reg = 0xdc06c,
4198 	.halt_check = BRANCH_HALT_VOTED,
4199 	.hwcg_reg = 0xdc06c,
4200 	.hwcg_bit = 1,
4201 	.clkr = {
4202 		.enable_reg = 0x62028,
4203 		.enable_mask = BIT(18),
4204 		.hw.init = &(const struct clk_init_data) {
4205 			.name = "gcc_pcie_3a_phy_rchng_clk",
4206 			.parent_hws = (const struct clk_hw*[]) {
4207 				&gcc_pcie_3a_phy_rchng_clk_src.clkr.hw,
4208 			},
4209 			.num_parents = 1,
4210 			.flags = CLK_SET_RATE_PARENT,
4211 			.ops = &clk_branch2_ops,
4212 		},
4213 	},
4214 };
4215 
4216 static struct clk_branch gcc_pcie_3a_pipe_clk = {
4217 	.halt_reg = 0xdc05c,
4218 	.halt_check = BRANCH_HALT_SKIP,
4219 	.hwcg_reg = 0xdc05c,
4220 	.hwcg_bit = 1,
4221 	.clkr = {
4222 		.enable_reg = 0x62028,
4223 		.enable_mask = BIT(17),
4224 		.hw.init = &(const struct clk_init_data) {
4225 			.name = "gcc_pcie_3a_pipe_clk",
4226 			.parent_hws = (const struct clk_hw*[]) {
4227 				&gcc_pcie_3a_pipe_clk_src.clkr.hw,
4228 			},
4229 			.num_parents = 1,
4230 			.flags = CLK_SET_RATE_PARENT,
4231 			.ops = &clk_branch2_ops,
4232 		},
4233 	},
4234 };
4235 
4236 static struct clk_branch gcc_pcie_3a_slv_axi_clk = {
4237 	.halt_reg = 0xdc024,
4238 	.halt_check = BRANCH_HALT_VOTED,
4239 	.hwcg_reg = 0xdc024,
4240 	.hwcg_bit = 1,
4241 	.clkr = {
4242 		.enable_reg = 0x62028,
4243 		.enable_mask = BIT(13),
4244 		.hw.init = &(const struct clk_init_data) {
4245 			.name = "gcc_pcie_3a_slv_axi_clk",
4246 			.ops = &clk_branch2_ops,
4247 		},
4248 	},
4249 };
4250 
4251 static struct clk_branch gcc_pcie_3a_slv_q2a_axi_clk = {
4252 	.halt_reg = 0xdc01c,
4253 	.halt_check = BRANCH_HALT_VOTED,
4254 	.hwcg_reg = 0xdc01c,
4255 	.hwcg_bit = 1,
4256 	.clkr = {
4257 		.enable_reg = 0x62028,
4258 		.enable_mask = BIT(12),
4259 		.hw.init = &(const struct clk_init_data) {
4260 			.name = "gcc_pcie_3a_slv_q2a_axi_clk",
4261 			.ops = &clk_branch2_ops,
4262 		},
4263 	},
4264 };
4265 
4266 static struct clk_branch gcc_pcie_3b_aux_clk = {
4267 	.halt_reg = 0x94050,
4268 	.halt_check = BRANCH_HALT_VOTED,
4269 	.clkr = {
4270 		.enable_reg = 0x62028,
4271 		.enable_mask = BIT(25),
4272 		.hw.init = &(const struct clk_init_data) {
4273 			.name = "gcc_pcie_3b_aux_clk",
4274 			.parent_hws = (const struct clk_hw*[]) {
4275 				&gcc_pcie_3b_aux_clk_src.clkr.hw,
4276 			},
4277 			.num_parents = 1,
4278 			.flags = CLK_SET_RATE_PARENT,
4279 			.ops = &clk_branch2_ops,
4280 		},
4281 	},
4282 };
4283 
4284 static struct clk_branch gcc_pcie_3b_cfg_ahb_clk = {
4285 	.halt_reg = 0xba4f4,
4286 	.halt_check = BRANCH_HALT_VOTED,
4287 	.hwcg_reg = 0xba4f4,
4288 	.hwcg_bit = 1,
4289 	.clkr = {
4290 		.enable_reg = 0x62028,
4291 		.enable_mask = BIT(24),
4292 		.hw.init = &(const struct clk_init_data) {
4293 			.name = "gcc_pcie_3b_cfg_ahb_clk",
4294 			.ops = &clk_branch2_ops,
4295 		},
4296 	},
4297 };
4298 
4299 static struct clk_branch gcc_pcie_3b_mstr_axi_clk = {
4300 	.halt_reg = 0x94038,
4301 	.halt_check = BRANCH_HALT_SKIP,
4302 	.hwcg_reg = 0x94038,
4303 	.hwcg_bit = 1,
4304 	.clkr = {
4305 		.enable_reg = 0x62028,
4306 		.enable_mask = BIT(23),
4307 		.hw.init = &(const struct clk_init_data) {
4308 			.name = "gcc_pcie_3b_mstr_axi_clk",
4309 			.ops = &clk_branch2_ops,
4310 		},
4311 	},
4312 };
4313 
4314 static struct clk_branch gcc_pcie_3b_phy_rchng_clk = {
4315 	.halt_reg = 0x94084,
4316 	.halt_check = BRANCH_HALT_VOTED,
4317 	.clkr = {
4318 		.enable_reg = 0x62028,
4319 		.enable_mask = BIT(28),
4320 		.hw.init = &(const struct clk_init_data) {
4321 			.name = "gcc_pcie_3b_phy_rchng_clk",
4322 			.parent_hws = (const struct clk_hw*[]) {
4323 				&gcc_pcie_3b_phy_rchng_clk_src.clkr.hw,
4324 			},
4325 			.num_parents = 1,
4326 			.flags = CLK_SET_RATE_PARENT,
4327 			.ops = &clk_branch2_ops,
4328 		},
4329 	},
4330 };
4331 
4332 static struct clk_branch gcc_pcie_3b_pipe_clk = {
4333 	.halt_reg = 0x94060,
4334 	.halt_check = BRANCH_HALT_SKIP,
4335 	.clkr = {
4336 		.enable_reg = 0x62028,
4337 		.enable_mask = BIT(26),
4338 		.hw.init = &(const struct clk_init_data) {
4339 			.name = "gcc_pcie_3b_pipe_clk",
4340 			.parent_hws = (const struct clk_hw*[]) {
4341 				&gcc_pcie_3b_pipe_clk_src.clkr.hw,
4342 			},
4343 			.num_parents = 1,
4344 			.flags = CLK_SET_RATE_PARENT,
4345 			.ops = &clk_branch2_ops,
4346 		},
4347 	},
4348 };
4349 
4350 static struct clk_branch gcc_pcie_3b_pipe_div2_clk = {
4351 	.halt_reg = 0x94074,
4352 	.halt_check = BRANCH_HALT_SKIP,
4353 	.clkr = {
4354 		.enable_reg = 0x62028,
4355 		.enable_mask = BIT(27),
4356 		.hw.init = &(const struct clk_init_data) {
4357 			.name = "gcc_pcie_3b_pipe_div2_clk",
4358 			.parent_hws = (const struct clk_hw*[]) {
4359 				&gcc_pcie_3b_pipe_div_clk_src.clkr.hw,
4360 			},
4361 			.num_parents = 1,
4362 			.flags = CLK_SET_RATE_PARENT,
4363 			.ops = &clk_branch2_ops,
4364 		},
4365 	},
4366 };
4367 
4368 static struct clk_branch gcc_pcie_3b_slv_axi_clk = {
4369 	.halt_reg = 0x94024,
4370 	.halt_check = BRANCH_HALT_VOTED,
4371 	.hwcg_reg = 0x94024,
4372 	.hwcg_bit = 1,
4373 	.clkr = {
4374 		.enable_reg = 0x62028,
4375 		.enable_mask = BIT(22),
4376 		.hw.init = &(const struct clk_init_data) {
4377 			.name = "gcc_pcie_3b_slv_axi_clk",
4378 			.ops = &clk_branch2_ops,
4379 		},
4380 	},
4381 };
4382 
4383 static struct clk_branch gcc_pcie_3b_slv_q2a_axi_clk = {
4384 	.halt_reg = 0x9401c,
4385 	.halt_check = BRANCH_HALT_VOTED,
4386 	.clkr = {
4387 		.enable_reg = 0x62028,
4388 		.enable_mask = BIT(21),
4389 		.hw.init = &(const struct clk_init_data) {
4390 			.name = "gcc_pcie_3b_slv_q2a_axi_clk",
4391 			.ops = &clk_branch2_ops,
4392 		},
4393 	},
4394 };
4395 
4396 static struct clk_branch gcc_pcie_4_aux_clk = {
4397 	.halt_reg = 0x88040,
4398 	.halt_check = BRANCH_HALT_VOTED,
4399 	.clkr = {
4400 		.enable_reg = 0x62030,
4401 		.enable_mask = BIT(17),
4402 		.hw.init = &(const struct clk_init_data) {
4403 			.name = "gcc_pcie_4_aux_clk",
4404 			.parent_hws = (const struct clk_hw*[]) {
4405 				&gcc_pcie_4_aux_clk_src.clkr.hw,
4406 			},
4407 			.num_parents = 1,
4408 			.flags = CLK_SET_RATE_PARENT,
4409 			.ops = &clk_branch2_ops,
4410 		},
4411 	},
4412 };
4413 
4414 static struct clk_branch gcc_pcie_4_cfg_ahb_clk = {
4415 	.halt_reg = 0xba4fc,
4416 	.halt_check = BRANCH_HALT_VOTED,
4417 	.hwcg_reg = 0xba4fc,
4418 	.hwcg_bit = 1,
4419 	.clkr = {
4420 		.enable_reg = 0x62030,
4421 		.enable_mask = BIT(16),
4422 		.hw.init = &(const struct clk_init_data) {
4423 			.name = "gcc_pcie_4_cfg_ahb_clk",
4424 			.ops = &clk_branch2_ops,
4425 		},
4426 	},
4427 };
4428 
4429 static struct clk_branch gcc_pcie_4_mstr_axi_clk = {
4430 	.halt_reg = 0x88030,
4431 	.halt_check = BRANCH_HALT_SKIP,
4432 	.hwcg_reg = 0x88030,
4433 	.hwcg_bit = 1,
4434 	.clkr = {
4435 		.enable_reg = 0x62030,
4436 		.enable_mask = BIT(15),
4437 		.hw.init = &(const struct clk_init_data) {
4438 			.name = "gcc_pcie_4_mstr_axi_clk",
4439 			.ops = &clk_branch2_ops,
4440 		},
4441 	},
4442 };
4443 
4444 static struct clk_branch gcc_pcie_4_phy_rchng_clk = {
4445 	.halt_reg = 0x88074,
4446 	.halt_check = BRANCH_HALT_VOTED,
4447 	.clkr = {
4448 		.enable_reg = 0x62030,
4449 		.enable_mask = BIT(20),
4450 		.hw.init = &(const struct clk_init_data) {
4451 			.name = "gcc_pcie_4_phy_rchng_clk",
4452 			.parent_hws = (const struct clk_hw*[]) {
4453 				&gcc_pcie_4_phy_rchng_clk_src.clkr.hw,
4454 			},
4455 			.num_parents = 1,
4456 			.flags = CLK_SET_RATE_PARENT,
4457 			.ops = &clk_branch2_ops,
4458 		},
4459 	},
4460 };
4461 
4462 static struct clk_branch gcc_pcie_4_pipe_clk = {
4463 	.halt_reg = 0x88050,
4464 	.halt_check = BRANCH_HALT_SKIP,
4465 	.clkr = {
4466 		.enable_reg = 0x62030,
4467 		.enable_mask = BIT(18),
4468 		.hw.init = &(const struct clk_init_data) {
4469 			.name = "gcc_pcie_4_pipe_clk",
4470 			.parent_hws = (const struct clk_hw*[]) {
4471 				&gcc_pcie_4_pipe_clk_src.clkr.hw,
4472 			},
4473 			.num_parents = 1,
4474 			.flags = CLK_SET_RATE_PARENT,
4475 			.ops = &clk_branch2_ops,
4476 		},
4477 	},
4478 };
4479 
4480 static struct clk_branch gcc_pcie_4_pipe_div2_clk = {
4481 	.halt_reg = 0x88064,
4482 	.halt_check = BRANCH_HALT_SKIP,
4483 	.clkr = {
4484 		.enable_reg = 0x62030,
4485 		.enable_mask = BIT(19),
4486 		.hw.init = &(const struct clk_init_data) {
4487 			.name = "gcc_pcie_4_pipe_div2_clk",
4488 			.parent_hws = (const struct clk_hw*[]) {
4489 				&gcc_pcie_4_pipe_div_clk_src.clkr.hw,
4490 			},
4491 			.num_parents = 1,
4492 			.flags = CLK_SET_RATE_PARENT,
4493 			.ops = &clk_branch2_ops,
4494 		},
4495 	},
4496 };
4497 
4498 static struct clk_branch gcc_pcie_4_slv_axi_clk = {
4499 	.halt_reg = 0x88020,
4500 	.halt_check = BRANCH_HALT_VOTED,
4501 	.hwcg_reg = 0x88020,
4502 	.hwcg_bit = 1,
4503 	.clkr = {
4504 		.enable_reg = 0x62030,
4505 		.enable_mask = BIT(14),
4506 		.hw.init = &(const struct clk_init_data) {
4507 			.name = "gcc_pcie_4_slv_axi_clk",
4508 			.ops = &clk_branch2_ops,
4509 		},
4510 	},
4511 };
4512 
4513 static struct clk_branch gcc_pcie_4_slv_q2a_axi_clk = {
4514 	.halt_reg = 0x8801c,
4515 	.halt_check = BRANCH_HALT_VOTED,
4516 	.clkr = {
4517 		.enable_reg = 0x62030,
4518 		.enable_mask = BIT(13),
4519 		.hw.init = &(const struct clk_init_data) {
4520 			.name = "gcc_pcie_4_slv_q2a_axi_clk",
4521 			.ops = &clk_branch2_ops,
4522 		},
4523 	},
4524 };
4525 
4526 static struct clk_branch gcc_pcie_5_aux_clk = {
4527 	.halt_reg = 0xc304c,
4528 	.halt_check = BRANCH_HALT_VOTED,
4529 	.clkr = {
4530 		.enable_reg = 0x62030,
4531 		.enable_mask = BIT(5),
4532 		.hw.init = &(const struct clk_init_data) {
4533 			.name = "gcc_pcie_5_aux_clk",
4534 			.parent_hws = (const struct clk_hw*[]) {
4535 				&gcc_pcie_5_aux_clk_src.clkr.hw,
4536 			},
4537 			.num_parents = 1,
4538 			.flags = CLK_SET_RATE_PARENT,
4539 			.ops = &clk_branch2_ops,
4540 		},
4541 	},
4542 };
4543 
4544 static struct clk_branch gcc_pcie_5_cfg_ahb_clk = {
4545 	.halt_reg = 0xba4f8,
4546 	.halt_check = BRANCH_HALT_VOTED,
4547 	.hwcg_reg = 0xba4f8,
4548 	.hwcg_bit = 1,
4549 	.clkr = {
4550 		.enable_reg = 0x62030,
4551 		.enable_mask = BIT(4),
4552 		.hw.init = &(const struct clk_init_data) {
4553 			.name = "gcc_pcie_5_cfg_ahb_clk",
4554 			.ops = &clk_branch2_ops,
4555 		},
4556 	},
4557 };
4558 
4559 static struct clk_branch gcc_pcie_5_mstr_axi_clk = {
4560 	.halt_reg = 0xc3038,
4561 	.halt_check = BRANCH_HALT_SKIP,
4562 	.hwcg_reg = 0xc3038,
4563 	.hwcg_bit = 1,
4564 	.clkr = {
4565 		.enable_reg = 0x62030,
4566 		.enable_mask = BIT(3),
4567 		.hw.init = &(const struct clk_init_data) {
4568 			.name = "gcc_pcie_5_mstr_axi_clk",
4569 			.ops = &clk_branch2_ops,
4570 		},
4571 	},
4572 };
4573 
4574 static struct clk_branch gcc_pcie_5_phy_rchng_clk = {
4575 	.halt_reg = 0xc3080,
4576 	.halt_check = BRANCH_HALT_VOTED,
4577 	.clkr = {
4578 		.enable_reg = 0x62030,
4579 		.enable_mask = BIT(8),
4580 		.hw.init = &(const struct clk_init_data) {
4581 			.name = "gcc_pcie_5_phy_rchng_clk",
4582 			.parent_hws = (const struct clk_hw*[]) {
4583 				&gcc_pcie_5_phy_rchng_clk_src.clkr.hw,
4584 			},
4585 			.num_parents = 1,
4586 			.flags = CLK_SET_RATE_PARENT,
4587 			.ops = &clk_branch2_ops,
4588 		},
4589 	},
4590 };
4591 
4592 static struct clk_branch gcc_pcie_5_pipe_clk = {
4593 	.halt_reg = 0xc305c,
4594 	.halt_check = BRANCH_HALT_SKIP,
4595 	.clkr = {
4596 		.enable_reg = 0x62030,
4597 		.enable_mask = BIT(6),
4598 		.hw.init = &(const struct clk_init_data) {
4599 			.name = "gcc_pcie_5_pipe_clk",
4600 			.parent_hws = (const struct clk_hw*[]) {
4601 				&gcc_pcie_5_pipe_clk_src.clkr.hw,
4602 			},
4603 			.num_parents = 1,
4604 			.flags = CLK_SET_RATE_PARENT,
4605 			.ops = &clk_branch2_ops,
4606 		},
4607 	},
4608 };
4609 
4610 static struct clk_branch gcc_pcie_5_pipe_div2_clk = {
4611 	.halt_reg = 0xc3070,
4612 	.halt_check = BRANCH_HALT_SKIP,
4613 	.clkr = {
4614 		.enable_reg = 0x62030,
4615 		.enable_mask = BIT(7),
4616 		.hw.init = &(const struct clk_init_data) {
4617 			.name = "gcc_pcie_5_pipe_div2_clk",
4618 			.parent_hws = (const struct clk_hw*[]) {
4619 				&gcc_pcie_5_pipe_div_clk_src.clkr.hw,
4620 			},
4621 			.num_parents = 1,
4622 			.flags = CLK_SET_RATE_PARENT,
4623 			.ops = &clk_branch2_ops,
4624 		},
4625 	},
4626 };
4627 
4628 static struct clk_branch gcc_pcie_5_slv_axi_clk = {
4629 	.halt_reg = 0xc3024,
4630 	.halt_check = BRANCH_HALT_VOTED,
4631 	.hwcg_reg = 0xc3024,
4632 	.hwcg_bit = 1,
4633 	.clkr = {
4634 		.enable_reg = 0x62030,
4635 		.enable_mask = BIT(2),
4636 		.hw.init = &(const struct clk_init_data) {
4637 			.name = "gcc_pcie_5_slv_axi_clk",
4638 			.ops = &clk_branch2_ops,
4639 		},
4640 	},
4641 };
4642 
4643 static struct clk_branch gcc_pcie_5_slv_q2a_axi_clk = {
4644 	.halt_reg = 0xc301c,
4645 	.halt_check = BRANCH_HALT_VOTED,
4646 	.clkr = {
4647 		.enable_reg = 0x62030,
4648 		.enable_mask = BIT(1),
4649 		.hw.init = &(const struct clk_init_data) {
4650 			.name = "gcc_pcie_5_slv_q2a_axi_clk",
4651 			.ops = &clk_branch2_ops,
4652 		},
4653 	},
4654 };
4655 
4656 static struct clk_branch gcc_pcie_6_aux_clk = {
4657 	.halt_reg = 0x8a040,
4658 	.halt_check = BRANCH_HALT_VOTED,
4659 	.clkr = {
4660 		.enable_reg = 0x62030,
4661 		.enable_mask = BIT(27),
4662 		.hw.init = &(const struct clk_init_data) {
4663 			.name = "gcc_pcie_6_aux_clk",
4664 			.parent_hws = (const struct clk_hw*[]) {
4665 				&gcc_pcie_6_aux_clk_src.clkr.hw,
4666 			},
4667 			.num_parents = 1,
4668 			.flags = CLK_SET_RATE_PARENT,
4669 			.ops = &clk_branch2_ops,
4670 		},
4671 	},
4672 };
4673 
4674 static struct clk_branch gcc_pcie_6_cfg_ahb_clk = {
4675 	.halt_reg = 0xba500,
4676 	.halt_check = BRANCH_HALT_VOTED,
4677 	.hwcg_reg = 0xba500,
4678 	.hwcg_bit = 1,
4679 	.clkr = {
4680 		.enable_reg = 0x62030,
4681 		.enable_mask = BIT(26),
4682 		.hw.init = &(const struct clk_init_data) {
4683 			.name = "gcc_pcie_6_cfg_ahb_clk",
4684 			.ops = &clk_branch2_ops,
4685 		},
4686 	},
4687 };
4688 
4689 static struct clk_branch gcc_pcie_6_mstr_axi_clk = {
4690 	.halt_reg = 0x8a030,
4691 	.halt_check = BRANCH_HALT_SKIP,
4692 	.hwcg_reg = 0x8a030,
4693 	.hwcg_bit = 1,
4694 	.clkr = {
4695 		.enable_reg = 0x62030,
4696 		.enable_mask = BIT(25),
4697 		.hw.init = &(const struct clk_init_data) {
4698 			.name = "gcc_pcie_6_mstr_axi_clk",
4699 			.ops = &clk_branch2_ops,
4700 		},
4701 	},
4702 };
4703 
4704 static struct clk_branch gcc_pcie_6_phy_rchng_clk = {
4705 	.halt_reg = 0x8a074,
4706 	.halt_check = BRANCH_HALT_VOTED,
4707 	.clkr = {
4708 		.enable_reg = 0x62030,
4709 		.enable_mask = BIT(30),
4710 		.hw.init = &(const struct clk_init_data) {
4711 			.name = "gcc_pcie_6_phy_rchng_clk",
4712 			.parent_hws = (const struct clk_hw*[]) {
4713 				&gcc_pcie_6_phy_rchng_clk_src.clkr.hw,
4714 			},
4715 			.num_parents = 1,
4716 			.flags = CLK_SET_RATE_PARENT,
4717 			.ops = &clk_branch2_ops,
4718 		},
4719 	},
4720 };
4721 
4722 static struct clk_branch gcc_pcie_6_pipe_clk = {
4723 	.halt_reg = 0x8a050,
4724 	.halt_check = BRANCH_HALT_SKIP,
4725 	.clkr = {
4726 		.enable_reg = 0x62030,
4727 		.enable_mask = BIT(28),
4728 		.hw.init = &(const struct clk_init_data) {
4729 			.name = "gcc_pcie_6_pipe_clk",
4730 			.parent_hws = (const struct clk_hw*[]) {
4731 				&gcc_pcie_6_pipe_clk_src.clkr.hw,
4732 			},
4733 			.num_parents = 1,
4734 			.flags = CLK_SET_RATE_PARENT,
4735 			.ops = &clk_branch2_ops,
4736 		},
4737 	},
4738 };
4739 
4740 static struct clk_branch gcc_pcie_6_pipe_div2_clk = {
4741 	.halt_reg = 0x8a064,
4742 	.halt_check = BRANCH_HALT_SKIP,
4743 	.clkr = {
4744 		.enable_reg = 0x62030,
4745 		.enable_mask = BIT(29),
4746 		.hw.init = &(const struct clk_init_data) {
4747 			.name = "gcc_pcie_6_pipe_div2_clk",
4748 			.parent_hws = (const struct clk_hw*[]) {
4749 				&gcc_pcie_6_pipe_div_clk_src.clkr.hw,
4750 			},
4751 			.num_parents = 1,
4752 			.flags = CLK_SET_RATE_PARENT,
4753 			.ops = &clk_branch2_ops,
4754 		},
4755 	},
4756 };
4757 
4758 static struct clk_branch gcc_pcie_6_slv_axi_clk = {
4759 	.halt_reg = 0x8a020,
4760 	.halt_check = BRANCH_HALT_VOTED,
4761 	.hwcg_reg = 0x8a020,
4762 	.hwcg_bit = 1,
4763 	.clkr = {
4764 		.enable_reg = 0x62030,
4765 		.enable_mask = BIT(24),
4766 		.hw.init = &(const struct clk_init_data) {
4767 			.name = "gcc_pcie_6_slv_axi_clk",
4768 			.ops = &clk_branch2_ops,
4769 		},
4770 	},
4771 };
4772 
4773 static struct clk_branch gcc_pcie_6_slv_q2a_axi_clk = {
4774 	.halt_reg = 0x8a01c,
4775 	.halt_check = BRANCH_HALT_VOTED,
4776 	.clkr = {
4777 		.enable_reg = 0x62030,
4778 		.enable_mask = BIT(23),
4779 		.hw.init = &(const struct clk_init_data) {
4780 			.name = "gcc_pcie_6_slv_q2a_axi_clk",
4781 			.ops = &clk_branch2_ops,
4782 		},
4783 	},
4784 };
4785 
4786 static struct clk_branch gcc_pcie_noc_pwrctl_clk = {
4787 	.halt_reg = 0xba2ac,
4788 	.halt_check = BRANCH_HALT_VOTED,
4789 	.clkr = {
4790 		.enable_reg = 0x62008,
4791 		.enable_mask = BIT(7),
4792 		.hw.init = &(const struct clk_init_data) {
4793 			.name = "gcc_pcie_noc_pwrctl_clk",
4794 			.ops = &clk_branch2_ops,
4795 		},
4796 	},
4797 };
4798 
4799 static struct clk_branch gcc_pcie_noc_qosgen_extref_clk = {
4800 	.halt_reg = 0xba2a8,
4801 	.halt_check = BRANCH_HALT_VOTED,
4802 	.clkr = {
4803 		.enable_reg = 0x62008,
4804 		.enable_mask = BIT(6),
4805 		.hw.init = &(const struct clk_init_data) {
4806 			.name = "gcc_pcie_noc_qosgen_extref_clk",
4807 			.ops = &clk_branch2_ops,
4808 		},
4809 	},
4810 };
4811 
4812 static struct clk_branch gcc_pcie_noc_sf_center_clk = {
4813 	.halt_reg = 0xba2b0,
4814 	.halt_check = BRANCH_HALT_VOTED,
4815 	.hwcg_reg = 0xba2b0,
4816 	.hwcg_bit = 1,
4817 	.clkr = {
4818 		.enable_reg = 0x62008,
4819 		.enable_mask = BIT(8),
4820 		.hw.init = &(const struct clk_init_data) {
4821 			.name = "gcc_pcie_noc_sf_center_clk",
4822 			.ops = &clk_branch2_ops,
4823 		},
4824 	},
4825 };
4826 
4827 static struct clk_branch gcc_pcie_noc_slave_sf_east_clk = {
4828 	.halt_reg = 0xba2b8,
4829 	.halt_check = BRANCH_HALT_VOTED,
4830 	.hwcg_reg = 0xba2b8,
4831 	.hwcg_bit = 1,
4832 	.clkr = {
4833 		.enable_reg = 0x62008,
4834 		.enable_mask = BIT(9),
4835 		.hw.init = &(const struct clk_init_data) {
4836 			.name = "gcc_pcie_noc_slave_sf_east_clk",
4837 			.ops = &clk_branch2_ops,
4838 		},
4839 	},
4840 };
4841 
4842 static struct clk_branch gcc_pcie_noc_slave_sf_west_clk = {
4843 	.halt_reg = 0xba2c0,
4844 	.halt_check = BRANCH_HALT_VOTED,
4845 	.hwcg_reg = 0xba2c0,
4846 	.hwcg_bit = 1,
4847 	.clkr = {
4848 		.enable_reg = 0x62008,
4849 		.enable_mask = BIT(10),
4850 		.hw.init = &(const struct clk_init_data) {
4851 			.name = "gcc_pcie_noc_slave_sf_west_clk",
4852 			.ops = &clk_branch2_ops,
4853 		},
4854 	},
4855 };
4856 
4857 static struct clk_branch gcc_pcie_noc_tsctr_clk = {
4858 	.halt_reg = 0xba2a4,
4859 	.halt_check = BRANCH_HALT_VOTED,
4860 	.hwcg_reg = 0xba2a4,
4861 	.hwcg_bit = 1,
4862 	.clkr = {
4863 		.enable_reg = 0x62008,
4864 		.enable_mask = BIT(5),
4865 		.hw.init = &(const struct clk_init_data) {
4866 			.name = "gcc_pcie_noc_tsctr_clk",
4867 			.ops = &clk_branch2_ops,
4868 		},
4869 	},
4870 };
4871 
4872 static struct clk_branch gcc_pcie_phy_3a_aux_clk = {
4873 	.halt_reg = 0x6c038,
4874 	.halt_check = BRANCH_HALT_VOTED,
4875 	.hwcg_reg = 0x6c038,
4876 	.hwcg_bit = 1,
4877 	.clkr = {
4878 		.enable_reg = 0x62028,
4879 		.enable_mask = BIT(19),
4880 		.hw.init = &(const struct clk_init_data) {
4881 			.name = "gcc_pcie_phy_3a_aux_clk",
4882 			.parent_hws = (const struct clk_hw*[]) {
4883 				&gcc_pcie_phy_3a_aux_clk_src.clkr.hw,
4884 			},
4885 			.num_parents = 1,
4886 			.flags = CLK_SET_RATE_PARENT,
4887 			.ops = &clk_branch2_ops,
4888 		},
4889 	},
4890 };
4891 
4892 static struct clk_branch gcc_pcie_phy_3b_aux_clk = {
4893 	.halt_reg = 0x75034,
4894 	.halt_check = BRANCH_HALT_VOTED,
4895 	.clkr = {
4896 		.enable_reg = 0x62028,
4897 		.enable_mask = BIT(31),
4898 		.hw.init = &(const struct clk_init_data) {
4899 			.name = "gcc_pcie_phy_3b_aux_clk",
4900 			.parent_hws = (const struct clk_hw*[]) {
4901 				&gcc_pcie_phy_3b_aux_clk_src.clkr.hw,
4902 			},
4903 			.num_parents = 1,
4904 			.flags = CLK_SET_RATE_PARENT,
4905 			.ops = &clk_branch2_ops,
4906 		},
4907 	},
4908 };
4909 
4910 static struct clk_branch gcc_pcie_phy_4_aux_clk = {
4911 	.halt_reg = 0xd3030,
4912 	.halt_check = BRANCH_HALT_VOTED,
4913 	.clkr = {
4914 		.enable_reg = 0x62030,
4915 		.enable_mask = BIT(21),
4916 		.hw.init = &(const struct clk_init_data) {
4917 			.name = "gcc_pcie_phy_4_aux_clk",
4918 			.parent_hws = (const struct clk_hw*[]) {
4919 				&gcc_pcie_phy_4_aux_clk_src.clkr.hw,
4920 			},
4921 			.num_parents = 1,
4922 			.flags = CLK_SET_RATE_PARENT,
4923 			.ops = &clk_branch2_ops,
4924 		},
4925 	},
4926 };
4927 
4928 static struct clk_branch gcc_pcie_phy_5_aux_clk = {
4929 	.halt_reg = 0xd2030,
4930 	.halt_check = BRANCH_HALT_VOTED,
4931 	.clkr = {
4932 		.enable_reg = 0x62030,
4933 		.enable_mask = BIT(11),
4934 		.hw.init = &(const struct clk_init_data) {
4935 			.name = "gcc_pcie_phy_5_aux_clk",
4936 			.parent_hws = (const struct clk_hw*[]) {
4937 				&gcc_pcie_phy_5_aux_clk_src.clkr.hw,
4938 			},
4939 			.num_parents = 1,
4940 			.flags = CLK_SET_RATE_PARENT,
4941 			.ops = &clk_branch2_ops,
4942 		},
4943 	},
4944 };
4945 
4946 static struct clk_branch gcc_pcie_phy_6_aux_clk = {
4947 	.halt_reg = 0xd4030,
4948 	.halt_check = BRANCH_HALT_VOTED,
4949 	.clkr = {
4950 		.enable_reg = 0x62030,
4951 		.enable_mask = BIT(31),
4952 		.hw.init = &(const struct clk_init_data) {
4953 			.name = "gcc_pcie_phy_6_aux_clk",
4954 			.parent_hws = (const struct clk_hw*[]) {
4955 				&gcc_pcie_phy_6_aux_clk_src.clkr.hw,
4956 			},
4957 			.num_parents = 1,
4958 			.flags = CLK_SET_RATE_PARENT,
4959 			.ops = &clk_branch2_ops,
4960 		},
4961 	},
4962 };
4963 
4964 static struct clk_branch gcc_pcie_rscc_cfg_ahb_clk = {
4965 	.halt_reg = 0xb8004,
4966 	.halt_check = BRANCH_HALT_VOTED,
4967 	.hwcg_reg = 0xb8004,
4968 	.hwcg_bit = 1,
4969 	.clkr = {
4970 		.enable_reg = 0x62038,
4971 		.enable_mask = BIT(2),
4972 		.hw.init = &(const struct clk_init_data) {
4973 			.name = "gcc_pcie_rscc_cfg_ahb_clk",
4974 			.ops = &clk_branch2_ops,
4975 		},
4976 	},
4977 };
4978 
4979 static struct clk_branch gcc_pcie_rscc_xo_clk = {
4980 	.halt_reg = 0xb8008,
4981 	.halt_check = BRANCH_HALT_VOTED,
4982 	.clkr = {
4983 		.enable_reg = 0x62038,
4984 		.enable_mask = BIT(3),
4985 		.hw.init = &(const struct clk_init_data) {
4986 			.name = "gcc_pcie_rscc_xo_clk",
4987 			.ops = &clk_branch2_ops,
4988 		},
4989 	},
4990 };
4991 
4992 static struct clk_branch gcc_pdm2_clk = {
4993 	.halt_reg = 0x3300c,
4994 	.halt_check = BRANCH_HALT,
4995 	.clkr = {
4996 		.enable_reg = 0x3300c,
4997 		.enable_mask = BIT(0),
4998 		.hw.init = &(const struct clk_init_data) {
4999 			.name = "gcc_pdm2_clk",
5000 			.parent_hws = (const struct clk_hw*[]) {
5001 				&gcc_pdm2_clk_src.clkr.hw,
5002 			},
5003 			.num_parents = 1,
5004 			.flags = CLK_SET_RATE_PARENT,
5005 			.ops = &clk_branch2_ops,
5006 		},
5007 	},
5008 };
5009 
5010 static struct clk_branch gcc_pdm_ahb_clk = {
5011 	.halt_reg = 0x33004,
5012 	.halt_check = BRANCH_HALT_VOTED,
5013 	.hwcg_reg = 0x33004,
5014 	.hwcg_bit = 1,
5015 	.clkr = {
5016 		.enable_reg = 0x33004,
5017 		.enable_mask = BIT(0),
5018 		.hw.init = &(const struct clk_init_data) {
5019 			.name = "gcc_pdm_ahb_clk",
5020 			.ops = &clk_branch2_ops,
5021 		},
5022 	},
5023 };
5024 
5025 static struct clk_branch gcc_pdm_xo4_clk = {
5026 	.halt_reg = 0x33008,
5027 	.halt_check = BRANCH_HALT,
5028 	.clkr = {
5029 		.enable_reg = 0x33008,
5030 		.enable_mask = BIT(0),
5031 		.hw.init = &(const struct clk_init_data) {
5032 			.name = "gcc_pdm_xo4_clk",
5033 			.ops = &clk_branch2_ops,
5034 		},
5035 	},
5036 };
5037 
5038 static struct clk_branch gcc_qmip_av1e_ahb_clk = {
5039 	.halt_reg = 0x9b048,
5040 	.halt_check = BRANCH_HALT_VOTED,
5041 	.hwcg_reg = 0x9b048,
5042 	.hwcg_bit = 1,
5043 	.clkr = {
5044 		.enable_reg = 0x9b048,
5045 		.enable_mask = BIT(0),
5046 		.hw.init = &(const struct clk_init_data) {
5047 			.name = "gcc_qmip_av1e_ahb_clk",
5048 			.ops = &clk_branch2_ops,
5049 		},
5050 	},
5051 };
5052 
5053 static struct clk_branch gcc_qmip_camera_cmd_ahb_clk = {
5054 	.halt_reg = 0x26010,
5055 	.halt_check = BRANCH_HALT_VOTED,
5056 	.hwcg_reg = 0x26010,
5057 	.hwcg_bit = 1,
5058 	.clkr = {
5059 		.enable_reg = 0x26010,
5060 		.enable_mask = BIT(0),
5061 		.hw.init = &(const struct clk_init_data) {
5062 			.name = "gcc_qmip_camera_cmd_ahb_clk",
5063 			.ops = &clk_branch2_ops,
5064 		},
5065 	},
5066 };
5067 
5068 static struct clk_branch gcc_qmip_camera_nrt_ahb_clk = {
5069 	.halt_reg = 0x26008,
5070 	.halt_check = BRANCH_HALT_VOTED,
5071 	.hwcg_reg = 0x26008,
5072 	.hwcg_bit = 1,
5073 	.clkr = {
5074 		.enable_reg = 0x26008,
5075 		.enable_mask = BIT(0),
5076 		.hw.init = &(const struct clk_init_data) {
5077 			.name = "gcc_qmip_camera_nrt_ahb_clk",
5078 			.ops = &clk_branch2_ops,
5079 		},
5080 	},
5081 };
5082 
5083 static struct clk_branch gcc_qmip_camera_rt_ahb_clk = {
5084 	.halt_reg = 0x2600c,
5085 	.halt_check = BRANCH_HALT_VOTED,
5086 	.hwcg_reg = 0x2600c,
5087 	.hwcg_bit = 1,
5088 	.clkr = {
5089 		.enable_reg = 0x2600c,
5090 		.enable_mask = BIT(0),
5091 		.hw.init = &(const struct clk_init_data) {
5092 			.name = "gcc_qmip_camera_rt_ahb_clk",
5093 			.ops = &clk_branch2_ops,
5094 		},
5095 	},
5096 };
5097 
5098 static struct clk_branch gcc_qmip_gpu_ahb_clk = {
5099 	.halt_reg = 0x71008,
5100 	.halt_check = BRANCH_HALT_VOTED,
5101 	.hwcg_reg = 0x71008,
5102 	.hwcg_bit = 1,
5103 	.clkr = {
5104 		.enable_reg = 0x71008,
5105 		.enable_mask = BIT(0),
5106 		.hw.init = &(const struct clk_init_data) {
5107 			.name = "gcc_qmip_gpu_ahb_clk",
5108 			.ops = &clk_branch2_ops,
5109 		},
5110 	},
5111 };
5112 
5113 static struct clk_branch gcc_qmip_pcie_3a_ahb_clk = {
5114 	.halt_reg = 0xdc018,
5115 	.halt_check = BRANCH_HALT_VOTED,
5116 	.hwcg_reg = 0xdc018,
5117 	.hwcg_bit = 1,
5118 	.clkr = {
5119 		.enable_reg = 0x62028,
5120 		.enable_mask = BIT(11),
5121 		.hw.init = &(const struct clk_init_data) {
5122 			.name = "gcc_qmip_pcie_3a_ahb_clk",
5123 			.ops = &clk_branch2_ops,
5124 		},
5125 	},
5126 };
5127 
5128 static struct clk_branch gcc_qmip_pcie_3b_ahb_clk = {
5129 	.halt_reg = 0x94018,
5130 	.halt_check = BRANCH_HALT_VOTED,
5131 	.hwcg_reg = 0x94018,
5132 	.hwcg_bit = 1,
5133 	.clkr = {
5134 		.enable_reg = 0x62028,
5135 		.enable_mask = BIT(20),
5136 		.hw.init = &(const struct clk_init_data) {
5137 			.name = "gcc_qmip_pcie_3b_ahb_clk",
5138 			.ops = &clk_branch2_ops,
5139 		},
5140 	},
5141 };
5142 
5143 static struct clk_branch gcc_qmip_pcie_4_ahb_clk = {
5144 	.halt_reg = 0x88018,
5145 	.halt_check = BRANCH_HALT_VOTED,
5146 	.hwcg_reg = 0x88018,
5147 	.hwcg_bit = 1,
5148 	.clkr = {
5149 		.enable_reg = 0x62030,
5150 		.enable_mask = BIT(12),
5151 		.hw.init = &(const struct clk_init_data) {
5152 			.name = "gcc_qmip_pcie_4_ahb_clk",
5153 			.ops = &clk_branch2_ops,
5154 		},
5155 	},
5156 };
5157 
5158 static struct clk_branch gcc_qmip_pcie_5_ahb_clk = {
5159 	.halt_reg = 0xc3018,
5160 	.halt_check = BRANCH_HALT_VOTED,
5161 	.hwcg_reg = 0xc3018,
5162 	.hwcg_bit = 1,
5163 	.clkr = {
5164 		.enable_reg = 0x62030,
5165 		.enable_mask = BIT(0),
5166 		.hw.init = &(const struct clk_init_data) {
5167 			.name = "gcc_qmip_pcie_5_ahb_clk",
5168 			.ops = &clk_branch2_ops,
5169 		},
5170 	},
5171 };
5172 
5173 static struct clk_branch gcc_qmip_pcie_6_ahb_clk = {
5174 	.halt_reg = 0x8a018,
5175 	.halt_check = BRANCH_HALT_VOTED,
5176 	.hwcg_reg = 0x8a018,
5177 	.hwcg_bit = 1,
5178 	.clkr = {
5179 		.enable_reg = 0x62030,
5180 		.enable_mask = BIT(22),
5181 		.hw.init = &(const struct clk_init_data) {
5182 			.name = "gcc_qmip_pcie_6_ahb_clk",
5183 			.ops = &clk_branch2_ops,
5184 		},
5185 	},
5186 };
5187 
5188 static struct clk_branch gcc_qmip_video_cv_cpu_ahb_clk = {
5189 	.halt_reg = 0x32018,
5190 	.halt_check = BRANCH_HALT_VOTED,
5191 	.hwcg_reg = 0x32018,
5192 	.hwcg_bit = 1,
5193 	.clkr = {
5194 		.enable_reg = 0x32018,
5195 		.enable_mask = BIT(0),
5196 		.hw.init = &(const struct clk_init_data) {
5197 			.name = "gcc_qmip_video_cv_cpu_ahb_clk",
5198 			.ops = &clk_branch2_ops,
5199 		},
5200 	},
5201 };
5202 
5203 static struct clk_branch gcc_qmip_video_cvp_ahb_clk = {
5204 	.halt_reg = 0x32008,
5205 	.halt_check = BRANCH_HALT_VOTED,
5206 	.hwcg_reg = 0x32008,
5207 	.hwcg_bit = 1,
5208 	.clkr = {
5209 		.enable_reg = 0x32008,
5210 		.enable_mask = BIT(0),
5211 		.hw.init = &(const struct clk_init_data) {
5212 			.name = "gcc_qmip_video_cvp_ahb_clk",
5213 			.ops = &clk_branch2_ops,
5214 		},
5215 	},
5216 };
5217 
5218 static struct clk_branch gcc_qmip_video_v_cpu_ahb_clk = {
5219 	.halt_reg = 0x32014,
5220 	.halt_check = BRANCH_HALT_VOTED,
5221 	.hwcg_reg = 0x32014,
5222 	.hwcg_bit = 1,
5223 	.clkr = {
5224 		.enable_reg = 0x32014,
5225 		.enable_mask = BIT(0),
5226 		.hw.init = &(const struct clk_init_data) {
5227 			.name = "gcc_qmip_video_v_cpu_ahb_clk",
5228 			.ops = &clk_branch2_ops,
5229 		},
5230 	},
5231 };
5232 
5233 static struct clk_branch gcc_qmip_video_vcodec1_ahb_clk = {
5234 	.halt_reg = 0x32010,
5235 	.halt_check = BRANCH_HALT_VOTED,
5236 	.hwcg_reg = 0x32010,
5237 	.hwcg_bit = 1,
5238 	.clkr = {
5239 		.enable_reg = 0x32010,
5240 		.enable_mask = BIT(0),
5241 		.hw.init = &(const struct clk_init_data) {
5242 			.name = "gcc_qmip_video_vcodec1_ahb_clk",
5243 			.ops = &clk_branch2_ops,
5244 		},
5245 	},
5246 };
5247 
5248 static struct clk_branch gcc_qmip_video_vcodec_ahb_clk = {
5249 	.halt_reg = 0x3200c,
5250 	.halt_check = BRANCH_HALT_VOTED,
5251 	.hwcg_reg = 0x3200c,
5252 	.hwcg_bit = 1,
5253 	.clkr = {
5254 		.enable_reg = 0x3200c,
5255 		.enable_mask = BIT(0),
5256 		.hw.init = &(const struct clk_init_data) {
5257 			.name = "gcc_qmip_video_vcodec_ahb_clk",
5258 			.ops = &clk_branch2_ops,
5259 		},
5260 	},
5261 };
5262 
5263 static struct clk_branch gcc_qupv3_oob_core_2x_clk = {
5264 	.halt_reg = 0xc5040,
5265 	.halt_check = BRANCH_HALT_VOTED,
5266 	.clkr = {
5267 		.enable_reg = 0x62018,
5268 		.enable_mask = BIT(5),
5269 		.hw.init = &(const struct clk_init_data) {
5270 			.name = "gcc_qupv3_oob_core_2x_clk",
5271 			.ops = &clk_branch2_ops,
5272 		},
5273 	},
5274 };
5275 
5276 static struct clk_branch gcc_qupv3_oob_core_clk = {
5277 	.halt_reg = 0xc502c,
5278 	.halt_check = BRANCH_HALT_VOTED,
5279 	.clkr = {
5280 		.enable_reg = 0x62018,
5281 		.enable_mask = BIT(4),
5282 		.hw.init = &(const struct clk_init_data) {
5283 			.name = "gcc_qupv3_oob_core_clk",
5284 			.ops = &clk_branch2_ops,
5285 		},
5286 	},
5287 };
5288 
5289 static struct clk_branch gcc_qupv3_oob_m_ahb_clk = {
5290 	.halt_reg = 0xe7004,
5291 	.halt_check = BRANCH_HALT_VOTED,
5292 	.hwcg_reg = 0xe7004,
5293 	.hwcg_bit = 1,
5294 	.clkr = {
5295 		.enable_reg = 0xe7004,
5296 		.enable_mask = BIT(0),
5297 		.hw.init = &(const struct clk_init_data) {
5298 			.name = "gcc_qupv3_oob_m_ahb_clk",
5299 			.ops = &clk_branch2_ops,
5300 		},
5301 	},
5302 };
5303 
5304 static struct clk_branch gcc_qupv3_oob_qspi_s0_clk = {
5305 	.halt_reg = 0xe7040,
5306 	.halt_check = BRANCH_HALT_VOTED,
5307 	.clkr = {
5308 		.enable_reg = 0x62018,
5309 		.enable_mask = BIT(9),
5310 		.hw.init = &(const struct clk_init_data) {
5311 			.name = "gcc_qupv3_oob_qspi_s0_clk",
5312 			.parent_hws = (const struct clk_hw*[]) {
5313 				&gcc_qupv3_oob_qspi_s0_clk_src.clkr.hw,
5314 			},
5315 			.num_parents = 1,
5316 			.flags = CLK_SET_RATE_PARENT,
5317 			.ops = &clk_branch2_ops,
5318 		},
5319 	},
5320 };
5321 
5322 static struct clk_branch gcc_qupv3_oob_qspi_s1_clk = {
5323 	.halt_reg = 0xe729c,
5324 	.halt_check = BRANCH_HALT_VOTED,
5325 	.clkr = {
5326 		.enable_reg = 0x62018,
5327 		.enable_mask = BIT(10),
5328 		.hw.init = &(const struct clk_init_data) {
5329 			.name = "gcc_qupv3_oob_qspi_s1_clk",
5330 			.parent_hws = (const struct clk_hw*[]) {
5331 				&gcc_qupv3_oob_qspi_s1_clk_src.clkr.hw,
5332 			},
5333 			.num_parents = 1,
5334 			.flags = CLK_SET_RATE_PARENT,
5335 			.ops = &clk_branch2_ops,
5336 		},
5337 	},
5338 };
5339 
5340 static struct clk_branch gcc_qupv3_oob_s0_clk = {
5341 	.halt_reg = 0xe7014,
5342 	.halt_check = BRANCH_HALT_VOTED,
5343 	.clkr = {
5344 		.enable_reg = 0x62018,
5345 		.enable_mask = BIT(6),
5346 		.hw.init = &(const struct clk_init_data) {
5347 			.name = "gcc_qupv3_oob_s0_clk",
5348 			.parent_hws = (const struct clk_hw*[]) {
5349 				&gcc_qupv3_oob_s0_clk_src.clkr.hw,
5350 			},
5351 			.num_parents = 1,
5352 			.flags = CLK_SET_RATE_PARENT,
5353 			.ops = &clk_branch2_ops,
5354 		},
5355 	},
5356 };
5357 
5358 static struct clk_branch gcc_qupv3_oob_s1_clk = {
5359 	.halt_reg = 0xe7028,
5360 	.halt_check = BRANCH_HALT_VOTED,
5361 	.clkr = {
5362 		.enable_reg = 0x62018,
5363 		.enable_mask = BIT(7),
5364 		.hw.init = &(const struct clk_init_data) {
5365 			.name = "gcc_qupv3_oob_s1_clk",
5366 			.parent_hws = (const struct clk_hw*[]) {
5367 				&gcc_qupv3_oob_s1_clk_src.clkr.hw,
5368 			},
5369 			.num_parents = 1,
5370 			.flags = CLK_SET_RATE_PARENT,
5371 			.ops = &clk_branch2_ops,
5372 		},
5373 	},
5374 };
5375 
5376 static struct clk_branch gcc_qupv3_oob_s_ahb_clk = {
5377 	.halt_reg = 0xc5028,
5378 	.halt_check = BRANCH_HALT_VOTED,
5379 	.hwcg_reg = 0xc5028,
5380 	.hwcg_bit = 1,
5381 	.clkr = {
5382 		.enable_reg = 0x62018,
5383 		.enable_mask = BIT(3),
5384 		.hw.init = &(const struct clk_init_data) {
5385 			.name = "gcc_qupv3_oob_s_ahb_clk",
5386 			.ops = &clk_branch2_ops,
5387 		},
5388 	},
5389 };
5390 
5391 static struct clk_branch gcc_qupv3_oob_tcxo_clk = {
5392 	.halt_reg = 0xe703c,
5393 	.halt_check = BRANCH_HALT_VOTED,
5394 	.clkr = {
5395 		.enable_reg = 0x62018,
5396 		.enable_mask = BIT(8),
5397 		.hw.init = &(const struct clk_init_data) {
5398 			.name = "gcc_qupv3_oob_tcxo_clk",
5399 			.ops = &clk_branch2_ops,
5400 		},
5401 	},
5402 };
5403 
5404 static struct clk_branch gcc_qupv3_wrap0_core_2x_clk = {
5405 	.halt_reg = 0xc5448,
5406 	.halt_check = BRANCH_HALT_VOTED,
5407 	.clkr = {
5408 		.enable_reg = 0x62020,
5409 		.enable_mask = BIT(12),
5410 		.hw.init = &(const struct clk_init_data) {
5411 			.name = "gcc_qupv3_wrap0_core_2x_clk",
5412 			.ops = &clk_branch2_ops,
5413 		},
5414 	},
5415 };
5416 
5417 static struct clk_branch gcc_qupv3_wrap0_core_clk = {
5418 	.halt_reg = 0xc5434,
5419 	.halt_check = BRANCH_HALT_VOTED,
5420 	.clkr = {
5421 		.enable_reg = 0x62020,
5422 		.enable_mask = BIT(11),
5423 		.hw.init = &(const struct clk_init_data) {
5424 			.name = "gcc_qupv3_wrap0_core_clk",
5425 			.ops = &clk_branch2_ops,
5426 		},
5427 	},
5428 };
5429 
5430 static struct clk_branch gcc_qupv3_wrap0_qspi_s2_clk = {
5431 	.halt_reg = 0x2879c,
5432 	.halt_check = BRANCH_HALT_VOTED,
5433 	.clkr = {
5434 		.enable_reg = 0x62020,
5435 		.enable_mask = BIT(22),
5436 		.hw.init = &(const struct clk_init_data) {
5437 			.name = "gcc_qupv3_wrap0_qspi_s2_clk",
5438 			.parent_hws = (const struct clk_hw*[]) {
5439 				&gcc_qupv3_wrap0_qspi_s2_clk_src.clkr.hw,
5440 			},
5441 			.num_parents = 1,
5442 			.flags = CLK_SET_RATE_PARENT,
5443 			.ops = &clk_branch2_ops,
5444 		},
5445 	},
5446 };
5447 
5448 static struct clk_branch gcc_qupv3_wrap0_qspi_s3_clk = {
5449 	.halt_reg = 0x288cc,
5450 	.halt_check = BRANCH_HALT_VOTED,
5451 	.clkr = {
5452 		.enable_reg = 0x62020,
5453 		.enable_mask = BIT(23),
5454 		.hw.init = &(const struct clk_init_data) {
5455 			.name = "gcc_qupv3_wrap0_qspi_s3_clk",
5456 			.parent_hws = (const struct clk_hw*[]) {
5457 				&gcc_qupv3_wrap0_qspi_s3_clk_src.clkr.hw,
5458 			},
5459 			.num_parents = 1,
5460 			.flags = CLK_SET_RATE_PARENT,
5461 			.ops = &clk_branch2_ops,
5462 		},
5463 	},
5464 };
5465 
5466 static struct clk_branch gcc_qupv3_wrap0_qspi_s6_clk = {
5467 	.halt_reg = 0x28798,
5468 	.halt_check = BRANCH_HALT_VOTED,
5469 	.clkr = {
5470 		.enable_reg = 0x62020,
5471 		.enable_mask = BIT(21),
5472 		.hw.init = &(const struct clk_init_data) {
5473 			.name = "gcc_qupv3_wrap0_qspi_s6_clk",
5474 			.parent_hws = (const struct clk_hw*[]) {
5475 				&gcc_qupv3_wrap0_qspi_s6_clk_src.clkr.hw,
5476 			},
5477 			.num_parents = 1,
5478 			.flags = CLK_SET_RATE_PARENT,
5479 			.ops = &clk_branch2_ops,
5480 		},
5481 	},
5482 };
5483 
5484 static struct clk_branch gcc_qupv3_wrap0_s0_clk = {
5485 	.halt_reg = 0x28004,
5486 	.halt_check = BRANCH_HALT_VOTED,
5487 	.clkr = {
5488 		.enable_reg = 0x62020,
5489 		.enable_mask = BIT(13),
5490 		.hw.init = &(const struct clk_init_data) {
5491 			.name = "gcc_qupv3_wrap0_s0_clk",
5492 			.parent_hws = (const struct clk_hw*[]) {
5493 				&gcc_qupv3_wrap0_s0_clk_src.clkr.hw,
5494 			},
5495 			.num_parents = 1,
5496 			.flags = CLK_SET_RATE_PARENT,
5497 			.ops = &clk_branch2_ops,
5498 		},
5499 	},
5500 };
5501 
5502 static struct clk_branch gcc_qupv3_wrap0_s1_clk = {
5503 	.halt_reg = 0x28140,
5504 	.halt_check = BRANCH_HALT_VOTED,
5505 	.clkr = {
5506 		.enable_reg = 0x62020,
5507 		.enable_mask = BIT(14),
5508 		.hw.init = &(const struct clk_init_data) {
5509 			.name = "gcc_qupv3_wrap0_s1_clk",
5510 			.parent_hws = (const struct clk_hw*[]) {
5511 				&gcc_qupv3_wrap0_s1_clk_src.clkr.hw,
5512 			},
5513 			.num_parents = 1,
5514 			.flags = CLK_SET_RATE_PARENT,
5515 			.ops = &clk_branch2_ops,
5516 		},
5517 	},
5518 };
5519 
5520 static struct clk_branch gcc_qupv3_wrap0_s2_clk = {
5521 	.halt_reg = 0x2827c,
5522 	.halt_check = BRANCH_HALT_VOTED,
5523 	.clkr = {
5524 		.enable_reg = 0x62020,
5525 		.enable_mask = BIT(15),
5526 		.hw.init = &(const struct clk_init_data) {
5527 			.name = "gcc_qupv3_wrap0_s2_clk",
5528 			.parent_hws = (const struct clk_hw*[]) {
5529 				&gcc_qupv3_wrap0_s2_clk_src.clkr.hw,
5530 			},
5531 			.num_parents = 1,
5532 			.flags = CLK_SET_RATE_PARENT,
5533 			.ops = &clk_branch2_ops,
5534 		},
5535 	},
5536 };
5537 
5538 static struct clk_branch gcc_qupv3_wrap0_s3_clk = {
5539 	.halt_reg = 0x28290,
5540 	.halt_check = BRANCH_HALT_VOTED,
5541 	.clkr = {
5542 		.enable_reg = 0x62020,
5543 		.enable_mask = BIT(16),
5544 		.hw.init = &(const struct clk_init_data) {
5545 			.name = "gcc_qupv3_wrap0_s3_clk",
5546 			.parent_hws = (const struct clk_hw*[]) {
5547 				&gcc_qupv3_wrap0_s3_clk_src.clkr.hw,
5548 			},
5549 			.num_parents = 1,
5550 			.flags = CLK_SET_RATE_PARENT,
5551 			.ops = &clk_branch2_ops,
5552 		},
5553 	},
5554 };
5555 
5556 static struct clk_branch gcc_qupv3_wrap0_s4_clk = {
5557 	.halt_reg = 0x282a4,
5558 	.halt_check = BRANCH_HALT_VOTED,
5559 	.clkr = {
5560 		.enable_reg = 0x62020,
5561 		.enable_mask = BIT(17),
5562 		.hw.init = &(const struct clk_init_data) {
5563 			.name = "gcc_qupv3_wrap0_s4_clk",
5564 			.parent_hws = (const struct clk_hw*[]) {
5565 				&gcc_qupv3_wrap0_s4_clk_src.clkr.hw,
5566 			},
5567 			.num_parents = 1,
5568 			.flags = CLK_SET_RATE_PARENT,
5569 			.ops = &clk_branch2_ops,
5570 		},
5571 	},
5572 };
5573 
5574 static struct clk_branch gcc_qupv3_wrap0_s5_clk = {
5575 	.halt_reg = 0x283e0,
5576 	.halt_check = BRANCH_HALT_VOTED,
5577 	.clkr = {
5578 		.enable_reg = 0x62020,
5579 		.enable_mask = BIT(18),
5580 		.hw.init = &(const struct clk_init_data) {
5581 			.name = "gcc_qupv3_wrap0_s5_clk",
5582 			.parent_hws = (const struct clk_hw*[]) {
5583 				&gcc_qupv3_wrap0_s5_clk_src.clkr.hw,
5584 			},
5585 			.num_parents = 1,
5586 			.flags = CLK_SET_RATE_PARENT,
5587 			.ops = &clk_branch2_ops,
5588 		},
5589 	},
5590 };
5591 
5592 static struct clk_branch gcc_qupv3_wrap0_s6_clk = {
5593 	.halt_reg = 0x2851c,
5594 	.halt_check = BRANCH_HALT_VOTED,
5595 	.clkr = {
5596 		.enable_reg = 0x62020,
5597 		.enable_mask = BIT(19),
5598 		.hw.init = &(const struct clk_init_data) {
5599 			.name = "gcc_qupv3_wrap0_s6_clk",
5600 			.parent_hws = (const struct clk_hw*[]) {
5601 				&gcc_qupv3_wrap0_s6_clk_src.clkr.hw,
5602 			},
5603 			.num_parents = 1,
5604 			.flags = CLK_SET_RATE_PARENT,
5605 			.ops = &clk_branch2_ops,
5606 		},
5607 	},
5608 };
5609 
5610 static struct clk_branch gcc_qupv3_wrap0_s7_clk = {
5611 	.halt_reg = 0x28530,
5612 	.halt_check = BRANCH_HALT_VOTED,
5613 	.clkr = {
5614 		.enable_reg = 0x62020,
5615 		.enable_mask = BIT(20),
5616 		.hw.init = &(const struct clk_init_data) {
5617 			.name = "gcc_qupv3_wrap0_s7_clk",
5618 			.parent_hws = (const struct clk_hw*[]) {
5619 				&gcc_qupv3_wrap0_s7_clk_src.clkr.hw,
5620 			},
5621 			.num_parents = 1,
5622 			.flags = CLK_SET_RATE_PARENT,
5623 			.ops = &clk_branch2_ops,
5624 		},
5625 	},
5626 };
5627 
5628 static struct clk_branch gcc_qupv3_wrap1_core_2x_clk = {
5629 	.halt_reg = 0xc5198,
5630 	.halt_check = BRANCH_HALT_VOTED,
5631 	.clkr = {
5632 		.enable_reg = 0x62018,
5633 		.enable_mask = BIT(14),
5634 		.hw.init = &(const struct clk_init_data) {
5635 			.name = "gcc_qupv3_wrap1_core_2x_clk",
5636 			.ops = &clk_branch2_ops,
5637 		},
5638 	},
5639 };
5640 
5641 static struct clk_branch gcc_qupv3_wrap1_core_clk = {
5642 	.halt_reg = 0xc5184,
5643 	.halt_check = BRANCH_HALT_VOTED,
5644 	.clkr = {
5645 		.enable_reg = 0x62018,
5646 		.enable_mask = BIT(13),
5647 		.hw.init = &(const struct clk_init_data) {
5648 			.name = "gcc_qupv3_wrap1_core_clk",
5649 			.ops = &clk_branch2_ops,
5650 		},
5651 	},
5652 };
5653 
5654 static struct clk_branch gcc_qupv3_wrap1_qspi_s2_clk = {
5655 	.halt_reg = 0xb379c,
5656 	.halt_check = BRANCH_HALT_VOTED,
5657 	.clkr = {
5658 		.enable_reg = 0x62018,
5659 		.enable_mask = BIT(24),
5660 		.hw.init = &(const struct clk_init_data) {
5661 			.name = "gcc_qupv3_wrap1_qspi_s2_clk",
5662 			.parent_hws = (const struct clk_hw*[]) {
5663 				&gcc_qupv3_wrap1_qspi_s2_clk_src.clkr.hw,
5664 			},
5665 			.num_parents = 1,
5666 			.flags = CLK_SET_RATE_PARENT,
5667 			.ops = &clk_branch2_ops,
5668 		},
5669 	},
5670 };
5671 
5672 static struct clk_branch gcc_qupv3_wrap1_qspi_s3_clk = {
5673 	.halt_reg = 0xb38cc,
5674 	.halt_check = BRANCH_HALT_VOTED,
5675 	.clkr = {
5676 		.enable_reg = 0x62018,
5677 		.enable_mask = BIT(25),
5678 		.hw.init = &(const struct clk_init_data) {
5679 			.name = "gcc_qupv3_wrap1_qspi_s3_clk",
5680 			.parent_hws = (const struct clk_hw*[]) {
5681 				&gcc_qupv3_wrap1_qspi_s3_clk_src.clkr.hw,
5682 			},
5683 			.num_parents = 1,
5684 			.flags = CLK_SET_RATE_PARENT,
5685 			.ops = &clk_branch2_ops,
5686 		},
5687 	},
5688 };
5689 
5690 static struct clk_branch gcc_qupv3_wrap1_qspi_s6_clk = {
5691 	.halt_reg = 0xb3798,
5692 	.halt_check = BRANCH_HALT_VOTED,
5693 	.clkr = {
5694 		.enable_reg = 0x62018,
5695 		.enable_mask = BIT(23),
5696 		.hw.init = &(const struct clk_init_data) {
5697 			.name = "gcc_qupv3_wrap1_qspi_s6_clk",
5698 			.parent_hws = (const struct clk_hw*[]) {
5699 				&gcc_qupv3_wrap1_qspi_s6_clk_src.clkr.hw,
5700 			},
5701 			.num_parents = 1,
5702 			.flags = CLK_SET_RATE_PARENT,
5703 			.ops = &clk_branch2_ops,
5704 		},
5705 	},
5706 };
5707 
5708 static struct clk_branch gcc_qupv3_wrap1_s0_clk = {
5709 	.halt_reg = 0xb3004,
5710 	.halt_check = BRANCH_HALT_VOTED,
5711 	.clkr = {
5712 		.enable_reg = 0x62018,
5713 		.enable_mask = BIT(15),
5714 		.hw.init = &(const struct clk_init_data) {
5715 			.name = "gcc_qupv3_wrap1_s0_clk",
5716 			.parent_hws = (const struct clk_hw*[]) {
5717 				&gcc_qupv3_wrap1_s0_clk_src.clkr.hw,
5718 			},
5719 			.num_parents = 1,
5720 			.flags = CLK_SET_RATE_PARENT,
5721 			.ops = &clk_branch2_ops,
5722 		},
5723 	},
5724 };
5725 
5726 static struct clk_branch gcc_qupv3_wrap1_s1_clk = {
5727 	.halt_reg = 0xb3140,
5728 	.halt_check = BRANCH_HALT_VOTED,
5729 	.clkr = {
5730 		.enable_reg = 0x62018,
5731 		.enable_mask = BIT(16),
5732 		.hw.init = &(const struct clk_init_data) {
5733 			.name = "gcc_qupv3_wrap1_s1_clk",
5734 			.parent_hws = (const struct clk_hw*[]) {
5735 				&gcc_qupv3_wrap1_s1_clk_src.clkr.hw,
5736 			},
5737 			.num_parents = 1,
5738 			.flags = CLK_SET_RATE_PARENT,
5739 			.ops = &clk_branch2_ops,
5740 		},
5741 	},
5742 };
5743 
5744 static struct clk_branch gcc_qupv3_wrap1_s2_clk = {
5745 	.halt_reg = 0xb327c,
5746 	.halt_check = BRANCH_HALT_VOTED,
5747 	.clkr = {
5748 		.enable_reg = 0x62018,
5749 		.enable_mask = BIT(17),
5750 		.hw.init = &(const struct clk_init_data) {
5751 			.name = "gcc_qupv3_wrap1_s2_clk",
5752 			.parent_hws = (const struct clk_hw*[]) {
5753 				&gcc_qupv3_wrap1_s2_clk_src.clkr.hw,
5754 			},
5755 			.num_parents = 1,
5756 			.flags = CLK_SET_RATE_PARENT,
5757 			.ops = &clk_branch2_ops,
5758 		},
5759 	},
5760 };
5761 
5762 static struct clk_branch gcc_qupv3_wrap1_s3_clk = {
5763 	.halt_reg = 0xb3290,
5764 	.halt_check = BRANCH_HALT_VOTED,
5765 	.clkr = {
5766 		.enable_reg = 0x62018,
5767 		.enable_mask = BIT(18),
5768 		.hw.init = &(const struct clk_init_data) {
5769 			.name = "gcc_qupv3_wrap1_s3_clk",
5770 			.parent_hws = (const struct clk_hw*[]) {
5771 				&gcc_qupv3_wrap1_s3_clk_src.clkr.hw,
5772 			},
5773 			.num_parents = 1,
5774 			.flags = CLK_SET_RATE_PARENT,
5775 			.ops = &clk_branch2_ops,
5776 		},
5777 	},
5778 };
5779 
5780 static struct clk_branch gcc_qupv3_wrap1_s4_clk = {
5781 	.halt_reg = 0xb32a4,
5782 	.halt_check = BRANCH_HALT_VOTED,
5783 	.clkr = {
5784 		.enable_reg = 0x62018,
5785 		.enable_mask = BIT(19),
5786 		.hw.init = &(const struct clk_init_data) {
5787 			.name = "gcc_qupv3_wrap1_s4_clk",
5788 			.parent_hws = (const struct clk_hw*[]) {
5789 				&gcc_qupv3_wrap1_s4_clk_src.clkr.hw,
5790 			},
5791 			.num_parents = 1,
5792 			.flags = CLK_SET_RATE_PARENT,
5793 			.ops = &clk_branch2_ops,
5794 		},
5795 	},
5796 };
5797 
5798 static struct clk_branch gcc_qupv3_wrap1_s5_clk = {
5799 	.halt_reg = 0xb33e0,
5800 	.halt_check = BRANCH_HALT_VOTED,
5801 	.clkr = {
5802 		.enable_reg = 0x62018,
5803 		.enable_mask = BIT(20),
5804 		.hw.init = &(const struct clk_init_data) {
5805 			.name = "gcc_qupv3_wrap1_s5_clk",
5806 			.parent_hws = (const struct clk_hw*[]) {
5807 				&gcc_qupv3_wrap1_s5_clk_src.clkr.hw,
5808 			},
5809 			.num_parents = 1,
5810 			.flags = CLK_SET_RATE_PARENT,
5811 			.ops = &clk_branch2_ops,
5812 		},
5813 	},
5814 };
5815 
5816 static struct clk_branch gcc_qupv3_wrap1_s6_clk = {
5817 	.halt_reg = 0xb351c,
5818 	.halt_check = BRANCH_HALT_VOTED,
5819 	.clkr = {
5820 		.enable_reg = 0x62018,
5821 		.enable_mask = BIT(21),
5822 		.hw.init = &(const struct clk_init_data) {
5823 			.name = "gcc_qupv3_wrap1_s6_clk",
5824 			.parent_hws = (const struct clk_hw*[]) {
5825 				&gcc_qupv3_wrap1_s6_clk_src.clkr.hw,
5826 			},
5827 			.num_parents = 1,
5828 			.flags = CLK_SET_RATE_PARENT,
5829 			.ops = &clk_branch2_ops,
5830 		},
5831 	},
5832 };
5833 
5834 static struct clk_branch gcc_qupv3_wrap1_s7_clk = {
5835 	.halt_reg = 0xb3530,
5836 	.halt_check = BRANCH_HALT_VOTED,
5837 	.clkr = {
5838 		.enable_reg = 0x62018,
5839 		.enable_mask = BIT(22),
5840 		.hw.init = &(const struct clk_init_data) {
5841 			.name = "gcc_qupv3_wrap1_s7_clk",
5842 			.parent_hws = (const struct clk_hw*[]) {
5843 				&gcc_qupv3_wrap1_s7_clk_src.clkr.hw,
5844 			},
5845 			.num_parents = 1,
5846 			.flags = CLK_SET_RATE_PARENT,
5847 			.ops = &clk_branch2_ops,
5848 		},
5849 	},
5850 };
5851 
5852 static struct clk_branch gcc_qupv3_wrap2_core_2x_clk = {
5853 	.halt_reg = 0xc52f0,
5854 	.halt_check = BRANCH_HALT_VOTED,
5855 	.clkr = {
5856 		.enable_reg = 0x62018,
5857 		.enable_mask = BIT(29),
5858 		.hw.init = &(const struct clk_init_data) {
5859 			.name = "gcc_qupv3_wrap2_core_2x_clk",
5860 			.ops = &clk_branch2_ops,
5861 		},
5862 	},
5863 };
5864 
5865 static struct clk_branch gcc_qupv3_wrap2_core_clk = {
5866 	.halt_reg = 0xc52dc,
5867 	.halt_check = BRANCH_HALT_VOTED,
5868 	.clkr = {
5869 		.enable_reg = 0x62018,
5870 		.enable_mask = BIT(28),
5871 		.hw.init = &(const struct clk_init_data) {
5872 			.name = "gcc_qupv3_wrap2_core_clk",
5873 			.ops = &clk_branch2_ops,
5874 		},
5875 	},
5876 };
5877 
5878 static struct clk_branch gcc_qupv3_wrap2_qspi_s2_clk = {
5879 	.halt_reg = 0xb479c,
5880 	.halt_check = BRANCH_HALT_VOTED,
5881 	.clkr = {
5882 		.enable_reg = 0x62020,
5883 		.enable_mask = BIT(7),
5884 		.hw.init = &(const struct clk_init_data) {
5885 			.name = "gcc_qupv3_wrap2_qspi_s2_clk",
5886 			.parent_hws = (const struct clk_hw*[]) {
5887 				&gcc_qupv3_wrap2_qspi_s2_clk_src.clkr.hw,
5888 			},
5889 			.num_parents = 1,
5890 			.flags = CLK_SET_RATE_PARENT,
5891 			.ops = &clk_branch2_ops,
5892 		},
5893 	},
5894 };
5895 
5896 static struct clk_branch gcc_qupv3_wrap2_qspi_s3_clk = {
5897 	.halt_reg = 0xb48cc,
5898 	.halt_check = BRANCH_HALT_VOTED,
5899 	.clkr = {
5900 		.enable_reg = 0x62020,
5901 		.enable_mask = BIT(8),
5902 		.hw.init = &(const struct clk_init_data) {
5903 			.name = "gcc_qupv3_wrap2_qspi_s3_clk",
5904 			.parent_hws = (const struct clk_hw*[]) {
5905 				&gcc_qupv3_wrap2_qspi_s3_clk_src.clkr.hw,
5906 			},
5907 			.num_parents = 1,
5908 			.flags = CLK_SET_RATE_PARENT,
5909 			.ops = &clk_branch2_ops,
5910 		},
5911 	},
5912 };
5913 
5914 static struct clk_branch gcc_qupv3_wrap2_qspi_s6_clk = {
5915 	.halt_reg = 0xb4798,
5916 	.halt_check = BRANCH_HALT_VOTED,
5917 	.clkr = {
5918 		.enable_reg = 0x62020,
5919 		.enable_mask = BIT(6),
5920 		.hw.init = &(const struct clk_init_data) {
5921 			.name = "gcc_qupv3_wrap2_qspi_s6_clk",
5922 			.parent_hws = (const struct clk_hw*[]) {
5923 				&gcc_qupv3_wrap2_qspi_s6_clk_src.clkr.hw,
5924 			},
5925 			.num_parents = 1,
5926 			.flags = CLK_SET_RATE_PARENT,
5927 			.ops = &clk_branch2_ops,
5928 		},
5929 	},
5930 };
5931 
5932 static struct clk_branch gcc_qupv3_wrap2_s0_clk = {
5933 	.halt_reg = 0xb4004,
5934 	.halt_check = BRANCH_HALT_VOTED,
5935 	.clkr = {
5936 		.enable_reg = 0x62018,
5937 		.enable_mask = BIT(30),
5938 		.hw.init = &(const struct clk_init_data) {
5939 			.name = "gcc_qupv3_wrap2_s0_clk",
5940 			.parent_hws = (const struct clk_hw*[]) {
5941 				&gcc_qupv3_wrap2_s0_clk_src.clkr.hw,
5942 			},
5943 			.num_parents = 1,
5944 			.flags = CLK_SET_RATE_PARENT,
5945 			.ops = &clk_branch2_ops,
5946 		},
5947 	},
5948 };
5949 
5950 static struct clk_branch gcc_qupv3_wrap2_s1_clk = {
5951 	.halt_reg = 0xb4140,
5952 	.halt_check = BRANCH_HALT_VOTED,
5953 	.clkr = {
5954 		.enable_reg = 0x62018,
5955 		.enable_mask = BIT(31),
5956 		.hw.init = &(const struct clk_init_data) {
5957 			.name = "gcc_qupv3_wrap2_s1_clk",
5958 			.parent_hws = (const struct clk_hw*[]) {
5959 				&gcc_qupv3_wrap2_s1_clk_src.clkr.hw,
5960 			},
5961 			.num_parents = 1,
5962 			.flags = CLK_SET_RATE_PARENT,
5963 			.ops = &clk_branch2_ops,
5964 		},
5965 	},
5966 };
5967 
5968 static struct clk_branch gcc_qupv3_wrap2_s2_clk = {
5969 	.halt_reg = 0xb427c,
5970 	.halt_check = BRANCH_HALT_VOTED,
5971 	.clkr = {
5972 		.enable_reg = 0x62020,
5973 		.enable_mask = BIT(0),
5974 		.hw.init = &(const struct clk_init_data) {
5975 			.name = "gcc_qupv3_wrap2_s2_clk",
5976 			.parent_hws = (const struct clk_hw*[]) {
5977 				&gcc_qupv3_wrap2_s2_clk_src.clkr.hw,
5978 			},
5979 			.num_parents = 1,
5980 			.flags = CLK_SET_RATE_PARENT,
5981 			.ops = &clk_branch2_ops,
5982 		},
5983 	},
5984 };
5985 
5986 static struct clk_branch gcc_qupv3_wrap2_s3_clk = {
5987 	.halt_reg = 0xb4290,
5988 	.halt_check = BRANCH_HALT_VOTED,
5989 	.clkr = {
5990 		.enable_reg = 0x62020,
5991 		.enable_mask = BIT(1),
5992 		.hw.init = &(const struct clk_init_data) {
5993 			.name = "gcc_qupv3_wrap2_s3_clk",
5994 			.parent_hws = (const struct clk_hw*[]) {
5995 				&gcc_qupv3_wrap2_s3_clk_src.clkr.hw,
5996 			},
5997 			.num_parents = 1,
5998 			.flags = CLK_SET_RATE_PARENT,
5999 			.ops = &clk_branch2_ops,
6000 		},
6001 	},
6002 };
6003 
6004 static struct clk_branch gcc_qupv3_wrap2_s4_clk = {
6005 	.halt_reg = 0xb42a4,
6006 	.halt_check = BRANCH_HALT_VOTED,
6007 	.clkr = {
6008 		.enable_reg = 0x62020,
6009 		.enable_mask = BIT(2),
6010 		.hw.init = &(const struct clk_init_data) {
6011 			.name = "gcc_qupv3_wrap2_s4_clk",
6012 			.parent_hws = (const struct clk_hw*[]) {
6013 				&gcc_qupv3_wrap2_s4_clk_src.clkr.hw,
6014 			},
6015 			.num_parents = 1,
6016 			.flags = CLK_SET_RATE_PARENT,
6017 			.ops = &clk_branch2_ops,
6018 		},
6019 	},
6020 };
6021 
6022 static struct clk_branch gcc_qupv3_wrap2_s5_clk = {
6023 	.halt_reg = 0xb43e0,
6024 	.halt_check = BRANCH_HALT_VOTED,
6025 	.clkr = {
6026 		.enable_reg = 0x62020,
6027 		.enable_mask = BIT(3),
6028 		.hw.init = &(const struct clk_init_data) {
6029 			.name = "gcc_qupv3_wrap2_s5_clk",
6030 			.parent_hws = (const struct clk_hw*[]) {
6031 				&gcc_qupv3_wrap2_s5_clk_src.clkr.hw,
6032 			},
6033 			.num_parents = 1,
6034 			.flags = CLK_SET_RATE_PARENT,
6035 			.ops = &clk_branch2_ops,
6036 		},
6037 	},
6038 };
6039 
6040 static struct clk_branch gcc_qupv3_wrap2_s6_clk = {
6041 	.halt_reg = 0xb451c,
6042 	.halt_check = BRANCH_HALT_VOTED,
6043 	.clkr = {
6044 		.enable_reg = 0x62020,
6045 		.enable_mask = BIT(4),
6046 		.hw.init = &(const struct clk_init_data) {
6047 			.name = "gcc_qupv3_wrap2_s6_clk",
6048 			.parent_hws = (const struct clk_hw*[]) {
6049 				&gcc_qupv3_wrap2_s6_clk_src.clkr.hw,
6050 			},
6051 			.num_parents = 1,
6052 			.flags = CLK_SET_RATE_PARENT,
6053 			.ops = &clk_branch2_ops,
6054 		},
6055 	},
6056 };
6057 
6058 static struct clk_branch gcc_qupv3_wrap2_s7_clk = {
6059 	.halt_reg = 0xb4530,
6060 	.halt_check = BRANCH_HALT_VOTED,
6061 	.clkr = {
6062 		.enable_reg = 0x62020,
6063 		.enable_mask = BIT(5),
6064 		.hw.init = &(const struct clk_init_data) {
6065 			.name = "gcc_qupv3_wrap2_s7_clk",
6066 			.parent_hws = (const struct clk_hw*[]) {
6067 				&gcc_qupv3_wrap2_s7_clk_src.clkr.hw,
6068 			},
6069 			.num_parents = 1,
6070 			.flags = CLK_SET_RATE_PARENT,
6071 			.ops = &clk_branch2_ops,
6072 		},
6073 	},
6074 };
6075 
6076 static struct clk_branch gcc_qupv3_wrap_0_m_ahb_clk = {
6077 	.halt_reg = 0xc542c,
6078 	.halt_check = BRANCH_HALT_VOTED,
6079 	.hwcg_reg = 0xc542c,
6080 	.hwcg_bit = 1,
6081 	.clkr = {
6082 		.enable_reg = 0x62020,
6083 		.enable_mask = BIT(9),
6084 		.hw.init = &(const struct clk_init_data) {
6085 			.name = "gcc_qupv3_wrap_0_m_ahb_clk",
6086 			.ops = &clk_branch2_ops,
6087 		},
6088 	},
6089 };
6090 
6091 static struct clk_branch gcc_qupv3_wrap_0_s_ahb_clk = {
6092 	.halt_reg = 0xc5430,
6093 	.halt_check = BRANCH_HALT_VOTED,
6094 	.hwcg_reg = 0xc5430,
6095 	.hwcg_bit = 1,
6096 	.clkr = {
6097 		.enable_reg = 0x62020,
6098 		.enable_mask = BIT(10),
6099 		.hw.init = &(const struct clk_init_data) {
6100 			.name = "gcc_qupv3_wrap_0_s_ahb_clk",
6101 			.ops = &clk_branch2_ops,
6102 		},
6103 	},
6104 };
6105 
6106 static struct clk_branch gcc_qupv3_wrap_1_m_ahb_clk = {
6107 	.halt_reg = 0xc517c,
6108 	.halt_check = BRANCH_HALT_VOTED,
6109 	.hwcg_reg = 0xc517c,
6110 	.hwcg_bit = 1,
6111 	.clkr = {
6112 		.enable_reg = 0x62018,
6113 		.enable_mask = BIT(11),
6114 		.hw.init = &(const struct clk_init_data) {
6115 			.name = "gcc_qupv3_wrap_1_m_ahb_clk",
6116 			.ops = &clk_branch2_ops,
6117 		},
6118 	},
6119 };
6120 
6121 static struct clk_branch gcc_qupv3_wrap_1_s_ahb_clk = {
6122 	.halt_reg = 0xc5180,
6123 	.halt_check = BRANCH_HALT_VOTED,
6124 	.hwcg_reg = 0xc5180,
6125 	.hwcg_bit = 1,
6126 	.clkr = {
6127 		.enable_reg = 0x62018,
6128 		.enable_mask = BIT(12),
6129 		.hw.init = &(const struct clk_init_data) {
6130 			.name = "gcc_qupv3_wrap_1_s_ahb_clk",
6131 			.ops = &clk_branch2_ops,
6132 		},
6133 	},
6134 };
6135 
6136 static struct clk_branch gcc_qupv3_wrap_2_m_ahb_clk = {
6137 	.halt_reg = 0xc52d4,
6138 	.halt_check = BRANCH_HALT_VOTED,
6139 	.hwcg_reg = 0xc52d4,
6140 	.hwcg_bit = 1,
6141 	.clkr = {
6142 		.enable_reg = 0x62018,
6143 		.enable_mask = BIT(26),
6144 		.hw.init = &(const struct clk_init_data) {
6145 			.name = "gcc_qupv3_wrap_2_m_ahb_clk",
6146 			.ops = &clk_branch2_ops,
6147 		},
6148 	},
6149 };
6150 
6151 static struct clk_branch gcc_qupv3_wrap_2_s_ahb_clk = {
6152 	.halt_reg = 0xc52d8,
6153 	.halt_check = BRANCH_HALT_VOTED,
6154 	.hwcg_reg = 0xc52d8,
6155 	.hwcg_bit = 1,
6156 	.clkr = {
6157 		.enable_reg = 0x62018,
6158 		.enable_mask = BIT(27),
6159 		.hw.init = &(const struct clk_init_data) {
6160 			.name = "gcc_qupv3_wrap_2_s_ahb_clk",
6161 			.ops = &clk_branch2_ops,
6162 		},
6163 	},
6164 };
6165 
6166 static struct clk_branch gcc_sdcc2_ahb_clk = {
6167 	.halt_reg = 0xb0014,
6168 	.halt_check = BRANCH_HALT,
6169 	.clkr = {
6170 		.enable_reg = 0xb0014,
6171 		.enable_mask = BIT(0),
6172 		.hw.init = &(const struct clk_init_data) {
6173 			.name = "gcc_sdcc2_ahb_clk",
6174 			.ops = &clk_branch2_ops,
6175 		},
6176 	},
6177 };
6178 
6179 static struct clk_branch gcc_sdcc2_apps_clk = {
6180 	.halt_reg = 0xb0004,
6181 	.halt_check = BRANCH_HALT,
6182 	.clkr = {
6183 		.enable_reg = 0xb0004,
6184 		.enable_mask = BIT(0),
6185 		.hw.init = &(const struct clk_init_data) {
6186 			.name = "gcc_sdcc2_apps_clk",
6187 			.parent_hws = (const struct clk_hw*[]) {
6188 				&gcc_sdcc2_apps_clk_src.clkr.hw,
6189 			},
6190 			.num_parents = 1,
6191 			.flags = CLK_SET_RATE_PARENT,
6192 			.ops = &clk_branch2_ops,
6193 		},
6194 	},
6195 };
6196 
6197 static struct clk_branch gcc_sdcc4_ahb_clk = {
6198 	.halt_reg = 0xdf014,
6199 	.halt_check = BRANCH_HALT,
6200 	.clkr = {
6201 		.enable_reg = 0xdf014,
6202 		.enable_mask = BIT(0),
6203 		.hw.init = &(const struct clk_init_data) {
6204 			.name = "gcc_sdcc4_ahb_clk",
6205 			.ops = &clk_branch2_ops,
6206 		},
6207 	},
6208 };
6209 
6210 static struct clk_branch gcc_sdcc4_apps_clk = {
6211 	.halt_reg = 0xdf004,
6212 	.halt_check = BRANCH_HALT,
6213 	.clkr = {
6214 		.enable_reg = 0xdf004,
6215 		.enable_mask = BIT(0),
6216 		.hw.init = &(const struct clk_init_data) {
6217 			.name = "gcc_sdcc4_apps_clk",
6218 			.parent_hws = (const struct clk_hw*[]) {
6219 				&gcc_sdcc4_apps_clk_src.clkr.hw,
6220 			},
6221 			.num_parents = 1,
6222 			.flags = CLK_SET_RATE_PARENT,
6223 			.ops = &clk_branch2_ops,
6224 		},
6225 	},
6226 };
6227 
6228 static struct clk_branch gcc_ufs_phy_ahb_clk = {
6229 	.halt_reg = 0xba504,
6230 	.halt_check = BRANCH_HALT_VOTED,
6231 	.hwcg_reg = 0xba504,
6232 	.hwcg_bit = 1,
6233 	.clkr = {
6234 		.enable_reg = 0xba504,
6235 		.enable_mask = BIT(0),
6236 		.hw.init = &(const struct clk_init_data) {
6237 			.name = "gcc_ufs_phy_ahb_clk",
6238 			.ops = &clk_branch2_ops,
6239 		},
6240 	},
6241 };
6242 
6243 static struct clk_branch gcc_ufs_phy_axi_clk = {
6244 	.halt_reg = 0x7701c,
6245 	.halt_check = BRANCH_HALT_VOTED,
6246 	.hwcg_reg = 0x7701c,
6247 	.hwcg_bit = 1,
6248 	.clkr = {
6249 		.enable_reg = 0x7701c,
6250 		.enable_mask = BIT(0),
6251 		.hw.init = &(const struct clk_init_data) {
6252 			.name = "gcc_ufs_phy_axi_clk",
6253 			.parent_hws = (const struct clk_hw*[]) {
6254 				&gcc_ufs_phy_axi_clk_src.clkr.hw,
6255 			},
6256 			.num_parents = 1,
6257 			.flags = CLK_SET_RATE_PARENT,
6258 			.ops = &clk_branch2_ops,
6259 		},
6260 	},
6261 };
6262 
6263 static struct clk_branch gcc_ufs_phy_ice_core_clk = {
6264 	.halt_reg = 0x77080,
6265 	.halt_check = BRANCH_HALT_VOTED,
6266 	.hwcg_reg = 0x77080,
6267 	.hwcg_bit = 1,
6268 	.clkr = {
6269 		.enable_reg = 0x77080,
6270 		.enable_mask = BIT(0),
6271 		.hw.init = &(const struct clk_init_data) {
6272 			.name = "gcc_ufs_phy_ice_core_clk",
6273 			.parent_hws = (const struct clk_hw*[]) {
6274 				&gcc_ufs_phy_ice_core_clk_src.clkr.hw,
6275 			},
6276 			.num_parents = 1,
6277 			.flags = CLK_SET_RATE_PARENT,
6278 			.ops = &clk_branch2_ops,
6279 		},
6280 	},
6281 };
6282 
6283 static struct clk_branch gcc_ufs_phy_phy_aux_clk = {
6284 	.halt_reg = 0x770c0,
6285 	.halt_check = BRANCH_HALT_VOTED,
6286 	.hwcg_reg = 0x770c0,
6287 	.hwcg_bit = 1,
6288 	.clkr = {
6289 		.enable_reg = 0x770c0,
6290 		.enable_mask = BIT(0),
6291 		.hw.init = &(const struct clk_init_data) {
6292 			.name = "gcc_ufs_phy_phy_aux_clk",
6293 			.parent_hws = (const struct clk_hw*[]) {
6294 				&gcc_ufs_phy_phy_aux_clk_src.clkr.hw,
6295 			},
6296 			.num_parents = 1,
6297 			.flags = CLK_SET_RATE_PARENT,
6298 			.ops = &clk_branch2_ops,
6299 		},
6300 	},
6301 };
6302 
6303 static struct clk_branch gcc_ufs_phy_rx_symbol_0_clk = {
6304 	.halt_reg = 0x77034,
6305 	.halt_check = BRANCH_HALT_DELAY,
6306 	.clkr = {
6307 		.enable_reg = 0x77034,
6308 		.enable_mask = BIT(0),
6309 		.hw.init = &(const struct clk_init_data) {
6310 			.name = "gcc_ufs_phy_rx_symbol_0_clk",
6311 			.parent_hws = (const struct clk_hw*[]) {
6312 				&gcc_ufs_phy_rx_symbol_0_clk_src.clkr.hw,
6313 			},
6314 			.num_parents = 1,
6315 			.flags = CLK_SET_RATE_PARENT,
6316 			.ops = &clk_branch2_ops,
6317 		},
6318 	},
6319 };
6320 
6321 static struct clk_branch gcc_ufs_phy_rx_symbol_1_clk = {
6322 	.halt_reg = 0x770dc,
6323 	.halt_check = BRANCH_HALT_DELAY,
6324 	.clkr = {
6325 		.enable_reg = 0x770dc,
6326 		.enable_mask = BIT(0),
6327 		.hw.init = &(const struct clk_init_data) {
6328 			.name = "gcc_ufs_phy_rx_symbol_1_clk",
6329 			.parent_hws = (const struct clk_hw*[]) {
6330 				&gcc_ufs_phy_rx_symbol_1_clk_src.clkr.hw,
6331 			},
6332 			.num_parents = 1,
6333 			.flags = CLK_SET_RATE_PARENT,
6334 			.ops = &clk_branch2_ops,
6335 		},
6336 	},
6337 };
6338 
6339 static struct clk_branch gcc_ufs_phy_tx_symbol_0_clk = {
6340 	.halt_reg = 0x77030,
6341 	.halt_check = BRANCH_HALT_DELAY,
6342 	.clkr = {
6343 		.enable_reg = 0x77030,
6344 		.enable_mask = BIT(0),
6345 		.hw.init = &(const struct clk_init_data) {
6346 			.name = "gcc_ufs_phy_tx_symbol_0_clk",
6347 			.parent_hws = (const struct clk_hw*[]) {
6348 				&gcc_ufs_phy_tx_symbol_0_clk_src.clkr.hw,
6349 			},
6350 			.num_parents = 1,
6351 			.flags = CLK_SET_RATE_PARENT,
6352 			.ops = &clk_branch2_ops,
6353 		},
6354 	},
6355 };
6356 
6357 static struct clk_branch gcc_ufs_phy_unipro_core_clk = {
6358 	.halt_reg = 0x77070,
6359 	.halt_check = BRANCH_HALT_VOTED,
6360 	.hwcg_reg = 0x77070,
6361 	.hwcg_bit = 1,
6362 	.clkr = {
6363 		.enable_reg = 0x77070,
6364 		.enable_mask = BIT(0),
6365 		.hw.init = &(const struct clk_init_data) {
6366 			.name = "gcc_ufs_phy_unipro_core_clk",
6367 			.parent_hws = (const struct clk_hw*[]) {
6368 				&gcc_ufs_phy_unipro_core_clk_src.clkr.hw,
6369 			},
6370 			.num_parents = 1,
6371 			.flags = CLK_SET_RATE_PARENT,
6372 			.ops = &clk_branch2_ops,
6373 		},
6374 	},
6375 };
6376 
6377 static struct clk_branch gcc_usb20_master_clk = {
6378 	.halt_reg = 0xbc018,
6379 	.halt_check = BRANCH_HALT,
6380 	.clkr = {
6381 		.enable_reg = 0xbc018,
6382 		.enable_mask = BIT(0),
6383 		.hw.init = &(const struct clk_init_data) {
6384 			.name = "gcc_usb20_master_clk",
6385 			.parent_hws = (const struct clk_hw*[]) {
6386 				&gcc_usb20_master_clk_src.clkr.hw,
6387 			},
6388 			.num_parents = 1,
6389 			.flags = CLK_SET_RATE_PARENT,
6390 			.ops = &clk_branch2_ops,
6391 		},
6392 	},
6393 };
6394 
6395 static struct clk_branch gcc_usb20_mock_utmi_clk = {
6396 	.halt_reg = 0xbc02c,
6397 	.halt_check = BRANCH_HALT,
6398 	.clkr = {
6399 		.enable_reg = 0xbc02c,
6400 		.enable_mask = BIT(0),
6401 		.hw.init = &(const struct clk_init_data) {
6402 			.name = "gcc_usb20_mock_utmi_clk",
6403 			.parent_hws = (const struct clk_hw*[]) {
6404 				&gcc_usb20_mock_utmi_postdiv_clk_src.clkr.hw,
6405 			},
6406 			.num_parents = 1,
6407 			.flags = CLK_SET_RATE_PARENT,
6408 			.ops = &clk_branch2_ops,
6409 		},
6410 	},
6411 };
6412 
6413 static struct clk_branch gcc_usb20_sleep_clk = {
6414 	.halt_reg = 0xbc028,
6415 	.halt_check = BRANCH_HALT,
6416 	.clkr = {
6417 		.enable_reg = 0xbc028,
6418 		.enable_mask = BIT(0),
6419 		.hw.init = &(const struct clk_init_data) {
6420 			.name = "gcc_usb20_sleep_clk",
6421 			.ops = &clk_branch2_ops,
6422 		},
6423 	},
6424 };
6425 
6426 static struct clk_branch gcc_usb30_mp_master_clk = {
6427 	.halt_reg = 0x9a024,
6428 	.halt_check = BRANCH_HALT,
6429 	.clkr = {
6430 		.enable_reg = 0x9a024,
6431 		.enable_mask = BIT(0),
6432 		.hw.init = &(const struct clk_init_data) {
6433 			.name = "gcc_usb30_mp_master_clk",
6434 			.parent_hws = (const struct clk_hw*[]) {
6435 				&gcc_usb30_mp_master_clk_src.clkr.hw,
6436 			},
6437 			.num_parents = 1,
6438 			.flags = CLK_SET_RATE_PARENT,
6439 			.ops = &clk_branch2_ops,
6440 		},
6441 	},
6442 };
6443 
6444 static struct clk_branch gcc_usb30_mp_mock_utmi_clk = {
6445 	.halt_reg = 0x9a038,
6446 	.halt_check = BRANCH_HALT,
6447 	.clkr = {
6448 		.enable_reg = 0x9a038,
6449 		.enable_mask = BIT(0),
6450 		.hw.init = &(const struct clk_init_data) {
6451 			.name = "gcc_usb30_mp_mock_utmi_clk",
6452 			.parent_hws = (const struct clk_hw*[]) {
6453 				&gcc_usb30_mp_mock_utmi_postdiv_clk_src.clkr.hw,
6454 			},
6455 			.num_parents = 1,
6456 			.flags = CLK_SET_RATE_PARENT,
6457 			.ops = &clk_branch2_ops,
6458 		},
6459 	},
6460 };
6461 
6462 static struct clk_branch gcc_usb30_mp_sleep_clk = {
6463 	.halt_reg = 0x9a034,
6464 	.halt_check = BRANCH_HALT,
6465 	.clkr = {
6466 		.enable_reg = 0x9a034,
6467 		.enable_mask = BIT(0),
6468 		.hw.init = &(const struct clk_init_data) {
6469 			.name = "gcc_usb30_mp_sleep_clk",
6470 			.ops = &clk_branch2_ops,
6471 		},
6472 	},
6473 };
6474 
6475 static struct clk_branch gcc_usb30_prim_master_clk = {
6476 	.halt_reg = 0x3f030,
6477 	.halt_check = BRANCH_HALT,
6478 	.clkr = {
6479 		.enable_reg = 0x3f030,
6480 		.enable_mask = BIT(0),
6481 		.hw.init = &(const struct clk_init_data) {
6482 			.name = "gcc_usb30_prim_master_clk",
6483 			.parent_hws = (const struct clk_hw*[]) {
6484 				&gcc_usb30_prim_master_clk_src.clkr.hw,
6485 			},
6486 			.num_parents = 1,
6487 			.flags = CLK_SET_RATE_PARENT,
6488 			.ops = &clk_branch2_ops,
6489 		},
6490 	},
6491 };
6492 
6493 static struct clk_branch gcc_usb30_prim_mock_utmi_clk = {
6494 	.halt_reg = 0x3f048,
6495 	.halt_check = BRANCH_HALT,
6496 	.clkr = {
6497 		.enable_reg = 0x3f048,
6498 		.enable_mask = BIT(0),
6499 		.hw.init = &(const struct clk_init_data) {
6500 			.name = "gcc_usb30_prim_mock_utmi_clk",
6501 			.parent_hws = (const struct clk_hw*[]) {
6502 				&gcc_usb30_prim_mock_utmi_postdiv_clk_src.clkr.hw,
6503 			},
6504 			.num_parents = 1,
6505 			.flags = CLK_SET_RATE_PARENT,
6506 			.ops = &clk_branch2_ops,
6507 		},
6508 	},
6509 };
6510 
6511 static struct clk_branch gcc_usb30_prim_sleep_clk = {
6512 	.halt_reg = 0x3f044,
6513 	.halt_check = BRANCH_HALT,
6514 	.clkr = {
6515 		.enable_reg = 0x3f044,
6516 		.enable_mask = BIT(0),
6517 		.hw.init = &(const struct clk_init_data) {
6518 			.name = "gcc_usb30_prim_sleep_clk",
6519 			.ops = &clk_branch2_ops,
6520 		},
6521 	},
6522 };
6523 
6524 static struct clk_branch gcc_usb30_sec_master_clk = {
6525 	.halt_reg = 0xe2024,
6526 	.halt_check = BRANCH_HALT,
6527 	.clkr = {
6528 		.enable_reg = 0xe2024,
6529 		.enable_mask = BIT(0),
6530 		.hw.init = &(const struct clk_init_data) {
6531 			.name = "gcc_usb30_sec_master_clk",
6532 			.parent_hws = (const struct clk_hw*[]) {
6533 				&gcc_usb30_sec_master_clk_src.clkr.hw,
6534 			},
6535 			.num_parents = 1,
6536 			.flags = CLK_SET_RATE_PARENT,
6537 			.ops = &clk_branch2_ops,
6538 		},
6539 	},
6540 };
6541 
6542 static struct clk_branch gcc_usb30_sec_mock_utmi_clk = {
6543 	.halt_reg = 0xe2038,
6544 	.halt_check = BRANCH_HALT,
6545 	.clkr = {
6546 		.enable_reg = 0xe2038,
6547 		.enable_mask = BIT(0),
6548 		.hw.init = &(const struct clk_init_data) {
6549 			.name = "gcc_usb30_sec_mock_utmi_clk",
6550 			.parent_hws = (const struct clk_hw*[]) {
6551 				&gcc_usb30_sec_mock_utmi_postdiv_clk_src.clkr.hw,
6552 			},
6553 			.num_parents = 1,
6554 			.flags = CLK_SET_RATE_PARENT,
6555 			.ops = &clk_branch2_ops,
6556 		},
6557 	},
6558 };
6559 
6560 static struct clk_branch gcc_usb30_sec_sleep_clk = {
6561 	.halt_reg = 0xe2034,
6562 	.halt_check = BRANCH_HALT,
6563 	.clkr = {
6564 		.enable_reg = 0xe2034,
6565 		.enable_mask = BIT(0),
6566 		.hw.init = &(const struct clk_init_data) {
6567 			.name = "gcc_usb30_sec_sleep_clk",
6568 			.ops = &clk_branch2_ops,
6569 		},
6570 	},
6571 };
6572 
6573 static struct clk_branch gcc_usb30_tert_master_clk = {
6574 	.halt_reg = 0xe1024,
6575 	.halt_check = BRANCH_HALT,
6576 	.clkr = {
6577 		.enable_reg = 0xe1024,
6578 		.enable_mask = BIT(0),
6579 		.hw.init = &(const struct clk_init_data) {
6580 			.name = "gcc_usb30_tert_master_clk",
6581 			.parent_hws = (const struct clk_hw*[]) {
6582 				&gcc_usb30_tert_master_clk_src.clkr.hw,
6583 			},
6584 			.num_parents = 1,
6585 			.flags = CLK_SET_RATE_PARENT,
6586 			.ops = &clk_branch2_ops,
6587 		},
6588 	},
6589 };
6590 
6591 static struct clk_branch gcc_usb30_tert_mock_utmi_clk = {
6592 	.halt_reg = 0xe1038,
6593 	.halt_check = BRANCH_HALT,
6594 	.clkr = {
6595 		.enable_reg = 0xe1038,
6596 		.enable_mask = BIT(0),
6597 		.hw.init = &(const struct clk_init_data) {
6598 			.name = "gcc_usb30_tert_mock_utmi_clk",
6599 			.parent_hws = (const struct clk_hw*[]) {
6600 				&gcc_usb30_tert_mock_utmi_postdiv_clk_src.clkr.hw,
6601 			},
6602 			.num_parents = 1,
6603 			.flags = CLK_SET_RATE_PARENT,
6604 			.ops = &clk_branch2_ops,
6605 		},
6606 	},
6607 };
6608 
6609 static struct clk_branch gcc_usb30_tert_sleep_clk = {
6610 	.halt_reg = 0xe1034,
6611 	.halt_check = BRANCH_HALT,
6612 	.clkr = {
6613 		.enable_reg = 0xe1034,
6614 		.enable_mask = BIT(0),
6615 		.hw.init = &(const struct clk_init_data) {
6616 			.name = "gcc_usb30_tert_sleep_clk",
6617 			.ops = &clk_branch2_ops,
6618 		},
6619 	},
6620 };
6621 
6622 static struct clk_branch gcc_usb3_mp_phy_aux_clk = {
6623 	.halt_reg = 0x9a070,
6624 	.halt_check = BRANCH_HALT,
6625 	.clkr = {
6626 		.enable_reg = 0x9a070,
6627 		.enable_mask = BIT(0),
6628 		.hw.init = &(const struct clk_init_data) {
6629 			.name = "gcc_usb3_mp_phy_aux_clk",
6630 			.parent_hws = (const struct clk_hw*[]) {
6631 				&gcc_usb3_mp_phy_aux_clk_src.clkr.hw,
6632 			},
6633 			.num_parents = 1,
6634 			.flags = CLK_SET_RATE_PARENT,
6635 			.ops = &clk_branch2_ops,
6636 		},
6637 	},
6638 };
6639 
6640 static struct clk_branch gcc_usb3_mp_phy_com_aux_clk = {
6641 	.halt_reg = 0x9a074,
6642 	.halt_check = BRANCH_HALT,
6643 	.clkr = {
6644 		.enable_reg = 0x9a074,
6645 		.enable_mask = BIT(0),
6646 		.hw.init = &(const struct clk_init_data) {
6647 			.name = "gcc_usb3_mp_phy_com_aux_clk",
6648 			.parent_hws = (const struct clk_hw*[]) {
6649 				&gcc_usb3_mp_phy_aux_clk_src.clkr.hw,
6650 			},
6651 			.num_parents = 1,
6652 			.flags = CLK_SET_RATE_PARENT,
6653 			.ops = &clk_branch2_ops,
6654 		},
6655 	},
6656 };
6657 
6658 static struct clk_branch gcc_usb3_mp_phy_pipe_0_clk = {
6659 	.halt_reg = 0x9a078,
6660 	.halt_check = BRANCH_HALT_SKIP,
6661 	.clkr = {
6662 		.enable_reg = 0x9a078,
6663 		.enable_mask = BIT(0),
6664 		.hw.init = &(const struct clk_init_data) {
6665 			.name = "gcc_usb3_mp_phy_pipe_0_clk",
6666 			.parent_hws = (const struct clk_hw*[]) {
6667 				&gcc_usb3_mp_phy_pipe_0_clk_src.clkr.hw,
6668 			},
6669 			.num_parents = 1,
6670 			.flags = CLK_SET_RATE_PARENT,
6671 			.ops = &clk_branch2_ops,
6672 		},
6673 	},
6674 };
6675 
6676 static struct clk_branch gcc_usb3_mp_phy_pipe_1_clk = {
6677 	.halt_reg = 0x9a080,
6678 	.halt_check = BRANCH_HALT_SKIP,
6679 	.clkr = {
6680 		.enable_reg = 0x9a080,
6681 		.enable_mask = BIT(0),
6682 		.hw.init = &(const struct clk_init_data) {
6683 			.name = "gcc_usb3_mp_phy_pipe_1_clk",
6684 			.parent_hws = (const struct clk_hw*[]) {
6685 				&gcc_usb3_mp_phy_pipe_1_clk_src.clkr.hw,
6686 			},
6687 			.num_parents = 1,
6688 			.flags = CLK_SET_RATE_PARENT,
6689 			.ops = &clk_branch2_ops,
6690 		},
6691 	},
6692 };
6693 
6694 static struct clk_branch gcc_usb3_prim_phy_aux_clk = {
6695 	.halt_reg = 0x3f080,
6696 	.halt_check = BRANCH_HALT,
6697 	.clkr = {
6698 		.enable_reg = 0x3f080,
6699 		.enable_mask = BIT(0),
6700 		.hw.init = &(const struct clk_init_data) {
6701 			.name = "gcc_usb3_prim_phy_aux_clk",
6702 			.parent_hws = (const struct clk_hw*[]) {
6703 				&gcc_usb3_prim_phy_aux_clk_src.clkr.hw,
6704 			},
6705 			.num_parents = 1,
6706 			.flags = CLK_SET_RATE_PARENT,
6707 			.ops = &clk_branch2_ops,
6708 		},
6709 	},
6710 };
6711 
6712 static struct clk_branch gcc_usb3_prim_phy_com_aux_clk = {
6713 	.halt_reg = 0x3f084,
6714 	.halt_check = BRANCH_HALT,
6715 	.clkr = {
6716 		.enable_reg = 0x3f084,
6717 		.enable_mask = BIT(0),
6718 		.hw.init = &(const struct clk_init_data) {
6719 			.name = "gcc_usb3_prim_phy_com_aux_clk",
6720 			.parent_hws = (const struct clk_hw*[]) {
6721 				&gcc_usb3_prim_phy_aux_clk_src.clkr.hw,
6722 			},
6723 			.num_parents = 1,
6724 			.flags = CLK_SET_RATE_PARENT,
6725 			.ops = &clk_branch2_ops,
6726 		},
6727 	},
6728 };
6729 
6730 static struct clk_branch gcc_usb3_prim_phy_pipe_clk = {
6731 	.halt_reg = 0x3f088,
6732 	.halt_check = BRANCH_HALT_SKIP,
6733 	.hwcg_reg = 0x3f088,
6734 	.hwcg_bit = 1,
6735 	.clkr = {
6736 		.enable_reg = 0x3f088,
6737 		.enable_mask = BIT(0),
6738 		.hw.init = &(const struct clk_init_data) {
6739 			.name = "gcc_usb3_prim_phy_pipe_clk",
6740 			.parent_hws = (const struct clk_hw*[]) {
6741 				&gcc_usb34_prim_phy_pipe_clk_src.clkr.hw,
6742 			},
6743 			.num_parents = 1,
6744 			.flags = CLK_SET_RATE_PARENT,
6745 			.ops = &clk_branch2_ops,
6746 		},
6747 	},
6748 };
6749 
6750 static struct clk_branch gcc_usb3_sec_phy_aux_clk = {
6751 	.halt_reg = 0xe2070,
6752 	.halt_check = BRANCH_HALT,
6753 	.clkr = {
6754 		.enable_reg = 0xe2070,
6755 		.enable_mask = BIT(0),
6756 		.hw.init = &(const struct clk_init_data) {
6757 			.name = "gcc_usb3_sec_phy_aux_clk",
6758 			.parent_hws = (const struct clk_hw*[]) {
6759 				&gcc_usb3_sec_phy_aux_clk_src.clkr.hw,
6760 			},
6761 			.num_parents = 1,
6762 			.flags = CLK_SET_RATE_PARENT,
6763 			.ops = &clk_branch2_ops,
6764 		},
6765 	},
6766 };
6767 
6768 static struct clk_branch gcc_usb3_sec_phy_com_aux_clk = {
6769 	.halt_reg = 0xe2074,
6770 	.halt_check = BRANCH_HALT,
6771 	.clkr = {
6772 		.enable_reg = 0xe2074,
6773 		.enable_mask = BIT(0),
6774 		.hw.init = &(const struct clk_init_data) {
6775 			.name = "gcc_usb3_sec_phy_com_aux_clk",
6776 			.parent_hws = (const struct clk_hw*[]) {
6777 				&gcc_usb3_sec_phy_aux_clk_src.clkr.hw,
6778 			},
6779 			.num_parents = 1,
6780 			.flags = CLK_SET_RATE_PARENT,
6781 			.ops = &clk_branch2_ops,
6782 		},
6783 	},
6784 };
6785 
6786 static struct clk_branch gcc_usb3_sec_phy_pipe_clk = {
6787 	.halt_reg = 0xe2078,
6788 	.halt_check = BRANCH_HALT_SKIP,
6789 	.hwcg_reg = 0xe2078,
6790 	.hwcg_bit = 1,
6791 	.clkr = {
6792 		.enable_reg = 0xe2078,
6793 		.enable_mask = BIT(0),
6794 		.hw.init = &(const struct clk_init_data) {
6795 			.name = "gcc_usb3_sec_phy_pipe_clk",
6796 			.parent_hws = (const struct clk_hw*[]) {
6797 				&gcc_usb34_sec_phy_pipe_clk_src.clkr.hw,
6798 			},
6799 			.num_parents = 1,
6800 			.flags = CLK_SET_RATE_PARENT,
6801 			.ops = &clk_branch2_ops,
6802 		},
6803 	},
6804 };
6805 
6806 static struct clk_branch gcc_usb3_tert_phy_aux_clk = {
6807 	.halt_reg = 0xe1070,
6808 	.halt_check = BRANCH_HALT,
6809 	.clkr = {
6810 		.enable_reg = 0xe1070,
6811 		.enable_mask = BIT(0),
6812 		.hw.init = &(const struct clk_init_data) {
6813 			.name = "gcc_usb3_tert_phy_aux_clk",
6814 			.parent_hws = (const struct clk_hw*[]) {
6815 				&gcc_usb3_tert_phy_aux_clk_src.clkr.hw,
6816 			},
6817 			.num_parents = 1,
6818 			.flags = CLK_SET_RATE_PARENT,
6819 			.ops = &clk_branch2_ops,
6820 		},
6821 	},
6822 };
6823 
6824 static struct clk_branch gcc_usb3_tert_phy_com_aux_clk = {
6825 	.halt_reg = 0xe1074,
6826 	.halt_check = BRANCH_HALT,
6827 	.clkr = {
6828 		.enable_reg = 0xe1074,
6829 		.enable_mask = BIT(0),
6830 		.hw.init = &(const struct clk_init_data) {
6831 			.name = "gcc_usb3_tert_phy_com_aux_clk",
6832 			.parent_hws = (const struct clk_hw*[]) {
6833 				&gcc_usb3_tert_phy_aux_clk_src.clkr.hw,
6834 			},
6835 			.num_parents = 1,
6836 			.flags = CLK_SET_RATE_PARENT,
6837 			.ops = &clk_branch2_ops,
6838 		},
6839 	},
6840 };
6841 
6842 static struct clk_branch gcc_usb3_tert_phy_pipe_clk = {
6843 	.halt_reg = 0xe1078,
6844 	.halt_check = BRANCH_HALT_SKIP,
6845 	.hwcg_reg = 0xe1078,
6846 	.hwcg_bit = 1,
6847 	.clkr = {
6848 		.enable_reg = 0xe1078,
6849 		.enable_mask = BIT(0),
6850 		.hw.init = &(const struct clk_init_data) {
6851 			.name = "gcc_usb3_tert_phy_pipe_clk",
6852 			.parent_hws = (const struct clk_hw*[]) {
6853 				&gcc_usb34_tert_phy_pipe_clk_src.clkr.hw,
6854 			},
6855 			.num_parents = 1,
6856 			.flags = CLK_SET_RATE_PARENT,
6857 			.ops = &clk_branch2_ops,
6858 		},
6859 	},
6860 };
6861 
6862 static struct clk_branch gcc_usb4_0_cfg_ahb_clk = {
6863 	.halt_reg = 0xba450,
6864 	.halt_check = BRANCH_HALT_VOTED,
6865 	.hwcg_reg = 0xba450,
6866 	.hwcg_bit = 1,
6867 	.clkr = {
6868 		.enable_reg = 0xba450,
6869 		.enable_mask = BIT(0),
6870 		.hw.init = &(const struct clk_init_data) {
6871 			.name = "gcc_usb4_0_cfg_ahb_clk",
6872 			.ops = &clk_branch2_ops,
6873 		},
6874 	},
6875 };
6876 
6877 static struct clk_branch gcc_usb4_0_dp0_clk = {
6878 	.halt_reg = 0x2b070,
6879 	.halt_check = BRANCH_HALT,
6880 	.clkr = {
6881 		.enable_reg = 0x2b070,
6882 		.enable_mask = BIT(0),
6883 		.hw.init = &(const struct clk_init_data) {
6884 			.name = "gcc_usb4_0_dp0_clk",
6885 			.parent_hws = (const struct clk_hw*[]) {
6886 				&gcc_usb4_0_phy_dp0_clk_src.clkr.hw,
6887 			},
6888 			.num_parents = 1,
6889 			.flags = CLK_SET_RATE_PARENT,
6890 			.ops = &clk_branch2_ops,
6891 		},
6892 	},
6893 };
6894 
6895 static struct clk_branch gcc_usb4_0_dp1_clk = {
6896 	.halt_reg = 0x2b124,
6897 	.halt_check = BRANCH_HALT,
6898 	.clkr = {
6899 		.enable_reg = 0x2b124,
6900 		.enable_mask = BIT(0),
6901 		.hw.init = &(const struct clk_init_data) {
6902 			.name = "gcc_usb4_0_dp1_clk",
6903 			.parent_hws = (const struct clk_hw*[]) {
6904 				&gcc_usb4_0_phy_dp1_clk_src.clkr.hw,
6905 			},
6906 			.num_parents = 1,
6907 			.flags = CLK_SET_RATE_PARENT,
6908 			.ops = &clk_branch2_ops,
6909 		},
6910 	},
6911 };
6912 
6913 static struct clk_branch gcc_usb4_0_master_clk = {
6914 	.halt_reg = 0x2b01c,
6915 	.halt_check = BRANCH_HALT,
6916 	.clkr = {
6917 		.enable_reg = 0x2b01c,
6918 		.enable_mask = BIT(0),
6919 		.hw.init = &(const struct clk_init_data) {
6920 			.name = "gcc_usb4_0_master_clk",
6921 			.parent_hws = (const struct clk_hw*[]) {
6922 				&gcc_usb4_0_master_clk_src.clkr.hw,
6923 			},
6924 			.num_parents = 1,
6925 			.flags = CLK_SET_RATE_PARENT,
6926 			.ops = &clk_branch2_ops,
6927 		},
6928 	},
6929 };
6930 
6931 static struct clk_branch gcc_usb4_0_phy_p2rr2p_pipe_clk = {
6932 	.halt_reg = 0x2b0f4,
6933 	.halt_check = BRANCH_HALT_SKIP,
6934 	.clkr = {
6935 		.enable_reg = 0x2b0f4,
6936 		.enable_mask = BIT(0),
6937 		.hw.init = &(const struct clk_init_data) {
6938 			.name = "gcc_usb4_0_phy_p2rr2p_pipe_clk",
6939 			.parent_hws = (const struct clk_hw*[]) {
6940 				&gcc_usb4_0_phy_p2rr2p_pipe_clk_src.clkr.hw,
6941 			},
6942 			.num_parents = 1,
6943 			.flags = CLK_SET_RATE_PARENT,
6944 			.ops = &clk_branch2_ops,
6945 		},
6946 	},
6947 };
6948 
6949 static struct clk_branch gcc_usb4_0_phy_pcie_pipe_clk = {
6950 	.halt_reg = 0x2b04c,
6951 	.halt_check = BRANCH_HALT_SKIP,
6952 	.clkr = {
6953 		.enable_reg = 0x62010,
6954 		.enable_mask = BIT(11),
6955 		.hw.init = &(const struct clk_init_data) {
6956 			.name = "gcc_usb4_0_phy_pcie_pipe_clk",
6957 			.parent_hws = (const struct clk_hw*[]) {
6958 				&gcc_usb4_0_phy_pcie_pipe_mux_clk_src.clkr.hw,
6959 			},
6960 			.num_parents = 1,
6961 			.flags = CLK_SET_RATE_PARENT,
6962 			.ops = &clk_branch2_ops,
6963 		},
6964 	},
6965 };
6966 
6967 static struct clk_branch gcc_usb4_0_phy_rx0_clk = {
6968 	.halt_reg = 0x2b0c4,
6969 	.halt_check = BRANCH_HALT,
6970 	.clkr = {
6971 		.enable_reg = 0x2b0c4,
6972 		.enable_mask = BIT(0),
6973 		.hw.init = &(const struct clk_init_data) {
6974 			.name = "gcc_usb4_0_phy_rx0_clk",
6975 			.parent_hws = (const struct clk_hw*[]) {
6976 				&gcc_usb4_0_phy_rx0_clk_src.clkr.hw,
6977 			},
6978 			.num_parents = 1,
6979 			.flags = CLK_SET_RATE_PARENT,
6980 			.ops = &clk_branch2_ops,
6981 		},
6982 	},
6983 };
6984 
6985 static struct clk_branch gcc_usb4_0_phy_rx1_clk = {
6986 	.halt_reg = 0x2b0d8,
6987 	.halt_check = BRANCH_HALT,
6988 	.clkr = {
6989 		.enable_reg = 0x2b0d8,
6990 		.enable_mask = BIT(0),
6991 		.hw.init = &(const struct clk_init_data) {
6992 			.name = "gcc_usb4_0_phy_rx1_clk",
6993 			.parent_hws = (const struct clk_hw*[]) {
6994 				&gcc_usb4_0_phy_rx1_clk_src.clkr.hw,
6995 			},
6996 			.num_parents = 1,
6997 			.flags = CLK_SET_RATE_PARENT,
6998 			.ops = &clk_branch2_ops,
6999 		},
7000 	},
7001 };
7002 
7003 static struct clk_branch gcc_usb4_0_phy_usb_pipe_clk = {
7004 	.halt_reg = 0x2b0bc,
7005 	.halt_check = BRANCH_HALT_SKIP,
7006 	.hwcg_reg = 0x2b0bc,
7007 	.hwcg_bit = 1,
7008 	.clkr = {
7009 		.enable_reg = 0x2b0bc,
7010 		.enable_mask = BIT(0),
7011 		.hw.init = &(const struct clk_init_data) {
7012 			.name = "gcc_usb4_0_phy_usb_pipe_clk",
7013 			.parent_hws = (const struct clk_hw*[]) {
7014 				&gcc_usb34_prim_phy_pipe_clk_src.clkr.hw,
7015 			},
7016 			.num_parents = 1,
7017 			.flags = CLK_SET_RATE_PARENT,
7018 			.ops = &clk_branch2_ops,
7019 		},
7020 	},
7021 };
7022 
7023 static struct clk_branch gcc_usb4_0_sb_if_clk = {
7024 	.halt_reg = 0x2b048,
7025 	.halt_check = BRANCH_HALT,
7026 	.clkr = {
7027 		.enable_reg = 0x2b048,
7028 		.enable_mask = BIT(0),
7029 		.hw.init = &(const struct clk_init_data) {
7030 			.name = "gcc_usb4_0_sb_if_clk",
7031 			.parent_hws = (const struct clk_hw*[]) {
7032 				&gcc_usb4_0_sb_if_clk_src.clkr.hw,
7033 			},
7034 			.num_parents = 1,
7035 			.flags = CLK_SET_RATE_PARENT,
7036 			.ops = &clk_branch2_ops,
7037 		},
7038 	},
7039 };
7040 
7041 static struct clk_branch gcc_usb4_0_sys_clk = {
7042 	.halt_reg = 0x2b05c,
7043 	.halt_check = BRANCH_HALT,
7044 	.clkr = {
7045 		.enable_reg = 0x2b05c,
7046 		.enable_mask = BIT(0),
7047 		.hw.init = &(const struct clk_init_data) {
7048 			.name = "gcc_usb4_0_sys_clk",
7049 			.parent_hws = (const struct clk_hw*[]) {
7050 				&gcc_usb4_0_phy_sys_clk_src.clkr.hw,
7051 			},
7052 			.num_parents = 1,
7053 			.flags = CLK_SET_RATE_PARENT,
7054 			.ops = &clk_branch2_ops,
7055 		},
7056 	},
7057 };
7058 
7059 static struct clk_branch gcc_usb4_0_tmu_clk = {
7060 	.halt_reg = 0x2b09c,
7061 	.halt_check = BRANCH_HALT_VOTED,
7062 	.hwcg_reg = 0x2b09c,
7063 	.hwcg_bit = 1,
7064 	.clkr = {
7065 		.enable_reg = 0x2b09c,
7066 		.enable_mask = BIT(0),
7067 		.hw.init = &(const struct clk_init_data) {
7068 			.name = "gcc_usb4_0_tmu_clk",
7069 			.parent_hws = (const struct clk_hw*[]) {
7070 				&gcc_usb4_0_tmu_clk_src.clkr.hw,
7071 			},
7072 			.num_parents = 1,
7073 			.flags = CLK_SET_RATE_PARENT,
7074 			.ops = &clk_branch2_ops,
7075 		},
7076 	},
7077 };
7078 
7079 static struct clk_branch gcc_usb4_0_uc_hrr_clk = {
7080 	.halt_reg = 0x2b06c,
7081 	.halt_check = BRANCH_HALT,
7082 	.clkr = {
7083 		.enable_reg = 0x2b06c,
7084 		.enable_mask = BIT(0),
7085 		.hw.init = &(const struct clk_init_data) {
7086 			.name = "gcc_usb4_0_uc_hrr_clk",
7087 			.parent_hws = (const struct clk_hw*[]) {
7088 				&gcc_usb4_0_phy_sys_clk_src.clkr.hw,
7089 			},
7090 			.num_parents = 1,
7091 			.flags = CLK_SET_RATE_PARENT,
7092 			.ops = &clk_branch2_ops,
7093 		},
7094 	},
7095 };
7096 
7097 static struct clk_branch gcc_usb4_1_cfg_ahb_clk = {
7098 	.halt_reg = 0xba454,
7099 	.halt_check = BRANCH_HALT_VOTED,
7100 	.hwcg_reg = 0xba454,
7101 	.hwcg_bit = 1,
7102 	.clkr = {
7103 		.enable_reg = 0xba454,
7104 		.enable_mask = BIT(0),
7105 		.hw.init = &(const struct clk_init_data) {
7106 			.name = "gcc_usb4_1_cfg_ahb_clk",
7107 			.ops = &clk_branch2_ops,
7108 		},
7109 	},
7110 };
7111 
7112 static struct clk_branch gcc_usb4_1_dp0_clk = {
7113 	.halt_reg = 0x2d07c,
7114 	.halt_check = BRANCH_HALT,
7115 	.clkr = {
7116 		.enable_reg = 0x2d07c,
7117 		.enable_mask = BIT(0),
7118 		.hw.init = &(const struct clk_init_data) {
7119 			.name = "gcc_usb4_1_dp0_clk",
7120 			.parent_hws = (const struct clk_hw*[]) {
7121 				&gcc_usb4_1_phy_dp0_clk_src.clkr.hw,
7122 			},
7123 			.num_parents = 1,
7124 			.flags = CLK_SET_RATE_PARENT,
7125 			.ops = &clk_branch2_ops,
7126 		},
7127 	},
7128 };
7129 
7130 static struct clk_branch gcc_usb4_1_dp1_clk = {
7131 	.halt_reg = 0x2d144,
7132 	.halt_check = BRANCH_HALT,
7133 	.clkr = {
7134 		.enable_reg = 0x2d144,
7135 		.enable_mask = BIT(0),
7136 		.hw.init = &(const struct clk_init_data) {
7137 			.name = "gcc_usb4_1_dp1_clk",
7138 			.parent_hws = (const struct clk_hw*[]) {
7139 				&gcc_usb4_1_phy_dp1_clk_src.clkr.hw,
7140 			},
7141 			.num_parents = 1,
7142 			.flags = CLK_SET_RATE_PARENT,
7143 			.ops = &clk_branch2_ops,
7144 		},
7145 	},
7146 };
7147 
7148 static struct clk_branch gcc_usb4_1_master_clk = {
7149 	.halt_reg = 0x2d01c,
7150 	.halt_check = BRANCH_HALT,
7151 	.clkr = {
7152 		.enable_reg = 0x2d01c,
7153 		.enable_mask = BIT(0),
7154 		.hw.init = &(const struct clk_init_data) {
7155 			.name = "gcc_usb4_1_master_clk",
7156 			.parent_hws = (const struct clk_hw*[]) {
7157 				&gcc_usb4_1_master_clk_src.clkr.hw,
7158 			},
7159 			.num_parents = 1,
7160 			.flags = CLK_SET_RATE_PARENT,
7161 			.ops = &clk_branch2_ops,
7162 		},
7163 	},
7164 };
7165 
7166 static struct clk_branch gcc_usb4_1_phy_p2rr2p_pipe_clk = {
7167 	.halt_reg = 0x2d118,
7168 	.halt_check = BRANCH_HALT_SKIP,
7169 	.clkr = {
7170 		.enable_reg = 0x2d118,
7171 		.enable_mask = BIT(0),
7172 		.hw.init = &(const struct clk_init_data) {
7173 			.name = "gcc_usb4_1_phy_p2rr2p_pipe_clk",
7174 			.parent_hws = (const struct clk_hw*[]) {
7175 				&gcc_usb4_1_phy_p2rr2p_pipe_clk_src.clkr.hw,
7176 			},
7177 			.num_parents = 1,
7178 			.flags = CLK_SET_RATE_PARENT,
7179 			.ops = &clk_branch2_ops,
7180 		},
7181 	},
7182 };
7183 
7184 static struct clk_branch gcc_usb4_1_phy_pcie_pipe_clk = {
7185 	.halt_reg = 0x2d04c,
7186 	.halt_check = BRANCH_HALT_SKIP,
7187 	.clkr = {
7188 		.enable_reg = 0x62010,
7189 		.enable_mask = BIT(12),
7190 		.hw.init = &(const struct clk_init_data) {
7191 			.name = "gcc_usb4_1_phy_pcie_pipe_clk",
7192 			.parent_hws = (const struct clk_hw*[]) {
7193 				&gcc_usb4_1_phy_pcie_pipe_mux_clk_src.clkr.hw,
7194 			},
7195 			.num_parents = 1,
7196 			.flags = CLK_SET_RATE_PARENT,
7197 			.ops = &clk_branch2_ops,
7198 		},
7199 	},
7200 };
7201 
7202 static struct clk_branch gcc_usb4_1_phy_rx0_clk = {
7203 	.halt_reg = 0x2d0e8,
7204 	.halt_check = BRANCH_HALT,
7205 	.clkr = {
7206 		.enable_reg = 0x2d0e8,
7207 		.enable_mask = BIT(0),
7208 		.hw.init = &(const struct clk_init_data) {
7209 			.name = "gcc_usb4_1_phy_rx0_clk",
7210 			.parent_hws = (const struct clk_hw*[]) {
7211 				&gcc_usb4_1_phy_rx0_clk_src.clkr.hw,
7212 			},
7213 			.num_parents = 1,
7214 			.flags = CLK_SET_RATE_PARENT,
7215 			.ops = &clk_branch2_ops,
7216 		},
7217 	},
7218 };
7219 
7220 static struct clk_branch gcc_usb4_1_phy_rx1_clk = {
7221 	.halt_reg = 0x2d0fc,
7222 	.halt_check = BRANCH_HALT,
7223 	.clkr = {
7224 		.enable_reg = 0x2d0fc,
7225 		.enable_mask = BIT(0),
7226 		.hw.init = &(const struct clk_init_data) {
7227 			.name = "gcc_usb4_1_phy_rx1_clk",
7228 			.parent_hws = (const struct clk_hw*[]) {
7229 				&gcc_usb4_1_phy_rx1_clk_src.clkr.hw,
7230 			},
7231 			.num_parents = 1,
7232 			.flags = CLK_SET_RATE_PARENT,
7233 			.ops = &clk_branch2_ops,
7234 		},
7235 	},
7236 };
7237 
7238 static struct clk_branch gcc_usb4_1_phy_usb_pipe_clk = {
7239 	.halt_reg = 0x2d0e0,
7240 	.halt_check = BRANCH_HALT_SKIP,
7241 	.hwcg_reg = 0x2d0e0,
7242 	.hwcg_bit = 1,
7243 	.clkr = {
7244 		.enable_reg = 0x2d0e0,
7245 		.enable_mask = BIT(0),
7246 		.hw.init = &(const struct clk_init_data) {
7247 			.name = "gcc_usb4_1_phy_usb_pipe_clk",
7248 			.parent_hws = (const struct clk_hw*[]) {
7249 				&gcc_usb34_sec_phy_pipe_clk_src.clkr.hw,
7250 			},
7251 			.num_parents = 1,
7252 			.flags = CLK_SET_RATE_PARENT,
7253 			.ops = &clk_branch2_ops,
7254 		},
7255 	},
7256 };
7257 
7258 static struct clk_branch gcc_usb4_1_sb_if_clk = {
7259 	.halt_reg = 0x2d048,
7260 	.halt_check = BRANCH_HALT,
7261 	.clkr = {
7262 		.enable_reg = 0x2d048,
7263 		.enable_mask = BIT(0),
7264 		.hw.init = &(const struct clk_init_data) {
7265 			.name = "gcc_usb4_1_sb_if_clk",
7266 			.parent_hws = (const struct clk_hw*[]) {
7267 				&gcc_usb4_1_sb_if_clk_src.clkr.hw,
7268 			},
7269 			.num_parents = 1,
7270 			.flags = CLK_SET_RATE_PARENT,
7271 			.ops = &clk_branch2_ops,
7272 		},
7273 	},
7274 };
7275 
7276 static struct clk_branch gcc_usb4_1_sys_clk = {
7277 	.halt_reg = 0x2d05c,
7278 	.halt_check = BRANCH_HALT,
7279 	.clkr = {
7280 		.enable_reg = 0x2d05c,
7281 		.enable_mask = BIT(0),
7282 		.hw.init = &(const struct clk_init_data) {
7283 			.name = "gcc_usb4_1_sys_clk",
7284 			.parent_hws = (const struct clk_hw*[]) {
7285 				&gcc_usb4_1_phy_sys_clk_src.clkr.hw,
7286 			},
7287 			.num_parents = 1,
7288 			.flags = CLK_SET_RATE_PARENT,
7289 			.ops = &clk_branch2_ops,
7290 		},
7291 	},
7292 };
7293 
7294 static struct clk_branch gcc_usb4_1_tmu_clk = {
7295 	.halt_reg = 0x2d0a8,
7296 	.halt_check = BRANCH_HALT_VOTED,
7297 	.hwcg_reg = 0x2d0a8,
7298 	.hwcg_bit = 1,
7299 	.clkr = {
7300 		.enable_reg = 0x2d0a8,
7301 		.enable_mask = BIT(0),
7302 		.hw.init = &(const struct clk_init_data) {
7303 			.name = "gcc_usb4_1_tmu_clk",
7304 			.parent_hws = (const struct clk_hw*[]) {
7305 				&gcc_usb4_1_tmu_clk_src.clkr.hw,
7306 			},
7307 			.num_parents = 1,
7308 			.flags = CLK_SET_RATE_PARENT,
7309 			.ops = &clk_branch2_ops,
7310 		},
7311 	},
7312 };
7313 
7314 static struct clk_branch gcc_usb4_1_uc_hrr_clk = {
7315 	.halt_reg = 0x2d06c,
7316 	.halt_check = BRANCH_HALT,
7317 	.clkr = {
7318 		.enable_reg = 0x2d06c,
7319 		.enable_mask = BIT(0),
7320 		.hw.init = &(const struct clk_init_data) {
7321 			.name = "gcc_usb4_1_uc_hrr_clk",
7322 			.parent_hws = (const struct clk_hw*[]) {
7323 				&gcc_usb4_1_phy_sys_clk_src.clkr.hw,
7324 			},
7325 			.num_parents = 1,
7326 			.flags = CLK_SET_RATE_PARENT,
7327 			.ops = &clk_branch2_ops,
7328 		},
7329 	},
7330 };
7331 
7332 static struct clk_branch gcc_usb4_2_cfg_ahb_clk = {
7333 	.halt_reg = 0xba458,
7334 	.halt_check = BRANCH_HALT_VOTED,
7335 	.hwcg_reg = 0xba458,
7336 	.hwcg_bit = 1,
7337 	.clkr = {
7338 		.enable_reg = 0xba458,
7339 		.enable_mask = BIT(0),
7340 		.hw.init = &(const struct clk_init_data) {
7341 			.name = "gcc_usb4_2_cfg_ahb_clk",
7342 			.ops = &clk_branch2_ops,
7343 		},
7344 	},
7345 };
7346 
7347 static struct clk_branch gcc_usb4_2_dp0_clk = {
7348 	.halt_reg = 0xe0070,
7349 	.halt_check = BRANCH_HALT,
7350 	.clkr = {
7351 		.enable_reg = 0xe0070,
7352 		.enable_mask = BIT(0),
7353 		.hw.init = &(const struct clk_init_data) {
7354 			.name = "gcc_usb4_2_dp0_clk",
7355 			.parent_hws = (const struct clk_hw*[]) {
7356 				&gcc_usb4_2_phy_dp0_clk_src.clkr.hw,
7357 			},
7358 			.num_parents = 1,
7359 			.flags = CLK_SET_RATE_PARENT,
7360 			.ops = &clk_branch2_ops,
7361 		},
7362 	},
7363 };
7364 
7365 static struct clk_branch gcc_usb4_2_dp1_clk = {
7366 	.halt_reg = 0xe0128,
7367 	.halt_check = BRANCH_HALT,
7368 	.clkr = {
7369 		.enable_reg = 0xe0128,
7370 		.enable_mask = BIT(0),
7371 		.hw.init = &(const struct clk_init_data) {
7372 			.name = "gcc_usb4_2_dp1_clk",
7373 			.parent_hws = (const struct clk_hw*[]) {
7374 				&gcc_usb4_2_phy_dp1_clk_src.clkr.hw,
7375 			},
7376 			.num_parents = 1,
7377 			.flags = CLK_SET_RATE_PARENT,
7378 			.ops = &clk_branch2_ops,
7379 		},
7380 	},
7381 };
7382 
7383 static struct clk_branch gcc_usb4_2_master_clk = {
7384 	.halt_reg = 0xe001c,
7385 	.halt_check = BRANCH_HALT,
7386 	.clkr = {
7387 		.enable_reg = 0xe001c,
7388 		.enable_mask = BIT(0),
7389 		.hw.init = &(const struct clk_init_data) {
7390 			.name = "gcc_usb4_2_master_clk",
7391 			.parent_hws = (const struct clk_hw*[]) {
7392 				&gcc_usb4_2_master_clk_src.clkr.hw,
7393 			},
7394 			.num_parents = 1,
7395 			.flags = CLK_SET_RATE_PARENT,
7396 			.ops = &clk_branch2_ops,
7397 		},
7398 	},
7399 };
7400 
7401 static struct clk_branch gcc_usb4_2_phy_p2rr2p_pipe_clk = {
7402 	.halt_reg = 0xe00f8,
7403 	.halt_check = BRANCH_HALT_SKIP,
7404 	.clkr = {
7405 		.enable_reg = 0xe00f8,
7406 		.enable_mask = BIT(0),
7407 		.hw.init = &(const struct clk_init_data) {
7408 			.name = "gcc_usb4_2_phy_p2rr2p_pipe_clk",
7409 			.parent_hws = (const struct clk_hw*[]) {
7410 				&gcc_usb4_2_phy_p2rr2p_pipe_clk_src.clkr.hw,
7411 			},
7412 			.num_parents = 1,
7413 			.flags = CLK_SET_RATE_PARENT,
7414 			.ops = &clk_branch2_ops,
7415 		},
7416 	},
7417 };
7418 
7419 static struct clk_branch gcc_usb4_2_phy_pcie_pipe_clk = {
7420 	.halt_reg = 0xe004c,
7421 	.halt_check = BRANCH_HALT_SKIP,
7422 	.clkr = {
7423 		.enable_reg = 0x62010,
7424 		.enable_mask = BIT(13),
7425 		.hw.init = &(const struct clk_init_data) {
7426 			.name = "gcc_usb4_2_phy_pcie_pipe_clk",
7427 			.parent_hws = (const struct clk_hw*[]) {
7428 				&gcc_usb4_2_phy_pcie_pipe_mux_clk_src.clkr.hw,
7429 			},
7430 			.num_parents = 1,
7431 			.flags = CLK_SET_RATE_PARENT,
7432 			.ops = &clk_branch2_ops,
7433 		},
7434 	},
7435 };
7436 
7437 static struct clk_branch gcc_usb4_2_phy_rx0_clk = {
7438 	.halt_reg = 0xe00c8,
7439 	.halt_check = BRANCH_HALT,
7440 	.clkr = {
7441 		.enable_reg = 0xe00c8,
7442 		.enable_mask = BIT(0),
7443 		.hw.init = &(const struct clk_init_data) {
7444 			.name = "gcc_usb4_2_phy_rx0_clk",
7445 			.parent_hws = (const struct clk_hw*[]) {
7446 				&gcc_usb4_2_phy_rx0_clk_src.clkr.hw,
7447 			},
7448 			.num_parents = 1,
7449 			.flags = CLK_SET_RATE_PARENT,
7450 			.ops = &clk_branch2_ops,
7451 		},
7452 	},
7453 };
7454 
7455 static struct clk_branch gcc_usb4_2_phy_rx1_clk = {
7456 	.halt_reg = 0xe00dc,
7457 	.halt_check = BRANCH_HALT,
7458 	.clkr = {
7459 		.enable_reg = 0xe00dc,
7460 		.enable_mask = BIT(0),
7461 		.hw.init = &(const struct clk_init_data) {
7462 			.name = "gcc_usb4_2_phy_rx1_clk",
7463 			.parent_hws = (const struct clk_hw*[]) {
7464 				&gcc_usb4_2_phy_rx1_clk_src.clkr.hw,
7465 			},
7466 			.num_parents = 1,
7467 			.flags = CLK_SET_RATE_PARENT,
7468 			.ops = &clk_branch2_ops,
7469 		},
7470 	},
7471 };
7472 
7473 static struct clk_branch gcc_usb4_2_phy_usb_pipe_clk = {
7474 	.halt_reg = 0xe00c0,
7475 	.halt_check = BRANCH_HALT_SKIP,
7476 	.hwcg_reg = 0xe00c0,
7477 	.hwcg_bit = 1,
7478 	.clkr = {
7479 		.enable_reg = 0xe00c0,
7480 		.enable_mask = BIT(0),
7481 		.hw.init = &(const struct clk_init_data) {
7482 			.name = "gcc_usb4_2_phy_usb_pipe_clk",
7483 			.parent_hws = (const struct clk_hw*[]) {
7484 				&gcc_usb34_tert_phy_pipe_clk_src.clkr.hw,
7485 			},
7486 			.num_parents = 1,
7487 			.flags = CLK_SET_RATE_PARENT,
7488 			.ops = &clk_branch2_ops,
7489 		},
7490 	},
7491 };
7492 
7493 static struct clk_branch gcc_usb4_2_sb_if_clk = {
7494 	.halt_reg = 0xe0048,
7495 	.halt_check = BRANCH_HALT,
7496 	.clkr = {
7497 		.enable_reg = 0xe0048,
7498 		.enable_mask = BIT(0),
7499 		.hw.init = &(const struct clk_init_data) {
7500 			.name = "gcc_usb4_2_sb_if_clk",
7501 			.parent_hws = (const struct clk_hw*[]) {
7502 				&gcc_usb4_2_sb_if_clk_src.clkr.hw,
7503 			},
7504 			.num_parents = 1,
7505 			.flags = CLK_SET_RATE_PARENT,
7506 			.ops = &clk_branch2_ops,
7507 		},
7508 	},
7509 };
7510 
7511 static struct clk_branch gcc_usb4_2_sys_clk = {
7512 	.halt_reg = 0xe005c,
7513 	.halt_check = BRANCH_HALT,
7514 	.clkr = {
7515 		.enable_reg = 0xe005c,
7516 		.enable_mask = BIT(0),
7517 		.hw.init = &(const struct clk_init_data) {
7518 			.name = "gcc_usb4_2_sys_clk",
7519 			.parent_hws = (const struct clk_hw*[]) {
7520 				&gcc_usb4_2_phy_sys_clk_src.clkr.hw,
7521 			},
7522 			.num_parents = 1,
7523 			.flags = CLK_SET_RATE_PARENT,
7524 			.ops = &clk_branch2_ops,
7525 		},
7526 	},
7527 };
7528 
7529 static struct clk_branch gcc_usb4_2_tmu_clk = {
7530 	.halt_reg = 0xe00a0,
7531 	.halt_check = BRANCH_HALT_VOTED,
7532 	.hwcg_reg = 0xe00a0,
7533 	.hwcg_bit = 1,
7534 	.clkr = {
7535 		.enable_reg = 0xe00a0,
7536 		.enable_mask = BIT(0),
7537 		.hw.init = &(const struct clk_init_data) {
7538 			.name = "gcc_usb4_2_tmu_clk",
7539 			.parent_hws = (const struct clk_hw*[]) {
7540 				&gcc_usb4_2_tmu_clk_src.clkr.hw,
7541 			},
7542 			.num_parents = 1,
7543 			.flags = CLK_SET_RATE_PARENT,
7544 			.ops = &clk_branch2_ops,
7545 		},
7546 	},
7547 };
7548 
7549 static struct clk_branch gcc_usb4_2_uc_hrr_clk = {
7550 	.halt_reg = 0xe006c,
7551 	.halt_check = BRANCH_HALT,
7552 	.clkr = {
7553 		.enable_reg = 0xe006c,
7554 		.enable_mask = BIT(0),
7555 		.hw.init = &(const struct clk_init_data) {
7556 			.name = "gcc_usb4_2_uc_hrr_clk",
7557 			.parent_hws = (const struct clk_hw*[]) {
7558 				&gcc_usb4_2_phy_sys_clk_src.clkr.hw,
7559 			},
7560 			.num_parents = 1,
7561 			.flags = CLK_SET_RATE_PARENT,
7562 			.ops = &clk_branch2_ops,
7563 		},
7564 	},
7565 };
7566 
7567 static struct clk_branch gcc_video_axi0_clk = {
7568 	.halt_reg = 0x3201c,
7569 	.halt_check = BRANCH_HALT_SKIP,
7570 	.hwcg_reg = 0x3201c,
7571 	.hwcg_bit = 1,
7572 	.clkr = {
7573 		.enable_reg = 0x3201c,
7574 		.enable_mask = BIT(0),
7575 		.hw.init = &(const struct clk_init_data) {
7576 			.name = "gcc_video_axi0_clk",
7577 			.ops = &clk_branch2_ops,
7578 		},
7579 	},
7580 };
7581 
7582 static struct clk_branch gcc_video_axi0c_clk = {
7583 	.halt_reg = 0x32030,
7584 	.halt_check = BRANCH_HALT_SKIP,
7585 	.hwcg_reg = 0x32030,
7586 	.hwcg_bit = 1,
7587 	.clkr = {
7588 		.enable_reg = 0x32030,
7589 		.enable_mask = BIT(0),
7590 		.hw.init = &(const struct clk_init_data) {
7591 			.name = "gcc_video_axi0c_clk",
7592 			.ops = &clk_branch2_ops,
7593 		},
7594 	},
7595 };
7596 
7597 static struct clk_branch gcc_video_axi1_clk = {
7598 	.halt_reg = 0x32044,
7599 	.halt_check = BRANCH_HALT_SKIP,
7600 	.hwcg_reg = 0x32044,
7601 	.hwcg_bit = 1,
7602 	.clkr = {
7603 		.enable_reg = 0x32044,
7604 		.enable_mask = BIT(0),
7605 		.hw.init = &(const struct clk_init_data) {
7606 			.name = "gcc_video_axi1_clk",
7607 			.ops = &clk_branch2_ops,
7608 		},
7609 	},
7610 };
7611 
7612 static struct gdsc gcc_pcie_0_tunnel_gdsc = {
7613 	.gdscr = 0xc8004,
7614 	.en_rest_wait_val = 0x2,
7615 	.en_few_wait_val = 0x2,
7616 	.clk_dis_wait_val = 0xf,
7617 	.pd = {
7618 		.name = "gcc_pcie_0_tunnel_gdsc",
7619 	},
7620 	.pwrsts = PWRSTS_OFF_ON,
7621 	.flags = POLL_CFG_GDSCR | RETAIN_FF_ENABLE | VOTABLE,
7622 };
7623 
7624 static struct gdsc gcc_pcie_1_tunnel_gdsc = {
7625 	.gdscr = 0x2e004,
7626 	.en_rest_wait_val = 0x2,
7627 	.en_few_wait_val = 0x2,
7628 	.clk_dis_wait_val = 0xf,
7629 	.pd = {
7630 		.name = "gcc_pcie_1_tunnel_gdsc",
7631 	},
7632 	.pwrsts = PWRSTS_OFF_ON,
7633 	.flags = POLL_CFG_GDSCR | RETAIN_FF_ENABLE | VOTABLE,
7634 };
7635 
7636 static struct gdsc gcc_pcie_2_tunnel_gdsc = {
7637 	.gdscr = 0xc0004,
7638 	.en_rest_wait_val = 0x2,
7639 	.en_few_wait_val = 0x2,
7640 	.clk_dis_wait_val = 0xf,
7641 	.pd = {
7642 		.name = "gcc_pcie_2_tunnel_gdsc",
7643 	},
7644 	.pwrsts = PWRSTS_OFF_ON,
7645 	.flags = POLL_CFG_GDSCR | RETAIN_FF_ENABLE | VOTABLE,
7646 };
7647 
7648 static struct gdsc gcc_pcie_3a_gdsc = {
7649 	.gdscr = 0xdc004,
7650 	.en_rest_wait_val = 0x2,
7651 	.en_few_wait_val = 0x2,
7652 	.clk_dis_wait_val = 0xf,
7653 	.pd = {
7654 		.name = "gcc_pcie_3a_gdsc",
7655 	},
7656 	.pwrsts = PWRSTS_OFF_ON,
7657 	.flags = POLL_CFG_GDSCR | RETAIN_FF_ENABLE | VOTABLE,
7658 };
7659 
7660 static struct gdsc gcc_pcie_3a_phy_gdsc = {
7661 	.gdscr = 0x6c004,
7662 	.en_rest_wait_val = 0x2,
7663 	.en_few_wait_val = 0x2,
7664 	.clk_dis_wait_val = 0x2,
7665 	.pd = {
7666 		.name = "gcc_pcie_3a_phy_gdsc",
7667 	},
7668 	.pwrsts = PWRSTS_OFF_ON,
7669 	.flags = POLL_CFG_GDSCR | RETAIN_FF_ENABLE | VOTABLE,
7670 };
7671 
7672 static struct gdsc gcc_pcie_3b_gdsc = {
7673 	.gdscr = 0x94004,
7674 	.en_rest_wait_val = 0x2,
7675 	.en_few_wait_val = 0x2,
7676 	.clk_dis_wait_val = 0xf,
7677 	.pd = {
7678 		.name = "gcc_pcie_3b_gdsc",
7679 	},
7680 	.pwrsts = PWRSTS_OFF_ON,
7681 	.flags = POLL_CFG_GDSCR | RETAIN_FF_ENABLE | VOTABLE,
7682 };
7683 
7684 static struct gdsc gcc_pcie_3b_phy_gdsc = {
7685 	.gdscr = 0x75004,
7686 	.en_rest_wait_val = 0x2,
7687 	.en_few_wait_val = 0x2,
7688 	.clk_dis_wait_val = 0x2,
7689 	.pd = {
7690 		.name = "gcc_pcie_3b_phy_gdsc",
7691 	},
7692 	.pwrsts = PWRSTS_OFF_ON,
7693 	.flags = POLL_CFG_GDSCR | RETAIN_FF_ENABLE | VOTABLE,
7694 };
7695 
7696 static struct gdsc gcc_pcie_4_gdsc = {
7697 	.gdscr = 0x88004,
7698 	.en_rest_wait_val = 0x2,
7699 	.en_few_wait_val = 0x2,
7700 	.clk_dis_wait_val = 0xf,
7701 	.pd = {
7702 		.name = "gcc_pcie_4_gdsc",
7703 	},
7704 	.pwrsts = PWRSTS_OFF_ON,
7705 	.flags = POLL_CFG_GDSCR | RETAIN_FF_ENABLE | VOTABLE,
7706 };
7707 
7708 static struct gdsc gcc_pcie_4_phy_gdsc = {
7709 	.gdscr = 0xd3004,
7710 	.en_rest_wait_val = 0x2,
7711 	.en_few_wait_val = 0x2,
7712 	.clk_dis_wait_val = 0x2,
7713 	.pd = {
7714 		.name = "gcc_pcie_4_phy_gdsc",
7715 	},
7716 	.pwrsts = PWRSTS_OFF_ON,
7717 	.flags = POLL_CFG_GDSCR | RETAIN_FF_ENABLE | VOTABLE,
7718 };
7719 
7720 static struct gdsc gcc_pcie_5_gdsc = {
7721 	.gdscr = 0xc3004,
7722 	.en_rest_wait_val = 0x2,
7723 	.en_few_wait_val = 0x2,
7724 	.clk_dis_wait_val = 0xf,
7725 	.pd = {
7726 		.name = "gcc_pcie_5_gdsc",
7727 	},
7728 	.pwrsts = PWRSTS_OFF_ON,
7729 	.flags = POLL_CFG_GDSCR | RETAIN_FF_ENABLE | VOTABLE,
7730 };
7731 
7732 static struct gdsc gcc_pcie_5_phy_gdsc = {
7733 	.gdscr = 0xd2004,
7734 	.en_rest_wait_val = 0x2,
7735 	.en_few_wait_val = 0x2,
7736 	.clk_dis_wait_val = 0x2,
7737 	.pd = {
7738 		.name = "gcc_pcie_5_phy_gdsc",
7739 	},
7740 	.pwrsts = PWRSTS_OFF_ON,
7741 	.flags = POLL_CFG_GDSCR | RETAIN_FF_ENABLE | VOTABLE,
7742 };
7743 
7744 static struct gdsc gcc_pcie_6_gdsc = {
7745 	.gdscr = 0x8a004,
7746 	.en_rest_wait_val = 0x2,
7747 	.en_few_wait_val = 0x2,
7748 	.clk_dis_wait_val = 0xf,
7749 	.pd = {
7750 		.name = "gcc_pcie_6_gdsc",
7751 	},
7752 	.pwrsts = PWRSTS_OFF_ON,
7753 	.flags = POLL_CFG_GDSCR | RETAIN_FF_ENABLE | VOTABLE,
7754 };
7755 
7756 static struct gdsc gcc_pcie_6_phy_gdsc = {
7757 	.gdscr = 0xd4004,
7758 	.en_rest_wait_val = 0x2,
7759 	.en_few_wait_val = 0x2,
7760 	.clk_dis_wait_val = 0x2,
7761 	.pd = {
7762 		.name = "gcc_pcie_6_phy_gdsc",
7763 	},
7764 	.pwrsts = PWRSTS_OFF_ON,
7765 	.flags = POLL_CFG_GDSCR | RETAIN_FF_ENABLE | VOTABLE,
7766 };
7767 
7768 static struct gdsc gcc_ufs_phy_gdsc = {
7769 	.gdscr = 0x77008,
7770 	.en_rest_wait_val = 0x2,
7771 	.en_few_wait_val = 0x2,
7772 	.clk_dis_wait_val = 0xf,
7773 	.pd = {
7774 		.name = "gcc_ufs_phy_gdsc",
7775 	},
7776 	.pwrsts = PWRSTS_OFF_ON,
7777 	.flags = POLL_CFG_GDSCR | RETAIN_FF_ENABLE,
7778 };
7779 
7780 static struct gdsc gcc_usb20_prim_gdsc = {
7781 	.gdscr = 0xbc004,
7782 	.en_rest_wait_val = 0x2,
7783 	.en_few_wait_val = 0x2,
7784 	.clk_dis_wait_val = 0xf,
7785 	.pd = {
7786 		.name = "gcc_usb20_prim_gdsc",
7787 	},
7788 	.pwrsts = PWRSTS_OFF_ON,
7789 	.flags = POLL_CFG_GDSCR | RETAIN_FF_ENABLE,
7790 };
7791 
7792 static struct gdsc gcc_usb30_mp_gdsc = {
7793 	.gdscr = 0x9a010,
7794 	.en_rest_wait_val = 0x2,
7795 	.en_few_wait_val = 0x2,
7796 	.clk_dis_wait_val = 0xf,
7797 	.pd = {
7798 		.name = "gcc_usb30_mp_gdsc",
7799 	},
7800 	.pwrsts = PWRSTS_OFF_ON,
7801 	.flags = POLL_CFG_GDSCR | RETAIN_FF_ENABLE,
7802 };
7803 
7804 static struct gdsc gcc_usb30_prim_gdsc = {
7805 	.gdscr = 0x3f01c,
7806 	.en_rest_wait_val = 0x2,
7807 	.en_few_wait_val = 0x2,
7808 	.clk_dis_wait_val = 0xf,
7809 	.pd = {
7810 		.name = "gcc_usb30_prim_gdsc",
7811 	},
7812 	.pwrsts = PWRSTS_OFF_ON,
7813 	.flags = POLL_CFG_GDSCR | RETAIN_FF_ENABLE,
7814 };
7815 
7816 static struct gdsc gcc_usb30_sec_gdsc = {
7817 	.gdscr = 0xe2010,
7818 	.en_rest_wait_val = 0x2,
7819 	.en_few_wait_val = 0x2,
7820 	.clk_dis_wait_val = 0xf,
7821 	.pd = {
7822 		.name = "gcc_usb30_sec_gdsc",
7823 	},
7824 	.pwrsts = PWRSTS_OFF_ON,
7825 	.flags = POLL_CFG_GDSCR | RETAIN_FF_ENABLE,
7826 };
7827 
7828 static struct gdsc gcc_usb30_tert_gdsc = {
7829 	.gdscr = 0xe1010,
7830 	.en_rest_wait_val = 0x2,
7831 	.en_few_wait_val = 0x2,
7832 	.clk_dis_wait_val = 0xf,
7833 	.pd = {
7834 		.name = "gcc_usb30_tert_gdsc",
7835 	},
7836 	.pwrsts = PWRSTS_OFF_ON,
7837 	.flags = POLL_CFG_GDSCR | RETAIN_FF_ENABLE,
7838 };
7839 
7840 static struct gdsc gcc_usb3_mp_ss0_phy_gdsc = {
7841 	.gdscr = 0x5400c,
7842 	.en_rest_wait_val = 0x2,
7843 	.en_few_wait_val = 0x2,
7844 	.clk_dis_wait_val = 0x2,
7845 	.pd = {
7846 		.name = "gcc_usb3_mp_ss0_phy_gdsc",
7847 	},
7848 	.pwrsts = PWRSTS_OFF_ON,
7849 	.flags = POLL_CFG_GDSCR | RETAIN_FF_ENABLE,
7850 };
7851 
7852 static struct gdsc gcc_usb3_mp_ss1_phy_gdsc = {
7853 	.gdscr = 0x5402c,
7854 	.en_rest_wait_val = 0x2,
7855 	.en_few_wait_val = 0x2,
7856 	.clk_dis_wait_val = 0x2,
7857 	.pd = {
7858 		.name = "gcc_usb3_mp_ss1_phy_gdsc",
7859 	},
7860 	.pwrsts = PWRSTS_OFF_ON,
7861 	.flags = POLL_CFG_GDSCR | RETAIN_FF_ENABLE,
7862 };
7863 
7864 static struct gdsc gcc_usb4_0_gdsc = {
7865 	.gdscr = 0x2b008,
7866 	.en_rest_wait_val = 0x2,
7867 	.en_few_wait_val = 0x2,
7868 	.clk_dis_wait_val = 0xf,
7869 	.pd = {
7870 		.name = "gcc_usb4_0_gdsc",
7871 	},
7872 	.pwrsts = PWRSTS_OFF_ON,
7873 	.flags = POLL_CFG_GDSCR | RETAIN_FF_ENABLE,
7874 };
7875 
7876 static struct gdsc gcc_usb4_1_gdsc = {
7877 	.gdscr = 0x2d008,
7878 	.en_rest_wait_val = 0x2,
7879 	.en_few_wait_val = 0x2,
7880 	.clk_dis_wait_val = 0xf,
7881 	.pd = {
7882 		.name = "gcc_usb4_1_gdsc",
7883 	},
7884 	.pwrsts = PWRSTS_OFF_ON,
7885 	.flags = POLL_CFG_GDSCR | RETAIN_FF_ENABLE,
7886 };
7887 
7888 static struct gdsc gcc_usb4_2_gdsc = {
7889 	.gdscr = 0xe0008,
7890 	.en_rest_wait_val = 0x2,
7891 	.en_few_wait_val = 0x2,
7892 	.clk_dis_wait_val = 0xf,
7893 	.pd = {
7894 		.name = "gcc_usb4_2_gdsc",
7895 	},
7896 	.pwrsts = PWRSTS_OFF_ON,
7897 	.flags = POLL_CFG_GDSCR | RETAIN_FF_ENABLE,
7898 };
7899 
7900 static struct gdsc gcc_usb_0_phy_gdsc = {
7901 	.gdscr = 0xdb024,
7902 	.en_rest_wait_val = 0x2,
7903 	.en_few_wait_val = 0x2,
7904 	.clk_dis_wait_val = 0x2,
7905 	.pd = {
7906 		.name = "gcc_usb_0_phy_gdsc",
7907 	},
7908 	.pwrsts = PWRSTS_OFF_ON,
7909 	.flags = POLL_CFG_GDSCR | RETAIN_FF_ENABLE,
7910 };
7911 
7912 static struct gdsc gcc_usb_1_phy_gdsc = {
7913 	.gdscr = 0x2c024,
7914 	.en_rest_wait_val = 0x2,
7915 	.en_few_wait_val = 0x2,
7916 	.clk_dis_wait_val = 0x2,
7917 	.pd = {
7918 		.name = "gcc_usb_1_phy_gdsc",
7919 	},
7920 	.pwrsts = PWRSTS_OFF_ON,
7921 	.flags = POLL_CFG_GDSCR | RETAIN_FF_ENABLE,
7922 };
7923 
7924 static struct gdsc gcc_usb_2_phy_gdsc = {
7925 	.gdscr = 0xbe024,
7926 	.en_rest_wait_val = 0x2,
7927 	.en_few_wait_val = 0x2,
7928 	.clk_dis_wait_val = 0x2,
7929 	.pd = {
7930 		.name = "gcc_usb_2_phy_gdsc",
7931 	},
7932 	.pwrsts = PWRSTS_OFF_ON,
7933 	.flags = POLL_CFG_GDSCR | RETAIN_FF_ENABLE,
7934 };
7935 
7936 static struct clk_regmap *gcc_glymur_clocks[] = {
7937 	[GCC_AGGRE_NOC_PCIE_3A_WEST_SF_AXI_CLK] = &gcc_aggre_noc_pcie_3a_west_sf_axi_clk.clkr,
7938 	[GCC_AGGRE_NOC_PCIE_3B_WEST_SF_AXI_CLK] = &gcc_aggre_noc_pcie_3b_west_sf_axi_clk.clkr,
7939 	[GCC_AGGRE_NOC_PCIE_4_WEST_SF_AXI_CLK] = &gcc_aggre_noc_pcie_4_west_sf_axi_clk.clkr,
7940 	[GCC_AGGRE_NOC_PCIE_5_EAST_SF_AXI_CLK] = &gcc_aggre_noc_pcie_5_east_sf_axi_clk.clkr,
7941 	[GCC_AGGRE_NOC_PCIE_6_WEST_SF_AXI_CLK] = &gcc_aggre_noc_pcie_6_west_sf_axi_clk.clkr,
7942 	[GCC_AGGRE_UFS_PHY_AXI_CLK] = &gcc_aggre_ufs_phy_axi_clk.clkr,
7943 	[GCC_AGGRE_USB2_PRIM_AXI_CLK] = &gcc_aggre_usb2_prim_axi_clk.clkr,
7944 	[GCC_AGGRE_USB3_MP_AXI_CLK] = &gcc_aggre_usb3_mp_axi_clk.clkr,
7945 	[GCC_AGGRE_USB3_PRIM_AXI_CLK] = &gcc_aggre_usb3_prim_axi_clk.clkr,
7946 	[GCC_AGGRE_USB3_SEC_AXI_CLK] = &gcc_aggre_usb3_sec_axi_clk.clkr,
7947 	[GCC_AGGRE_USB3_TERT_AXI_CLK] = &gcc_aggre_usb3_tert_axi_clk.clkr,
7948 	[GCC_AGGRE_USB4_0_AXI_CLK] = &gcc_aggre_usb4_0_axi_clk.clkr,
7949 	[GCC_AGGRE_USB4_1_AXI_CLK] = &gcc_aggre_usb4_1_axi_clk.clkr,
7950 	[GCC_AGGRE_USB4_2_AXI_CLK] = &gcc_aggre_usb4_2_axi_clk.clkr,
7951 	[GCC_AV1E_AHB_CLK] = &gcc_av1e_ahb_clk.clkr,
7952 	[GCC_AV1E_AXI_CLK] = &gcc_av1e_axi_clk.clkr,
7953 	[GCC_AV1E_XO_CLK] = &gcc_av1e_xo_clk.clkr,
7954 	[GCC_BOOT_ROM_AHB_CLK] = &gcc_boot_rom_ahb_clk.clkr,
7955 	[GCC_CAMERA_HF_AXI_CLK] = &gcc_camera_hf_axi_clk.clkr,
7956 	[GCC_CAMERA_SF_AXI_CLK] = &gcc_camera_sf_axi_clk.clkr,
7957 	[GCC_CFG_NOC_PCIE_ANOC_AHB_CLK] = &gcc_cfg_noc_pcie_anoc_ahb_clk.clkr,
7958 	[GCC_CFG_NOC_PCIE_ANOC_SOUTH_AHB_CLK] = &gcc_cfg_noc_pcie_anoc_south_ahb_clk.clkr,
7959 	[GCC_CFG_NOC_USB2_PRIM_AXI_CLK] = &gcc_cfg_noc_usb2_prim_axi_clk.clkr,
7960 	[GCC_CFG_NOC_USB3_MP_AXI_CLK] = &gcc_cfg_noc_usb3_mp_axi_clk.clkr,
7961 	[GCC_CFG_NOC_USB3_PRIM_AXI_CLK] = &gcc_cfg_noc_usb3_prim_axi_clk.clkr,
7962 	[GCC_CFG_NOC_USB3_SEC_AXI_CLK] = &gcc_cfg_noc_usb3_sec_axi_clk.clkr,
7963 	[GCC_CFG_NOC_USB3_TERT_AXI_CLK] = &gcc_cfg_noc_usb3_tert_axi_clk.clkr,
7964 	[GCC_CFG_NOC_USB_ANOC_AHB_CLK] = &gcc_cfg_noc_usb_anoc_ahb_clk.clkr,
7965 	[GCC_CFG_NOC_USB_ANOC_SOUTH_AHB_CLK] = &gcc_cfg_noc_usb_anoc_south_ahb_clk.clkr,
7966 	[GCC_DISP_HF_AXI_CLK] = &gcc_disp_hf_axi_clk.clkr,
7967 	[GCC_EVA_AXI0_CLK] = &gcc_eva_axi0_clk.clkr,
7968 	[GCC_EVA_AXI0C_CLK] = &gcc_eva_axi0c_clk.clkr,
7969 	[GCC_GP1_CLK] = &gcc_gp1_clk.clkr,
7970 	[GCC_GP1_CLK_SRC] = &gcc_gp1_clk_src.clkr,
7971 	[GCC_GP2_CLK] = &gcc_gp2_clk.clkr,
7972 	[GCC_GP2_CLK_SRC] = &gcc_gp2_clk_src.clkr,
7973 	[GCC_GP3_CLK] = &gcc_gp3_clk.clkr,
7974 	[GCC_GP3_CLK_SRC] = &gcc_gp3_clk_src.clkr,
7975 	[GCC_GPLL0] = &gcc_gpll0.clkr,
7976 	[GCC_GPLL0_OUT_EVEN] = &gcc_gpll0_out_even.clkr,
7977 	[GCC_GPLL1] = &gcc_gpll1.clkr,
7978 	[GCC_GPLL14] = &gcc_gpll14.clkr,
7979 	[GCC_GPLL14_OUT_EVEN] = &gcc_gpll14_out_even.clkr,
7980 	[GCC_GPLL4] = &gcc_gpll4.clkr,
7981 	[GCC_GPLL5] = &gcc_gpll5.clkr,
7982 	[GCC_GPLL7] = &gcc_gpll7.clkr,
7983 	[GCC_GPLL8] = &gcc_gpll8.clkr,
7984 	[GCC_GPLL9] = &gcc_gpll9.clkr,
7985 	[GCC_GPU_GEMNOC_GFX_CLK] = &gcc_gpu_gemnoc_gfx_clk.clkr,
7986 	[GCC_GPU_GPLL0_CLK_SRC] = &gcc_gpu_gpll0_clk_src.clkr,
7987 	[GCC_GPU_GPLL0_DIV_CLK_SRC] = &gcc_gpu_gpll0_div_clk_src.clkr,
7988 	[GCC_PCIE_0_AUX_CLK] = &gcc_pcie_0_aux_clk.clkr,
7989 	[GCC_PCIE_0_AUX_CLK_SRC] = &gcc_pcie_0_aux_clk_src.clkr,
7990 	[GCC_PCIE_0_CFG_AHB_CLK] = &gcc_pcie_0_cfg_ahb_clk.clkr,
7991 	[GCC_PCIE_0_MSTR_AXI_CLK] = &gcc_pcie_0_mstr_axi_clk.clkr,
7992 	[GCC_PCIE_0_PHY_RCHNG_CLK] = &gcc_pcie_0_phy_rchng_clk.clkr,
7993 	[GCC_PCIE_0_PHY_RCHNG_CLK_SRC] = &gcc_pcie_0_phy_rchng_clk_src.clkr,
7994 	[GCC_PCIE_0_PIPE_CLK] = &gcc_pcie_0_pipe_clk.clkr,
7995 	[GCC_PCIE_0_SLV_AXI_CLK] = &gcc_pcie_0_slv_axi_clk.clkr,
7996 	[GCC_PCIE_0_SLV_Q2A_AXI_CLK] = &gcc_pcie_0_slv_q2a_axi_clk.clkr,
7997 	[GCC_PCIE_1_AUX_CLK] = &gcc_pcie_1_aux_clk.clkr,
7998 	[GCC_PCIE_1_AUX_CLK_SRC] = &gcc_pcie_1_aux_clk_src.clkr,
7999 	[GCC_PCIE_1_CFG_AHB_CLK] = &gcc_pcie_1_cfg_ahb_clk.clkr,
8000 	[GCC_PCIE_1_MSTR_AXI_CLK] = &gcc_pcie_1_mstr_axi_clk.clkr,
8001 	[GCC_PCIE_1_PHY_RCHNG_CLK] = &gcc_pcie_1_phy_rchng_clk.clkr,
8002 	[GCC_PCIE_1_PHY_RCHNG_CLK_SRC] = &gcc_pcie_1_phy_rchng_clk_src.clkr,
8003 	[GCC_PCIE_1_PIPE_CLK] = &gcc_pcie_1_pipe_clk.clkr,
8004 	[GCC_PCIE_1_SLV_AXI_CLK] = &gcc_pcie_1_slv_axi_clk.clkr,
8005 	[GCC_PCIE_1_SLV_Q2A_AXI_CLK] = &gcc_pcie_1_slv_q2a_axi_clk.clkr,
8006 	[GCC_PCIE_2_AUX_CLK] = &gcc_pcie_2_aux_clk.clkr,
8007 	[GCC_PCIE_2_AUX_CLK_SRC] = &gcc_pcie_2_aux_clk_src.clkr,
8008 	[GCC_PCIE_2_CFG_AHB_CLK] = &gcc_pcie_2_cfg_ahb_clk.clkr,
8009 	[GCC_PCIE_2_MSTR_AXI_CLK] = &gcc_pcie_2_mstr_axi_clk.clkr,
8010 	[GCC_PCIE_2_PHY_RCHNG_CLK] = &gcc_pcie_2_phy_rchng_clk.clkr,
8011 	[GCC_PCIE_2_PHY_RCHNG_CLK_SRC] = &gcc_pcie_2_phy_rchng_clk_src.clkr,
8012 	[GCC_PCIE_2_PIPE_CLK] = &gcc_pcie_2_pipe_clk.clkr,
8013 	[GCC_PCIE_2_SLV_AXI_CLK] = &gcc_pcie_2_slv_axi_clk.clkr,
8014 	[GCC_PCIE_2_SLV_Q2A_AXI_CLK] = &gcc_pcie_2_slv_q2a_axi_clk.clkr,
8015 	[GCC_PCIE_3A_AUX_CLK] = &gcc_pcie_3a_aux_clk.clkr,
8016 	[GCC_PCIE_3A_AUX_CLK_SRC] = &gcc_pcie_3a_aux_clk_src.clkr,
8017 	[GCC_PCIE_3A_CFG_AHB_CLK] = &gcc_pcie_3a_cfg_ahb_clk.clkr,
8018 	[GCC_PCIE_3A_MSTR_AXI_CLK] = &gcc_pcie_3a_mstr_axi_clk.clkr,
8019 	[GCC_PCIE_3A_PHY_RCHNG_CLK] = &gcc_pcie_3a_phy_rchng_clk.clkr,
8020 	[GCC_PCIE_3A_PHY_RCHNG_CLK_SRC] = &gcc_pcie_3a_phy_rchng_clk_src.clkr,
8021 	[GCC_PCIE_3A_PIPE_CLK] = &gcc_pcie_3a_pipe_clk.clkr,
8022 	[GCC_PCIE_3A_PIPE_CLK_SRC] = &gcc_pcie_3a_pipe_clk_src.clkr,
8023 	[GCC_PCIE_3A_SLV_AXI_CLK] = &gcc_pcie_3a_slv_axi_clk.clkr,
8024 	[GCC_PCIE_3A_SLV_Q2A_AXI_CLK] = &gcc_pcie_3a_slv_q2a_axi_clk.clkr,
8025 	[GCC_PCIE_3B_AUX_CLK] = &gcc_pcie_3b_aux_clk.clkr,
8026 	[GCC_PCIE_3B_AUX_CLK_SRC] = &gcc_pcie_3b_aux_clk_src.clkr,
8027 	[GCC_PCIE_3B_CFG_AHB_CLK] = &gcc_pcie_3b_cfg_ahb_clk.clkr,
8028 	[GCC_PCIE_3B_MSTR_AXI_CLK] = &gcc_pcie_3b_mstr_axi_clk.clkr,
8029 	[GCC_PCIE_3B_PHY_RCHNG_CLK] = &gcc_pcie_3b_phy_rchng_clk.clkr,
8030 	[GCC_PCIE_3B_PHY_RCHNG_CLK_SRC] = &gcc_pcie_3b_phy_rchng_clk_src.clkr,
8031 	[GCC_PCIE_3B_PIPE_CLK] = &gcc_pcie_3b_pipe_clk.clkr,
8032 	[GCC_PCIE_3B_PIPE_CLK_SRC] = &gcc_pcie_3b_pipe_clk_src.clkr,
8033 	[GCC_PCIE_3B_PIPE_DIV2_CLK] = &gcc_pcie_3b_pipe_div2_clk.clkr,
8034 	[GCC_PCIE_3B_PIPE_DIV_CLK_SRC] = &gcc_pcie_3b_pipe_div_clk_src.clkr,
8035 	[GCC_PCIE_3B_SLV_AXI_CLK] = &gcc_pcie_3b_slv_axi_clk.clkr,
8036 	[GCC_PCIE_3B_SLV_Q2A_AXI_CLK] = &gcc_pcie_3b_slv_q2a_axi_clk.clkr,
8037 	[GCC_PCIE_4_AUX_CLK] = &gcc_pcie_4_aux_clk.clkr,
8038 	[GCC_PCIE_4_AUX_CLK_SRC] = &gcc_pcie_4_aux_clk_src.clkr,
8039 	[GCC_PCIE_4_CFG_AHB_CLK] = &gcc_pcie_4_cfg_ahb_clk.clkr,
8040 	[GCC_PCIE_4_MSTR_AXI_CLK] = &gcc_pcie_4_mstr_axi_clk.clkr,
8041 	[GCC_PCIE_4_PHY_RCHNG_CLK] = &gcc_pcie_4_phy_rchng_clk.clkr,
8042 	[GCC_PCIE_4_PHY_RCHNG_CLK_SRC] = &gcc_pcie_4_phy_rchng_clk_src.clkr,
8043 	[GCC_PCIE_4_PIPE_CLK] = &gcc_pcie_4_pipe_clk.clkr,
8044 	[GCC_PCIE_4_PIPE_CLK_SRC] = &gcc_pcie_4_pipe_clk_src.clkr,
8045 	[GCC_PCIE_4_PIPE_DIV2_CLK] = &gcc_pcie_4_pipe_div2_clk.clkr,
8046 	[GCC_PCIE_4_PIPE_DIV_CLK_SRC] = &gcc_pcie_4_pipe_div_clk_src.clkr,
8047 	[GCC_PCIE_4_SLV_AXI_CLK] = &gcc_pcie_4_slv_axi_clk.clkr,
8048 	[GCC_PCIE_4_SLV_Q2A_AXI_CLK] = &gcc_pcie_4_slv_q2a_axi_clk.clkr,
8049 	[GCC_PCIE_5_AUX_CLK] = &gcc_pcie_5_aux_clk.clkr,
8050 	[GCC_PCIE_5_AUX_CLK_SRC] = &gcc_pcie_5_aux_clk_src.clkr,
8051 	[GCC_PCIE_5_CFG_AHB_CLK] = &gcc_pcie_5_cfg_ahb_clk.clkr,
8052 	[GCC_PCIE_5_MSTR_AXI_CLK] = &gcc_pcie_5_mstr_axi_clk.clkr,
8053 	[GCC_PCIE_5_PHY_RCHNG_CLK] = &gcc_pcie_5_phy_rchng_clk.clkr,
8054 	[GCC_PCIE_5_PHY_RCHNG_CLK_SRC] = &gcc_pcie_5_phy_rchng_clk_src.clkr,
8055 	[GCC_PCIE_5_PIPE_CLK] = &gcc_pcie_5_pipe_clk.clkr,
8056 	[GCC_PCIE_5_PIPE_CLK_SRC] = &gcc_pcie_5_pipe_clk_src.clkr,
8057 	[GCC_PCIE_5_PIPE_DIV2_CLK] = &gcc_pcie_5_pipe_div2_clk.clkr,
8058 	[GCC_PCIE_5_PIPE_DIV_CLK_SRC] = &gcc_pcie_5_pipe_div_clk_src.clkr,
8059 	[GCC_PCIE_5_SLV_AXI_CLK] = &gcc_pcie_5_slv_axi_clk.clkr,
8060 	[GCC_PCIE_5_SLV_Q2A_AXI_CLK] = &gcc_pcie_5_slv_q2a_axi_clk.clkr,
8061 	[GCC_PCIE_6_AUX_CLK] = &gcc_pcie_6_aux_clk.clkr,
8062 	[GCC_PCIE_6_AUX_CLK_SRC] = &gcc_pcie_6_aux_clk_src.clkr,
8063 	[GCC_PCIE_6_CFG_AHB_CLK] = &gcc_pcie_6_cfg_ahb_clk.clkr,
8064 	[GCC_PCIE_6_MSTR_AXI_CLK] = &gcc_pcie_6_mstr_axi_clk.clkr,
8065 	[GCC_PCIE_6_PHY_RCHNG_CLK] = &gcc_pcie_6_phy_rchng_clk.clkr,
8066 	[GCC_PCIE_6_PHY_RCHNG_CLK_SRC] = &gcc_pcie_6_phy_rchng_clk_src.clkr,
8067 	[GCC_PCIE_6_PIPE_CLK] = &gcc_pcie_6_pipe_clk.clkr,
8068 	[GCC_PCIE_6_PIPE_CLK_SRC] = &gcc_pcie_6_pipe_clk_src.clkr,
8069 	[GCC_PCIE_6_PIPE_DIV2_CLK] = &gcc_pcie_6_pipe_div2_clk.clkr,
8070 	[GCC_PCIE_6_PIPE_DIV_CLK_SRC] = &gcc_pcie_6_pipe_div_clk_src.clkr,
8071 	[GCC_PCIE_6_SLV_AXI_CLK] = &gcc_pcie_6_slv_axi_clk.clkr,
8072 	[GCC_PCIE_6_SLV_Q2A_AXI_CLK] = &gcc_pcie_6_slv_q2a_axi_clk.clkr,
8073 	[GCC_PCIE_NOC_PWRCTL_CLK] = &gcc_pcie_noc_pwrctl_clk.clkr,
8074 	[GCC_PCIE_NOC_QOSGEN_EXTREF_CLK] = &gcc_pcie_noc_qosgen_extref_clk.clkr,
8075 	[GCC_PCIE_NOC_SF_CENTER_CLK] = &gcc_pcie_noc_sf_center_clk.clkr,
8076 	[GCC_PCIE_NOC_SLAVE_SF_EAST_CLK] = &gcc_pcie_noc_slave_sf_east_clk.clkr,
8077 	[GCC_PCIE_NOC_SLAVE_SF_WEST_CLK] = &gcc_pcie_noc_slave_sf_west_clk.clkr,
8078 	[GCC_PCIE_NOC_TSCTR_CLK] = &gcc_pcie_noc_tsctr_clk.clkr,
8079 	[GCC_PCIE_PHY_3A_AUX_CLK] = &gcc_pcie_phy_3a_aux_clk.clkr,
8080 	[GCC_PCIE_PHY_3A_AUX_CLK_SRC] = &gcc_pcie_phy_3a_aux_clk_src.clkr,
8081 	[GCC_PCIE_PHY_3B_AUX_CLK] = &gcc_pcie_phy_3b_aux_clk.clkr,
8082 	[GCC_PCIE_PHY_3B_AUX_CLK_SRC] = &gcc_pcie_phy_3b_aux_clk_src.clkr,
8083 	[GCC_PCIE_PHY_4_AUX_CLK] = &gcc_pcie_phy_4_aux_clk.clkr,
8084 	[GCC_PCIE_PHY_4_AUX_CLK_SRC] = &gcc_pcie_phy_4_aux_clk_src.clkr,
8085 	[GCC_PCIE_PHY_5_AUX_CLK] = &gcc_pcie_phy_5_aux_clk.clkr,
8086 	[GCC_PCIE_PHY_5_AUX_CLK_SRC] = &gcc_pcie_phy_5_aux_clk_src.clkr,
8087 	[GCC_PCIE_PHY_6_AUX_CLK] = &gcc_pcie_phy_6_aux_clk.clkr,
8088 	[GCC_PCIE_PHY_6_AUX_CLK_SRC] = &gcc_pcie_phy_6_aux_clk_src.clkr,
8089 	[GCC_PCIE_RSCC_CFG_AHB_CLK] = &gcc_pcie_rscc_cfg_ahb_clk.clkr,
8090 	[GCC_PCIE_RSCC_XO_CLK] = &gcc_pcie_rscc_xo_clk.clkr,
8091 	[GCC_PDM2_CLK] = &gcc_pdm2_clk.clkr,
8092 	[GCC_PDM2_CLK_SRC] = &gcc_pdm2_clk_src.clkr,
8093 	[GCC_PDM_AHB_CLK] = &gcc_pdm_ahb_clk.clkr,
8094 	[GCC_PDM_XO4_CLK] = &gcc_pdm_xo4_clk.clkr,
8095 	[GCC_QMIP_AV1E_AHB_CLK] = &gcc_qmip_av1e_ahb_clk.clkr,
8096 	[GCC_QMIP_CAMERA_CMD_AHB_CLK] = &gcc_qmip_camera_cmd_ahb_clk.clkr,
8097 	[GCC_QMIP_CAMERA_NRT_AHB_CLK] = &gcc_qmip_camera_nrt_ahb_clk.clkr,
8098 	[GCC_QMIP_CAMERA_RT_AHB_CLK] = &gcc_qmip_camera_rt_ahb_clk.clkr,
8099 	[GCC_QMIP_GPU_AHB_CLK] = &gcc_qmip_gpu_ahb_clk.clkr,
8100 	[GCC_QMIP_PCIE_3A_AHB_CLK] = &gcc_qmip_pcie_3a_ahb_clk.clkr,
8101 	[GCC_QMIP_PCIE_3B_AHB_CLK] = &gcc_qmip_pcie_3b_ahb_clk.clkr,
8102 	[GCC_QMIP_PCIE_4_AHB_CLK] = &gcc_qmip_pcie_4_ahb_clk.clkr,
8103 	[GCC_QMIP_PCIE_5_AHB_CLK] = &gcc_qmip_pcie_5_ahb_clk.clkr,
8104 	[GCC_QMIP_PCIE_6_AHB_CLK] = &gcc_qmip_pcie_6_ahb_clk.clkr,
8105 	[GCC_QMIP_VIDEO_CV_CPU_AHB_CLK] = &gcc_qmip_video_cv_cpu_ahb_clk.clkr,
8106 	[GCC_QMIP_VIDEO_CVP_AHB_CLK] = &gcc_qmip_video_cvp_ahb_clk.clkr,
8107 	[GCC_QMIP_VIDEO_V_CPU_AHB_CLK] = &gcc_qmip_video_v_cpu_ahb_clk.clkr,
8108 	[GCC_QMIP_VIDEO_VCODEC1_AHB_CLK] = &gcc_qmip_video_vcodec1_ahb_clk.clkr,
8109 	[GCC_QMIP_VIDEO_VCODEC_AHB_CLK] = &gcc_qmip_video_vcodec_ahb_clk.clkr,
8110 	[GCC_QUPV3_OOB_CORE_2X_CLK] = &gcc_qupv3_oob_core_2x_clk.clkr,
8111 	[GCC_QUPV3_OOB_CORE_CLK] = &gcc_qupv3_oob_core_clk.clkr,
8112 	[GCC_QUPV3_OOB_M_AHB_CLK] = &gcc_qupv3_oob_m_ahb_clk.clkr,
8113 	[GCC_QUPV3_OOB_QSPI_S0_CLK] = &gcc_qupv3_oob_qspi_s0_clk.clkr,
8114 	[GCC_QUPV3_OOB_QSPI_S0_CLK_SRC] = &gcc_qupv3_oob_qspi_s0_clk_src.clkr,
8115 	[GCC_QUPV3_OOB_QSPI_S1_CLK] = &gcc_qupv3_oob_qspi_s1_clk.clkr,
8116 	[GCC_QUPV3_OOB_QSPI_S1_CLK_SRC] = &gcc_qupv3_oob_qspi_s1_clk_src.clkr,
8117 	[GCC_QUPV3_OOB_S0_CLK] = &gcc_qupv3_oob_s0_clk.clkr,
8118 	[GCC_QUPV3_OOB_S0_CLK_SRC] = &gcc_qupv3_oob_s0_clk_src.clkr,
8119 	[GCC_QUPV3_OOB_S1_CLK] = &gcc_qupv3_oob_s1_clk.clkr,
8120 	[GCC_QUPV3_OOB_S1_CLK_SRC] = &gcc_qupv3_oob_s1_clk_src.clkr,
8121 	[GCC_QUPV3_OOB_S_AHB_CLK] = &gcc_qupv3_oob_s_ahb_clk.clkr,
8122 	[GCC_QUPV3_OOB_TCXO_CLK] = &gcc_qupv3_oob_tcxo_clk.clkr,
8123 	[GCC_QUPV3_WRAP0_CORE_2X_CLK] = &gcc_qupv3_wrap0_core_2x_clk.clkr,
8124 	[GCC_QUPV3_WRAP0_CORE_CLK] = &gcc_qupv3_wrap0_core_clk.clkr,
8125 	[GCC_QUPV3_WRAP0_QSPI_S2_CLK] = &gcc_qupv3_wrap0_qspi_s2_clk.clkr,
8126 	[GCC_QUPV3_WRAP0_QSPI_S2_CLK_SRC] = &gcc_qupv3_wrap0_qspi_s2_clk_src.clkr,
8127 	[GCC_QUPV3_WRAP0_QSPI_S3_CLK] = &gcc_qupv3_wrap0_qspi_s3_clk.clkr,
8128 	[GCC_QUPV3_WRAP0_QSPI_S3_CLK_SRC] = &gcc_qupv3_wrap0_qspi_s3_clk_src.clkr,
8129 	[GCC_QUPV3_WRAP0_QSPI_S6_CLK] = &gcc_qupv3_wrap0_qspi_s6_clk.clkr,
8130 	[GCC_QUPV3_WRAP0_QSPI_S6_CLK_SRC] = &gcc_qupv3_wrap0_qspi_s6_clk_src.clkr,
8131 	[GCC_QUPV3_WRAP0_S0_CLK] = &gcc_qupv3_wrap0_s0_clk.clkr,
8132 	[GCC_QUPV3_WRAP0_S0_CLK_SRC] = &gcc_qupv3_wrap0_s0_clk_src.clkr,
8133 	[GCC_QUPV3_WRAP0_S1_CLK] = &gcc_qupv3_wrap0_s1_clk.clkr,
8134 	[GCC_QUPV3_WRAP0_S1_CLK_SRC] = &gcc_qupv3_wrap0_s1_clk_src.clkr,
8135 	[GCC_QUPV3_WRAP0_S2_CLK] = &gcc_qupv3_wrap0_s2_clk.clkr,
8136 	[GCC_QUPV3_WRAP0_S2_CLK_SRC] = &gcc_qupv3_wrap0_s2_clk_src.clkr,
8137 	[GCC_QUPV3_WRAP0_S3_CLK] = &gcc_qupv3_wrap0_s3_clk.clkr,
8138 	[GCC_QUPV3_WRAP0_S3_CLK_SRC] = &gcc_qupv3_wrap0_s3_clk_src.clkr,
8139 	[GCC_QUPV3_WRAP0_S4_CLK] = &gcc_qupv3_wrap0_s4_clk.clkr,
8140 	[GCC_QUPV3_WRAP0_S4_CLK_SRC] = &gcc_qupv3_wrap0_s4_clk_src.clkr,
8141 	[GCC_QUPV3_WRAP0_S5_CLK] = &gcc_qupv3_wrap0_s5_clk.clkr,
8142 	[GCC_QUPV3_WRAP0_S5_CLK_SRC] = &gcc_qupv3_wrap0_s5_clk_src.clkr,
8143 	[GCC_QUPV3_WRAP0_S6_CLK] = &gcc_qupv3_wrap0_s6_clk.clkr,
8144 	[GCC_QUPV3_WRAP0_S6_CLK_SRC] = &gcc_qupv3_wrap0_s6_clk_src.clkr,
8145 	[GCC_QUPV3_WRAP0_S7_CLK] = &gcc_qupv3_wrap0_s7_clk.clkr,
8146 	[GCC_QUPV3_WRAP0_S7_CLK_SRC] = &gcc_qupv3_wrap0_s7_clk_src.clkr,
8147 	[GCC_QUPV3_WRAP1_CORE_2X_CLK] = &gcc_qupv3_wrap1_core_2x_clk.clkr,
8148 	[GCC_QUPV3_WRAP1_CORE_CLK] = &gcc_qupv3_wrap1_core_clk.clkr,
8149 	[GCC_QUPV3_WRAP1_QSPI_S2_CLK] = &gcc_qupv3_wrap1_qspi_s2_clk.clkr,
8150 	[GCC_QUPV3_WRAP1_QSPI_S2_CLK_SRC] = &gcc_qupv3_wrap1_qspi_s2_clk_src.clkr,
8151 	[GCC_QUPV3_WRAP1_QSPI_S3_CLK] = &gcc_qupv3_wrap1_qspi_s3_clk.clkr,
8152 	[GCC_QUPV3_WRAP1_QSPI_S3_CLK_SRC] = &gcc_qupv3_wrap1_qspi_s3_clk_src.clkr,
8153 	[GCC_QUPV3_WRAP1_QSPI_S6_CLK] = &gcc_qupv3_wrap1_qspi_s6_clk.clkr,
8154 	[GCC_QUPV3_WRAP1_QSPI_S6_CLK_SRC] = &gcc_qupv3_wrap1_qspi_s6_clk_src.clkr,
8155 	[GCC_QUPV3_WRAP1_S0_CLK] = &gcc_qupv3_wrap1_s0_clk.clkr,
8156 	[GCC_QUPV3_WRAP1_S0_CLK_SRC] = &gcc_qupv3_wrap1_s0_clk_src.clkr,
8157 	[GCC_QUPV3_WRAP1_S1_CLK] = &gcc_qupv3_wrap1_s1_clk.clkr,
8158 	[GCC_QUPV3_WRAP1_S1_CLK_SRC] = &gcc_qupv3_wrap1_s1_clk_src.clkr,
8159 	[GCC_QUPV3_WRAP1_S2_CLK] = &gcc_qupv3_wrap1_s2_clk.clkr,
8160 	[GCC_QUPV3_WRAP1_S2_CLK_SRC] = &gcc_qupv3_wrap1_s2_clk_src.clkr,
8161 	[GCC_QUPV3_WRAP1_S3_CLK] = &gcc_qupv3_wrap1_s3_clk.clkr,
8162 	[GCC_QUPV3_WRAP1_S3_CLK_SRC] = &gcc_qupv3_wrap1_s3_clk_src.clkr,
8163 	[GCC_QUPV3_WRAP1_S4_CLK] = &gcc_qupv3_wrap1_s4_clk.clkr,
8164 	[GCC_QUPV3_WRAP1_S4_CLK_SRC] = &gcc_qupv3_wrap1_s4_clk_src.clkr,
8165 	[GCC_QUPV3_WRAP1_S5_CLK] = &gcc_qupv3_wrap1_s5_clk.clkr,
8166 	[GCC_QUPV3_WRAP1_S5_CLK_SRC] = &gcc_qupv3_wrap1_s5_clk_src.clkr,
8167 	[GCC_QUPV3_WRAP1_S6_CLK] = &gcc_qupv3_wrap1_s6_clk.clkr,
8168 	[GCC_QUPV3_WRAP1_S6_CLK_SRC] = &gcc_qupv3_wrap1_s6_clk_src.clkr,
8169 	[GCC_QUPV3_WRAP1_S7_CLK] = &gcc_qupv3_wrap1_s7_clk.clkr,
8170 	[GCC_QUPV3_WRAP1_S7_CLK_SRC] = &gcc_qupv3_wrap1_s7_clk_src.clkr,
8171 	[GCC_QUPV3_WRAP2_CORE_2X_CLK] = &gcc_qupv3_wrap2_core_2x_clk.clkr,
8172 	[GCC_QUPV3_WRAP2_CORE_CLK] = &gcc_qupv3_wrap2_core_clk.clkr,
8173 	[GCC_QUPV3_WRAP2_QSPI_S2_CLK] = &gcc_qupv3_wrap2_qspi_s2_clk.clkr,
8174 	[GCC_QUPV3_WRAP2_QSPI_S2_CLK_SRC] = &gcc_qupv3_wrap2_qspi_s2_clk_src.clkr,
8175 	[GCC_QUPV3_WRAP2_QSPI_S3_CLK] = &gcc_qupv3_wrap2_qspi_s3_clk.clkr,
8176 	[GCC_QUPV3_WRAP2_QSPI_S3_CLK_SRC] = &gcc_qupv3_wrap2_qspi_s3_clk_src.clkr,
8177 	[GCC_QUPV3_WRAP2_QSPI_S6_CLK] = &gcc_qupv3_wrap2_qspi_s6_clk.clkr,
8178 	[GCC_QUPV3_WRAP2_QSPI_S6_CLK_SRC] = &gcc_qupv3_wrap2_qspi_s6_clk_src.clkr,
8179 	[GCC_QUPV3_WRAP2_S0_CLK] = &gcc_qupv3_wrap2_s0_clk.clkr,
8180 	[GCC_QUPV3_WRAP2_S0_CLK_SRC] = &gcc_qupv3_wrap2_s0_clk_src.clkr,
8181 	[GCC_QUPV3_WRAP2_S1_CLK] = &gcc_qupv3_wrap2_s1_clk.clkr,
8182 	[GCC_QUPV3_WRAP2_S1_CLK_SRC] = &gcc_qupv3_wrap2_s1_clk_src.clkr,
8183 	[GCC_QUPV3_WRAP2_S2_CLK] = &gcc_qupv3_wrap2_s2_clk.clkr,
8184 	[GCC_QUPV3_WRAP2_S2_CLK_SRC] = &gcc_qupv3_wrap2_s2_clk_src.clkr,
8185 	[GCC_QUPV3_WRAP2_S3_CLK] = &gcc_qupv3_wrap2_s3_clk.clkr,
8186 	[GCC_QUPV3_WRAP2_S3_CLK_SRC] = &gcc_qupv3_wrap2_s3_clk_src.clkr,
8187 	[GCC_QUPV3_WRAP2_S4_CLK] = &gcc_qupv3_wrap2_s4_clk.clkr,
8188 	[GCC_QUPV3_WRAP2_S4_CLK_SRC] = &gcc_qupv3_wrap2_s4_clk_src.clkr,
8189 	[GCC_QUPV3_WRAP2_S5_CLK] = &gcc_qupv3_wrap2_s5_clk.clkr,
8190 	[GCC_QUPV3_WRAP2_S5_CLK_SRC] = &gcc_qupv3_wrap2_s5_clk_src.clkr,
8191 	[GCC_QUPV3_WRAP2_S6_CLK] = &gcc_qupv3_wrap2_s6_clk.clkr,
8192 	[GCC_QUPV3_WRAP2_S6_CLK_SRC] = &gcc_qupv3_wrap2_s6_clk_src.clkr,
8193 	[GCC_QUPV3_WRAP2_S7_CLK] = &gcc_qupv3_wrap2_s7_clk.clkr,
8194 	[GCC_QUPV3_WRAP2_S7_CLK_SRC] = &gcc_qupv3_wrap2_s7_clk_src.clkr,
8195 	[GCC_QUPV3_WRAP_0_M_AHB_CLK] = &gcc_qupv3_wrap_0_m_ahb_clk.clkr,
8196 	[GCC_QUPV3_WRAP_0_S_AHB_CLK] = &gcc_qupv3_wrap_0_s_ahb_clk.clkr,
8197 	[GCC_QUPV3_WRAP_1_M_AHB_CLK] = &gcc_qupv3_wrap_1_m_ahb_clk.clkr,
8198 	[GCC_QUPV3_WRAP_1_S_AHB_CLK] = &gcc_qupv3_wrap_1_s_ahb_clk.clkr,
8199 	[GCC_QUPV3_WRAP_2_M_AHB_CLK] = &gcc_qupv3_wrap_2_m_ahb_clk.clkr,
8200 	[GCC_QUPV3_WRAP_2_S_AHB_CLK] = &gcc_qupv3_wrap_2_s_ahb_clk.clkr,
8201 	[GCC_SDCC2_AHB_CLK] = &gcc_sdcc2_ahb_clk.clkr,
8202 	[GCC_SDCC2_APPS_CLK] = &gcc_sdcc2_apps_clk.clkr,
8203 	[GCC_SDCC2_APPS_CLK_SRC] = &gcc_sdcc2_apps_clk_src.clkr,
8204 	[GCC_SDCC4_AHB_CLK] = &gcc_sdcc4_ahb_clk.clkr,
8205 	[GCC_SDCC4_APPS_CLK] = &gcc_sdcc4_apps_clk.clkr,
8206 	[GCC_SDCC4_APPS_CLK_SRC] = &gcc_sdcc4_apps_clk_src.clkr,
8207 	[GCC_UFS_PHY_AHB_CLK] = &gcc_ufs_phy_ahb_clk.clkr,
8208 	[GCC_UFS_PHY_AXI_CLK] = &gcc_ufs_phy_axi_clk.clkr,
8209 	[GCC_UFS_PHY_AXI_CLK_SRC] = &gcc_ufs_phy_axi_clk_src.clkr,
8210 	[GCC_UFS_PHY_ICE_CORE_CLK] = &gcc_ufs_phy_ice_core_clk.clkr,
8211 	[GCC_UFS_PHY_ICE_CORE_CLK_SRC] = &gcc_ufs_phy_ice_core_clk_src.clkr,
8212 	[GCC_UFS_PHY_PHY_AUX_CLK] = &gcc_ufs_phy_phy_aux_clk.clkr,
8213 	[GCC_UFS_PHY_PHY_AUX_CLK_SRC] = &gcc_ufs_phy_phy_aux_clk_src.clkr,
8214 	[GCC_UFS_PHY_RX_SYMBOL_0_CLK] = &gcc_ufs_phy_rx_symbol_0_clk.clkr,
8215 	[GCC_UFS_PHY_RX_SYMBOL_0_CLK_SRC] = &gcc_ufs_phy_rx_symbol_0_clk_src.clkr,
8216 	[GCC_UFS_PHY_RX_SYMBOL_1_CLK] = &gcc_ufs_phy_rx_symbol_1_clk.clkr,
8217 	[GCC_UFS_PHY_RX_SYMBOL_1_CLK_SRC] = &gcc_ufs_phy_rx_symbol_1_clk_src.clkr,
8218 	[GCC_UFS_PHY_TX_SYMBOL_0_CLK] = &gcc_ufs_phy_tx_symbol_0_clk.clkr,
8219 	[GCC_UFS_PHY_TX_SYMBOL_0_CLK_SRC] = &gcc_ufs_phy_tx_symbol_0_clk_src.clkr,
8220 	[GCC_UFS_PHY_UNIPRO_CORE_CLK] = &gcc_ufs_phy_unipro_core_clk.clkr,
8221 	[GCC_UFS_PHY_UNIPRO_CORE_CLK_SRC] = &gcc_ufs_phy_unipro_core_clk_src.clkr,
8222 	[GCC_USB20_MASTER_CLK] = &gcc_usb20_master_clk.clkr,
8223 	[GCC_USB20_MASTER_CLK_SRC] = &gcc_usb20_master_clk_src.clkr,
8224 	[GCC_USB20_MOCK_UTMI_CLK] = &gcc_usb20_mock_utmi_clk.clkr,
8225 	[GCC_USB20_MOCK_UTMI_CLK_SRC] = &gcc_usb20_mock_utmi_clk_src.clkr,
8226 	[GCC_USB20_MOCK_UTMI_POSTDIV_CLK_SRC] = &gcc_usb20_mock_utmi_postdiv_clk_src.clkr,
8227 	[GCC_USB20_SLEEP_CLK] = &gcc_usb20_sleep_clk.clkr,
8228 	[GCC_USB30_MP_MASTER_CLK] = &gcc_usb30_mp_master_clk.clkr,
8229 	[GCC_USB30_MP_MASTER_CLK_SRC] = &gcc_usb30_mp_master_clk_src.clkr,
8230 	[GCC_USB30_MP_MOCK_UTMI_CLK] = &gcc_usb30_mp_mock_utmi_clk.clkr,
8231 	[GCC_USB30_MP_MOCK_UTMI_CLK_SRC] = &gcc_usb30_mp_mock_utmi_clk_src.clkr,
8232 	[GCC_USB30_MP_MOCK_UTMI_POSTDIV_CLK_SRC] = &gcc_usb30_mp_mock_utmi_postdiv_clk_src.clkr,
8233 	[GCC_USB30_MP_SLEEP_CLK] = &gcc_usb30_mp_sleep_clk.clkr,
8234 	[GCC_USB30_PRIM_MASTER_CLK] = &gcc_usb30_prim_master_clk.clkr,
8235 	[GCC_USB30_PRIM_MASTER_CLK_SRC] = &gcc_usb30_prim_master_clk_src.clkr,
8236 	[GCC_USB30_PRIM_MOCK_UTMI_CLK] = &gcc_usb30_prim_mock_utmi_clk.clkr,
8237 	[GCC_USB30_PRIM_MOCK_UTMI_CLK_SRC] = &gcc_usb30_prim_mock_utmi_clk_src.clkr,
8238 	[GCC_USB30_PRIM_MOCK_UTMI_POSTDIV_CLK_SRC] = &gcc_usb30_prim_mock_utmi_postdiv_clk_src.clkr,
8239 	[GCC_USB30_PRIM_SLEEP_CLK] = &gcc_usb30_prim_sleep_clk.clkr,
8240 	[GCC_USB30_SEC_MASTER_CLK] = &gcc_usb30_sec_master_clk.clkr,
8241 	[GCC_USB30_SEC_MASTER_CLK_SRC] = &gcc_usb30_sec_master_clk_src.clkr,
8242 	[GCC_USB30_SEC_MOCK_UTMI_CLK] = &gcc_usb30_sec_mock_utmi_clk.clkr,
8243 	[GCC_USB30_SEC_MOCK_UTMI_CLK_SRC] = &gcc_usb30_sec_mock_utmi_clk_src.clkr,
8244 	[GCC_USB30_SEC_MOCK_UTMI_POSTDIV_CLK_SRC] = &gcc_usb30_sec_mock_utmi_postdiv_clk_src.clkr,
8245 	[GCC_USB30_SEC_SLEEP_CLK] = &gcc_usb30_sec_sleep_clk.clkr,
8246 	[GCC_USB30_TERT_MASTER_CLK] = &gcc_usb30_tert_master_clk.clkr,
8247 	[GCC_USB30_TERT_MASTER_CLK_SRC] = &gcc_usb30_tert_master_clk_src.clkr,
8248 	[GCC_USB30_TERT_MOCK_UTMI_CLK] = &gcc_usb30_tert_mock_utmi_clk.clkr,
8249 	[GCC_USB30_TERT_MOCK_UTMI_CLK_SRC] = &gcc_usb30_tert_mock_utmi_clk_src.clkr,
8250 	[GCC_USB30_TERT_MOCK_UTMI_POSTDIV_CLK_SRC] = &gcc_usb30_tert_mock_utmi_postdiv_clk_src.clkr,
8251 	[GCC_USB30_TERT_SLEEP_CLK] = &gcc_usb30_tert_sleep_clk.clkr,
8252 	[GCC_USB34_PRIM_PHY_PIPE_CLK_SRC] = &gcc_usb34_prim_phy_pipe_clk_src.clkr,
8253 	[GCC_USB34_SEC_PHY_PIPE_CLK_SRC] = &gcc_usb34_sec_phy_pipe_clk_src.clkr,
8254 	[GCC_USB34_TERT_PHY_PIPE_CLK_SRC] = &gcc_usb34_tert_phy_pipe_clk_src.clkr,
8255 	[GCC_USB3_MP_PHY_AUX_CLK] = &gcc_usb3_mp_phy_aux_clk.clkr,
8256 	[GCC_USB3_MP_PHY_AUX_CLK_SRC] = &gcc_usb3_mp_phy_aux_clk_src.clkr,
8257 	[GCC_USB3_MP_PHY_COM_AUX_CLK] = &gcc_usb3_mp_phy_com_aux_clk.clkr,
8258 	[GCC_USB3_MP_PHY_PIPE_0_CLK] = &gcc_usb3_mp_phy_pipe_0_clk.clkr,
8259 	[GCC_USB3_MP_PHY_PIPE_0_CLK_SRC] = &gcc_usb3_mp_phy_pipe_0_clk_src.clkr,
8260 	[GCC_USB3_MP_PHY_PIPE_1_CLK] = &gcc_usb3_mp_phy_pipe_1_clk.clkr,
8261 	[GCC_USB3_MP_PHY_PIPE_1_CLK_SRC] = &gcc_usb3_mp_phy_pipe_1_clk_src.clkr,
8262 	[GCC_USB3_PRIM_PHY_AUX_CLK] = &gcc_usb3_prim_phy_aux_clk.clkr,
8263 	[GCC_USB3_PRIM_PHY_AUX_CLK_SRC] = &gcc_usb3_prim_phy_aux_clk_src.clkr,
8264 	[GCC_USB3_PRIM_PHY_COM_AUX_CLK] = &gcc_usb3_prim_phy_com_aux_clk.clkr,
8265 	[GCC_USB3_PRIM_PHY_PIPE_CLK] = &gcc_usb3_prim_phy_pipe_clk.clkr,
8266 	[GCC_USB3_PRIM_PHY_PIPE_CLK_SRC] = &gcc_usb3_prim_phy_pipe_clk_src.clkr,
8267 	[GCC_USB3_SEC_PHY_AUX_CLK] = &gcc_usb3_sec_phy_aux_clk.clkr,
8268 	[GCC_USB3_SEC_PHY_AUX_CLK_SRC] = &gcc_usb3_sec_phy_aux_clk_src.clkr,
8269 	[GCC_USB3_SEC_PHY_COM_AUX_CLK] = &gcc_usb3_sec_phy_com_aux_clk.clkr,
8270 	[GCC_USB3_SEC_PHY_PIPE_CLK] = &gcc_usb3_sec_phy_pipe_clk.clkr,
8271 	[GCC_USB3_SEC_PHY_PIPE_CLK_SRC] = &gcc_usb3_sec_phy_pipe_clk_src.clkr,
8272 	[GCC_USB3_TERT_PHY_AUX_CLK] = &gcc_usb3_tert_phy_aux_clk.clkr,
8273 	[GCC_USB3_TERT_PHY_AUX_CLK_SRC] = &gcc_usb3_tert_phy_aux_clk_src.clkr,
8274 	[GCC_USB3_TERT_PHY_COM_AUX_CLK] = &gcc_usb3_tert_phy_com_aux_clk.clkr,
8275 	[GCC_USB3_TERT_PHY_PIPE_CLK] = &gcc_usb3_tert_phy_pipe_clk.clkr,
8276 	[GCC_USB3_TERT_PHY_PIPE_CLK_SRC] = &gcc_usb3_tert_phy_pipe_clk_src.clkr,
8277 	[GCC_USB4_0_CFG_AHB_CLK] = &gcc_usb4_0_cfg_ahb_clk.clkr,
8278 	[GCC_USB4_0_DP0_CLK] = &gcc_usb4_0_dp0_clk.clkr,
8279 	[GCC_USB4_0_DP1_CLK] = &gcc_usb4_0_dp1_clk.clkr,
8280 	[GCC_USB4_0_MASTER_CLK] = &gcc_usb4_0_master_clk.clkr,
8281 	[GCC_USB4_0_MASTER_CLK_SRC] = &gcc_usb4_0_master_clk_src.clkr,
8282 	[GCC_USB4_0_PHY_DP0_CLK_SRC] = &gcc_usb4_0_phy_dp0_clk_src.clkr,
8283 	[GCC_USB4_0_PHY_DP1_CLK_SRC] = &gcc_usb4_0_phy_dp1_clk_src.clkr,
8284 	[GCC_USB4_0_PHY_P2RR2P_PIPE_CLK] = &gcc_usb4_0_phy_p2rr2p_pipe_clk.clkr,
8285 	[GCC_USB4_0_PHY_P2RR2P_PIPE_CLK_SRC] = &gcc_usb4_0_phy_p2rr2p_pipe_clk_src.clkr,
8286 	[GCC_USB4_0_PHY_PCIE_PIPE_CLK] = &gcc_usb4_0_phy_pcie_pipe_clk.clkr,
8287 	[GCC_USB4_0_PHY_PCIE_PIPE_CLK_SRC] = &gcc_usb4_0_phy_pcie_pipe_clk_src.clkr,
8288 	[GCC_USB4_0_PHY_PCIE_PIPE_MUX_CLK_SRC] = &gcc_usb4_0_phy_pcie_pipe_mux_clk_src.clkr,
8289 	[GCC_USB4_0_PHY_RX0_CLK] = &gcc_usb4_0_phy_rx0_clk.clkr,
8290 	[GCC_USB4_0_PHY_RX0_CLK_SRC] = &gcc_usb4_0_phy_rx0_clk_src.clkr,
8291 	[GCC_USB4_0_PHY_RX1_CLK] = &gcc_usb4_0_phy_rx1_clk.clkr,
8292 	[GCC_USB4_0_PHY_RX1_CLK_SRC] = &gcc_usb4_0_phy_rx1_clk_src.clkr,
8293 	[GCC_USB4_0_PHY_SYS_CLK_SRC] = &gcc_usb4_0_phy_sys_clk_src.clkr,
8294 	[GCC_USB4_0_PHY_USB_PIPE_CLK] = &gcc_usb4_0_phy_usb_pipe_clk.clkr,
8295 	[GCC_USB4_0_SB_IF_CLK] = &gcc_usb4_0_sb_if_clk.clkr,
8296 	[GCC_USB4_0_SB_IF_CLK_SRC] = &gcc_usb4_0_sb_if_clk_src.clkr,
8297 	[GCC_USB4_0_SYS_CLK] = &gcc_usb4_0_sys_clk.clkr,
8298 	[GCC_USB4_0_TMU_CLK] = &gcc_usb4_0_tmu_clk.clkr,
8299 	[GCC_USB4_0_TMU_CLK_SRC] = &gcc_usb4_0_tmu_clk_src.clkr,
8300 	[GCC_USB4_0_UC_HRR_CLK] = &gcc_usb4_0_uc_hrr_clk.clkr,
8301 	[GCC_USB4_1_CFG_AHB_CLK] = &gcc_usb4_1_cfg_ahb_clk.clkr,
8302 	[GCC_USB4_1_DP0_CLK] = &gcc_usb4_1_dp0_clk.clkr,
8303 	[GCC_USB4_1_DP1_CLK] = &gcc_usb4_1_dp1_clk.clkr,
8304 	[GCC_USB4_1_MASTER_CLK] = &gcc_usb4_1_master_clk.clkr,
8305 	[GCC_USB4_1_MASTER_CLK_SRC] = &gcc_usb4_1_master_clk_src.clkr,
8306 	[GCC_USB4_1_PHY_DP0_CLK_SRC] = &gcc_usb4_1_phy_dp0_clk_src.clkr,
8307 	[GCC_USB4_1_PHY_DP1_CLK_SRC] = &gcc_usb4_1_phy_dp1_clk_src.clkr,
8308 	[GCC_USB4_1_PHY_P2RR2P_PIPE_CLK] = &gcc_usb4_1_phy_p2rr2p_pipe_clk.clkr,
8309 	[GCC_USB4_1_PHY_P2RR2P_PIPE_CLK_SRC] = &gcc_usb4_1_phy_p2rr2p_pipe_clk_src.clkr,
8310 	[GCC_USB4_1_PHY_PCIE_PIPE_CLK] = &gcc_usb4_1_phy_pcie_pipe_clk.clkr,
8311 	[GCC_USB4_1_PHY_PCIE_PIPE_CLK_SRC] = &gcc_usb4_1_phy_pcie_pipe_clk_src.clkr,
8312 	[GCC_USB4_1_PHY_PCIE_PIPE_MUX_CLK_SRC] = &gcc_usb4_1_phy_pcie_pipe_mux_clk_src.clkr,
8313 	[GCC_USB4_1_PHY_PLL_PIPE_CLK_SRC] = &gcc_usb4_1_phy_pll_pipe_clk_src.clkr,
8314 	[GCC_USB4_1_PHY_RX0_CLK] = &gcc_usb4_1_phy_rx0_clk.clkr,
8315 	[GCC_USB4_1_PHY_RX0_CLK_SRC] = &gcc_usb4_1_phy_rx0_clk_src.clkr,
8316 	[GCC_USB4_1_PHY_RX1_CLK] = &gcc_usb4_1_phy_rx1_clk.clkr,
8317 	[GCC_USB4_1_PHY_RX1_CLK_SRC] = &gcc_usb4_1_phy_rx1_clk_src.clkr,
8318 	[GCC_USB4_1_PHY_SYS_CLK_SRC] = &gcc_usb4_1_phy_sys_clk_src.clkr,
8319 	[GCC_USB4_1_PHY_USB_PIPE_CLK] = &gcc_usb4_1_phy_usb_pipe_clk.clkr,
8320 	[GCC_USB4_1_SB_IF_CLK] = &gcc_usb4_1_sb_if_clk.clkr,
8321 	[GCC_USB4_1_SB_IF_CLK_SRC] = &gcc_usb4_1_sb_if_clk_src.clkr,
8322 	[GCC_USB4_1_SYS_CLK] = &gcc_usb4_1_sys_clk.clkr,
8323 	[GCC_USB4_1_TMU_CLK] = &gcc_usb4_1_tmu_clk.clkr,
8324 	[GCC_USB4_1_TMU_CLK_SRC] = &gcc_usb4_1_tmu_clk_src.clkr,
8325 	[GCC_USB4_1_UC_HRR_CLK] = &gcc_usb4_1_uc_hrr_clk.clkr,
8326 	[GCC_USB4_2_CFG_AHB_CLK] = &gcc_usb4_2_cfg_ahb_clk.clkr,
8327 	[GCC_USB4_2_DP0_CLK] = &gcc_usb4_2_dp0_clk.clkr,
8328 	[GCC_USB4_2_DP1_CLK] = &gcc_usb4_2_dp1_clk.clkr,
8329 	[GCC_USB4_2_MASTER_CLK] = &gcc_usb4_2_master_clk.clkr,
8330 	[GCC_USB4_2_MASTER_CLK_SRC] = &gcc_usb4_2_master_clk_src.clkr,
8331 	[GCC_USB4_2_PHY_DP0_CLK_SRC] = &gcc_usb4_2_phy_dp0_clk_src.clkr,
8332 	[GCC_USB4_2_PHY_DP1_CLK_SRC] = &gcc_usb4_2_phy_dp1_clk_src.clkr,
8333 	[GCC_USB4_2_PHY_P2RR2P_PIPE_CLK] = &gcc_usb4_2_phy_p2rr2p_pipe_clk.clkr,
8334 	[GCC_USB4_2_PHY_P2RR2P_PIPE_CLK_SRC] = &gcc_usb4_2_phy_p2rr2p_pipe_clk_src.clkr,
8335 	[GCC_USB4_2_PHY_PCIE_PIPE_CLK] = &gcc_usb4_2_phy_pcie_pipe_clk.clkr,
8336 	[GCC_USB4_2_PHY_PCIE_PIPE_CLK_SRC] = &gcc_usb4_2_phy_pcie_pipe_clk_src.clkr,
8337 	[GCC_USB4_2_PHY_PCIE_PIPE_MUX_CLK_SRC] = &gcc_usb4_2_phy_pcie_pipe_mux_clk_src.clkr,
8338 	[GCC_USB4_2_PHY_RX0_CLK] = &gcc_usb4_2_phy_rx0_clk.clkr,
8339 	[GCC_USB4_2_PHY_RX0_CLK_SRC] = &gcc_usb4_2_phy_rx0_clk_src.clkr,
8340 	[GCC_USB4_2_PHY_RX1_CLK] = &gcc_usb4_2_phy_rx1_clk.clkr,
8341 	[GCC_USB4_2_PHY_RX1_CLK_SRC] = &gcc_usb4_2_phy_rx1_clk_src.clkr,
8342 	[GCC_USB4_2_PHY_SYS_CLK_SRC] = &gcc_usb4_2_phy_sys_clk_src.clkr,
8343 	[GCC_USB4_2_PHY_USB_PIPE_CLK] = &gcc_usb4_2_phy_usb_pipe_clk.clkr,
8344 	[GCC_USB4_2_SB_IF_CLK] = &gcc_usb4_2_sb_if_clk.clkr,
8345 	[GCC_USB4_2_SB_IF_CLK_SRC] = &gcc_usb4_2_sb_if_clk_src.clkr,
8346 	[GCC_USB4_2_SYS_CLK] = &gcc_usb4_2_sys_clk.clkr,
8347 	[GCC_USB4_2_TMU_CLK] = &gcc_usb4_2_tmu_clk.clkr,
8348 	[GCC_USB4_2_TMU_CLK_SRC] = &gcc_usb4_2_tmu_clk_src.clkr,
8349 	[GCC_USB4_2_UC_HRR_CLK] = &gcc_usb4_2_uc_hrr_clk.clkr,
8350 	[GCC_VIDEO_AXI0_CLK] = &gcc_video_axi0_clk.clkr,
8351 	[GCC_VIDEO_AXI0C_CLK] = &gcc_video_axi0c_clk.clkr,
8352 	[GCC_VIDEO_AXI1_CLK] = &gcc_video_axi1_clk.clkr,
8353 };
8354 
8355 static struct gdsc *gcc_glymur_gdscs[] = {
8356 	[GCC_PCIE_0_TUNNEL_GDSC] = &gcc_pcie_0_tunnel_gdsc,
8357 	[GCC_PCIE_1_TUNNEL_GDSC] = &gcc_pcie_1_tunnel_gdsc,
8358 	[GCC_PCIE_2_TUNNEL_GDSC] = &gcc_pcie_2_tunnel_gdsc,
8359 	[GCC_PCIE_3A_GDSC] = &gcc_pcie_3a_gdsc,
8360 	[GCC_PCIE_3A_PHY_GDSC] = &gcc_pcie_3a_phy_gdsc,
8361 	[GCC_PCIE_3B_GDSC] = &gcc_pcie_3b_gdsc,
8362 	[GCC_PCIE_3B_PHY_GDSC] = &gcc_pcie_3b_phy_gdsc,
8363 	[GCC_PCIE_4_GDSC] = &gcc_pcie_4_gdsc,
8364 	[GCC_PCIE_4_PHY_GDSC] = &gcc_pcie_4_phy_gdsc,
8365 	[GCC_PCIE_5_GDSC] = &gcc_pcie_5_gdsc,
8366 	[GCC_PCIE_5_PHY_GDSC] = &gcc_pcie_5_phy_gdsc,
8367 	[GCC_PCIE_6_GDSC] = &gcc_pcie_6_gdsc,
8368 	[GCC_PCIE_6_PHY_GDSC] = &gcc_pcie_6_phy_gdsc,
8369 	[GCC_UFS_PHY_GDSC] = &gcc_ufs_phy_gdsc,
8370 	[GCC_USB20_PRIM_GDSC] = &gcc_usb20_prim_gdsc,
8371 	[GCC_USB30_MP_GDSC] = &gcc_usb30_mp_gdsc,
8372 	[GCC_USB30_PRIM_GDSC] = &gcc_usb30_prim_gdsc,
8373 	[GCC_USB30_SEC_GDSC] = &gcc_usb30_sec_gdsc,
8374 	[GCC_USB30_TERT_GDSC] = &gcc_usb30_tert_gdsc,
8375 	[GCC_USB3_MP_SS0_PHY_GDSC] = &gcc_usb3_mp_ss0_phy_gdsc,
8376 	[GCC_USB3_MP_SS1_PHY_GDSC] = &gcc_usb3_mp_ss1_phy_gdsc,
8377 	[GCC_USB4_0_GDSC] = &gcc_usb4_0_gdsc,
8378 	[GCC_USB4_1_GDSC] = &gcc_usb4_1_gdsc,
8379 	[GCC_USB4_2_GDSC] = &gcc_usb4_2_gdsc,
8380 	[GCC_USB_0_PHY_GDSC] = &gcc_usb_0_phy_gdsc,
8381 	[GCC_USB_1_PHY_GDSC] = &gcc_usb_1_phy_gdsc,
8382 	[GCC_USB_2_PHY_GDSC] = &gcc_usb_2_phy_gdsc,
8383 };
8384 
8385 static const struct qcom_reset_map gcc_glymur_resets[] = {
8386 	[GCC_AV1E_BCR] = { 0x9b028 },
8387 	[GCC_CAMERA_BCR] = { 0x26000 },
8388 	[GCC_DISPLAY_BCR] = { 0x27000 },
8389 	[GCC_EVA_BCR] = { 0x9b000 },
8390 	[GCC_GPU_BCR] = { 0x71000 },
8391 	[GCC_PCIE_0_LINK_DOWN_BCR] = { 0xbc2d0 },
8392 	[GCC_PCIE_0_NOCSR_COM_PHY_BCR] = { 0xbc2dc },
8393 	[GCC_PCIE_0_PHY_BCR] = { 0xbc2d8 },
8394 	[GCC_PCIE_0_PHY_NOCSR_COM_PHY_BCR] = { 0xbc2e0 },
8395 	[GCC_PCIE_0_TUNNEL_BCR] = { 0xc8000 },
8396 	[GCC_PCIE_1_LINK_DOWN_BCR] = { 0x7f018 },
8397 	[GCC_PCIE_1_NOCSR_COM_PHY_BCR] = { 0x7f024 },
8398 	[GCC_PCIE_1_PHY_BCR] = { 0x7f020 },
8399 	[GCC_PCIE_1_PHY_NOCSR_COM_PHY_BCR] = { 0x7f028 },
8400 	[GCC_PCIE_1_TUNNEL_BCR] = { 0x2e000 },
8401 	[GCC_PCIE_2_LINK_DOWN_BCR] = { 0x281d0 },
8402 	[GCC_PCIE_2_NOCSR_COM_PHY_BCR] = { 0x281dc },
8403 	[GCC_PCIE_2_PHY_BCR] = { 0x281d8 },
8404 	[GCC_PCIE_2_PHY_NOCSR_COM_PHY_BCR] = { 0x281e0 },
8405 	[GCC_PCIE_2_TUNNEL_BCR] = { 0xc0000 },
8406 	[GCC_PCIE_3A_BCR] = { 0xdc000 },
8407 	[GCC_PCIE_3A_LINK_DOWN_BCR] = { 0x7b0a0 },
8408 	[GCC_PCIE_3A_NOCSR_COM_PHY_BCR] = { 0x7b0ac },
8409 	[GCC_PCIE_3A_PHY_BCR] = { 0x6c000 },
8410 	[GCC_PCIE_3A_PHY_NOCSR_COM_PHY_BCR] = { 0x7b0b0 },
8411 	[GCC_PCIE_3B_BCR] = { 0x94000 },
8412 	[GCC_PCIE_3B_LINK_DOWN_BCR] = { 0x7a0c0 },
8413 	[GCC_PCIE_3B_NOCSR_COM_PHY_BCR] = { 0x7a0cc },
8414 	[GCC_PCIE_3B_PHY_BCR] = { 0x75000 },
8415 	[GCC_PCIE_3B_PHY_NOCSR_COM_PHY_BCR] = { 0x7a0c8 },
8416 	[GCC_PCIE_4_BCR] = { 0x88000 },
8417 	[GCC_PCIE_4_LINK_DOWN_BCR] = { 0x980c0 },
8418 	[GCC_PCIE_4_NOCSR_COM_PHY_BCR] = { 0x980cc },
8419 	[GCC_PCIE_4_PHY_BCR] = { 0xd3000 },
8420 	[GCC_PCIE_4_PHY_NOCSR_COM_PHY_BCR] = { 0x980d0 },
8421 	[GCC_PCIE_5_BCR] = { 0xc3000 },
8422 	[GCC_PCIE_5_LINK_DOWN_BCR] = { 0x850c0 },
8423 	[GCC_PCIE_5_NOCSR_COM_PHY_BCR] = { 0x850cc },
8424 	[GCC_PCIE_5_PHY_BCR] = { 0xd2000 },
8425 	[GCC_PCIE_5_PHY_NOCSR_COM_PHY_BCR] = { 0x850d0 },
8426 	[GCC_PCIE_6_BCR] = { 0x8a000 },
8427 	[GCC_PCIE_6_LINK_DOWN_BCR] = { 0x3a0b0 },
8428 	[GCC_PCIE_6_NOCSR_COM_PHY_BCR] = { 0x3a0bc },
8429 	[GCC_PCIE_6_PHY_BCR] = { 0xd4000 },
8430 	[GCC_PCIE_6_PHY_NOCSR_COM_PHY_BCR] = { 0x3a0c0 },
8431 	[GCC_PCIE_NOC_BCR] = { 0xba294 },
8432 	[GCC_PCIE_PHY_BCR] = { 0x6f000 },
8433 	[GCC_PCIE_PHY_CFG_AHB_BCR] = { 0x7f00c },
8434 	[GCC_PCIE_PHY_COM_BCR] = { 0x7f010 },
8435 	[GCC_PCIE_RSCC_BCR] = { 0xb8000 },
8436 	[GCC_PDM_BCR] = { 0x33000 },
8437 	[GCC_QUPV3_WRAPPER_0_BCR] = { 0x28000 },
8438 	[GCC_QUPV3_WRAPPER_1_BCR] = { 0xb3000 },
8439 	[GCC_QUPV3_WRAPPER_2_BCR] = { 0xb4000 },
8440 	[GCC_QUPV3_WRAPPER_OOB_BCR] = { 0xe7000 },
8441 	[GCC_QUSB2PHY_HS0_MP_BCR] = { 0xca000 },
8442 	[GCC_QUSB2PHY_HS1_MP_BCR] = { 0xe6000 },
8443 	[GCC_QUSB2PHY_PRIM_BCR] = { 0xad024 },
8444 	[GCC_QUSB2PHY_SEC_BCR] = { 0xae000 },
8445 	[GCC_QUSB2PHY_TERT_BCR] = { 0xc9000 },
8446 	[GCC_QUSB2PHY_USB20_HS_BCR] = { 0xe9000 },
8447 	[GCC_SDCC2_BCR] = { 0xb0000 },
8448 	[GCC_SDCC4_BCR] = { 0xdf000 },
8449 	[GCC_TCSR_PCIE_BCR] = { 0x281e4 },
8450 	[GCC_UFS_PHY_BCR] = { 0x77004 },
8451 	[GCC_USB20_PRIM_BCR] = { 0xbc000 },
8452 	[GCC_USB30_MP_BCR] = { 0x9a00c },
8453 	[GCC_USB30_PRIM_BCR] = { 0x3f018 },
8454 	[GCC_USB30_SEC_BCR] = { 0xe200c },
8455 	[GCC_USB30_TERT_BCR] = { 0xe100c },
8456 	[GCC_USB3_MP_SS0_PHY_BCR] = { 0x54008 },
8457 	[GCC_USB3_MP_SS1_PHY_BCR] = { 0x54028 },
8458 	[GCC_USB3_PHY_PRIM_BCR] = { 0xdb000 },
8459 	[GCC_USB3_PHY_SEC_BCR] = { 0x2c000 },
8460 	[GCC_USB3_PHY_TERT_BCR] = { 0xbe000 },
8461 	[GCC_USB3_UNIPHY_MP0_BCR] = { 0x54000 },
8462 	[GCC_USB3_UNIPHY_MP1_BCR] = { 0x54020 },
8463 	[GCC_USB3PHY_PHY_PRIM_BCR] = { 0xdb004 },
8464 	[GCC_USB3PHY_PHY_SEC_BCR] = { 0x2c004 },
8465 	[GCC_USB3PHY_PHY_TERT_BCR] = { 0xbe004 },
8466 	[GCC_USB3UNIPHY_PHY_MP0_BCR] = { 0x54004 },
8467 	[GCC_USB3UNIPHY_PHY_MP1_BCR] = { 0x54024 },
8468 	[GCC_USB4_0_BCR] = { 0x2b004 },
8469 	[GCC_USB4_0_DP0_PHY_PRIM_BCR] = { 0xdb010 },
8470 	[GCC_USB4_1_BCR] = { 0x2d004 },
8471 	[GCC_USB4_2_BCR] = { 0xe0004 },
8472 	[GCC_USB_0_PHY_BCR] = { 0xdb020 },
8473 	[GCC_USB_1_PHY_BCR] = { 0x2c020 },
8474 	[GCC_USB_2_PHY_BCR] = { 0xbe020 },
8475 	[GCC_VIDEO_AXI0_CLK_ARES] = { 0x3201c, 2 },
8476 	[GCC_VIDEO_AXI1_CLK_ARES] = { 0x32044, 2 },
8477 	[GCC_VIDEO_BCR] = { 0x32000 },
8478 	[GCC_VIDEO_AXI0C_CLK_ARES] = { 0x32030, 2 },
8479 };
8480 
8481 static const struct clk_rcg_dfs_data gcc_dfs_clocks[] = {
8482 	DEFINE_RCG_DFS(gcc_qupv3_oob_qspi_s0_clk_src),
8483 	DEFINE_RCG_DFS(gcc_qupv3_oob_qspi_s1_clk_src),
8484 	DEFINE_RCG_DFS(gcc_qupv3_wrap0_qspi_s2_clk_src),
8485 	DEFINE_RCG_DFS(gcc_qupv3_wrap0_qspi_s3_clk_src),
8486 	DEFINE_RCG_DFS(gcc_qupv3_wrap0_qspi_s6_clk_src),
8487 	DEFINE_RCG_DFS(gcc_qupv3_wrap0_s0_clk_src),
8488 	DEFINE_RCG_DFS(gcc_qupv3_wrap0_s1_clk_src),
8489 	DEFINE_RCG_DFS(gcc_qupv3_wrap0_s4_clk_src),
8490 	DEFINE_RCG_DFS(gcc_qupv3_wrap0_s5_clk_src),
8491 	DEFINE_RCG_DFS(gcc_qupv3_wrap0_s7_clk_src),
8492 	DEFINE_RCG_DFS(gcc_qupv3_wrap1_qspi_s2_clk_src),
8493 	DEFINE_RCG_DFS(gcc_qupv3_wrap1_qspi_s3_clk_src),
8494 	DEFINE_RCG_DFS(gcc_qupv3_wrap1_qspi_s6_clk_src),
8495 	DEFINE_RCG_DFS(gcc_qupv3_wrap1_s0_clk_src),
8496 	DEFINE_RCG_DFS(gcc_qupv3_wrap1_s1_clk_src),
8497 	DEFINE_RCG_DFS(gcc_qupv3_wrap1_s4_clk_src),
8498 	DEFINE_RCG_DFS(gcc_qupv3_wrap1_s5_clk_src),
8499 	DEFINE_RCG_DFS(gcc_qupv3_wrap1_s7_clk_src),
8500 	DEFINE_RCG_DFS(gcc_qupv3_wrap2_qspi_s2_clk_src),
8501 	DEFINE_RCG_DFS(gcc_qupv3_wrap2_qspi_s3_clk_src),
8502 	DEFINE_RCG_DFS(gcc_qupv3_wrap2_qspi_s6_clk_src),
8503 	DEFINE_RCG_DFS(gcc_qupv3_wrap2_s0_clk_src),
8504 	DEFINE_RCG_DFS(gcc_qupv3_wrap2_s1_clk_src),
8505 	DEFINE_RCG_DFS(gcc_qupv3_wrap2_s4_clk_src),
8506 	DEFINE_RCG_DFS(gcc_qupv3_wrap2_s5_clk_src),
8507 	DEFINE_RCG_DFS(gcc_qupv3_wrap2_s7_clk_src),
8508 };
8509 
8510 static const u32 gcc_glymur_critical_cbcrs[] = {
8511 	0x26004, /* GCC_CAMERA_AHB_CLK */
8512 	0x26040, /* GCC_CAMERA_XO_CLK */
8513 	0x27004, /* GCC_DISP_AHB_CLK */
8514 	0x71004, /* GCC_GPU_CFG_AHB_CLK */
8515 	0x32004, /* GCC_VIDEO_AHB_CLK */
8516 	0x32058, /* GCC_VIDEO_XO_CLK */
8517 	0x9b004, /* GCC_EVA_AHB_CLK */
8518 	0x9b024, /* GCC_EVA_XO_CLK */
8519 };
8520 
8521 static const struct regmap_config gcc_glymur_regmap_config = {
8522 	.reg_bits = 32,
8523 	.reg_stride = 4,
8524 	.val_bits = 32,
8525 	.max_register = 0x1f8ff0,
8526 	.fast_io = true,
8527 };
8528 
8529 static void clk_glymur_regs_configure(struct device *dev, struct regmap *regmap)
8530 {
8531 	/* FORCE_MEM_CORE_ON for ufs phy ice core clocks */
8532 	qcom_branch_set_force_mem_core(regmap, gcc_ufs_phy_ice_core_clk, true);
8533 }
8534 
8535 static const struct qcom_cc_driver_data gcc_glymur_driver_data = {
8536 	.clk_cbcrs = gcc_glymur_critical_cbcrs,
8537 	.num_clk_cbcrs = ARRAY_SIZE(gcc_glymur_critical_cbcrs),
8538 	.dfs_rcgs = gcc_dfs_clocks,
8539 	.num_dfs_rcgs = ARRAY_SIZE(gcc_dfs_clocks),
8540 	.clk_regs_configure = clk_glymur_regs_configure,
8541 };
8542 
8543 static const struct qcom_cc_desc gcc_glymur_desc = {
8544 	.config = &gcc_glymur_regmap_config,
8545 	.clks = gcc_glymur_clocks,
8546 	.num_clks = ARRAY_SIZE(gcc_glymur_clocks),
8547 	.resets = gcc_glymur_resets,
8548 	.num_resets = ARRAY_SIZE(gcc_glymur_resets),
8549 	.gdscs = gcc_glymur_gdscs,
8550 	.num_gdscs = ARRAY_SIZE(gcc_glymur_gdscs),
8551 	.use_rpm = true,
8552 	.driver_data = &gcc_glymur_driver_data,
8553 };
8554 
8555 static const struct of_device_id gcc_glymur_match_table[] = {
8556 	{ .compatible = "qcom,glymur-gcc" },
8557 	{ }
8558 };
8559 MODULE_DEVICE_TABLE(of, gcc_glymur_match_table);
8560 
8561 static int gcc_glymur_probe(struct platform_device *pdev)
8562 {
8563 	return qcom_cc_probe(pdev, &gcc_glymur_desc);
8564 }
8565 
8566 static struct platform_driver gcc_glymur_driver = {
8567 	.probe = gcc_glymur_probe,
8568 	.driver = {
8569 		.name = "gcc-glymur",
8570 		.of_match_table = gcc_glymur_match_table,
8571 	},
8572 };
8573 
8574 static int __init gcc_glymur_init(void)
8575 {
8576 	return platform_driver_register(&gcc_glymur_driver);
8577 }
8578 subsys_initcall(gcc_glymur_init);
8579 
8580 static void __exit gcc_glymur_exit(void)
8581 {
8582 	platform_driver_unregister(&gcc_glymur_driver);
8583 }
8584 module_exit(gcc_glymur_exit);
8585 
8586 MODULE_DESCRIPTION("QTI GCC Glymur Driver");
8587 MODULE_LICENSE("GPL");
8588