brintos

brintos / linux-shallow public Read only

0
0
Text · 179.1 KiB · 8ea25aa Raw
6811 lines · c
1// SPDX-License-Identifier: GPL-2.0-only2/*3 * Copyright (c) 2023, Qualcomm Innovation Center, Inc. All rights reserved.4 */5 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>11 12#include <dt-bindings/clock/qcom,x1e80100-gcc.h>13 14#include "clk-alpha-pll.h"15#include "clk-branch.h"16#include "clk-rcg.h"17#include "clk-regmap.h"18#include "clk-regmap-divider.h"19#include "clk-regmap-mux.h"20#include "clk-regmap-phy-mux.h"21#include "gdsc.h"22#include "reset.h"23 24enum {25	DT_BI_TCXO,26	DT_SLEEP_CLK,27	DT_PCIE_3_PIPE,28	DT_PCIE_4_PIPE,29	DT_PCIE_5_PIPE,30	DT_PCIE_6A_PIPE,31	DT_PCIE_6B_PIPE,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,35};36 37enum {38	P_BI_TCXO,39	P_GCC_GPLL0_OUT_EVEN,40	P_GCC_GPLL0_OUT_MAIN,41	P_GCC_GPLL4_OUT_MAIN,42	P_GCC_GPLL7_OUT_MAIN,43	P_GCC_GPLL8_OUT_MAIN,44	P_GCC_GPLL9_OUT_MAIN,45	P_SLEEP_CLK,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,49};50 51static struct clk_alpha_pll gcc_gpll0 = {52	.offset = 0x0,53	.regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_LUCID_OLE],54	.clkr = {55		.enable_reg = 0x52030,56		.enable_mask = BIT(0),57		.hw.init = &(const struct clk_init_data) {58			.name = "gcc_gpll0",59			.parent_data = &(const struct clk_parent_data) {60				.index = DT_BI_TCXO,61			},62			.num_parents = 1,63			.ops = &clk_alpha_pll_fixed_lucid_ole_ops,64		},65	},66};67 68static const struct clk_div_table post_div_table_gcc_gpll0_out_even[] = {69	{ 0x1, 2 },70	{ }71};72 73static struct clk_alpha_pll_postdiv gcc_gpll0_out_even = {74	.offset = 0x0,75	.post_div_shift = 10,76	.post_div_table = post_div_table_gcc_gpll0_out_even,77	.num_post_div = ARRAY_SIZE(post_div_table_gcc_gpll0_out_even),78	.width = 4,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*[]) {83			&gcc_gpll0.clkr.hw,84		},85		.num_parents = 1,86		.ops = &clk_alpha_pll_postdiv_lucid_ole_ops,87	},88};89 90static struct clk_alpha_pll gcc_gpll4 = {91	.offset = 0x4000,92	.regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_LUCID_OLE],93	.clkr = {94		.enable_reg = 0x52030,95		.enable_mask = BIT(4),96		.hw.init = &(const struct clk_init_data) {97			.name = "gcc_gpll4",98			.parent_data = &(const struct clk_parent_data) {99				.index = DT_BI_TCXO,100			},101			.num_parents = 1,102			.ops = &clk_alpha_pll_fixed_lucid_ole_ops,103		},104	},105};106 107static struct clk_alpha_pll gcc_gpll7 = {108	.offset = 0x7000,109	.regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_LUCID_OLE],110	.clkr = {111		.enable_reg = 0x52030,112		.enable_mask = BIT(7),113		.hw.init = &(const struct clk_init_data) {114			.name = "gcc_gpll7",115			.parent_data = &(const struct clk_parent_data) {116				.index = DT_BI_TCXO,117			},118			.num_parents = 1,119			.ops = &clk_alpha_pll_fixed_lucid_ole_ops,120		},121	},122};123 124static struct clk_alpha_pll gcc_gpll8 = {125	.offset = 0x8000,126	.regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_LUCID_OLE],127	.clkr = {128		.enable_reg = 0x52030,129		.enable_mask = BIT(8),130		.hw.init = &(const struct clk_init_data) {131			.name = "gcc_gpll8",132			.parent_data = &(const struct clk_parent_data) {133				.index = DT_BI_TCXO,134			},135			.num_parents = 1,136			.ops = &clk_alpha_pll_fixed_lucid_ole_ops,137		},138	},139};140 141static struct clk_alpha_pll gcc_gpll9 = {142	.offset = 0x9000,143	.regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_LUCID_OLE],144	.clkr = {145		.enable_reg = 0x52030,146		.enable_mask = BIT(9),147		.hw.init = &(const struct clk_init_data) {148			.name = "gcc_gpll9",149			.parent_data = &(const struct clk_parent_data) {150				.index = DT_BI_TCXO,151			},152			.num_parents = 1,153			.ops = &clk_alpha_pll_fixed_lucid_ole_ops,154		},155	},156};157 158static const struct parent_map gcc_parent_map_0[] = {159	{ P_BI_TCXO, 0 },160	{ P_GCC_GPLL0_OUT_MAIN, 1 },161	{ P_GCC_GPLL0_OUT_EVEN, 6 },162};163 164static 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 },168};169 170static const struct parent_map gcc_parent_map_1[] = {171	{ P_BI_TCXO, 0 },172	{ P_SLEEP_CLK, 5 },173};174 175static const struct clk_parent_data gcc_parent_data_1[] = {176	{ .index = DT_BI_TCXO },177	{ .index = DT_SLEEP_CLK },178};179 180static const struct parent_map gcc_parent_map_2[] = {181	{ P_BI_TCXO, 0 },182	{ P_GCC_GPLL0_OUT_MAIN, 1 },183	{ P_SLEEP_CLK, 5 },184	{ P_GCC_GPLL0_OUT_EVEN, 6 },185};186 187static 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 },192};193 194static const struct parent_map gcc_parent_map_3[] = {195	{ P_BI_TCXO, 0 },196};197 198static const struct clk_parent_data gcc_parent_data_3[] = {199	{ .index = DT_BI_TCXO },200};201 202static const struct parent_map gcc_parent_map_4[] = {203	{ P_BI_TCXO, 0 },204	{ P_GCC_GPLL0_OUT_MAIN, 1 },205	{ P_GCC_GPLL8_OUT_MAIN, 2 },206	{ P_GCC_GPLL0_OUT_EVEN, 6 },207};208 209static 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 },214};215 216static const struct parent_map gcc_parent_map_5[] = {217	{ P_BI_TCXO, 0 },218	{ P_GCC_GPLL0_OUT_MAIN, 1 },219	{ P_GCC_GPLL7_OUT_MAIN, 2 },220	{ P_SLEEP_CLK, 5 },221};222 223static 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 },228};229 230static const struct parent_map gcc_parent_map_6[] = {231	{ P_BI_TCXO, 0 },232	{ P_GCC_GPLL0_OUT_MAIN, 1 },233	{ P_GCC_GPLL7_OUT_MAIN, 2 },234};235 236static 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 },240};241 242static const struct parent_map gcc_parent_map_7[] = {243	{ P_BI_TCXO, 0 },244	{ P_GCC_GPLL0_OUT_MAIN, 1 },245	{ P_GCC_GPLL4_OUT_MAIN, 5 },246	{ P_GCC_GPLL0_OUT_EVEN, 6 },247};248 249static 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 },254};255 256static const struct parent_map gcc_parent_map_8[] = {257	{ P_BI_TCXO, 0 },258	{ P_GCC_GPLL0_OUT_MAIN, 1 },259	{ P_GCC_GPLL7_OUT_MAIN, 2 },260	{ P_GCC_GPLL0_OUT_EVEN, 6 },261};262 263static 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 },268};269 270static const struct parent_map gcc_parent_map_9[] = {271	{ P_BI_TCXO, 0 },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 },276};277 278static const struct clk_parent_data gcc_parent_data_10[] = {279	{ .index = DT_USB3_PHY_0_WRAPPER_GCC_USB30_PIPE },280	{ .index = DT_BI_TCXO },281};282 283static const struct parent_map gcc_parent_map_10[] = {284	{ P_USB3_PHY_0_WRAPPER_GCC_USB30_PIPE_CLK, 0 },285	{ P_BI_TCXO, 2 },286};287 288static const struct clk_parent_data gcc_parent_data_11[] = {289	{ .index = DT_USB3_PHY_1_WRAPPER_GCC_USB30_PIPE },290	{ .index = DT_BI_TCXO },291};292 293static const struct parent_map gcc_parent_map_11[] = {294	{ P_USB3_PHY_1_WRAPPER_GCC_USB30_PIPE_CLK, 0 },295	{ P_BI_TCXO, 2 },296};297 298static const struct clk_parent_data gcc_parent_data_12[] = {299	{ .index = DT_USB3_PHY_2_WRAPPER_GCC_USB30_PIPE },300	{ .index = DT_BI_TCXO },301};302 303static const struct parent_map gcc_parent_map_12[] = {304	{ P_USB3_PHY_2_WRAPPER_GCC_USB30_PIPE_CLK, 0 },305	{ P_BI_TCXO, 2 },306};307 308static 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 },314};315 316static 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),320	{ }321};322 323static struct clk_rcg2 gcc_gp1_clk_src = {324	.cmd_rcgr = 0x64004,325	.mnd_width = 16,326	.hid_width = 5,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,335	},336};337 338static struct clk_rcg2 gcc_gp2_clk_src = {339	.cmd_rcgr = 0x65004,340	.mnd_width = 16,341	.hid_width = 5,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,350	},351};352 353static struct clk_rcg2 gcc_gp3_clk_src = {354	.cmd_rcgr = 0x66004,355	.mnd_width = 16,356	.hid_width = 5,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,365	},366};367 368static const struct freq_tbl ftbl_gcc_pcie_0_aux_clk_src[] = {369	F(19200000, P_BI_TCXO, 1, 0, 0),370	{ }371};372 373static struct clk_rcg2 gcc_pcie_0_aux_clk_src = {374	.cmd_rcgr = 0xa0180,375	.mnd_width = 16,376	.hid_width = 5,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,385	},386};387 388static const struct freq_tbl ftbl_gcc_pcie_0_phy_rchng_clk_src[] = {389	F(100000000, P_GCC_GPLL0_OUT_EVEN, 3, 0, 0),390	{ }391};392 393static struct clk_rcg2 gcc_pcie_0_phy_rchng_clk_src = {394	.cmd_rcgr = 0xa0054,395	.mnd_width = 0,396	.hid_width = 5,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,405	},406};407 408static struct clk_rcg2 gcc_pcie_1_aux_clk_src = {409	.cmd_rcgr = 0x2c180,410	.mnd_width = 16,411	.hid_width = 5,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,420	},421};422 423static struct clk_rcg2 gcc_pcie_1_phy_rchng_clk_src = {424	.cmd_rcgr = 0x2c054,425	.mnd_width = 0,426	.hid_width = 5,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,435	},436};437 438static struct clk_rcg2 gcc_pcie_2_aux_clk_src = {439	.cmd_rcgr = 0x13180,440	.mnd_width = 16,441	.hid_width = 5,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,450	},451};452 453static struct clk_rcg2 gcc_pcie_2_phy_rchng_clk_src = {454	.cmd_rcgr = 0x13054,455	.mnd_width = 0,456	.hid_width = 5,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,465	},466};467 468static struct clk_rcg2 gcc_pcie_3_aux_clk_src = {469	.cmd_rcgr = 0x5808c,470	.mnd_width = 16,471	.hid_width = 5,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,480	},481};482 483static struct clk_rcg2 gcc_pcie_3_phy_rchng_clk_src = {484	.cmd_rcgr = 0x58070,485	.mnd_width = 0,486	.hid_width = 5,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,495	},496};497 498static struct clk_rcg2 gcc_pcie_4_aux_clk_src = {499	.cmd_rcgr = 0x6b080,500	.mnd_width = 16,501	.hid_width = 5,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,510	},511};512 513static struct clk_rcg2 gcc_pcie_4_phy_rchng_clk_src = {514	.cmd_rcgr = 0x6b064,515	.mnd_width = 0,516	.hid_width = 5,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,525	},526};527 528static struct clk_rcg2 gcc_pcie_5_aux_clk_src = {529	.cmd_rcgr = 0x2f080,530	.mnd_width = 16,531	.hid_width = 5,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,540	},541};542 543static struct clk_rcg2 gcc_pcie_5_phy_rchng_clk_src = {544	.cmd_rcgr = 0x2f064,545	.mnd_width = 0,546	.hid_width = 5,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,555	},556};557 558static struct clk_rcg2 gcc_pcie_6a_aux_clk_src = {559	.cmd_rcgr = 0x3108c,560	.mnd_width = 16,561	.hid_width = 5,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,570	},571};572 573static struct clk_rcg2 gcc_pcie_6a_phy_rchng_clk_src = {574	.cmd_rcgr = 0x31070,575	.mnd_width = 0,576	.hid_width = 5,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,585	},586};587 588static struct clk_rcg2 gcc_pcie_6b_aux_clk_src = {589	.cmd_rcgr = 0x8d08c,590	.mnd_width = 16,591	.hid_width = 5,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,600	},601};602 603static struct clk_rcg2 gcc_pcie_6b_phy_rchng_clk_src = {604	.cmd_rcgr = 0x8d070,605	.mnd_width = 0,606	.hid_width = 5,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,615	},616};617 618static struct clk_rcg2 gcc_pcie_rscc_xo_clk_src = {619	.cmd_rcgr = 0xa400c,620	.mnd_width = 0,621	.hid_width = 5,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,630	},631};632 633static const struct freq_tbl ftbl_gcc_pdm2_clk_src[] = {634	F(60000000, P_GCC_GPLL0_OUT_MAIN, 10, 0, 0),635	{ }636};637 638static struct clk_rcg2 gcc_pdm2_clk_src = {639	.cmd_rcgr = 0x33010,640	.mnd_width = 0,641	.hid_width = 5,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,650	},651};652 653static 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),665	{ }666};667 668static 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,674};675 676static struct clk_rcg2 gcc_qupv3_wrap0_s0_clk_src = {677	.cmd_rcgr = 0x42010,678	.mnd_width = 16,679	.hid_width = 5,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,683};684 685static 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,691};692 693static struct clk_rcg2 gcc_qupv3_wrap0_s1_clk_src = {694	.cmd_rcgr = 0x42148,695	.mnd_width = 16,696	.hid_width = 5,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,700};701 702static 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),714	{ }715};716 717static 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,723};724 725static struct clk_rcg2 gcc_qupv3_wrap0_s2_clk_src = {726	.cmd_rcgr = 0x42288,727	.mnd_width = 16,728	.hid_width = 5,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,732};733 734static 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,740};741 742static struct clk_rcg2 gcc_qupv3_wrap0_s3_clk_src = {743	.cmd_rcgr = 0x423c8,744	.mnd_width = 16,745	.hid_width = 5,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,749};750 751static 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),763	{ }764};765 766static 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,772};773 774static struct clk_rcg2 gcc_qupv3_wrap0_s4_clk_src = {775	.cmd_rcgr = 0x42500,776	.mnd_width = 16,777	.hid_width = 5,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,781};782 783static 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,789};790 791static struct clk_rcg2 gcc_qupv3_wrap0_s5_clk_src = {792	.cmd_rcgr = 0x42638,793	.mnd_width = 16,794	.hid_width = 5,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,798};799 800static 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,806};807 808static struct clk_rcg2 gcc_qupv3_wrap0_s6_clk_src = {809	.cmd_rcgr = 0x42770,810	.mnd_width = 16,811	.hid_width = 5,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,815};816 817static 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,823};824 825static struct clk_rcg2 gcc_qupv3_wrap0_s7_clk_src = {826	.cmd_rcgr = 0x428a8,827	.mnd_width = 16,828	.hid_width = 5,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,832};833 834static 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,840};841 842static struct clk_rcg2 gcc_qupv3_wrap1_s0_clk_src = {843	.cmd_rcgr = 0x18010,844	.mnd_width = 16,845	.hid_width = 5,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,849};850 851static 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,857};858 859static struct clk_rcg2 gcc_qupv3_wrap1_s1_clk_src = {860	.cmd_rcgr = 0x18148,861	.mnd_width = 16,862	.hid_width = 5,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,866};867 868static 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,874};875 876static struct clk_rcg2 gcc_qupv3_wrap1_s2_clk_src = {877	.cmd_rcgr = 0x18288,878	.mnd_width = 16,879	.hid_width = 5,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,883};884 885static 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,891};892 893static struct clk_rcg2 gcc_qupv3_wrap1_s3_clk_src = {894	.cmd_rcgr = 0x183c8,895	.mnd_width = 16,896	.hid_width = 5,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,900};901 902static 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,908};909 910static struct clk_rcg2 gcc_qupv3_wrap1_s4_clk_src = {911	.cmd_rcgr = 0x18500,912	.mnd_width = 16,913	.hid_width = 5,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,917};918 919static 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,925};926 927static struct clk_rcg2 gcc_qupv3_wrap1_s5_clk_src = {928	.cmd_rcgr = 0x18638,929	.mnd_width = 16,930	.hid_width = 5,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,934};935 936static 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,942};943 944static struct clk_rcg2 gcc_qupv3_wrap1_s6_clk_src = {945	.cmd_rcgr = 0x18770,946	.mnd_width = 16,947	.hid_width = 5,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,951};952 953static 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,959};960 961static struct clk_rcg2 gcc_qupv3_wrap1_s7_clk_src = {962	.cmd_rcgr = 0x188a8,963	.mnd_width = 16,964	.hid_width = 5,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,968};969 970static 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,976};977 978static struct clk_rcg2 gcc_qupv3_wrap2_s0_clk_src = {979	.cmd_rcgr = 0x1e010,980	.mnd_width = 16,981	.hid_width = 5,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,985};986 987static 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,993};994 995static struct clk_rcg2 gcc_qupv3_wrap2_s1_clk_src = {996	.cmd_rcgr = 0x1e148,997	.mnd_width = 16,998	.hid_width = 5,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,1002};1003 1004static 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,1010};1011 1012static struct clk_rcg2 gcc_qupv3_wrap2_s2_clk_src = {1013	.cmd_rcgr = 0x1e288,1014	.mnd_width = 16,1015	.hid_width = 5,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,1019};1020 1021static 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,1027};1028 1029static struct clk_rcg2 gcc_qupv3_wrap2_s3_clk_src = {1030	.cmd_rcgr = 0x1e3c8,1031	.mnd_width = 16,1032	.hid_width = 5,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,1036};1037 1038static 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,1044};1045 1046static struct clk_rcg2 gcc_qupv3_wrap2_s4_clk_src = {1047	.cmd_rcgr = 0x1e500,1048	.mnd_width = 16,1049	.hid_width = 5,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,1053};1054 1055static 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,1061};1062 1063static struct clk_rcg2 gcc_qupv3_wrap2_s5_clk_src = {1064	.cmd_rcgr = 0x1e638,1065	.mnd_width = 16,1066	.hid_width = 5,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,1070};1071 1072static 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,1078};1079 1080static struct clk_rcg2 gcc_qupv3_wrap2_s6_clk_src = {1081	.cmd_rcgr = 0x1e770,1082	.mnd_width = 16,1083	.hid_width = 5,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,1087};1088 1089static 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,1095};1096 1097static struct clk_rcg2 gcc_qupv3_wrap2_s7_clk_src = {1098	.cmd_rcgr = 0x1e8a8,1099	.mnd_width = 16,1100	.hid_width = 5,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,1104};1105 1106static 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),1112	{ }1113};1114 1115static struct clk_rcg2 gcc_sdcc2_apps_clk_src = {1116	.cmd_rcgr = 0x14018,1117	.mnd_width = 8,1118	.hid_width = 5,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,1127	},1128};1129 1130static 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),1134	{ }1135};1136 1137static struct clk_rcg2 gcc_sdcc4_apps_clk_src = {1138	.cmd_rcgr = 0x16018,1139	.mnd_width = 8,1140	.hid_width = 5,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,1149	},1150};1151 1152static 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),1157	{ }1158};1159 1160static struct clk_rcg2 gcc_ufs_phy_axi_clk_src = {1161	.cmd_rcgr = 0x77030,1162	.mnd_width = 8,1163	.hid_width = 5,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,1172	},1173};1174 1175static 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),1179	{ }1180};1181 1182static struct clk_rcg2 gcc_ufs_phy_ice_core_clk_src = {1183	.cmd_rcgr = 0x77080,1184	.mnd_width = 0,1185	.hid_width = 5,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,1194	},1195};1196 1197static struct clk_rcg2 gcc_ufs_phy_phy_aux_clk_src = {1198	.cmd_rcgr = 0x770b4,1199	.mnd_width = 0,1200	.hid_width = 5,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,1209	},1210};1211 1212static 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),1216	{ }1217};1218 1219static struct clk_rcg2 gcc_ufs_phy_unipro_core_clk_src = {1220	.cmd_rcgr = 0x77098,1221	.mnd_width = 0,1222	.hid_width = 5,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,1231	},1232};1233 1234static 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),1237	{ }1238};1239 1240static struct clk_rcg2 gcc_usb20_master_clk_src = {1241	.cmd_rcgr = 0x2902c,1242	.mnd_width = 8,1243	.hid_width = 5,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,1252	},1253};1254 1255static struct clk_rcg2 gcc_usb20_mock_utmi_clk_src = {1256	.cmd_rcgr = 0x29158,1257	.mnd_width = 0,1258	.hid_width = 5,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,1267	},1268};1269 1270static 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),1275	{ }1276};1277 1278static struct clk_rcg2 gcc_usb30_mp_master_clk_src = {1279	.cmd_rcgr = 0x1702c,1280	.mnd_width = 8,1281	.hid_width = 5,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,1290	},1291};1292 1293static struct clk_rcg2 gcc_usb30_mp_mock_utmi_clk_src = {1294	.cmd_rcgr = 0x17158,1295	.mnd_width = 0,1296	.hid_width = 5,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,1305	},1306};1307 1308static struct clk_rcg2 gcc_usb30_prim_master_clk_src = {1309	.cmd_rcgr = 0x3902c,1310	.mnd_width = 8,1311	.hid_width = 5,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,1320	},1321};1322 1323static struct clk_rcg2 gcc_usb30_prim_mock_utmi_clk_src = {1324	.cmd_rcgr = 0x39044,1325	.mnd_width = 0,1326	.hid_width = 5,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,1335	},1336};1337 1338static struct clk_rcg2 gcc_usb30_sec_master_clk_src = {1339	.cmd_rcgr = 0xa102c,1340	.mnd_width = 8,1341	.hid_width = 5,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,1350	},1351};1352 1353static struct clk_rcg2 gcc_usb30_sec_mock_utmi_clk_src = {1354	.cmd_rcgr = 0xa1044,1355	.mnd_width = 0,1356	.hid_width = 5,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,1365	},1366};1367 1368static struct clk_rcg2 gcc_usb30_tert_master_clk_src = {1369	.cmd_rcgr = 0xa202c,1370	.mnd_width = 8,1371	.hid_width = 5,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,1380	},1381};1382 1383static struct clk_rcg2 gcc_usb30_tert_mock_utmi_clk_src = {1384	.cmd_rcgr = 0xa2044,1385	.mnd_width = 0,1386	.hid_width = 5,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,1395	},1396};1397 1398static struct clk_rcg2 gcc_usb3_mp_phy_aux_clk_src = {1399	.cmd_rcgr = 0x172a0,1400	.mnd_width = 0,1401	.hid_width = 5,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,1410	},1411};1412 1413static struct clk_rcg2 gcc_usb3_prim_phy_aux_clk_src = {1414	.cmd_rcgr = 0x39074,1415	.mnd_width = 0,1416	.hid_width = 5,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,1425	},1426};1427 1428static struct clk_rcg2 gcc_usb3_sec_phy_aux_clk_src = {1429	.cmd_rcgr = 0xa1074,1430	.mnd_width = 0,1431	.hid_width = 5,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,1440	},1441};1442 1443static struct clk_rcg2 gcc_usb3_tert_phy_aux_clk_src = {1444	.cmd_rcgr = 0xa2074,1445	.mnd_width = 0,1446	.hid_width = 5,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,1455	},1456};1457 1458static 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),1462	{ }1463};1464 1465static struct clk_rcg2 gcc_usb4_0_master_clk_src = {1466	.cmd_rcgr = 0x9f024,1467	.mnd_width = 8,1468	.hid_width = 5,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,1477	},1478};1479 1480static 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),1484	{ }1485};1486 1487static struct clk_rcg2 gcc_usb4_0_phy_pcie_pipe_clk_src = {1488	.cmd_rcgr = 0x9f0e8,1489	.mnd_width = 0,1490	.hid_width = 5,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,1499	},1500};1501 1502static struct clk_rcg2 gcc_usb4_0_sb_if_clk_src = {1503	.cmd_rcgr = 0x9f08c,1504	.mnd_width = 0,1505	.hid_width = 5,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,1514	},1515};1516 1517static 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),1520	{ }1521};1522 1523static struct clk_rcg2 gcc_usb4_0_tmu_clk_src = {1524	.cmd_rcgr = 0x9f070,1525	.mnd_width = 0,1526	.hid_width = 5,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,1535	},1536};1537 1538static struct clk_rcg2 gcc_usb4_1_master_clk_src = {1539	.cmd_rcgr = 0x2b024,1540	.mnd_width = 8,1541	.hid_width = 5,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,1550	},1551};1552 1553static struct clk_rcg2 gcc_usb4_1_phy_pcie_pipe_clk_src = {1554	.cmd_rcgr = 0x2b0e8,1555	.mnd_width = 0,1556	.hid_width = 5,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,1565	},1566};1567 1568static struct clk_rcg2 gcc_usb4_1_sb_if_clk_src = {1569	.cmd_rcgr = 0x2b08c,1570	.mnd_width = 0,1571	.hid_width = 5,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,1580	},1581};1582 1583static struct clk_rcg2 gcc_usb4_1_tmu_clk_src = {1584	.cmd_rcgr = 0x2b070,1585	.mnd_width = 0,1586	.hid_width = 5,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,1595	},1596};1597 1598static struct clk_rcg2 gcc_usb4_2_master_clk_src = {1599	.cmd_rcgr = 0x11024,1600	.mnd_width = 8,1601	.hid_width = 5,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,1610	},1611};1612 1613static struct clk_rcg2 gcc_usb4_2_phy_pcie_pipe_clk_src = {1614	.cmd_rcgr = 0x110e8,1615	.mnd_width = 0,1616	.hid_width = 5,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,1625	},1626};1627 1628static struct clk_rcg2 gcc_usb4_2_sb_if_clk_src = {1629	.cmd_rcgr = 0x1108c,1630	.mnd_width = 0,1631	.hid_width = 5,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,1640	},1641};1642 1643static struct clk_rcg2 gcc_usb4_2_tmu_clk_src = {1644	.cmd_rcgr = 0x11070,1645	.mnd_width = 0,1646	.hid_width = 5,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,1655	},1656};1657 1658static struct clk_regmap_phy_mux gcc_pcie_3_pipe_clk_src = {1659	.reg = 0x58088,1660	.clkr = {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,1665			},1666			.num_parents = 1,1667			.ops = &clk_regmap_phy_mux_ops,1668		},1669	},1670};1671 1672static struct clk_regmap_div gcc_pcie_3_pipe_div_clk_src = {1673	.reg = 0x5806c,1674	.shift = 0,1675	.width = 4,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,1680		},1681		.num_parents = 1,1682		.ops = &clk_regmap_div_ro_ops,1683	},1684};1685 1686static struct clk_regmap_phy_mux gcc_pcie_4_pipe_clk_src = {1687	.reg = 0x6b07c,1688	.clkr = {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,1693			},1694			.num_parents = 1,1695			.ops = &clk_regmap_phy_mux_ops,1696		},1697	},1698};1699 1700static struct clk_regmap_div gcc_pcie_4_pipe_div_clk_src = {1701	.reg = 0x6b060,1702	.shift = 0,1703	.width = 4,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,1708		},1709		.num_parents = 1,1710		.ops = &clk_regmap_div_ro_ops,1711	},1712};1713 1714static struct clk_regmap_phy_mux gcc_pcie_5_pipe_clk_src = {1715	.reg = 0x2f07c,1716	.clkr = {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,1721			},1722			.num_parents = 1,1723			.ops = &clk_regmap_phy_mux_ops,1724		},1725	},1726};1727 1728static struct clk_regmap_div gcc_pcie_5_pipe_div_clk_src = {1729	.reg = 0x2f060,1730	.shift = 0,1731	.width = 4,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,1736		},1737		.num_parents = 1,1738		.ops = &clk_regmap_div_ro_ops,1739	},1740};1741 1742static struct clk_regmap_phy_mux gcc_pcie_6a_pipe_clk_src = {1743	.reg = 0x31088,1744	.clkr = {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,1749			},1750			.num_parents = 1,1751			.ops = &clk_regmap_phy_mux_ops,1752		},1753	},1754};1755 1756static struct clk_regmap_div gcc_pcie_6a_pipe_div_clk_src = {1757	.reg = 0x3106c,1758	.shift = 0,1759	.width = 4,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,1764		},1765		.num_parents = 1,1766		.ops = &clk_regmap_div_ro_ops,1767	},1768};1769 1770static struct clk_regmap_phy_mux gcc_pcie_6b_pipe_clk_src = {1771	.reg = 0x8d088,1772	.clkr = {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,1777			},1778			.num_parents = 1,1779			.ops = &clk_regmap_phy_mux_ops,1780		},1781	},1782};1783 1784static struct clk_regmap_div gcc_pcie_6b_pipe_div_clk_src = {1785	.reg = 0x8d06c,1786	.shift = 0,1787	.width = 4,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,1792		},1793		.num_parents = 1,1794		.ops = &clk_regmap_div_ro_ops,1795	},1796};1797 1798static struct clk_regmap_div gcc_qupv3_wrap0_s2_div_clk_src = {1799	.reg = 0x42284,1800	.shift = 0,1801	.width = 4,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,1806		},1807		.num_parents = 1,1808		.flags = CLK_SET_RATE_PARENT,1809		.ops = &clk_regmap_div_ro_ops,1810	},1811};1812 1813static struct clk_regmap_div gcc_qupv3_wrap0_s3_div_clk_src = {1814	.reg = 0x423c4,1815	.shift = 0,1816	.width = 4,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,1821		},1822		.num_parents = 1,1823		.flags = CLK_SET_RATE_PARENT,1824		.ops = &clk_regmap_div_ro_ops,1825	},1826};1827 1828static struct clk_regmap_div gcc_qupv3_wrap1_s2_div_clk_src = {1829	.reg = 0x18284,1830	.shift = 0,1831	.width = 4,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,1836		},1837		.num_parents = 1,1838		.flags = CLK_SET_RATE_PARENT,1839		.ops = &clk_regmap_div_ro_ops,1840	},1841};1842 1843static struct clk_regmap_div gcc_qupv3_wrap1_s3_div_clk_src = {1844	.reg = 0x183c4,1845	.shift = 0,1846	.width = 4,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,1851		},1852		.num_parents = 1,1853		.flags = CLK_SET_RATE_PARENT,1854		.ops = &clk_regmap_div_ro_ops,1855	},1856};1857 1858static struct clk_regmap_div gcc_qupv3_wrap2_s2_div_clk_src = {1859	.reg = 0x1e284,1860	.shift = 0,1861	.width = 4,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,1866		},1867		.num_parents = 1,1868		.flags = CLK_SET_RATE_PARENT,1869		.ops = &clk_regmap_div_ro_ops,1870	},1871};1872 1873static struct clk_regmap_div gcc_qupv3_wrap2_s3_div_clk_src = {1874	.reg = 0x1e3c4,1875	.shift = 0,1876	.width = 4,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,1881		},1882		.num_parents = 1,1883		.flags = CLK_SET_RATE_PARENT,1884		.ops = &clk_regmap_div_ro_ops,1885	},1886};1887 1888static struct clk_regmap_div gcc_usb20_mock_utmi_postdiv_clk_src = {1889	.reg = 0x29284,1890	.shift = 0,1891	.width = 4,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,1896		},1897		.num_parents = 1,1898		.flags = CLK_SET_RATE_PARENT,1899		.ops = &clk_regmap_div_ro_ops,1900	},1901};1902 1903static struct clk_regmap_div gcc_usb30_mp_mock_utmi_postdiv_clk_src = {1904	.reg = 0x17284,1905	.shift = 0,1906	.width = 4,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,1911		},1912		.num_parents = 1,1913		.flags = CLK_SET_RATE_PARENT,1914		.ops = &clk_regmap_div_ro_ops,1915	},1916};1917 1918static struct clk_regmap_div gcc_usb30_prim_mock_utmi_postdiv_clk_src = {1919	.reg = 0x3905c,1920	.shift = 0,1921	.width = 4,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,1926		},1927		.num_parents = 1,1928		.flags = CLK_SET_RATE_PARENT,1929		.ops = &clk_regmap_div_ro_ops,1930	},1931};1932 1933static struct clk_regmap_div gcc_usb30_sec_mock_utmi_postdiv_clk_src = {1934	.reg = 0xa105c,1935	.shift = 0,1936	.width = 4,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,1941		},1942		.num_parents = 1,1943		.flags = CLK_SET_RATE_PARENT,1944		.ops = &clk_regmap_div_ro_ops,1945	},1946};1947 1948static struct clk_regmap_div gcc_usb30_tert_mock_utmi_postdiv_clk_src = {1949	.reg = 0xa205c,1950	.shift = 0,1951	.width = 4,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,1956		},1957		.num_parents = 1,1958		.flags = CLK_SET_RATE_PARENT,1959		.ops = &clk_regmap_div_ro_ops,1960	},1961};1962 1963static struct clk_branch gcc_aggre_noc_usb_north_axi_clk = {1964	.halt_reg = 0x2d17c,1965	.halt_check = BRANCH_HALT_VOTED,1966	.hwcg_reg = 0x2d17c,1967	.hwcg_bit = 1,1968	.clkr = {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,1974		},1975	},1976};1977 1978static struct clk_branch gcc_aggre_noc_usb_south_axi_clk = {1979	.halt_reg = 0x2d174,1980	.halt_check = BRANCH_HALT_VOTED,1981	.hwcg_reg = 0x2d174,1982	.hwcg_bit = 1,1983	.clkr = {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,1989		},1990	},1991};1992 1993static struct clk_branch gcc_aggre_ufs_phy_axi_clk = {1994	.halt_reg = 0x770e4,1995	.halt_check = BRANCH_HALT_VOTED,1996	.hwcg_reg = 0x770e4,1997	.hwcg_bit = 1,1998	.clkr = {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,2005			},2006			.num_parents = 1,2007			.flags = CLK_SET_RATE_PARENT,2008			.ops = &clk_branch2_ops,2009		},2010	},2011};2012 2013static struct clk_branch gcc_aggre_usb2_prim_axi_clk = {2014	.halt_reg = 0x2928c,2015	.halt_check = BRANCH_HALT_VOTED,2016	.hwcg_reg = 0x2928c,2017	.hwcg_bit = 1,2018	.clkr = {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,2025			},2026			.num_parents = 1,2027			.flags = CLK_SET_RATE_PARENT,2028			.ops = &clk_branch2_ops,2029		},2030	},2031};2032 2033static struct clk_branch gcc_aggre_usb3_mp_axi_clk = {2034	.halt_reg = 0x173d0,2035	.halt_check = BRANCH_HALT_VOTED,2036	.hwcg_reg = 0x173d0,2037	.hwcg_bit = 1,2038	.clkr = {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,2045			},2046			.num_parents = 1,2047			.flags = CLK_SET_RATE_PARENT,2048			.ops = &clk_branch2_ops,2049		},2050	},2051};2052 2053static struct clk_branch gcc_aggre_usb3_prim_axi_clk = {2054	.halt_reg = 0x39090,2055	.halt_check = BRANCH_HALT_VOTED,2056	.hwcg_reg = 0x39090,2057	.hwcg_bit = 1,2058	.clkr = {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,2065			},2066			.num_parents = 1,2067			.flags = CLK_SET_RATE_PARENT,2068			.ops = &clk_branch2_ops,2069		},2070	},2071};2072 2073static struct clk_branch gcc_aggre_usb3_sec_axi_clk = {2074	.halt_reg = 0xa1090,2075	.halt_check = BRANCH_HALT_VOTED,2076	.hwcg_reg = 0xa1090,2077	.hwcg_bit = 1,2078	.clkr = {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,2085			},2086			.num_parents = 1,2087			.flags = CLK_SET_RATE_PARENT,2088			.ops = &clk_branch2_ops,2089		},2090	},2091};2092 2093static struct clk_branch gcc_aggre_usb3_tert_axi_clk = {2094	.halt_reg = 0xa2090,2095	.halt_check = BRANCH_HALT_VOTED,2096	.hwcg_reg = 0xa2090,2097	.hwcg_bit = 1,2098	.clkr = {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,2105			},2106			.num_parents = 1,2107			.flags = CLK_SET_RATE_PARENT,2108			.ops = &clk_branch2_ops,2109		},2110	},2111};2112 2113static struct clk_branch gcc_aggre_usb4_0_axi_clk = {2114	.halt_reg = 0x9f118,2115	.halt_check = BRANCH_HALT_VOTED,2116	.hwcg_reg = 0x9f118,2117	.hwcg_bit = 1,2118	.clkr = {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,2125			},2126			.num_parents = 1,2127			.flags = CLK_SET_RATE_PARENT,2128			.ops = &clk_branch2_ops,2129		},2130	},2131};2132 2133static struct clk_branch gcc_aggre_usb4_1_axi_clk = {2134	.halt_reg = 0x2b118,2135	.halt_check = BRANCH_HALT_VOTED,2136	.hwcg_reg = 0x2b118,2137	.hwcg_bit = 1,2138	.clkr = {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,2145			},2146			.num_parents = 1,2147			.flags = CLK_SET_RATE_PARENT,2148			.ops = &clk_branch2_ops,2149		},2150	},2151};2152 2153static struct clk_branch gcc_aggre_usb4_2_axi_clk = {2154	.halt_reg = 0x11118,2155	.halt_check = BRANCH_HALT_VOTED,2156	.hwcg_reg = 0x11118,2157	.hwcg_bit = 1,2158	.clkr = {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,2165			},2166			.num_parents = 1,2167			.flags = CLK_SET_RATE_PARENT,2168			.ops = &clk_branch2_ops,2169		},2170	},2171};2172 2173static struct clk_branch gcc_aggre_usb_noc_axi_clk = {2174	.halt_reg = 0x2d034,2175	.halt_check = BRANCH_HALT_VOTED,2176	.hwcg_reg = 0x2d034,2177	.hwcg_bit = 1,2178	.clkr = {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,2184		},2185	},2186};2187 2188static struct clk_branch gcc_av1e_ahb_clk = {2189	.halt_reg = 0x4a004,2190	.halt_check = BRANCH_HALT_VOTED,2191	.hwcg_reg = 0x4a004,2192	.hwcg_bit = 1,2193	.clkr = {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,2199		},2200	},2201};2202 2203static struct clk_branch gcc_av1e_axi_clk = {2204	.halt_reg = 0x4a008,2205	.halt_check = BRANCH_HALT_SKIP,2206	.hwcg_reg = 0x4a008,2207	.hwcg_bit = 1,2208	.clkr = {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,2214		},2215	},2216};2217 2218static struct clk_branch gcc_av1e_xo_clk = {2219	.halt_reg = 0x4a014,2220	.halt_check = BRANCH_HALT,2221	.clkr = {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,2227		},2228	},2229};2230 2231static struct clk_branch gcc_boot_rom_ahb_clk = {2232	.halt_reg = 0x38004,2233	.halt_check = BRANCH_HALT_VOTED,2234	.hwcg_reg = 0x38004,2235	.hwcg_bit = 1,2236	.clkr = {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,2242		},2243	},2244};2245 2246static struct clk_branch gcc_camera_hf_axi_clk = {2247	.halt_reg = 0x26010,2248	.halt_check = BRANCH_HALT_SKIP,2249	.hwcg_reg = 0x26010,2250	.hwcg_bit = 1,2251	.clkr = {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,2257		},2258	},2259};2260 2261static struct clk_branch gcc_camera_sf_axi_clk = {2262	.halt_reg = 0x2601c,2263	.halt_check = BRANCH_HALT_SKIP,2264	.hwcg_reg = 0x2601c,2265	.hwcg_bit = 1,2266	.clkr = {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,2272		},2273	},2274};2275 2276static struct clk_branch gcc_cfg_noc_pcie_anoc_ahb_clk = {2277	.halt_reg = 0x10028,2278	.halt_check = BRANCH_HALT_VOTED,2279	.hwcg_reg = 0x10028,2280	.hwcg_bit = 1,2281	.clkr = {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,2287		},2288	},2289};2290 2291static 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,2295	.hwcg_bit = 1,2296	.clkr = {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,2302		},2303	},2304};2305 2306static 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,2310	.hwcg_bit = 1,2311	.clkr = {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,2317		},2318	},2319};2320 2321static struct clk_branch gcc_cfg_noc_usb2_prim_axi_clk = {2322	.halt_reg = 0x29288,2323	.halt_check = BRANCH_HALT_VOTED,2324	.hwcg_reg = 0x29288,2325	.hwcg_bit = 1,2326	.clkr = {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,2333			},2334			.num_parents = 1,2335			.flags = CLK_SET_RATE_PARENT,2336			.ops = &clk_branch2_ops,2337		},2338	},2339};2340 2341static struct clk_branch gcc_cfg_noc_usb3_mp_axi_clk = {2342	.halt_reg = 0x173cc,2343	.halt_check = BRANCH_HALT_VOTED,2344	.hwcg_reg = 0x173cc,2345	.hwcg_bit = 1,2346	.clkr = {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,2353			},2354			.num_parents = 1,2355			.flags = CLK_SET_RATE_PARENT,2356			.ops = &clk_branch2_ops,2357		},2358	},2359};2360 2361static struct clk_branch gcc_cfg_noc_usb3_prim_axi_clk = {2362	.halt_reg = 0x3908c,2363	.halt_check = BRANCH_HALT_VOTED,2364	.hwcg_reg = 0x3908c,2365	.hwcg_bit = 1,2366	.clkr = {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,2373			},2374			.num_parents = 1,2375			.flags = CLK_SET_RATE_PARENT,2376			.ops = &clk_branch2_ops,2377		},2378	},2379};2380 2381static struct clk_branch gcc_cfg_noc_usb3_sec_axi_clk = {2382	.halt_reg = 0xa108c,2383	.halt_check = BRANCH_HALT_VOTED,2384	.hwcg_reg = 0xa108c,2385	.hwcg_bit = 1,2386	.clkr = {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,2393			},2394			.num_parents = 1,2395			.flags = CLK_SET_RATE_PARENT,2396			.ops = &clk_branch2_ops,2397		},2398	},2399};2400 2401static struct clk_branch gcc_cfg_noc_usb3_tert_axi_clk = {2402	.halt_reg = 0xa208c,2403	.halt_check = BRANCH_HALT_VOTED,2404	.hwcg_reg = 0xa208c,2405	.hwcg_bit = 1,2406	.clkr = {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,2413			},2414			.num_parents = 1,2415			.flags = CLK_SET_RATE_PARENT,2416			.ops = &clk_branch2_ops,2417		},2418	},2419};2420 2421static struct clk_branch gcc_cfg_noc_usb_anoc_ahb_clk = {2422	.halt_reg = 0x2d024,2423	.halt_check = BRANCH_HALT_VOTED,2424	.hwcg_reg = 0x2d024,2425	.hwcg_bit = 1,2426	.clkr = {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,2432		},2433	},2434};2435 2436static 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,2440	.hwcg_bit = 1,2441	.clkr = {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,2447		},2448	},2449};2450 2451static 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,2455	.hwcg_bit = 1,2456	.clkr = {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,2462		},2463	},2464};2465 2466static struct clk_branch gcc_cnoc_pcie1_tunnel_clk = {2467	.halt_reg = 0x2c2b4,2468	.halt_check = BRANCH_HALT_VOTED,2469	.clkr = {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,2475		},2476	},2477};2478 2479static struct clk_branch gcc_cnoc_pcie2_tunnel_clk = {2480	.halt_reg = 0x132b4,2481	.halt_check = BRANCH_HALT_VOTED,2482	.clkr = {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,2488		},2489	},2490};2491 2492static struct clk_branch gcc_cnoc_pcie_north_sf_axi_clk = {2493	.halt_reg = 0x10014,2494	.halt_check = BRANCH_HALT_VOTED,2495	.hwcg_reg = 0x10014,2496	.hwcg_bit = 1,2497	.clkr = {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,2503		},2504	},2505};2506 2507static struct clk_branch gcc_cnoc_pcie_south_sf_axi_clk = {2508	.halt_reg = 0x10018,2509	.halt_check = BRANCH_HALT_VOTED,2510	.hwcg_reg = 0x10018,2511	.hwcg_bit = 1,2512	.clkr = {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,2518		},2519	},2520};2521 2522static struct clk_branch gcc_cnoc_pcie_tunnel_clk = {2523	.halt_reg = 0xa02b4,2524	.halt_check = BRANCH_HALT_VOTED,2525	.hwcg_reg = 0xa02b4,2526	.hwcg_bit = 1,2527	.clkr = {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,2533		},2534	},2535};2536 2537static struct clk_branch gcc_ddrss_gpu_axi_clk = {2538	.halt_reg = 0x7115c,2539	.halt_check = BRANCH_HALT_SKIP,2540	.hwcg_reg = 0x7115c,2541	.hwcg_bit = 1,2542	.clkr = {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,2548		},2549	},2550};2551 2552static struct clk_branch gcc_disp_hf_axi_clk = {2553	.halt_reg = 0x2700c,2554	.halt_check = BRANCH_HALT_SKIP,2555	.hwcg_reg = 0x2700c,2556	.hwcg_bit = 1,2557	.clkr = {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,2563		},2564	},2565};2566 2567static struct clk_branch gcc_disp_xo_clk = {2568	.halt_reg = 0x27018,2569	.halt_check = BRANCH_HALT,2570	.clkr = {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,2576		},2577	},2578};2579 2580static struct clk_branch gcc_gp1_clk = {2581	.halt_reg = 0x64000,2582	.halt_check = BRANCH_HALT,2583	.clkr = {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,2590			},2591			.num_parents = 1,2592			.flags = CLK_SET_RATE_PARENT,2593			.ops = &clk_branch2_ops,2594		},2595	},2596};2597 2598static struct clk_branch gcc_gp2_clk = {2599	.halt_reg = 0x65000,2600	.halt_check = BRANCH_HALT,2601	.clkr = {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,2608			},2609			.num_parents = 1,2610			.flags = CLK_SET_RATE_PARENT,2611			.ops = &clk_branch2_ops,2612		},2613	},2614};2615 2616static struct clk_branch gcc_gp3_clk = {2617	.halt_reg = 0x66000,2618	.halt_check = BRANCH_HALT,2619	.clkr = {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,2626			},2627			.num_parents = 1,2628			.flags = CLK_SET_RATE_PARENT,2629			.ops = &clk_branch2_ops,2630		},2631	},2632};2633 2634static struct clk_branch gcc_gpu_cfg_ahb_clk = {2635	.halt_reg = 0x71004,2636	.halt_check = BRANCH_HALT_VOTED,2637	.hwcg_reg = 0x71004,2638	.hwcg_bit = 1,2639	.clkr = {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,2645		},2646	},2647};2648 2649static struct clk_branch gcc_gpu_gpll0_cph_clk_src = {2650	.halt_check = BRANCH_HALT_DELAY,2651	.clkr = {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*[]) {2657				&gcc_gpll0.clkr.hw,2658			},2659			.num_parents = 1,2660			.flags = CLK_SET_RATE_PARENT,2661			.ops = &clk_branch2_ops,2662		},2663	},2664};2665 2666static struct clk_branch gcc_gpu_gpll0_div_cph_clk_src = {2667	.halt_check = BRANCH_HALT_DELAY,2668	.clkr = {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,2675			},2676			.num_parents = 1,2677			.flags = CLK_SET_RATE_PARENT,2678			.ops = &clk_branch2_ops,2679		},2680	},2681};2682 2683static struct clk_branch gcc_gpu_memnoc_gfx_clk = {2684	.halt_reg = 0x71010,2685	.halt_check = BRANCH_HALT_VOTED,2686	.hwcg_reg = 0x71010,2687	.hwcg_bit = 1,2688	.clkr = {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,2694		},2695	},2696};2697 2698static struct clk_branch gcc_gpu_snoc_dvm_gfx_clk = {2699	.halt_reg = 0x71018,2700	.halt_check = BRANCH_HALT,2701	.clkr = {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,2707		},2708	},2709};2710 2711static struct clk_branch gcc_pcie0_phy_rchng_clk = {2712	.halt_reg = 0xa0050,2713	.halt_check = BRANCH_HALT_VOTED,2714	.clkr = {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,2721			},2722			.num_parents = 1,2723			.flags = CLK_SET_RATE_PARENT,2724			.ops = &clk_branch2_ops,2725		},2726	},2727};2728 2729static struct clk_branch gcc_pcie1_phy_rchng_clk = {2730	.halt_reg = 0x2c050,2731	.halt_check = BRANCH_HALT_VOTED,2732	.clkr = {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,2739			},2740			.num_parents = 1,2741			.flags = CLK_SET_RATE_PARENT,2742			.ops = &clk_branch2_ops,2743		},2744	},2745};2746 2747static struct clk_branch gcc_pcie2_phy_rchng_clk = {2748	.halt_reg = 0x13050,2749	.halt_check = BRANCH_HALT_VOTED,2750	.clkr = {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,2757			},2758			.num_parents = 1,2759			.flags = CLK_SET_RATE_PARENT,2760			.ops = &clk_branch2_ops,2761		},2762	},2763};2764 2765static struct clk_branch gcc_pcie_0_aux_clk = {2766	.halt_reg = 0xa0038,2767	.halt_check = BRANCH_HALT_VOTED,2768	.clkr = {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,2775			},2776			.num_parents = 1,2777			.flags = CLK_SET_RATE_PARENT,2778			.ops = &clk_branch2_ops,2779		},2780	},2781};2782 2783static struct clk_branch gcc_pcie_0_cfg_ahb_clk = {2784	.halt_reg = 0xa0034,2785	.halt_check = BRANCH_HALT_VOTED,2786	.hwcg_reg = 0xa0034,2787	.hwcg_bit = 1,2788	.clkr = {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,2794		},2795	},2796};2797 2798static struct clk_branch gcc_pcie_0_mstr_axi_clk = {2799	.halt_reg = 0xa0028,2800	.halt_check = BRANCH_HALT_SKIP,2801	.hwcg_reg = 0xa0028,2802	.hwcg_bit = 1,2803	.clkr = {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,2809		},2810	},2811};2812 2813static struct clk_branch gcc_pcie_0_pipe_clk = {2814	.halt_reg = 0xa0044,2815	.halt_check = BRANCH_HALT_SKIP,2816	.clkr = {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,2822		},2823	},2824};2825 2826static struct clk_branch gcc_pcie_0_slv_axi_clk = {2827	.halt_reg = 0xa001c,2828	.halt_check = BRANCH_HALT_VOTED,2829	.hwcg_reg = 0xa001c,2830	.hwcg_bit = 1,2831	.clkr = {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,2837		},2838	},2839};2840 2841static struct clk_branch gcc_pcie_0_slv_q2a_axi_clk = {2842	.halt_reg = 0xa0018,2843	.halt_check = BRANCH_HALT_VOTED,2844	.clkr = {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,2850		},2851	},2852};2853 2854static struct clk_branch gcc_pcie_1_aux_clk = {2855	.halt_reg = 0x2c038,2856	.halt_check = BRANCH_HALT_VOTED,2857	.clkr = {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,2864			},2865			.num_parents = 1,2866			.flags = CLK_SET_RATE_PARENT,2867			.ops = &clk_branch2_ops,2868		},2869	},2870};2871 2872static struct clk_branch gcc_pcie_1_cfg_ahb_clk = {2873	.halt_reg = 0x2c034,2874	.halt_check = BRANCH_HALT_VOTED,2875	.hwcg_reg = 0x2c034,2876	.hwcg_bit = 1,2877	.clkr = {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,2883		},2884	},2885};2886 2887static struct clk_branch gcc_pcie_1_mstr_axi_clk = {2888	.halt_reg = 0x2c028,2889	.halt_check = BRANCH_HALT_SKIP,2890	.hwcg_reg = 0x2c028,2891	.hwcg_bit = 1,2892	.clkr = {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,2898		},2899	},2900};2901 2902static struct clk_branch gcc_pcie_1_pipe_clk = {2903	.halt_reg = 0x2c044,2904	.halt_check = BRANCH_HALT_SKIP,2905	.clkr = {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,2911		},2912	},2913};2914 2915static struct clk_branch gcc_pcie_1_slv_axi_clk = {2916	.halt_reg = 0x2c01c,2917	.halt_check = BRANCH_HALT_VOTED,2918	.hwcg_reg = 0x2c01c,2919	.hwcg_bit = 1,2920	.clkr = {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,2926		},2927	},2928};2929 2930static struct clk_branch gcc_pcie_1_slv_q2a_axi_clk = {2931	.halt_reg = 0x2c018,2932	.halt_check = BRANCH_HALT_VOTED,2933	.clkr = {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,2939		},2940	},2941};2942 2943static struct clk_branch gcc_pcie_2_aux_clk = {2944	.halt_reg = 0x13038,2945	.halt_check = BRANCH_HALT_VOTED,2946	.clkr = {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,2953			},2954			.num_parents = 1,2955			.flags = CLK_SET_RATE_PARENT,2956			.ops = &clk_branch2_ops,2957		},2958	},2959};2960 2961static struct clk_branch gcc_pcie_2_cfg_ahb_clk = {2962	.halt_reg = 0x13034,2963	.halt_check = BRANCH_HALT_VOTED,2964	.hwcg_reg = 0x13034,2965	.hwcg_bit = 1,2966	.clkr = {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,2972		},2973	},2974};2975 2976static struct clk_branch gcc_pcie_2_mstr_axi_clk = {2977	.halt_reg = 0x13028,2978	.halt_check = BRANCH_HALT_SKIP,2979	.hwcg_reg = 0x13028,2980	.hwcg_bit = 1,2981	.clkr = {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,2987		},2988	},2989};2990 2991static struct clk_branch gcc_pcie_2_pipe_clk = {2992	.halt_reg = 0x13044,2993	.halt_check = BRANCH_HALT_SKIP,2994	.clkr = {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,3000		},3001	},3002};3003 3004static struct clk_branch gcc_pcie_2_slv_axi_clk = {3005	.halt_reg = 0x1301c,3006	.halt_check = BRANCH_HALT_VOTED,3007	.hwcg_reg = 0x1301c,3008	.hwcg_bit = 1,3009	.clkr = {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,3015		},3016	},3017};3018 3019static struct clk_branch gcc_pcie_2_slv_q2a_axi_clk = {3020	.halt_reg = 0x13018,3021	.halt_check = BRANCH_HALT_VOTED,3022	.clkr = {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,3028		},3029	},3030};3031 3032static struct clk_branch gcc_pcie_3_aux_clk = {3033	.halt_reg = 0x58038,3034	.halt_check = BRANCH_HALT_VOTED,3035	.clkr = {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,3042			},3043			.num_parents = 1,3044			.flags = CLK_SET_RATE_PARENT,3045			.ops = &clk_branch2_ops,3046		},3047	},3048};3049 3050static struct clk_branch gcc_pcie_3_cfg_ahb_clk = {3051	.halt_reg = 0x58034,3052	.halt_check = BRANCH_HALT_VOTED,3053	.hwcg_reg = 0x58034,3054	.hwcg_bit = 1,3055	.clkr = {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,3061		},3062	},3063};3064 3065static struct clk_branch gcc_pcie_3_mstr_axi_clk = {3066	.halt_reg = 0x58028,3067	.halt_check = BRANCH_HALT_SKIP,3068	.hwcg_reg = 0x58028,3069	.hwcg_bit = 1,3070	.clkr = {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,3076		},3077	},3078};3079 3080static struct clk_branch gcc_pcie_3_phy_aux_clk = {3081	.halt_reg = 0x58044,3082	.halt_check = BRANCH_HALT_VOTED,3083	.clkr = {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,3089		},3090	},3091};3092 3093static struct clk_branch gcc_pcie_3_phy_rchng_clk = {3094	.halt_reg = 0x5805c,3095	.halt_check = BRANCH_HALT_VOTED,3096	.clkr = {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,3103			},3104			.num_parents = 1,3105			.flags = CLK_SET_RATE_PARENT,3106			.ops = &clk_branch2_ops,3107		},3108	},3109};3110 3111static struct clk_branch gcc_pcie_3_pipe_clk = {3112	.halt_reg = 0x58050,3113	.halt_check = BRANCH_HALT_SKIP,3114	.clkr = {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,3120		},3121	},3122};3123 3124static struct clk_branch gcc_pcie_3_pipediv2_clk = {3125	.halt_reg = 0x58060,3126	.halt_check = BRANCH_HALT_SKIP,3127	.clkr = {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,3134			},3135			.num_parents = 1,3136			.flags = CLK_SET_RATE_PARENT,3137			.ops = &clk_branch2_ops,3138		},3139	},3140};3141 3142static struct clk_branch gcc_pcie_3_slv_axi_clk = {3143	.halt_reg = 0x5801c,3144	.halt_check = BRANCH_HALT_VOTED,3145	.hwcg_reg = 0x5801c,3146	.hwcg_bit = 1,3147	.clkr = {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,3153		},3154	},3155};3156 3157static struct clk_branch gcc_pcie_3_slv_q2a_axi_clk = {3158	.halt_reg = 0x58018,3159	.halt_check = BRANCH_HALT_VOTED,3160	.clkr = {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,3166		},3167	},3168};3169 3170static struct clk_branch gcc_pcie_4_aux_clk = {3171	.halt_reg = 0x6b038,3172	.halt_check = BRANCH_HALT_VOTED,3173	.clkr = {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,3180			},3181			.num_parents = 1,3182			.flags = CLK_SET_RATE_PARENT,3183			.ops = &clk_branch2_ops,3184		},3185	},3186};3187 3188static struct clk_branch gcc_pcie_4_cfg_ahb_clk = {3189	.halt_reg = 0x6b034,3190	.halt_check = BRANCH_HALT_VOTED,3191	.hwcg_reg = 0x6b034,3192	.hwcg_bit = 1,3193	.clkr = {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,3199		},3200	},3201};3202 3203static struct clk_branch gcc_pcie_4_mstr_axi_clk = {3204	.halt_reg = 0x6b028,3205	.halt_check = BRANCH_HALT_SKIP,3206	.hwcg_reg = 0x6b028,3207	.hwcg_bit = 1,3208	.clkr = {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,3214		},3215	},3216};3217 3218static struct clk_branch gcc_pcie_4_phy_rchng_clk = {3219	.halt_reg = 0x6b050,3220	.halt_check = BRANCH_HALT_VOTED,3221	.clkr = {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,3228			},3229			.num_parents = 1,3230			.flags = CLK_SET_RATE_PARENT,3231			.ops = &clk_branch2_ops,3232		},3233	},3234};3235 3236static struct clk_branch gcc_pcie_4_pipe_clk = {3237	.halt_reg = 0x6b044,3238	.halt_check = BRANCH_HALT_SKIP,3239	.clkr = {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,3245		},3246	},3247};3248 3249static struct clk_branch gcc_pcie_4_pipediv2_clk = {3250	.halt_reg = 0x6b054,3251	.halt_check = BRANCH_HALT_SKIP,3252	.clkr = {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,3259			},3260			.num_parents = 1,3261			.flags = CLK_SET_RATE_PARENT,3262			.ops = &clk_branch2_ops,3263		},3264	},3265};3266 3267static struct clk_branch gcc_pcie_4_slv_axi_clk = {3268	.halt_reg = 0x6b01c,3269	.halt_check = BRANCH_HALT_VOTED,3270	.hwcg_reg = 0x6b01c,3271	.hwcg_bit = 1,3272	.clkr = {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,3278		},3279	},3280};3281 3282static struct clk_branch gcc_pcie_4_slv_q2a_axi_clk = {3283	.halt_reg = 0x6b018,3284	.halt_check = BRANCH_HALT_VOTED,3285	.clkr = {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,3291		},3292	},3293};3294 3295static struct clk_branch gcc_pcie_5_aux_clk = {3296	.halt_reg = 0x2f038,3297	.halt_check = BRANCH_HALT_VOTED,3298	.clkr = {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,3305			},3306			.num_parents = 1,3307			.flags = CLK_SET_RATE_PARENT,3308			.ops = &clk_branch2_ops,3309		},3310	},3311};3312 3313static struct clk_branch gcc_pcie_5_cfg_ahb_clk = {3314	.halt_reg = 0x2f034,3315	.halt_check = BRANCH_HALT_VOTED,3316	.hwcg_reg = 0x2f034,3317	.hwcg_bit = 1,3318	.clkr = {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,3324		},3325	},3326};3327 3328static struct clk_branch gcc_pcie_5_mstr_axi_clk = {3329	.halt_reg = 0x2f028,3330	.halt_check = BRANCH_HALT_SKIP,3331	.hwcg_reg = 0x2f028,3332	.hwcg_bit = 1,3333	.clkr = {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,3339		},3340	},3341};3342 3343static struct clk_branch gcc_pcie_5_phy_rchng_clk = {3344	.halt_reg = 0x2f050,3345	.halt_check = BRANCH_HALT_VOTED,3346	.clkr = {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,3353			},3354			.num_parents = 1,3355			.flags = CLK_SET_RATE_PARENT,3356			.ops = &clk_branch2_ops,3357		},3358	},3359};3360 3361static struct clk_branch gcc_pcie_5_pipe_clk = {3362	.halt_reg = 0x2f044,3363	.halt_check = BRANCH_HALT_SKIP,3364	.clkr = {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,3370		},3371	},3372};3373 3374static struct clk_branch gcc_pcie_5_pipediv2_clk = {3375	.halt_reg = 0x2f054,3376	.halt_check = BRANCH_HALT_SKIP,3377	.clkr = {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,3384			},3385			.num_parents = 1,3386			.flags = CLK_SET_RATE_PARENT,3387			.ops = &clk_branch2_ops,3388		},3389	},3390};3391 3392static struct clk_branch gcc_pcie_5_slv_axi_clk = {3393	.halt_reg = 0x2f01c,3394	.halt_check = BRANCH_HALT_VOTED,3395	.hwcg_reg = 0x2f01c,3396	.hwcg_bit = 1,3397	.clkr = {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,3403		},3404	},3405};3406 3407static struct clk_branch gcc_pcie_5_slv_q2a_axi_clk = {3408	.halt_reg = 0x2f018,3409	.halt_check = BRANCH_HALT_VOTED,3410	.clkr = {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,3416		},3417	},3418};3419 3420static struct clk_branch gcc_pcie_6a_aux_clk = {3421	.halt_reg = 0x31038,3422	.halt_check = BRANCH_HALT_VOTED,3423	.clkr = {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,3430			},3431			.num_parents = 1,3432			.flags = CLK_SET_RATE_PARENT,3433			.ops = &clk_branch2_ops,3434		},3435	},3436};3437 3438static struct clk_branch gcc_pcie_6a_cfg_ahb_clk = {3439	.halt_reg = 0x31034,3440	.halt_check = BRANCH_HALT_VOTED,3441	.hwcg_reg = 0x31034,3442	.hwcg_bit = 1,3443	.clkr = {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,3449		},3450	},3451};3452 3453static struct clk_branch gcc_pcie_6a_mstr_axi_clk = {3454	.halt_reg = 0x31028,3455	.halt_check = BRANCH_HALT_SKIP,3456	.hwcg_reg = 0x31028,3457	.hwcg_bit = 1,3458	.clkr = {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,3464		},3465	},3466};3467 3468static struct clk_branch gcc_pcie_6a_phy_aux_clk = {3469	.halt_reg = 0x31044,3470	.halt_check = BRANCH_HALT_VOTED,3471	.clkr = {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,3477		},3478	},3479};3480 3481static struct clk_branch gcc_pcie_6a_phy_rchng_clk = {3482	.halt_reg = 0x3105c,3483	.halt_check = BRANCH_HALT_VOTED,3484	.clkr = {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,3491			},3492			.num_parents = 1,3493			.flags = CLK_SET_RATE_PARENT,3494			.ops = &clk_branch2_ops,3495		},3496	},3497};3498 3499static struct clk_branch gcc_pcie_6a_pipe_clk = {3500	.halt_reg = 0x31050,3501	.halt_check = BRANCH_HALT_SKIP,3502	.clkr = {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,3508		},3509	},3510};3511 3512static struct clk_branch gcc_pcie_6a_pipediv2_clk = {3513	.halt_reg = 0x31060,3514	.halt_check = BRANCH_HALT_SKIP,3515	.clkr = {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,3522			},3523			.num_parents = 1,3524			.flags = CLK_SET_RATE_PARENT,3525			.ops = &clk_branch2_ops,3526		},3527	},3528};3529 3530static struct clk_branch gcc_pcie_6a_slv_axi_clk = {3531	.halt_reg = 0x3101c,3532	.halt_check = BRANCH_HALT_VOTED,3533	.hwcg_reg = 0x3101c,3534	.hwcg_bit = 1,3535	.clkr = {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,3541		},3542	},3543};3544 3545static struct clk_branch gcc_pcie_6a_slv_q2a_axi_clk = {3546	.halt_reg = 0x31018,3547	.halt_check = BRANCH_HALT_VOTED,3548	.clkr = {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,3554		},3555	},3556};3557 3558static struct clk_branch gcc_pcie_6b_aux_clk = {3559	.halt_reg = 0x8d038,3560	.halt_check = BRANCH_HALT_VOTED,3561	.clkr = {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,3568			},3569			.num_parents = 1,3570			.flags = CLK_SET_RATE_PARENT,3571			.ops = &clk_branch2_ops,3572		},3573	},3574};3575 3576static struct clk_branch gcc_pcie_6b_cfg_ahb_clk = {3577	.halt_reg = 0x8d034,3578	.halt_check = BRANCH_HALT_VOTED,3579	.hwcg_reg = 0x8d034,3580	.hwcg_bit = 1,3581	.clkr = {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,3587		},3588	},3589};3590 3591static struct clk_branch gcc_pcie_6b_mstr_axi_clk = {3592	.halt_reg = 0x8d028,3593	.halt_check = BRANCH_HALT_SKIP,3594	.hwcg_reg = 0x8d028,3595	.hwcg_bit = 1,3596	.clkr = {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,3602		},3603	},3604};3605 3606static struct clk_branch gcc_pcie_6b_phy_aux_clk = {3607	.halt_reg = 0x8d044,3608	.halt_check = BRANCH_HALT_VOTED,3609	.clkr = {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,3615		},3616	},3617};3618 3619static struct clk_branch gcc_pcie_6b_phy_rchng_clk = {3620	.halt_reg = 0x8d05c,3621	.halt_check = BRANCH_HALT_VOTED,3622	.clkr = {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,3629			},3630			.num_parents = 1,3631			.flags = CLK_SET_RATE_PARENT,3632			.ops = &clk_branch2_ops,3633		},3634	},3635};3636 3637static struct clk_branch gcc_pcie_6b_pipe_clk = {3638	.halt_reg = 0x8d050,3639	.halt_check = BRANCH_HALT_SKIP,3640	.clkr = {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,3646		},3647	},3648};3649 3650static struct clk_branch gcc_pcie_6b_pipediv2_clk = {3651	.halt_reg = 0x8d060,3652	.halt_check = BRANCH_HALT_SKIP,3653	.clkr = {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,3660			},3661			.num_parents = 1,3662			.flags = CLK_SET_RATE_PARENT,3663			.ops = &clk_branch2_ops,3664		},3665	},3666};3667 3668static struct clk_branch gcc_pcie_6b_slv_axi_clk = {3669	.halt_reg = 0x8d01c,3670	.halt_check = BRANCH_HALT_VOTED,3671	.hwcg_reg = 0x8d01c,3672	.hwcg_bit = 1,3673	.clkr = {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,3679		},3680	},3681};3682 3683static struct clk_branch gcc_pcie_6b_slv_q2a_axi_clk = {3684	.halt_reg = 0x8d018,3685	.halt_check = BRANCH_HALT_VOTED,3686	.clkr = {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,3692		},3693	},3694};3695 3696static struct clk_branch gcc_pcie_rscc_ahb_clk = {3697	.halt_reg = 0xa4008,3698	.halt_check = BRANCH_HALT_VOTED,3699	.hwcg_reg = 0xa4008,3700	.hwcg_bit = 1,3701	.clkr = {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,3707		},3708	},3709};3710 3711static struct clk_branch gcc_pcie_rscc_xo_clk = {3712	.halt_reg = 0xa4004,3713	.halt_check = BRANCH_HALT_VOTED,3714	.clkr = {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,3721			},3722			.num_parents = 1,3723			.flags = CLK_SET_RATE_PARENT,3724			.ops = &clk_branch2_ops,3725		},3726	},3727};3728 3729static struct clk_branch gcc_pdm2_clk = {3730	.halt_reg = 0x3300c,3731	.halt_check = BRANCH_HALT,3732	.clkr = {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,3739			},3740			.num_parents = 1,3741			.flags = CLK_SET_RATE_PARENT,3742			.ops = &clk_branch2_ops,3743		},3744	},3745};3746 3747static struct clk_branch gcc_pdm_ahb_clk = {3748	.halt_reg = 0x33004,3749	.halt_check = BRANCH_HALT_VOTED,3750	.hwcg_reg = 0x33004,3751	.hwcg_bit = 1,3752	.clkr = {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,3758		},3759	},3760};3761 3762static struct clk_branch gcc_pdm_xo4_clk = {3763	.halt_reg = 0x33008,3764	.halt_check = BRANCH_HALT,3765	.clkr = {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,3771		},3772	},3773};3774 3775static struct clk_branch gcc_qmip_av1e_ahb_clk = {3776	.halt_reg = 0x4a018,3777	.halt_check = BRANCH_HALT_VOTED,3778	.hwcg_reg = 0x4a018,3779	.hwcg_bit = 1,3780	.clkr = {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,3786		},3787	},3788};3789 3790static struct clk_branch gcc_qmip_camera_nrt_ahb_clk = {3791	.halt_reg = 0x26008,3792	.halt_check = BRANCH_HALT_VOTED,3793	.hwcg_reg = 0x26008,3794	.hwcg_bit = 1,3795	.clkr = {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,3801		},3802	},3803};3804 3805static struct clk_branch gcc_qmip_camera_rt_ahb_clk = {3806	.halt_reg = 0x2600c,3807	.halt_check = BRANCH_HALT_VOTED,3808	.hwcg_reg = 0x2600c,3809	.hwcg_bit = 1,3810	.clkr = {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,3816		},3817	},3818};3819 3820static struct clk_branch gcc_qmip_disp_ahb_clk = {3821	.halt_reg = 0x27008,3822	.halt_check = BRANCH_HALT_VOTED,3823	.hwcg_reg = 0x27008,3824	.hwcg_bit = 1,3825	.clkr = {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,3831		},3832	},3833};3834 3835static struct clk_branch gcc_qmip_gpu_ahb_clk = {3836	.halt_reg = 0x71008,3837	.halt_check = BRANCH_HALT_VOTED,3838	.hwcg_reg = 0x71008,3839	.hwcg_bit = 1,3840	.clkr = {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,3846		},3847	},3848};3849 3850static struct clk_branch gcc_qmip_video_cv_cpu_ahb_clk = {3851	.halt_reg = 0x32014,3852	.halt_check = BRANCH_HALT_VOTED,3853	.hwcg_reg = 0x32014,3854	.hwcg_bit = 1,3855	.clkr = {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,3861		},3862	},3863};3864 3865static struct clk_branch gcc_qmip_video_cvp_ahb_clk = {3866	.halt_reg = 0x32008,3867	.halt_check = BRANCH_HALT_VOTED,3868	.hwcg_reg = 0x32008,3869	.hwcg_bit = 1,3870	.clkr = {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,3876		},3877	},3878};3879 3880static struct clk_branch gcc_qmip_video_v_cpu_ahb_clk = {3881	.halt_reg = 0x32010,3882	.halt_check = BRANCH_HALT_VOTED,3883	.hwcg_reg = 0x32010,3884	.hwcg_bit = 1,3885	.clkr = {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,3891		},3892	},3893};3894 3895static struct clk_branch gcc_qmip_video_vcodec_ahb_clk = {3896	.halt_reg = 0x3200c,3897	.halt_check = BRANCH_HALT_VOTED,3898	.hwcg_reg = 0x3200c,3899	.hwcg_bit = 1,3900	.clkr = {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,3906		},3907	},3908};3909 3910static struct clk_branch gcc_qupv3_wrap0_core_2x_clk = {3911	.halt_reg = 0x23018,3912	.halt_check = BRANCH_HALT_VOTED,3913	.clkr = {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,3919		},3920	},3921};3922 3923static struct clk_branch gcc_qupv3_wrap0_core_clk = {3924	.halt_reg = 0x23008,3925	.halt_check = BRANCH_HALT_VOTED,3926	.clkr = {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,3932		},3933	},3934};3935 3936static struct clk_branch gcc_qupv3_wrap0_qspi_s2_clk = {3937	.halt_reg = 0x42280,3938	.halt_check = BRANCH_HALT_VOTED,3939	.clkr = {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,3946			},3947			.num_parents = 1,3948			.flags = CLK_SET_RATE_PARENT,3949			.ops = &clk_branch2_ops,3950		},3951	},3952};3953 3954static struct clk_branch gcc_qupv3_wrap0_qspi_s3_clk = {3955	.halt_reg = 0x423c0,3956	.halt_check = BRANCH_HALT_VOTED,3957	.clkr = {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,3964			},3965			.num_parents = 1,3966			.flags = CLK_SET_RATE_PARENT,3967			.ops = &clk_branch2_ops,3968		},3969	},3970};3971 3972static struct clk_branch gcc_qupv3_wrap0_s0_clk = {3973	.halt_reg = 0x42004,3974	.halt_check = BRANCH_HALT_VOTED,3975	.clkr = {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,3982			},3983			.num_parents = 1,3984			.flags = CLK_SET_RATE_PARENT,3985			.ops = &clk_branch2_ops,3986		},3987	},3988};3989 3990static struct clk_branch gcc_qupv3_wrap0_s1_clk = {3991	.halt_reg = 0x4213c,3992	.halt_check = BRANCH_HALT_VOTED,3993	.clkr = {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,4000			},4001			.num_parents = 1,4002			.flags = CLK_SET_RATE_PARENT,4003			.ops = &clk_branch2_ops,4004		},4005	},4006};4007 4008static struct clk_branch gcc_qupv3_wrap0_s2_clk = {4009	.halt_reg = 0x42274,4010	.halt_check = BRANCH_HALT_VOTED,4011	.clkr = {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,4018			},4019			.num_parents = 1,4020			.flags = CLK_SET_RATE_PARENT,4021			.ops = &clk_branch2_ops,4022		},4023	},4024};4025 4026static struct clk_branch gcc_qupv3_wrap0_s3_clk = {4027	.halt_reg = 0x423b4,4028	.halt_check = BRANCH_HALT_VOTED,4029	.clkr = {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,4036			},4037			.num_parents = 1,4038			.flags = CLK_SET_RATE_PARENT,4039			.ops = &clk_branch2_ops,4040		},4041	},4042};4043 4044static struct clk_branch gcc_qupv3_wrap0_s4_clk = {4045	.halt_reg = 0x424f4,4046	.halt_check = BRANCH_HALT_VOTED,4047	.clkr = {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,4054			},4055			.num_parents = 1,4056			.flags = CLK_SET_RATE_PARENT,4057			.ops = &clk_branch2_ops,4058		},4059	},4060};4061 4062static struct clk_branch gcc_qupv3_wrap0_s5_clk = {4063	.halt_reg = 0x4262c,4064	.halt_check = BRANCH_HALT_VOTED,4065	.clkr = {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,4072			},4073			.num_parents = 1,4074			.flags = CLK_SET_RATE_PARENT,4075			.ops = &clk_branch2_ops,4076		},4077	},4078};4079 4080static struct clk_branch gcc_qupv3_wrap0_s6_clk = {4081	.halt_reg = 0x42764,4082	.halt_check = BRANCH_HALT_VOTED,4083	.clkr = {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,4090			},4091			.num_parents = 1,4092			.flags = CLK_SET_RATE_PARENT,4093			.ops = &clk_branch2_ops,4094		},4095	},4096};4097 4098static struct clk_branch gcc_qupv3_wrap0_s7_clk = {4099	.halt_reg = 0x4289c,4100	.halt_check = BRANCH_HALT_VOTED,4101	.clkr = {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,4108			},4109			.num_parents = 1,4110			.flags = CLK_SET_RATE_PARENT,4111			.ops = &clk_branch2_ops,4112		},4113	},4114};4115 4116static struct clk_branch gcc_qupv3_wrap1_core_2x_clk = {4117	.halt_reg = 0x23168,4118	.halt_check = BRANCH_HALT_VOTED,4119	.clkr = {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,4125		},4126	},4127};4128 4129static struct clk_branch gcc_qupv3_wrap1_core_clk = {4130	.halt_reg = 0x23158,4131	.halt_check = BRANCH_HALT_VOTED,4132	.clkr = {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,4138		},4139	},4140};4141 4142static struct clk_branch gcc_qupv3_wrap1_qspi_s2_clk = {4143	.halt_reg = 0x18280,4144	.halt_check = BRANCH_HALT_VOTED,4145	.clkr = {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,4152			},4153			.num_parents = 1,4154			.flags = CLK_SET_RATE_PARENT,4155			.ops = &clk_branch2_ops,4156		},4157	},4158};4159 4160static struct clk_branch gcc_qupv3_wrap1_qspi_s3_clk = {4161	.halt_reg = 0x183c0,4162	.halt_check = BRANCH_HALT_VOTED,4163	.clkr = {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,4170			},4171			.num_parents = 1,4172			.flags = CLK_SET_RATE_PARENT,4173			.ops = &clk_branch2_ops,4174		},4175	},4176};4177 4178static struct clk_branch gcc_qupv3_wrap1_s0_clk = {4179	.halt_reg = 0x18004,4180	.halt_check = BRANCH_HALT_VOTED,4181	.clkr = {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,4188			},4189			.num_parents = 1,4190			.flags = CLK_SET_RATE_PARENT,4191			.ops = &clk_branch2_ops,4192		},4193	},4194};4195 4196static struct clk_branch gcc_qupv3_wrap1_s1_clk = {4197	.halt_reg = 0x1813c,4198	.halt_check = BRANCH_HALT_VOTED,4199	.clkr = {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,4206			},4207			.num_parents = 1,4208			.flags = CLK_SET_RATE_PARENT,4209			.ops = &clk_branch2_ops,4210		},4211	},4212};4213 4214static struct clk_branch gcc_qupv3_wrap1_s2_clk = {4215	.halt_reg = 0x18274,4216	.halt_check = BRANCH_HALT_VOTED,4217	.clkr = {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,4224			},4225			.num_parents = 1,4226			.flags = CLK_SET_RATE_PARENT,4227			.ops = &clk_branch2_ops,4228		},4229	},4230};4231 4232static struct clk_branch gcc_qupv3_wrap1_s3_clk = {4233	.halt_reg = 0x183b4,4234	.halt_check = BRANCH_HALT_VOTED,4235	.clkr = {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,4242			},4243			.num_parents = 1,4244			.flags = CLK_SET_RATE_PARENT,4245			.ops = &clk_branch2_ops,4246		},4247	},4248};4249 4250static struct clk_branch gcc_qupv3_wrap1_s4_clk = {4251	.halt_reg = 0x184f4,4252	.halt_check = BRANCH_HALT_VOTED,4253	.clkr = {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,4260			},4261			.num_parents = 1,4262			.flags = CLK_SET_RATE_PARENT,4263			.ops = &clk_branch2_ops,4264		},4265	},4266};4267 4268static struct clk_branch gcc_qupv3_wrap1_s5_clk = {4269	.halt_reg = 0x1862c,4270	.halt_check = BRANCH_HALT_VOTED,4271	.clkr = {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,4278			},4279			.num_parents = 1,4280			.flags = CLK_SET_RATE_PARENT,4281			.ops = &clk_branch2_ops,4282		},4283	},4284};4285 4286static struct clk_branch gcc_qupv3_wrap1_s6_clk = {4287	.halt_reg = 0x18764,4288	.halt_check = BRANCH_HALT_VOTED,4289	.clkr = {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,4296			},4297			.num_parents = 1,4298			.flags = CLK_SET_RATE_PARENT,4299			.ops = &clk_branch2_ops,4300		},4301	},4302};4303 4304static struct clk_branch gcc_qupv3_wrap1_s7_clk = {4305	.halt_reg = 0x1889c,4306	.halt_check = BRANCH_HALT_VOTED,4307	.clkr = {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,4314			},4315			.num_parents = 1,4316			.flags = CLK_SET_RATE_PARENT,4317			.ops = &clk_branch2_ops,4318		},4319	},4320};4321 4322static struct clk_branch gcc_qupv3_wrap2_core_2x_clk = {4323	.halt_reg = 0x232b8,4324	.halt_check = BRANCH_HALT_VOTED,4325	.clkr = {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,4331		},4332	},4333};4334 4335static struct clk_branch gcc_qupv3_wrap2_core_clk = {4336	.halt_reg = 0x232a8,4337	.halt_check = BRANCH_HALT_VOTED,4338	.clkr = {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,4344		},4345	},4346};4347 4348static struct clk_branch gcc_qupv3_wrap2_qspi_s2_clk = {4349	.halt_reg = 0x1e280,4350	.halt_check = BRANCH_HALT_VOTED,4351	.clkr = {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,4358			},4359			.num_parents = 1,4360			.flags = CLK_SET_RATE_PARENT,4361			.ops = &clk_branch2_ops,4362		},4363	},4364};4365 4366static struct clk_branch gcc_qupv3_wrap2_qspi_s3_clk = {4367	.halt_reg = 0x1e3c0,4368	.halt_check = BRANCH_HALT_VOTED,4369	.clkr = {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,4376			},4377			.num_parents = 1,4378			.flags = CLK_SET_RATE_PARENT,4379			.ops = &clk_branch2_ops,4380		},4381	},4382};4383 4384static struct clk_branch gcc_qupv3_wrap2_s0_clk = {4385	.halt_reg = 0x1e004,4386	.halt_check = BRANCH_HALT_VOTED,4387	.clkr = {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,4394			},4395			.num_parents = 1,4396			.flags = CLK_SET_RATE_PARENT,4397			.ops = &clk_branch2_ops,4398		},4399	},4400};4401 4402static struct clk_branch gcc_qupv3_wrap2_s1_clk = {4403	.halt_reg = 0x1e13c,4404	.halt_check = BRANCH_HALT_VOTED,4405	.clkr = {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,4412			},4413			.num_parents = 1,4414			.flags = CLK_SET_RATE_PARENT,4415			.ops = &clk_branch2_ops,4416		},4417	},4418};4419 4420static struct clk_branch gcc_qupv3_wrap2_s2_clk = {4421	.halt_reg = 0x1e274,4422	.halt_check = BRANCH_HALT_VOTED,4423	.clkr = {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,4430			},4431			.num_parents = 1,4432			.flags = CLK_SET_RATE_PARENT,4433			.ops = &clk_branch2_ops,4434		},4435	},4436};4437 4438static struct clk_branch gcc_qupv3_wrap2_s3_clk = {4439	.halt_reg = 0x1e3b4,4440	.halt_check = BRANCH_HALT_VOTED,4441	.clkr = {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,4448			},4449			.num_parents = 1,4450			.flags = CLK_SET_RATE_PARENT,4451			.ops = &clk_branch2_ops,4452		},4453	},4454};4455 4456static struct clk_branch gcc_qupv3_wrap2_s4_clk = {4457	.halt_reg = 0x1e4f4,4458	.halt_check = BRANCH_HALT_VOTED,4459	.clkr = {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,4466			},4467			.num_parents = 1,4468			.flags = CLK_SET_RATE_PARENT,4469			.ops = &clk_branch2_ops,4470		},4471	},4472};4473 4474static struct clk_branch gcc_qupv3_wrap2_s5_clk = {4475	.halt_reg = 0x1e62c,4476	.halt_check = BRANCH_HALT_VOTED,4477	.clkr = {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,4484			},4485			.num_parents = 1,4486			.flags = CLK_SET_RATE_PARENT,4487			.ops = &clk_branch2_ops,4488		},4489	},4490};4491 4492static struct clk_branch gcc_qupv3_wrap2_s6_clk = {4493	.halt_reg = 0x1e764,4494	.halt_check = BRANCH_HALT_VOTED,4495	.clkr = {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,4502			},4503			.num_parents = 1,4504			.flags = CLK_SET_RATE_PARENT,4505			.ops = &clk_branch2_ops,4506		},4507	},4508};4509 4510static struct clk_branch gcc_qupv3_wrap2_s7_clk = {4511	.halt_reg = 0x1e89c,4512	.halt_check = BRANCH_HALT_VOTED,4513	.clkr = {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,4520			},4521			.num_parents = 1,4522			.flags = CLK_SET_RATE_PARENT,4523			.ops = &clk_branch2_ops,4524		},4525	},4526};4527 4528static struct clk_branch gcc_qupv3_wrap_0_m_ahb_clk = {4529	.halt_reg = 0x23000,4530	.halt_check = BRANCH_HALT_VOTED,4531	.hwcg_reg = 0x23000,4532	.hwcg_bit = 1,4533	.clkr = {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,4539		},4540	},4541};4542 4543static struct clk_branch gcc_qupv3_wrap_0_s_ahb_clk = {4544	.halt_reg = 0x23004,4545	.halt_check = BRANCH_HALT_VOTED,4546	.hwcg_reg = 0x23004,4547	.hwcg_bit = 1,4548	.clkr = {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,4554		},4555	},4556};4557 4558static struct clk_branch gcc_qupv3_wrap_1_m_ahb_clk = {4559	.halt_reg = 0x23150,4560	.halt_check = BRANCH_HALT_VOTED,4561	.hwcg_reg = 0x23150,4562	.hwcg_bit = 1,4563	.clkr = {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,4569		},4570	},4571};4572 4573static struct clk_branch gcc_qupv3_wrap_1_s_ahb_clk = {4574	.halt_reg = 0x23154,4575	.halt_check = BRANCH_HALT_VOTED,4576	.hwcg_reg = 0x23154,4577	.hwcg_bit = 1,4578	.clkr = {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,4584		},4585	},4586};4587 4588static struct clk_branch gcc_qupv3_wrap_2_m_ahb_clk = {4589	.halt_reg = 0x232a0,4590	.halt_check = BRANCH_HALT_VOTED,4591	.hwcg_reg = 0x232a0,4592	.hwcg_bit = 1,4593	.clkr = {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,4599		},4600	},4601};4602 4603static struct clk_branch gcc_qupv3_wrap_2_s_ahb_clk = {4604	.halt_reg = 0x232a4,4605	.halt_check = BRANCH_HALT_VOTED,4606	.hwcg_reg = 0x232a4,4607	.hwcg_bit = 1,4608	.clkr = {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,4614		},4615	},4616};4617 4618static struct clk_branch gcc_sdcc2_ahb_clk = {4619	.halt_reg = 0x14010,4620	.halt_check = BRANCH_HALT,4621	.clkr = {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,4627		},4628	},4629};4630 4631static struct clk_branch gcc_sdcc2_apps_clk = {4632	.halt_reg = 0x14004,4633	.halt_check = BRANCH_HALT,4634	.clkr = {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,4641			},4642			.num_parents = 1,4643			.flags = CLK_SET_RATE_PARENT,4644			.ops = &clk_branch2_ops,4645		},4646	},4647};4648 4649static struct clk_branch gcc_sdcc4_ahb_clk = {4650	.halt_reg = 0x16010,4651	.halt_check = BRANCH_HALT,4652	.clkr = {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,4658		},4659	},4660};4661 4662static struct clk_branch gcc_sdcc4_apps_clk = {4663	.halt_reg = 0x16004,4664	.halt_check = BRANCH_HALT,4665	.clkr = {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,4672			},4673			.num_parents = 1,4674			.flags = CLK_SET_RATE_PARENT,4675			.ops = &clk_branch2_ops,4676		},4677	},4678};4679 4680static struct clk_branch gcc_sys_noc_usb_axi_clk = {4681	.halt_reg = 0x2d014,4682	.halt_check = BRANCH_HALT_VOTED,4683	.hwcg_reg = 0x2d014,4684	.hwcg_bit = 1,4685	.clkr = {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,4691		},4692	},4693};4694 4695static struct clk_branch gcc_ufs_phy_ahb_clk = {4696	.halt_reg = 0x77024,4697	.halt_check = BRANCH_HALT_VOTED,4698	.hwcg_reg = 0x77024,4699	.hwcg_bit = 1,4700	.clkr = {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,4706		},4707	},4708};4709 4710static struct clk_branch gcc_ufs_phy_axi_clk = {4711	.halt_reg = 0x77018,4712	.halt_check = BRANCH_HALT_VOTED,4713	.hwcg_reg = 0x77018,4714	.hwcg_bit = 1,4715	.clkr = {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,4722			},4723			.num_parents = 1,4724			.flags = CLK_SET_RATE_PARENT,4725			.ops = &clk_branch2_ops,4726		},4727	},4728};4729 4730static struct clk_branch gcc_ufs_phy_ice_core_clk = {4731	.halt_reg = 0x77074,4732	.halt_check = BRANCH_HALT_VOTED,4733	.hwcg_reg = 0x77074,4734	.hwcg_bit = 1,4735	.clkr = {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,4742			},4743			.num_parents = 1,4744			.flags = CLK_SET_RATE_PARENT,4745			.ops = &clk_branch2_ops,4746		},4747	},4748};4749 4750static struct clk_branch gcc_ufs_phy_phy_aux_clk = {4751	.halt_reg = 0x770b0,4752	.halt_check = BRANCH_HALT_VOTED,4753	.hwcg_reg = 0x770b0,4754	.hwcg_bit = 1,4755	.clkr = {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,4762			},4763			.num_parents = 1,4764			.flags = CLK_SET_RATE_PARENT,4765			.ops = &clk_branch2_ops,4766		},4767	},4768};4769 4770static struct clk_branch gcc_ufs_phy_rx_symbol_0_clk = {4771	.halt_reg = 0x7702c,4772	.halt_check = BRANCH_HALT,4773	.clkr = {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,4779		},4780	},4781};4782 4783static struct clk_branch gcc_ufs_phy_rx_symbol_1_clk = {4784	.halt_reg = 0x770cc,4785	.halt_check = BRANCH_HALT,4786	.clkr = {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,4792		},4793	},4794};4795 4796static struct clk_branch gcc_ufs_phy_tx_symbol_0_clk = {4797	.halt_reg = 0x77028,4798	.halt_check = BRANCH_HALT,4799	.clkr = {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,4805		},4806	},4807};4808 4809static struct clk_branch gcc_ufs_phy_unipro_core_clk = {4810	.halt_reg = 0x77068,4811	.halt_check = BRANCH_HALT_VOTED,4812	.hwcg_reg = 0x77068,4813	.hwcg_bit = 1,4814	.clkr = {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,4821			},4822			.num_parents = 1,4823			.flags = CLK_SET_RATE_PARENT,4824			.ops = &clk_branch2_ops,4825		},4826	},4827};4828 4829static struct clk_branch gcc_usb20_master_clk = {4830	.halt_reg = 0x29018,4831	.halt_check = BRANCH_HALT,4832	.clkr = {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,4839			},4840			.num_parents = 1,4841			.flags = CLK_SET_RATE_PARENT,4842			.ops = &clk_branch2_ops,4843		},4844	},4845};4846 4847static struct clk_branch gcc_usb20_mock_utmi_clk = {4848	.halt_reg = 0x29028,4849	.halt_check = BRANCH_HALT,4850	.clkr = {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,4857			},4858			.num_parents = 1,4859			.flags = CLK_SET_RATE_PARENT,4860			.ops = &clk_branch2_ops,4861		},4862	},4863};4864 4865static struct clk_branch gcc_usb20_sleep_clk = {4866	.halt_reg = 0x29024,4867	.halt_check = BRANCH_HALT,4868	.clkr = {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,4874		},4875	},4876};4877 4878static struct clk_branch gcc_usb30_mp_master_clk = {4879	.halt_reg = 0x17018,4880	.halt_check = BRANCH_HALT,4881	.clkr = {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,4888			},4889			.num_parents = 1,4890			.flags = CLK_SET_RATE_PARENT,4891			.ops = &clk_branch2_ops,4892		},4893	},4894};4895 4896static struct clk_branch gcc_usb30_mp_mock_utmi_clk = {4897	.halt_reg = 0x17028,4898	.halt_check = BRANCH_HALT,4899	.clkr = {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,4906			},4907			.num_parents = 1,4908			.flags = CLK_SET_RATE_PARENT,4909			.ops = &clk_branch2_ops,4910		},4911	},4912};4913 4914static struct clk_branch gcc_usb30_mp_sleep_clk = {4915	.halt_reg = 0x17024,4916	.halt_check = BRANCH_HALT,4917	.clkr = {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,4923		},4924	},4925};4926 4927static struct clk_branch gcc_usb30_prim_master_clk = {4928	.halt_reg = 0x39018,4929	.halt_check = BRANCH_HALT,4930	.clkr = {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,4937			},4938			.num_parents = 1,4939			.flags = CLK_SET_RATE_PARENT,4940			.ops = &clk_branch2_ops,4941		},4942	},4943};4944 4945static struct clk_branch gcc_usb30_prim_mock_utmi_clk = {4946	.halt_reg = 0x39028,4947	.halt_check = BRANCH_HALT,4948	.clkr = {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,4955			},4956			.num_parents = 1,4957			.flags = CLK_SET_RATE_PARENT,4958			.ops = &clk_branch2_ops,4959		},4960	},4961};4962 4963static struct clk_branch gcc_usb30_prim_sleep_clk = {4964	.halt_reg = 0x39024,4965	.halt_check = BRANCH_HALT,4966	.clkr = {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,4972		},4973	},4974};4975 4976static struct clk_branch gcc_usb30_sec_master_clk = {4977	.halt_reg = 0xa1018,4978	.halt_check = BRANCH_HALT,4979	.clkr = {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,4986			},4987			.num_parents = 1,4988			.flags = CLK_SET_RATE_PARENT,4989			.ops = &clk_branch2_ops,4990		},4991	},4992};4993 4994static struct clk_branch gcc_usb30_sec_mock_utmi_clk = {4995	.halt_reg = 0xa1028,4996	.halt_check = BRANCH_HALT,4997	.clkr = {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,5004			},5005			.num_parents = 1,5006			.flags = CLK_SET_RATE_PARENT,5007			.ops = &clk_branch2_ops,5008		},5009	},5010};5011 5012static struct clk_branch gcc_usb30_sec_sleep_clk = {5013	.halt_reg = 0xa1024,5014	.halt_check = BRANCH_HALT,5015	.clkr = {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,5021		},5022	},5023};5024 5025static struct clk_branch gcc_usb30_tert_master_clk = {5026	.halt_reg = 0xa2018,5027	.halt_check = BRANCH_HALT,5028	.clkr = {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,5035			},5036			.num_parents = 1,5037			.flags = CLK_SET_RATE_PARENT,5038			.ops = &clk_branch2_ops,5039		},5040	},5041};5042 5043static struct clk_branch gcc_usb30_tert_mock_utmi_clk = {5044	.halt_reg = 0xa2028,5045	.halt_check = BRANCH_HALT,5046	.clkr = {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,5053			},5054			.num_parents = 1,5055			.flags = CLK_SET_RATE_PARENT,5056			.ops = &clk_branch2_ops,5057		},5058	},5059};5060 5061static struct clk_branch gcc_usb30_tert_sleep_clk = {5062	.halt_reg = 0xa2024,5063	.halt_check = BRANCH_HALT,5064	.clkr = {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,5070		},5071	},5072};5073 5074static struct clk_branch gcc_usb3_mp_phy_aux_clk = {5075	.halt_reg = 0x17288,5076	.halt_check = BRANCH_HALT,5077	.clkr = {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,5084			},5085			.num_parents = 1,5086			.flags = CLK_SET_RATE_PARENT,5087			.ops = &clk_branch2_ops,5088		},5089	},5090};5091 5092static struct clk_branch gcc_usb3_mp_phy_com_aux_clk = {5093	.halt_reg = 0x1728c,5094	.halt_check = BRANCH_HALT,5095	.clkr = {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,5102			},5103			.num_parents = 1,5104			.flags = CLK_SET_RATE_PARENT,5105			.ops = &clk_branch2_ops,5106		},5107	},5108};5109 5110static struct clk_branch gcc_usb3_mp_phy_pipe_0_clk = {5111	.halt_reg = 0x17290,5112	.halt_check = BRANCH_HALT_SKIP,5113	.clkr = {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,5119		},5120	},5121};5122 5123static struct clk_branch gcc_usb3_mp_phy_pipe_1_clk = {5124	.halt_reg = 0x17298,5125	.halt_check = BRANCH_HALT_SKIP,5126	.clkr = {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,5132		},5133	},5134};5135 5136static struct clk_branch gcc_usb3_prim_phy_aux_clk = {5137	.halt_reg = 0x39060,5138	.halt_check = BRANCH_HALT,5139	.clkr = {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,5146			},5147			.num_parents = 1,5148			.flags = CLK_SET_RATE_PARENT,5149			.ops = &clk_branch2_ops,5150		},5151	},5152};5153 5154static struct clk_branch gcc_usb3_prim_phy_com_aux_clk = {5155	.halt_reg = 0x39064,5156	.halt_check = BRANCH_HALT,5157	.clkr = {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,5164			},5165			.num_parents = 1,5166			.flags = CLK_SET_RATE_PARENT,5167			.ops = &clk_branch2_ops,5168		},5169	},5170};5171 5172static struct clk_regmap_mux gcc_usb3_prim_phy_pipe_clk_src = {5173	.reg = 0x3906c,5174	.shift = 0,5175	.width = 2,5176	.parent_map = gcc_parent_map_10,5177	.clkr = {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,5183		},5184	},5185};5186 5187static struct clk_branch gcc_usb3_prim_phy_pipe_clk = {5188	.halt_reg = 0x39068,5189	.halt_check = BRANCH_HALT_SKIP,5190	.hwcg_reg = 0x39068,5191	.hwcg_bit = 1,5192	.clkr = {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,5199			},5200			.num_parents = 1,5201			.flags = CLK_SET_RATE_PARENT,5202			.ops = &clk_branch2_ops,5203		},5204	},5205};5206 5207static struct clk_branch gcc_usb3_sec_phy_aux_clk = {5208	.halt_reg = 0xa1060,5209	.halt_check = BRANCH_HALT,5210	.clkr = {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,5217			},5218			.num_parents = 1,5219			.flags = CLK_SET_RATE_PARENT,5220			.ops = &clk_branch2_ops,5221		},5222	},5223};5224 5225static struct clk_branch gcc_usb3_sec_phy_com_aux_clk = {5226	.halt_reg = 0xa1064,5227	.halt_check = BRANCH_HALT,5228	.clkr = {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,5235			},5236			.num_parents = 1,5237			.flags = CLK_SET_RATE_PARENT,5238			.ops = &clk_branch2_ops,5239		},5240	},5241};5242 5243static struct clk_regmap_mux gcc_usb3_sec_phy_pipe_clk_src = {5244	.reg = 0xa106c,5245	.shift = 0,5246	.width = 2,5247	.parent_map = gcc_parent_map_11,5248	.clkr = {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,5254		},5255	},5256};5257 5258static struct clk_branch gcc_usb3_sec_phy_pipe_clk = {5259	.halt_reg = 0xa1068,5260	.halt_check = BRANCH_HALT_SKIP,5261	.hwcg_reg = 0xa1068,5262	.hwcg_bit = 1,5263	.clkr = {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,5270			},5271			.num_parents = 1,5272			.flags = CLK_SET_RATE_PARENT,5273			.ops = &clk_branch2_ops,5274		},5275	},5276};5277 5278static struct clk_branch gcc_usb3_tert_phy_aux_clk = {5279	.halt_reg = 0xa2060,5280	.halt_check = BRANCH_HALT,5281	.clkr = {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,5288			},5289			.num_parents = 1,5290			.flags = CLK_SET_RATE_PARENT,5291			.ops = &clk_branch2_ops,5292		},5293	},5294};5295 5296static struct clk_branch gcc_usb3_tert_phy_com_aux_clk = {5297	.halt_reg = 0xa2064,5298	.halt_check = BRANCH_HALT,5299	.clkr = {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,5306			},5307			.num_parents = 1,5308			.flags = CLK_SET_RATE_PARENT,5309			.ops = &clk_branch2_ops,5310		},5311	},5312};5313 5314static struct clk_regmap_mux gcc_usb3_tert_phy_pipe_clk_src = {5315	.reg = 0xa206c,5316	.shift = 0,5317	.width = 2,5318	.parent_map = gcc_parent_map_12,5319	.clkr = {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,5325		},5326	},5327};5328 5329static struct clk_branch gcc_usb3_tert_phy_pipe_clk = {5330	.halt_reg = 0xa2068,5331	.halt_check = BRANCH_HALT_SKIP,5332	.hwcg_reg = 0xa2068,5333	.hwcg_bit = 1,5334	.clkr = {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,5341			},5342			.num_parents = 1,5343			.flags = CLK_SET_RATE_PARENT,5344			.ops = &clk_branch2_ops,5345		},5346	},5347};5348 5349static struct clk_branch gcc_usb4_0_cfg_ahb_clk = {5350	.halt_reg = 0x9f0a8,5351	.halt_check = BRANCH_HALT_VOTED,5352	.hwcg_reg = 0x9f0a8,5353	.hwcg_bit = 1,5354	.clkr = {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,5360		},5361	},5362};5363 5364static struct clk_branch gcc_usb4_0_dp0_clk = {5365	.halt_reg = 0x9f060,5366	.halt_check = BRANCH_HALT,5367	.clkr = {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,5373		},5374	},5375};5376 5377static struct clk_branch gcc_usb4_0_dp1_clk = {5378	.halt_reg = 0x9f108,5379	.halt_check = BRANCH_HALT,5380	.clkr = {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,5386		},5387	},5388};5389 5390static struct clk_branch gcc_usb4_0_master_clk = {5391	.halt_reg = 0x9f018,5392	.halt_check = BRANCH_HALT,5393	.clkr = {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,5400			},5401			.num_parents = 1,5402			.flags = CLK_SET_RATE_PARENT,5403			.ops = &clk_branch2_ops,5404		},5405	},5406};5407 5408static struct clk_branch gcc_usb4_0_phy_p2rr2p_pipe_clk = {5409	.halt_reg = 0x9f0d8,5410	.halt_check = BRANCH_HALT_SKIP,5411	.clkr = {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,5417		},5418	},5419};5420 5421static struct clk_branch gcc_usb4_0_phy_pcie_pipe_clk = {5422	.halt_reg = 0x9f048,5423	.halt_check = BRANCH_HALT_SKIP,5424	.clkr = {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,5430		},5431	},5432};5433 5434static struct clk_branch gcc_usb4_0_phy_rx0_clk = {5435	.halt_reg = 0x9f0b0,5436	.halt_check = BRANCH_HALT,5437	.clkr = {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,5443		},5444	},5445};5446 5447static struct clk_branch gcc_usb4_0_phy_rx1_clk = {5448	.halt_reg = 0x9f0c0,5449	.halt_check = BRANCH_HALT,5450	.clkr = {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,5456		},5457	},5458};5459 5460static struct clk_branch gcc_usb4_0_phy_usb_pipe_clk = {5461	.halt_reg = 0x9f0a4,5462	.halt_check = BRANCH_HALT_SKIP,5463	.hwcg_reg = 0x9f0a4,5464	.hwcg_bit = 1,5465	.clkr = {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,5471		},5472	},5473};5474 5475static struct clk_branch gcc_usb4_0_sb_if_clk = {5476	.halt_reg = 0x9f044,5477	.halt_check = BRANCH_HALT,5478	.clkr = {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,5485			},5486			.num_parents = 1,5487			.flags = CLK_SET_RATE_PARENT,5488			.ops = &clk_branch2_ops,5489		},5490	},5491};5492 5493static struct clk_branch gcc_usb4_0_sys_clk = {5494	.halt_reg = 0x9f054,5495	.halt_check = BRANCH_HALT,5496	.clkr = {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,5502		},5503	},5504};5505 5506static struct clk_branch gcc_usb4_0_tmu_clk = {5507	.halt_reg = 0x9f088,5508	.halt_check = BRANCH_HALT_VOTED,5509	.hwcg_reg = 0x9f088,5510	.hwcg_bit = 1,5511	.clkr = {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,5518			},5519			.num_parents = 1,5520			.flags = CLK_SET_RATE_PARENT,5521			.ops = &clk_branch2_ops,5522		},5523	},5524};5525 5526static struct clk_branch gcc_usb4_1_cfg_ahb_clk = {5527	.halt_reg = 0x2b0a8,5528	.halt_check = BRANCH_HALT_VOTED,5529	.hwcg_reg = 0x2b0a8,5530	.hwcg_bit = 1,5531	.clkr = {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,5537		},5538	},5539};5540 5541static struct clk_branch gcc_usb4_1_dp0_clk = {5542	.halt_reg = 0x2b060,5543	.halt_check = BRANCH_HALT,5544	.clkr = {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,5550		},5551	},5552};5553 5554static struct clk_branch gcc_usb4_1_dp1_clk = {5555	.halt_reg = 0x2b108,5556	.halt_check = BRANCH_HALT,5557	.clkr = {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,5563		},5564	},5565};5566 5567static struct clk_branch gcc_usb4_1_master_clk = {5568	.halt_reg = 0x2b018,5569	.halt_check = BRANCH_HALT,5570	.clkr = {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,5577			},5578			.num_parents = 1,5579			.flags = CLK_SET_RATE_PARENT,5580			.ops = &clk_branch2_ops,5581		},5582	},5583};5584 5585static struct clk_branch gcc_usb4_1_phy_p2rr2p_pipe_clk = {5586	.halt_reg = 0x2b0d8,5587	.halt_check = BRANCH_HALT_SKIP,5588	.clkr = {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,5594		},5595	},5596};5597 5598static struct clk_branch gcc_usb4_1_phy_pcie_pipe_clk = {5599	.halt_reg = 0x2b048,5600	.halt_check = BRANCH_HALT_SKIP,5601	.clkr = {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,5607		},5608	},5609};5610 5611static struct clk_branch gcc_usb4_1_phy_rx0_clk = {5612	.halt_reg = 0x2b0b0,5613	.halt_check = BRANCH_HALT,5614	.clkr = {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,5620		},5621	},5622};5623 5624static struct clk_branch gcc_usb4_1_phy_rx1_clk = {5625	.halt_reg = 0x2b0c0,5626	.halt_check = BRANCH_HALT,5627	.clkr = {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,5633		},5634	},5635};5636 5637static struct clk_branch gcc_usb4_1_phy_usb_pipe_clk = {5638	.halt_reg = 0x2b0a4,5639	.halt_check = BRANCH_HALT_SKIP,5640	.hwcg_reg = 0x2b0a4,5641	.hwcg_bit = 1,5642	.clkr = {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,5648		},5649	},5650};5651 5652static struct clk_branch gcc_usb4_1_sb_if_clk = {5653	.halt_reg = 0x2b044,5654	.halt_check = BRANCH_HALT,5655	.clkr = {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,5662			},5663			.num_parents = 1,5664			.flags = CLK_SET_RATE_PARENT,5665			.ops = &clk_branch2_ops,5666		},5667	},5668};5669 5670static struct clk_branch gcc_usb4_1_sys_clk = {5671	.halt_reg = 0x2b054,5672	.halt_check = BRANCH_HALT,5673	.clkr = {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,5679		},5680	},5681};5682 5683static struct clk_branch gcc_usb4_1_tmu_clk = {5684	.halt_reg = 0x2b088,5685	.halt_check = BRANCH_HALT_VOTED,5686	.hwcg_reg = 0x2b088,5687	.hwcg_bit = 1,5688	.clkr = {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,5695			},5696			.num_parents = 1,5697			.flags = CLK_SET_RATE_PARENT,5698			.ops = &clk_branch2_ops,5699		},5700	},5701};5702 5703static struct clk_branch gcc_usb4_2_cfg_ahb_clk = {5704	.halt_reg = 0x110a8,5705	.halt_check = BRANCH_HALT_VOTED,5706	.hwcg_reg = 0x110a8,5707	.hwcg_bit = 1,5708	.clkr = {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,5714		},5715	},5716};5717 5718static struct clk_branch gcc_usb4_2_dp0_clk = {5719	.halt_reg = 0x11060,5720	.halt_check = BRANCH_HALT,5721	.clkr = {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,5727		},5728	},5729};5730 5731static struct clk_branch gcc_usb4_2_dp1_clk = {5732	.halt_reg = 0x11108,5733	.halt_check = BRANCH_HALT,5734	.clkr = {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,5740		},5741	},5742};5743 5744static struct clk_branch gcc_usb4_2_master_clk = {5745	.halt_reg = 0x11018,5746	.halt_check = BRANCH_HALT,5747	.clkr = {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,5754			},5755			.num_parents = 1,5756			.flags = CLK_SET_RATE_PARENT,5757			.ops = &clk_branch2_ops,5758		},5759	},5760};5761 5762static struct clk_branch gcc_usb4_2_phy_p2rr2p_pipe_clk = {5763	.halt_reg = 0x110d8,5764	.halt_check = BRANCH_HALT_SKIP,5765	.clkr = {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,5771		},5772	},5773};5774 5775static struct clk_branch gcc_usb4_2_phy_pcie_pipe_clk = {5776	.halt_reg = 0x11048,5777	.halt_check = BRANCH_HALT_SKIP,5778	.clkr = {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,5784		},5785	},5786};5787 5788static struct clk_branch gcc_usb4_2_phy_rx0_clk = {5789	.halt_reg = 0x110b0,5790	.halt_check = BRANCH_HALT,5791	.clkr = {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,5797		},5798	},5799};5800 5801static struct clk_branch gcc_usb4_2_phy_rx1_clk = {5802	.halt_reg = 0x110c0,5803	.halt_check = BRANCH_HALT,5804	.clkr = {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,5810		},5811	},5812};5813 5814static struct clk_branch gcc_usb4_2_phy_usb_pipe_clk = {5815	.halt_reg = 0x110a4,5816	.halt_check = BRANCH_HALT_SKIP,5817	.hwcg_reg = 0x110a4,5818	.hwcg_bit = 1,5819	.clkr = {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,5825		},5826	},5827};5828 5829static struct clk_branch gcc_usb4_2_sb_if_clk = {5830	.halt_reg = 0x11044,5831	.halt_check = BRANCH_HALT,5832	.clkr = {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,5839			},5840			.num_parents = 1,5841			.flags = CLK_SET_RATE_PARENT,5842			.ops = &clk_branch2_ops,5843		},5844	},5845};5846 5847static struct clk_branch gcc_usb4_2_sys_clk = {5848	.halt_reg = 0x11054,5849	.halt_check = BRANCH_HALT,5850	.clkr = {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,5856		},5857	},5858};5859 5860static struct clk_branch gcc_usb4_2_tmu_clk = {5861	.halt_reg = 0x11088,5862	.halt_check = BRANCH_HALT_VOTED,5863	.hwcg_reg = 0x11088,5864	.hwcg_bit = 1,5865	.clkr = {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,5872			},5873			.num_parents = 1,5874			.flags = CLK_SET_RATE_PARENT,5875			.ops = &clk_branch2_ops,5876		},5877	},5878};5879 5880static struct clk_branch gcc_video_axi0_clk = {5881	.halt_reg = 0x32018,5882	.halt_check = BRANCH_HALT_SKIP,5883	.hwcg_reg = 0x32018,5884	.hwcg_bit = 1,5885	.clkr = {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,5891		},5892	},5893};5894 5895static struct clk_branch gcc_video_axi1_clk = {5896	.halt_reg = 0x32024,5897	.halt_check = BRANCH_HALT_SKIP,5898	.hwcg_reg = 0x32024,5899	.hwcg_bit = 1,5900	.clkr = {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,5906		},5907	},5908};5909 5910static struct gdsc gcc_pcie_0_tunnel_gdsc = {5911	.gdscr = 0xa0004,5912	.en_rest_wait_val = 0x2,5913	.en_few_wait_val = 0x2,5914	.clk_dis_wait_val = 0xf,5915	.pd = {5916		.name = "gcc_pcie_0_tunnel_gdsc",5917	},5918	.pwrsts = PWRSTS_OFF_ON,5919	.flags = POLL_CFG_GDSCR | RETAIN_FF_ENABLE | VOTABLE,5920};5921 5922static struct gdsc gcc_pcie_1_tunnel_gdsc = {5923	.gdscr = 0x2c004,5924	.en_rest_wait_val = 0x2,5925	.en_few_wait_val = 0x2,5926	.clk_dis_wait_val = 0xf,5927	.pd = {5928		.name = "gcc_pcie_1_tunnel_gdsc",5929	},5930	.pwrsts = PWRSTS_OFF_ON,5931	.flags = POLL_CFG_GDSCR | RETAIN_FF_ENABLE | VOTABLE,5932};5933 5934static struct gdsc gcc_pcie_2_tunnel_gdsc = {5935	.gdscr = 0x13004,5936	.en_rest_wait_val = 0x2,5937	.en_few_wait_val = 0x2,5938	.clk_dis_wait_val = 0xf,5939	.pd = {5940		.name = "gcc_pcie_2_tunnel_gdsc",5941	},5942	.pwrsts = PWRSTS_OFF_ON,5943	.flags = POLL_CFG_GDSCR | RETAIN_FF_ENABLE | VOTABLE,5944};5945 5946static struct gdsc gcc_pcie_3_gdsc = {5947	.gdscr = 0x58004,5948	.en_rest_wait_val = 0x2,5949	.en_few_wait_val = 0x2,5950	.clk_dis_wait_val = 0xf,5951	.pd = {5952		.name = "gcc_pcie_3_gdsc",5953	},5954	.pwrsts = PWRSTS_OFF_ON,5955	.flags = POLL_CFG_GDSCR | RETAIN_FF_ENABLE | VOTABLE,5956};5957 5958static struct gdsc gcc_pcie_3_phy_gdsc = {5959	.gdscr = 0x3e000,5960	.en_rest_wait_val = 0x2,5961	.en_few_wait_val = 0x2,5962	.clk_dis_wait_val = 0x2,5963	.pd = {5964		.name = "gcc_pcie_3_phy_gdsc",5965	},5966	.pwrsts = PWRSTS_OFF_ON,5967	.flags = POLL_CFG_GDSCR | RETAIN_FF_ENABLE | VOTABLE,5968};5969 5970static struct gdsc gcc_pcie_4_gdsc = {5971	.gdscr = 0x6b004,5972	.en_rest_wait_val = 0x2,5973	.en_few_wait_val = 0x2,5974	.clk_dis_wait_val = 0xf,5975	.pd = {5976		.name = "gcc_pcie_4_gdsc",5977	},5978	.pwrsts = PWRSTS_OFF_ON,5979	.flags = POLL_CFG_GDSCR | RETAIN_FF_ENABLE | VOTABLE,5980};5981 5982static struct gdsc gcc_pcie_4_phy_gdsc = {5983	.gdscr = 0x6c000,5984	.en_rest_wait_val = 0x2,5985	.en_few_wait_val = 0x2,5986	.clk_dis_wait_val = 0x2,5987	.pd = {5988		.name = "gcc_pcie_4_phy_gdsc",5989	},5990	.pwrsts = PWRSTS_OFF_ON,5991	.flags = POLL_CFG_GDSCR | RETAIN_FF_ENABLE | VOTABLE,5992};5993 5994static struct gdsc gcc_pcie_5_gdsc = {5995	.gdscr = 0x2f004,5996	.en_rest_wait_val = 0x2,5997	.en_few_wait_val = 0x2,5998	.clk_dis_wait_val = 0xf,5999	.pd = {6000		.name = "gcc_pcie_5_gdsc",6001	},6002	.pwrsts = PWRSTS_OFF_ON,6003	.flags = POLL_CFG_GDSCR | RETAIN_FF_ENABLE | VOTABLE,6004};6005 6006static struct gdsc gcc_pcie_5_phy_gdsc = {6007	.gdscr = 0x30000,6008	.en_rest_wait_val = 0x2,6009	.en_few_wait_val = 0x2,6010	.clk_dis_wait_val = 0x2,6011	.pd = {6012		.name = "gcc_pcie_5_phy_gdsc",6013	},6014	.pwrsts = PWRSTS_OFF_ON,6015	.flags = POLL_CFG_GDSCR | RETAIN_FF_ENABLE | VOTABLE,6016};6017 6018static struct gdsc gcc_pcie_6_phy_gdsc = {6019	.gdscr = 0x8e000,6020	.en_rest_wait_val = 0x2,6021	.en_few_wait_val = 0x2,6022	.clk_dis_wait_val = 0x2,6023	.pd = {6024		.name = "gcc_pcie_6_phy_gdsc",6025	},6026	.pwrsts = PWRSTS_OFF_ON,6027	.flags = POLL_CFG_GDSCR | RETAIN_FF_ENABLE | VOTABLE,6028};6029 6030static struct gdsc gcc_pcie_6a_gdsc = {6031	.gdscr = 0x31004,6032	.en_rest_wait_val = 0x2,6033	.en_few_wait_val = 0x2,6034	.clk_dis_wait_val = 0xf,6035	.pd = {6036		.name = "gcc_pcie_6a_gdsc",6037	},6038	.pwrsts = PWRSTS_OFF_ON,6039	.flags = POLL_CFG_GDSCR | RETAIN_FF_ENABLE | VOTABLE,6040};6041 6042static struct gdsc gcc_pcie_6b_gdsc = {6043	.gdscr = 0x8d004,6044	.en_rest_wait_val = 0x2,6045	.en_few_wait_val = 0x2,6046	.clk_dis_wait_val = 0xf,6047	.pd = {6048		.name = "gcc_pcie_6b_gdsc",6049	},6050	.pwrsts = PWRSTS_OFF_ON,6051	.flags = POLL_CFG_GDSCR | RETAIN_FF_ENABLE | VOTABLE,6052};6053 6054static struct gdsc gcc_ufs_mem_phy_gdsc = {6055	.gdscr = 0x9e000,6056	.en_rest_wait_val = 0x2,6057	.en_few_wait_val = 0x2,6058	.clk_dis_wait_val = 0x2,6059	.pd = {6060		.name = "gcc_ufs_mem_phy_gdsc",6061	},6062	.pwrsts = PWRSTS_OFF_ON,6063	.flags = POLL_CFG_GDSCR | RETAIN_FF_ENABLE,6064};6065 6066static struct gdsc gcc_ufs_phy_gdsc = {6067	.gdscr = 0x77004,6068	.en_rest_wait_val = 0x2,6069	.en_few_wait_val = 0x2,6070	.clk_dis_wait_val = 0xf,6071	.pd = {6072		.name = "gcc_ufs_phy_gdsc",6073	},6074	.pwrsts = PWRSTS_OFF_ON,6075	.flags = POLL_CFG_GDSCR | RETAIN_FF_ENABLE,6076};6077 6078static struct gdsc gcc_usb20_prim_gdsc = {6079	.gdscr = 0x29004,6080	.en_rest_wait_val = 0x2,6081	.en_few_wait_val = 0x2,6082	.clk_dis_wait_val = 0xf,6083	.pd = {6084		.name = "gcc_usb20_prim_gdsc",6085	},6086	.pwrsts = PWRSTS_OFF_ON,6087	.flags = POLL_CFG_GDSCR | RETAIN_FF_ENABLE,6088};6089 6090static struct gdsc gcc_usb30_mp_gdsc = {6091	.gdscr = 0x17004,6092	.en_rest_wait_val = 0x2,6093	.en_few_wait_val = 0x2,6094	.clk_dis_wait_val = 0xf,6095	.pd = {6096		.name = "gcc_usb30_mp_gdsc",6097	},6098	.pwrsts = PWRSTS_RET_ON,6099	.flags = POLL_CFG_GDSCR | RETAIN_FF_ENABLE,6100};6101 6102static struct gdsc gcc_usb30_prim_gdsc = {6103	.gdscr = 0x39004,6104	.en_rest_wait_val = 0x2,6105	.en_few_wait_val = 0x2,6106	.clk_dis_wait_val = 0xf,6107	.pd = {6108		.name = "gcc_usb30_prim_gdsc",6109	},6110	.pwrsts = PWRSTS_RET_ON,6111	.flags = POLL_CFG_GDSCR | RETAIN_FF_ENABLE,6112};6113 6114static struct gdsc gcc_usb30_sec_gdsc = {6115	.gdscr = 0xa1004,6116	.en_rest_wait_val = 0x2,6117	.en_few_wait_val = 0x2,6118	.clk_dis_wait_val = 0xf,6119	.pd = {6120		.name = "gcc_usb30_sec_gdsc",6121	},6122	.pwrsts = PWRSTS_RET_ON,6123	.flags = POLL_CFG_GDSCR | RETAIN_FF_ENABLE,6124};6125 6126static struct gdsc gcc_usb30_tert_gdsc = {6127	.gdscr = 0xa2004,6128	.en_rest_wait_val = 0x2,6129	.en_few_wait_val = 0x2,6130	.clk_dis_wait_val = 0xf,6131	.pd = {6132		.name = "gcc_usb30_tert_gdsc",6133	},6134	.pwrsts = PWRSTS_RET_ON,6135	.flags = POLL_CFG_GDSCR | RETAIN_FF_ENABLE,6136};6137 6138static struct gdsc gcc_usb3_mp_ss0_phy_gdsc = {6139	.gdscr = 0x1900c,6140	.en_rest_wait_val = 0x2,6141	.en_few_wait_val = 0x2,6142	.clk_dis_wait_val = 0x2,6143	.pd = {6144		.name = "gcc_usb3_mp_ss0_phy_gdsc",6145	},6146	.pwrsts = PWRSTS_RET_ON,6147	.flags = POLL_CFG_GDSCR | RETAIN_FF_ENABLE,6148};6149 6150static struct gdsc gcc_usb3_mp_ss1_phy_gdsc = {6151	.gdscr = 0x5400c,6152	.en_rest_wait_val = 0x2,6153	.en_few_wait_val = 0x2,6154	.clk_dis_wait_val = 0x2,6155	.pd = {6156		.name = "gcc_usb3_mp_ss1_phy_gdsc",6157	},6158	.pwrsts = PWRSTS_RET_ON,6159	.flags = POLL_CFG_GDSCR | RETAIN_FF_ENABLE,6160};6161 6162static struct gdsc gcc_usb4_0_gdsc = {6163	.gdscr = 0x9f004,6164	.en_rest_wait_val = 0x2,6165	.en_few_wait_val = 0x2,6166	.clk_dis_wait_val = 0xf,6167	.pd = {6168		.name = "gcc_usb4_0_gdsc",6169	},6170	.pwrsts = PWRSTS_OFF_ON,6171	.flags = POLL_CFG_GDSCR | RETAIN_FF_ENABLE,6172};6173 6174static struct gdsc gcc_usb4_1_gdsc = {6175	.gdscr = 0x2b004,6176	.en_rest_wait_val = 0x2,6177	.en_few_wait_val = 0x2,6178	.clk_dis_wait_val = 0xf,6179	.pd = {6180		.name = "gcc_usb4_1_gdsc",6181	},6182	.pwrsts = PWRSTS_OFF_ON,6183	.flags = POLL_CFG_GDSCR | RETAIN_FF_ENABLE,6184};6185 6186static struct gdsc gcc_usb4_2_gdsc = {6187	.gdscr = 0x11004,6188	.en_rest_wait_val = 0x2,6189	.en_few_wait_val = 0x2,6190	.clk_dis_wait_val = 0xf,6191	.pd = {6192		.name = "gcc_usb4_2_gdsc",6193	},6194	.pwrsts = PWRSTS_OFF_ON,6195	.flags = POLL_CFG_GDSCR | RETAIN_FF_ENABLE,6196};6197 6198static struct gdsc gcc_usb_0_phy_gdsc = {6199	.gdscr = 0x50024,6200	.en_rest_wait_val = 0x2,6201	.en_few_wait_val = 0x2,6202	.clk_dis_wait_val = 0x2,6203	.pd = {6204		.name = "gcc_usb_0_phy_gdsc",6205	},6206	.pwrsts = PWRSTS_RET_ON,6207	.flags = POLL_CFG_GDSCR | RETAIN_FF_ENABLE,6208};6209 6210static struct gdsc gcc_usb_1_phy_gdsc = {6211	.gdscr = 0x2a024,6212	.en_rest_wait_val = 0x2,6213	.en_few_wait_val = 0x2,6214	.clk_dis_wait_val = 0x2,6215	.pd = {6216		.name = "gcc_usb_1_phy_gdsc",6217	},6218	.pwrsts = PWRSTS_RET_ON,6219	.flags = POLL_CFG_GDSCR | RETAIN_FF_ENABLE,6220};6221 6222static struct gdsc gcc_usb_2_phy_gdsc = {6223	.gdscr = 0xa3024,6224	.en_rest_wait_val = 0x2,6225	.en_few_wait_val = 0x2,6226	.clk_dis_wait_val = 0x2,6227	.pd = {6228		.name = "gcc_usb_2_phy_gdsc",6229	},6230	.pwrsts = PWRSTS_RET_ON,6231	.flags = POLL_CFG_GDSCR | RETAIN_FF_ENABLE,6232};6233 6234static 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,6586};6587 6588static 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,6616};6617 6618static 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 },6707};6708 6709static 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),6734};6735 6736static const struct regmap_config gcc_x1e80100_regmap_config = {6737	.reg_bits = 32,6738	.reg_stride = 4,6739	.val_bits = 32,6740	.max_register = 0x1f41f0,6741	.fast_io = true,6742};6743 6744static 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),6752};6753 6754static const struct of_device_id gcc_x1e80100_match_table[] = {6755	{ .compatible = "qcom,x1e80100-gcc" },6756	{ }6757};6758MODULE_DEVICE_TABLE(of, gcc_x1e80100_match_table);6759 6760static int gcc_x1e80100_probe(struct platform_device *pdev)6761{6762	struct regmap *regmap;6763	int ret;6764 6765	regmap = qcom_cc_map(pdev, &gcc_x1e80100_desc);6766	if (IS_ERR(regmap))6767		return PTR_ERR(regmap);6768 6769	ret = qcom_cc_register_rcg_dfs(regmap, gcc_dfs_clocks,6770				       ARRAY_SIZE(gcc_dfs_clocks));6771	if (ret)6772		return ret;6773 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 */6782 6783	/* Clear GDSC_SLEEP_ENA_VOTE to stop votes being auto-removed in sleep. */6784	regmap_write(regmap, 0x52224, 0x0);6785 6786	return qcom_cc_really_probe(&pdev->dev, &gcc_x1e80100_desc, regmap);6787}6788 6789static struct platform_driver gcc_x1e80100_driver = {6790	.probe = gcc_x1e80100_probe,6791	.driver = {6792		.name = "gcc-x1e80100",6793		.of_match_table = gcc_x1e80100_match_table,6794	},6795};6796 6797static int __init gcc_x1e80100_init(void)6798{6799	return platform_driver_register(&gcc_x1e80100_driver);6800}6801subsys_initcall(gcc_x1e80100_init);6802 6803static void __exit gcc_x1e80100_exit(void)6804{6805	platform_driver_unregister(&gcc_x1e80100_driver);6806}6807module_exit(gcc_x1e80100_exit);6808 6809MODULE_DESCRIPTION("QTI GCC X1E80100 Driver");6810MODULE_LICENSE("GPL");6811