1 // SPDX-License-Identifier: GPL-2.0-only
3 * Copyright (c) 2023, Qualcomm Innovation Center, Inc. All rights reserved.
6 #include <linux/clk-provider.h>
7 #include <linux/mod_devicetable.h>
8 #include <linux/module.h>
9 #include <linux/platform_device.h>
10 #include <linux/regmap.h>
12 #include <dt-bindings/clock/qcom,x1e80100-gcc.h>
14 #include "clk-alpha-pll.h"
15 #include "clk-branch.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"
32 DT_USB3_PHY_0_WRAPPER_GCC_USB30_PIPE
,
33 DT_USB3_PHY_1_WRAPPER_GCC_USB30_PIPE
,
34 DT_USB3_PHY_2_WRAPPER_GCC_USB30_PIPE
,
46 P_USB3_PHY_0_WRAPPER_GCC_USB30_PIPE_CLK
,
47 P_USB3_PHY_1_WRAPPER_GCC_USB30_PIPE_CLK
,
48 P_USB3_PHY_2_WRAPPER_GCC_USB30_PIPE_CLK
,
51 static struct clk_alpha_pll gcc_gpll0
= {
53 .regs
= clk_alpha_pll_regs
[CLK_ALPHA_PLL_TYPE_LUCID_OLE
],
55 .enable_reg
= 0x52030,
56 .enable_mask
= BIT(0),
57 .hw
.init
= &(const struct clk_init_data
) {
59 .parent_data
= &(const struct clk_parent_data
) {
63 .ops
= &clk_alpha_pll_fixed_lucid_ole_ops
,
68 static const struct clk_div_table post_div_table_gcc_gpll0_out_even
[] = {
73 static struct clk_alpha_pll_postdiv gcc_gpll0_out_even
= {
76 .post_div_table
= post_div_table_gcc_gpll0_out_even
,
77 .num_post_div
= ARRAY_SIZE(post_div_table_gcc_gpll0_out_even
),
79 .regs
= clk_alpha_pll_regs
[CLK_ALPHA_PLL_TYPE_LUCID_OLE
],
80 .clkr
.hw
.init
= &(const struct clk_init_data
) {
81 .name
= "gcc_gpll0_out_even",
82 .parent_hws
= (const struct clk_hw
*[]) {
86 .ops
= &clk_alpha_pll_postdiv_lucid_ole_ops
,
90 static struct clk_alpha_pll gcc_gpll4
= {
92 .regs
= clk_alpha_pll_regs
[CLK_ALPHA_PLL_TYPE_LUCID_OLE
],
94 .enable_reg
= 0x52030,
95 .enable_mask
= BIT(4),
96 .hw
.init
= &(const struct clk_init_data
) {
98 .parent_data
= &(const struct clk_parent_data
) {
102 .ops
= &clk_alpha_pll_fixed_lucid_ole_ops
,
107 static struct clk_alpha_pll gcc_gpll7
= {
109 .regs
= clk_alpha_pll_regs
[CLK_ALPHA_PLL_TYPE_LUCID_OLE
],
111 .enable_reg
= 0x52030,
112 .enable_mask
= BIT(7),
113 .hw
.init
= &(const struct clk_init_data
) {
115 .parent_data
= &(const struct clk_parent_data
) {
119 .ops
= &clk_alpha_pll_fixed_lucid_ole_ops
,
124 static struct clk_alpha_pll gcc_gpll8
= {
126 .regs
= clk_alpha_pll_regs
[CLK_ALPHA_PLL_TYPE_LUCID_OLE
],
128 .enable_reg
= 0x52030,
129 .enable_mask
= BIT(8),
130 .hw
.init
= &(const struct clk_init_data
) {
132 .parent_data
= &(const struct clk_parent_data
) {
136 .ops
= &clk_alpha_pll_fixed_lucid_ole_ops
,
141 static struct clk_alpha_pll gcc_gpll9
= {
143 .regs
= clk_alpha_pll_regs
[CLK_ALPHA_PLL_TYPE_LUCID_OLE
],
145 .enable_reg
= 0x52030,
146 .enable_mask
= BIT(9),
147 .hw
.init
= &(const struct clk_init_data
) {
149 .parent_data
= &(const struct clk_parent_data
) {
153 .ops
= &clk_alpha_pll_fixed_lucid_ole_ops
,
158 static const struct parent_map gcc_parent_map_0
[] = {
160 { P_GCC_GPLL0_OUT_MAIN
, 1 },
161 { P_GCC_GPLL0_OUT_EVEN
, 6 },
164 static const struct clk_parent_data gcc_parent_data_0
[] = {
165 { .index
= DT_BI_TCXO
},
166 { .hw
= &gcc_gpll0
.clkr
.hw
},
167 { .hw
= &gcc_gpll0_out_even
.clkr
.hw
},
170 static const struct parent_map gcc_parent_map_1
[] = {
175 static const struct clk_parent_data gcc_parent_data_1
[] = {
176 { .index
= DT_BI_TCXO
},
177 { .index
= DT_SLEEP_CLK
},
180 static const struct parent_map gcc_parent_map_2
[] = {
182 { P_GCC_GPLL0_OUT_MAIN
, 1 },
184 { P_GCC_GPLL0_OUT_EVEN
, 6 },
187 static const struct clk_parent_data gcc_parent_data_2
[] = {
188 { .index
= DT_BI_TCXO
},
189 { .hw
= &gcc_gpll0
.clkr
.hw
},
190 { .index
= DT_SLEEP_CLK
},
191 { .hw
= &gcc_gpll0_out_even
.clkr
.hw
},
194 static const struct parent_map gcc_parent_map_3
[] = {
198 static const struct clk_parent_data gcc_parent_data_3
[] = {
199 { .index
= DT_BI_TCXO
},
202 static const struct parent_map gcc_parent_map_4
[] = {
204 { P_GCC_GPLL0_OUT_MAIN
, 1 },
205 { P_GCC_GPLL8_OUT_MAIN
, 2 },
206 { P_GCC_GPLL0_OUT_EVEN
, 6 },
209 static const struct clk_parent_data gcc_parent_data_4
[] = {
210 { .index
= DT_BI_TCXO
},
211 { .hw
= &gcc_gpll0
.clkr
.hw
},
212 { .hw
= &gcc_gpll8
.clkr
.hw
},
213 { .hw
= &gcc_gpll0_out_even
.clkr
.hw
},
216 static const struct parent_map gcc_parent_map_5
[] = {
218 { P_GCC_GPLL0_OUT_MAIN
, 1 },
219 { P_GCC_GPLL7_OUT_MAIN
, 2 },
223 static const struct clk_parent_data gcc_parent_data_5
[] = {
224 { .index
= DT_BI_TCXO
},
225 { .hw
= &gcc_gpll0
.clkr
.hw
},
226 { .hw
= &gcc_gpll7
.clkr
.hw
},
227 { .index
= DT_SLEEP_CLK
},
230 static const struct parent_map gcc_parent_map_6
[] = {
232 { P_GCC_GPLL0_OUT_MAIN
, 1 },
233 { P_GCC_GPLL7_OUT_MAIN
, 2 },
236 static const struct clk_parent_data gcc_parent_data_6
[] = {
237 { .index
= DT_BI_TCXO
},
238 { .hw
= &gcc_gpll0
.clkr
.hw
},
239 { .hw
= &gcc_gpll7
.clkr
.hw
},
242 static const struct parent_map gcc_parent_map_7
[] = {
244 { P_GCC_GPLL0_OUT_MAIN
, 1 },
245 { P_GCC_GPLL4_OUT_MAIN
, 5 },
246 { P_GCC_GPLL0_OUT_EVEN
, 6 },
249 static const struct clk_parent_data gcc_parent_data_7
[] = {
250 { .index
= DT_BI_TCXO
},
251 { .hw
= &gcc_gpll0
.clkr
.hw
},
252 { .hw
= &gcc_gpll4
.clkr
.hw
},
253 { .hw
= &gcc_gpll0_out_even
.clkr
.hw
},
256 static const struct parent_map gcc_parent_map_8
[] = {
258 { P_GCC_GPLL0_OUT_MAIN
, 1 },
259 { P_GCC_GPLL7_OUT_MAIN
, 2 },
260 { P_GCC_GPLL0_OUT_EVEN
, 6 },
263 static const struct clk_parent_data gcc_parent_data_8
[] = {
264 { .index
= DT_BI_TCXO
},
265 { .hw
= &gcc_gpll0
.clkr
.hw
},
266 { .hw
= &gcc_gpll7
.clkr
.hw
},
267 { .hw
= &gcc_gpll0_out_even
.clkr
.hw
},
270 static const struct parent_map gcc_parent_map_9
[] = {
272 { P_GCC_GPLL0_OUT_MAIN
, 1 },
273 { P_GCC_GPLL9_OUT_MAIN
, 2 },
274 { P_GCC_GPLL4_OUT_MAIN
, 5 },
275 { P_GCC_GPLL0_OUT_EVEN
, 6 },
278 static const struct clk_parent_data gcc_parent_data_10
[] = {
279 { .index
= DT_USB3_PHY_0_WRAPPER_GCC_USB30_PIPE
},
280 { .index
= DT_BI_TCXO
},
283 static const struct parent_map gcc_parent_map_10
[] = {
284 { P_USB3_PHY_0_WRAPPER_GCC_USB30_PIPE_CLK
, 0 },
288 static const struct clk_parent_data gcc_parent_data_11
[] = {
289 { .index
= DT_USB3_PHY_1_WRAPPER_GCC_USB30_PIPE
},
290 { .index
= DT_BI_TCXO
},
293 static const struct parent_map gcc_parent_map_11
[] = {
294 { P_USB3_PHY_1_WRAPPER_GCC_USB30_PIPE_CLK
, 0 },
298 static const struct clk_parent_data gcc_parent_data_12
[] = {
299 { .index
= DT_USB3_PHY_2_WRAPPER_GCC_USB30_PIPE
},
300 { .index
= DT_BI_TCXO
},
303 static const struct parent_map gcc_parent_map_12
[] = {
304 { P_USB3_PHY_2_WRAPPER_GCC_USB30_PIPE_CLK
, 0 },
308 static const struct clk_parent_data gcc_parent_data_9
[] = {
309 { .index
= DT_BI_TCXO
},
310 { .hw
= &gcc_gpll0
.clkr
.hw
},
311 { .hw
= &gcc_gpll9
.clkr
.hw
},
312 { .hw
= &gcc_gpll4
.clkr
.hw
},
313 { .hw
= &gcc_gpll0_out_even
.clkr
.hw
},
316 static const struct freq_tbl ftbl_gcc_gp1_clk_src
[] = {
317 F(50000000, P_GCC_GPLL0_OUT_EVEN
, 6, 0, 0),
318 F(100000000, P_GCC_GPLL0_OUT_MAIN
, 6, 0, 0),
319 F(200000000, P_GCC_GPLL0_OUT_MAIN
, 3, 0, 0),
323 static struct clk_rcg2 gcc_gp1_clk_src
= {
327 .parent_map
= gcc_parent_map_2
,
328 .freq_tbl
= ftbl_gcc_gp1_clk_src
,
329 .clkr
.hw
.init
= &(const struct clk_init_data
) {
330 .name
= "gcc_gp1_clk_src",
331 .parent_data
= gcc_parent_data_2
,
332 .num_parents
= ARRAY_SIZE(gcc_parent_data_2
),
333 .flags
= CLK_SET_RATE_PARENT
,
334 .ops
= &clk_rcg2_shared_ops
,
338 static struct clk_rcg2 gcc_gp2_clk_src
= {
342 .parent_map
= gcc_parent_map_2
,
343 .freq_tbl
= ftbl_gcc_gp1_clk_src
,
344 .clkr
.hw
.init
= &(const struct clk_init_data
) {
345 .name
= "gcc_gp2_clk_src",
346 .parent_data
= gcc_parent_data_2
,
347 .num_parents
= ARRAY_SIZE(gcc_parent_data_2
),
348 .flags
= CLK_SET_RATE_PARENT
,
349 .ops
= &clk_rcg2_shared_ops
,
353 static struct clk_rcg2 gcc_gp3_clk_src
= {
357 .parent_map
= gcc_parent_map_2
,
358 .freq_tbl
= ftbl_gcc_gp1_clk_src
,
359 .clkr
.hw
.init
= &(const struct clk_init_data
) {
360 .name
= "gcc_gp3_clk_src",
361 .parent_data
= gcc_parent_data_2
,
362 .num_parents
= ARRAY_SIZE(gcc_parent_data_2
),
363 .flags
= CLK_SET_RATE_PARENT
,
364 .ops
= &clk_rcg2_shared_ops
,
368 static const struct freq_tbl ftbl_gcc_pcie_0_aux_clk_src
[] = {
369 F(19200000, P_BI_TCXO
, 1, 0, 0),
373 static struct clk_rcg2 gcc_pcie_0_aux_clk_src
= {
377 .parent_map
= gcc_parent_map_1
,
378 .freq_tbl
= ftbl_gcc_pcie_0_aux_clk_src
,
379 .clkr
.hw
.init
= &(const struct clk_init_data
) {
380 .name
= "gcc_pcie_0_aux_clk_src",
381 .parent_data
= gcc_parent_data_1
,
382 .num_parents
= ARRAY_SIZE(gcc_parent_data_1
),
383 .flags
= CLK_SET_RATE_PARENT
,
384 .ops
= &clk_rcg2_shared_ops
,
388 static const struct freq_tbl ftbl_gcc_pcie_0_phy_rchng_clk_src
[] = {
389 F(100000000, P_GCC_GPLL0_OUT_EVEN
, 3, 0, 0),
393 static struct clk_rcg2 gcc_pcie_0_phy_rchng_clk_src
= {
397 .parent_map
= gcc_parent_map_0
,
398 .freq_tbl
= ftbl_gcc_pcie_0_phy_rchng_clk_src
,
399 .clkr
.hw
.init
= &(const struct clk_init_data
) {
400 .name
= "gcc_pcie_0_phy_rchng_clk_src",
401 .parent_data
= gcc_parent_data_0
,
402 .num_parents
= ARRAY_SIZE(gcc_parent_data_0
),
403 .flags
= CLK_SET_RATE_PARENT
,
404 .ops
= &clk_rcg2_shared_ops
,
408 static struct clk_rcg2 gcc_pcie_1_aux_clk_src
= {
412 .parent_map
= gcc_parent_map_1
,
413 .freq_tbl
= ftbl_gcc_pcie_0_aux_clk_src
,
414 .clkr
.hw
.init
= &(const struct clk_init_data
) {
415 .name
= "gcc_pcie_1_aux_clk_src",
416 .parent_data
= gcc_parent_data_1
,
417 .num_parents
= ARRAY_SIZE(gcc_parent_data_1
),
418 .flags
= CLK_SET_RATE_PARENT
,
419 .ops
= &clk_rcg2_shared_ops
,
423 static struct clk_rcg2 gcc_pcie_1_phy_rchng_clk_src
= {
427 .parent_map
= gcc_parent_map_0
,
428 .freq_tbl
= ftbl_gcc_pcie_0_phy_rchng_clk_src
,
429 .clkr
.hw
.init
= &(const struct clk_init_data
) {
430 .name
= "gcc_pcie_1_phy_rchng_clk_src",
431 .parent_data
= gcc_parent_data_0
,
432 .num_parents
= ARRAY_SIZE(gcc_parent_data_0
),
433 .flags
= CLK_SET_RATE_PARENT
,
434 .ops
= &clk_rcg2_shared_ops
,
438 static struct clk_rcg2 gcc_pcie_2_aux_clk_src
= {
442 .parent_map
= gcc_parent_map_1
,
443 .freq_tbl
= ftbl_gcc_pcie_0_aux_clk_src
,
444 .clkr
.hw
.init
= &(const struct clk_init_data
) {
445 .name
= "gcc_pcie_2_aux_clk_src",
446 .parent_data
= gcc_parent_data_1
,
447 .num_parents
= ARRAY_SIZE(gcc_parent_data_1
),
448 .flags
= CLK_SET_RATE_PARENT
,
449 .ops
= &clk_rcg2_shared_ops
,
453 static struct clk_rcg2 gcc_pcie_2_phy_rchng_clk_src
= {
457 .parent_map
= gcc_parent_map_0
,
458 .freq_tbl
= ftbl_gcc_pcie_0_phy_rchng_clk_src
,
459 .clkr
.hw
.init
= &(const struct clk_init_data
) {
460 .name
= "gcc_pcie_2_phy_rchng_clk_src",
461 .parent_data
= gcc_parent_data_0
,
462 .num_parents
= ARRAY_SIZE(gcc_parent_data_0
),
463 .flags
= CLK_SET_RATE_PARENT
,
464 .ops
= &clk_rcg2_shared_ops
,
468 static struct clk_rcg2 gcc_pcie_3_aux_clk_src
= {
472 .parent_map
= gcc_parent_map_1
,
473 .freq_tbl
= ftbl_gcc_pcie_0_aux_clk_src
,
474 .clkr
.hw
.init
= &(const struct clk_init_data
) {
475 .name
= "gcc_pcie_3_aux_clk_src",
476 .parent_data
= gcc_parent_data_1
,
477 .num_parents
= ARRAY_SIZE(gcc_parent_data_1
),
478 .flags
= CLK_SET_RATE_PARENT
,
479 .ops
= &clk_rcg2_shared_ops
,
483 static struct clk_rcg2 gcc_pcie_3_phy_rchng_clk_src
= {
487 .parent_map
= gcc_parent_map_0
,
488 .freq_tbl
= ftbl_gcc_pcie_0_phy_rchng_clk_src
,
489 .clkr
.hw
.init
= &(const struct clk_init_data
) {
490 .name
= "gcc_pcie_3_phy_rchng_clk_src",
491 .parent_data
= gcc_parent_data_0
,
492 .num_parents
= ARRAY_SIZE(gcc_parent_data_0
),
493 .flags
= CLK_SET_RATE_PARENT
,
494 .ops
= &clk_rcg2_shared_ops
,
498 static struct clk_rcg2 gcc_pcie_4_aux_clk_src
= {
502 .parent_map
= gcc_parent_map_1
,
503 .freq_tbl
= ftbl_gcc_pcie_0_aux_clk_src
,
504 .clkr
.hw
.init
= &(const struct clk_init_data
) {
505 .name
= "gcc_pcie_4_aux_clk_src",
506 .parent_data
= gcc_parent_data_1
,
507 .num_parents
= ARRAY_SIZE(gcc_parent_data_1
),
508 .flags
= CLK_SET_RATE_PARENT
,
509 .ops
= &clk_rcg2_shared_ops
,
513 static struct clk_rcg2 gcc_pcie_4_phy_rchng_clk_src
= {
517 .parent_map
= gcc_parent_map_0
,
518 .freq_tbl
= ftbl_gcc_pcie_0_phy_rchng_clk_src
,
519 .clkr
.hw
.init
= &(const struct clk_init_data
) {
520 .name
= "gcc_pcie_4_phy_rchng_clk_src",
521 .parent_data
= gcc_parent_data_0
,
522 .num_parents
= ARRAY_SIZE(gcc_parent_data_0
),
523 .flags
= CLK_SET_RATE_PARENT
,
524 .ops
= &clk_rcg2_shared_ops
,
528 static struct clk_rcg2 gcc_pcie_5_aux_clk_src
= {
532 .parent_map
= gcc_parent_map_1
,
533 .freq_tbl
= ftbl_gcc_pcie_0_aux_clk_src
,
534 .clkr
.hw
.init
= &(const struct clk_init_data
) {
535 .name
= "gcc_pcie_5_aux_clk_src",
536 .parent_data
= gcc_parent_data_1
,
537 .num_parents
= ARRAY_SIZE(gcc_parent_data_1
),
538 .flags
= CLK_SET_RATE_PARENT
,
539 .ops
= &clk_rcg2_shared_ops
,
543 static struct clk_rcg2 gcc_pcie_5_phy_rchng_clk_src
= {
547 .parent_map
= gcc_parent_map_0
,
548 .freq_tbl
= ftbl_gcc_pcie_0_phy_rchng_clk_src
,
549 .clkr
.hw
.init
= &(const struct clk_init_data
) {
550 .name
= "gcc_pcie_5_phy_rchng_clk_src",
551 .parent_data
= gcc_parent_data_0
,
552 .num_parents
= ARRAY_SIZE(gcc_parent_data_0
),
553 .flags
= CLK_SET_RATE_PARENT
,
554 .ops
= &clk_rcg2_shared_ops
,
558 static struct clk_rcg2 gcc_pcie_6a_aux_clk_src
= {
562 .parent_map
= gcc_parent_map_1
,
563 .freq_tbl
= ftbl_gcc_pcie_0_aux_clk_src
,
564 .clkr
.hw
.init
= &(const struct clk_init_data
) {
565 .name
= "gcc_pcie_6a_aux_clk_src",
566 .parent_data
= gcc_parent_data_1
,
567 .num_parents
= ARRAY_SIZE(gcc_parent_data_1
),
568 .flags
= CLK_SET_RATE_PARENT
,
569 .ops
= &clk_rcg2_shared_ops
,
573 static struct clk_rcg2 gcc_pcie_6a_phy_rchng_clk_src
= {
577 .parent_map
= gcc_parent_map_0
,
578 .freq_tbl
= ftbl_gcc_pcie_0_phy_rchng_clk_src
,
579 .clkr
.hw
.init
= &(const struct clk_init_data
) {
580 .name
= "gcc_pcie_6a_phy_rchng_clk_src",
581 .parent_data
= gcc_parent_data_0
,
582 .num_parents
= ARRAY_SIZE(gcc_parent_data_0
),
583 .flags
= CLK_SET_RATE_PARENT
,
584 .ops
= &clk_rcg2_shared_ops
,
588 static struct clk_rcg2 gcc_pcie_6b_aux_clk_src
= {
592 .parent_map
= gcc_parent_map_1
,
593 .freq_tbl
= ftbl_gcc_pcie_0_aux_clk_src
,
594 .clkr
.hw
.init
= &(const struct clk_init_data
) {
595 .name
= "gcc_pcie_6b_aux_clk_src",
596 .parent_data
= gcc_parent_data_1
,
597 .num_parents
= ARRAY_SIZE(gcc_parent_data_1
),
598 .flags
= CLK_SET_RATE_PARENT
,
599 .ops
= &clk_rcg2_shared_ops
,
603 static struct clk_rcg2 gcc_pcie_6b_phy_rchng_clk_src
= {
607 .parent_map
= gcc_parent_map_0
,
608 .freq_tbl
= ftbl_gcc_pcie_0_phy_rchng_clk_src
,
609 .clkr
.hw
.init
= &(const struct clk_init_data
) {
610 .name
= "gcc_pcie_6b_phy_rchng_clk_src",
611 .parent_data
= gcc_parent_data_0
,
612 .num_parents
= ARRAY_SIZE(gcc_parent_data_0
),
613 .flags
= CLK_SET_RATE_PARENT
,
614 .ops
= &clk_rcg2_shared_ops
,
618 static struct clk_rcg2 gcc_pcie_rscc_xo_clk_src
= {
622 .parent_map
= gcc_parent_map_3
,
623 .freq_tbl
= ftbl_gcc_pcie_0_aux_clk_src
,
624 .clkr
.hw
.init
= &(const struct clk_init_data
) {
625 .name
= "gcc_pcie_rscc_xo_clk_src",
626 .parent_data
= gcc_parent_data_3
,
627 .num_parents
= ARRAY_SIZE(gcc_parent_data_3
),
628 .flags
= CLK_SET_RATE_PARENT
,
629 .ops
= &clk_rcg2_shared_ops
,
633 static const struct freq_tbl ftbl_gcc_pdm2_clk_src
[] = {
634 F(60000000, P_GCC_GPLL0_OUT_MAIN
, 10, 0, 0),
638 static struct clk_rcg2 gcc_pdm2_clk_src
= {
642 .parent_map
= gcc_parent_map_0
,
643 .freq_tbl
= ftbl_gcc_pdm2_clk_src
,
644 .clkr
.hw
.init
= &(const struct clk_init_data
) {
645 .name
= "gcc_pdm2_clk_src",
646 .parent_data
= gcc_parent_data_0
,
647 .num_parents
= ARRAY_SIZE(gcc_parent_data_0
),
648 .flags
= CLK_SET_RATE_PARENT
,
649 .ops
= &clk_rcg2_shared_ops
,
653 static const struct freq_tbl ftbl_gcc_qupv3_wrap0_s0_clk_src
[] = {
654 F(7372800, P_GCC_GPLL0_OUT_EVEN
, 1, 384, 15625),
655 F(14745600, P_GCC_GPLL0_OUT_EVEN
, 1, 768, 15625),
656 F(19200000, P_BI_TCXO
, 1, 0, 0),
657 F(29491200, P_GCC_GPLL0_OUT_EVEN
, 1, 1536, 15625),
658 F(32000000, P_GCC_GPLL0_OUT_EVEN
, 1, 8, 75),
659 F(48000000, P_GCC_GPLL0_OUT_EVEN
, 1, 4, 25),
660 F(64000000, P_GCC_GPLL0_OUT_EVEN
, 1, 16, 75),
661 F(75000000, P_GCC_GPLL0_OUT_EVEN
, 4, 0, 0),
662 F(80000000, P_GCC_GPLL0_OUT_EVEN
, 1, 4, 15),
663 F(96000000, P_GCC_GPLL0_OUT_EVEN
, 1, 8, 25),
664 F(120000000, P_GCC_GPLL0_OUT_MAIN
, 5, 0, 0),
668 static struct clk_init_data gcc_qupv3_wrap0_s0_clk_src_init
= {
669 .name
= "gcc_qupv3_wrap0_s0_clk_src",
670 .parent_data
= gcc_parent_data_0
,
671 .num_parents
= ARRAY_SIZE(gcc_parent_data_0
),
672 .flags
= CLK_SET_RATE_PARENT
,
673 .ops
= &clk_rcg2_ops
,
676 static struct clk_rcg2 gcc_qupv3_wrap0_s0_clk_src
= {
680 .parent_map
= gcc_parent_map_0
,
681 .freq_tbl
= ftbl_gcc_qupv3_wrap0_s0_clk_src
,
682 .clkr
.hw
.init
= &gcc_qupv3_wrap0_s0_clk_src_init
,
685 static struct clk_init_data gcc_qupv3_wrap0_s1_clk_src_init
= {
686 .name
= "gcc_qupv3_wrap0_s1_clk_src",
687 .parent_data
= gcc_parent_data_0
,
688 .num_parents
= ARRAY_SIZE(gcc_parent_data_0
),
689 .flags
= CLK_SET_RATE_PARENT
,
690 .ops
= &clk_rcg2_ops
,
693 static struct clk_rcg2 gcc_qupv3_wrap0_s1_clk_src
= {
697 .parent_map
= gcc_parent_map_0
,
698 .freq_tbl
= ftbl_gcc_qupv3_wrap0_s0_clk_src
,
699 .clkr
.hw
.init
= &gcc_qupv3_wrap0_s1_clk_src_init
,
702 static const struct freq_tbl ftbl_gcc_qupv3_wrap0_s2_clk_src
[] = {
703 F(7372800, P_GCC_GPLL0_OUT_EVEN
, 1, 384, 15625),
704 F(14745600, P_GCC_GPLL0_OUT_EVEN
, 1, 768, 15625),
705 F(19200000, P_BI_TCXO
, 1, 0, 0),
706 F(29491200, P_GCC_GPLL0_OUT_EVEN
, 1, 1536, 15625),
707 F(32000000, P_GCC_GPLL0_OUT_EVEN
, 1, 8, 75),
708 F(48000000, P_GCC_GPLL0_OUT_EVEN
, 1, 4, 25),
709 F(64000000, P_GCC_GPLL0_OUT_EVEN
, 1, 16, 75),
710 F(80000000, P_GCC_GPLL0_OUT_EVEN
, 1, 4, 15),
711 F(96000000, P_GCC_GPLL0_OUT_EVEN
, 1, 8, 25),
712 F(150000000, P_GCC_GPLL0_OUT_EVEN
, 2, 0, 0),
713 F(200000000, P_GCC_GPLL0_OUT_MAIN
, 3, 0, 0),
717 static struct clk_init_data gcc_qupv3_wrap0_s2_clk_src_init
= {
718 .name
= "gcc_qupv3_wrap0_s2_clk_src",
719 .parent_data
= gcc_parent_data_0
,
720 .num_parents
= ARRAY_SIZE(gcc_parent_data_0
),
721 .flags
= CLK_SET_RATE_PARENT
,
722 .ops
= &clk_rcg2_ops
,
725 static struct clk_rcg2 gcc_qupv3_wrap0_s2_clk_src
= {
729 .parent_map
= gcc_parent_map_0
,
730 .freq_tbl
= ftbl_gcc_qupv3_wrap0_s2_clk_src
,
731 .clkr
.hw
.init
= &gcc_qupv3_wrap0_s2_clk_src_init
,
734 static struct clk_init_data gcc_qupv3_wrap0_s3_clk_src_init
= {
735 .name
= "gcc_qupv3_wrap0_s3_clk_src",
736 .parent_data
= gcc_parent_data_0
,
737 .num_parents
= ARRAY_SIZE(gcc_parent_data_0
),
738 .flags
= CLK_SET_RATE_PARENT
,
739 .ops
= &clk_rcg2_ops
,
742 static struct clk_rcg2 gcc_qupv3_wrap0_s3_clk_src
= {
746 .parent_map
= gcc_parent_map_0
,
747 .freq_tbl
= ftbl_gcc_qupv3_wrap0_s2_clk_src
,
748 .clkr
.hw
.init
= &gcc_qupv3_wrap0_s3_clk_src_init
,
751 static const struct freq_tbl ftbl_gcc_qupv3_wrap0_s4_clk_src
[] = {
752 F(7372800, P_GCC_GPLL0_OUT_EVEN
, 1, 384, 15625),
753 F(14745600, P_GCC_GPLL0_OUT_EVEN
, 1, 768, 15625),
754 F(19200000, P_BI_TCXO
, 1, 0, 0),
755 F(29491200, P_GCC_GPLL0_OUT_EVEN
, 1, 1536, 15625),
756 F(32000000, P_GCC_GPLL0_OUT_EVEN
, 1, 8, 75),
757 F(48000000, P_GCC_GPLL0_OUT_EVEN
, 1, 4, 25),
758 F(64000000, P_GCC_GPLL0_OUT_EVEN
, 1, 16, 75),
759 F(75000000, P_GCC_GPLL0_OUT_EVEN
, 4, 0, 0),
760 F(80000000, P_GCC_GPLL0_OUT_EVEN
, 1, 4, 15),
761 F(96000000, P_GCC_GPLL0_OUT_EVEN
, 1, 8, 25),
762 F(100000000, P_GCC_GPLL0_OUT_MAIN
, 6, 0, 0),
766 static struct clk_init_data gcc_qupv3_wrap0_s4_clk_src_init
= {
767 .name
= "gcc_qupv3_wrap0_s4_clk_src",
768 .parent_data
= gcc_parent_data_0
,
769 .num_parents
= ARRAY_SIZE(gcc_parent_data_0
),
770 .flags
= CLK_SET_RATE_PARENT
,
771 .ops
= &clk_rcg2_ops
,
774 static struct clk_rcg2 gcc_qupv3_wrap0_s4_clk_src
= {
778 .parent_map
= gcc_parent_map_0
,
779 .freq_tbl
= ftbl_gcc_qupv3_wrap0_s4_clk_src
,
780 .clkr
.hw
.init
= &gcc_qupv3_wrap0_s4_clk_src_init
,
783 static struct clk_init_data gcc_qupv3_wrap0_s5_clk_src_init
= {
784 .name
= "gcc_qupv3_wrap0_s5_clk_src",
785 .parent_data
= gcc_parent_data_0
,
786 .num_parents
= ARRAY_SIZE(gcc_parent_data_0
),
787 .flags
= CLK_SET_RATE_PARENT
,
788 .ops
= &clk_rcg2_ops
,
791 static struct clk_rcg2 gcc_qupv3_wrap0_s5_clk_src
= {
795 .parent_map
= gcc_parent_map_0
,
796 .freq_tbl
= ftbl_gcc_qupv3_wrap0_s4_clk_src
,
797 .clkr
.hw
.init
= &gcc_qupv3_wrap0_s5_clk_src_init
,
800 static struct clk_init_data gcc_qupv3_wrap0_s6_clk_src_init
= {
801 .name
= "gcc_qupv3_wrap0_s6_clk_src",
802 .parent_data
= gcc_parent_data_0
,
803 .num_parents
= ARRAY_SIZE(gcc_parent_data_0
),
804 .flags
= CLK_SET_RATE_PARENT
,
805 .ops
= &clk_rcg2_ops
,
808 static struct clk_rcg2 gcc_qupv3_wrap0_s6_clk_src
= {
812 .parent_map
= gcc_parent_map_0
,
813 .freq_tbl
= ftbl_gcc_qupv3_wrap0_s4_clk_src
,
814 .clkr
.hw
.init
= &gcc_qupv3_wrap0_s6_clk_src_init
,
817 static struct clk_init_data gcc_qupv3_wrap0_s7_clk_src_init
= {
818 .name
= "gcc_qupv3_wrap0_s7_clk_src",
819 .parent_data
= gcc_parent_data_0
,
820 .num_parents
= ARRAY_SIZE(gcc_parent_data_0
),
821 .flags
= CLK_SET_RATE_PARENT
,
822 .ops
= &clk_rcg2_ops
,
825 static struct clk_rcg2 gcc_qupv3_wrap0_s7_clk_src
= {
829 .parent_map
= gcc_parent_map_0
,
830 .freq_tbl
= ftbl_gcc_qupv3_wrap0_s4_clk_src
,
831 .clkr
.hw
.init
= &gcc_qupv3_wrap0_s7_clk_src_init
,
834 static struct clk_init_data gcc_qupv3_wrap1_s0_clk_src_init
= {
835 .name
= "gcc_qupv3_wrap1_s0_clk_src",
836 .parent_data
= gcc_parent_data_0
,
837 .num_parents
= ARRAY_SIZE(gcc_parent_data_0
),
838 .flags
= CLK_SET_RATE_PARENT
,
839 .ops
= &clk_rcg2_ops
,
842 static struct clk_rcg2 gcc_qupv3_wrap1_s0_clk_src
= {
846 .parent_map
= gcc_parent_map_0
,
847 .freq_tbl
= ftbl_gcc_qupv3_wrap0_s0_clk_src
,
848 .clkr
.hw
.init
= &gcc_qupv3_wrap1_s0_clk_src_init
,
851 static struct clk_init_data gcc_qupv3_wrap1_s1_clk_src_init
= {
852 .name
= "gcc_qupv3_wrap1_s1_clk_src",
853 .parent_data
= gcc_parent_data_0
,
854 .num_parents
= ARRAY_SIZE(gcc_parent_data_0
),
855 .flags
= CLK_SET_RATE_PARENT
,
856 .ops
= &clk_rcg2_ops
,
859 static struct clk_rcg2 gcc_qupv3_wrap1_s1_clk_src
= {
863 .parent_map
= gcc_parent_map_0
,
864 .freq_tbl
= ftbl_gcc_qupv3_wrap0_s0_clk_src
,
865 .clkr
.hw
.init
= &gcc_qupv3_wrap1_s1_clk_src_init
,
868 static struct clk_init_data gcc_qupv3_wrap1_s2_clk_src_init
= {
869 .name
= "gcc_qupv3_wrap1_s2_clk_src",
870 .parent_data
= gcc_parent_data_0
,
871 .num_parents
= ARRAY_SIZE(gcc_parent_data_0
),
872 .flags
= CLK_SET_RATE_PARENT
,
873 .ops
= &clk_rcg2_ops
,
876 static struct clk_rcg2 gcc_qupv3_wrap1_s2_clk_src
= {
880 .parent_map
= gcc_parent_map_0
,
881 .freq_tbl
= ftbl_gcc_qupv3_wrap0_s2_clk_src
,
882 .clkr
.hw
.init
= &gcc_qupv3_wrap1_s2_clk_src_init
,
885 static struct clk_init_data gcc_qupv3_wrap1_s3_clk_src_init
= {
886 .name
= "gcc_qupv3_wrap1_s3_clk_src",
887 .parent_data
= gcc_parent_data_0
,
888 .num_parents
= ARRAY_SIZE(gcc_parent_data_0
),
889 .flags
= CLK_SET_RATE_PARENT
,
890 .ops
= &clk_rcg2_ops
,
893 static struct clk_rcg2 gcc_qupv3_wrap1_s3_clk_src
= {
897 .parent_map
= gcc_parent_map_0
,
898 .freq_tbl
= ftbl_gcc_qupv3_wrap0_s2_clk_src
,
899 .clkr
.hw
.init
= &gcc_qupv3_wrap1_s3_clk_src_init
,
902 static struct clk_init_data gcc_qupv3_wrap1_s4_clk_src_init
= {
903 .name
= "gcc_qupv3_wrap1_s4_clk_src",
904 .parent_data
= gcc_parent_data_0
,
905 .num_parents
= ARRAY_SIZE(gcc_parent_data_0
),
906 .flags
= CLK_SET_RATE_PARENT
,
907 .ops
= &clk_rcg2_ops
,
910 static struct clk_rcg2 gcc_qupv3_wrap1_s4_clk_src
= {
914 .parent_map
= gcc_parent_map_0
,
915 .freq_tbl
= ftbl_gcc_qupv3_wrap0_s4_clk_src
,
916 .clkr
.hw
.init
= &gcc_qupv3_wrap1_s4_clk_src_init
,
919 static struct clk_init_data gcc_qupv3_wrap1_s5_clk_src_init
= {
920 .name
= "gcc_qupv3_wrap1_s5_clk_src",
921 .parent_data
= gcc_parent_data_0
,
922 .num_parents
= ARRAY_SIZE(gcc_parent_data_0
),
923 .flags
= CLK_SET_RATE_PARENT
,
924 .ops
= &clk_rcg2_ops
,
927 static struct clk_rcg2 gcc_qupv3_wrap1_s5_clk_src
= {
931 .parent_map
= gcc_parent_map_0
,
932 .freq_tbl
= ftbl_gcc_qupv3_wrap0_s4_clk_src
,
933 .clkr
.hw
.init
= &gcc_qupv3_wrap1_s5_clk_src_init
,
936 static struct clk_init_data gcc_qupv3_wrap1_s6_clk_src_init
= {
937 .name
= "gcc_qupv3_wrap1_s6_clk_src",
938 .parent_data
= gcc_parent_data_0
,
939 .num_parents
= ARRAY_SIZE(gcc_parent_data_0
),
940 .flags
= CLK_SET_RATE_PARENT
,
941 .ops
= &clk_rcg2_ops
,
944 static struct clk_rcg2 gcc_qupv3_wrap1_s6_clk_src
= {
948 .parent_map
= gcc_parent_map_0
,
949 .freq_tbl
= ftbl_gcc_qupv3_wrap0_s4_clk_src
,
950 .clkr
.hw
.init
= &gcc_qupv3_wrap1_s6_clk_src_init
,
953 static struct clk_init_data gcc_qupv3_wrap1_s7_clk_src_init
= {
954 .name
= "gcc_qupv3_wrap1_s7_clk_src",
955 .parent_data
= gcc_parent_data_0
,
956 .num_parents
= ARRAY_SIZE(gcc_parent_data_0
),
957 .flags
= CLK_SET_RATE_PARENT
,
958 .ops
= &clk_rcg2_ops
,
961 static struct clk_rcg2 gcc_qupv3_wrap1_s7_clk_src
= {
965 .parent_map
= gcc_parent_map_0
,
966 .freq_tbl
= ftbl_gcc_qupv3_wrap0_s4_clk_src
,
967 .clkr
.hw
.init
= &gcc_qupv3_wrap1_s7_clk_src_init
,
970 static struct clk_init_data gcc_qupv3_wrap2_s0_clk_src_init
= {
971 .name
= "gcc_qupv3_wrap2_s0_clk_src",
972 .parent_data
= gcc_parent_data_0
,
973 .num_parents
= ARRAY_SIZE(gcc_parent_data_0
),
974 .flags
= CLK_SET_RATE_PARENT
,
975 .ops
= &clk_rcg2_ops
,
978 static struct clk_rcg2 gcc_qupv3_wrap2_s0_clk_src
= {
982 .parent_map
= gcc_parent_map_0
,
983 .freq_tbl
= ftbl_gcc_qupv3_wrap0_s0_clk_src
,
984 .clkr
.hw
.init
= &gcc_qupv3_wrap2_s0_clk_src_init
,
987 static struct clk_init_data gcc_qupv3_wrap2_s1_clk_src_init
= {
988 .name
= "gcc_qupv3_wrap2_s1_clk_src",
989 .parent_data
= gcc_parent_data_0
,
990 .num_parents
= ARRAY_SIZE(gcc_parent_data_0
),
991 .flags
= CLK_SET_RATE_PARENT
,
992 .ops
= &clk_rcg2_ops
,
995 static struct clk_rcg2 gcc_qupv3_wrap2_s1_clk_src
= {
999 .parent_map
= gcc_parent_map_0
,
1000 .freq_tbl
= ftbl_gcc_qupv3_wrap0_s0_clk_src
,
1001 .clkr
.hw
.init
= &gcc_qupv3_wrap2_s1_clk_src_init
,
1004 static struct clk_init_data gcc_qupv3_wrap2_s2_clk_src_init
= {
1005 .name
= "gcc_qupv3_wrap2_s2_clk_src",
1006 .parent_data
= gcc_parent_data_0
,
1007 .num_parents
= ARRAY_SIZE(gcc_parent_data_0
),
1008 .flags
= CLK_SET_RATE_PARENT
,
1009 .ops
= &clk_rcg2_ops
,
1012 static struct clk_rcg2 gcc_qupv3_wrap2_s2_clk_src
= {
1013 .cmd_rcgr
= 0x1e288,
1016 .parent_map
= gcc_parent_map_0
,
1017 .freq_tbl
= ftbl_gcc_qupv3_wrap0_s2_clk_src
,
1018 .clkr
.hw
.init
= &gcc_qupv3_wrap2_s2_clk_src_init
,
1021 static struct clk_init_data gcc_qupv3_wrap2_s3_clk_src_init
= {
1022 .name
= "gcc_qupv3_wrap2_s3_clk_src",
1023 .parent_data
= gcc_parent_data_0
,
1024 .num_parents
= ARRAY_SIZE(gcc_parent_data_0
),
1025 .flags
= CLK_SET_RATE_PARENT
,
1026 .ops
= &clk_rcg2_ops
,
1029 static struct clk_rcg2 gcc_qupv3_wrap2_s3_clk_src
= {
1030 .cmd_rcgr
= 0x1e3c8,
1033 .parent_map
= gcc_parent_map_0
,
1034 .freq_tbl
= ftbl_gcc_qupv3_wrap0_s2_clk_src
,
1035 .clkr
.hw
.init
= &gcc_qupv3_wrap2_s3_clk_src_init
,
1038 static struct clk_init_data gcc_qupv3_wrap2_s4_clk_src_init
= {
1039 .name
= "gcc_qupv3_wrap2_s4_clk_src",
1040 .parent_data
= gcc_parent_data_0
,
1041 .num_parents
= ARRAY_SIZE(gcc_parent_data_0
),
1042 .flags
= CLK_SET_RATE_PARENT
,
1043 .ops
= &clk_rcg2_ops
,
1046 static struct clk_rcg2 gcc_qupv3_wrap2_s4_clk_src
= {
1047 .cmd_rcgr
= 0x1e500,
1050 .parent_map
= gcc_parent_map_0
,
1051 .freq_tbl
= ftbl_gcc_qupv3_wrap0_s4_clk_src
,
1052 .clkr
.hw
.init
= &gcc_qupv3_wrap2_s4_clk_src_init
,
1055 static struct clk_init_data gcc_qupv3_wrap2_s5_clk_src_init
= {
1056 .name
= "gcc_qupv3_wrap2_s5_clk_src",
1057 .parent_data
= gcc_parent_data_0
,
1058 .num_parents
= ARRAY_SIZE(gcc_parent_data_0
),
1059 .flags
= CLK_SET_RATE_PARENT
,
1060 .ops
= &clk_rcg2_ops
,
1063 static struct clk_rcg2 gcc_qupv3_wrap2_s5_clk_src
= {
1064 .cmd_rcgr
= 0x1e638,
1067 .parent_map
= gcc_parent_map_0
,
1068 .freq_tbl
= ftbl_gcc_qupv3_wrap0_s4_clk_src
,
1069 .clkr
.hw
.init
= &gcc_qupv3_wrap2_s5_clk_src_init
,
1072 static struct clk_init_data gcc_qupv3_wrap2_s6_clk_src_init
= {
1073 .name
= "gcc_qupv3_wrap2_s6_clk_src",
1074 .parent_data
= gcc_parent_data_8
,
1075 .num_parents
= ARRAY_SIZE(gcc_parent_data_8
),
1076 .flags
= CLK_SET_RATE_PARENT
,
1077 .ops
= &clk_rcg2_ops
,
1080 static struct clk_rcg2 gcc_qupv3_wrap2_s6_clk_src
= {
1081 .cmd_rcgr
= 0x1e770,
1084 .parent_map
= gcc_parent_map_8
,
1085 .freq_tbl
= ftbl_gcc_qupv3_wrap0_s4_clk_src
,
1086 .clkr
.hw
.init
= &gcc_qupv3_wrap2_s6_clk_src_init
,
1089 static struct clk_init_data gcc_qupv3_wrap2_s7_clk_src_init
= {
1090 .name
= "gcc_qupv3_wrap2_s7_clk_src",
1091 .parent_data
= gcc_parent_data_0
,
1092 .num_parents
= ARRAY_SIZE(gcc_parent_data_0
),
1093 .flags
= CLK_SET_RATE_PARENT
,
1094 .ops
= &clk_rcg2_ops
,
1097 static struct clk_rcg2 gcc_qupv3_wrap2_s7_clk_src
= {
1098 .cmd_rcgr
= 0x1e8a8,
1101 .parent_map
= gcc_parent_map_0
,
1102 .freq_tbl
= ftbl_gcc_qupv3_wrap0_s4_clk_src
,
1103 .clkr
.hw
.init
= &gcc_qupv3_wrap2_s7_clk_src_init
,
1106 static const struct freq_tbl ftbl_gcc_sdcc2_apps_clk_src
[] = {
1107 F(400000, P_BI_TCXO
, 12, 1, 4),
1108 F(25000000, P_GCC_GPLL0_OUT_EVEN
, 12, 0, 0),
1109 F(50000000, P_GCC_GPLL0_OUT_EVEN
, 6, 0, 0),
1110 F(100000000, P_GCC_GPLL0_OUT_EVEN
, 3, 0, 0),
1111 F(202000000, P_GCC_GPLL9_OUT_MAIN
, 4, 0, 0),
1115 static struct clk_rcg2 gcc_sdcc2_apps_clk_src
= {
1116 .cmd_rcgr
= 0x14018,
1119 .parent_map
= gcc_parent_map_9
,
1120 .freq_tbl
= ftbl_gcc_sdcc2_apps_clk_src
,
1121 .clkr
.hw
.init
= &(const struct clk_init_data
) {
1122 .name
= "gcc_sdcc2_apps_clk_src",
1123 .parent_data
= gcc_parent_data_9
,
1124 .num_parents
= ARRAY_SIZE(gcc_parent_data_9
),
1125 .flags
= CLK_SET_RATE_PARENT
,
1126 .ops
= &clk_rcg2_floor_ops
,
1130 static const struct freq_tbl ftbl_gcc_sdcc4_apps_clk_src
[] = {
1131 F(400000, P_BI_TCXO
, 12, 1, 4),
1132 F(25000000, P_GCC_GPLL0_OUT_EVEN
, 12, 0, 0),
1133 F(75000000, P_GCC_GPLL0_OUT_EVEN
, 4, 0, 0),
1137 static struct clk_rcg2 gcc_sdcc4_apps_clk_src
= {
1138 .cmd_rcgr
= 0x16018,
1141 .parent_map
= gcc_parent_map_0
,
1142 .freq_tbl
= ftbl_gcc_sdcc4_apps_clk_src
,
1143 .clkr
.hw
.init
= &(const struct clk_init_data
) {
1144 .name
= "gcc_sdcc4_apps_clk_src",
1145 .parent_data
= gcc_parent_data_0
,
1146 .num_parents
= ARRAY_SIZE(gcc_parent_data_0
),
1147 .flags
= CLK_SET_RATE_PARENT
,
1148 .ops
= &clk_rcg2_floor_ops
,
1152 static const struct freq_tbl ftbl_gcc_ufs_phy_axi_clk_src
[] = {
1153 F(25000000, P_GCC_GPLL0_OUT_EVEN
, 12, 0, 0),
1154 F(75000000, P_GCC_GPLL0_OUT_EVEN
, 4, 0, 0),
1155 F(150000000, P_GCC_GPLL0_OUT_MAIN
, 4, 0, 0),
1156 F(300000000, P_GCC_GPLL0_OUT_MAIN
, 2, 0, 0),
1160 static struct clk_rcg2 gcc_ufs_phy_axi_clk_src
= {
1161 .cmd_rcgr
= 0x77030,
1164 .parent_map
= gcc_parent_map_0
,
1165 .freq_tbl
= ftbl_gcc_ufs_phy_axi_clk_src
,
1166 .clkr
.hw
.init
= &(const struct clk_init_data
) {
1167 .name
= "gcc_ufs_phy_axi_clk_src",
1168 .parent_data
= gcc_parent_data_0
,
1169 .num_parents
= ARRAY_SIZE(gcc_parent_data_0
),
1170 .flags
= CLK_SET_RATE_PARENT
,
1171 .ops
= &clk_rcg2_shared_ops
,
1175 static const struct freq_tbl ftbl_gcc_ufs_phy_ice_core_clk_src
[] = {
1176 F(100000000, P_GCC_GPLL0_OUT_EVEN
, 3, 0, 0),
1177 F(201500000, P_GCC_GPLL4_OUT_MAIN
, 4, 0, 0),
1178 F(403000000, P_GCC_GPLL4_OUT_MAIN
, 2, 0, 0),
1182 static struct clk_rcg2 gcc_ufs_phy_ice_core_clk_src
= {
1183 .cmd_rcgr
= 0x77080,
1186 .parent_map
= gcc_parent_map_7
,
1187 .freq_tbl
= ftbl_gcc_ufs_phy_ice_core_clk_src
,
1188 .clkr
.hw
.init
= &(const struct clk_init_data
) {
1189 .name
= "gcc_ufs_phy_ice_core_clk_src",
1190 .parent_data
= gcc_parent_data_7
,
1191 .num_parents
= ARRAY_SIZE(gcc_parent_data_7
),
1192 .flags
= CLK_SET_RATE_PARENT
,
1193 .ops
= &clk_rcg2_shared_ops
,
1197 static struct clk_rcg2 gcc_ufs_phy_phy_aux_clk_src
= {
1198 .cmd_rcgr
= 0x770b4,
1201 .parent_map
= gcc_parent_map_3
,
1202 .freq_tbl
= ftbl_gcc_pcie_0_aux_clk_src
,
1203 .clkr
.hw
.init
= &(const struct clk_init_data
) {
1204 .name
= "gcc_ufs_phy_phy_aux_clk_src",
1205 .parent_data
= gcc_parent_data_3
,
1206 .num_parents
= ARRAY_SIZE(gcc_parent_data_3
),
1207 .flags
= CLK_SET_RATE_PARENT
,
1208 .ops
= &clk_rcg2_shared_ops
,
1212 static const struct freq_tbl ftbl_gcc_ufs_phy_unipro_core_clk_src
[] = {
1213 F(75000000, P_GCC_GPLL0_OUT_EVEN
, 4, 0, 0),
1214 F(150000000, P_GCC_GPLL0_OUT_MAIN
, 4, 0, 0),
1215 F(300000000, P_GCC_GPLL0_OUT_MAIN
, 2, 0, 0),
1219 static struct clk_rcg2 gcc_ufs_phy_unipro_core_clk_src
= {
1220 .cmd_rcgr
= 0x77098,
1223 .parent_map
= gcc_parent_map_0
,
1224 .freq_tbl
= ftbl_gcc_ufs_phy_unipro_core_clk_src
,
1225 .clkr
.hw
.init
= &(const struct clk_init_data
) {
1226 .name
= "gcc_ufs_phy_unipro_core_clk_src",
1227 .parent_data
= gcc_parent_data_0
,
1228 .num_parents
= ARRAY_SIZE(gcc_parent_data_0
),
1229 .flags
= CLK_SET_RATE_PARENT
,
1230 .ops
= &clk_rcg2_shared_ops
,
1234 static const struct freq_tbl ftbl_gcc_usb20_master_clk_src
[] = {
1235 F(60000000, P_GCC_GPLL0_OUT_MAIN
, 10, 0, 0),
1236 F(120000000, P_GCC_GPLL0_OUT_MAIN
, 5, 0, 0),
1240 static struct clk_rcg2 gcc_usb20_master_clk_src
= {
1241 .cmd_rcgr
= 0x2902c,
1244 .parent_map
= gcc_parent_map_0
,
1245 .freq_tbl
= ftbl_gcc_usb20_master_clk_src
,
1246 .clkr
.hw
.init
= &(const struct clk_init_data
) {
1247 .name
= "gcc_usb20_master_clk_src",
1248 .parent_data
= gcc_parent_data_0
,
1249 .num_parents
= ARRAY_SIZE(gcc_parent_data_0
),
1250 .flags
= CLK_SET_RATE_PARENT
,
1251 .ops
= &clk_rcg2_shared_ops
,
1255 static struct clk_rcg2 gcc_usb20_mock_utmi_clk_src
= {
1256 .cmd_rcgr
= 0x29158,
1259 .parent_map
= gcc_parent_map_0
,
1260 .freq_tbl
= ftbl_gcc_pcie_0_aux_clk_src
,
1261 .clkr
.hw
.init
= &(const struct clk_init_data
) {
1262 .name
= "gcc_usb20_mock_utmi_clk_src",
1263 .parent_data
= gcc_parent_data_0
,
1264 .num_parents
= ARRAY_SIZE(gcc_parent_data_0
),
1265 .flags
= CLK_SET_RATE_PARENT
,
1266 .ops
= &clk_rcg2_shared_ops
,
1270 static const struct freq_tbl ftbl_gcc_usb30_mp_master_clk_src
[] = {
1271 F(66666667, P_GCC_GPLL0_OUT_EVEN
, 4.5, 0, 0),
1272 F(133333333, P_GCC_GPLL0_OUT_MAIN
, 4.5, 0, 0),
1273 F(200000000, P_GCC_GPLL0_OUT_MAIN
, 3, 0, 0),
1274 F(240000000, P_GCC_GPLL0_OUT_MAIN
, 2.5, 0, 0),
1278 static struct clk_rcg2 gcc_usb30_mp_master_clk_src
= {
1279 .cmd_rcgr
= 0x1702c,
1282 .parent_map
= gcc_parent_map_0
,
1283 .freq_tbl
= ftbl_gcc_usb30_mp_master_clk_src
,
1284 .clkr
.hw
.init
= &(const struct clk_init_data
) {
1285 .name
= "gcc_usb30_mp_master_clk_src",
1286 .parent_data
= gcc_parent_data_0
,
1287 .num_parents
= ARRAY_SIZE(gcc_parent_data_0
),
1288 .flags
= CLK_SET_RATE_PARENT
,
1289 .ops
= &clk_rcg2_shared_ops
,
1293 static struct clk_rcg2 gcc_usb30_mp_mock_utmi_clk_src
= {
1294 .cmd_rcgr
= 0x17158,
1297 .parent_map
= gcc_parent_map_0
,
1298 .freq_tbl
= ftbl_gcc_pcie_0_aux_clk_src
,
1299 .clkr
.hw
.init
= &(const struct clk_init_data
) {
1300 .name
= "gcc_usb30_mp_mock_utmi_clk_src",
1301 .parent_data
= gcc_parent_data_0
,
1302 .num_parents
= ARRAY_SIZE(gcc_parent_data_0
),
1303 .flags
= CLK_SET_RATE_PARENT
,
1304 .ops
= &clk_rcg2_shared_ops
,
1308 static struct clk_rcg2 gcc_usb30_prim_master_clk_src
= {
1309 .cmd_rcgr
= 0x3902c,
1312 .parent_map
= gcc_parent_map_0
,
1313 .freq_tbl
= ftbl_gcc_usb30_mp_master_clk_src
,
1314 .clkr
.hw
.init
= &(const struct clk_init_data
) {
1315 .name
= "gcc_usb30_prim_master_clk_src",
1316 .parent_data
= gcc_parent_data_0
,
1317 .num_parents
= ARRAY_SIZE(gcc_parent_data_0
),
1318 .flags
= CLK_SET_RATE_PARENT
,
1319 .ops
= &clk_rcg2_shared_ops
,
1323 static struct clk_rcg2 gcc_usb30_prim_mock_utmi_clk_src
= {
1324 .cmd_rcgr
= 0x39044,
1327 .parent_map
= gcc_parent_map_0
,
1328 .freq_tbl
= ftbl_gcc_pcie_0_aux_clk_src
,
1329 .clkr
.hw
.init
= &(const struct clk_init_data
) {
1330 .name
= "gcc_usb30_prim_mock_utmi_clk_src",
1331 .parent_data
= gcc_parent_data_0
,
1332 .num_parents
= ARRAY_SIZE(gcc_parent_data_0
),
1333 .flags
= CLK_SET_RATE_PARENT
,
1334 .ops
= &clk_rcg2_shared_ops
,
1338 static struct clk_rcg2 gcc_usb30_sec_master_clk_src
= {
1339 .cmd_rcgr
= 0xa102c,
1342 .parent_map
= gcc_parent_map_0
,
1343 .freq_tbl
= ftbl_gcc_usb30_mp_master_clk_src
,
1344 .clkr
.hw
.init
= &(const struct clk_init_data
) {
1345 .name
= "gcc_usb30_sec_master_clk_src",
1346 .parent_data
= gcc_parent_data_0
,
1347 .num_parents
= ARRAY_SIZE(gcc_parent_data_0
),
1348 .flags
= CLK_SET_RATE_PARENT
,
1349 .ops
= &clk_rcg2_shared_ops
,
1353 static struct clk_rcg2 gcc_usb30_sec_mock_utmi_clk_src
= {
1354 .cmd_rcgr
= 0xa1044,
1357 .parent_map
= gcc_parent_map_0
,
1358 .freq_tbl
= ftbl_gcc_pcie_0_aux_clk_src
,
1359 .clkr
.hw
.init
= &(const struct clk_init_data
) {
1360 .name
= "gcc_usb30_sec_mock_utmi_clk_src",
1361 .parent_data
= gcc_parent_data_0
,
1362 .num_parents
= ARRAY_SIZE(gcc_parent_data_0
),
1363 .flags
= CLK_SET_RATE_PARENT
,
1364 .ops
= &clk_rcg2_shared_ops
,
1368 static struct clk_rcg2 gcc_usb30_tert_master_clk_src
= {
1369 .cmd_rcgr
= 0xa202c,
1372 .parent_map
= gcc_parent_map_0
,
1373 .freq_tbl
= ftbl_gcc_usb30_mp_master_clk_src
,
1374 .clkr
.hw
.init
= &(const struct clk_init_data
) {
1375 .name
= "gcc_usb30_tert_master_clk_src",
1376 .parent_data
= gcc_parent_data_0
,
1377 .num_parents
= ARRAY_SIZE(gcc_parent_data_0
),
1378 .flags
= CLK_SET_RATE_PARENT
,
1379 .ops
= &clk_rcg2_shared_ops
,
1383 static struct clk_rcg2 gcc_usb30_tert_mock_utmi_clk_src
= {
1384 .cmd_rcgr
= 0xa2044,
1387 .parent_map
= gcc_parent_map_0
,
1388 .freq_tbl
= ftbl_gcc_pcie_0_aux_clk_src
,
1389 .clkr
.hw
.init
= &(const struct clk_init_data
) {
1390 .name
= "gcc_usb30_tert_mock_utmi_clk_src",
1391 .parent_data
= gcc_parent_data_0
,
1392 .num_parents
= ARRAY_SIZE(gcc_parent_data_0
),
1393 .flags
= CLK_SET_RATE_PARENT
,
1394 .ops
= &clk_rcg2_shared_ops
,
1398 static struct clk_rcg2 gcc_usb3_mp_phy_aux_clk_src
= {
1399 .cmd_rcgr
= 0x172a0,
1402 .parent_map
= gcc_parent_map_1
,
1403 .freq_tbl
= ftbl_gcc_pcie_0_aux_clk_src
,
1404 .clkr
.hw
.init
= &(const struct clk_init_data
) {
1405 .name
= "gcc_usb3_mp_phy_aux_clk_src",
1406 .parent_data
= gcc_parent_data_1
,
1407 .num_parents
= ARRAY_SIZE(gcc_parent_data_1
),
1408 .flags
= CLK_SET_RATE_PARENT
,
1409 .ops
= &clk_rcg2_shared_ops
,
1413 static struct clk_rcg2 gcc_usb3_prim_phy_aux_clk_src
= {
1414 .cmd_rcgr
= 0x39074,
1417 .parent_map
= gcc_parent_map_1
,
1418 .freq_tbl
= ftbl_gcc_pcie_0_aux_clk_src
,
1419 .clkr
.hw
.init
= &(const struct clk_init_data
) {
1420 .name
= "gcc_usb3_prim_phy_aux_clk_src",
1421 .parent_data
= gcc_parent_data_1
,
1422 .num_parents
= ARRAY_SIZE(gcc_parent_data_1
),
1423 .flags
= CLK_SET_RATE_PARENT
,
1424 .ops
= &clk_rcg2_shared_ops
,
1428 static struct clk_rcg2 gcc_usb3_sec_phy_aux_clk_src
= {
1429 .cmd_rcgr
= 0xa1074,
1432 .parent_map
= gcc_parent_map_1
,
1433 .freq_tbl
= ftbl_gcc_pcie_0_aux_clk_src
,
1434 .clkr
.hw
.init
= &(const struct clk_init_data
) {
1435 .name
= "gcc_usb3_sec_phy_aux_clk_src",
1436 .parent_data
= gcc_parent_data_1
,
1437 .num_parents
= ARRAY_SIZE(gcc_parent_data_1
),
1438 .flags
= CLK_SET_RATE_PARENT
,
1439 .ops
= &clk_rcg2_shared_ops
,
1443 static struct clk_rcg2 gcc_usb3_tert_phy_aux_clk_src
= {
1444 .cmd_rcgr
= 0xa2074,
1447 .parent_map
= gcc_parent_map_1
,
1448 .freq_tbl
= ftbl_gcc_pcie_0_aux_clk_src
,
1449 .clkr
.hw
.init
= &(const struct clk_init_data
) {
1450 .name
= "gcc_usb3_tert_phy_aux_clk_src",
1451 .parent_data
= gcc_parent_data_1
,
1452 .num_parents
= ARRAY_SIZE(gcc_parent_data_1
),
1453 .flags
= CLK_SET_RATE_PARENT
,
1454 .ops
= &clk_rcg2_shared_ops
,
1458 static const struct freq_tbl ftbl_gcc_usb4_0_master_clk_src
[] = {
1459 F(85714286, P_GCC_GPLL0_OUT_EVEN
, 3.5, 0, 0),
1460 F(175000000, P_GCC_GPLL8_OUT_MAIN
, 4, 0, 0),
1461 F(350000000, P_GCC_GPLL8_OUT_MAIN
, 2, 0, 0),
1465 static struct clk_rcg2 gcc_usb4_0_master_clk_src
= {
1466 .cmd_rcgr
= 0x9f024,
1469 .parent_map
= gcc_parent_map_4
,
1470 .freq_tbl
= ftbl_gcc_usb4_0_master_clk_src
,
1471 .clkr
.hw
.init
= &(const struct clk_init_data
) {
1472 .name
= "gcc_usb4_0_master_clk_src",
1473 .parent_data
= gcc_parent_data_4
,
1474 .num_parents
= ARRAY_SIZE(gcc_parent_data_4
),
1475 .flags
= CLK_SET_RATE_PARENT
,
1476 .ops
= &clk_rcg2_shared_ops
,
1480 static const struct freq_tbl ftbl_gcc_usb4_0_phy_pcie_pipe_clk_src
[] = {
1481 F(19200000, P_BI_TCXO
, 1, 0, 0),
1482 F(125000000, P_GCC_GPLL7_OUT_MAIN
, 8, 0, 0),
1483 F(250000000, P_GCC_GPLL7_OUT_MAIN
, 4, 0, 0),
1487 static struct clk_rcg2 gcc_usb4_0_phy_pcie_pipe_clk_src
= {
1488 .cmd_rcgr
= 0x9f0e8,
1491 .parent_map
= gcc_parent_map_5
,
1492 .freq_tbl
= ftbl_gcc_usb4_0_phy_pcie_pipe_clk_src
,
1493 .clkr
.hw
.init
= &(const struct clk_init_data
) {
1494 .name
= "gcc_usb4_0_phy_pcie_pipe_clk_src",
1495 .parent_data
= gcc_parent_data_5
,
1496 .num_parents
= ARRAY_SIZE(gcc_parent_data_5
),
1497 .flags
= CLK_SET_RATE_PARENT
,
1498 .ops
= &clk_rcg2_shared_ops
,
1502 static struct clk_rcg2 gcc_usb4_0_sb_if_clk_src
= {
1503 .cmd_rcgr
= 0x9f08c,
1506 .parent_map
= gcc_parent_map_3
,
1507 .freq_tbl
= ftbl_gcc_pcie_0_aux_clk_src
,
1508 .clkr
.hw
.init
= &(const struct clk_init_data
) {
1509 .name
= "gcc_usb4_0_sb_if_clk_src",
1510 .parent_data
= gcc_parent_data_3
,
1511 .num_parents
= ARRAY_SIZE(gcc_parent_data_3
),
1512 .flags
= CLK_SET_RATE_PARENT
,
1513 .ops
= &clk_rcg2_shared_ops
,
1517 static const struct freq_tbl ftbl_gcc_usb4_0_tmu_clk_src
[] = {
1518 F(19200000, P_BI_TCXO
, 1, 0, 0),
1519 F(250000000, P_GCC_GPLL7_OUT_MAIN
, 4, 0, 0),
1523 static struct clk_rcg2 gcc_usb4_0_tmu_clk_src
= {
1524 .cmd_rcgr
= 0x9f070,
1527 .parent_map
= gcc_parent_map_6
,
1528 .freq_tbl
= ftbl_gcc_usb4_0_tmu_clk_src
,
1529 .clkr
.hw
.init
= &(const struct clk_init_data
) {
1530 .name
= "gcc_usb4_0_tmu_clk_src",
1531 .parent_data
= gcc_parent_data_6
,
1532 .num_parents
= ARRAY_SIZE(gcc_parent_data_6
),
1533 .flags
= CLK_SET_RATE_PARENT
,
1534 .ops
= &clk_rcg2_shared_ops
,
1538 static struct clk_rcg2 gcc_usb4_1_master_clk_src
= {
1539 .cmd_rcgr
= 0x2b024,
1542 .parent_map
= gcc_parent_map_4
,
1543 .freq_tbl
= ftbl_gcc_usb4_0_master_clk_src
,
1544 .clkr
.hw
.init
= &(const struct clk_init_data
) {
1545 .name
= "gcc_usb4_1_master_clk_src",
1546 .parent_data
= gcc_parent_data_4
,
1547 .num_parents
= ARRAY_SIZE(gcc_parent_data_4
),
1548 .flags
= CLK_SET_RATE_PARENT
,
1549 .ops
= &clk_rcg2_shared_ops
,
1553 static struct clk_rcg2 gcc_usb4_1_phy_pcie_pipe_clk_src
= {
1554 .cmd_rcgr
= 0x2b0e8,
1557 .parent_map
= gcc_parent_map_5
,
1558 .freq_tbl
= ftbl_gcc_usb4_0_phy_pcie_pipe_clk_src
,
1559 .clkr
.hw
.init
= &(const struct clk_init_data
) {
1560 .name
= "gcc_usb4_1_phy_pcie_pipe_clk_src",
1561 .parent_data
= gcc_parent_data_5
,
1562 .num_parents
= ARRAY_SIZE(gcc_parent_data_5
),
1563 .flags
= CLK_SET_RATE_PARENT
,
1564 .ops
= &clk_rcg2_shared_ops
,
1568 static struct clk_rcg2 gcc_usb4_1_sb_if_clk_src
= {
1569 .cmd_rcgr
= 0x2b08c,
1572 .parent_map
= gcc_parent_map_3
,
1573 .freq_tbl
= ftbl_gcc_pcie_0_aux_clk_src
,
1574 .clkr
.hw
.init
= &(const struct clk_init_data
) {
1575 .name
= "gcc_usb4_1_sb_if_clk_src",
1576 .parent_data
= gcc_parent_data_3
,
1577 .num_parents
= ARRAY_SIZE(gcc_parent_data_3
),
1578 .flags
= CLK_SET_RATE_PARENT
,
1579 .ops
= &clk_rcg2_shared_ops
,
1583 static struct clk_rcg2 gcc_usb4_1_tmu_clk_src
= {
1584 .cmd_rcgr
= 0x2b070,
1587 .parent_map
= gcc_parent_map_6
,
1588 .freq_tbl
= ftbl_gcc_usb4_0_tmu_clk_src
,
1589 .clkr
.hw
.init
= &(const struct clk_init_data
) {
1590 .name
= "gcc_usb4_1_tmu_clk_src",
1591 .parent_data
= gcc_parent_data_6
,
1592 .num_parents
= ARRAY_SIZE(gcc_parent_data_6
),
1593 .flags
= CLK_SET_RATE_PARENT
,
1594 .ops
= &clk_rcg2_shared_ops
,
1598 static struct clk_rcg2 gcc_usb4_2_master_clk_src
= {
1599 .cmd_rcgr
= 0x11024,
1602 .parent_map
= gcc_parent_map_4
,
1603 .freq_tbl
= ftbl_gcc_usb4_0_master_clk_src
,
1604 .clkr
.hw
.init
= &(const struct clk_init_data
) {
1605 .name
= "gcc_usb4_2_master_clk_src",
1606 .parent_data
= gcc_parent_data_4
,
1607 .num_parents
= ARRAY_SIZE(gcc_parent_data_4
),
1608 .flags
= CLK_SET_RATE_PARENT
,
1609 .ops
= &clk_rcg2_shared_ops
,
1613 static struct clk_rcg2 gcc_usb4_2_phy_pcie_pipe_clk_src
= {
1614 .cmd_rcgr
= 0x110e8,
1617 .parent_map
= gcc_parent_map_5
,
1618 .freq_tbl
= ftbl_gcc_usb4_0_phy_pcie_pipe_clk_src
,
1619 .clkr
.hw
.init
= &(const struct clk_init_data
) {
1620 .name
= "gcc_usb4_2_phy_pcie_pipe_clk_src",
1621 .parent_data
= gcc_parent_data_5
,
1622 .num_parents
= ARRAY_SIZE(gcc_parent_data_5
),
1623 .flags
= CLK_SET_RATE_PARENT
,
1624 .ops
= &clk_rcg2_shared_ops
,
1628 static struct clk_rcg2 gcc_usb4_2_sb_if_clk_src
= {
1629 .cmd_rcgr
= 0x1108c,
1632 .parent_map
= gcc_parent_map_3
,
1633 .freq_tbl
= ftbl_gcc_pcie_0_aux_clk_src
,
1634 .clkr
.hw
.init
= &(const struct clk_init_data
) {
1635 .name
= "gcc_usb4_2_sb_if_clk_src",
1636 .parent_data
= gcc_parent_data_3
,
1637 .num_parents
= ARRAY_SIZE(gcc_parent_data_3
),
1638 .flags
= CLK_SET_RATE_PARENT
,
1639 .ops
= &clk_rcg2_shared_ops
,
1643 static struct clk_rcg2 gcc_usb4_2_tmu_clk_src
= {
1644 .cmd_rcgr
= 0x11070,
1647 .parent_map
= gcc_parent_map_6
,
1648 .freq_tbl
= ftbl_gcc_usb4_0_tmu_clk_src
,
1649 .clkr
.hw
.init
= &(const struct clk_init_data
) {
1650 .name
= "gcc_usb4_2_tmu_clk_src",
1651 .parent_data
= gcc_parent_data_6
,
1652 .num_parents
= ARRAY_SIZE(gcc_parent_data_6
),
1653 .flags
= CLK_SET_RATE_PARENT
,
1654 .ops
= &clk_rcg2_shared_ops
,
1658 static struct clk_regmap_phy_mux gcc_pcie_3_pipe_clk_src
= {
1661 .hw
.init
= &(struct clk_init_data
){
1662 .name
= "gcc_pcie_3_pipe_clk_src",
1663 .parent_data
= &(const struct clk_parent_data
){
1664 .index
= DT_PCIE_3_PIPE
,
1667 .ops
= &clk_regmap_phy_mux_ops
,
1672 static struct clk_regmap_div gcc_pcie_3_pipe_div_clk_src
= {
1676 .clkr
.hw
.init
= &(const struct clk_init_data
) {
1677 .name
= "gcc_pcie_3_pipe_div_clk_src",
1678 .parent_hws
= (const struct clk_hw
*[]) {
1679 &gcc_pcie_3_pipe_clk_src
.clkr
.hw
,
1682 .ops
= &clk_regmap_div_ro_ops
,
1686 static struct clk_regmap_phy_mux gcc_pcie_4_pipe_clk_src
= {
1689 .hw
.init
= &(struct clk_init_data
){
1690 .name
= "gcc_pcie_4_pipe_clk_src",
1691 .parent_data
= &(const struct clk_parent_data
){
1692 .index
= DT_PCIE_4_PIPE
,
1695 .ops
= &clk_regmap_phy_mux_ops
,
1700 static struct clk_regmap_div gcc_pcie_4_pipe_div_clk_src
= {
1704 .clkr
.hw
.init
= &(const struct clk_init_data
) {
1705 .name
= "gcc_pcie_4_pipe_div_clk_src",
1706 .parent_hws
= (const struct clk_hw
*[]) {
1707 &gcc_pcie_4_pipe_clk_src
.clkr
.hw
,
1710 .ops
= &clk_regmap_div_ro_ops
,
1714 static struct clk_regmap_phy_mux gcc_pcie_5_pipe_clk_src
= {
1717 .hw
.init
= &(struct clk_init_data
){
1718 .name
= "gcc_pcie_5_pipe_clk_src",
1719 .parent_data
= &(const struct clk_parent_data
){
1720 .index
= DT_PCIE_5_PIPE
,
1723 .ops
= &clk_regmap_phy_mux_ops
,
1728 static struct clk_regmap_div gcc_pcie_5_pipe_div_clk_src
= {
1732 .clkr
.hw
.init
= &(const struct clk_init_data
) {
1733 .name
= "gcc_pcie_5_pipe_div_clk_src",
1734 .parent_hws
= (const struct clk_hw
*[]) {
1735 &gcc_pcie_5_pipe_clk_src
.clkr
.hw
,
1738 .ops
= &clk_regmap_div_ro_ops
,
1742 static struct clk_regmap_phy_mux gcc_pcie_6a_pipe_clk_src
= {
1745 .hw
.init
= &(struct clk_init_data
){
1746 .name
= "gcc_pcie_6a_pipe_clk_src",
1747 .parent_data
= &(const struct clk_parent_data
){
1748 .index
= DT_PCIE_6A_PIPE
,
1751 .ops
= &clk_regmap_phy_mux_ops
,
1756 static struct clk_regmap_div gcc_pcie_6a_pipe_div_clk_src
= {
1760 .clkr
.hw
.init
= &(const struct clk_init_data
) {
1761 .name
= "gcc_pcie_6a_pipe_div_clk_src",
1762 .parent_hws
= (const struct clk_hw
*[]) {
1763 &gcc_pcie_6a_pipe_clk_src
.clkr
.hw
,
1766 .ops
= &clk_regmap_div_ro_ops
,
1770 static struct clk_regmap_phy_mux gcc_pcie_6b_pipe_clk_src
= {
1773 .hw
.init
= &(struct clk_init_data
){
1774 .name
= "gcc_pcie_6b_pipe_clk_src",
1775 .parent_data
= &(const struct clk_parent_data
){
1776 .index
= DT_PCIE_6B_PIPE
,
1779 .ops
= &clk_regmap_phy_mux_ops
,
1784 static struct clk_regmap_div gcc_pcie_6b_pipe_div_clk_src
= {
1788 .clkr
.hw
.init
= &(const struct clk_init_data
) {
1789 .name
= "gcc_pcie_6b_pipe_div_clk_src",
1790 .parent_hws
= (const struct clk_hw
*[]) {
1791 &gcc_pcie_6b_pipe_clk_src
.clkr
.hw
,
1794 .ops
= &clk_regmap_div_ro_ops
,
1798 static struct clk_regmap_div gcc_qupv3_wrap0_s2_div_clk_src
= {
1802 .clkr
.hw
.init
= &(const struct clk_init_data
) {
1803 .name
= "gcc_qupv3_wrap0_s2_div_clk_src",
1804 .parent_hws
= (const struct clk_hw
*[]) {
1805 &gcc_qupv3_wrap0_s2_clk_src
.clkr
.hw
,
1808 .flags
= CLK_SET_RATE_PARENT
,
1809 .ops
= &clk_regmap_div_ro_ops
,
1813 static struct clk_regmap_div gcc_qupv3_wrap0_s3_div_clk_src
= {
1817 .clkr
.hw
.init
= &(const struct clk_init_data
) {
1818 .name
= "gcc_qupv3_wrap0_s3_div_clk_src",
1819 .parent_hws
= (const struct clk_hw
*[]) {
1820 &gcc_qupv3_wrap0_s3_clk_src
.clkr
.hw
,
1823 .flags
= CLK_SET_RATE_PARENT
,
1824 .ops
= &clk_regmap_div_ro_ops
,
1828 static struct clk_regmap_div gcc_qupv3_wrap1_s2_div_clk_src
= {
1832 .clkr
.hw
.init
= &(const struct clk_init_data
) {
1833 .name
= "gcc_qupv3_wrap1_s2_div_clk_src",
1834 .parent_hws
= (const struct clk_hw
*[]) {
1835 &gcc_qupv3_wrap1_s2_clk_src
.clkr
.hw
,
1838 .flags
= CLK_SET_RATE_PARENT
,
1839 .ops
= &clk_regmap_div_ro_ops
,
1843 static struct clk_regmap_div gcc_qupv3_wrap1_s3_div_clk_src
= {
1847 .clkr
.hw
.init
= &(const struct clk_init_data
) {
1848 .name
= "gcc_qupv3_wrap1_s3_div_clk_src",
1849 .parent_hws
= (const struct clk_hw
*[]) {
1850 &gcc_qupv3_wrap1_s3_clk_src
.clkr
.hw
,
1853 .flags
= CLK_SET_RATE_PARENT
,
1854 .ops
= &clk_regmap_div_ro_ops
,
1858 static struct clk_regmap_div gcc_qupv3_wrap2_s2_div_clk_src
= {
1862 .clkr
.hw
.init
= &(const struct clk_init_data
) {
1863 .name
= "gcc_qupv3_wrap2_s2_div_clk_src",
1864 .parent_hws
= (const struct clk_hw
*[]) {
1865 &gcc_qupv3_wrap2_s2_clk_src
.clkr
.hw
,
1868 .flags
= CLK_SET_RATE_PARENT
,
1869 .ops
= &clk_regmap_div_ro_ops
,
1873 static struct clk_regmap_div gcc_qupv3_wrap2_s3_div_clk_src
= {
1877 .clkr
.hw
.init
= &(const struct clk_init_data
) {
1878 .name
= "gcc_qupv3_wrap2_s3_div_clk_src",
1879 .parent_hws
= (const struct clk_hw
*[]) {
1880 &gcc_qupv3_wrap2_s3_clk_src
.clkr
.hw
,
1883 .flags
= CLK_SET_RATE_PARENT
,
1884 .ops
= &clk_regmap_div_ro_ops
,
1888 static struct clk_regmap_div gcc_usb20_mock_utmi_postdiv_clk_src
= {
1892 .clkr
.hw
.init
= &(const struct clk_init_data
) {
1893 .name
= "gcc_usb20_mock_utmi_postdiv_clk_src",
1894 .parent_hws
= (const struct clk_hw
*[]) {
1895 &gcc_usb20_mock_utmi_clk_src
.clkr
.hw
,
1898 .flags
= CLK_SET_RATE_PARENT
,
1899 .ops
= &clk_regmap_div_ro_ops
,
1903 static struct clk_regmap_div gcc_usb30_mp_mock_utmi_postdiv_clk_src
= {
1907 .clkr
.hw
.init
= &(const struct clk_init_data
) {
1908 .name
= "gcc_usb30_mp_mock_utmi_postdiv_clk_src",
1909 .parent_hws
= (const struct clk_hw
*[]) {
1910 &gcc_usb30_mp_mock_utmi_clk_src
.clkr
.hw
,
1913 .flags
= CLK_SET_RATE_PARENT
,
1914 .ops
= &clk_regmap_div_ro_ops
,
1918 static struct clk_regmap_div gcc_usb30_prim_mock_utmi_postdiv_clk_src
= {
1922 .clkr
.hw
.init
= &(const struct clk_init_data
) {
1923 .name
= "gcc_usb30_prim_mock_utmi_postdiv_clk_src",
1924 .parent_hws
= (const struct clk_hw
*[]) {
1925 &gcc_usb30_prim_mock_utmi_clk_src
.clkr
.hw
,
1928 .flags
= CLK_SET_RATE_PARENT
,
1929 .ops
= &clk_regmap_div_ro_ops
,
1933 static struct clk_regmap_div gcc_usb30_sec_mock_utmi_postdiv_clk_src
= {
1937 .clkr
.hw
.init
= &(const struct clk_init_data
) {
1938 .name
= "gcc_usb30_sec_mock_utmi_postdiv_clk_src",
1939 .parent_hws
= (const struct clk_hw
*[]) {
1940 &gcc_usb30_sec_mock_utmi_clk_src
.clkr
.hw
,
1943 .flags
= CLK_SET_RATE_PARENT
,
1944 .ops
= &clk_regmap_div_ro_ops
,
1948 static struct clk_regmap_div gcc_usb30_tert_mock_utmi_postdiv_clk_src
= {
1952 .clkr
.hw
.init
= &(const struct clk_init_data
) {
1953 .name
= "gcc_usb30_tert_mock_utmi_postdiv_clk_src",
1954 .parent_hws
= (const struct clk_hw
*[]) {
1955 &gcc_usb30_tert_mock_utmi_clk_src
.clkr
.hw
,
1958 .flags
= CLK_SET_RATE_PARENT
,
1959 .ops
= &clk_regmap_div_ro_ops
,
1963 static struct clk_branch gcc_aggre_noc_usb_north_axi_clk
= {
1964 .halt_reg
= 0x2d17c,
1965 .halt_check
= BRANCH_HALT_VOTED
,
1966 .hwcg_reg
= 0x2d17c,
1969 .enable_reg
= 0x2d17c,
1970 .enable_mask
= BIT(0),
1971 .hw
.init
= &(const struct clk_init_data
) {
1972 .name
= "gcc_aggre_noc_usb_north_axi_clk",
1973 .ops
= &clk_branch2_ops
,
1978 static struct clk_branch gcc_aggre_noc_usb_south_axi_clk
= {
1979 .halt_reg
= 0x2d174,
1980 .halt_check
= BRANCH_HALT_VOTED
,
1981 .hwcg_reg
= 0x2d174,
1984 .enable_reg
= 0x2d174,
1985 .enable_mask
= BIT(0),
1986 .hw
.init
= &(const struct clk_init_data
) {
1987 .name
= "gcc_aggre_noc_usb_south_axi_clk",
1988 .ops
= &clk_branch2_ops
,
1993 static struct clk_branch gcc_aggre_ufs_phy_axi_clk
= {
1994 .halt_reg
= 0x770e4,
1995 .halt_check
= BRANCH_HALT_VOTED
,
1996 .hwcg_reg
= 0x770e4,
1999 .enable_reg
= 0x770e4,
2000 .enable_mask
= BIT(0),
2001 .hw
.init
= &(const struct clk_init_data
) {
2002 .name
= "gcc_aggre_ufs_phy_axi_clk",
2003 .parent_hws
= (const struct clk_hw
*[]) {
2004 &gcc_ufs_phy_axi_clk_src
.clkr
.hw
,
2007 .flags
= CLK_SET_RATE_PARENT
,
2008 .ops
= &clk_branch2_ops
,
2013 static struct clk_branch gcc_aggre_usb2_prim_axi_clk
= {
2014 .halt_reg
= 0x2928c,
2015 .halt_check
= BRANCH_HALT_VOTED
,
2016 .hwcg_reg
= 0x2928c,
2019 .enable_reg
= 0x2928c,
2020 .enable_mask
= BIT(0),
2021 .hw
.init
= &(const struct clk_init_data
) {
2022 .name
= "gcc_aggre_usb2_prim_axi_clk",
2023 .parent_hws
= (const struct clk_hw
*[]) {
2024 &gcc_usb20_master_clk_src
.clkr
.hw
,
2027 .flags
= CLK_SET_RATE_PARENT
,
2028 .ops
= &clk_branch2_ops
,
2033 static struct clk_branch gcc_aggre_usb3_mp_axi_clk
= {
2034 .halt_reg
= 0x173d0,
2035 .halt_check
= BRANCH_HALT_VOTED
,
2036 .hwcg_reg
= 0x173d0,
2039 .enable_reg
= 0x173d0,
2040 .enable_mask
= BIT(0),
2041 .hw
.init
= &(const struct clk_init_data
) {
2042 .name
= "gcc_aggre_usb3_mp_axi_clk",
2043 .parent_hws
= (const struct clk_hw
*[]) {
2044 &gcc_usb30_mp_master_clk_src
.clkr
.hw
,
2047 .flags
= CLK_SET_RATE_PARENT
,
2048 .ops
= &clk_branch2_ops
,
2053 static struct clk_branch gcc_aggre_usb3_prim_axi_clk
= {
2054 .halt_reg
= 0x39090,
2055 .halt_check
= BRANCH_HALT_VOTED
,
2056 .hwcg_reg
= 0x39090,
2059 .enable_reg
= 0x39090,
2060 .enable_mask
= BIT(0),
2061 .hw
.init
= &(const struct clk_init_data
) {
2062 .name
= "gcc_aggre_usb3_prim_axi_clk",
2063 .parent_hws
= (const struct clk_hw
*[]) {
2064 &gcc_usb30_prim_master_clk_src
.clkr
.hw
,
2067 .flags
= CLK_SET_RATE_PARENT
,
2068 .ops
= &clk_branch2_ops
,
2073 static struct clk_branch gcc_aggre_usb3_sec_axi_clk
= {
2074 .halt_reg
= 0xa1090,
2075 .halt_check
= BRANCH_HALT_VOTED
,
2076 .hwcg_reg
= 0xa1090,
2079 .enable_reg
= 0xa1090,
2080 .enable_mask
= BIT(0),
2081 .hw
.init
= &(const struct clk_init_data
) {
2082 .name
= "gcc_aggre_usb3_sec_axi_clk",
2083 .parent_hws
= (const struct clk_hw
*[]) {
2084 &gcc_usb30_sec_master_clk_src
.clkr
.hw
,
2087 .flags
= CLK_SET_RATE_PARENT
,
2088 .ops
= &clk_branch2_ops
,
2093 static struct clk_branch gcc_aggre_usb3_tert_axi_clk
= {
2094 .halt_reg
= 0xa2090,
2095 .halt_check
= BRANCH_HALT_VOTED
,
2096 .hwcg_reg
= 0xa2090,
2099 .enable_reg
= 0xa2090,
2100 .enable_mask
= BIT(0),
2101 .hw
.init
= &(const struct clk_init_data
) {
2102 .name
= "gcc_aggre_usb3_tert_axi_clk",
2103 .parent_hws
= (const struct clk_hw
*[]) {
2104 &gcc_usb30_tert_master_clk_src
.clkr
.hw
,
2107 .flags
= CLK_SET_RATE_PARENT
,
2108 .ops
= &clk_branch2_ops
,
2113 static struct clk_branch gcc_aggre_usb4_0_axi_clk
= {
2114 .halt_reg
= 0x9f118,
2115 .halt_check
= BRANCH_HALT_VOTED
,
2116 .hwcg_reg
= 0x9f118,
2119 .enable_reg
= 0x9f118,
2120 .enable_mask
= BIT(0),
2121 .hw
.init
= &(const struct clk_init_data
) {
2122 .name
= "gcc_aggre_usb4_0_axi_clk",
2123 .parent_hws
= (const struct clk_hw
*[]) {
2124 &gcc_usb4_0_master_clk_src
.clkr
.hw
,
2127 .flags
= CLK_SET_RATE_PARENT
,
2128 .ops
= &clk_branch2_ops
,
2133 static struct clk_branch gcc_aggre_usb4_1_axi_clk
= {
2134 .halt_reg
= 0x2b118,
2135 .halt_check
= BRANCH_HALT_VOTED
,
2136 .hwcg_reg
= 0x2b118,
2139 .enable_reg
= 0x2b118,
2140 .enable_mask
= BIT(0),
2141 .hw
.init
= &(const struct clk_init_data
) {
2142 .name
= "gcc_aggre_usb4_1_axi_clk",
2143 .parent_hws
= (const struct clk_hw
*[]) {
2144 &gcc_usb4_1_master_clk_src
.clkr
.hw
,
2147 .flags
= CLK_SET_RATE_PARENT
,
2148 .ops
= &clk_branch2_ops
,
2153 static struct clk_branch gcc_aggre_usb4_2_axi_clk
= {
2154 .halt_reg
= 0x11118,
2155 .halt_check
= BRANCH_HALT_VOTED
,
2156 .hwcg_reg
= 0x11118,
2159 .enable_reg
= 0x11118,
2160 .enable_mask
= BIT(0),
2161 .hw
.init
= &(const struct clk_init_data
) {
2162 .name
= "gcc_aggre_usb4_2_axi_clk",
2163 .parent_hws
= (const struct clk_hw
*[]) {
2164 &gcc_usb4_2_master_clk_src
.clkr
.hw
,
2167 .flags
= CLK_SET_RATE_PARENT
,
2168 .ops
= &clk_branch2_ops
,
2173 static struct clk_branch gcc_aggre_usb_noc_axi_clk
= {
2174 .halt_reg
= 0x2d034,
2175 .halt_check
= BRANCH_HALT_VOTED
,
2176 .hwcg_reg
= 0x2d034,
2179 .enable_reg
= 0x2d034,
2180 .enable_mask
= BIT(0),
2181 .hw
.init
= &(const struct clk_init_data
) {
2182 .name
= "gcc_aggre_usb_noc_axi_clk",
2183 .ops
= &clk_branch2_ops
,
2188 static struct clk_branch gcc_av1e_ahb_clk
= {
2189 .halt_reg
= 0x4a004,
2190 .halt_check
= BRANCH_HALT_VOTED
,
2191 .hwcg_reg
= 0x4a004,
2194 .enable_reg
= 0x4a004,
2195 .enable_mask
= BIT(0),
2196 .hw
.init
= &(const struct clk_init_data
) {
2197 .name
= "gcc_av1e_ahb_clk",
2198 .ops
= &clk_branch2_ops
,
2203 static struct clk_branch gcc_av1e_axi_clk
= {
2204 .halt_reg
= 0x4a008,
2205 .halt_check
= BRANCH_HALT_SKIP
,
2206 .hwcg_reg
= 0x4a008,
2209 .enable_reg
= 0x4a008,
2210 .enable_mask
= BIT(0),
2211 .hw
.init
= &(const struct clk_init_data
) {
2212 .name
= "gcc_av1e_axi_clk",
2213 .ops
= &clk_branch2_ops
,
2218 static struct clk_branch gcc_av1e_xo_clk
= {
2219 .halt_reg
= 0x4a014,
2220 .halt_check
= BRANCH_HALT
,
2222 .enable_reg
= 0x4a014,
2223 .enable_mask
= BIT(0),
2224 .hw
.init
= &(const struct clk_init_data
) {
2225 .name
= "gcc_av1e_xo_clk",
2226 .ops
= &clk_branch2_ops
,
2231 static struct clk_branch gcc_boot_rom_ahb_clk
= {
2232 .halt_reg
= 0x38004,
2233 .halt_check
= BRANCH_HALT_VOTED
,
2234 .hwcg_reg
= 0x38004,
2237 .enable_reg
= 0x52000,
2238 .enable_mask
= BIT(10),
2239 .hw
.init
= &(const struct clk_init_data
) {
2240 .name
= "gcc_boot_rom_ahb_clk",
2241 .ops
= &clk_branch2_ops
,
2246 static struct clk_branch gcc_camera_hf_axi_clk
= {
2247 .halt_reg
= 0x26010,
2248 .halt_check
= BRANCH_HALT_SKIP
,
2249 .hwcg_reg
= 0x26010,
2252 .enable_reg
= 0x26010,
2253 .enable_mask
= BIT(0),
2254 .hw
.init
= &(const struct clk_init_data
) {
2255 .name
= "gcc_camera_hf_axi_clk",
2256 .ops
= &clk_branch2_ops
,
2261 static struct clk_branch gcc_camera_sf_axi_clk
= {
2262 .halt_reg
= 0x2601c,
2263 .halt_check
= BRANCH_HALT_SKIP
,
2264 .hwcg_reg
= 0x2601c,
2267 .enable_reg
= 0x2601c,
2268 .enable_mask
= BIT(0),
2269 .hw
.init
= &(const struct clk_init_data
) {
2270 .name
= "gcc_camera_sf_axi_clk",
2271 .ops
= &clk_branch2_ops
,
2276 static struct clk_branch gcc_cfg_noc_pcie_anoc_ahb_clk
= {
2277 .halt_reg
= 0x10028,
2278 .halt_check
= BRANCH_HALT_VOTED
,
2279 .hwcg_reg
= 0x10028,
2282 .enable_reg
= 0x52028,
2283 .enable_mask
= BIT(20),
2284 .hw
.init
= &(const struct clk_init_data
) {
2285 .name
= "gcc_cfg_noc_pcie_anoc_ahb_clk",
2286 .ops
= &clk_branch2_ops
,
2291 static struct clk_branch gcc_cfg_noc_pcie_anoc_north_ahb_clk
= {
2292 .halt_reg
= 0x1002c,
2293 .halt_check
= BRANCH_HALT_VOTED
,
2294 .hwcg_reg
= 0x1002c,
2297 .enable_reg
= 0x52028,
2298 .enable_mask
= BIT(22),
2299 .hw
.init
= &(const struct clk_init_data
) {
2300 .name
= "gcc_cfg_noc_pcie_anoc_north_ahb_clk",
2301 .ops
= &clk_branch2_ops
,
2306 static struct clk_branch gcc_cfg_noc_pcie_anoc_south_ahb_clk
= {
2307 .halt_reg
= 0x10030,
2308 .halt_check
= BRANCH_HALT_VOTED
,
2309 .hwcg_reg
= 0x10030,
2312 .enable_reg
= 0x52000,
2313 .enable_mask
= BIT(20),
2314 .hw
.init
= &(const struct clk_init_data
) {
2315 .name
= "gcc_cfg_noc_pcie_anoc_south_ahb_clk",
2316 .ops
= &clk_branch2_ops
,
2321 static struct clk_branch gcc_cfg_noc_usb2_prim_axi_clk
= {
2322 .halt_reg
= 0x29288,
2323 .halt_check
= BRANCH_HALT_VOTED
,
2324 .hwcg_reg
= 0x29288,
2327 .enable_reg
= 0x29288,
2328 .enable_mask
= BIT(0),
2329 .hw
.init
= &(const struct clk_init_data
) {
2330 .name
= "gcc_cfg_noc_usb2_prim_axi_clk",
2331 .parent_hws
= (const struct clk_hw
*[]) {
2332 &gcc_usb20_master_clk_src
.clkr
.hw
,
2335 .flags
= CLK_SET_RATE_PARENT
,
2336 .ops
= &clk_branch2_ops
,
2341 static struct clk_branch gcc_cfg_noc_usb3_mp_axi_clk
= {
2342 .halt_reg
= 0x173cc,
2343 .halt_check
= BRANCH_HALT_VOTED
,
2344 .hwcg_reg
= 0x173cc,
2347 .enable_reg
= 0x173cc,
2348 .enable_mask
= BIT(0),
2349 .hw
.init
= &(const struct clk_init_data
) {
2350 .name
= "gcc_cfg_noc_usb3_mp_axi_clk",
2351 .parent_hws
= (const struct clk_hw
*[]) {
2352 &gcc_usb30_mp_master_clk_src
.clkr
.hw
,
2355 .flags
= CLK_SET_RATE_PARENT
,
2356 .ops
= &clk_branch2_ops
,
2361 static struct clk_branch gcc_cfg_noc_usb3_prim_axi_clk
= {
2362 .halt_reg
= 0x3908c,
2363 .halt_check
= BRANCH_HALT_VOTED
,
2364 .hwcg_reg
= 0x3908c,
2367 .enable_reg
= 0x3908c,
2368 .enable_mask
= BIT(0),
2369 .hw
.init
= &(const struct clk_init_data
) {
2370 .name
= "gcc_cfg_noc_usb3_prim_axi_clk",
2371 .parent_hws
= (const struct clk_hw
*[]) {
2372 &gcc_usb30_prim_master_clk_src
.clkr
.hw
,
2375 .flags
= CLK_SET_RATE_PARENT
,
2376 .ops
= &clk_branch2_ops
,
2381 static struct clk_branch gcc_cfg_noc_usb3_sec_axi_clk
= {
2382 .halt_reg
= 0xa108c,
2383 .halt_check
= BRANCH_HALT_VOTED
,
2384 .hwcg_reg
= 0xa108c,
2387 .enable_reg
= 0xa108c,
2388 .enable_mask
= BIT(0),
2389 .hw
.init
= &(const struct clk_init_data
) {
2390 .name
= "gcc_cfg_noc_usb3_sec_axi_clk",
2391 .parent_hws
= (const struct clk_hw
*[]) {
2392 &gcc_usb30_sec_master_clk_src
.clkr
.hw
,
2395 .flags
= CLK_SET_RATE_PARENT
,
2396 .ops
= &clk_branch2_ops
,
2401 static struct clk_branch gcc_cfg_noc_usb3_tert_axi_clk
= {
2402 .halt_reg
= 0xa208c,
2403 .halt_check
= BRANCH_HALT_VOTED
,
2404 .hwcg_reg
= 0xa208c,
2407 .enable_reg
= 0xa208c,
2408 .enable_mask
= BIT(0),
2409 .hw
.init
= &(const struct clk_init_data
) {
2410 .name
= "gcc_cfg_noc_usb3_tert_axi_clk",
2411 .parent_hws
= (const struct clk_hw
*[]) {
2412 &gcc_usb30_tert_master_clk_src
.clkr
.hw
,
2415 .flags
= CLK_SET_RATE_PARENT
,
2416 .ops
= &clk_branch2_ops
,
2421 static struct clk_branch gcc_cfg_noc_usb_anoc_ahb_clk
= {
2422 .halt_reg
= 0x2d024,
2423 .halt_check
= BRANCH_HALT_VOTED
,
2424 .hwcg_reg
= 0x2d024,
2427 .enable_reg
= 0x52028,
2428 .enable_mask
= BIT(21),
2429 .hw
.init
= &(const struct clk_init_data
) {
2430 .name
= "gcc_cfg_noc_usb_anoc_ahb_clk",
2431 .ops
= &clk_branch2_ops
,
2436 static struct clk_branch gcc_cfg_noc_usb_anoc_north_ahb_clk
= {
2437 .halt_reg
= 0x2d028,
2438 .halt_check
= BRANCH_HALT_VOTED
,
2439 .hwcg_reg
= 0x2d028,
2442 .enable_reg
= 0x52028,
2443 .enable_mask
= BIT(23),
2444 .hw
.init
= &(const struct clk_init_data
) {
2445 .name
= "gcc_cfg_noc_usb_anoc_north_ahb_clk",
2446 .ops
= &clk_branch2_ops
,
2451 static struct clk_branch gcc_cfg_noc_usb_anoc_south_ahb_clk
= {
2452 .halt_reg
= 0x2d02c,
2453 .halt_check
= BRANCH_HALT_VOTED
,
2454 .hwcg_reg
= 0x2d02c,
2457 .enable_reg
= 0x52018,
2458 .enable_mask
= BIT(7),
2459 .hw
.init
= &(const struct clk_init_data
) {
2460 .name
= "gcc_cfg_noc_usb_anoc_south_ahb_clk",
2461 .ops
= &clk_branch2_ops
,
2466 static struct clk_branch gcc_cnoc_pcie1_tunnel_clk
= {
2467 .halt_reg
= 0x2c2b4,
2468 .halt_check
= BRANCH_HALT_VOTED
,
2470 .enable_reg
= 0x52010,
2471 .enable_mask
= BIT(30),
2472 .hw
.init
= &(const struct clk_init_data
) {
2473 .name
= "gcc_cnoc_pcie1_tunnel_clk",
2474 .ops
= &clk_branch2_ops
,
2479 static struct clk_branch gcc_cnoc_pcie2_tunnel_clk
= {
2480 .halt_reg
= 0x132b4,
2481 .halt_check
= BRANCH_HALT_VOTED
,
2483 .enable_reg
= 0x52010,
2484 .enable_mask
= BIT(31),
2485 .hw
.init
= &(const struct clk_init_data
) {
2486 .name
= "gcc_cnoc_pcie2_tunnel_clk",
2487 .ops
= &clk_branch2_ops
,
2492 static struct clk_branch gcc_cnoc_pcie_north_sf_axi_clk
= {
2493 .halt_reg
= 0x10014,
2494 .halt_check
= BRANCH_HALT_VOTED
,
2495 .hwcg_reg
= 0x10014,
2498 .enable_reg
= 0x52008,
2499 .enable_mask
= BIT(6),
2500 .hw
.init
= &(const struct clk_init_data
) {
2501 .name
= "gcc_cnoc_pcie_north_sf_axi_clk",
2502 .ops
= &clk_branch2_ops
,
2507 static struct clk_branch gcc_cnoc_pcie_south_sf_axi_clk
= {
2508 .halt_reg
= 0x10018,
2509 .halt_check
= BRANCH_HALT_VOTED
,
2510 .hwcg_reg
= 0x10018,
2513 .enable_reg
= 0x52028,
2514 .enable_mask
= BIT(12),
2515 .hw
.init
= &(const struct clk_init_data
) {
2516 .name
= "gcc_cnoc_pcie_south_sf_axi_clk",
2517 .ops
= &clk_branch2_ops
,
2522 static struct clk_branch gcc_cnoc_pcie_tunnel_clk
= {
2523 .halt_reg
= 0xa02b4,
2524 .halt_check
= BRANCH_HALT_VOTED
,
2525 .hwcg_reg
= 0xa02b4,
2528 .enable_reg
= 0x52010,
2529 .enable_mask
= BIT(29),
2530 .hw
.init
= &(const struct clk_init_data
) {
2531 .name
= "gcc_cnoc_pcie_tunnel_clk",
2532 .ops
= &clk_branch2_ops
,
2537 static struct clk_branch gcc_ddrss_gpu_axi_clk
= {
2538 .halt_reg
= 0x7115c,
2539 .halt_check
= BRANCH_HALT_SKIP
,
2540 .hwcg_reg
= 0x7115c,
2543 .enable_reg
= 0x7115c,
2544 .enable_mask
= BIT(0),
2545 .hw
.init
= &(const struct clk_init_data
) {
2546 .name
= "gcc_ddrss_gpu_axi_clk",
2547 .ops
= &clk_branch2_ops
,
2552 static struct clk_branch gcc_disp_hf_axi_clk
= {
2553 .halt_reg
= 0x2700c,
2554 .halt_check
= BRANCH_HALT_SKIP
,
2555 .hwcg_reg
= 0x2700c,
2558 .enable_reg
= 0x2700c,
2559 .enable_mask
= BIT(0),
2560 .hw
.init
= &(const struct clk_init_data
) {
2561 .name
= "gcc_disp_hf_axi_clk",
2562 .ops
= &clk_branch2_ops
,
2567 static struct clk_branch gcc_disp_xo_clk
= {
2568 .halt_reg
= 0x27018,
2569 .halt_check
= BRANCH_HALT
,
2571 .enable_reg
= 0x27018,
2572 .enable_mask
= BIT(0),
2573 .hw
.init
= &(const struct clk_init_data
) {
2574 .name
= "gcc_disp_xo_clk",
2575 .ops
= &clk_branch2_ops
,
2580 static struct clk_branch gcc_gp1_clk
= {
2581 .halt_reg
= 0x64000,
2582 .halt_check
= BRANCH_HALT
,
2584 .enable_reg
= 0x64000,
2585 .enable_mask
= BIT(0),
2586 .hw
.init
= &(const struct clk_init_data
) {
2587 .name
= "gcc_gp1_clk",
2588 .parent_hws
= (const struct clk_hw
*[]) {
2589 &gcc_gp1_clk_src
.clkr
.hw
,
2592 .flags
= CLK_SET_RATE_PARENT
,
2593 .ops
= &clk_branch2_ops
,
2598 static struct clk_branch gcc_gp2_clk
= {
2599 .halt_reg
= 0x65000,
2600 .halt_check
= BRANCH_HALT
,
2602 .enable_reg
= 0x65000,
2603 .enable_mask
= BIT(0),
2604 .hw
.init
= &(const struct clk_init_data
) {
2605 .name
= "gcc_gp2_clk",
2606 .parent_hws
= (const struct clk_hw
*[]) {
2607 &gcc_gp2_clk_src
.clkr
.hw
,
2610 .flags
= CLK_SET_RATE_PARENT
,
2611 .ops
= &clk_branch2_ops
,
2616 static struct clk_branch gcc_gp3_clk
= {
2617 .halt_reg
= 0x66000,
2618 .halt_check
= BRANCH_HALT
,
2620 .enable_reg
= 0x66000,
2621 .enable_mask
= BIT(0),
2622 .hw
.init
= &(const struct clk_init_data
) {
2623 .name
= "gcc_gp3_clk",
2624 .parent_hws
= (const struct clk_hw
*[]) {
2625 &gcc_gp3_clk_src
.clkr
.hw
,
2628 .flags
= CLK_SET_RATE_PARENT
,
2629 .ops
= &clk_branch2_ops
,
2634 static struct clk_branch gcc_gpu_cfg_ahb_clk
= {
2635 .halt_reg
= 0x71004,
2636 .halt_check
= BRANCH_HALT_VOTED
,
2637 .hwcg_reg
= 0x71004,
2640 .enable_reg
= 0x71004,
2641 .enable_mask
= BIT(0),
2642 .hw
.init
= &(const struct clk_init_data
) {
2643 .name
= "gcc_gpu_cfg_ahb_clk",
2644 .ops
= &clk_branch2_ops
,
2649 static struct clk_branch gcc_gpu_gpll0_cph_clk_src
= {
2650 .halt_check
= BRANCH_HALT_DELAY
,
2652 .enable_reg
= 0x52000,
2653 .enable_mask
= BIT(15),
2654 .hw
.init
= &(const struct clk_init_data
) {
2655 .name
= "gcc_gpu_gpll0_cph_clk_src",
2656 .parent_hws
= (const struct clk_hw
*[]) {
2660 .flags
= CLK_SET_RATE_PARENT
,
2661 .ops
= &clk_branch2_ops
,
2666 static struct clk_branch gcc_gpu_gpll0_div_cph_clk_src
= {
2667 .halt_check
= BRANCH_HALT_DELAY
,
2669 .enable_reg
= 0x52000,
2670 .enable_mask
= BIT(16),
2671 .hw
.init
= &(const struct clk_init_data
) {
2672 .name
= "gcc_gpu_gpll0_div_cph_clk_src",
2673 .parent_hws
= (const struct clk_hw
*[]) {
2674 &gcc_gpll0_out_even
.clkr
.hw
,
2677 .flags
= CLK_SET_RATE_PARENT
,
2678 .ops
= &clk_branch2_ops
,
2683 static struct clk_branch gcc_gpu_memnoc_gfx_clk
= {
2684 .halt_reg
= 0x71010,
2685 .halt_check
= BRANCH_HALT_VOTED
,
2686 .hwcg_reg
= 0x71010,
2689 .enable_reg
= 0x71010,
2690 .enable_mask
= BIT(0),
2691 .hw
.init
= &(const struct clk_init_data
) {
2692 .name
= "gcc_gpu_memnoc_gfx_clk",
2693 .ops
= &clk_branch2_ops
,
2698 static struct clk_branch gcc_gpu_snoc_dvm_gfx_clk
= {
2699 .halt_reg
= 0x71018,
2700 .halt_check
= BRANCH_HALT
,
2702 .enable_reg
= 0x71018,
2703 .enable_mask
= BIT(0),
2704 .hw
.init
= &(const struct clk_init_data
) {
2705 .name
= "gcc_gpu_snoc_dvm_gfx_clk",
2706 .ops
= &clk_branch2_ops
,
2711 static struct clk_branch gcc_pcie0_phy_rchng_clk
= {
2712 .halt_reg
= 0xa0050,
2713 .halt_check
= BRANCH_HALT_VOTED
,
2715 .enable_reg
= 0x52010,
2716 .enable_mask
= BIT(26),
2717 .hw
.init
= &(const struct clk_init_data
) {
2718 .name
= "gcc_pcie0_phy_rchng_clk",
2719 .parent_hws
= (const struct clk_hw
*[]) {
2720 &gcc_pcie_0_phy_rchng_clk_src
.clkr
.hw
,
2723 .flags
= CLK_SET_RATE_PARENT
,
2724 .ops
= &clk_branch2_ops
,
2729 static struct clk_branch gcc_pcie1_phy_rchng_clk
= {
2730 .halt_reg
= 0x2c050,
2731 .halt_check
= BRANCH_HALT_VOTED
,
2733 .enable_reg
= 0x52020,
2734 .enable_mask
= BIT(31),
2735 .hw
.init
= &(const struct clk_init_data
) {
2736 .name
= "gcc_pcie1_phy_rchng_clk",
2737 .parent_hws
= (const struct clk_hw
*[]) {
2738 &gcc_pcie_1_phy_rchng_clk_src
.clkr
.hw
,
2741 .flags
= CLK_SET_RATE_PARENT
,
2742 .ops
= &clk_branch2_ops
,
2747 static struct clk_branch gcc_pcie2_phy_rchng_clk
= {
2748 .halt_reg
= 0x13050,
2749 .halt_check
= BRANCH_HALT_VOTED
,
2751 .enable_reg
= 0x52020,
2752 .enable_mask
= BIT(24),
2753 .hw
.init
= &(const struct clk_init_data
) {
2754 .name
= "gcc_pcie2_phy_rchng_clk",
2755 .parent_hws
= (const struct clk_hw
*[]) {
2756 &gcc_pcie_2_phy_rchng_clk_src
.clkr
.hw
,
2759 .flags
= CLK_SET_RATE_PARENT
,
2760 .ops
= &clk_branch2_ops
,
2765 static struct clk_branch gcc_pcie_0_aux_clk
= {
2766 .halt_reg
= 0xa0038,
2767 .halt_check
= BRANCH_HALT_VOTED
,
2769 .enable_reg
= 0x52010,
2770 .enable_mask
= BIT(24),
2771 .hw
.init
= &(const struct clk_init_data
) {
2772 .name
= "gcc_pcie_0_aux_clk",
2773 .parent_hws
= (const struct clk_hw
*[]) {
2774 &gcc_pcie_0_aux_clk_src
.clkr
.hw
,
2777 .flags
= CLK_SET_RATE_PARENT
,
2778 .ops
= &clk_branch2_ops
,
2783 static struct clk_branch gcc_pcie_0_cfg_ahb_clk
= {
2784 .halt_reg
= 0xa0034,
2785 .halt_check
= BRANCH_HALT_VOTED
,
2786 .hwcg_reg
= 0xa0034,
2789 .enable_reg
= 0x52010,
2790 .enable_mask
= BIT(23),
2791 .hw
.init
= &(const struct clk_init_data
) {
2792 .name
= "gcc_pcie_0_cfg_ahb_clk",
2793 .ops
= &clk_branch2_ops
,
2798 static struct clk_branch gcc_pcie_0_mstr_axi_clk
= {
2799 .halt_reg
= 0xa0028,
2800 .halt_check
= BRANCH_HALT_SKIP
,
2801 .hwcg_reg
= 0xa0028,
2804 .enable_reg
= 0x52010,
2805 .enable_mask
= BIT(22),
2806 .hw
.init
= &(const struct clk_init_data
) {
2807 .name
= "gcc_pcie_0_mstr_axi_clk",
2808 .ops
= &clk_branch2_ops
,
2813 static struct clk_branch gcc_pcie_0_pipe_clk
= {
2814 .halt_reg
= 0xa0044,
2815 .halt_check
= BRANCH_HALT_SKIP
,
2817 .enable_reg
= 0x52010,
2818 .enable_mask
= BIT(25),
2819 .hw
.init
= &(const struct clk_init_data
) {
2820 .name
= "gcc_pcie_0_pipe_clk",
2821 .ops
= &clk_branch2_ops
,
2826 static struct clk_branch gcc_pcie_0_slv_axi_clk
= {
2827 .halt_reg
= 0xa001c,
2828 .halt_check
= BRANCH_HALT_VOTED
,
2829 .hwcg_reg
= 0xa001c,
2832 .enable_reg
= 0x52010,
2833 .enable_mask
= BIT(21),
2834 .hw
.init
= &(const struct clk_init_data
) {
2835 .name
= "gcc_pcie_0_slv_axi_clk",
2836 .ops
= &clk_branch2_ops
,
2841 static struct clk_branch gcc_pcie_0_slv_q2a_axi_clk
= {
2842 .halt_reg
= 0xa0018,
2843 .halt_check
= BRANCH_HALT_VOTED
,
2845 .enable_reg
= 0x52010,
2846 .enable_mask
= BIT(20),
2847 .hw
.init
= &(const struct clk_init_data
) {
2848 .name
= "gcc_pcie_0_slv_q2a_axi_clk",
2849 .ops
= &clk_branch2_ops
,
2854 static struct clk_branch gcc_pcie_1_aux_clk
= {
2855 .halt_reg
= 0x2c038,
2856 .halt_check
= BRANCH_HALT_VOTED
,
2858 .enable_reg
= 0x52020,
2859 .enable_mask
= BIT(29),
2860 .hw
.init
= &(const struct clk_init_data
) {
2861 .name
= "gcc_pcie_1_aux_clk",
2862 .parent_hws
= (const struct clk_hw
*[]) {
2863 &gcc_pcie_1_aux_clk_src
.clkr
.hw
,
2866 .flags
= CLK_SET_RATE_PARENT
,
2867 .ops
= &clk_branch2_ops
,
2872 static struct clk_branch gcc_pcie_1_cfg_ahb_clk
= {
2873 .halt_reg
= 0x2c034,
2874 .halt_check
= BRANCH_HALT_VOTED
,
2875 .hwcg_reg
= 0x2c034,
2878 .enable_reg
= 0x52020,
2879 .enable_mask
= BIT(28),
2880 .hw
.init
= &(const struct clk_init_data
) {
2881 .name
= "gcc_pcie_1_cfg_ahb_clk",
2882 .ops
= &clk_branch2_ops
,
2887 static struct clk_branch gcc_pcie_1_mstr_axi_clk
= {
2888 .halt_reg
= 0x2c028,
2889 .halt_check
= BRANCH_HALT_SKIP
,
2890 .hwcg_reg
= 0x2c028,
2893 .enable_reg
= 0x52020,
2894 .enable_mask
= BIT(27),
2895 .hw
.init
= &(const struct clk_init_data
) {
2896 .name
= "gcc_pcie_1_mstr_axi_clk",
2897 .ops
= &clk_branch2_ops
,
2902 static struct clk_branch gcc_pcie_1_pipe_clk
= {
2903 .halt_reg
= 0x2c044,
2904 .halt_check
= BRANCH_HALT_SKIP
,
2906 .enable_reg
= 0x52020,
2907 .enable_mask
= BIT(30),
2908 .hw
.init
= &(const struct clk_init_data
) {
2909 .name
= "gcc_pcie_1_pipe_clk",
2910 .ops
= &clk_branch2_ops
,
2915 static struct clk_branch gcc_pcie_1_slv_axi_clk
= {
2916 .halt_reg
= 0x2c01c,
2917 .halt_check
= BRANCH_HALT_VOTED
,
2918 .hwcg_reg
= 0x2c01c,
2921 .enable_reg
= 0x52020,
2922 .enable_mask
= BIT(26),
2923 .hw
.init
= &(const struct clk_init_data
) {
2924 .name
= "gcc_pcie_1_slv_axi_clk",
2925 .ops
= &clk_branch2_ops
,
2930 static struct clk_branch gcc_pcie_1_slv_q2a_axi_clk
= {
2931 .halt_reg
= 0x2c018,
2932 .halt_check
= BRANCH_HALT_VOTED
,
2934 .enable_reg
= 0x52020,
2935 .enable_mask
= BIT(25),
2936 .hw
.init
= &(const struct clk_init_data
) {
2937 .name
= "gcc_pcie_1_slv_q2a_axi_clk",
2938 .ops
= &clk_branch2_ops
,
2943 static struct clk_branch gcc_pcie_2_aux_clk
= {
2944 .halt_reg
= 0x13038,
2945 .halt_check
= BRANCH_HALT_VOTED
,
2947 .enable_reg
= 0x52020,
2948 .enable_mask
= BIT(22),
2949 .hw
.init
= &(const struct clk_init_data
) {
2950 .name
= "gcc_pcie_2_aux_clk",
2951 .parent_hws
= (const struct clk_hw
*[]) {
2952 &gcc_pcie_2_aux_clk_src
.clkr
.hw
,
2955 .flags
= CLK_SET_RATE_PARENT
,
2956 .ops
= &clk_branch2_ops
,
2961 static struct clk_branch gcc_pcie_2_cfg_ahb_clk
= {
2962 .halt_reg
= 0x13034,
2963 .halt_check
= BRANCH_HALT_VOTED
,
2964 .hwcg_reg
= 0x13034,
2967 .enable_reg
= 0x52020,
2968 .enable_mask
= BIT(21),
2969 .hw
.init
= &(const struct clk_init_data
) {
2970 .name
= "gcc_pcie_2_cfg_ahb_clk",
2971 .ops
= &clk_branch2_ops
,
2976 static struct clk_branch gcc_pcie_2_mstr_axi_clk
= {
2977 .halt_reg
= 0x13028,
2978 .halt_check
= BRANCH_HALT_SKIP
,
2979 .hwcg_reg
= 0x13028,
2982 .enable_reg
= 0x52020,
2983 .enable_mask
= BIT(20),
2984 .hw
.init
= &(const struct clk_init_data
) {
2985 .name
= "gcc_pcie_2_mstr_axi_clk",
2986 .ops
= &clk_branch2_ops
,
2991 static struct clk_branch gcc_pcie_2_pipe_clk
= {
2992 .halt_reg
= 0x13044,
2993 .halt_check
= BRANCH_HALT_SKIP
,
2995 .enable_reg
= 0x52020,
2996 .enable_mask
= BIT(23),
2997 .hw
.init
= &(const struct clk_init_data
) {
2998 .name
= "gcc_pcie_2_pipe_clk",
2999 .ops
= &clk_branch2_ops
,
3004 static struct clk_branch gcc_pcie_2_slv_axi_clk
= {
3005 .halt_reg
= 0x1301c,
3006 .halt_check
= BRANCH_HALT_VOTED
,
3007 .hwcg_reg
= 0x1301c,
3010 .enable_reg
= 0x52020,
3011 .enable_mask
= BIT(19),
3012 .hw
.init
= &(const struct clk_init_data
) {
3013 .name
= "gcc_pcie_2_slv_axi_clk",
3014 .ops
= &clk_branch2_ops
,
3019 static struct clk_branch gcc_pcie_2_slv_q2a_axi_clk
= {
3020 .halt_reg
= 0x13018,
3021 .halt_check
= BRANCH_HALT_VOTED
,
3023 .enable_reg
= 0x52020,
3024 .enable_mask
= BIT(18),
3025 .hw
.init
= &(const struct clk_init_data
) {
3026 .name
= "gcc_pcie_2_slv_q2a_axi_clk",
3027 .ops
= &clk_branch2_ops
,
3032 static struct clk_branch gcc_pcie_3_aux_clk
= {
3033 .halt_reg
= 0x58038,
3034 .halt_check
= BRANCH_HALT_VOTED
,
3036 .enable_reg
= 0x52020,
3037 .enable_mask
= BIT(1),
3038 .hw
.init
= &(const struct clk_init_data
) {
3039 .name
= "gcc_pcie_3_aux_clk",
3040 .parent_hws
= (const struct clk_hw
*[]) {
3041 &gcc_pcie_3_aux_clk_src
.clkr
.hw
,
3044 .flags
= CLK_SET_RATE_PARENT
,
3045 .ops
= &clk_branch2_ops
,
3050 static struct clk_branch gcc_pcie_3_cfg_ahb_clk
= {
3051 .halt_reg
= 0x58034,
3052 .halt_check
= BRANCH_HALT_VOTED
,
3053 .hwcg_reg
= 0x58034,
3056 .enable_reg
= 0x52020,
3057 .enable_mask
= BIT(0),
3058 .hw
.init
= &(const struct clk_init_data
) {
3059 .name
= "gcc_pcie_3_cfg_ahb_clk",
3060 .ops
= &clk_branch2_ops
,
3065 static struct clk_branch gcc_pcie_3_mstr_axi_clk
= {
3066 .halt_reg
= 0x58028,
3067 .halt_check
= BRANCH_HALT_SKIP
,
3068 .hwcg_reg
= 0x58028,
3071 .enable_reg
= 0x52018,
3072 .enable_mask
= BIT(31),
3073 .hw
.init
= &(const struct clk_init_data
) {
3074 .name
= "gcc_pcie_3_mstr_axi_clk",
3075 .ops
= &clk_branch2_ops
,
3080 static struct clk_branch gcc_pcie_3_phy_aux_clk
= {
3081 .halt_reg
= 0x58044,
3082 .halt_check
= BRANCH_HALT_VOTED
,
3084 .enable_reg
= 0x52020,
3085 .enable_mask
= BIT(2),
3086 .hw
.init
= &(const struct clk_init_data
) {
3087 .name
= "gcc_pcie_3_phy_aux_clk",
3088 .ops
= &clk_branch2_ops
,
3093 static struct clk_branch gcc_pcie_3_phy_rchng_clk
= {
3094 .halt_reg
= 0x5805c,
3095 .halt_check
= BRANCH_HALT_VOTED
,
3097 .enable_reg
= 0x52020,
3098 .enable_mask
= BIT(4),
3099 .hw
.init
= &(const struct clk_init_data
) {
3100 .name
= "gcc_pcie_3_phy_rchng_clk",
3101 .parent_hws
= (const struct clk_hw
*[]) {
3102 &gcc_pcie_3_phy_rchng_clk_src
.clkr
.hw
,
3105 .flags
= CLK_SET_RATE_PARENT
,
3106 .ops
= &clk_branch2_ops
,
3111 static struct clk_branch gcc_pcie_3_pipe_clk
= {
3112 .halt_reg
= 0x58050,
3113 .halt_check
= BRANCH_HALT_SKIP
,
3115 .enable_reg
= 0x52020,
3116 .enable_mask
= BIT(3),
3117 .hw
.init
= &(const struct clk_init_data
) {
3118 .name
= "gcc_pcie_3_pipe_clk",
3119 .ops
= &clk_branch2_ops
,
3124 static struct clk_branch gcc_pcie_3_pipediv2_clk
= {
3125 .halt_reg
= 0x58060,
3126 .halt_check
= BRANCH_HALT_SKIP
,
3128 .enable_reg
= 0x52020,
3129 .enable_mask
= BIT(5),
3130 .hw
.init
= &(const struct clk_init_data
) {
3131 .name
= "gcc_pcie_3_pipediv2_clk",
3132 .parent_hws
= (const struct clk_hw
*[]) {
3133 &gcc_pcie_3_pipe_div_clk_src
.clkr
.hw
,
3136 .flags
= CLK_SET_RATE_PARENT
,
3137 .ops
= &clk_branch2_ops
,
3142 static struct clk_branch gcc_pcie_3_slv_axi_clk
= {
3143 .halt_reg
= 0x5801c,
3144 .halt_check
= BRANCH_HALT_VOTED
,
3145 .hwcg_reg
= 0x5801c,
3148 .enable_reg
= 0x52018,
3149 .enable_mask
= BIT(30),
3150 .hw
.init
= &(const struct clk_init_data
) {
3151 .name
= "gcc_pcie_3_slv_axi_clk",
3152 .ops
= &clk_branch2_ops
,
3157 static struct clk_branch gcc_pcie_3_slv_q2a_axi_clk
= {
3158 .halt_reg
= 0x58018,
3159 .halt_check
= BRANCH_HALT_VOTED
,
3161 .enable_reg
= 0x52018,
3162 .enable_mask
= BIT(29),
3163 .hw
.init
= &(const struct clk_init_data
) {
3164 .name
= "gcc_pcie_3_slv_q2a_axi_clk",
3165 .ops
= &clk_branch2_ops
,
3170 static struct clk_branch gcc_pcie_4_aux_clk
= {
3171 .halt_reg
= 0x6b038,
3172 .halt_check
= BRANCH_HALT_VOTED
,
3174 .enable_reg
= 0x52008,
3175 .enable_mask
= BIT(3),
3176 .hw
.init
= &(const struct clk_init_data
) {
3177 .name
= "gcc_pcie_4_aux_clk",
3178 .parent_hws
= (const struct clk_hw
*[]) {
3179 &gcc_pcie_4_aux_clk_src
.clkr
.hw
,
3182 .flags
= CLK_SET_RATE_PARENT
,
3183 .ops
= &clk_branch2_ops
,
3188 static struct clk_branch gcc_pcie_4_cfg_ahb_clk
= {
3189 .halt_reg
= 0x6b034,
3190 .halt_check
= BRANCH_HALT_VOTED
,
3191 .hwcg_reg
= 0x6b034,
3194 .enable_reg
= 0x52008,
3195 .enable_mask
= BIT(2),
3196 .hw
.init
= &(const struct clk_init_data
) {
3197 .name
= "gcc_pcie_4_cfg_ahb_clk",
3198 .ops
= &clk_branch2_ops
,
3203 static struct clk_branch gcc_pcie_4_mstr_axi_clk
= {
3204 .halt_reg
= 0x6b028,
3205 .halt_check
= BRANCH_HALT_SKIP
,
3206 .hwcg_reg
= 0x6b028,
3209 .enable_reg
= 0x52008,
3210 .enable_mask
= BIT(1),
3211 .hw
.init
= &(const struct clk_init_data
) {
3212 .name
= "gcc_pcie_4_mstr_axi_clk",
3213 .ops
= &clk_branch2_ops
,
3218 static struct clk_branch gcc_pcie_4_phy_rchng_clk
= {
3219 .halt_reg
= 0x6b050,
3220 .halt_check
= BRANCH_HALT_VOTED
,
3222 .enable_reg
= 0x52000,
3223 .enable_mask
= BIT(22),
3224 .hw
.init
= &(const struct clk_init_data
) {
3225 .name
= "gcc_pcie_4_phy_rchng_clk",
3226 .parent_hws
= (const struct clk_hw
*[]) {
3227 &gcc_pcie_4_phy_rchng_clk_src
.clkr
.hw
,
3230 .flags
= CLK_SET_RATE_PARENT
,
3231 .ops
= &clk_branch2_ops
,
3236 static struct clk_branch gcc_pcie_4_pipe_clk
= {
3237 .halt_reg
= 0x6b044,
3238 .halt_check
= BRANCH_HALT_SKIP
,
3240 .enable_reg
= 0x52008,
3241 .enable_mask
= BIT(4),
3242 .hw
.init
= &(const struct clk_init_data
) {
3243 .name
= "gcc_pcie_4_pipe_clk",
3244 .ops
= &clk_branch2_ops
,
3249 static struct clk_branch gcc_pcie_4_pipediv2_clk
= {
3250 .halt_reg
= 0x6b054,
3251 .halt_check
= BRANCH_HALT_SKIP
,
3253 .enable_reg
= 0x52010,
3254 .enable_mask
= BIT(27),
3255 .hw
.init
= &(const struct clk_init_data
) {
3256 .name
= "gcc_pcie_4_pipediv2_clk",
3257 .parent_hws
= (const struct clk_hw
*[]) {
3258 &gcc_pcie_4_pipe_div_clk_src
.clkr
.hw
,
3261 .flags
= CLK_SET_RATE_PARENT
,
3262 .ops
= &clk_branch2_ops
,
3267 static struct clk_branch gcc_pcie_4_slv_axi_clk
= {
3268 .halt_reg
= 0x6b01c,
3269 .halt_check
= BRANCH_HALT_VOTED
,
3270 .hwcg_reg
= 0x6b01c,
3273 .enable_reg
= 0x52008,
3274 .enable_mask
= BIT(0),
3275 .hw
.init
= &(const struct clk_init_data
) {
3276 .name
= "gcc_pcie_4_slv_axi_clk",
3277 .ops
= &clk_branch2_ops
,
3282 static struct clk_branch gcc_pcie_4_slv_q2a_axi_clk
= {
3283 .halt_reg
= 0x6b018,
3284 .halt_check
= BRANCH_HALT_VOTED
,
3286 .enable_reg
= 0x52008,
3287 .enable_mask
= BIT(5),
3288 .hw
.init
= &(const struct clk_init_data
) {
3289 .name
= "gcc_pcie_4_slv_q2a_axi_clk",
3290 .ops
= &clk_branch2_ops
,
3295 static struct clk_branch gcc_pcie_5_aux_clk
= {
3296 .halt_reg
= 0x2f038,
3297 .halt_check
= BRANCH_HALT_VOTED
,
3299 .enable_reg
= 0x52018,
3300 .enable_mask
= BIT(16),
3301 .hw
.init
= &(const struct clk_init_data
) {
3302 .name
= "gcc_pcie_5_aux_clk",
3303 .parent_hws
= (const struct clk_hw
*[]) {
3304 &gcc_pcie_5_aux_clk_src
.clkr
.hw
,
3307 .flags
= CLK_SET_RATE_PARENT
,
3308 .ops
= &clk_branch2_ops
,
3313 static struct clk_branch gcc_pcie_5_cfg_ahb_clk
= {
3314 .halt_reg
= 0x2f034,
3315 .halt_check
= BRANCH_HALT_VOTED
,
3316 .hwcg_reg
= 0x2f034,
3319 .enable_reg
= 0x52018,
3320 .enable_mask
= BIT(15),
3321 .hw
.init
= &(const struct clk_init_data
) {
3322 .name
= "gcc_pcie_5_cfg_ahb_clk",
3323 .ops
= &clk_branch2_ops
,
3328 static struct clk_branch gcc_pcie_5_mstr_axi_clk
= {
3329 .halt_reg
= 0x2f028,
3330 .halt_check
= BRANCH_HALT_SKIP
,
3331 .hwcg_reg
= 0x2f028,
3334 .enable_reg
= 0x52018,
3335 .enable_mask
= BIT(14),
3336 .hw
.init
= &(const struct clk_init_data
) {
3337 .name
= "gcc_pcie_5_mstr_axi_clk",
3338 .ops
= &clk_branch2_ops
,
3343 static struct clk_branch gcc_pcie_5_phy_rchng_clk
= {
3344 .halt_reg
= 0x2f050,
3345 .halt_check
= BRANCH_HALT_VOTED
,
3347 .enable_reg
= 0x52018,
3348 .enable_mask
= BIT(18),
3349 .hw
.init
= &(const struct clk_init_data
) {
3350 .name
= "gcc_pcie_5_phy_rchng_clk",
3351 .parent_hws
= (const struct clk_hw
*[]) {
3352 &gcc_pcie_5_phy_rchng_clk_src
.clkr
.hw
,
3355 .flags
= CLK_SET_RATE_PARENT
,
3356 .ops
= &clk_branch2_ops
,
3361 static struct clk_branch gcc_pcie_5_pipe_clk
= {
3362 .halt_reg
= 0x2f044,
3363 .halt_check
= BRANCH_HALT_SKIP
,
3365 .enable_reg
= 0x52018,
3366 .enable_mask
= BIT(17),
3367 .hw
.init
= &(const struct clk_init_data
) {
3368 .name
= "gcc_pcie_5_pipe_clk",
3369 .ops
= &clk_branch2_ops
,
3374 static struct clk_branch gcc_pcie_5_pipediv2_clk
= {
3375 .halt_reg
= 0x2f054,
3376 .halt_check
= BRANCH_HALT_SKIP
,
3378 .enable_reg
= 0x52018,
3379 .enable_mask
= BIT(19),
3380 .hw
.init
= &(const struct clk_init_data
) {
3381 .name
= "gcc_pcie_5_pipediv2_clk",
3382 .parent_hws
= (const struct clk_hw
*[]) {
3383 &gcc_pcie_5_pipe_div_clk_src
.clkr
.hw
,
3386 .flags
= CLK_SET_RATE_PARENT
,
3387 .ops
= &clk_branch2_ops
,
3392 static struct clk_branch gcc_pcie_5_slv_axi_clk
= {
3393 .halt_reg
= 0x2f01c,
3394 .halt_check
= BRANCH_HALT_VOTED
,
3395 .hwcg_reg
= 0x2f01c,
3398 .enable_reg
= 0x52018,
3399 .enable_mask
= BIT(13),
3400 .hw
.init
= &(const struct clk_init_data
) {
3401 .name
= "gcc_pcie_5_slv_axi_clk",
3402 .ops
= &clk_branch2_ops
,
3407 static struct clk_branch gcc_pcie_5_slv_q2a_axi_clk
= {
3408 .halt_reg
= 0x2f018,
3409 .halt_check
= BRANCH_HALT_VOTED
,
3411 .enable_reg
= 0x52018,
3412 .enable_mask
= BIT(12),
3413 .hw
.init
= &(const struct clk_init_data
) {
3414 .name
= "gcc_pcie_5_slv_q2a_axi_clk",
3415 .ops
= &clk_branch2_ops
,
3420 static struct clk_branch gcc_pcie_6a_aux_clk
= {
3421 .halt_reg
= 0x31038,
3422 .halt_check
= BRANCH_HALT_VOTED
,
3424 .enable_reg
= 0x52018,
3425 .enable_mask
= BIT(24),
3426 .hw
.init
= &(const struct clk_init_data
) {
3427 .name
= "gcc_pcie_6a_aux_clk",
3428 .parent_hws
= (const struct clk_hw
*[]) {
3429 &gcc_pcie_6a_aux_clk_src
.clkr
.hw
,
3432 .flags
= CLK_SET_RATE_PARENT
,
3433 .ops
= &clk_branch2_ops
,
3438 static struct clk_branch gcc_pcie_6a_cfg_ahb_clk
= {
3439 .halt_reg
= 0x31034,
3440 .halt_check
= BRANCH_HALT_VOTED
,
3441 .hwcg_reg
= 0x31034,
3444 .enable_reg
= 0x52018,
3445 .enable_mask
= BIT(23),
3446 .hw
.init
= &(const struct clk_init_data
) {
3447 .name
= "gcc_pcie_6a_cfg_ahb_clk",
3448 .ops
= &clk_branch2_ops
,
3453 static struct clk_branch gcc_pcie_6a_mstr_axi_clk
= {
3454 .halt_reg
= 0x31028,
3455 .halt_check
= BRANCH_HALT_SKIP
,
3456 .hwcg_reg
= 0x31028,
3459 .enable_reg
= 0x52018,
3460 .enable_mask
= BIT(22),
3461 .hw
.init
= &(const struct clk_init_data
) {
3462 .name
= "gcc_pcie_6a_mstr_axi_clk",
3463 .ops
= &clk_branch2_ops
,
3468 static struct clk_branch gcc_pcie_6a_phy_aux_clk
= {
3469 .halt_reg
= 0x31044,
3470 .halt_check
= BRANCH_HALT_VOTED
,
3472 .enable_reg
= 0x52018,
3473 .enable_mask
= BIT(25),
3474 .hw
.init
= &(const struct clk_init_data
) {
3475 .name
= "gcc_pcie_6a_phy_aux_clk",
3476 .ops
= &clk_branch2_ops
,
3481 static struct clk_branch gcc_pcie_6a_phy_rchng_clk
= {
3482 .halt_reg
= 0x3105c,
3483 .halt_check
= BRANCH_HALT_VOTED
,
3485 .enable_reg
= 0x52018,
3486 .enable_mask
= BIT(27),
3487 .hw
.init
= &(const struct clk_init_data
) {
3488 .name
= "gcc_pcie_6a_phy_rchng_clk",
3489 .parent_hws
= (const struct clk_hw
*[]) {
3490 &gcc_pcie_6a_phy_rchng_clk_src
.clkr
.hw
,
3493 .flags
= CLK_SET_RATE_PARENT
,
3494 .ops
= &clk_branch2_ops
,
3499 static struct clk_branch gcc_pcie_6a_pipe_clk
= {
3500 .halt_reg
= 0x31050,
3501 .halt_check
= BRANCH_HALT_SKIP
,
3503 .enable_reg
= 0x52018,
3504 .enable_mask
= BIT(26),
3505 .hw
.init
= &(const struct clk_init_data
) {
3506 .name
= "gcc_pcie_6a_pipe_clk",
3507 .ops
= &clk_branch2_ops
,
3512 static struct clk_branch gcc_pcie_6a_pipediv2_clk
= {
3513 .halt_reg
= 0x31060,
3514 .halt_check
= BRANCH_HALT_SKIP
,
3516 .enable_reg
= 0x52018,
3517 .enable_mask
= BIT(28),
3518 .hw
.init
= &(const struct clk_init_data
) {
3519 .name
= "gcc_pcie_6a_pipediv2_clk",
3520 .parent_hws
= (const struct clk_hw
*[]) {
3521 &gcc_pcie_6a_pipe_div_clk_src
.clkr
.hw
,
3524 .flags
= CLK_SET_RATE_PARENT
,
3525 .ops
= &clk_branch2_ops
,
3530 static struct clk_branch gcc_pcie_6a_slv_axi_clk
= {
3531 .halt_reg
= 0x3101c,
3532 .halt_check
= BRANCH_HALT_VOTED
,
3533 .hwcg_reg
= 0x3101c,
3536 .enable_reg
= 0x52018,
3537 .enable_mask
= BIT(21),
3538 .hw
.init
= &(const struct clk_init_data
) {
3539 .name
= "gcc_pcie_6a_slv_axi_clk",
3540 .ops
= &clk_branch2_ops
,
3545 static struct clk_branch gcc_pcie_6a_slv_q2a_axi_clk
= {
3546 .halt_reg
= 0x31018,
3547 .halt_check
= BRANCH_HALT_VOTED
,
3549 .enable_reg
= 0x52018,
3550 .enable_mask
= BIT(20),
3551 .hw
.init
= &(const struct clk_init_data
) {
3552 .name
= "gcc_pcie_6a_slv_q2a_axi_clk",
3553 .ops
= &clk_branch2_ops
,
3558 static struct clk_branch gcc_pcie_6b_aux_clk
= {
3559 .halt_reg
= 0x8d038,
3560 .halt_check
= BRANCH_HALT_VOTED
,
3562 .enable_reg
= 0x52000,
3563 .enable_mask
= BIT(29),
3564 .hw
.init
= &(const struct clk_init_data
) {
3565 .name
= "gcc_pcie_6b_aux_clk",
3566 .parent_hws
= (const struct clk_hw
*[]) {
3567 &gcc_pcie_6b_aux_clk_src
.clkr
.hw
,
3570 .flags
= CLK_SET_RATE_PARENT
,
3571 .ops
= &clk_branch2_ops
,
3576 static struct clk_branch gcc_pcie_6b_cfg_ahb_clk
= {
3577 .halt_reg
= 0x8d034,
3578 .halt_check
= BRANCH_HALT_VOTED
,
3579 .hwcg_reg
= 0x8d034,
3582 .enable_reg
= 0x52000,
3583 .enable_mask
= BIT(28),
3584 .hw
.init
= &(const struct clk_init_data
) {
3585 .name
= "gcc_pcie_6b_cfg_ahb_clk",
3586 .ops
= &clk_branch2_ops
,
3591 static struct clk_branch gcc_pcie_6b_mstr_axi_clk
= {
3592 .halt_reg
= 0x8d028,
3593 .halt_check
= BRANCH_HALT_SKIP
,
3594 .hwcg_reg
= 0x8d028,
3597 .enable_reg
= 0x52000,
3598 .enable_mask
= BIT(27),
3599 .hw
.init
= &(const struct clk_init_data
) {
3600 .name
= "gcc_pcie_6b_mstr_axi_clk",
3601 .ops
= &clk_branch2_ops
,
3606 static struct clk_branch gcc_pcie_6b_phy_aux_clk
= {
3607 .halt_reg
= 0x8d044,
3608 .halt_check
= BRANCH_HALT_VOTED
,
3610 .enable_reg
= 0x52000,
3611 .enable_mask
= BIT(24),
3612 .hw
.init
= &(const struct clk_init_data
) {
3613 .name
= "gcc_pcie_6b_phy_aux_clk",
3614 .ops
= &clk_branch2_ops
,
3619 static struct clk_branch gcc_pcie_6b_phy_rchng_clk
= {
3620 .halt_reg
= 0x8d05c,
3621 .halt_check
= BRANCH_HALT_VOTED
,
3623 .enable_reg
= 0x52000,
3624 .enable_mask
= BIT(23),
3625 .hw
.init
= &(const struct clk_init_data
) {
3626 .name
= "gcc_pcie_6b_phy_rchng_clk",
3627 .parent_hws
= (const struct clk_hw
*[]) {
3628 &gcc_pcie_6b_phy_rchng_clk_src
.clkr
.hw
,
3631 .flags
= CLK_SET_RATE_PARENT
,
3632 .ops
= &clk_branch2_ops
,
3637 static struct clk_branch gcc_pcie_6b_pipe_clk
= {
3638 .halt_reg
= 0x8d050,
3639 .halt_check
= BRANCH_HALT_SKIP
,
3641 .enable_reg
= 0x52000,
3642 .enable_mask
= BIT(30),
3643 .hw
.init
= &(const struct clk_init_data
) {
3644 .name
= "gcc_pcie_6b_pipe_clk",
3645 .ops
= &clk_branch2_ops
,
3650 static struct clk_branch gcc_pcie_6b_pipediv2_clk
= {
3651 .halt_reg
= 0x8d060,
3652 .halt_check
= BRANCH_HALT_SKIP
,
3654 .enable_reg
= 0x52010,
3655 .enable_mask
= BIT(28),
3656 .hw
.init
= &(const struct clk_init_data
) {
3657 .name
= "gcc_pcie_6b_pipediv2_clk",
3658 .parent_hws
= (const struct clk_hw
*[]) {
3659 &gcc_pcie_6b_pipe_div_clk_src
.clkr
.hw
,
3662 .flags
= CLK_SET_RATE_PARENT
,
3663 .ops
= &clk_branch2_ops
,
3668 static struct clk_branch gcc_pcie_6b_slv_axi_clk
= {
3669 .halt_reg
= 0x8d01c,
3670 .halt_check
= BRANCH_HALT_VOTED
,
3671 .hwcg_reg
= 0x8d01c,
3674 .enable_reg
= 0x52000,
3675 .enable_mask
= BIT(26),
3676 .hw
.init
= &(const struct clk_init_data
) {
3677 .name
= "gcc_pcie_6b_slv_axi_clk",
3678 .ops
= &clk_branch2_ops
,
3683 static struct clk_branch gcc_pcie_6b_slv_q2a_axi_clk
= {
3684 .halt_reg
= 0x8d018,
3685 .halt_check
= BRANCH_HALT_VOTED
,
3687 .enable_reg
= 0x52000,
3688 .enable_mask
= BIT(25),
3689 .hw
.init
= &(const struct clk_init_data
) {
3690 .name
= "gcc_pcie_6b_slv_q2a_axi_clk",
3691 .ops
= &clk_branch2_ops
,
3696 static struct clk_branch gcc_pcie_rscc_ahb_clk
= {
3697 .halt_reg
= 0xa4008,
3698 .halt_check
= BRANCH_HALT_VOTED
,
3699 .hwcg_reg
= 0xa4008,
3702 .enable_reg
= 0x52028,
3703 .enable_mask
= BIT(18),
3704 .hw
.init
= &(const struct clk_init_data
) {
3705 .name
= "gcc_pcie_rscc_ahb_clk",
3706 .ops
= &clk_branch2_ops
,
3711 static struct clk_branch gcc_pcie_rscc_xo_clk
= {
3712 .halt_reg
= 0xa4004,
3713 .halt_check
= BRANCH_HALT_VOTED
,
3715 .enable_reg
= 0x52028,
3716 .enable_mask
= BIT(17),
3717 .hw
.init
= &(const struct clk_init_data
) {
3718 .name
= "gcc_pcie_rscc_xo_clk",
3719 .parent_hws
= (const struct clk_hw
*[]) {
3720 &gcc_pcie_rscc_xo_clk_src
.clkr
.hw
,
3723 .flags
= CLK_SET_RATE_PARENT
,
3724 .ops
= &clk_branch2_ops
,
3729 static struct clk_branch gcc_pdm2_clk
= {
3730 .halt_reg
= 0x3300c,
3731 .halt_check
= BRANCH_HALT
,
3733 .enable_reg
= 0x3300c,
3734 .enable_mask
= BIT(0),
3735 .hw
.init
= &(const struct clk_init_data
) {
3736 .name
= "gcc_pdm2_clk",
3737 .parent_hws
= (const struct clk_hw
*[]) {
3738 &gcc_pdm2_clk_src
.clkr
.hw
,
3741 .flags
= CLK_SET_RATE_PARENT
,
3742 .ops
= &clk_branch2_ops
,
3747 static struct clk_branch gcc_pdm_ahb_clk
= {
3748 .halt_reg
= 0x33004,
3749 .halt_check
= BRANCH_HALT_VOTED
,
3750 .hwcg_reg
= 0x33004,
3753 .enable_reg
= 0x33004,
3754 .enable_mask
= BIT(0),
3755 .hw
.init
= &(const struct clk_init_data
) {
3756 .name
= "gcc_pdm_ahb_clk",
3757 .ops
= &clk_branch2_ops
,
3762 static struct clk_branch gcc_pdm_xo4_clk
= {
3763 .halt_reg
= 0x33008,
3764 .halt_check
= BRANCH_HALT
,
3766 .enable_reg
= 0x33008,
3767 .enable_mask
= BIT(0),
3768 .hw
.init
= &(const struct clk_init_data
) {
3769 .name
= "gcc_pdm_xo4_clk",
3770 .ops
= &clk_branch2_ops
,
3775 static struct clk_branch gcc_qmip_av1e_ahb_clk
= {
3776 .halt_reg
= 0x4a018,
3777 .halt_check
= BRANCH_HALT_VOTED
,
3778 .hwcg_reg
= 0x4a018,
3781 .enable_reg
= 0x4a018,
3782 .enable_mask
= BIT(0),
3783 .hw
.init
= &(const struct clk_init_data
) {
3784 .name
= "gcc_qmip_av1e_ahb_clk",
3785 .ops
= &clk_branch2_ops
,
3790 static struct clk_branch gcc_qmip_camera_nrt_ahb_clk
= {
3791 .halt_reg
= 0x26008,
3792 .halt_check
= BRANCH_HALT_VOTED
,
3793 .hwcg_reg
= 0x26008,
3796 .enable_reg
= 0x26008,
3797 .enable_mask
= BIT(0),
3798 .hw
.init
= &(const struct clk_init_data
) {
3799 .name
= "gcc_qmip_camera_nrt_ahb_clk",
3800 .ops
= &clk_branch2_ops
,
3805 static struct clk_branch gcc_qmip_camera_rt_ahb_clk
= {
3806 .halt_reg
= 0x2600c,
3807 .halt_check
= BRANCH_HALT_VOTED
,
3808 .hwcg_reg
= 0x2600c,
3811 .enable_reg
= 0x2600c,
3812 .enable_mask
= BIT(0),
3813 .hw
.init
= &(const struct clk_init_data
) {
3814 .name
= "gcc_qmip_camera_rt_ahb_clk",
3815 .ops
= &clk_branch2_ops
,
3820 static struct clk_branch gcc_qmip_disp_ahb_clk
= {
3821 .halt_reg
= 0x27008,
3822 .halt_check
= BRANCH_HALT_VOTED
,
3823 .hwcg_reg
= 0x27008,
3826 .enable_reg
= 0x27008,
3827 .enable_mask
= BIT(0),
3828 .hw
.init
= &(const struct clk_init_data
) {
3829 .name
= "gcc_qmip_disp_ahb_clk",
3830 .ops
= &clk_branch2_ops
,
3835 static struct clk_branch gcc_qmip_gpu_ahb_clk
= {
3836 .halt_reg
= 0x71008,
3837 .halt_check
= BRANCH_HALT_VOTED
,
3838 .hwcg_reg
= 0x71008,
3841 .enable_reg
= 0x71008,
3842 .enable_mask
= BIT(0),
3843 .hw
.init
= &(const struct clk_init_data
) {
3844 .name
= "gcc_qmip_gpu_ahb_clk",
3845 .ops
= &clk_branch2_ops
,
3850 static struct clk_branch gcc_qmip_video_cv_cpu_ahb_clk
= {
3851 .halt_reg
= 0x32014,
3852 .halt_check
= BRANCH_HALT_VOTED
,
3853 .hwcg_reg
= 0x32014,
3856 .enable_reg
= 0x32014,
3857 .enable_mask
= BIT(0),
3858 .hw
.init
= &(const struct clk_init_data
) {
3859 .name
= "gcc_qmip_video_cv_cpu_ahb_clk",
3860 .ops
= &clk_branch2_ops
,
3865 static struct clk_branch gcc_qmip_video_cvp_ahb_clk
= {
3866 .halt_reg
= 0x32008,
3867 .halt_check
= BRANCH_HALT_VOTED
,
3868 .hwcg_reg
= 0x32008,
3871 .enable_reg
= 0x32008,
3872 .enable_mask
= BIT(0),
3873 .hw
.init
= &(const struct clk_init_data
) {
3874 .name
= "gcc_qmip_video_cvp_ahb_clk",
3875 .ops
= &clk_branch2_ops
,
3880 static struct clk_branch gcc_qmip_video_v_cpu_ahb_clk
= {
3881 .halt_reg
= 0x32010,
3882 .halt_check
= BRANCH_HALT_VOTED
,
3883 .hwcg_reg
= 0x32010,
3886 .enable_reg
= 0x32010,
3887 .enable_mask
= BIT(0),
3888 .hw
.init
= &(const struct clk_init_data
) {
3889 .name
= "gcc_qmip_video_v_cpu_ahb_clk",
3890 .ops
= &clk_branch2_ops
,
3895 static struct clk_branch gcc_qmip_video_vcodec_ahb_clk
= {
3896 .halt_reg
= 0x3200c,
3897 .halt_check
= BRANCH_HALT_VOTED
,
3898 .hwcg_reg
= 0x3200c,
3901 .enable_reg
= 0x3200c,
3902 .enable_mask
= BIT(0),
3903 .hw
.init
= &(const struct clk_init_data
) {
3904 .name
= "gcc_qmip_video_vcodec_ahb_clk",
3905 .ops
= &clk_branch2_ops
,
3910 static struct clk_branch gcc_qupv3_wrap0_core_2x_clk
= {
3911 .halt_reg
= 0x23018,
3912 .halt_check
= BRANCH_HALT_VOTED
,
3914 .enable_reg
= 0x52020,
3915 .enable_mask
= BIT(9),
3916 .hw
.init
= &(const struct clk_init_data
) {
3917 .name
= "gcc_qupv3_wrap0_core_2x_clk",
3918 .ops
= &clk_branch2_ops
,
3923 static struct clk_branch gcc_qupv3_wrap0_core_clk
= {
3924 .halt_reg
= 0x23008,
3925 .halt_check
= BRANCH_HALT_VOTED
,
3927 .enable_reg
= 0x52020,
3928 .enable_mask
= BIT(8),
3929 .hw
.init
= &(const struct clk_init_data
) {
3930 .name
= "gcc_qupv3_wrap0_core_clk",
3931 .ops
= &clk_branch2_ops
,
3936 static struct clk_branch gcc_qupv3_wrap0_qspi_s2_clk
= {
3937 .halt_reg
= 0x42280,
3938 .halt_check
= BRANCH_HALT_VOTED
,
3940 .enable_reg
= 0x52028,
3941 .enable_mask
= BIT(2),
3942 .hw
.init
= &(const struct clk_init_data
) {
3943 .name
= "gcc_qupv3_wrap0_qspi_s2_clk",
3944 .parent_hws
= (const struct clk_hw
*[]) {
3945 &gcc_qupv3_wrap0_s2_clk_src
.clkr
.hw
,
3948 .flags
= CLK_SET_RATE_PARENT
,
3949 .ops
= &clk_branch2_ops
,
3954 static struct clk_branch gcc_qupv3_wrap0_qspi_s3_clk
= {
3955 .halt_reg
= 0x423c0,
3956 .halt_check
= BRANCH_HALT_VOTED
,
3958 .enable_reg
= 0x52028,
3959 .enable_mask
= BIT(3),
3960 .hw
.init
= &(const struct clk_init_data
) {
3961 .name
= "gcc_qupv3_wrap0_qspi_s3_clk",
3962 .parent_hws
= (const struct clk_hw
*[]) {
3963 &gcc_qupv3_wrap0_s3_clk_src
.clkr
.hw
,
3966 .flags
= CLK_SET_RATE_PARENT
,
3967 .ops
= &clk_branch2_ops
,
3972 static struct clk_branch gcc_qupv3_wrap0_s0_clk
= {
3973 .halt_reg
= 0x42004,
3974 .halt_check
= BRANCH_HALT_VOTED
,
3976 .enable_reg
= 0x52020,
3977 .enable_mask
= BIT(10),
3978 .hw
.init
= &(const struct clk_init_data
) {
3979 .name
= "gcc_qupv3_wrap0_s0_clk",
3980 .parent_hws
= (const struct clk_hw
*[]) {
3981 &gcc_qupv3_wrap0_s0_clk_src
.clkr
.hw
,
3984 .flags
= CLK_SET_RATE_PARENT
,
3985 .ops
= &clk_branch2_ops
,
3990 static struct clk_branch gcc_qupv3_wrap0_s1_clk
= {
3991 .halt_reg
= 0x4213c,
3992 .halt_check
= BRANCH_HALT_VOTED
,
3994 .enable_reg
= 0x52020,
3995 .enable_mask
= BIT(11),
3996 .hw
.init
= &(const struct clk_init_data
) {
3997 .name
= "gcc_qupv3_wrap0_s1_clk",
3998 .parent_hws
= (const struct clk_hw
*[]) {
3999 &gcc_qupv3_wrap0_s1_clk_src
.clkr
.hw
,
4002 .flags
= CLK_SET_RATE_PARENT
,
4003 .ops
= &clk_branch2_ops
,
4008 static struct clk_branch gcc_qupv3_wrap0_s2_clk
= {
4009 .halt_reg
= 0x42274,
4010 .halt_check
= BRANCH_HALT_VOTED
,
4012 .enable_reg
= 0x52020,
4013 .enable_mask
= BIT(12),
4014 .hw
.init
= &(const struct clk_init_data
) {
4015 .name
= "gcc_qupv3_wrap0_s2_clk",
4016 .parent_hws
= (const struct clk_hw
*[]) {
4017 &gcc_qupv3_wrap0_s2_div_clk_src
.clkr
.hw
,
4020 .flags
= CLK_SET_RATE_PARENT
,
4021 .ops
= &clk_branch2_ops
,
4026 static struct clk_branch gcc_qupv3_wrap0_s3_clk
= {
4027 .halt_reg
= 0x423b4,
4028 .halt_check
= BRANCH_HALT_VOTED
,
4030 .enable_reg
= 0x52020,
4031 .enable_mask
= BIT(13),
4032 .hw
.init
= &(const struct clk_init_data
) {
4033 .name
= "gcc_qupv3_wrap0_s3_clk",
4034 .parent_hws
= (const struct clk_hw
*[]) {
4035 &gcc_qupv3_wrap0_s3_div_clk_src
.clkr
.hw
,
4038 .flags
= CLK_SET_RATE_PARENT
,
4039 .ops
= &clk_branch2_ops
,
4044 static struct clk_branch gcc_qupv3_wrap0_s4_clk
= {
4045 .halt_reg
= 0x424f4,
4046 .halt_check
= BRANCH_HALT_VOTED
,
4048 .enable_reg
= 0x52020,
4049 .enable_mask
= BIT(14),
4050 .hw
.init
= &(const struct clk_init_data
) {
4051 .name
= "gcc_qupv3_wrap0_s4_clk",
4052 .parent_hws
= (const struct clk_hw
*[]) {
4053 &gcc_qupv3_wrap0_s4_clk_src
.clkr
.hw
,
4056 .flags
= CLK_SET_RATE_PARENT
,
4057 .ops
= &clk_branch2_ops
,
4062 static struct clk_branch gcc_qupv3_wrap0_s5_clk
= {
4063 .halt_reg
= 0x4262c,
4064 .halt_check
= BRANCH_HALT_VOTED
,
4066 .enable_reg
= 0x52020,
4067 .enable_mask
= BIT(15),
4068 .hw
.init
= &(const struct clk_init_data
) {
4069 .name
= "gcc_qupv3_wrap0_s5_clk",
4070 .parent_hws
= (const struct clk_hw
*[]) {
4071 &gcc_qupv3_wrap0_s5_clk_src
.clkr
.hw
,
4074 .flags
= CLK_SET_RATE_PARENT
,
4075 .ops
= &clk_branch2_ops
,
4080 static struct clk_branch gcc_qupv3_wrap0_s6_clk
= {
4081 .halt_reg
= 0x42764,
4082 .halt_check
= BRANCH_HALT_VOTED
,
4084 .enable_reg
= 0x52020,
4085 .enable_mask
= BIT(16),
4086 .hw
.init
= &(const struct clk_init_data
) {
4087 .name
= "gcc_qupv3_wrap0_s6_clk",
4088 .parent_hws
= (const struct clk_hw
*[]) {
4089 &gcc_qupv3_wrap0_s6_clk_src
.clkr
.hw
,
4092 .flags
= CLK_SET_RATE_PARENT
,
4093 .ops
= &clk_branch2_ops
,
4098 static struct clk_branch gcc_qupv3_wrap0_s7_clk
= {
4099 .halt_reg
= 0x4289c,
4100 .halt_check
= BRANCH_HALT_VOTED
,
4102 .enable_reg
= 0x52020,
4103 .enable_mask
= BIT(17),
4104 .hw
.init
= &(const struct clk_init_data
) {
4105 .name
= "gcc_qupv3_wrap0_s7_clk",
4106 .parent_hws
= (const struct clk_hw
*[]) {
4107 &gcc_qupv3_wrap0_s7_clk_src
.clkr
.hw
,
4110 .flags
= CLK_SET_RATE_PARENT
,
4111 .ops
= &clk_branch2_ops
,
4116 static struct clk_branch gcc_qupv3_wrap1_core_2x_clk
= {
4117 .halt_reg
= 0x23168,
4118 .halt_check
= BRANCH_HALT_VOTED
,
4120 .enable_reg
= 0x52008,
4121 .enable_mask
= BIT(18),
4122 .hw
.init
= &(const struct clk_init_data
) {
4123 .name
= "gcc_qupv3_wrap1_core_2x_clk",
4124 .ops
= &clk_branch2_ops
,
4129 static struct clk_branch gcc_qupv3_wrap1_core_clk
= {
4130 .halt_reg
= 0x23158,
4131 .halt_check
= BRANCH_HALT_VOTED
,
4133 .enable_reg
= 0x52008,
4134 .enable_mask
= BIT(19),
4135 .hw
.init
= &(const struct clk_init_data
) {
4136 .name
= "gcc_qupv3_wrap1_core_clk",
4137 .ops
= &clk_branch2_ops
,
4142 static struct clk_branch gcc_qupv3_wrap1_qspi_s2_clk
= {
4143 .halt_reg
= 0x18280,
4144 .halt_check
= BRANCH_HALT_VOTED
,
4146 .enable_reg
= 0x52028,
4147 .enable_mask
= BIT(4),
4148 .hw
.init
= &(const struct clk_init_data
) {
4149 .name
= "gcc_qupv3_wrap1_qspi_s2_clk",
4150 .parent_hws
= (const struct clk_hw
*[]) {
4151 &gcc_qupv3_wrap1_s2_clk_src
.clkr
.hw
,
4154 .flags
= CLK_SET_RATE_PARENT
,
4155 .ops
= &clk_branch2_ops
,
4160 static struct clk_branch gcc_qupv3_wrap1_qspi_s3_clk
= {
4161 .halt_reg
= 0x183c0,
4162 .halt_check
= BRANCH_HALT_VOTED
,
4164 .enable_reg
= 0x52028,
4165 .enable_mask
= BIT(5),
4166 .hw
.init
= &(const struct clk_init_data
) {
4167 .name
= "gcc_qupv3_wrap1_qspi_s3_clk",
4168 .parent_hws
= (const struct clk_hw
*[]) {
4169 &gcc_qupv3_wrap1_s3_clk_src
.clkr
.hw
,
4172 .flags
= CLK_SET_RATE_PARENT
,
4173 .ops
= &clk_branch2_ops
,
4178 static struct clk_branch gcc_qupv3_wrap1_s0_clk
= {
4179 .halt_reg
= 0x18004,
4180 .halt_check
= BRANCH_HALT_VOTED
,
4182 .enable_reg
= 0x52008,
4183 .enable_mask
= BIT(22),
4184 .hw
.init
= &(const struct clk_init_data
) {
4185 .name
= "gcc_qupv3_wrap1_s0_clk",
4186 .parent_hws
= (const struct clk_hw
*[]) {
4187 &gcc_qupv3_wrap1_s0_clk_src
.clkr
.hw
,
4190 .flags
= CLK_SET_RATE_PARENT
,
4191 .ops
= &clk_branch2_ops
,
4196 static struct clk_branch gcc_qupv3_wrap1_s1_clk
= {
4197 .halt_reg
= 0x1813c,
4198 .halt_check
= BRANCH_HALT_VOTED
,
4200 .enable_reg
= 0x52008,
4201 .enable_mask
= BIT(23),
4202 .hw
.init
= &(const struct clk_init_data
) {
4203 .name
= "gcc_qupv3_wrap1_s1_clk",
4204 .parent_hws
= (const struct clk_hw
*[]) {
4205 &gcc_qupv3_wrap1_s1_clk_src
.clkr
.hw
,
4208 .flags
= CLK_SET_RATE_PARENT
,
4209 .ops
= &clk_branch2_ops
,
4214 static struct clk_branch gcc_qupv3_wrap1_s2_clk
= {
4215 .halt_reg
= 0x18274,
4216 .halt_check
= BRANCH_HALT_VOTED
,
4218 .enable_reg
= 0x52008,
4219 .enable_mask
= BIT(24),
4220 .hw
.init
= &(const struct clk_init_data
) {
4221 .name
= "gcc_qupv3_wrap1_s2_clk",
4222 .parent_hws
= (const struct clk_hw
*[]) {
4223 &gcc_qupv3_wrap1_s2_div_clk_src
.clkr
.hw
,
4226 .flags
= CLK_SET_RATE_PARENT
,
4227 .ops
= &clk_branch2_ops
,
4232 static struct clk_branch gcc_qupv3_wrap1_s3_clk
= {
4233 .halt_reg
= 0x183b4,
4234 .halt_check
= BRANCH_HALT_VOTED
,
4236 .enable_reg
= 0x52008,
4237 .enable_mask
= BIT(25),
4238 .hw
.init
= &(const struct clk_init_data
) {
4239 .name
= "gcc_qupv3_wrap1_s3_clk",
4240 .parent_hws
= (const struct clk_hw
*[]) {
4241 &gcc_qupv3_wrap1_s3_div_clk_src
.clkr
.hw
,
4244 .flags
= CLK_SET_RATE_PARENT
,
4245 .ops
= &clk_branch2_ops
,
4250 static struct clk_branch gcc_qupv3_wrap1_s4_clk
= {
4251 .halt_reg
= 0x184f4,
4252 .halt_check
= BRANCH_HALT_VOTED
,
4254 .enable_reg
= 0x52008,
4255 .enable_mask
= BIT(26),
4256 .hw
.init
= &(const struct clk_init_data
) {
4257 .name
= "gcc_qupv3_wrap1_s4_clk",
4258 .parent_hws
= (const struct clk_hw
*[]) {
4259 &gcc_qupv3_wrap1_s4_clk_src
.clkr
.hw
,
4262 .flags
= CLK_SET_RATE_PARENT
,
4263 .ops
= &clk_branch2_ops
,
4268 static struct clk_branch gcc_qupv3_wrap1_s5_clk
= {
4269 .halt_reg
= 0x1862c,
4270 .halt_check
= BRANCH_HALT_VOTED
,
4272 .enable_reg
= 0x52008,
4273 .enable_mask
= BIT(27),
4274 .hw
.init
= &(const struct clk_init_data
) {
4275 .name
= "gcc_qupv3_wrap1_s5_clk",
4276 .parent_hws
= (const struct clk_hw
*[]) {
4277 &gcc_qupv3_wrap1_s5_clk_src
.clkr
.hw
,
4280 .flags
= CLK_SET_RATE_PARENT
,
4281 .ops
= &clk_branch2_ops
,
4286 static struct clk_branch gcc_qupv3_wrap1_s6_clk
= {
4287 .halt_reg
= 0x18764,
4288 .halt_check
= BRANCH_HALT_VOTED
,
4290 .enable_reg
= 0x52008,
4291 .enable_mask
= BIT(28),
4292 .hw
.init
= &(const struct clk_init_data
) {
4293 .name
= "gcc_qupv3_wrap1_s6_clk",
4294 .parent_hws
= (const struct clk_hw
*[]) {
4295 &gcc_qupv3_wrap1_s6_clk_src
.clkr
.hw
,
4298 .flags
= CLK_SET_RATE_PARENT
,
4299 .ops
= &clk_branch2_ops
,
4304 static struct clk_branch gcc_qupv3_wrap1_s7_clk
= {
4305 .halt_reg
= 0x1889c,
4306 .halt_check
= BRANCH_HALT_VOTED
,
4308 .enable_reg
= 0x52010,
4309 .enable_mask
= BIT(16),
4310 .hw
.init
= &(const struct clk_init_data
) {
4311 .name
= "gcc_qupv3_wrap1_s7_clk",
4312 .parent_hws
= (const struct clk_hw
*[]) {
4313 &gcc_qupv3_wrap1_s7_clk_src
.clkr
.hw
,
4316 .flags
= CLK_SET_RATE_PARENT
,
4317 .ops
= &clk_branch2_ops
,
4322 static struct clk_branch gcc_qupv3_wrap2_core_2x_clk
= {
4323 .halt_reg
= 0x232b8,
4324 .halt_check
= BRANCH_HALT_VOTED
,
4326 .enable_reg
= 0x52010,
4327 .enable_mask
= BIT(3),
4328 .hw
.init
= &(const struct clk_init_data
) {
4329 .name
= "gcc_qupv3_wrap2_core_2x_clk",
4330 .ops
= &clk_branch2_ops
,
4335 static struct clk_branch gcc_qupv3_wrap2_core_clk
= {
4336 .halt_reg
= 0x232a8,
4337 .halt_check
= BRANCH_HALT_VOTED
,
4339 .enable_reg
= 0x52010,
4340 .enable_mask
= BIT(0),
4341 .hw
.init
= &(const struct clk_init_data
) {
4342 .name
= "gcc_qupv3_wrap2_core_clk",
4343 .ops
= &clk_branch2_ops
,
4348 static struct clk_branch gcc_qupv3_wrap2_qspi_s2_clk
= {
4349 .halt_reg
= 0x1e280,
4350 .halt_check
= BRANCH_HALT_VOTED
,
4352 .enable_reg
= 0x52028,
4353 .enable_mask
= BIT(6),
4354 .hw
.init
= &(const struct clk_init_data
) {
4355 .name
= "gcc_qupv3_wrap2_qspi_s2_clk",
4356 .parent_hws
= (const struct clk_hw
*[]) {
4357 &gcc_qupv3_wrap2_s2_clk_src
.clkr
.hw
,
4360 .flags
= CLK_SET_RATE_PARENT
,
4361 .ops
= &clk_branch2_ops
,
4366 static struct clk_branch gcc_qupv3_wrap2_qspi_s3_clk
= {
4367 .halt_reg
= 0x1e3c0,
4368 .halt_check
= BRANCH_HALT_VOTED
,
4370 .enable_reg
= 0x52028,
4371 .enable_mask
= BIT(7),
4372 .hw
.init
= &(const struct clk_init_data
) {
4373 .name
= "gcc_qupv3_wrap2_qspi_s3_clk",
4374 .parent_hws
= (const struct clk_hw
*[]) {
4375 &gcc_qupv3_wrap2_s3_clk_src
.clkr
.hw
,
4378 .flags
= CLK_SET_RATE_PARENT
,
4379 .ops
= &clk_branch2_ops
,
4384 static struct clk_branch gcc_qupv3_wrap2_s0_clk
= {
4385 .halt_reg
= 0x1e004,
4386 .halt_check
= BRANCH_HALT_VOTED
,
4388 .enable_reg
= 0x52010,
4389 .enable_mask
= BIT(4),
4390 .hw
.init
= &(const struct clk_init_data
) {
4391 .name
= "gcc_qupv3_wrap2_s0_clk",
4392 .parent_hws
= (const struct clk_hw
*[]) {
4393 &gcc_qupv3_wrap2_s0_clk_src
.clkr
.hw
,
4396 .flags
= CLK_SET_RATE_PARENT
,
4397 .ops
= &clk_branch2_ops
,
4402 static struct clk_branch gcc_qupv3_wrap2_s1_clk
= {
4403 .halt_reg
= 0x1e13c,
4404 .halt_check
= BRANCH_HALT_VOTED
,
4406 .enable_reg
= 0x52010,
4407 .enable_mask
= BIT(5),
4408 .hw
.init
= &(const struct clk_init_data
) {
4409 .name
= "gcc_qupv3_wrap2_s1_clk",
4410 .parent_hws
= (const struct clk_hw
*[]) {
4411 &gcc_qupv3_wrap2_s1_clk_src
.clkr
.hw
,
4414 .flags
= CLK_SET_RATE_PARENT
,
4415 .ops
= &clk_branch2_ops
,
4420 static struct clk_branch gcc_qupv3_wrap2_s2_clk
= {
4421 .halt_reg
= 0x1e274,
4422 .halt_check
= BRANCH_HALT_VOTED
,
4424 .enable_reg
= 0x52010,
4425 .enable_mask
= BIT(6),
4426 .hw
.init
= &(const struct clk_init_data
) {
4427 .name
= "gcc_qupv3_wrap2_s2_clk",
4428 .parent_hws
= (const struct clk_hw
*[]) {
4429 &gcc_qupv3_wrap2_s2_div_clk_src
.clkr
.hw
,
4432 .flags
= CLK_SET_RATE_PARENT
,
4433 .ops
= &clk_branch2_ops
,
4438 static struct clk_branch gcc_qupv3_wrap2_s3_clk
= {
4439 .halt_reg
= 0x1e3b4,
4440 .halt_check
= BRANCH_HALT_VOTED
,
4442 .enable_reg
= 0x52010,
4443 .enable_mask
= BIT(7),
4444 .hw
.init
= &(const struct clk_init_data
) {
4445 .name
= "gcc_qupv3_wrap2_s3_clk",
4446 .parent_hws
= (const struct clk_hw
*[]) {
4447 &gcc_qupv3_wrap2_s3_div_clk_src
.clkr
.hw
,
4450 .flags
= CLK_SET_RATE_PARENT
,
4451 .ops
= &clk_branch2_ops
,
4456 static struct clk_branch gcc_qupv3_wrap2_s4_clk
= {
4457 .halt_reg
= 0x1e4f4,
4458 .halt_check
= BRANCH_HALT_VOTED
,
4460 .enable_reg
= 0x52010,
4461 .enable_mask
= BIT(8),
4462 .hw
.init
= &(const struct clk_init_data
) {
4463 .name
= "gcc_qupv3_wrap2_s4_clk",
4464 .parent_hws
= (const struct clk_hw
*[]) {
4465 &gcc_qupv3_wrap2_s4_clk_src
.clkr
.hw
,
4468 .flags
= CLK_SET_RATE_PARENT
,
4469 .ops
= &clk_branch2_ops
,
4474 static struct clk_branch gcc_qupv3_wrap2_s5_clk
= {
4475 .halt_reg
= 0x1e62c,
4476 .halt_check
= BRANCH_HALT_VOTED
,
4478 .enable_reg
= 0x52010,
4479 .enable_mask
= BIT(9),
4480 .hw
.init
= &(const struct clk_init_data
) {
4481 .name
= "gcc_qupv3_wrap2_s5_clk",
4482 .parent_hws
= (const struct clk_hw
*[]) {
4483 &gcc_qupv3_wrap2_s5_clk_src
.clkr
.hw
,
4486 .flags
= CLK_SET_RATE_PARENT
,
4487 .ops
= &clk_branch2_ops
,
4492 static struct clk_branch gcc_qupv3_wrap2_s6_clk
= {
4493 .halt_reg
= 0x1e764,
4494 .halt_check
= BRANCH_HALT_VOTED
,
4496 .enable_reg
= 0x52010,
4497 .enable_mask
= BIT(10),
4498 .hw
.init
= &(const struct clk_init_data
) {
4499 .name
= "gcc_qupv3_wrap2_s6_clk",
4500 .parent_hws
= (const struct clk_hw
*[]) {
4501 &gcc_qupv3_wrap2_s6_clk_src
.clkr
.hw
,
4504 .flags
= CLK_SET_RATE_PARENT
,
4505 .ops
= &clk_branch2_ops
,
4510 static struct clk_branch gcc_qupv3_wrap2_s7_clk
= {
4511 .halt_reg
= 0x1e89c,
4512 .halt_check
= BRANCH_HALT_VOTED
,
4514 .enable_reg
= 0x52010,
4515 .enable_mask
= BIT(17),
4516 .hw
.init
= &(const struct clk_init_data
) {
4517 .name
= "gcc_qupv3_wrap2_s7_clk",
4518 .parent_hws
= (const struct clk_hw
*[]) {
4519 &gcc_qupv3_wrap2_s7_clk_src
.clkr
.hw
,
4522 .flags
= CLK_SET_RATE_PARENT
,
4523 .ops
= &clk_branch2_ops
,
4528 static struct clk_branch gcc_qupv3_wrap_0_m_ahb_clk
= {
4529 .halt_reg
= 0x23000,
4530 .halt_check
= BRANCH_HALT_VOTED
,
4531 .hwcg_reg
= 0x23000,
4534 .enable_reg
= 0x52020,
4535 .enable_mask
= BIT(6),
4536 .hw
.init
= &(const struct clk_init_data
) {
4537 .name
= "gcc_qupv3_wrap_0_m_ahb_clk",
4538 .ops
= &clk_branch2_ops
,
4543 static struct clk_branch gcc_qupv3_wrap_0_s_ahb_clk
= {
4544 .halt_reg
= 0x23004,
4545 .halt_check
= BRANCH_HALT_VOTED
,
4546 .hwcg_reg
= 0x23004,
4549 .enable_reg
= 0x52020,
4550 .enable_mask
= BIT(7),
4551 .hw
.init
= &(const struct clk_init_data
) {
4552 .name
= "gcc_qupv3_wrap_0_s_ahb_clk",
4553 .ops
= &clk_branch2_ops
,
4558 static struct clk_branch gcc_qupv3_wrap_1_m_ahb_clk
= {
4559 .halt_reg
= 0x23150,
4560 .halt_check
= BRANCH_HALT_VOTED
,
4561 .hwcg_reg
= 0x23150,
4564 .enable_reg
= 0x52008,
4565 .enable_mask
= BIT(20),
4566 .hw
.init
= &(const struct clk_init_data
) {
4567 .name
= "gcc_qupv3_wrap_1_m_ahb_clk",
4568 .ops
= &clk_branch2_ops
,
4573 static struct clk_branch gcc_qupv3_wrap_1_s_ahb_clk
= {
4574 .halt_reg
= 0x23154,
4575 .halt_check
= BRANCH_HALT_VOTED
,
4576 .hwcg_reg
= 0x23154,
4579 .enable_reg
= 0x52008,
4580 .enable_mask
= BIT(21),
4581 .hw
.init
= &(const struct clk_init_data
) {
4582 .name
= "gcc_qupv3_wrap_1_s_ahb_clk",
4583 .ops
= &clk_branch2_ops
,
4588 static struct clk_branch gcc_qupv3_wrap_2_m_ahb_clk
= {
4589 .halt_reg
= 0x232a0,
4590 .halt_check
= BRANCH_HALT_VOTED
,
4591 .hwcg_reg
= 0x232a0,
4594 .enable_reg
= 0x52010,
4595 .enable_mask
= BIT(2),
4596 .hw
.init
= &(const struct clk_init_data
) {
4597 .name
= "gcc_qupv3_wrap_2_m_ahb_clk",
4598 .ops
= &clk_branch2_ops
,
4603 static struct clk_branch gcc_qupv3_wrap_2_s_ahb_clk
= {
4604 .halt_reg
= 0x232a4,
4605 .halt_check
= BRANCH_HALT_VOTED
,
4606 .hwcg_reg
= 0x232a4,
4609 .enable_reg
= 0x52010,
4610 .enable_mask
= BIT(1),
4611 .hw
.init
= &(const struct clk_init_data
) {
4612 .name
= "gcc_qupv3_wrap_2_s_ahb_clk",
4613 .ops
= &clk_branch2_ops
,
4618 static struct clk_branch gcc_sdcc2_ahb_clk
= {
4619 .halt_reg
= 0x14010,
4620 .halt_check
= BRANCH_HALT
,
4622 .enable_reg
= 0x14010,
4623 .enable_mask
= BIT(0),
4624 .hw
.init
= &(const struct clk_init_data
) {
4625 .name
= "gcc_sdcc2_ahb_clk",
4626 .ops
= &clk_branch2_ops
,
4631 static struct clk_branch gcc_sdcc2_apps_clk
= {
4632 .halt_reg
= 0x14004,
4633 .halt_check
= BRANCH_HALT
,
4635 .enable_reg
= 0x14004,
4636 .enable_mask
= BIT(0),
4637 .hw
.init
= &(const struct clk_init_data
) {
4638 .name
= "gcc_sdcc2_apps_clk",
4639 .parent_hws
= (const struct clk_hw
*[]) {
4640 &gcc_sdcc2_apps_clk_src
.clkr
.hw
,
4643 .flags
= CLK_SET_RATE_PARENT
,
4644 .ops
= &clk_branch2_ops
,
4649 static struct clk_branch gcc_sdcc4_ahb_clk
= {
4650 .halt_reg
= 0x16010,
4651 .halt_check
= BRANCH_HALT
,
4653 .enable_reg
= 0x16010,
4654 .enable_mask
= BIT(0),
4655 .hw
.init
= &(const struct clk_init_data
) {
4656 .name
= "gcc_sdcc4_ahb_clk",
4657 .ops
= &clk_branch2_ops
,
4662 static struct clk_branch gcc_sdcc4_apps_clk
= {
4663 .halt_reg
= 0x16004,
4664 .halt_check
= BRANCH_HALT
,
4666 .enable_reg
= 0x16004,
4667 .enable_mask
= BIT(0),
4668 .hw
.init
= &(const struct clk_init_data
) {
4669 .name
= "gcc_sdcc4_apps_clk",
4670 .parent_hws
= (const struct clk_hw
*[]) {
4671 &gcc_sdcc4_apps_clk_src
.clkr
.hw
,
4674 .flags
= CLK_SET_RATE_PARENT
,
4675 .ops
= &clk_branch2_ops
,
4680 static struct clk_branch gcc_sys_noc_usb_axi_clk
= {
4681 .halt_reg
= 0x2d014,
4682 .halt_check
= BRANCH_HALT_VOTED
,
4683 .hwcg_reg
= 0x2d014,
4686 .enable_reg
= 0x2d014,
4687 .enable_mask
= BIT(0),
4688 .hw
.init
= &(const struct clk_init_data
) {
4689 .name
= "gcc_sys_noc_usb_axi_clk",
4690 .ops
= &clk_branch2_ops
,
4695 static struct clk_branch gcc_ufs_phy_ahb_clk
= {
4696 .halt_reg
= 0x77024,
4697 .halt_check
= BRANCH_HALT_VOTED
,
4698 .hwcg_reg
= 0x77024,
4701 .enable_reg
= 0x77024,
4702 .enable_mask
= BIT(0),
4703 .hw
.init
= &(const struct clk_init_data
) {
4704 .name
= "gcc_ufs_phy_ahb_clk",
4705 .ops
= &clk_branch2_ops
,
4710 static struct clk_branch gcc_ufs_phy_axi_clk
= {
4711 .halt_reg
= 0x77018,
4712 .halt_check
= BRANCH_HALT_VOTED
,
4713 .hwcg_reg
= 0x77018,
4716 .enable_reg
= 0x77018,
4717 .enable_mask
= BIT(0),
4718 .hw
.init
= &(const struct clk_init_data
) {
4719 .name
= "gcc_ufs_phy_axi_clk",
4720 .parent_hws
= (const struct clk_hw
*[]) {
4721 &gcc_ufs_phy_axi_clk_src
.clkr
.hw
,
4724 .flags
= CLK_SET_RATE_PARENT
,
4725 .ops
= &clk_branch2_ops
,
4730 static struct clk_branch gcc_ufs_phy_ice_core_clk
= {
4731 .halt_reg
= 0x77074,
4732 .halt_check
= BRANCH_HALT_VOTED
,
4733 .hwcg_reg
= 0x77074,
4736 .enable_reg
= 0x77074,
4737 .enable_mask
= BIT(0),
4738 .hw
.init
= &(const struct clk_init_data
) {
4739 .name
= "gcc_ufs_phy_ice_core_clk",
4740 .parent_hws
= (const struct clk_hw
*[]) {
4741 &gcc_ufs_phy_ice_core_clk_src
.clkr
.hw
,
4744 .flags
= CLK_SET_RATE_PARENT
,
4745 .ops
= &clk_branch2_ops
,
4750 static struct clk_branch gcc_ufs_phy_phy_aux_clk
= {
4751 .halt_reg
= 0x770b0,
4752 .halt_check
= BRANCH_HALT_VOTED
,
4753 .hwcg_reg
= 0x770b0,
4756 .enable_reg
= 0x770b0,
4757 .enable_mask
= BIT(0),
4758 .hw
.init
= &(const struct clk_init_data
) {
4759 .name
= "gcc_ufs_phy_phy_aux_clk",
4760 .parent_hws
= (const struct clk_hw
*[]) {
4761 &gcc_ufs_phy_phy_aux_clk_src
.clkr
.hw
,
4764 .flags
= CLK_SET_RATE_PARENT
,
4765 .ops
= &clk_branch2_ops
,
4770 static struct clk_branch gcc_ufs_phy_rx_symbol_0_clk
= {
4771 .halt_reg
= 0x7702c,
4772 .halt_check
= BRANCH_HALT
,
4774 .enable_reg
= 0x7702c,
4775 .enable_mask
= BIT(0),
4776 .hw
.init
= &(const struct clk_init_data
) {
4777 .name
= "gcc_ufs_phy_rx_symbol_0_clk",
4778 .ops
= &clk_branch2_ops
,
4783 static struct clk_branch gcc_ufs_phy_rx_symbol_1_clk
= {
4784 .halt_reg
= 0x770cc,
4785 .halt_check
= BRANCH_HALT
,
4787 .enable_reg
= 0x770cc,
4788 .enable_mask
= BIT(0),
4789 .hw
.init
= &(const struct clk_init_data
) {
4790 .name
= "gcc_ufs_phy_rx_symbol_1_clk",
4791 .ops
= &clk_branch2_ops
,
4796 static struct clk_branch gcc_ufs_phy_tx_symbol_0_clk
= {
4797 .halt_reg
= 0x77028,
4798 .halt_check
= BRANCH_HALT
,
4800 .enable_reg
= 0x77028,
4801 .enable_mask
= BIT(0),
4802 .hw
.init
= &(const struct clk_init_data
) {
4803 .name
= "gcc_ufs_phy_tx_symbol_0_clk",
4804 .ops
= &clk_branch2_ops
,
4809 static struct clk_branch gcc_ufs_phy_unipro_core_clk
= {
4810 .halt_reg
= 0x77068,
4811 .halt_check
= BRANCH_HALT_VOTED
,
4812 .hwcg_reg
= 0x77068,
4815 .enable_reg
= 0x77068,
4816 .enable_mask
= BIT(0),
4817 .hw
.init
= &(const struct clk_init_data
) {
4818 .name
= "gcc_ufs_phy_unipro_core_clk",
4819 .parent_hws
= (const struct clk_hw
*[]) {
4820 &gcc_ufs_phy_unipro_core_clk_src
.clkr
.hw
,
4823 .flags
= CLK_SET_RATE_PARENT
,
4824 .ops
= &clk_branch2_ops
,
4829 static struct clk_branch gcc_usb20_master_clk
= {
4830 .halt_reg
= 0x29018,
4831 .halt_check
= BRANCH_HALT
,
4833 .enable_reg
= 0x29018,
4834 .enable_mask
= BIT(0),
4835 .hw
.init
= &(const struct clk_init_data
) {
4836 .name
= "gcc_usb20_master_clk",
4837 .parent_hws
= (const struct clk_hw
*[]) {
4838 &gcc_usb20_master_clk_src
.clkr
.hw
,
4841 .flags
= CLK_SET_RATE_PARENT
,
4842 .ops
= &clk_branch2_ops
,
4847 static struct clk_branch gcc_usb20_mock_utmi_clk
= {
4848 .halt_reg
= 0x29028,
4849 .halt_check
= BRANCH_HALT
,
4851 .enable_reg
= 0x29028,
4852 .enable_mask
= BIT(0),
4853 .hw
.init
= &(const struct clk_init_data
) {
4854 .name
= "gcc_usb20_mock_utmi_clk",
4855 .parent_hws
= (const struct clk_hw
*[]) {
4856 &gcc_usb20_mock_utmi_postdiv_clk_src
.clkr
.hw
,
4859 .flags
= CLK_SET_RATE_PARENT
,
4860 .ops
= &clk_branch2_ops
,
4865 static struct clk_branch gcc_usb20_sleep_clk
= {
4866 .halt_reg
= 0x29024,
4867 .halt_check
= BRANCH_HALT
,
4869 .enable_reg
= 0x29024,
4870 .enable_mask
= BIT(0),
4871 .hw
.init
= &(const struct clk_init_data
) {
4872 .name
= "gcc_usb20_sleep_clk",
4873 .ops
= &clk_branch2_ops
,
4878 static struct clk_branch gcc_usb30_mp_master_clk
= {
4879 .halt_reg
= 0x17018,
4880 .halt_check
= BRANCH_HALT
,
4882 .enable_reg
= 0x17018,
4883 .enable_mask
= BIT(0),
4884 .hw
.init
= &(const struct clk_init_data
) {
4885 .name
= "gcc_usb30_mp_master_clk",
4886 .parent_hws
= (const struct clk_hw
*[]) {
4887 &gcc_usb30_mp_master_clk_src
.clkr
.hw
,
4890 .flags
= CLK_SET_RATE_PARENT
,
4891 .ops
= &clk_branch2_ops
,
4896 static struct clk_branch gcc_usb30_mp_mock_utmi_clk
= {
4897 .halt_reg
= 0x17028,
4898 .halt_check
= BRANCH_HALT
,
4900 .enable_reg
= 0x17028,
4901 .enable_mask
= BIT(0),
4902 .hw
.init
= &(const struct clk_init_data
) {
4903 .name
= "gcc_usb30_mp_mock_utmi_clk",
4904 .parent_hws
= (const struct clk_hw
*[]) {
4905 &gcc_usb30_mp_mock_utmi_postdiv_clk_src
.clkr
.hw
,
4908 .flags
= CLK_SET_RATE_PARENT
,
4909 .ops
= &clk_branch2_ops
,
4914 static struct clk_branch gcc_usb30_mp_sleep_clk
= {
4915 .halt_reg
= 0x17024,
4916 .halt_check
= BRANCH_HALT
,
4918 .enable_reg
= 0x17024,
4919 .enable_mask
= BIT(0),
4920 .hw
.init
= &(const struct clk_init_data
) {
4921 .name
= "gcc_usb30_mp_sleep_clk",
4922 .ops
= &clk_branch2_ops
,
4927 static struct clk_branch gcc_usb30_prim_master_clk
= {
4928 .halt_reg
= 0x39018,
4929 .halt_check
= BRANCH_HALT
,
4931 .enable_reg
= 0x39018,
4932 .enable_mask
= BIT(0),
4933 .hw
.init
= &(const struct clk_init_data
) {
4934 .name
= "gcc_usb30_prim_master_clk",
4935 .parent_hws
= (const struct clk_hw
*[]) {
4936 &gcc_usb30_prim_master_clk_src
.clkr
.hw
,
4939 .flags
= CLK_SET_RATE_PARENT
,
4940 .ops
= &clk_branch2_ops
,
4945 static struct clk_branch gcc_usb30_prim_mock_utmi_clk
= {
4946 .halt_reg
= 0x39028,
4947 .halt_check
= BRANCH_HALT
,
4949 .enable_reg
= 0x39028,
4950 .enable_mask
= BIT(0),
4951 .hw
.init
= &(const struct clk_init_data
) {
4952 .name
= "gcc_usb30_prim_mock_utmi_clk",
4953 .parent_hws
= (const struct clk_hw
*[]) {
4954 &gcc_usb30_prim_mock_utmi_postdiv_clk_src
.clkr
.hw
,
4957 .flags
= CLK_SET_RATE_PARENT
,
4958 .ops
= &clk_branch2_ops
,
4963 static struct clk_branch gcc_usb30_prim_sleep_clk
= {
4964 .halt_reg
= 0x39024,
4965 .halt_check
= BRANCH_HALT
,
4967 .enable_reg
= 0x39024,
4968 .enable_mask
= BIT(0),
4969 .hw
.init
= &(const struct clk_init_data
) {
4970 .name
= "gcc_usb30_prim_sleep_clk",
4971 .ops
= &clk_branch2_ops
,
4976 static struct clk_branch gcc_usb30_sec_master_clk
= {
4977 .halt_reg
= 0xa1018,
4978 .halt_check
= BRANCH_HALT
,
4980 .enable_reg
= 0xa1018,
4981 .enable_mask
= BIT(0),
4982 .hw
.init
= &(const struct clk_init_data
) {
4983 .name
= "gcc_usb30_sec_master_clk",
4984 .parent_hws
= (const struct clk_hw
*[]) {
4985 &gcc_usb30_sec_master_clk_src
.clkr
.hw
,
4988 .flags
= CLK_SET_RATE_PARENT
,
4989 .ops
= &clk_branch2_ops
,
4994 static struct clk_branch gcc_usb30_sec_mock_utmi_clk
= {
4995 .halt_reg
= 0xa1028,
4996 .halt_check
= BRANCH_HALT
,
4998 .enable_reg
= 0xa1028,
4999 .enable_mask
= BIT(0),
5000 .hw
.init
= &(const struct clk_init_data
) {
5001 .name
= "gcc_usb30_sec_mock_utmi_clk",
5002 .parent_hws
= (const struct clk_hw
*[]) {
5003 &gcc_usb30_sec_mock_utmi_postdiv_clk_src
.clkr
.hw
,
5006 .flags
= CLK_SET_RATE_PARENT
,
5007 .ops
= &clk_branch2_ops
,
5012 static struct clk_branch gcc_usb30_sec_sleep_clk
= {
5013 .halt_reg
= 0xa1024,
5014 .halt_check
= BRANCH_HALT
,
5016 .enable_reg
= 0xa1024,
5017 .enable_mask
= BIT(0),
5018 .hw
.init
= &(const struct clk_init_data
) {
5019 .name
= "gcc_usb30_sec_sleep_clk",
5020 .ops
= &clk_branch2_ops
,
5025 static struct clk_branch gcc_usb30_tert_master_clk
= {
5026 .halt_reg
= 0xa2018,
5027 .halt_check
= BRANCH_HALT
,
5029 .enable_reg
= 0xa2018,
5030 .enable_mask
= BIT(0),
5031 .hw
.init
= &(const struct clk_init_data
) {
5032 .name
= "gcc_usb30_tert_master_clk",
5033 .parent_hws
= (const struct clk_hw
*[]) {
5034 &gcc_usb30_tert_master_clk_src
.clkr
.hw
,
5037 .flags
= CLK_SET_RATE_PARENT
,
5038 .ops
= &clk_branch2_ops
,
5043 static struct clk_branch gcc_usb30_tert_mock_utmi_clk
= {
5044 .halt_reg
= 0xa2028,
5045 .halt_check
= BRANCH_HALT
,
5047 .enable_reg
= 0xa2028,
5048 .enable_mask
= BIT(0),
5049 .hw
.init
= &(const struct clk_init_data
) {
5050 .name
= "gcc_usb30_tert_mock_utmi_clk",
5051 .parent_hws
= (const struct clk_hw
*[]) {
5052 &gcc_usb30_tert_mock_utmi_postdiv_clk_src
.clkr
.hw
,
5055 .flags
= CLK_SET_RATE_PARENT
,
5056 .ops
= &clk_branch2_ops
,
5061 static struct clk_branch gcc_usb30_tert_sleep_clk
= {
5062 .halt_reg
= 0xa2024,
5063 .halt_check
= BRANCH_HALT
,
5065 .enable_reg
= 0xa2024,
5066 .enable_mask
= BIT(0),
5067 .hw
.init
= &(const struct clk_init_data
) {
5068 .name
= "gcc_usb30_tert_sleep_clk",
5069 .ops
= &clk_branch2_ops
,
5074 static struct clk_branch gcc_usb3_mp_phy_aux_clk
= {
5075 .halt_reg
= 0x17288,
5076 .halt_check
= BRANCH_HALT
,
5078 .enable_reg
= 0x17288,
5079 .enable_mask
= BIT(0),
5080 .hw
.init
= &(const struct clk_init_data
) {
5081 .name
= "gcc_usb3_mp_phy_aux_clk",
5082 .parent_hws
= (const struct clk_hw
*[]) {
5083 &gcc_usb3_mp_phy_aux_clk_src
.clkr
.hw
,
5086 .flags
= CLK_SET_RATE_PARENT
,
5087 .ops
= &clk_branch2_ops
,
5092 static struct clk_branch gcc_usb3_mp_phy_com_aux_clk
= {
5093 .halt_reg
= 0x1728c,
5094 .halt_check
= BRANCH_HALT
,
5096 .enable_reg
= 0x1728c,
5097 .enable_mask
= BIT(0),
5098 .hw
.init
= &(const struct clk_init_data
) {
5099 .name
= "gcc_usb3_mp_phy_com_aux_clk",
5100 .parent_hws
= (const struct clk_hw
*[]) {
5101 &gcc_usb3_mp_phy_aux_clk_src
.clkr
.hw
,
5104 .flags
= CLK_SET_RATE_PARENT
,
5105 .ops
= &clk_branch2_ops
,
5110 static struct clk_branch gcc_usb3_mp_phy_pipe_0_clk
= {
5111 .halt_reg
= 0x17290,
5112 .halt_check
= BRANCH_HALT_SKIP
,
5114 .enable_reg
= 0x17290,
5115 .enable_mask
= BIT(0),
5116 .hw
.init
= &(const struct clk_init_data
) {
5117 .name
= "gcc_usb3_mp_phy_pipe_0_clk",
5118 .ops
= &clk_branch2_ops
,
5123 static struct clk_branch gcc_usb3_mp_phy_pipe_1_clk
= {
5124 .halt_reg
= 0x17298,
5125 .halt_check
= BRANCH_HALT_SKIP
,
5127 .enable_reg
= 0x17298,
5128 .enable_mask
= BIT(0),
5129 .hw
.init
= &(const struct clk_init_data
) {
5130 .name
= "gcc_usb3_mp_phy_pipe_1_clk",
5131 .ops
= &clk_branch2_ops
,
5136 static struct clk_branch gcc_usb3_prim_phy_aux_clk
= {
5137 .halt_reg
= 0x39060,
5138 .halt_check
= BRANCH_HALT
,
5140 .enable_reg
= 0x39060,
5141 .enable_mask
= BIT(0),
5142 .hw
.init
= &(const struct clk_init_data
) {
5143 .name
= "gcc_usb3_prim_phy_aux_clk",
5144 .parent_hws
= (const struct clk_hw
*[]) {
5145 &gcc_usb3_prim_phy_aux_clk_src
.clkr
.hw
,
5148 .flags
= CLK_SET_RATE_PARENT
,
5149 .ops
= &clk_branch2_ops
,
5154 static struct clk_branch gcc_usb3_prim_phy_com_aux_clk
= {
5155 .halt_reg
= 0x39064,
5156 .halt_check
= BRANCH_HALT
,
5158 .enable_reg
= 0x39064,
5159 .enable_mask
= BIT(0),
5160 .hw
.init
= &(const struct clk_init_data
) {
5161 .name
= "gcc_usb3_prim_phy_com_aux_clk",
5162 .parent_hws
= (const struct clk_hw
*[]) {
5163 &gcc_usb3_prim_phy_aux_clk_src
.clkr
.hw
,
5166 .flags
= CLK_SET_RATE_PARENT
,
5167 .ops
= &clk_branch2_ops
,
5172 static struct clk_regmap_mux gcc_usb3_prim_phy_pipe_clk_src
= {
5176 .parent_map
= gcc_parent_map_10
,
5178 .hw
.init
= &(struct clk_init_data
){
5179 .name
= "gcc_usb3_prim_phy_pipe_clk_src",
5180 .parent_data
= gcc_parent_data_10
,
5181 .num_parents
= ARRAY_SIZE(gcc_parent_data_10
),
5182 .ops
= &clk_regmap_mux_closest_ops
,
5187 static struct clk_branch gcc_usb3_prim_phy_pipe_clk
= {
5188 .halt_reg
= 0x39068,
5189 .halt_check
= BRANCH_HALT_SKIP
,
5190 .hwcg_reg
= 0x39068,
5193 .enable_reg
= 0x39068,
5194 .enable_mask
= BIT(0),
5195 .hw
.init
= &(const struct clk_init_data
) {
5196 .name
= "gcc_usb3_prim_phy_pipe_clk",
5197 .parent_hws
= (const struct clk_hw
*[]) {
5198 &gcc_usb3_prim_phy_pipe_clk_src
.clkr
.hw
,
5201 .flags
= CLK_SET_RATE_PARENT
,
5202 .ops
= &clk_branch2_ops
,
5207 static struct clk_branch gcc_usb3_sec_phy_aux_clk
= {
5208 .halt_reg
= 0xa1060,
5209 .halt_check
= BRANCH_HALT
,
5211 .enable_reg
= 0xa1060,
5212 .enable_mask
= BIT(0),
5213 .hw
.init
= &(const struct clk_init_data
) {
5214 .name
= "gcc_usb3_sec_phy_aux_clk",
5215 .parent_hws
= (const struct clk_hw
*[]) {
5216 &gcc_usb3_sec_phy_aux_clk_src
.clkr
.hw
,
5219 .flags
= CLK_SET_RATE_PARENT
,
5220 .ops
= &clk_branch2_ops
,
5225 static struct clk_branch gcc_usb3_sec_phy_com_aux_clk
= {
5226 .halt_reg
= 0xa1064,
5227 .halt_check
= BRANCH_HALT
,
5229 .enable_reg
= 0xa1064,
5230 .enable_mask
= BIT(0),
5231 .hw
.init
= &(const struct clk_init_data
) {
5232 .name
= "gcc_usb3_sec_phy_com_aux_clk",
5233 .parent_hws
= (const struct clk_hw
*[]) {
5234 &gcc_usb3_sec_phy_aux_clk_src
.clkr
.hw
,
5237 .flags
= CLK_SET_RATE_PARENT
,
5238 .ops
= &clk_branch2_ops
,
5243 static struct clk_regmap_mux gcc_usb3_sec_phy_pipe_clk_src
= {
5247 .parent_map
= gcc_parent_map_11
,
5249 .hw
.init
= &(struct clk_init_data
){
5250 .name
= "gcc_usb3_sec_phy_pipe_clk_src",
5251 .parent_data
= gcc_parent_data_11
,
5252 .num_parents
= ARRAY_SIZE(gcc_parent_data_11
),
5253 .ops
= &clk_regmap_mux_closest_ops
,
5258 static struct clk_branch gcc_usb3_sec_phy_pipe_clk
= {
5259 .halt_reg
= 0xa1068,
5260 .halt_check
= BRANCH_HALT_SKIP
,
5261 .hwcg_reg
= 0xa1068,
5264 .enable_reg
= 0xa1068,
5265 .enable_mask
= BIT(0),
5266 .hw
.init
= &(const struct clk_init_data
) {
5267 .name
= "gcc_usb3_sec_phy_pipe_clk",
5268 .parent_hws
= (const struct clk_hw
*[]) {
5269 &gcc_usb3_sec_phy_pipe_clk_src
.clkr
.hw
,
5272 .flags
= CLK_SET_RATE_PARENT
,
5273 .ops
= &clk_branch2_ops
,
5278 static struct clk_branch gcc_usb3_tert_phy_aux_clk
= {
5279 .halt_reg
= 0xa2060,
5280 .halt_check
= BRANCH_HALT
,
5282 .enable_reg
= 0xa2060,
5283 .enable_mask
= BIT(0),
5284 .hw
.init
= &(const struct clk_init_data
) {
5285 .name
= "gcc_usb3_tert_phy_aux_clk",
5286 .parent_hws
= (const struct clk_hw
*[]) {
5287 &gcc_usb3_tert_phy_aux_clk_src
.clkr
.hw
,
5290 .flags
= CLK_SET_RATE_PARENT
,
5291 .ops
= &clk_branch2_ops
,
5296 static struct clk_branch gcc_usb3_tert_phy_com_aux_clk
= {
5297 .halt_reg
= 0xa2064,
5298 .halt_check
= BRANCH_HALT
,
5300 .enable_reg
= 0xa2064,
5301 .enable_mask
= BIT(0),
5302 .hw
.init
= &(const struct clk_init_data
) {
5303 .name
= "gcc_usb3_tert_phy_com_aux_clk",
5304 .parent_hws
= (const struct clk_hw
*[]) {
5305 &gcc_usb3_tert_phy_aux_clk_src
.clkr
.hw
,
5308 .flags
= CLK_SET_RATE_PARENT
,
5309 .ops
= &clk_branch2_ops
,
5314 static struct clk_regmap_mux gcc_usb3_tert_phy_pipe_clk_src
= {
5318 .parent_map
= gcc_parent_map_12
,
5320 .hw
.init
= &(struct clk_init_data
){
5321 .name
= "gcc_usb3_tert_phy_pipe_clk_src",
5322 .parent_data
= gcc_parent_data_12
,
5323 .num_parents
= ARRAY_SIZE(gcc_parent_data_12
),
5324 .ops
= &clk_regmap_mux_closest_ops
,
5329 static struct clk_branch gcc_usb3_tert_phy_pipe_clk
= {
5330 .halt_reg
= 0xa2068,
5331 .halt_check
= BRANCH_HALT_SKIP
,
5332 .hwcg_reg
= 0xa2068,
5335 .enable_reg
= 0xa2068,
5336 .enable_mask
= BIT(0),
5337 .hw
.init
= &(const struct clk_init_data
) {
5338 .name
= "gcc_usb3_tert_phy_pipe_clk",
5339 .parent_hws
= (const struct clk_hw
*[]) {
5340 &gcc_usb3_tert_phy_pipe_clk_src
.clkr
.hw
,
5343 .flags
= CLK_SET_RATE_PARENT
,
5344 .ops
= &clk_branch2_ops
,
5349 static struct clk_branch gcc_usb4_0_cfg_ahb_clk
= {
5350 .halt_reg
= 0x9f0a8,
5351 .halt_check
= BRANCH_HALT_VOTED
,
5352 .hwcg_reg
= 0x9f0a8,
5355 .enable_reg
= 0x9f0a8,
5356 .enable_mask
= BIT(0),
5357 .hw
.init
= &(const struct clk_init_data
) {
5358 .name
= "gcc_usb4_0_cfg_ahb_clk",
5359 .ops
= &clk_branch2_ops
,
5364 static struct clk_branch gcc_usb4_0_dp0_clk
= {
5365 .halt_reg
= 0x9f060,
5366 .halt_check
= BRANCH_HALT
,
5368 .enable_reg
= 0x9f060,
5369 .enable_mask
= BIT(0),
5370 .hw
.init
= &(const struct clk_init_data
) {
5371 .name
= "gcc_usb4_0_dp0_clk",
5372 .ops
= &clk_branch2_ops
,
5377 static struct clk_branch gcc_usb4_0_dp1_clk
= {
5378 .halt_reg
= 0x9f108,
5379 .halt_check
= BRANCH_HALT
,
5381 .enable_reg
= 0x9f108,
5382 .enable_mask
= BIT(0),
5383 .hw
.init
= &(const struct clk_init_data
) {
5384 .name
= "gcc_usb4_0_dp1_clk",
5385 .ops
= &clk_branch2_ops
,
5390 static struct clk_branch gcc_usb4_0_master_clk
= {
5391 .halt_reg
= 0x9f018,
5392 .halt_check
= BRANCH_HALT
,
5394 .enable_reg
= 0x9f018,
5395 .enable_mask
= BIT(0),
5396 .hw
.init
= &(const struct clk_init_data
) {
5397 .name
= "gcc_usb4_0_master_clk",
5398 .parent_hws
= (const struct clk_hw
*[]) {
5399 &gcc_usb4_0_master_clk_src
.clkr
.hw
,
5402 .flags
= CLK_SET_RATE_PARENT
,
5403 .ops
= &clk_branch2_ops
,
5408 static struct clk_branch gcc_usb4_0_phy_p2rr2p_pipe_clk
= {
5409 .halt_reg
= 0x9f0d8,
5410 .halt_check
= BRANCH_HALT_SKIP
,
5412 .enable_reg
= 0x9f0d8,
5413 .enable_mask
= BIT(0),
5414 .hw
.init
= &(const struct clk_init_data
) {
5415 .name
= "gcc_usb4_0_phy_p2rr2p_pipe_clk",
5416 .ops
= &clk_branch2_ops
,
5421 static struct clk_branch gcc_usb4_0_phy_pcie_pipe_clk
= {
5422 .halt_reg
= 0x9f048,
5423 .halt_check
= BRANCH_HALT_SKIP
,
5425 .enable_reg
= 0x52010,
5426 .enable_mask
= BIT(19),
5427 .hw
.init
= &(const struct clk_init_data
) {
5428 .name
= "gcc_usb4_0_phy_pcie_pipe_clk",
5429 .ops
= &clk_branch2_ops
,
5434 static struct clk_branch gcc_usb4_0_phy_rx0_clk
= {
5435 .halt_reg
= 0x9f0b0,
5436 .halt_check
= BRANCH_HALT
,
5438 .enable_reg
= 0x9f0b0,
5439 .enable_mask
= BIT(0),
5440 .hw
.init
= &(const struct clk_init_data
) {
5441 .name
= "gcc_usb4_0_phy_rx0_clk",
5442 .ops
= &clk_branch2_ops
,
5447 static struct clk_branch gcc_usb4_0_phy_rx1_clk
= {
5448 .halt_reg
= 0x9f0c0,
5449 .halt_check
= BRANCH_HALT
,
5451 .enable_reg
= 0x9f0c0,
5452 .enable_mask
= BIT(0),
5453 .hw
.init
= &(const struct clk_init_data
) {
5454 .name
= "gcc_usb4_0_phy_rx1_clk",
5455 .ops
= &clk_branch2_ops
,
5460 static struct clk_branch gcc_usb4_0_phy_usb_pipe_clk
= {
5461 .halt_reg
= 0x9f0a4,
5462 .halt_check
= BRANCH_HALT_SKIP
,
5463 .hwcg_reg
= 0x9f0a4,
5466 .enable_reg
= 0x9f0a4,
5467 .enable_mask
= BIT(0),
5468 .hw
.init
= &(const struct clk_init_data
) {
5469 .name
= "gcc_usb4_0_phy_usb_pipe_clk",
5470 .ops
= &clk_branch2_ops
,
5475 static struct clk_branch gcc_usb4_0_sb_if_clk
= {
5476 .halt_reg
= 0x9f044,
5477 .halt_check
= BRANCH_HALT
,
5479 .enable_reg
= 0x9f044,
5480 .enable_mask
= BIT(0),
5481 .hw
.init
= &(const struct clk_init_data
) {
5482 .name
= "gcc_usb4_0_sb_if_clk",
5483 .parent_hws
= (const struct clk_hw
*[]) {
5484 &gcc_usb4_0_sb_if_clk_src
.clkr
.hw
,
5487 .flags
= CLK_SET_RATE_PARENT
,
5488 .ops
= &clk_branch2_ops
,
5493 static struct clk_branch gcc_usb4_0_sys_clk
= {
5494 .halt_reg
= 0x9f054,
5495 .halt_check
= BRANCH_HALT
,
5497 .enable_reg
= 0x9f054,
5498 .enable_mask
= BIT(0),
5499 .hw
.init
= &(const struct clk_init_data
) {
5500 .name
= "gcc_usb4_0_sys_clk",
5501 .ops
= &clk_branch2_ops
,
5506 static struct clk_branch gcc_usb4_0_tmu_clk
= {
5507 .halt_reg
= 0x9f088,
5508 .halt_check
= BRANCH_HALT_VOTED
,
5509 .hwcg_reg
= 0x9f088,
5512 .enable_reg
= 0x9f088,
5513 .enable_mask
= BIT(0),
5514 .hw
.init
= &(const struct clk_init_data
) {
5515 .name
= "gcc_usb4_0_tmu_clk",
5516 .parent_hws
= (const struct clk_hw
*[]) {
5517 &gcc_usb4_0_tmu_clk_src
.clkr
.hw
,
5520 .flags
= CLK_SET_RATE_PARENT
,
5521 .ops
= &clk_branch2_ops
,
5526 static struct clk_branch gcc_usb4_1_cfg_ahb_clk
= {
5527 .halt_reg
= 0x2b0a8,
5528 .halt_check
= BRANCH_HALT_VOTED
,
5529 .hwcg_reg
= 0x2b0a8,
5532 .enable_reg
= 0x2b0a8,
5533 .enable_mask
= BIT(0),
5534 .hw
.init
= &(const struct clk_init_data
) {
5535 .name
= "gcc_usb4_1_cfg_ahb_clk",
5536 .ops
= &clk_branch2_ops
,
5541 static struct clk_branch gcc_usb4_1_dp0_clk
= {
5542 .halt_reg
= 0x2b060,
5543 .halt_check
= BRANCH_HALT
,
5545 .enable_reg
= 0x2b060,
5546 .enable_mask
= BIT(0),
5547 .hw
.init
= &(const struct clk_init_data
) {
5548 .name
= "gcc_usb4_1_dp0_clk",
5549 .ops
= &clk_branch2_ops
,
5554 static struct clk_branch gcc_usb4_1_dp1_clk
= {
5555 .halt_reg
= 0x2b108,
5556 .halt_check
= BRANCH_HALT
,
5558 .enable_reg
= 0x2b108,
5559 .enable_mask
= BIT(0),
5560 .hw
.init
= &(const struct clk_init_data
) {
5561 .name
= "gcc_usb4_1_dp1_clk",
5562 .ops
= &clk_branch2_ops
,
5567 static struct clk_branch gcc_usb4_1_master_clk
= {
5568 .halt_reg
= 0x2b018,
5569 .halt_check
= BRANCH_HALT
,
5571 .enable_reg
= 0x2b018,
5572 .enable_mask
= BIT(0),
5573 .hw
.init
= &(const struct clk_init_data
) {
5574 .name
= "gcc_usb4_1_master_clk",
5575 .parent_hws
= (const struct clk_hw
*[]) {
5576 &gcc_usb4_1_master_clk_src
.clkr
.hw
,
5579 .flags
= CLK_SET_RATE_PARENT
,
5580 .ops
= &clk_branch2_ops
,
5585 static struct clk_branch gcc_usb4_1_phy_p2rr2p_pipe_clk
= {
5586 .halt_reg
= 0x2b0d8,
5587 .halt_check
= BRANCH_HALT_SKIP
,
5589 .enable_reg
= 0x2b0d8,
5590 .enable_mask
= BIT(0),
5591 .hw
.init
= &(const struct clk_init_data
) {
5592 .name
= "gcc_usb4_1_phy_p2rr2p_pipe_clk",
5593 .ops
= &clk_branch2_ops
,
5598 static struct clk_branch gcc_usb4_1_phy_pcie_pipe_clk
= {
5599 .halt_reg
= 0x2b048,
5600 .halt_check
= BRANCH_HALT_SKIP
,
5602 .enable_reg
= 0x52028,
5603 .enable_mask
= BIT(0),
5604 .hw
.init
= &(const struct clk_init_data
) {
5605 .name
= "gcc_usb4_1_phy_pcie_pipe_clk",
5606 .ops
= &clk_branch2_ops
,
5611 static struct clk_branch gcc_usb4_1_phy_rx0_clk
= {
5612 .halt_reg
= 0x2b0b0,
5613 .halt_check
= BRANCH_HALT
,
5615 .enable_reg
= 0x2b0b0,
5616 .enable_mask
= BIT(0),
5617 .hw
.init
= &(const struct clk_init_data
) {
5618 .name
= "gcc_usb4_1_phy_rx0_clk",
5619 .ops
= &clk_branch2_ops
,
5624 static struct clk_branch gcc_usb4_1_phy_rx1_clk
= {
5625 .halt_reg
= 0x2b0c0,
5626 .halt_check
= BRANCH_HALT
,
5628 .enable_reg
= 0x2b0c0,
5629 .enable_mask
= BIT(0),
5630 .hw
.init
= &(const struct clk_init_data
) {
5631 .name
= "gcc_usb4_1_phy_rx1_clk",
5632 .ops
= &clk_branch2_ops
,
5637 static struct clk_branch gcc_usb4_1_phy_usb_pipe_clk
= {
5638 .halt_reg
= 0x2b0a4,
5639 .halt_check
= BRANCH_HALT_SKIP
,
5640 .hwcg_reg
= 0x2b0a4,
5643 .enable_reg
= 0x2b0a4,
5644 .enable_mask
= BIT(0),
5645 .hw
.init
= &(const struct clk_init_data
) {
5646 .name
= "gcc_usb4_1_phy_usb_pipe_clk",
5647 .ops
= &clk_branch2_ops
,
5652 static struct clk_branch gcc_usb4_1_sb_if_clk
= {
5653 .halt_reg
= 0x2b044,
5654 .halt_check
= BRANCH_HALT
,
5656 .enable_reg
= 0x2b044,
5657 .enable_mask
= BIT(0),
5658 .hw
.init
= &(const struct clk_init_data
) {
5659 .name
= "gcc_usb4_1_sb_if_clk",
5660 .parent_hws
= (const struct clk_hw
*[]) {
5661 &gcc_usb4_1_sb_if_clk_src
.clkr
.hw
,
5664 .flags
= CLK_SET_RATE_PARENT
,
5665 .ops
= &clk_branch2_ops
,
5670 static struct clk_branch gcc_usb4_1_sys_clk
= {
5671 .halt_reg
= 0x2b054,
5672 .halt_check
= BRANCH_HALT
,
5674 .enable_reg
= 0x2b054,
5675 .enable_mask
= BIT(0),
5676 .hw
.init
= &(const struct clk_init_data
) {
5677 .name
= "gcc_usb4_1_sys_clk",
5678 .ops
= &clk_branch2_ops
,
5683 static struct clk_branch gcc_usb4_1_tmu_clk
= {
5684 .halt_reg
= 0x2b088,
5685 .halt_check
= BRANCH_HALT_VOTED
,
5686 .hwcg_reg
= 0x2b088,
5689 .enable_reg
= 0x2b088,
5690 .enable_mask
= BIT(0),
5691 .hw
.init
= &(const struct clk_init_data
) {
5692 .name
= "gcc_usb4_1_tmu_clk",
5693 .parent_hws
= (const struct clk_hw
*[]) {
5694 &gcc_usb4_1_tmu_clk_src
.clkr
.hw
,
5697 .flags
= CLK_SET_RATE_PARENT
,
5698 .ops
= &clk_branch2_ops
,
5703 static struct clk_branch gcc_usb4_2_cfg_ahb_clk
= {
5704 .halt_reg
= 0x110a8,
5705 .halt_check
= BRANCH_HALT_VOTED
,
5706 .hwcg_reg
= 0x110a8,
5709 .enable_reg
= 0x110a8,
5710 .enable_mask
= BIT(0),
5711 .hw
.init
= &(const struct clk_init_data
) {
5712 .name
= "gcc_usb4_2_cfg_ahb_clk",
5713 .ops
= &clk_branch2_ops
,
5718 static struct clk_branch gcc_usb4_2_dp0_clk
= {
5719 .halt_reg
= 0x11060,
5720 .halt_check
= BRANCH_HALT
,
5722 .enable_reg
= 0x11060,
5723 .enable_mask
= BIT(0),
5724 .hw
.init
= &(const struct clk_init_data
) {
5725 .name
= "gcc_usb4_2_dp0_clk",
5726 .ops
= &clk_branch2_ops
,
5731 static struct clk_branch gcc_usb4_2_dp1_clk
= {
5732 .halt_reg
= 0x11108,
5733 .halt_check
= BRANCH_HALT
,
5735 .enable_reg
= 0x11108,
5736 .enable_mask
= BIT(0),
5737 .hw
.init
= &(const struct clk_init_data
) {
5738 .name
= "gcc_usb4_2_dp1_clk",
5739 .ops
= &clk_branch2_ops
,
5744 static struct clk_branch gcc_usb4_2_master_clk
= {
5745 .halt_reg
= 0x11018,
5746 .halt_check
= BRANCH_HALT
,
5748 .enable_reg
= 0x11018,
5749 .enable_mask
= BIT(0),
5750 .hw
.init
= &(const struct clk_init_data
) {
5751 .name
= "gcc_usb4_2_master_clk",
5752 .parent_hws
= (const struct clk_hw
*[]) {
5753 &gcc_usb4_2_master_clk_src
.clkr
.hw
,
5756 .flags
= CLK_SET_RATE_PARENT
,
5757 .ops
= &clk_branch2_ops
,
5762 static struct clk_branch gcc_usb4_2_phy_p2rr2p_pipe_clk
= {
5763 .halt_reg
= 0x110d8,
5764 .halt_check
= BRANCH_HALT_SKIP
,
5766 .enable_reg
= 0x110d8,
5767 .enable_mask
= BIT(0),
5768 .hw
.init
= &(const struct clk_init_data
) {
5769 .name
= "gcc_usb4_2_phy_p2rr2p_pipe_clk",
5770 .ops
= &clk_branch2_ops
,
5775 static struct clk_branch gcc_usb4_2_phy_pcie_pipe_clk
= {
5776 .halt_reg
= 0x11048,
5777 .halt_check
= BRANCH_HALT_SKIP
,
5779 .enable_reg
= 0x52028,
5780 .enable_mask
= BIT(1),
5781 .hw
.init
= &(const struct clk_init_data
) {
5782 .name
= "gcc_usb4_2_phy_pcie_pipe_clk",
5783 .ops
= &clk_branch2_ops
,
5788 static struct clk_branch gcc_usb4_2_phy_rx0_clk
= {
5789 .halt_reg
= 0x110b0,
5790 .halt_check
= BRANCH_HALT
,
5792 .enable_reg
= 0x110b0,
5793 .enable_mask
= BIT(0),
5794 .hw
.init
= &(const struct clk_init_data
) {
5795 .name
= "gcc_usb4_2_phy_rx0_clk",
5796 .ops
= &clk_branch2_ops
,
5801 static struct clk_branch gcc_usb4_2_phy_rx1_clk
= {
5802 .halt_reg
= 0x110c0,
5803 .halt_check
= BRANCH_HALT
,
5805 .enable_reg
= 0x110c0,
5806 .enable_mask
= BIT(0),
5807 .hw
.init
= &(const struct clk_init_data
) {
5808 .name
= "gcc_usb4_2_phy_rx1_clk",
5809 .ops
= &clk_branch2_ops
,
5814 static struct clk_branch gcc_usb4_2_phy_usb_pipe_clk
= {
5815 .halt_reg
= 0x110a4,
5816 .halt_check
= BRANCH_HALT_SKIP
,
5817 .hwcg_reg
= 0x110a4,
5820 .enable_reg
= 0x110a4,
5821 .enable_mask
= BIT(0),
5822 .hw
.init
= &(const struct clk_init_data
) {
5823 .name
= "gcc_usb4_2_phy_usb_pipe_clk",
5824 .ops
= &clk_branch2_ops
,
5829 static struct clk_branch gcc_usb4_2_sb_if_clk
= {
5830 .halt_reg
= 0x11044,
5831 .halt_check
= BRANCH_HALT
,
5833 .enable_reg
= 0x11044,
5834 .enable_mask
= BIT(0),
5835 .hw
.init
= &(const struct clk_init_data
) {
5836 .name
= "gcc_usb4_2_sb_if_clk",
5837 .parent_hws
= (const struct clk_hw
*[]) {
5838 &gcc_usb4_2_sb_if_clk_src
.clkr
.hw
,
5841 .flags
= CLK_SET_RATE_PARENT
,
5842 .ops
= &clk_branch2_ops
,
5847 static struct clk_branch gcc_usb4_2_sys_clk
= {
5848 .halt_reg
= 0x11054,
5849 .halt_check
= BRANCH_HALT
,
5851 .enable_reg
= 0x11054,
5852 .enable_mask
= BIT(0),
5853 .hw
.init
= &(const struct clk_init_data
) {
5854 .name
= "gcc_usb4_2_sys_clk",
5855 .ops
= &clk_branch2_ops
,
5860 static struct clk_branch gcc_usb4_2_tmu_clk
= {
5861 .halt_reg
= 0x11088,
5862 .halt_check
= BRANCH_HALT_VOTED
,
5863 .hwcg_reg
= 0x11088,
5866 .enable_reg
= 0x11088,
5867 .enable_mask
= BIT(0),
5868 .hw
.init
= &(const struct clk_init_data
) {
5869 .name
= "gcc_usb4_2_tmu_clk",
5870 .parent_hws
= (const struct clk_hw
*[]) {
5871 &gcc_usb4_2_tmu_clk_src
.clkr
.hw
,
5874 .flags
= CLK_SET_RATE_PARENT
,
5875 .ops
= &clk_branch2_ops
,
5880 static struct clk_branch gcc_video_axi0_clk
= {
5881 .halt_reg
= 0x32018,
5882 .halt_check
= BRANCH_HALT_SKIP
,
5883 .hwcg_reg
= 0x32018,
5886 .enable_reg
= 0x32018,
5887 .enable_mask
= BIT(0),
5888 .hw
.init
= &(const struct clk_init_data
) {
5889 .name
= "gcc_video_axi0_clk",
5890 .ops
= &clk_branch2_ops
,
5895 static struct clk_branch gcc_video_axi1_clk
= {
5896 .halt_reg
= 0x32024,
5897 .halt_check
= BRANCH_HALT_SKIP
,
5898 .hwcg_reg
= 0x32024,
5901 .enable_reg
= 0x32024,
5902 .enable_mask
= BIT(0),
5903 .hw
.init
= &(const struct clk_init_data
) {
5904 .name
= "gcc_video_axi1_clk",
5905 .ops
= &clk_branch2_ops
,
5910 static struct gdsc gcc_pcie_0_tunnel_gdsc
= {
5912 .en_rest_wait_val
= 0x2,
5913 .en_few_wait_val
= 0x2,
5914 .clk_dis_wait_val
= 0xf,
5916 .name
= "gcc_pcie_0_tunnel_gdsc",
5918 .pwrsts
= PWRSTS_OFF_ON
,
5919 .flags
= POLL_CFG_GDSCR
| RETAIN_FF_ENABLE
| VOTABLE
,
5922 static struct gdsc gcc_pcie_1_tunnel_gdsc
= {
5924 .en_rest_wait_val
= 0x2,
5925 .en_few_wait_val
= 0x2,
5926 .clk_dis_wait_val
= 0xf,
5928 .name
= "gcc_pcie_1_tunnel_gdsc",
5930 .pwrsts
= PWRSTS_OFF_ON
,
5931 .flags
= POLL_CFG_GDSCR
| RETAIN_FF_ENABLE
| VOTABLE
,
5934 static struct gdsc gcc_pcie_2_tunnel_gdsc
= {
5936 .en_rest_wait_val
= 0x2,
5937 .en_few_wait_val
= 0x2,
5938 .clk_dis_wait_val
= 0xf,
5940 .name
= "gcc_pcie_2_tunnel_gdsc",
5942 .pwrsts
= PWRSTS_OFF_ON
,
5943 .flags
= POLL_CFG_GDSCR
| RETAIN_FF_ENABLE
| VOTABLE
,
5946 static struct gdsc gcc_pcie_3_gdsc
= {
5948 .en_rest_wait_val
= 0x2,
5949 .en_few_wait_val
= 0x2,
5950 .clk_dis_wait_val
= 0xf,
5952 .name
= "gcc_pcie_3_gdsc",
5954 .pwrsts
= PWRSTS_OFF_ON
,
5955 .flags
= POLL_CFG_GDSCR
| RETAIN_FF_ENABLE
| VOTABLE
,
5958 static struct gdsc gcc_pcie_3_phy_gdsc
= {
5960 .en_rest_wait_val
= 0x2,
5961 .en_few_wait_val
= 0x2,
5962 .clk_dis_wait_val
= 0x2,
5964 .name
= "gcc_pcie_3_phy_gdsc",
5966 .pwrsts
= PWRSTS_OFF_ON
,
5967 .flags
= POLL_CFG_GDSCR
| RETAIN_FF_ENABLE
| VOTABLE
,
5970 static struct gdsc gcc_pcie_4_gdsc
= {
5972 .en_rest_wait_val
= 0x2,
5973 .en_few_wait_val
= 0x2,
5974 .clk_dis_wait_val
= 0xf,
5976 .name
= "gcc_pcie_4_gdsc",
5978 .pwrsts
= PWRSTS_OFF_ON
,
5979 .flags
= POLL_CFG_GDSCR
| RETAIN_FF_ENABLE
| VOTABLE
,
5982 static struct gdsc gcc_pcie_4_phy_gdsc
= {
5984 .en_rest_wait_val
= 0x2,
5985 .en_few_wait_val
= 0x2,
5986 .clk_dis_wait_val
= 0x2,
5988 .name
= "gcc_pcie_4_phy_gdsc",
5990 .pwrsts
= PWRSTS_OFF_ON
,
5991 .flags
= POLL_CFG_GDSCR
| RETAIN_FF_ENABLE
| VOTABLE
,
5994 static struct gdsc gcc_pcie_5_gdsc
= {
5996 .en_rest_wait_val
= 0x2,
5997 .en_few_wait_val
= 0x2,
5998 .clk_dis_wait_val
= 0xf,
6000 .name
= "gcc_pcie_5_gdsc",
6002 .pwrsts
= PWRSTS_OFF_ON
,
6003 .flags
= POLL_CFG_GDSCR
| RETAIN_FF_ENABLE
| VOTABLE
,
6006 static struct gdsc gcc_pcie_5_phy_gdsc
= {
6008 .en_rest_wait_val
= 0x2,
6009 .en_few_wait_val
= 0x2,
6010 .clk_dis_wait_val
= 0x2,
6012 .name
= "gcc_pcie_5_phy_gdsc",
6014 .pwrsts
= PWRSTS_OFF_ON
,
6015 .flags
= POLL_CFG_GDSCR
| RETAIN_FF_ENABLE
| VOTABLE
,
6018 static struct gdsc gcc_pcie_6_phy_gdsc
= {
6020 .en_rest_wait_val
= 0x2,
6021 .en_few_wait_val
= 0x2,
6022 .clk_dis_wait_val
= 0x2,
6024 .name
= "gcc_pcie_6_phy_gdsc",
6026 .pwrsts
= PWRSTS_OFF_ON
,
6027 .flags
= POLL_CFG_GDSCR
| RETAIN_FF_ENABLE
| VOTABLE
,
6030 static struct gdsc gcc_pcie_6a_gdsc
= {
6032 .en_rest_wait_val
= 0x2,
6033 .en_few_wait_val
= 0x2,
6034 .clk_dis_wait_val
= 0xf,
6036 .name
= "gcc_pcie_6a_gdsc",
6038 .pwrsts
= PWRSTS_OFF_ON
,
6039 .flags
= POLL_CFG_GDSCR
| RETAIN_FF_ENABLE
| VOTABLE
,
6042 static struct gdsc gcc_pcie_6b_gdsc
= {
6044 .en_rest_wait_val
= 0x2,
6045 .en_few_wait_val
= 0x2,
6046 .clk_dis_wait_val
= 0xf,
6048 .name
= "gcc_pcie_6b_gdsc",
6050 .pwrsts
= PWRSTS_OFF_ON
,
6051 .flags
= POLL_CFG_GDSCR
| RETAIN_FF_ENABLE
| VOTABLE
,
6054 static struct gdsc gcc_ufs_mem_phy_gdsc
= {
6056 .en_rest_wait_val
= 0x2,
6057 .en_few_wait_val
= 0x2,
6058 .clk_dis_wait_val
= 0x2,
6060 .name
= "gcc_ufs_mem_phy_gdsc",
6062 .pwrsts
= PWRSTS_OFF_ON
,
6063 .flags
= POLL_CFG_GDSCR
| RETAIN_FF_ENABLE
,
6066 static struct gdsc gcc_ufs_phy_gdsc
= {
6068 .en_rest_wait_val
= 0x2,
6069 .en_few_wait_val
= 0x2,
6070 .clk_dis_wait_val
= 0xf,
6072 .name
= "gcc_ufs_phy_gdsc",
6074 .pwrsts
= PWRSTS_OFF_ON
,
6075 .flags
= POLL_CFG_GDSCR
| RETAIN_FF_ENABLE
,
6078 static struct gdsc gcc_usb20_prim_gdsc
= {
6080 .en_rest_wait_val
= 0x2,
6081 .en_few_wait_val
= 0x2,
6082 .clk_dis_wait_val
= 0xf,
6084 .name
= "gcc_usb20_prim_gdsc",
6086 .pwrsts
= PWRSTS_OFF_ON
,
6087 .flags
= POLL_CFG_GDSCR
| RETAIN_FF_ENABLE
,
6090 static struct gdsc gcc_usb30_mp_gdsc
= {
6092 .en_rest_wait_val
= 0x2,
6093 .en_few_wait_val
= 0x2,
6094 .clk_dis_wait_val
= 0xf,
6096 .name
= "gcc_usb30_mp_gdsc",
6098 .pwrsts
= PWRSTS_RET_ON
,
6099 .flags
= POLL_CFG_GDSCR
| RETAIN_FF_ENABLE
,
6102 static struct gdsc gcc_usb30_prim_gdsc
= {
6104 .en_rest_wait_val
= 0x2,
6105 .en_few_wait_val
= 0x2,
6106 .clk_dis_wait_val
= 0xf,
6108 .name
= "gcc_usb30_prim_gdsc",
6110 .pwrsts
= PWRSTS_RET_ON
,
6111 .flags
= POLL_CFG_GDSCR
| RETAIN_FF_ENABLE
,
6114 static struct gdsc gcc_usb30_sec_gdsc
= {
6116 .en_rest_wait_val
= 0x2,
6117 .en_few_wait_val
= 0x2,
6118 .clk_dis_wait_val
= 0xf,
6120 .name
= "gcc_usb30_sec_gdsc",
6122 .pwrsts
= PWRSTS_RET_ON
,
6123 .flags
= POLL_CFG_GDSCR
| RETAIN_FF_ENABLE
,
6126 static struct gdsc gcc_usb30_tert_gdsc
= {
6128 .en_rest_wait_val
= 0x2,
6129 .en_few_wait_val
= 0x2,
6130 .clk_dis_wait_val
= 0xf,
6132 .name
= "gcc_usb30_tert_gdsc",
6134 .pwrsts
= PWRSTS_RET_ON
,
6135 .flags
= POLL_CFG_GDSCR
| RETAIN_FF_ENABLE
,
6138 static struct gdsc gcc_usb3_mp_ss0_phy_gdsc
= {
6140 .en_rest_wait_val
= 0x2,
6141 .en_few_wait_val
= 0x2,
6142 .clk_dis_wait_val
= 0x2,
6144 .name
= "gcc_usb3_mp_ss0_phy_gdsc",
6146 .pwrsts
= PWRSTS_RET_ON
,
6147 .flags
= POLL_CFG_GDSCR
| RETAIN_FF_ENABLE
,
6150 static struct gdsc gcc_usb3_mp_ss1_phy_gdsc
= {
6152 .en_rest_wait_val
= 0x2,
6153 .en_few_wait_val
= 0x2,
6154 .clk_dis_wait_val
= 0x2,
6156 .name
= "gcc_usb3_mp_ss1_phy_gdsc",
6158 .pwrsts
= PWRSTS_RET_ON
,
6159 .flags
= POLL_CFG_GDSCR
| RETAIN_FF_ENABLE
,
6162 static struct gdsc gcc_usb4_0_gdsc
= {
6164 .en_rest_wait_val
= 0x2,
6165 .en_few_wait_val
= 0x2,
6166 .clk_dis_wait_val
= 0xf,
6168 .name
= "gcc_usb4_0_gdsc",
6170 .pwrsts
= PWRSTS_OFF_ON
,
6171 .flags
= POLL_CFG_GDSCR
| RETAIN_FF_ENABLE
,
6174 static struct gdsc gcc_usb4_1_gdsc
= {
6176 .en_rest_wait_val
= 0x2,
6177 .en_few_wait_val
= 0x2,
6178 .clk_dis_wait_val
= 0xf,
6180 .name
= "gcc_usb4_1_gdsc",
6182 .pwrsts
= PWRSTS_OFF_ON
,
6183 .flags
= POLL_CFG_GDSCR
| RETAIN_FF_ENABLE
,
6186 static struct gdsc gcc_usb4_2_gdsc
= {
6188 .en_rest_wait_val
= 0x2,
6189 .en_few_wait_val
= 0x2,
6190 .clk_dis_wait_val
= 0xf,
6192 .name
= "gcc_usb4_2_gdsc",
6194 .pwrsts
= PWRSTS_OFF_ON
,
6195 .flags
= POLL_CFG_GDSCR
| RETAIN_FF_ENABLE
,
6198 static struct gdsc gcc_usb_0_phy_gdsc
= {
6200 .en_rest_wait_val
= 0x2,
6201 .en_few_wait_val
= 0x2,
6202 .clk_dis_wait_val
= 0x2,
6204 .name
= "gcc_usb_0_phy_gdsc",
6206 .pwrsts
= PWRSTS_RET_ON
,
6207 .flags
= POLL_CFG_GDSCR
| RETAIN_FF_ENABLE
,
6210 static struct gdsc gcc_usb_1_phy_gdsc
= {
6212 .en_rest_wait_val
= 0x2,
6213 .en_few_wait_val
= 0x2,
6214 .clk_dis_wait_val
= 0x2,
6216 .name
= "gcc_usb_1_phy_gdsc",
6218 .pwrsts
= PWRSTS_RET_ON
,
6219 .flags
= POLL_CFG_GDSCR
| RETAIN_FF_ENABLE
,
6222 static struct gdsc gcc_usb_2_phy_gdsc
= {
6224 .en_rest_wait_val
= 0x2,
6225 .en_few_wait_val
= 0x2,
6226 .clk_dis_wait_val
= 0x2,
6228 .name
= "gcc_usb_2_phy_gdsc",
6230 .pwrsts
= PWRSTS_RET_ON
,
6231 .flags
= POLL_CFG_GDSCR
| RETAIN_FF_ENABLE
,
6234 static struct clk_regmap
*gcc_x1e80100_clocks
[] = {
6235 [GCC_AGGRE_NOC_USB_NORTH_AXI_CLK
] = &gcc_aggre_noc_usb_north_axi_clk
.clkr
,
6236 [GCC_AGGRE_NOC_USB_SOUTH_AXI_CLK
] = &gcc_aggre_noc_usb_south_axi_clk
.clkr
,
6237 [GCC_AGGRE_UFS_PHY_AXI_CLK
] = &gcc_aggre_ufs_phy_axi_clk
.clkr
,
6238 [GCC_AGGRE_USB2_PRIM_AXI_CLK
] = &gcc_aggre_usb2_prim_axi_clk
.clkr
,
6239 [GCC_AGGRE_USB3_MP_AXI_CLK
] = &gcc_aggre_usb3_mp_axi_clk
.clkr
,
6240 [GCC_AGGRE_USB3_PRIM_AXI_CLK
] = &gcc_aggre_usb3_prim_axi_clk
.clkr
,
6241 [GCC_AGGRE_USB3_SEC_AXI_CLK
] = &gcc_aggre_usb3_sec_axi_clk
.clkr
,
6242 [GCC_AGGRE_USB3_TERT_AXI_CLK
] = &gcc_aggre_usb3_tert_axi_clk
.clkr
,
6243 [GCC_AGGRE_USB4_0_AXI_CLK
] = &gcc_aggre_usb4_0_axi_clk
.clkr
,
6244 [GCC_AGGRE_USB4_1_AXI_CLK
] = &gcc_aggre_usb4_1_axi_clk
.clkr
,
6245 [GCC_AGGRE_USB4_2_AXI_CLK
] = &gcc_aggre_usb4_2_axi_clk
.clkr
,
6246 [GCC_AGGRE_USB_NOC_AXI_CLK
] = &gcc_aggre_usb_noc_axi_clk
.clkr
,
6247 [GCC_AV1E_AHB_CLK
] = &gcc_av1e_ahb_clk
.clkr
,
6248 [GCC_AV1E_AXI_CLK
] = &gcc_av1e_axi_clk
.clkr
,
6249 [GCC_AV1E_XO_CLK
] = &gcc_av1e_xo_clk
.clkr
,
6250 [GCC_BOOT_ROM_AHB_CLK
] = &gcc_boot_rom_ahb_clk
.clkr
,
6251 [GCC_CAMERA_HF_AXI_CLK
] = &gcc_camera_hf_axi_clk
.clkr
,
6252 [GCC_CAMERA_SF_AXI_CLK
] = &gcc_camera_sf_axi_clk
.clkr
,
6253 [GCC_CFG_NOC_PCIE_ANOC_AHB_CLK
] = &gcc_cfg_noc_pcie_anoc_ahb_clk
.clkr
,
6254 [GCC_CFG_NOC_PCIE_ANOC_NORTH_AHB_CLK
] = &gcc_cfg_noc_pcie_anoc_north_ahb_clk
.clkr
,
6255 [GCC_CFG_NOC_PCIE_ANOC_SOUTH_AHB_CLK
] = &gcc_cfg_noc_pcie_anoc_south_ahb_clk
.clkr
,
6256 [GCC_CFG_NOC_USB2_PRIM_AXI_CLK
] = &gcc_cfg_noc_usb2_prim_axi_clk
.clkr
,
6257 [GCC_CFG_NOC_USB3_MP_AXI_CLK
] = &gcc_cfg_noc_usb3_mp_axi_clk
.clkr
,
6258 [GCC_CFG_NOC_USB3_PRIM_AXI_CLK
] = &gcc_cfg_noc_usb3_prim_axi_clk
.clkr
,
6259 [GCC_CFG_NOC_USB3_SEC_AXI_CLK
] = &gcc_cfg_noc_usb3_sec_axi_clk
.clkr
,
6260 [GCC_CFG_NOC_USB3_TERT_AXI_CLK
] = &gcc_cfg_noc_usb3_tert_axi_clk
.clkr
,
6261 [GCC_CFG_NOC_USB_ANOC_AHB_CLK
] = &gcc_cfg_noc_usb_anoc_ahb_clk
.clkr
,
6262 [GCC_CFG_NOC_USB_ANOC_NORTH_AHB_CLK
] = &gcc_cfg_noc_usb_anoc_north_ahb_clk
.clkr
,
6263 [GCC_CFG_NOC_USB_ANOC_SOUTH_AHB_CLK
] = &gcc_cfg_noc_usb_anoc_south_ahb_clk
.clkr
,
6264 [GCC_CNOC_PCIE1_TUNNEL_CLK
] = &gcc_cnoc_pcie1_tunnel_clk
.clkr
,
6265 [GCC_CNOC_PCIE2_TUNNEL_CLK
] = &gcc_cnoc_pcie2_tunnel_clk
.clkr
,
6266 [GCC_CNOC_PCIE_NORTH_SF_AXI_CLK
] = &gcc_cnoc_pcie_north_sf_axi_clk
.clkr
,
6267 [GCC_CNOC_PCIE_SOUTH_SF_AXI_CLK
] = &gcc_cnoc_pcie_south_sf_axi_clk
.clkr
,
6268 [GCC_CNOC_PCIE_TUNNEL_CLK
] = &gcc_cnoc_pcie_tunnel_clk
.clkr
,
6269 [GCC_DDRSS_GPU_AXI_CLK
] = &gcc_ddrss_gpu_axi_clk
.clkr
,
6270 [GCC_DISP_HF_AXI_CLK
] = &gcc_disp_hf_axi_clk
.clkr
,
6271 [GCC_DISP_XO_CLK
] = &gcc_disp_xo_clk
.clkr
,
6272 [GCC_GP1_CLK
] = &gcc_gp1_clk
.clkr
,
6273 [GCC_GP1_CLK_SRC
] = &gcc_gp1_clk_src
.clkr
,
6274 [GCC_GP2_CLK
] = &gcc_gp2_clk
.clkr
,
6275 [GCC_GP2_CLK_SRC
] = &gcc_gp2_clk_src
.clkr
,
6276 [GCC_GP3_CLK
] = &gcc_gp3_clk
.clkr
,
6277 [GCC_GP3_CLK_SRC
] = &gcc_gp3_clk_src
.clkr
,
6278 [GCC_GPLL0
] = &gcc_gpll0
.clkr
,
6279 [GCC_GPLL0_OUT_EVEN
] = &gcc_gpll0_out_even
.clkr
,
6280 [GCC_GPLL4
] = &gcc_gpll4
.clkr
,
6281 [GCC_GPLL7
] = &gcc_gpll7
.clkr
,
6282 [GCC_GPLL8
] = &gcc_gpll8
.clkr
,
6283 [GCC_GPLL9
] = &gcc_gpll9
.clkr
,
6284 [GCC_GPU_CFG_AHB_CLK
] = &gcc_gpu_cfg_ahb_clk
.clkr
,
6285 [GCC_GPU_GPLL0_CPH_CLK_SRC
] = &gcc_gpu_gpll0_cph_clk_src
.clkr
,
6286 [GCC_GPU_GPLL0_DIV_CPH_CLK_SRC
] = &gcc_gpu_gpll0_div_cph_clk_src
.clkr
,
6287 [GCC_GPU_MEMNOC_GFX_CLK
] = &gcc_gpu_memnoc_gfx_clk
.clkr
,
6288 [GCC_GPU_SNOC_DVM_GFX_CLK
] = &gcc_gpu_snoc_dvm_gfx_clk
.clkr
,
6289 [GCC_PCIE0_PHY_RCHNG_CLK
] = &gcc_pcie0_phy_rchng_clk
.clkr
,
6290 [GCC_PCIE1_PHY_RCHNG_CLK
] = &gcc_pcie1_phy_rchng_clk
.clkr
,
6291 [GCC_PCIE2_PHY_RCHNG_CLK
] = &gcc_pcie2_phy_rchng_clk
.clkr
,
6292 [GCC_PCIE_0_AUX_CLK
] = &gcc_pcie_0_aux_clk
.clkr
,
6293 [GCC_PCIE_0_AUX_CLK_SRC
] = &gcc_pcie_0_aux_clk_src
.clkr
,
6294 [GCC_PCIE_0_CFG_AHB_CLK
] = &gcc_pcie_0_cfg_ahb_clk
.clkr
,
6295 [GCC_PCIE_0_MSTR_AXI_CLK
] = &gcc_pcie_0_mstr_axi_clk
.clkr
,
6296 [GCC_PCIE_0_PHY_RCHNG_CLK_SRC
] = &gcc_pcie_0_phy_rchng_clk_src
.clkr
,
6297 [GCC_PCIE_0_PIPE_CLK
] = &gcc_pcie_0_pipe_clk
.clkr
,
6298 [GCC_PCIE_0_SLV_AXI_CLK
] = &gcc_pcie_0_slv_axi_clk
.clkr
,
6299 [GCC_PCIE_0_SLV_Q2A_AXI_CLK
] = &gcc_pcie_0_slv_q2a_axi_clk
.clkr
,
6300 [GCC_PCIE_1_AUX_CLK
] = &gcc_pcie_1_aux_clk
.clkr
,
6301 [GCC_PCIE_1_AUX_CLK_SRC
] = &gcc_pcie_1_aux_clk_src
.clkr
,
6302 [GCC_PCIE_1_CFG_AHB_CLK
] = &gcc_pcie_1_cfg_ahb_clk
.clkr
,
6303 [GCC_PCIE_1_MSTR_AXI_CLK
] = &gcc_pcie_1_mstr_axi_clk
.clkr
,
6304 [GCC_PCIE_1_PHY_RCHNG_CLK_SRC
] = &gcc_pcie_1_phy_rchng_clk_src
.clkr
,
6305 [GCC_PCIE_1_PIPE_CLK
] = &gcc_pcie_1_pipe_clk
.clkr
,
6306 [GCC_PCIE_1_SLV_AXI_CLK
] = &gcc_pcie_1_slv_axi_clk
.clkr
,
6307 [GCC_PCIE_1_SLV_Q2A_AXI_CLK
] = &gcc_pcie_1_slv_q2a_axi_clk
.clkr
,
6308 [GCC_PCIE_2_AUX_CLK
] = &gcc_pcie_2_aux_clk
.clkr
,
6309 [GCC_PCIE_2_AUX_CLK_SRC
] = &gcc_pcie_2_aux_clk_src
.clkr
,
6310 [GCC_PCIE_2_CFG_AHB_CLK
] = &gcc_pcie_2_cfg_ahb_clk
.clkr
,
6311 [GCC_PCIE_2_MSTR_AXI_CLK
] = &gcc_pcie_2_mstr_axi_clk
.clkr
,
6312 [GCC_PCIE_2_PHY_RCHNG_CLK_SRC
] = &gcc_pcie_2_phy_rchng_clk_src
.clkr
,
6313 [GCC_PCIE_2_PIPE_CLK
] = &gcc_pcie_2_pipe_clk
.clkr
,
6314 [GCC_PCIE_2_SLV_AXI_CLK
] = &gcc_pcie_2_slv_axi_clk
.clkr
,
6315 [GCC_PCIE_2_SLV_Q2A_AXI_CLK
] = &gcc_pcie_2_slv_q2a_axi_clk
.clkr
,
6316 [GCC_PCIE_3_AUX_CLK
] = &gcc_pcie_3_aux_clk
.clkr
,
6317 [GCC_PCIE_3_AUX_CLK_SRC
] = &gcc_pcie_3_aux_clk_src
.clkr
,
6318 [GCC_PCIE_3_CFG_AHB_CLK
] = &gcc_pcie_3_cfg_ahb_clk
.clkr
,
6319 [GCC_PCIE_3_MSTR_AXI_CLK
] = &gcc_pcie_3_mstr_axi_clk
.clkr
,
6320 [GCC_PCIE_3_PHY_AUX_CLK
] = &gcc_pcie_3_phy_aux_clk
.clkr
,
6321 [GCC_PCIE_3_PHY_RCHNG_CLK
] = &gcc_pcie_3_phy_rchng_clk
.clkr
,
6322 [GCC_PCIE_3_PHY_RCHNG_CLK_SRC
] = &gcc_pcie_3_phy_rchng_clk_src
.clkr
,
6323 [GCC_PCIE_3_PIPE_CLK
] = &gcc_pcie_3_pipe_clk
.clkr
,
6324 [GCC_PCIE_3_PIPE_CLK_SRC
] = &gcc_pcie_3_pipe_clk_src
.clkr
,
6325 [GCC_PCIE_3_PIPE_DIV_CLK_SRC
] = &gcc_pcie_3_pipe_div_clk_src
.clkr
,
6326 [GCC_PCIE_3_PIPEDIV2_CLK
] = &gcc_pcie_3_pipediv2_clk
.clkr
,
6327 [GCC_PCIE_3_SLV_AXI_CLK
] = &gcc_pcie_3_slv_axi_clk
.clkr
,
6328 [GCC_PCIE_3_SLV_Q2A_AXI_CLK
] = &gcc_pcie_3_slv_q2a_axi_clk
.clkr
,
6329 [GCC_PCIE_4_AUX_CLK
] = &gcc_pcie_4_aux_clk
.clkr
,
6330 [GCC_PCIE_4_AUX_CLK_SRC
] = &gcc_pcie_4_aux_clk_src
.clkr
,
6331 [GCC_PCIE_4_CFG_AHB_CLK
] = &gcc_pcie_4_cfg_ahb_clk
.clkr
,
6332 [GCC_PCIE_4_MSTR_AXI_CLK
] = &gcc_pcie_4_mstr_axi_clk
.clkr
,
6333 [GCC_PCIE_4_PHY_RCHNG_CLK
] = &gcc_pcie_4_phy_rchng_clk
.clkr
,
6334 [GCC_PCIE_4_PHY_RCHNG_CLK_SRC
] = &gcc_pcie_4_phy_rchng_clk_src
.clkr
,
6335 [GCC_PCIE_4_PIPE_CLK
] = &gcc_pcie_4_pipe_clk
.clkr
,
6336 [GCC_PCIE_4_PIPE_CLK_SRC
] = &gcc_pcie_4_pipe_clk_src
.clkr
,
6337 [GCC_PCIE_4_PIPE_DIV_CLK_SRC
] = &gcc_pcie_4_pipe_div_clk_src
.clkr
,
6338 [GCC_PCIE_4_PIPEDIV2_CLK
] = &gcc_pcie_4_pipediv2_clk
.clkr
,
6339 [GCC_PCIE_4_SLV_AXI_CLK
] = &gcc_pcie_4_slv_axi_clk
.clkr
,
6340 [GCC_PCIE_4_SLV_Q2A_AXI_CLK
] = &gcc_pcie_4_slv_q2a_axi_clk
.clkr
,
6341 [GCC_PCIE_5_AUX_CLK
] = &gcc_pcie_5_aux_clk
.clkr
,
6342 [GCC_PCIE_5_AUX_CLK_SRC
] = &gcc_pcie_5_aux_clk_src
.clkr
,
6343 [GCC_PCIE_5_CFG_AHB_CLK
] = &gcc_pcie_5_cfg_ahb_clk
.clkr
,
6344 [GCC_PCIE_5_MSTR_AXI_CLK
] = &gcc_pcie_5_mstr_axi_clk
.clkr
,
6345 [GCC_PCIE_5_PHY_RCHNG_CLK
] = &gcc_pcie_5_phy_rchng_clk
.clkr
,
6346 [GCC_PCIE_5_PHY_RCHNG_CLK_SRC
] = &gcc_pcie_5_phy_rchng_clk_src
.clkr
,
6347 [GCC_PCIE_5_PIPE_CLK
] = &gcc_pcie_5_pipe_clk
.clkr
,
6348 [GCC_PCIE_5_PIPE_CLK_SRC
] = &gcc_pcie_5_pipe_clk_src
.clkr
,
6349 [GCC_PCIE_5_PIPE_DIV_CLK_SRC
] = &gcc_pcie_5_pipe_div_clk_src
.clkr
,
6350 [GCC_PCIE_5_PIPEDIV2_CLK
] = &gcc_pcie_5_pipediv2_clk
.clkr
,
6351 [GCC_PCIE_5_SLV_AXI_CLK
] = &gcc_pcie_5_slv_axi_clk
.clkr
,
6352 [GCC_PCIE_5_SLV_Q2A_AXI_CLK
] = &gcc_pcie_5_slv_q2a_axi_clk
.clkr
,
6353 [GCC_PCIE_6A_AUX_CLK
] = &gcc_pcie_6a_aux_clk
.clkr
,
6354 [GCC_PCIE_6A_AUX_CLK_SRC
] = &gcc_pcie_6a_aux_clk_src
.clkr
,
6355 [GCC_PCIE_6A_CFG_AHB_CLK
] = &gcc_pcie_6a_cfg_ahb_clk
.clkr
,
6356 [GCC_PCIE_6A_MSTR_AXI_CLK
] = &gcc_pcie_6a_mstr_axi_clk
.clkr
,
6357 [GCC_PCIE_6A_PHY_AUX_CLK
] = &gcc_pcie_6a_phy_aux_clk
.clkr
,
6358 [GCC_PCIE_6A_PHY_RCHNG_CLK
] = &gcc_pcie_6a_phy_rchng_clk
.clkr
,
6359 [GCC_PCIE_6A_PHY_RCHNG_CLK_SRC
] = &gcc_pcie_6a_phy_rchng_clk_src
.clkr
,
6360 [GCC_PCIE_6A_PIPE_CLK
] = &gcc_pcie_6a_pipe_clk
.clkr
,
6361 [GCC_PCIE_6A_PIPE_CLK_SRC
] = &gcc_pcie_6a_pipe_clk_src
.clkr
,
6362 [GCC_PCIE_6A_PIPE_DIV_CLK_SRC
] = &gcc_pcie_6a_pipe_div_clk_src
.clkr
,
6363 [GCC_PCIE_6A_PIPEDIV2_CLK
] = &gcc_pcie_6a_pipediv2_clk
.clkr
,
6364 [GCC_PCIE_6A_SLV_AXI_CLK
] = &gcc_pcie_6a_slv_axi_clk
.clkr
,
6365 [GCC_PCIE_6A_SLV_Q2A_AXI_CLK
] = &gcc_pcie_6a_slv_q2a_axi_clk
.clkr
,
6366 [GCC_PCIE_6B_AUX_CLK
] = &gcc_pcie_6b_aux_clk
.clkr
,
6367 [GCC_PCIE_6B_AUX_CLK_SRC
] = &gcc_pcie_6b_aux_clk_src
.clkr
,
6368 [GCC_PCIE_6B_CFG_AHB_CLK
] = &gcc_pcie_6b_cfg_ahb_clk
.clkr
,
6369 [GCC_PCIE_6B_MSTR_AXI_CLK
] = &gcc_pcie_6b_mstr_axi_clk
.clkr
,
6370 [GCC_PCIE_6B_PHY_AUX_CLK
] = &gcc_pcie_6b_phy_aux_clk
.clkr
,
6371 [GCC_PCIE_6B_PHY_RCHNG_CLK
] = &gcc_pcie_6b_phy_rchng_clk
.clkr
,
6372 [GCC_PCIE_6B_PHY_RCHNG_CLK_SRC
] = &gcc_pcie_6b_phy_rchng_clk_src
.clkr
,
6373 [GCC_PCIE_6B_PIPE_CLK
] = &gcc_pcie_6b_pipe_clk
.clkr
,
6374 [GCC_PCIE_6B_PIPE_CLK_SRC
] = &gcc_pcie_6b_pipe_clk_src
.clkr
,
6375 [GCC_PCIE_6B_PIPE_DIV_CLK_SRC
] = &gcc_pcie_6b_pipe_div_clk_src
.clkr
,
6376 [GCC_PCIE_6B_PIPEDIV2_CLK
] = &gcc_pcie_6b_pipediv2_clk
.clkr
,
6377 [GCC_PCIE_6B_SLV_AXI_CLK
] = &gcc_pcie_6b_slv_axi_clk
.clkr
,
6378 [GCC_PCIE_6B_SLV_Q2A_AXI_CLK
] = &gcc_pcie_6b_slv_q2a_axi_clk
.clkr
,
6379 [GCC_PCIE_RSCC_AHB_CLK
] = &gcc_pcie_rscc_ahb_clk
.clkr
,
6380 [GCC_PCIE_RSCC_XO_CLK
] = &gcc_pcie_rscc_xo_clk
.clkr
,
6381 [GCC_PCIE_RSCC_XO_CLK_SRC
] = &gcc_pcie_rscc_xo_clk_src
.clkr
,
6382 [GCC_PDM2_CLK
] = &gcc_pdm2_clk
.clkr
,
6383 [GCC_PDM2_CLK_SRC
] = &gcc_pdm2_clk_src
.clkr
,
6384 [GCC_PDM_AHB_CLK
] = &gcc_pdm_ahb_clk
.clkr
,
6385 [GCC_PDM_XO4_CLK
] = &gcc_pdm_xo4_clk
.clkr
,
6386 [GCC_QMIP_AV1E_AHB_CLK
] = &gcc_qmip_av1e_ahb_clk
.clkr
,
6387 [GCC_QMIP_CAMERA_NRT_AHB_CLK
] = &gcc_qmip_camera_nrt_ahb_clk
.clkr
,
6388 [GCC_QMIP_CAMERA_RT_AHB_CLK
] = &gcc_qmip_camera_rt_ahb_clk
.clkr
,
6389 [GCC_QMIP_DISP_AHB_CLK
] = &gcc_qmip_disp_ahb_clk
.clkr
,
6390 [GCC_QMIP_GPU_AHB_CLK
] = &gcc_qmip_gpu_ahb_clk
.clkr
,
6391 [GCC_QMIP_VIDEO_CV_CPU_AHB_CLK
] = &gcc_qmip_video_cv_cpu_ahb_clk
.clkr
,
6392 [GCC_QMIP_VIDEO_CVP_AHB_CLK
] = &gcc_qmip_video_cvp_ahb_clk
.clkr
,
6393 [GCC_QMIP_VIDEO_V_CPU_AHB_CLK
] = &gcc_qmip_video_v_cpu_ahb_clk
.clkr
,
6394 [GCC_QMIP_VIDEO_VCODEC_AHB_CLK
] = &gcc_qmip_video_vcodec_ahb_clk
.clkr
,
6395 [GCC_QUPV3_WRAP0_CORE_2X_CLK
] = &gcc_qupv3_wrap0_core_2x_clk
.clkr
,
6396 [GCC_QUPV3_WRAP0_CORE_CLK
] = &gcc_qupv3_wrap0_core_clk
.clkr
,
6397 [GCC_QUPV3_WRAP0_QSPI_S2_CLK
] = &gcc_qupv3_wrap0_qspi_s2_clk
.clkr
,
6398 [GCC_QUPV3_WRAP0_QSPI_S3_CLK
] = &gcc_qupv3_wrap0_qspi_s3_clk
.clkr
,
6399 [GCC_QUPV3_WRAP0_S0_CLK
] = &gcc_qupv3_wrap0_s0_clk
.clkr
,
6400 [GCC_QUPV3_WRAP0_S0_CLK_SRC
] = &gcc_qupv3_wrap0_s0_clk_src
.clkr
,
6401 [GCC_QUPV3_WRAP0_S1_CLK
] = &gcc_qupv3_wrap0_s1_clk
.clkr
,
6402 [GCC_QUPV3_WRAP0_S1_CLK_SRC
] = &gcc_qupv3_wrap0_s1_clk_src
.clkr
,
6403 [GCC_QUPV3_WRAP0_S2_CLK
] = &gcc_qupv3_wrap0_s2_clk
.clkr
,
6404 [GCC_QUPV3_WRAP0_S2_CLK_SRC
] = &gcc_qupv3_wrap0_s2_clk_src
.clkr
,
6405 [GCC_QUPV3_WRAP0_S2_DIV_CLK_SRC
] = &gcc_qupv3_wrap0_s2_div_clk_src
.clkr
,
6406 [GCC_QUPV3_WRAP0_S3_CLK
] = &gcc_qupv3_wrap0_s3_clk
.clkr
,
6407 [GCC_QUPV3_WRAP0_S3_CLK_SRC
] = &gcc_qupv3_wrap0_s3_clk_src
.clkr
,
6408 [GCC_QUPV3_WRAP0_S3_DIV_CLK_SRC
] = &gcc_qupv3_wrap0_s3_div_clk_src
.clkr
,
6409 [GCC_QUPV3_WRAP0_S4_CLK
] = &gcc_qupv3_wrap0_s4_clk
.clkr
,
6410 [GCC_QUPV3_WRAP0_S4_CLK_SRC
] = &gcc_qupv3_wrap0_s4_clk_src
.clkr
,
6411 [GCC_QUPV3_WRAP0_S5_CLK
] = &gcc_qupv3_wrap0_s5_clk
.clkr
,
6412 [GCC_QUPV3_WRAP0_S5_CLK_SRC
] = &gcc_qupv3_wrap0_s5_clk_src
.clkr
,
6413 [GCC_QUPV3_WRAP0_S6_CLK
] = &gcc_qupv3_wrap0_s6_clk
.clkr
,
6414 [GCC_QUPV3_WRAP0_S6_CLK_SRC
] = &gcc_qupv3_wrap0_s6_clk_src
.clkr
,
6415 [GCC_QUPV3_WRAP0_S7_CLK
] = &gcc_qupv3_wrap0_s7_clk
.clkr
,
6416 [GCC_QUPV3_WRAP0_S7_CLK_SRC
] = &gcc_qupv3_wrap0_s7_clk_src
.clkr
,
6417 [GCC_QUPV3_WRAP1_CORE_2X_CLK
] = &gcc_qupv3_wrap1_core_2x_clk
.clkr
,
6418 [GCC_QUPV3_WRAP1_CORE_CLK
] = &gcc_qupv3_wrap1_core_clk
.clkr
,
6419 [GCC_QUPV3_WRAP1_QSPI_S2_CLK
] = &gcc_qupv3_wrap1_qspi_s2_clk
.clkr
,
6420 [GCC_QUPV3_WRAP1_QSPI_S3_CLK
] = &gcc_qupv3_wrap1_qspi_s3_clk
.clkr
,
6421 [GCC_QUPV3_WRAP1_S0_CLK
] = &gcc_qupv3_wrap1_s0_clk
.clkr
,
6422 [GCC_QUPV3_WRAP1_S0_CLK_SRC
] = &gcc_qupv3_wrap1_s0_clk_src
.clkr
,
6423 [GCC_QUPV3_WRAP1_S1_CLK
] = &gcc_qupv3_wrap1_s1_clk
.clkr
,
6424 [GCC_QUPV3_WRAP1_S1_CLK_SRC
] = &gcc_qupv3_wrap1_s1_clk_src
.clkr
,
6425 [GCC_QUPV3_WRAP1_S2_CLK
] = &gcc_qupv3_wrap1_s2_clk
.clkr
,
6426 [GCC_QUPV3_WRAP1_S2_CLK_SRC
] = &gcc_qupv3_wrap1_s2_clk_src
.clkr
,
6427 [GCC_QUPV3_WRAP1_S2_DIV_CLK_SRC
] = &gcc_qupv3_wrap1_s2_div_clk_src
.clkr
,
6428 [GCC_QUPV3_WRAP1_S3_CLK
] = &gcc_qupv3_wrap1_s3_clk
.clkr
,
6429 [GCC_QUPV3_WRAP1_S3_CLK_SRC
] = &gcc_qupv3_wrap1_s3_clk_src
.clkr
,
6430 [GCC_QUPV3_WRAP1_S3_DIV_CLK_SRC
] = &gcc_qupv3_wrap1_s3_div_clk_src
.clkr
,
6431 [GCC_QUPV3_WRAP1_S4_CLK
] = &gcc_qupv3_wrap1_s4_clk
.clkr
,
6432 [GCC_QUPV3_WRAP1_S4_CLK_SRC
] = &gcc_qupv3_wrap1_s4_clk_src
.clkr
,
6433 [GCC_QUPV3_WRAP1_S5_CLK
] = &gcc_qupv3_wrap1_s5_clk
.clkr
,
6434 [GCC_QUPV3_WRAP1_S5_CLK_SRC
] = &gcc_qupv3_wrap1_s5_clk_src
.clkr
,
6435 [GCC_QUPV3_WRAP1_S6_CLK
] = &gcc_qupv3_wrap1_s6_clk
.clkr
,
6436 [GCC_QUPV3_WRAP1_S6_CLK_SRC
] = &gcc_qupv3_wrap1_s6_clk_src
.clkr
,
6437 [GCC_QUPV3_WRAP1_S7_CLK
] = &gcc_qupv3_wrap1_s7_clk
.clkr
,
6438 [GCC_QUPV3_WRAP1_S7_CLK_SRC
] = &gcc_qupv3_wrap1_s7_clk_src
.clkr
,
6439 [GCC_QUPV3_WRAP2_CORE_2X_CLK
] = &gcc_qupv3_wrap2_core_2x_clk
.clkr
,
6440 [GCC_QUPV3_WRAP2_CORE_CLK
] = &gcc_qupv3_wrap2_core_clk
.clkr
,
6441 [GCC_QUPV3_WRAP2_QSPI_S2_CLK
] = &gcc_qupv3_wrap2_qspi_s2_clk
.clkr
,
6442 [GCC_QUPV3_WRAP2_QSPI_S3_CLK
] = &gcc_qupv3_wrap2_qspi_s3_clk
.clkr
,
6443 [GCC_QUPV3_WRAP2_S0_CLK
] = &gcc_qupv3_wrap2_s0_clk
.clkr
,
6444 [GCC_QUPV3_WRAP2_S0_CLK_SRC
] = &gcc_qupv3_wrap2_s0_clk_src
.clkr
,
6445 [GCC_QUPV3_WRAP2_S1_CLK
] = &gcc_qupv3_wrap2_s1_clk
.clkr
,
6446 [GCC_QUPV3_WRAP2_S1_CLK_SRC
] = &gcc_qupv3_wrap2_s1_clk_src
.clkr
,
6447 [GCC_QUPV3_WRAP2_S2_CLK
] = &gcc_qupv3_wrap2_s2_clk
.clkr
,
6448 [GCC_QUPV3_WRAP2_S2_CLK_SRC
] = &gcc_qupv3_wrap2_s2_clk_src
.clkr
,
6449 [GCC_QUPV3_WRAP2_S2_DIV_CLK_SRC
] = &gcc_qupv3_wrap2_s2_div_clk_src
.clkr
,
6450 [GCC_QUPV3_WRAP2_S3_CLK
] = &gcc_qupv3_wrap2_s3_clk
.clkr
,
6451 [GCC_QUPV3_WRAP2_S3_CLK_SRC
] = &gcc_qupv3_wrap2_s3_clk_src
.clkr
,
6452 [GCC_QUPV3_WRAP2_S3_DIV_CLK_SRC
] = &gcc_qupv3_wrap2_s3_div_clk_src
.clkr
,
6453 [GCC_QUPV3_WRAP2_S4_CLK
] = &gcc_qupv3_wrap2_s4_clk
.clkr
,
6454 [GCC_QUPV3_WRAP2_S4_CLK_SRC
] = &gcc_qupv3_wrap2_s4_clk_src
.clkr
,
6455 [GCC_QUPV3_WRAP2_S5_CLK
] = &gcc_qupv3_wrap2_s5_clk
.clkr
,
6456 [GCC_QUPV3_WRAP2_S5_CLK_SRC
] = &gcc_qupv3_wrap2_s5_clk_src
.clkr
,
6457 [GCC_QUPV3_WRAP2_S6_CLK
] = &gcc_qupv3_wrap2_s6_clk
.clkr
,
6458 [GCC_QUPV3_WRAP2_S6_CLK_SRC
] = &gcc_qupv3_wrap2_s6_clk_src
.clkr
,
6459 [GCC_QUPV3_WRAP2_S7_CLK
] = &gcc_qupv3_wrap2_s7_clk
.clkr
,
6460 [GCC_QUPV3_WRAP2_S7_CLK_SRC
] = &gcc_qupv3_wrap2_s7_clk_src
.clkr
,
6461 [GCC_QUPV3_WRAP_0_M_AHB_CLK
] = &gcc_qupv3_wrap_0_m_ahb_clk
.clkr
,
6462 [GCC_QUPV3_WRAP_0_S_AHB_CLK
] = &gcc_qupv3_wrap_0_s_ahb_clk
.clkr
,
6463 [GCC_QUPV3_WRAP_1_M_AHB_CLK
] = &gcc_qupv3_wrap_1_m_ahb_clk
.clkr
,
6464 [GCC_QUPV3_WRAP_1_S_AHB_CLK
] = &gcc_qupv3_wrap_1_s_ahb_clk
.clkr
,
6465 [GCC_QUPV3_WRAP_2_M_AHB_CLK
] = &gcc_qupv3_wrap_2_m_ahb_clk
.clkr
,
6466 [GCC_QUPV3_WRAP_2_S_AHB_CLK
] = &gcc_qupv3_wrap_2_s_ahb_clk
.clkr
,
6467 [GCC_SDCC2_AHB_CLK
] = &gcc_sdcc2_ahb_clk
.clkr
,
6468 [GCC_SDCC2_APPS_CLK
] = &gcc_sdcc2_apps_clk
.clkr
,
6469 [GCC_SDCC2_APPS_CLK_SRC
] = &gcc_sdcc2_apps_clk_src
.clkr
,
6470 [GCC_SDCC4_AHB_CLK
] = &gcc_sdcc4_ahb_clk
.clkr
,
6471 [GCC_SDCC4_APPS_CLK
] = &gcc_sdcc4_apps_clk
.clkr
,
6472 [GCC_SDCC4_APPS_CLK_SRC
] = &gcc_sdcc4_apps_clk_src
.clkr
,
6473 [GCC_SYS_NOC_USB_AXI_CLK
] = &gcc_sys_noc_usb_axi_clk
.clkr
,
6474 [GCC_UFS_PHY_AHB_CLK
] = &gcc_ufs_phy_ahb_clk
.clkr
,
6475 [GCC_UFS_PHY_AXI_CLK
] = &gcc_ufs_phy_axi_clk
.clkr
,
6476 [GCC_UFS_PHY_AXI_CLK_SRC
] = &gcc_ufs_phy_axi_clk_src
.clkr
,
6477 [GCC_UFS_PHY_ICE_CORE_CLK
] = &gcc_ufs_phy_ice_core_clk
.clkr
,
6478 [GCC_UFS_PHY_ICE_CORE_CLK_SRC
] = &gcc_ufs_phy_ice_core_clk_src
.clkr
,
6479 [GCC_UFS_PHY_PHY_AUX_CLK
] = &gcc_ufs_phy_phy_aux_clk
.clkr
,
6480 [GCC_UFS_PHY_PHY_AUX_CLK_SRC
] = &gcc_ufs_phy_phy_aux_clk_src
.clkr
,
6481 [GCC_UFS_PHY_RX_SYMBOL_0_CLK
] = &gcc_ufs_phy_rx_symbol_0_clk
.clkr
,
6482 [GCC_UFS_PHY_RX_SYMBOL_1_CLK
] = &gcc_ufs_phy_rx_symbol_1_clk
.clkr
,
6483 [GCC_UFS_PHY_TX_SYMBOL_0_CLK
] = &gcc_ufs_phy_tx_symbol_0_clk
.clkr
,
6484 [GCC_UFS_PHY_UNIPRO_CORE_CLK
] = &gcc_ufs_phy_unipro_core_clk
.clkr
,
6485 [GCC_UFS_PHY_UNIPRO_CORE_CLK_SRC
] = &gcc_ufs_phy_unipro_core_clk_src
.clkr
,
6486 [GCC_USB20_MASTER_CLK
] = &gcc_usb20_master_clk
.clkr
,
6487 [GCC_USB20_MASTER_CLK_SRC
] = &gcc_usb20_master_clk_src
.clkr
,
6488 [GCC_USB20_MOCK_UTMI_CLK
] = &gcc_usb20_mock_utmi_clk
.clkr
,
6489 [GCC_USB20_MOCK_UTMI_CLK_SRC
] = &gcc_usb20_mock_utmi_clk_src
.clkr
,
6490 [GCC_USB20_MOCK_UTMI_POSTDIV_CLK_SRC
] = &gcc_usb20_mock_utmi_postdiv_clk_src
.clkr
,
6491 [GCC_USB20_SLEEP_CLK
] = &gcc_usb20_sleep_clk
.clkr
,
6492 [GCC_USB30_MP_MASTER_CLK
] = &gcc_usb30_mp_master_clk
.clkr
,
6493 [GCC_USB30_MP_MASTER_CLK_SRC
] = &gcc_usb30_mp_master_clk_src
.clkr
,
6494 [GCC_USB30_MP_MOCK_UTMI_CLK
] = &gcc_usb30_mp_mock_utmi_clk
.clkr
,
6495 [GCC_USB30_MP_MOCK_UTMI_CLK_SRC
] = &gcc_usb30_mp_mock_utmi_clk_src
.clkr
,
6496 [GCC_USB30_MP_MOCK_UTMI_POSTDIV_CLK_SRC
] = &gcc_usb30_mp_mock_utmi_postdiv_clk_src
.clkr
,
6497 [GCC_USB30_MP_SLEEP_CLK
] = &gcc_usb30_mp_sleep_clk
.clkr
,
6498 [GCC_USB30_PRIM_MASTER_CLK
] = &gcc_usb30_prim_master_clk
.clkr
,
6499 [GCC_USB30_PRIM_MASTER_CLK_SRC
] = &gcc_usb30_prim_master_clk_src
.clkr
,
6500 [GCC_USB30_PRIM_MOCK_UTMI_CLK
] = &gcc_usb30_prim_mock_utmi_clk
.clkr
,
6501 [GCC_USB30_PRIM_MOCK_UTMI_CLK_SRC
] = &gcc_usb30_prim_mock_utmi_clk_src
.clkr
,
6502 [GCC_USB30_PRIM_MOCK_UTMI_POSTDIV_CLK_SRC
] = &gcc_usb30_prim_mock_utmi_postdiv_clk_src
.clkr
,
6503 [GCC_USB30_PRIM_SLEEP_CLK
] = &gcc_usb30_prim_sleep_clk
.clkr
,
6504 [GCC_USB30_SEC_MASTER_CLK
] = &gcc_usb30_sec_master_clk
.clkr
,
6505 [GCC_USB30_SEC_MASTER_CLK_SRC
] = &gcc_usb30_sec_master_clk_src
.clkr
,
6506 [GCC_USB30_SEC_MOCK_UTMI_CLK
] = &gcc_usb30_sec_mock_utmi_clk
.clkr
,
6507 [GCC_USB30_SEC_MOCK_UTMI_CLK_SRC
] = &gcc_usb30_sec_mock_utmi_clk_src
.clkr
,
6508 [GCC_USB30_SEC_MOCK_UTMI_POSTDIV_CLK_SRC
] = &gcc_usb30_sec_mock_utmi_postdiv_clk_src
.clkr
,
6509 [GCC_USB30_SEC_SLEEP_CLK
] = &gcc_usb30_sec_sleep_clk
.clkr
,
6510 [GCC_USB30_TERT_MASTER_CLK
] = &gcc_usb30_tert_master_clk
.clkr
,
6511 [GCC_USB30_TERT_MASTER_CLK_SRC
] = &gcc_usb30_tert_master_clk_src
.clkr
,
6512 [GCC_USB30_TERT_MOCK_UTMI_CLK
] = &gcc_usb30_tert_mock_utmi_clk
.clkr
,
6513 [GCC_USB30_TERT_MOCK_UTMI_CLK_SRC
] = &gcc_usb30_tert_mock_utmi_clk_src
.clkr
,
6514 [GCC_USB30_TERT_MOCK_UTMI_POSTDIV_CLK_SRC
] = &gcc_usb30_tert_mock_utmi_postdiv_clk_src
.clkr
,
6515 [GCC_USB30_TERT_SLEEP_CLK
] = &gcc_usb30_tert_sleep_clk
.clkr
,
6516 [GCC_USB3_MP_PHY_AUX_CLK
] = &gcc_usb3_mp_phy_aux_clk
.clkr
,
6517 [GCC_USB3_MP_PHY_AUX_CLK_SRC
] = &gcc_usb3_mp_phy_aux_clk_src
.clkr
,
6518 [GCC_USB3_MP_PHY_COM_AUX_CLK
] = &gcc_usb3_mp_phy_com_aux_clk
.clkr
,
6519 [GCC_USB3_MP_PHY_PIPE_0_CLK
] = &gcc_usb3_mp_phy_pipe_0_clk
.clkr
,
6520 [GCC_USB3_MP_PHY_PIPE_1_CLK
] = &gcc_usb3_mp_phy_pipe_1_clk
.clkr
,
6521 [GCC_USB3_PRIM_PHY_AUX_CLK
] = &gcc_usb3_prim_phy_aux_clk
.clkr
,
6522 [GCC_USB3_PRIM_PHY_AUX_CLK_SRC
] = &gcc_usb3_prim_phy_aux_clk_src
.clkr
,
6523 [GCC_USB3_PRIM_PHY_COM_AUX_CLK
] = &gcc_usb3_prim_phy_com_aux_clk
.clkr
,
6524 [GCC_USB3_PRIM_PHY_PIPE_CLK
] = &gcc_usb3_prim_phy_pipe_clk
.clkr
,
6525 [GCC_USB3_PRIM_PHY_PIPE_CLK_SRC
] = &gcc_usb3_prim_phy_pipe_clk_src
.clkr
,
6526 [GCC_USB3_SEC_PHY_AUX_CLK
] = &gcc_usb3_sec_phy_aux_clk
.clkr
,
6527 [GCC_USB3_SEC_PHY_AUX_CLK_SRC
] = &gcc_usb3_sec_phy_aux_clk_src
.clkr
,
6528 [GCC_USB3_SEC_PHY_COM_AUX_CLK
] = &gcc_usb3_sec_phy_com_aux_clk
.clkr
,
6529 [GCC_USB3_SEC_PHY_PIPE_CLK
] = &gcc_usb3_sec_phy_pipe_clk
.clkr
,
6530 [GCC_USB3_SEC_PHY_PIPE_CLK_SRC
] = &gcc_usb3_sec_phy_pipe_clk_src
.clkr
,
6531 [GCC_USB3_TERT_PHY_AUX_CLK
] = &gcc_usb3_tert_phy_aux_clk
.clkr
,
6532 [GCC_USB3_TERT_PHY_AUX_CLK_SRC
] = &gcc_usb3_tert_phy_aux_clk_src
.clkr
,
6533 [GCC_USB3_TERT_PHY_COM_AUX_CLK
] = &gcc_usb3_tert_phy_com_aux_clk
.clkr
,
6534 [GCC_USB3_TERT_PHY_PIPE_CLK
] = &gcc_usb3_tert_phy_pipe_clk
.clkr
,
6535 [GCC_USB3_TERT_PHY_PIPE_CLK_SRC
] = &gcc_usb3_tert_phy_pipe_clk_src
.clkr
,
6536 [GCC_USB4_0_CFG_AHB_CLK
] = &gcc_usb4_0_cfg_ahb_clk
.clkr
,
6537 [GCC_USB4_0_DP0_CLK
] = &gcc_usb4_0_dp0_clk
.clkr
,
6538 [GCC_USB4_0_DP1_CLK
] = &gcc_usb4_0_dp1_clk
.clkr
,
6539 [GCC_USB4_0_MASTER_CLK
] = &gcc_usb4_0_master_clk
.clkr
,
6540 [GCC_USB4_0_MASTER_CLK_SRC
] = &gcc_usb4_0_master_clk_src
.clkr
,
6541 [GCC_USB4_0_PHY_P2RR2P_PIPE_CLK
] = &gcc_usb4_0_phy_p2rr2p_pipe_clk
.clkr
,
6542 [GCC_USB4_0_PHY_PCIE_PIPE_CLK
] = &gcc_usb4_0_phy_pcie_pipe_clk
.clkr
,
6543 [GCC_USB4_0_PHY_PCIE_PIPE_CLK_SRC
] = &gcc_usb4_0_phy_pcie_pipe_clk_src
.clkr
,
6544 [GCC_USB4_0_PHY_RX0_CLK
] = &gcc_usb4_0_phy_rx0_clk
.clkr
,
6545 [GCC_USB4_0_PHY_RX1_CLK
] = &gcc_usb4_0_phy_rx1_clk
.clkr
,
6546 [GCC_USB4_0_PHY_USB_PIPE_CLK
] = &gcc_usb4_0_phy_usb_pipe_clk
.clkr
,
6547 [GCC_USB4_0_SB_IF_CLK
] = &gcc_usb4_0_sb_if_clk
.clkr
,
6548 [GCC_USB4_0_SB_IF_CLK_SRC
] = &gcc_usb4_0_sb_if_clk_src
.clkr
,
6549 [GCC_USB4_0_SYS_CLK
] = &gcc_usb4_0_sys_clk
.clkr
,
6550 [GCC_USB4_0_TMU_CLK
] = &gcc_usb4_0_tmu_clk
.clkr
,
6551 [GCC_USB4_0_TMU_CLK_SRC
] = &gcc_usb4_0_tmu_clk_src
.clkr
,
6552 [GCC_USB4_1_CFG_AHB_CLK
] = &gcc_usb4_1_cfg_ahb_clk
.clkr
,
6553 [GCC_USB4_1_DP0_CLK
] = &gcc_usb4_1_dp0_clk
.clkr
,
6554 [GCC_USB4_1_DP1_CLK
] = &gcc_usb4_1_dp1_clk
.clkr
,
6555 [GCC_USB4_1_MASTER_CLK
] = &gcc_usb4_1_master_clk
.clkr
,
6556 [GCC_USB4_1_MASTER_CLK_SRC
] = &gcc_usb4_1_master_clk_src
.clkr
,
6557 [GCC_USB4_1_PHY_P2RR2P_PIPE_CLK
] = &gcc_usb4_1_phy_p2rr2p_pipe_clk
.clkr
,
6558 [GCC_USB4_1_PHY_PCIE_PIPE_CLK
] = &gcc_usb4_1_phy_pcie_pipe_clk
.clkr
,
6559 [GCC_USB4_1_PHY_PCIE_PIPE_CLK_SRC
] = &gcc_usb4_1_phy_pcie_pipe_clk_src
.clkr
,
6560 [GCC_USB4_1_PHY_RX0_CLK
] = &gcc_usb4_1_phy_rx0_clk
.clkr
,
6561 [GCC_USB4_1_PHY_RX1_CLK
] = &gcc_usb4_1_phy_rx1_clk
.clkr
,
6562 [GCC_USB4_1_PHY_USB_PIPE_CLK
] = &gcc_usb4_1_phy_usb_pipe_clk
.clkr
,
6563 [GCC_USB4_1_SB_IF_CLK
] = &gcc_usb4_1_sb_if_clk
.clkr
,
6564 [GCC_USB4_1_SB_IF_CLK_SRC
] = &gcc_usb4_1_sb_if_clk_src
.clkr
,
6565 [GCC_USB4_1_SYS_CLK
] = &gcc_usb4_1_sys_clk
.clkr
,
6566 [GCC_USB4_1_TMU_CLK
] = &gcc_usb4_1_tmu_clk
.clkr
,
6567 [GCC_USB4_1_TMU_CLK_SRC
] = &gcc_usb4_1_tmu_clk_src
.clkr
,
6568 [GCC_USB4_2_CFG_AHB_CLK
] = &gcc_usb4_2_cfg_ahb_clk
.clkr
,
6569 [GCC_USB4_2_DP0_CLK
] = &gcc_usb4_2_dp0_clk
.clkr
,
6570 [GCC_USB4_2_DP1_CLK
] = &gcc_usb4_2_dp1_clk
.clkr
,
6571 [GCC_USB4_2_MASTER_CLK
] = &gcc_usb4_2_master_clk
.clkr
,
6572 [GCC_USB4_2_MASTER_CLK_SRC
] = &gcc_usb4_2_master_clk_src
.clkr
,
6573 [GCC_USB4_2_PHY_P2RR2P_PIPE_CLK
] = &gcc_usb4_2_phy_p2rr2p_pipe_clk
.clkr
,
6574 [GCC_USB4_2_PHY_PCIE_PIPE_CLK
] = &gcc_usb4_2_phy_pcie_pipe_clk
.clkr
,
6575 [GCC_USB4_2_PHY_PCIE_PIPE_CLK_SRC
] = &gcc_usb4_2_phy_pcie_pipe_clk_src
.clkr
,
6576 [GCC_USB4_2_PHY_RX0_CLK
] = &gcc_usb4_2_phy_rx0_clk
.clkr
,
6577 [GCC_USB4_2_PHY_RX1_CLK
] = &gcc_usb4_2_phy_rx1_clk
.clkr
,
6578 [GCC_USB4_2_PHY_USB_PIPE_CLK
] = &gcc_usb4_2_phy_usb_pipe_clk
.clkr
,
6579 [GCC_USB4_2_SB_IF_CLK
] = &gcc_usb4_2_sb_if_clk
.clkr
,
6580 [GCC_USB4_2_SB_IF_CLK_SRC
] = &gcc_usb4_2_sb_if_clk_src
.clkr
,
6581 [GCC_USB4_2_SYS_CLK
] = &gcc_usb4_2_sys_clk
.clkr
,
6582 [GCC_USB4_2_TMU_CLK
] = &gcc_usb4_2_tmu_clk
.clkr
,
6583 [GCC_USB4_2_TMU_CLK_SRC
] = &gcc_usb4_2_tmu_clk_src
.clkr
,
6584 [GCC_VIDEO_AXI0_CLK
] = &gcc_video_axi0_clk
.clkr
,
6585 [GCC_VIDEO_AXI1_CLK
] = &gcc_video_axi1_clk
.clkr
,
6588 static struct gdsc
*gcc_x1e80100_gdscs
[] = {
6589 [GCC_PCIE_0_TUNNEL_GDSC
] = &gcc_pcie_0_tunnel_gdsc
,
6590 [GCC_PCIE_1_TUNNEL_GDSC
] = &gcc_pcie_1_tunnel_gdsc
,
6591 [GCC_PCIE_2_TUNNEL_GDSC
] = &gcc_pcie_2_tunnel_gdsc
,
6592 [GCC_PCIE_3_GDSC
] = &gcc_pcie_3_gdsc
,
6593 [GCC_PCIE_3_PHY_GDSC
] = &gcc_pcie_3_phy_gdsc
,
6594 [GCC_PCIE_4_GDSC
] = &gcc_pcie_4_gdsc
,
6595 [GCC_PCIE_4_PHY_GDSC
] = &gcc_pcie_4_phy_gdsc
,
6596 [GCC_PCIE_5_GDSC
] = &gcc_pcie_5_gdsc
,
6597 [GCC_PCIE_5_PHY_GDSC
] = &gcc_pcie_5_phy_gdsc
,
6598 [GCC_PCIE_6_PHY_GDSC
] = &gcc_pcie_6_phy_gdsc
,
6599 [GCC_PCIE_6A_GDSC
] = &gcc_pcie_6a_gdsc
,
6600 [GCC_PCIE_6B_GDSC
] = &gcc_pcie_6b_gdsc
,
6601 [GCC_UFS_MEM_PHY_GDSC
] = &gcc_ufs_mem_phy_gdsc
,
6602 [GCC_UFS_PHY_GDSC
] = &gcc_ufs_phy_gdsc
,
6603 [GCC_USB20_PRIM_GDSC
] = &gcc_usb20_prim_gdsc
,
6604 [GCC_USB30_MP_GDSC
] = &gcc_usb30_mp_gdsc
,
6605 [GCC_USB30_PRIM_GDSC
] = &gcc_usb30_prim_gdsc
,
6606 [GCC_USB30_SEC_GDSC
] = &gcc_usb30_sec_gdsc
,
6607 [GCC_USB30_TERT_GDSC
] = &gcc_usb30_tert_gdsc
,
6608 [GCC_USB3_MP_SS0_PHY_GDSC
] = &gcc_usb3_mp_ss0_phy_gdsc
,
6609 [GCC_USB3_MP_SS1_PHY_GDSC
] = &gcc_usb3_mp_ss1_phy_gdsc
,
6610 [GCC_USB4_0_GDSC
] = &gcc_usb4_0_gdsc
,
6611 [GCC_USB4_1_GDSC
] = &gcc_usb4_1_gdsc
,
6612 [GCC_USB4_2_GDSC
] = &gcc_usb4_2_gdsc
,
6613 [GCC_USB_0_PHY_GDSC
] = &gcc_usb_0_phy_gdsc
,
6614 [GCC_USB_1_PHY_GDSC
] = &gcc_usb_1_phy_gdsc
,
6615 [GCC_USB_2_PHY_GDSC
] = &gcc_usb_2_phy_gdsc
,
6618 static const struct qcom_reset_map gcc_x1e80100_resets
[] = {
6619 [GCC_AV1E_BCR
] = { 0x4a000 },
6620 [GCC_CAMERA_BCR
] = { 0x26000 },
6621 [GCC_DISPLAY_BCR
] = { 0x27000 },
6622 [GCC_GPU_BCR
] = { 0x71000 },
6623 [GCC_PCIE_0_LINK_DOWN_BCR
] = { 0x6c014 },
6624 [GCC_PCIE_0_NOCSR_COM_PHY_BCR
] = { 0x6c020 },
6625 [GCC_PCIE_0_PHY_BCR
] = { 0x6c01c },
6626 [GCC_PCIE_0_PHY_NOCSR_COM_PHY_BCR
] = { 0x6c028 },
6627 [GCC_PCIE_0_TUNNEL_BCR
] = { 0xa0000 },
6628 [GCC_PCIE_1_LINK_DOWN_BCR
] = { 0x8e014 },
6629 [GCC_PCIE_1_NOCSR_COM_PHY_BCR
] = { 0x8e020 },
6630 [GCC_PCIE_1_PHY_BCR
] = { 0x8e01c },
6631 [GCC_PCIE_1_PHY_NOCSR_COM_PHY_BCR
] = { 0x8e024 },
6632 [GCC_PCIE_1_TUNNEL_BCR
] = { 0x2c000 },
6633 [GCC_PCIE_2_LINK_DOWN_BCR
] = { 0xa5014 },
6634 [GCC_PCIE_2_NOCSR_COM_PHY_BCR
] = { 0xa5020 },
6635 [GCC_PCIE_2_PHY_BCR
] = { 0xa501c },
6636 [GCC_PCIE_2_PHY_NOCSR_COM_PHY_BCR
] = { 0xa5028 },
6637 [GCC_PCIE_2_TUNNEL_BCR
] = { 0x13000 },
6638 [GCC_PCIE_3_BCR
] = { 0x58000 },
6639 [GCC_PCIE_3_LINK_DOWN_BCR
] = { 0xab014 },
6640 [GCC_PCIE_3_NOCSR_COM_PHY_BCR
] = { 0xab020 },
6641 [GCC_PCIE_3_PHY_BCR
] = { 0xab01c },
6642 [GCC_PCIE_3_PHY_NOCSR_COM_PHY_BCR
] = { 0xab024 },
6643 [GCC_PCIE_4_BCR
] = { 0x6b000 },
6644 [GCC_PCIE_4_LINK_DOWN_BCR
] = { 0xb3014 },
6645 [GCC_PCIE_4_NOCSR_COM_PHY_BCR
] = { 0xb3020 },
6646 [GCC_PCIE_4_PHY_BCR
] = { 0xb301c },
6647 [GCC_PCIE_4_PHY_NOCSR_COM_PHY_BCR
] = { 0xb3028 },
6648 [GCC_PCIE_5_BCR
] = { 0x2f000 },
6649 [GCC_PCIE_5_LINK_DOWN_BCR
] = { 0xaa014 },
6650 [GCC_PCIE_5_NOCSR_COM_PHY_BCR
] = { 0xaa020 },
6651 [GCC_PCIE_5_PHY_BCR
] = { 0xaa01c },
6652 [GCC_PCIE_5_PHY_NOCSR_COM_PHY_BCR
] = { 0xaa028 },
6653 [GCC_PCIE_6A_BCR
] = { 0x31000 },
6654 [GCC_PCIE_6A_LINK_DOWN_BCR
] = { 0xac014 },
6655 [GCC_PCIE_6A_NOCSR_COM_PHY_BCR
] = { 0xac020 },
6656 [GCC_PCIE_6A_PHY_BCR
] = { 0xac01c },
6657 [GCC_PCIE_6A_PHY_NOCSR_COM_PHY_BCR
] = { 0xac024 },
6658 [GCC_PCIE_6B_BCR
] = { 0x8d000 },
6659 [GCC_PCIE_6B_LINK_DOWN_BCR
] = { 0xb5014 },
6660 [GCC_PCIE_6B_NOCSR_COM_PHY_BCR
] = { 0xb5020 },
6661 [GCC_PCIE_6B_PHY_BCR
] = { 0xb501c },
6662 [GCC_PCIE_6B_PHY_NOCSR_COM_PHY_BCR
] = { 0xb5024 },
6663 [GCC_PCIE_PHY_BCR
] = { 0x6f000 },
6664 [GCC_PCIE_PHY_CFG_AHB_BCR
] = { 0x6f00c },
6665 [GCC_PCIE_PHY_COM_BCR
] = { 0x6f010 },
6666 [GCC_PCIE_RSCC_BCR
] = { 0xa4000 },
6667 [GCC_PDM_BCR
] = { 0x33000 },
6668 [GCC_QUPV3_WRAPPER_0_BCR
] = { 0x42000 },
6669 [GCC_QUPV3_WRAPPER_1_BCR
] = { 0x18000 },
6670 [GCC_QUPV3_WRAPPER_2_BCR
] = { 0x1e000 },
6671 [GCC_QUSB2PHY_HS0_MP_BCR
] = { 0x1200c },
6672 [GCC_QUSB2PHY_HS1_MP_BCR
] = { 0x12010 },
6673 [GCC_QUSB2PHY_PRIM_BCR
] = { 0x12000 },
6674 [GCC_QUSB2PHY_SEC_BCR
] = { 0x12004 },
6675 [GCC_QUSB2PHY_TERT_BCR
] = { 0x12008 },
6676 [GCC_QUSB2PHY_USB20_HS_BCR
] = { 0x12014 },
6677 [GCC_SDCC2_BCR
] = { 0x14000 },
6678 [GCC_SDCC4_BCR
] = { 0x16000 },
6679 [GCC_UFS_PHY_BCR
] = { 0x77000 },
6680 [GCC_USB20_PRIM_BCR
] = { 0x29000 },
6681 [GCC_USB30_MP_BCR
] = { 0x17000 },
6682 [GCC_USB30_PRIM_BCR
] = { 0x39000 },
6683 [GCC_USB30_SEC_BCR
] = { 0xa1000 },
6684 [GCC_USB30_TERT_BCR
] = { 0xa2000 },
6685 [GCC_USB3_MP_SS0_PHY_BCR
] = { 0x19008 },
6686 [GCC_USB3_MP_SS1_PHY_BCR
] = { 0x54008 },
6687 [GCC_USB3_PHY_PRIM_BCR
] = { 0x50000 },
6688 [GCC_USB3_PHY_SEC_BCR
] = { 0x2a000 },
6689 [GCC_USB3_PHY_TERT_BCR
] = { 0xa3000 },
6690 [GCC_USB3_UNIPHY_MP0_BCR
] = { 0x19000 },
6691 [GCC_USB3_UNIPHY_MP1_BCR
] = { 0x54000 },
6692 [GCC_USB3PHY_PHY_PRIM_BCR
] = { 0x50004 },
6693 [GCC_USB3PHY_PHY_SEC_BCR
] = { 0x2a004 },
6694 [GCC_USB3PHY_PHY_TERT_BCR
] = { 0xa3004 },
6695 [GCC_USB3UNIPHY_PHY_MP0_BCR
] = { 0x19004 },
6696 [GCC_USB3UNIPHY_PHY_MP1_BCR
] = { 0x54004 },
6697 [GCC_USB4_0_BCR
] = { 0x9f000 },
6698 [GCC_USB4_0_DP0_PHY_PRIM_BCR
] = { 0x50010 },
6699 [GCC_USB4_1_DP0_PHY_SEC_BCR
] = { 0x2a010 },
6700 [GCC_USB4_2_DP0_PHY_TERT_BCR
] = { 0xa3010 },
6701 [GCC_USB4_1_BCR
] = { 0x2b000 },
6702 [GCC_USB4_2_BCR
] = { 0x11000 },
6703 [GCC_USB_0_PHY_BCR
] = { 0x50020 },
6704 [GCC_USB_1_PHY_BCR
] = { 0x2a020 },
6705 [GCC_USB_2_PHY_BCR
] = { 0xa3020 },
6706 [GCC_VIDEO_BCR
] = { 0x32000 },
6709 static const struct clk_rcg_dfs_data gcc_dfs_clocks
[] = {
6710 DEFINE_RCG_DFS(gcc_qupv3_wrap0_s0_clk_src
),
6711 DEFINE_RCG_DFS(gcc_qupv3_wrap0_s1_clk_src
),
6712 DEFINE_RCG_DFS(gcc_qupv3_wrap0_s2_clk_src
),
6713 DEFINE_RCG_DFS(gcc_qupv3_wrap0_s3_clk_src
),
6714 DEFINE_RCG_DFS(gcc_qupv3_wrap0_s4_clk_src
),
6715 DEFINE_RCG_DFS(gcc_qupv3_wrap0_s5_clk_src
),
6716 DEFINE_RCG_DFS(gcc_qupv3_wrap0_s6_clk_src
),
6717 DEFINE_RCG_DFS(gcc_qupv3_wrap0_s7_clk_src
),
6718 DEFINE_RCG_DFS(gcc_qupv3_wrap1_s0_clk_src
),
6719 DEFINE_RCG_DFS(gcc_qupv3_wrap1_s1_clk_src
),
6720 DEFINE_RCG_DFS(gcc_qupv3_wrap1_s2_clk_src
),
6721 DEFINE_RCG_DFS(gcc_qupv3_wrap1_s3_clk_src
),
6722 DEFINE_RCG_DFS(gcc_qupv3_wrap1_s4_clk_src
),
6723 DEFINE_RCG_DFS(gcc_qupv3_wrap1_s5_clk_src
),
6724 DEFINE_RCG_DFS(gcc_qupv3_wrap1_s6_clk_src
),
6725 DEFINE_RCG_DFS(gcc_qupv3_wrap1_s7_clk_src
),
6726 DEFINE_RCG_DFS(gcc_qupv3_wrap2_s0_clk_src
),
6727 DEFINE_RCG_DFS(gcc_qupv3_wrap2_s1_clk_src
),
6728 DEFINE_RCG_DFS(gcc_qupv3_wrap2_s2_clk_src
),
6729 DEFINE_RCG_DFS(gcc_qupv3_wrap2_s3_clk_src
),
6730 DEFINE_RCG_DFS(gcc_qupv3_wrap2_s4_clk_src
),
6731 DEFINE_RCG_DFS(gcc_qupv3_wrap2_s5_clk_src
),
6732 DEFINE_RCG_DFS(gcc_qupv3_wrap2_s6_clk_src
),
6733 DEFINE_RCG_DFS(gcc_qupv3_wrap2_s7_clk_src
),
6736 static const struct regmap_config gcc_x1e80100_regmap_config
= {
6740 .max_register
= 0x1f41f0,
6744 static const struct qcom_cc_desc gcc_x1e80100_desc
= {
6745 .config
= &gcc_x1e80100_regmap_config
,
6746 .clks
= gcc_x1e80100_clocks
,
6747 .num_clks
= ARRAY_SIZE(gcc_x1e80100_clocks
),
6748 .resets
= gcc_x1e80100_resets
,
6749 .num_resets
= ARRAY_SIZE(gcc_x1e80100_resets
),
6750 .gdscs
= gcc_x1e80100_gdscs
,
6751 .num_gdscs
= ARRAY_SIZE(gcc_x1e80100_gdscs
),
6754 static const struct of_device_id gcc_x1e80100_match_table
[] = {
6755 { .compatible
= "qcom,x1e80100-gcc" },
6758 MODULE_DEVICE_TABLE(of
, gcc_x1e80100_match_table
);
6760 static int gcc_x1e80100_probe(struct platform_device
*pdev
)
6762 struct regmap
*regmap
;
6765 regmap
= qcom_cc_map(pdev
, &gcc_x1e80100_desc
);
6767 return PTR_ERR(regmap
);
6769 ret
= qcom_cc_register_rcg_dfs(regmap
, gcc_dfs_clocks
,
6770 ARRAY_SIZE(gcc_dfs_clocks
));
6774 /* Keep some clocks always-on */
6775 qcom_branch_set_clk_en(regmap
, 0x26004); /* GCC_CAMERA_AHB_CLK */
6776 qcom_branch_set_clk_en(regmap
, 0x26028); /* GCC_CAMERA_XO_CLK */
6777 qcom_branch_set_clk_en(regmap
, 0x27004); /* GCC_DISP_AHB_CLK */
6778 qcom_branch_set_clk_en(regmap
, 0x27018); /* GCC_DISP_XO_CLK */
6779 qcom_branch_set_clk_en(regmap
, 0x32004); /* GCC_VIDEO_AHB_CLK */
6780 qcom_branch_set_clk_en(regmap
, 0x32030); /* GCC_VIDEO_XO_CLK */
6781 qcom_branch_set_clk_en(regmap
, 0x71004); /* GCC_GPU_CFG_AHB_CLK */
6783 /* Clear GDSC_SLEEP_ENA_VOTE to stop votes being auto-removed in sleep. */
6784 regmap_write(regmap
, 0x52224, 0x0);
6786 return qcom_cc_really_probe(&pdev
->dev
, &gcc_x1e80100_desc
, regmap
);
6789 static struct platform_driver gcc_x1e80100_driver
= {
6790 .probe
= gcc_x1e80100_probe
,
6792 .name
= "gcc-x1e80100",
6793 .of_match_table
= gcc_x1e80100_match_table
,
6797 static int __init
gcc_x1e80100_init(void)
6799 return platform_driver_register(&gcc_x1e80100_driver
);
6801 subsys_initcall(gcc_x1e80100_init
);
6803 static void __exit
gcc_x1e80100_exit(void)
6805 platform_driver_unregister(&gcc_x1e80100_driver
);
6807 module_exit(gcc_x1e80100_exit
);
6809 MODULE_DESCRIPTION("QTI GCC X1E80100 Driver");
6810 MODULE_LICENSE("GPL");