162306a36Sopenharmony_ci// SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * Copyright (c) 2023, The Linux Foundation. All rights reserved.
462306a36Sopenharmony_ci */
562306a36Sopenharmony_ci#include <linux/clk-provider.h>
662306a36Sopenharmony_ci#include <linux/module.h>
762306a36Sopenharmony_ci#include <linux/of_device.h>
862306a36Sopenharmony_ci#include <linux/regmap.h>
962306a36Sopenharmony_ci
1062306a36Sopenharmony_ci#include <dt-bindings/clock/qcom,gcc-ipq5018.h>
1162306a36Sopenharmony_ci#include <dt-bindings/reset/qcom,gcc-ipq5018.h>
1262306a36Sopenharmony_ci
1362306a36Sopenharmony_ci#include "clk-alpha-pll.h"
1462306a36Sopenharmony_ci#include "clk-branch.h"
1562306a36Sopenharmony_ci#include "clk-rcg.h"
1662306a36Sopenharmony_ci#include "clk-regmap.h"
1762306a36Sopenharmony_ci#include "clk-regmap-divider.h"
1862306a36Sopenharmony_ci#include "clk-regmap-mux.h"
1962306a36Sopenharmony_ci#include "clk-regmap-phy-mux.h"
2062306a36Sopenharmony_ci#include "reset.h"
2162306a36Sopenharmony_ci
2262306a36Sopenharmony_ci/* Need to match the order of clocks in DT binding */
2362306a36Sopenharmony_cienum {
2462306a36Sopenharmony_ci	DT_XO,
2562306a36Sopenharmony_ci	DT_SLEEP_CLK,
2662306a36Sopenharmony_ci	DT_PCIE20_PHY0_PIPE_CLK,
2762306a36Sopenharmony_ci	DT_PCIE20_PHY1_PIPE_CLK,
2862306a36Sopenharmony_ci	DT_USB3_PHY0_CC_PIPE_CLK,
2962306a36Sopenharmony_ci	DT_GEPHY_RX_CLK,
3062306a36Sopenharmony_ci	DT_GEPHY_TX_CLK,
3162306a36Sopenharmony_ci	DT_UNIPHY_RX_CLK,
3262306a36Sopenharmony_ci	DT_UNIPHY_TX_CLK,
3362306a36Sopenharmony_ci};
3462306a36Sopenharmony_ci
3562306a36Sopenharmony_cienum {
3662306a36Sopenharmony_ci	P_XO,
3762306a36Sopenharmony_ci	P_CORE_PI_SLEEP_CLK,
3862306a36Sopenharmony_ci	P_PCIE20_PHY0_PIPE,
3962306a36Sopenharmony_ci	P_PCIE20_PHY1_PIPE,
4062306a36Sopenharmony_ci	P_USB3PHY_0_PIPE,
4162306a36Sopenharmony_ci	P_GEPHY_RX,
4262306a36Sopenharmony_ci	P_GEPHY_TX,
4362306a36Sopenharmony_ci	P_UNIPHY_RX,
4462306a36Sopenharmony_ci	P_UNIPHY_TX,
4562306a36Sopenharmony_ci	P_GPLL0,
4662306a36Sopenharmony_ci	P_GPLL0_DIV2,
4762306a36Sopenharmony_ci	P_GPLL2,
4862306a36Sopenharmony_ci	P_GPLL4,
4962306a36Sopenharmony_ci	P_UBI32_PLL,
5062306a36Sopenharmony_ci};
5162306a36Sopenharmony_ci
5262306a36Sopenharmony_cistatic const struct clk_parent_data gcc_xo_data[] = {
5362306a36Sopenharmony_ci	{ .index = DT_XO },
5462306a36Sopenharmony_ci};
5562306a36Sopenharmony_ci
5662306a36Sopenharmony_cistatic const struct clk_parent_data gcc_sleep_clk_data[] = {
5762306a36Sopenharmony_ci	{ .index = DT_SLEEP_CLK },
5862306a36Sopenharmony_ci};
5962306a36Sopenharmony_ci
6062306a36Sopenharmony_cistatic struct clk_alpha_pll gpll0_main = {
6162306a36Sopenharmony_ci	.offset = 0x21000,
6262306a36Sopenharmony_ci	.regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_DEFAULT],
6362306a36Sopenharmony_ci	.clkr = {
6462306a36Sopenharmony_ci		.enable_reg = 0x0b000,
6562306a36Sopenharmony_ci		.enable_mask = BIT(0),
6662306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
6762306a36Sopenharmony_ci			.name = "gpll0_main",
6862306a36Sopenharmony_ci			.parent_data = gcc_xo_data,
6962306a36Sopenharmony_ci			.num_parents = ARRAY_SIZE(gcc_xo_data),
7062306a36Sopenharmony_ci			.ops = &clk_alpha_pll_stromer_ops,
7162306a36Sopenharmony_ci		},
7262306a36Sopenharmony_ci	},
7362306a36Sopenharmony_ci};
7462306a36Sopenharmony_ci
7562306a36Sopenharmony_cistatic struct clk_alpha_pll gpll2_main = {
7662306a36Sopenharmony_ci	.offset = 0x4a000,
7762306a36Sopenharmony_ci	.regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_DEFAULT],
7862306a36Sopenharmony_ci	.clkr = {
7962306a36Sopenharmony_ci		.enable_reg = 0x0b000,
8062306a36Sopenharmony_ci		.enable_mask = BIT(2),
8162306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
8262306a36Sopenharmony_ci			.name = "gpll2_main",
8362306a36Sopenharmony_ci			.parent_data = gcc_xo_data,
8462306a36Sopenharmony_ci			.num_parents = ARRAY_SIZE(gcc_xo_data),
8562306a36Sopenharmony_ci			.ops = &clk_alpha_pll_stromer_ops,
8662306a36Sopenharmony_ci		},
8762306a36Sopenharmony_ci	},
8862306a36Sopenharmony_ci};
8962306a36Sopenharmony_ci
9062306a36Sopenharmony_cistatic struct clk_alpha_pll gpll4_main = {
9162306a36Sopenharmony_ci	.offset = 0x24000,
9262306a36Sopenharmony_ci	.regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_DEFAULT],
9362306a36Sopenharmony_ci	.clkr = {
9462306a36Sopenharmony_ci		.enable_reg = 0x0b000,
9562306a36Sopenharmony_ci		.enable_mask = BIT(5),
9662306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
9762306a36Sopenharmony_ci			.name = "gpll4_main",
9862306a36Sopenharmony_ci			.parent_data = gcc_xo_data,
9962306a36Sopenharmony_ci			.num_parents = ARRAY_SIZE(gcc_xo_data),
10062306a36Sopenharmony_ci			.ops = &clk_alpha_pll_stromer_ops,
10162306a36Sopenharmony_ci		},
10262306a36Sopenharmony_ci	},
10362306a36Sopenharmony_ci};
10462306a36Sopenharmony_ci
10562306a36Sopenharmony_cistatic struct clk_alpha_pll ubi32_pll_main = {
10662306a36Sopenharmony_ci	.offset = 0x25000,
10762306a36Sopenharmony_ci	.regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_DEFAULT],
10862306a36Sopenharmony_ci	.clkr = {
10962306a36Sopenharmony_ci		.enable_reg = 0x0b000,
11062306a36Sopenharmony_ci		.enable_mask = BIT(6),
11162306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
11262306a36Sopenharmony_ci			.name = "ubi32_pll_main",
11362306a36Sopenharmony_ci			.parent_data = gcc_xo_data,
11462306a36Sopenharmony_ci			.num_parents = ARRAY_SIZE(gcc_xo_data),
11562306a36Sopenharmony_ci			.ops = &clk_alpha_pll_stromer_ops,
11662306a36Sopenharmony_ci		},
11762306a36Sopenharmony_ci	},
11862306a36Sopenharmony_ci};
11962306a36Sopenharmony_ci
12062306a36Sopenharmony_cistatic struct clk_alpha_pll_postdiv gpll0 = {
12162306a36Sopenharmony_ci	.offset = 0x21000,
12262306a36Sopenharmony_ci	.regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_DEFAULT],
12362306a36Sopenharmony_ci	.width = 4,
12462306a36Sopenharmony_ci	.clkr.hw.init = &(struct clk_init_data) {
12562306a36Sopenharmony_ci		.name = "gpll0",
12662306a36Sopenharmony_ci		.parent_hws = (const struct clk_hw *[]) {
12762306a36Sopenharmony_ci			&gpll0_main.clkr.hw,
12862306a36Sopenharmony_ci		},
12962306a36Sopenharmony_ci		.num_parents = 1,
13062306a36Sopenharmony_ci		.ops = &clk_alpha_pll_postdiv_ro_ops,
13162306a36Sopenharmony_ci	},
13262306a36Sopenharmony_ci};
13362306a36Sopenharmony_ci
13462306a36Sopenharmony_cistatic struct clk_alpha_pll_postdiv gpll2 = {
13562306a36Sopenharmony_ci	.offset = 0x4a000,
13662306a36Sopenharmony_ci	.regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_DEFAULT],
13762306a36Sopenharmony_ci	.width = 4,
13862306a36Sopenharmony_ci	.clkr.hw.init = &(struct clk_init_data) {
13962306a36Sopenharmony_ci		.name = "gpll2",
14062306a36Sopenharmony_ci		.parent_hws = (const struct clk_hw *[]) {
14162306a36Sopenharmony_ci			&gpll2_main.clkr.hw,
14262306a36Sopenharmony_ci		},
14362306a36Sopenharmony_ci		.num_parents = 1,
14462306a36Sopenharmony_ci		.ops = &clk_alpha_pll_postdiv_ro_ops,
14562306a36Sopenharmony_ci	},
14662306a36Sopenharmony_ci};
14762306a36Sopenharmony_ci
14862306a36Sopenharmony_cistatic struct clk_alpha_pll_postdiv gpll4 = {
14962306a36Sopenharmony_ci	.offset = 0x24000,
15062306a36Sopenharmony_ci	.regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_DEFAULT],
15162306a36Sopenharmony_ci	.width = 4,
15262306a36Sopenharmony_ci	.clkr.hw.init = &(struct clk_init_data) {
15362306a36Sopenharmony_ci		.name = "gpll4",
15462306a36Sopenharmony_ci		.parent_hws = (const struct clk_hw *[]) {
15562306a36Sopenharmony_ci			&gpll4_main.clkr.hw,
15662306a36Sopenharmony_ci		},
15762306a36Sopenharmony_ci		.num_parents = 1,
15862306a36Sopenharmony_ci		.ops = &clk_alpha_pll_postdiv_ro_ops,
15962306a36Sopenharmony_ci	},
16062306a36Sopenharmony_ci};
16162306a36Sopenharmony_ci
16262306a36Sopenharmony_cistatic struct clk_alpha_pll_postdiv ubi32_pll = {
16362306a36Sopenharmony_ci	.offset = 0x25000,
16462306a36Sopenharmony_ci	.regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_DEFAULT],
16562306a36Sopenharmony_ci	.width = 4,
16662306a36Sopenharmony_ci	.clkr.hw.init = &(struct clk_init_data) {
16762306a36Sopenharmony_ci		.name = "ubi32_pll",
16862306a36Sopenharmony_ci		.parent_hws = (const struct clk_hw *[]) {
16962306a36Sopenharmony_ci			&ubi32_pll_main.clkr.hw,
17062306a36Sopenharmony_ci		},
17162306a36Sopenharmony_ci		.num_parents = 1,
17262306a36Sopenharmony_ci		.ops = &clk_alpha_pll_postdiv_ro_ops,
17362306a36Sopenharmony_ci		.flags = CLK_SET_RATE_PARENT,
17462306a36Sopenharmony_ci	},
17562306a36Sopenharmony_ci};
17662306a36Sopenharmony_ci
17762306a36Sopenharmony_cistatic struct clk_fixed_factor gpll0_out_main_div2 = {
17862306a36Sopenharmony_ci	.mult = 1,
17962306a36Sopenharmony_ci	.div = 2,
18062306a36Sopenharmony_ci	.hw.init = &(struct clk_init_data) {
18162306a36Sopenharmony_ci		.name = "gpll0_out_main_div2",
18262306a36Sopenharmony_ci		.parent_hws = (const struct clk_hw *[]) {
18362306a36Sopenharmony_ci			&gpll0_main.clkr.hw,
18462306a36Sopenharmony_ci		},
18562306a36Sopenharmony_ci		.num_parents = 1,
18662306a36Sopenharmony_ci		.ops = &clk_fixed_factor_ops,
18762306a36Sopenharmony_ci		.flags = CLK_SET_RATE_PARENT,
18862306a36Sopenharmony_ci	},
18962306a36Sopenharmony_ci};
19062306a36Sopenharmony_ci
19162306a36Sopenharmony_cistatic const struct clk_parent_data gcc_xo_gpll0_gpll0_out_main_div2[] = {
19262306a36Sopenharmony_ci	{ .index = DT_XO },
19362306a36Sopenharmony_ci	{ .hw = &gpll0.clkr.hw },
19462306a36Sopenharmony_ci	{ .hw = &gpll0_out_main_div2.hw },
19562306a36Sopenharmony_ci};
19662306a36Sopenharmony_ci
19762306a36Sopenharmony_cistatic const struct parent_map gcc_xo_gpll0_gpll0_out_main_div2_map[] = {
19862306a36Sopenharmony_ci	{ P_XO, 0 },
19962306a36Sopenharmony_ci	{ P_GPLL0, 1 },
20062306a36Sopenharmony_ci	{ P_GPLL0_DIV2, 4 },
20162306a36Sopenharmony_ci};
20262306a36Sopenharmony_ci
20362306a36Sopenharmony_cistatic const struct clk_parent_data gcc_xo_gpll0[] = {
20462306a36Sopenharmony_ci	{ .index = DT_XO },
20562306a36Sopenharmony_ci	{ .hw = &gpll0.clkr.hw },
20662306a36Sopenharmony_ci};
20762306a36Sopenharmony_ci
20862306a36Sopenharmony_cistatic const struct parent_map gcc_xo_gpll0_map[] = {
20962306a36Sopenharmony_ci	{ P_XO, 0 },
21062306a36Sopenharmony_ci	{ P_GPLL0, 1 },
21162306a36Sopenharmony_ci};
21262306a36Sopenharmony_ci
21362306a36Sopenharmony_cistatic const struct clk_parent_data gcc_xo_gpll0_out_main_div2_gpll0[] = {
21462306a36Sopenharmony_ci	{ .index = DT_XO },
21562306a36Sopenharmony_ci	{ .hw = &gpll0_out_main_div2.hw },
21662306a36Sopenharmony_ci	{ .hw = &gpll0.clkr.hw },
21762306a36Sopenharmony_ci};
21862306a36Sopenharmony_ci
21962306a36Sopenharmony_cistatic const struct parent_map gcc_xo_gpll0_out_main_div2_gpll0_map[] = {
22062306a36Sopenharmony_ci	{ P_XO, 0 },
22162306a36Sopenharmony_ci	{ P_GPLL0_DIV2, 2 },
22262306a36Sopenharmony_ci	{ P_GPLL0, 1 },
22362306a36Sopenharmony_ci};
22462306a36Sopenharmony_ci
22562306a36Sopenharmony_cistatic const struct clk_parent_data gcc_xo_ubi32_gpll0[] = {
22662306a36Sopenharmony_ci	{ .index = DT_XO },
22762306a36Sopenharmony_ci	{ .hw = &ubi32_pll.clkr.hw },
22862306a36Sopenharmony_ci	{ .hw = &gpll0.clkr.hw },
22962306a36Sopenharmony_ci};
23062306a36Sopenharmony_ci
23162306a36Sopenharmony_cistatic const struct parent_map gcc_xo_ubi32_gpll0_map[] = {
23262306a36Sopenharmony_ci	{ P_XO, 0 },
23362306a36Sopenharmony_ci	{ P_UBI32_PLL, 1 },
23462306a36Sopenharmony_ci	{ P_GPLL0, 2 },
23562306a36Sopenharmony_ci};
23662306a36Sopenharmony_ci
23762306a36Sopenharmony_cistatic const struct clk_parent_data gcc_xo_gpll0_gpll2[] = {
23862306a36Sopenharmony_ci	{ .index = DT_XO },
23962306a36Sopenharmony_ci	{ .hw = &gpll0.clkr.hw },
24062306a36Sopenharmony_ci	{ .hw = &gpll2.clkr.hw },
24162306a36Sopenharmony_ci};
24262306a36Sopenharmony_ci
24362306a36Sopenharmony_cistatic const struct parent_map gcc_xo_gpll0_gpll2_map[] = {
24462306a36Sopenharmony_ci	{ P_XO, 0 },
24562306a36Sopenharmony_ci	{ P_GPLL0, 1 },
24662306a36Sopenharmony_ci	{ P_GPLL2, 2 },
24762306a36Sopenharmony_ci};
24862306a36Sopenharmony_ci
24962306a36Sopenharmony_cistatic const struct clk_parent_data gcc_xo_gpll0_gpll2_gpll4[] = {
25062306a36Sopenharmony_ci	{ .index = DT_XO },
25162306a36Sopenharmony_ci	{ .hw = &gpll0.clkr.hw },
25262306a36Sopenharmony_ci	{ .hw = &gpll2.clkr.hw },
25362306a36Sopenharmony_ci	{ .hw = &gpll4.clkr.hw },
25462306a36Sopenharmony_ci};
25562306a36Sopenharmony_ci
25662306a36Sopenharmony_cistatic const struct parent_map gcc_xo_gpll0_gpll2_gpll4_map[] = {
25762306a36Sopenharmony_ci	{ P_XO, 0 },
25862306a36Sopenharmony_ci	{ P_GPLL0, 1 },
25962306a36Sopenharmony_ci	{ P_GPLL2, 2 },
26062306a36Sopenharmony_ci	{ P_GPLL4, 3 },
26162306a36Sopenharmony_ci};
26262306a36Sopenharmony_ci
26362306a36Sopenharmony_cistatic const struct clk_parent_data gcc_xo_gpll0_gpll4[] = {
26462306a36Sopenharmony_ci	{ .index = DT_XO },
26562306a36Sopenharmony_ci	{ .hw = &gpll0.clkr.hw },
26662306a36Sopenharmony_ci	{ .hw = &gpll4.clkr.hw },
26762306a36Sopenharmony_ci};
26862306a36Sopenharmony_ci
26962306a36Sopenharmony_cistatic const struct parent_map gcc_xo_gpll0_gpll4_map[] = {
27062306a36Sopenharmony_ci	{ P_XO, 0 },
27162306a36Sopenharmony_ci	{ P_GPLL0, 1 },
27262306a36Sopenharmony_ci	{ P_GPLL4, 2 },
27362306a36Sopenharmony_ci};
27462306a36Sopenharmony_ci
27562306a36Sopenharmony_cistatic const struct clk_parent_data gcc_xo_gpll0_core_pi_sleep_clk[] = {
27662306a36Sopenharmony_ci	{ .index = DT_XO },
27762306a36Sopenharmony_ci	{ .hw = &gpll0.clkr.hw },
27862306a36Sopenharmony_ci	{ .index = DT_SLEEP_CLK },
27962306a36Sopenharmony_ci};
28062306a36Sopenharmony_ci
28162306a36Sopenharmony_cistatic const struct parent_map gcc_xo_gpll0_core_pi_sleep_clk_map[] = {
28262306a36Sopenharmony_ci	{ P_XO, 0 },
28362306a36Sopenharmony_ci	{ P_GPLL0, 2 },
28462306a36Sopenharmony_ci	{ P_CORE_PI_SLEEP_CLK, 6 },
28562306a36Sopenharmony_ci};
28662306a36Sopenharmony_ci
28762306a36Sopenharmony_cistatic const struct clk_parent_data gcc_xo_gpll0_gpll0_out_main_div2_sleep_clk[] = {
28862306a36Sopenharmony_ci	{ .index = DT_XO },
28962306a36Sopenharmony_ci	{ .hw = &gpll0.clkr.hw },
29062306a36Sopenharmony_ci	{ .hw = &gpll0_out_main_div2.hw },
29162306a36Sopenharmony_ci	{ .index = DT_SLEEP_CLK },
29262306a36Sopenharmony_ci};
29362306a36Sopenharmony_ci
29462306a36Sopenharmony_cistatic const struct parent_map gcc_xo_gpll0_gpll0_out_main_div2_sleep_clk_map[] = {
29562306a36Sopenharmony_ci	{ P_XO, 0 },
29662306a36Sopenharmony_ci	{ P_GPLL0, 1 },
29762306a36Sopenharmony_ci	{ P_GPLL0_DIV2, 4 },
29862306a36Sopenharmony_ci	{ P_CORE_PI_SLEEP_CLK, 6 },
29962306a36Sopenharmony_ci};
30062306a36Sopenharmony_ci
30162306a36Sopenharmony_cistatic const struct clk_parent_data gcc_xo_gpll0_gpll2_gpll0_out_main_div2[] = {
30262306a36Sopenharmony_ci	{ .index = DT_XO },
30362306a36Sopenharmony_ci	{ .hw = &gpll0.clkr.hw },
30462306a36Sopenharmony_ci	{ .hw = &gpll2.clkr.hw },
30562306a36Sopenharmony_ci	{ .hw = &gpll0_out_main_div2.hw },
30662306a36Sopenharmony_ci};
30762306a36Sopenharmony_ci
30862306a36Sopenharmony_cistatic const struct parent_map gcc_xo_gpll0_gpll2_gpll0_out_main_div2_map[] = {
30962306a36Sopenharmony_ci	{ P_XO, 0 },
31062306a36Sopenharmony_ci	{ P_GPLL0, 1 },
31162306a36Sopenharmony_ci	{ P_GPLL2, 2 },
31262306a36Sopenharmony_ci	{ P_GPLL0_DIV2, 4 },
31362306a36Sopenharmony_ci};
31462306a36Sopenharmony_ci
31562306a36Sopenharmony_cistatic const struct clk_parent_data gcc_xo_gpll4_gpll0_gpll0_out_main_div2[] = {
31662306a36Sopenharmony_ci	{ .index = DT_XO },
31762306a36Sopenharmony_ci	{ .hw = &gpll4.clkr.hw },
31862306a36Sopenharmony_ci	{ .hw = &gpll0.clkr.hw },
31962306a36Sopenharmony_ci	{ .hw = &gpll0_out_main_div2.hw },
32062306a36Sopenharmony_ci};
32162306a36Sopenharmony_ci
32262306a36Sopenharmony_cistatic const struct parent_map gcc_xo_gpll4_gpll0_gpll0_out_main_div2_map1[] = {
32362306a36Sopenharmony_ci	{ P_XO, 0 },
32462306a36Sopenharmony_ci	{ P_GPLL4, 1 },
32562306a36Sopenharmony_ci	{ P_GPLL0, 2 },
32662306a36Sopenharmony_ci	{ P_GPLL0_DIV2, 4 },
32762306a36Sopenharmony_ci};
32862306a36Sopenharmony_ci
32962306a36Sopenharmony_cistatic const struct parent_map gcc_xo_gpll4_gpll0_gpll0_out_main_div2_map2[] = {
33062306a36Sopenharmony_ci	{ P_XO, 0 },
33162306a36Sopenharmony_ci	{ P_GPLL4, 1 },
33262306a36Sopenharmony_ci	{ P_GPLL0, 3 },
33362306a36Sopenharmony_ci	{ P_GPLL0_DIV2, 4 },
33462306a36Sopenharmony_ci};
33562306a36Sopenharmony_ci
33662306a36Sopenharmony_cistatic const struct clk_parent_data gcc_xo_gephy_gcc_rx_gephy_gcc_tx_ubi32_pll_gpll0[] = {
33762306a36Sopenharmony_ci	{ .index = DT_XO },
33862306a36Sopenharmony_ci	{ .index = DT_GEPHY_RX_CLK },
33962306a36Sopenharmony_ci	{ .index = DT_GEPHY_TX_CLK },
34062306a36Sopenharmony_ci	{ .hw = &ubi32_pll.clkr.hw },
34162306a36Sopenharmony_ci	{ .hw = &gpll0.clkr.hw },
34262306a36Sopenharmony_ci};
34362306a36Sopenharmony_ci
34462306a36Sopenharmony_cistatic const struct parent_map gcc_xo_gephy_gcc_rx_gephy_gcc_tx_ubi32_pll_gpll0_map[] = {
34562306a36Sopenharmony_ci	{ P_XO, 0 },
34662306a36Sopenharmony_ci	{ P_GEPHY_RX, 1 },
34762306a36Sopenharmony_ci	{ P_GEPHY_TX, 2 },
34862306a36Sopenharmony_ci	{ P_UBI32_PLL, 3 },
34962306a36Sopenharmony_ci	{ P_GPLL0, 4 },
35062306a36Sopenharmony_ci};
35162306a36Sopenharmony_ci
35262306a36Sopenharmony_cistatic const struct clk_parent_data gcc_xo_gephy_gcc_tx_gephy_gcc_rx_ubi32_pll_gpll0[] = {
35362306a36Sopenharmony_ci	{ .index = DT_XO },
35462306a36Sopenharmony_ci	{ .index = DT_GEPHY_TX_CLK },
35562306a36Sopenharmony_ci	{ .index = DT_GEPHY_RX_CLK },
35662306a36Sopenharmony_ci	{ .hw = &ubi32_pll.clkr.hw },
35762306a36Sopenharmony_ci	{ .hw = &gpll0.clkr.hw },
35862306a36Sopenharmony_ci};
35962306a36Sopenharmony_ci
36062306a36Sopenharmony_cistatic const struct parent_map gcc_xo_gephy_gcc_tx_gephy_gcc_rx_ubi32_pll_gpll0_map[] = {
36162306a36Sopenharmony_ci	{ P_XO, 0 },
36262306a36Sopenharmony_ci	{ P_GEPHY_TX, 1 },
36362306a36Sopenharmony_ci	{ P_GEPHY_RX, 2 },
36462306a36Sopenharmony_ci	{ P_UBI32_PLL, 3 },
36562306a36Sopenharmony_ci	{ P_GPLL0, 4 },
36662306a36Sopenharmony_ci};
36762306a36Sopenharmony_ci
36862306a36Sopenharmony_cistatic const struct clk_parent_data gcc_xo_uniphy_gcc_rx_uniphy_gcc_tx_ubi32_pll_gpll0[] = {
36962306a36Sopenharmony_ci	{ .index = DT_XO },
37062306a36Sopenharmony_ci	{ .index = DT_UNIPHY_RX_CLK },
37162306a36Sopenharmony_ci	{ .index = DT_UNIPHY_TX_CLK },
37262306a36Sopenharmony_ci	{ .hw = &ubi32_pll.clkr.hw },
37362306a36Sopenharmony_ci	{ .hw = &gpll0.clkr.hw },
37462306a36Sopenharmony_ci};
37562306a36Sopenharmony_ci
37662306a36Sopenharmony_cistatic const struct parent_map gcc_xo_uniphy_gcc_rx_uniphy_gcc_tx_ubi32_pll_gpll0_map[] = {
37762306a36Sopenharmony_ci	{ P_XO, 0 },
37862306a36Sopenharmony_ci	{ P_UNIPHY_RX, 1 },
37962306a36Sopenharmony_ci	{ P_UNIPHY_TX, 2 },
38062306a36Sopenharmony_ci	{ P_UBI32_PLL, 3 },
38162306a36Sopenharmony_ci	{ P_GPLL0, 4 },
38262306a36Sopenharmony_ci};
38362306a36Sopenharmony_ci
38462306a36Sopenharmony_cistatic const struct clk_parent_data gcc_xo_uniphy_gcc_tx_uniphy_gcc_rx_ubi32_pll_gpll0[] = {
38562306a36Sopenharmony_ci	{ .index = DT_XO },
38662306a36Sopenharmony_ci	{ .index = DT_UNIPHY_TX_CLK },
38762306a36Sopenharmony_ci	{ .index = DT_UNIPHY_RX_CLK },
38862306a36Sopenharmony_ci	{ .hw = &ubi32_pll.clkr.hw },
38962306a36Sopenharmony_ci	{ .hw = &gpll0.clkr.hw },
39062306a36Sopenharmony_ci};
39162306a36Sopenharmony_ci
39262306a36Sopenharmony_cistatic const struct parent_map gcc_xo_uniphy_gcc_tx_uniphy_gcc_rx_ubi32_pll_gpll0_map[] = {
39362306a36Sopenharmony_ci	{ P_XO, 0 },
39462306a36Sopenharmony_ci	{ P_UNIPHY_TX, 1 },
39562306a36Sopenharmony_ci	{ P_UNIPHY_RX, 2 },
39662306a36Sopenharmony_ci	{ P_UBI32_PLL, 3 },
39762306a36Sopenharmony_ci	{ P_GPLL0, 4 },
39862306a36Sopenharmony_ci};
39962306a36Sopenharmony_ci
40062306a36Sopenharmony_cistatic const struct clk_parent_data gcc_pcie20_phy0_pipe_clk_xo[] = {
40162306a36Sopenharmony_ci	{ .index = DT_PCIE20_PHY0_PIPE_CLK },
40262306a36Sopenharmony_ci	{ .index = DT_XO },
40362306a36Sopenharmony_ci};
40462306a36Sopenharmony_ci
40562306a36Sopenharmony_cistatic const struct parent_map gcc_pcie20_phy0_pipe_clk_xo_map[] = {
40662306a36Sopenharmony_ci	{ P_PCIE20_PHY0_PIPE, 0 },
40762306a36Sopenharmony_ci	{ P_XO, 2 },
40862306a36Sopenharmony_ci};
40962306a36Sopenharmony_ci
41062306a36Sopenharmony_cistatic const struct clk_parent_data gcc_pcie20_phy1_pipe_clk_xo[] = {
41162306a36Sopenharmony_ci	{ .index = DT_PCIE20_PHY1_PIPE_CLK },
41262306a36Sopenharmony_ci	{ .index = DT_XO },
41362306a36Sopenharmony_ci};
41462306a36Sopenharmony_ci
41562306a36Sopenharmony_cistatic const struct parent_map gcc_pcie20_phy1_pipe_clk_xo_map[] = {
41662306a36Sopenharmony_ci	{ P_PCIE20_PHY1_PIPE, 0 },
41762306a36Sopenharmony_ci	{ P_XO, 2 },
41862306a36Sopenharmony_ci};
41962306a36Sopenharmony_ci
42062306a36Sopenharmony_cistatic const struct clk_parent_data gcc_usb3phy_0_cc_pipe_clk_xo[] = {
42162306a36Sopenharmony_ci	{ .index = DT_USB3_PHY0_CC_PIPE_CLK },
42262306a36Sopenharmony_ci	{ .index = DT_XO },
42362306a36Sopenharmony_ci};
42462306a36Sopenharmony_ci
42562306a36Sopenharmony_cistatic const struct parent_map gcc_usb3phy_0_cc_pipe_clk_xo_map[] = {
42662306a36Sopenharmony_ci	{ P_USB3PHY_0_PIPE, 0 },
42762306a36Sopenharmony_ci	{ P_XO, 2 },
42862306a36Sopenharmony_ci};
42962306a36Sopenharmony_ci
43062306a36Sopenharmony_cistatic const struct freq_tbl ftbl_adss_pwm_clk_src[] = {
43162306a36Sopenharmony_ci	F(24000000, P_XO, 1, 0, 0),
43262306a36Sopenharmony_ci	F(100000000, P_GPLL0, 8, 0, 0),
43362306a36Sopenharmony_ci	{ }
43462306a36Sopenharmony_ci};
43562306a36Sopenharmony_ci
43662306a36Sopenharmony_cistatic struct clk_rcg2 adss_pwm_clk_src = {
43762306a36Sopenharmony_ci	.cmd_rcgr = 0x1f008,
43862306a36Sopenharmony_ci	.freq_tbl = ftbl_adss_pwm_clk_src,
43962306a36Sopenharmony_ci	.hid_width = 5,
44062306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_map,
44162306a36Sopenharmony_ci	.clkr.hw.init = &(struct clk_init_data) {
44262306a36Sopenharmony_ci		.name = "adss_pwm_clk_src",
44362306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0,
44462306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0),
44562306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
44662306a36Sopenharmony_ci	},
44762306a36Sopenharmony_ci};
44862306a36Sopenharmony_ci
44962306a36Sopenharmony_cistatic const struct freq_tbl ftbl_blsp1_qup_i2c_apps_clk_src[] = {
45062306a36Sopenharmony_ci	F(50000000, P_GPLL0, 16, 0, 0),
45162306a36Sopenharmony_ci	{ }
45262306a36Sopenharmony_ci};
45362306a36Sopenharmony_ci
45462306a36Sopenharmony_cistatic struct clk_rcg2 blsp1_qup1_i2c_apps_clk_src = {
45562306a36Sopenharmony_ci	.cmd_rcgr = 0x0200c,
45662306a36Sopenharmony_ci	.freq_tbl = ftbl_blsp1_qup_i2c_apps_clk_src,
45762306a36Sopenharmony_ci	.hid_width = 5,
45862306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_gpll0_out_main_div2_map,
45962306a36Sopenharmony_ci	.clkr.hw.init = &(struct clk_init_data) {
46062306a36Sopenharmony_ci		.name = "blsp1_qup1_i2c_apps_clk_src",
46162306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0_gpll0_out_main_div2,
46262306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0_gpll0_out_main_div2),
46362306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
46462306a36Sopenharmony_ci	},
46562306a36Sopenharmony_ci};
46662306a36Sopenharmony_ci
46762306a36Sopenharmony_cistatic struct clk_rcg2 blsp1_qup2_i2c_apps_clk_src = {
46862306a36Sopenharmony_ci	.cmd_rcgr = 0x03000,
46962306a36Sopenharmony_ci	.freq_tbl = ftbl_blsp1_qup_i2c_apps_clk_src,
47062306a36Sopenharmony_ci	.hid_width = 5,
47162306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_gpll0_out_main_div2_map,
47262306a36Sopenharmony_ci	.clkr.hw.init = &(struct clk_init_data) {
47362306a36Sopenharmony_ci		.name = "blsp1_qup2_i2c_apps_clk_src",
47462306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0_gpll0_out_main_div2,
47562306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0_gpll0_out_main_div2),
47662306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
47762306a36Sopenharmony_ci	},
47862306a36Sopenharmony_ci};
47962306a36Sopenharmony_ci
48062306a36Sopenharmony_cistatic struct clk_rcg2 blsp1_qup3_i2c_apps_clk_src = {
48162306a36Sopenharmony_ci	.cmd_rcgr = 0x04000,
48262306a36Sopenharmony_ci	.freq_tbl = ftbl_blsp1_qup_i2c_apps_clk_src,
48362306a36Sopenharmony_ci	.hid_width = 5,
48462306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_gpll0_out_main_div2_map,
48562306a36Sopenharmony_ci	.clkr.hw.init = &(struct clk_init_data) {
48662306a36Sopenharmony_ci		.name = "blsp1_qup3_i2c_apps_clk_src",
48762306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0_gpll0_out_main_div2,
48862306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0_gpll0_out_main_div2),
48962306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
49062306a36Sopenharmony_ci	},
49162306a36Sopenharmony_ci};
49262306a36Sopenharmony_ci
49362306a36Sopenharmony_cistatic const struct freq_tbl ftbl_blsp1_qup_spi_apps_clk_src[] = {
49462306a36Sopenharmony_ci	F(960000, P_XO, 10, 2, 5),
49562306a36Sopenharmony_ci	F(4800000, P_XO, 5, 0, 0),
49662306a36Sopenharmony_ci	F(9600000, P_XO, 2, 4, 5),
49762306a36Sopenharmony_ci	F(16000000, P_GPLL0, 10, 1, 5),
49862306a36Sopenharmony_ci	F(24000000, P_XO, 1, 0, 0),
49962306a36Sopenharmony_ci	F(50000000, P_GPLL0, 16, 0, 0),
50062306a36Sopenharmony_ci	{ }
50162306a36Sopenharmony_ci};
50262306a36Sopenharmony_ci
50362306a36Sopenharmony_cistatic struct clk_rcg2 blsp1_qup1_spi_apps_clk_src = {
50462306a36Sopenharmony_ci	.cmd_rcgr = 0x02024,
50562306a36Sopenharmony_ci	.freq_tbl = ftbl_blsp1_qup_spi_apps_clk_src,
50662306a36Sopenharmony_ci	.mnd_width = 8,
50762306a36Sopenharmony_ci	.hid_width = 5,
50862306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_gpll0_out_main_div2_map,
50962306a36Sopenharmony_ci	.clkr.hw.init = &(struct clk_init_data) {
51062306a36Sopenharmony_ci		.name = "blsp1_qup1_spi_apps_clk_src",
51162306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0_gpll0_out_main_div2,
51262306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0_gpll0_out_main_div2),
51362306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
51462306a36Sopenharmony_ci	},
51562306a36Sopenharmony_ci};
51662306a36Sopenharmony_ci
51762306a36Sopenharmony_cistatic struct clk_rcg2 blsp1_qup2_spi_apps_clk_src = {
51862306a36Sopenharmony_ci	.cmd_rcgr = 0x03014,
51962306a36Sopenharmony_ci	.freq_tbl = ftbl_blsp1_qup_spi_apps_clk_src,
52062306a36Sopenharmony_ci	.mnd_width = 8,
52162306a36Sopenharmony_ci	.hid_width = 5,
52262306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_gpll0_out_main_div2_map,
52362306a36Sopenharmony_ci	.clkr.hw.init = &(struct clk_init_data) {
52462306a36Sopenharmony_ci		.name = "blsp1_qup2_spi_apps_clk_src",
52562306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0_gpll0_out_main_div2,
52662306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0_gpll0_out_main_div2),
52762306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
52862306a36Sopenharmony_ci	},
52962306a36Sopenharmony_ci};
53062306a36Sopenharmony_ci
53162306a36Sopenharmony_cistatic struct clk_rcg2 blsp1_qup3_spi_apps_clk_src = {
53262306a36Sopenharmony_ci	.cmd_rcgr = 0x04014,
53362306a36Sopenharmony_ci	.freq_tbl = ftbl_blsp1_qup_spi_apps_clk_src,
53462306a36Sopenharmony_ci	.mnd_width = 8,
53562306a36Sopenharmony_ci	.hid_width = 5,
53662306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_gpll0_out_main_div2_map,
53762306a36Sopenharmony_ci	.clkr.hw.init = &(struct clk_init_data) {
53862306a36Sopenharmony_ci		.name = "blsp1_qup3_spi_apps_clk_src",
53962306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0_gpll0_out_main_div2,
54062306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0_gpll0_out_main_div2),
54162306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
54262306a36Sopenharmony_ci	},
54362306a36Sopenharmony_ci};
54462306a36Sopenharmony_ci
54562306a36Sopenharmony_cistatic const struct freq_tbl ftbl_blsp1_uart_apps_clk_src[] = {
54662306a36Sopenharmony_ci	F(3686400, P_GPLL0_DIV2, 1, 144, 15625),
54762306a36Sopenharmony_ci	F(7372800, P_GPLL0_DIV2, 1, 288, 15625),
54862306a36Sopenharmony_ci	F(14745600, P_GPLL0_DIV2, 1, 576, 15625),
54962306a36Sopenharmony_ci	F(24000000, P_XO, 1, 0, 0),
55062306a36Sopenharmony_ci	F(25000000, P_GPLL0, 16, 1, 2),
55162306a36Sopenharmony_ci	F(40000000, P_GPLL0, 1, 1, 20),
55262306a36Sopenharmony_ci	F(46400000, P_GPLL0, 1, 29, 500),
55362306a36Sopenharmony_ci	F(48000000, P_GPLL0, 1, 3, 50),
55462306a36Sopenharmony_ci	F(51200000, P_GPLL0, 1, 8, 125),
55562306a36Sopenharmony_ci	F(56000000, P_GPLL0, 1, 7, 100),
55662306a36Sopenharmony_ci	F(58982400, P_GPLL0, 1, 1152, 15625),
55762306a36Sopenharmony_ci	F(60000000, P_GPLL0, 1, 3, 40),
55862306a36Sopenharmony_ci	F(64000000, P_GPLL0, 10, 4, 5),
55962306a36Sopenharmony_ci	{ }
56062306a36Sopenharmony_ci};
56162306a36Sopenharmony_ci
56262306a36Sopenharmony_cistatic struct clk_rcg2 blsp1_uart1_apps_clk_src = {
56362306a36Sopenharmony_ci	.cmd_rcgr = 0x02044,
56462306a36Sopenharmony_ci	.freq_tbl = ftbl_blsp1_uart_apps_clk_src,
56562306a36Sopenharmony_ci	.mnd_width = 16,
56662306a36Sopenharmony_ci	.hid_width = 5,
56762306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_gpll0_out_main_div2_map,
56862306a36Sopenharmony_ci	.clkr.hw.init = &(struct clk_init_data) {
56962306a36Sopenharmony_ci		.name = "blsp1_uart1_apps_clk_src",
57062306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0_gpll0_out_main_div2,
57162306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0_gpll0_out_main_div2),
57262306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
57362306a36Sopenharmony_ci	},
57462306a36Sopenharmony_ci};
57562306a36Sopenharmony_ci
57662306a36Sopenharmony_cistatic struct clk_rcg2 blsp1_uart2_apps_clk_src = {
57762306a36Sopenharmony_ci	.cmd_rcgr = 0x03034,
57862306a36Sopenharmony_ci	.freq_tbl = ftbl_blsp1_uart_apps_clk_src,
57962306a36Sopenharmony_ci	.mnd_width = 16,
58062306a36Sopenharmony_ci	.hid_width = 5,
58162306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_gpll0_out_main_div2_map,
58262306a36Sopenharmony_ci	.clkr.hw.init = &(struct clk_init_data) {
58362306a36Sopenharmony_ci		.name = "blsp1_uart2_apps_clk_src",
58462306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0_gpll0_out_main_div2,
58562306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0_gpll0_out_main_div2),
58662306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
58762306a36Sopenharmony_ci	},
58862306a36Sopenharmony_ci};
58962306a36Sopenharmony_ci
59062306a36Sopenharmony_cistatic const struct freq_tbl ftbl_crypto_clk_src[] = {
59162306a36Sopenharmony_ci	F(160000000, P_GPLL0, 5, 0, 0),
59262306a36Sopenharmony_ci	{ }
59362306a36Sopenharmony_ci};
59462306a36Sopenharmony_ci
59562306a36Sopenharmony_cistatic struct clk_rcg2 crypto_clk_src = {
59662306a36Sopenharmony_ci	.cmd_rcgr = 0x16004,
59762306a36Sopenharmony_ci	.freq_tbl = ftbl_crypto_clk_src,
59862306a36Sopenharmony_ci	.hid_width = 5,
59962306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_gpll0_out_main_div2_map,
60062306a36Sopenharmony_ci	.clkr.hw.init = &(struct clk_init_data) {
60162306a36Sopenharmony_ci		.name = "crypto_clk_src",
60262306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0_gpll0_out_main_div2,
60362306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0_gpll0_out_main_div2),
60462306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
60562306a36Sopenharmony_ci	},
60662306a36Sopenharmony_ci};
60762306a36Sopenharmony_ci
60862306a36Sopenharmony_cistatic const struct freq_tbl ftbl_gmac0_tx_clk_src[] = {
60962306a36Sopenharmony_ci	F(2500000, P_GEPHY_TX, 5, 0, 0),
61062306a36Sopenharmony_ci	F(24000000, P_XO, 1, 0, 0),
61162306a36Sopenharmony_ci	F(25000000, P_GEPHY_TX, 5, 0, 0),
61262306a36Sopenharmony_ci	F(125000000, P_GEPHY_TX, 1, 0, 0),
61362306a36Sopenharmony_ci	{ }
61462306a36Sopenharmony_ci};
61562306a36Sopenharmony_ci
61662306a36Sopenharmony_cistatic struct clk_rcg2 gmac0_rx_clk_src = {
61762306a36Sopenharmony_ci	.cmd_rcgr = 0x68020,
61862306a36Sopenharmony_ci	.parent_map = gcc_xo_gephy_gcc_rx_gephy_gcc_tx_ubi32_pll_gpll0_map,
61962306a36Sopenharmony_ci	.hid_width = 5,
62062306a36Sopenharmony_ci	.freq_tbl = ftbl_gmac0_tx_clk_src,
62162306a36Sopenharmony_ci	.clkr.hw.init = &(struct clk_init_data) {
62262306a36Sopenharmony_ci		.name = "gmac0_rx_clk_src",
62362306a36Sopenharmony_ci		.parent_data = gcc_xo_gephy_gcc_rx_gephy_gcc_tx_ubi32_pll_gpll0,
62462306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gephy_gcc_rx_gephy_gcc_tx_ubi32_pll_gpll0),
62562306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
62662306a36Sopenharmony_ci	},
62762306a36Sopenharmony_ci};
62862306a36Sopenharmony_ci
62962306a36Sopenharmony_cistatic struct clk_regmap_div gmac0_rx_div_clk_src = {
63062306a36Sopenharmony_ci	.reg = 0x68420,
63162306a36Sopenharmony_ci	.shift = 0,
63262306a36Sopenharmony_ci	.width = 4,
63362306a36Sopenharmony_ci	.clkr = {
63462306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
63562306a36Sopenharmony_ci			.name = "gmac0_rx_div_clk_src",
63662306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
63762306a36Sopenharmony_ci				&gmac0_rx_clk_src.clkr.hw,
63862306a36Sopenharmony_ci			},
63962306a36Sopenharmony_ci			.num_parents = 1,
64062306a36Sopenharmony_ci			.ops = &clk_regmap_div_ops,
64162306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
64262306a36Sopenharmony_ci		},
64362306a36Sopenharmony_ci	},
64462306a36Sopenharmony_ci};
64562306a36Sopenharmony_ci
64662306a36Sopenharmony_cistatic struct clk_rcg2 gmac0_tx_clk_src = {
64762306a36Sopenharmony_ci	.cmd_rcgr = 0x68028,
64862306a36Sopenharmony_ci	.parent_map = gcc_xo_gephy_gcc_tx_gephy_gcc_rx_ubi32_pll_gpll0_map,
64962306a36Sopenharmony_ci	.hid_width = 5,
65062306a36Sopenharmony_ci	.freq_tbl = ftbl_gmac0_tx_clk_src,
65162306a36Sopenharmony_ci	.clkr.hw.init = &(struct clk_init_data) {
65262306a36Sopenharmony_ci		.name = "gmac0_tx_clk_src",
65362306a36Sopenharmony_ci		.parent_data = gcc_xo_gephy_gcc_tx_gephy_gcc_rx_ubi32_pll_gpll0,
65462306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gephy_gcc_tx_gephy_gcc_rx_ubi32_pll_gpll0),
65562306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
65662306a36Sopenharmony_ci	},
65762306a36Sopenharmony_ci};
65862306a36Sopenharmony_ci
65962306a36Sopenharmony_cistatic struct clk_regmap_div gmac0_tx_div_clk_src = {
66062306a36Sopenharmony_ci	.reg = 0x68424,
66162306a36Sopenharmony_ci	.shift = 0,
66262306a36Sopenharmony_ci	.width = 4,
66362306a36Sopenharmony_ci	.clkr = {
66462306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
66562306a36Sopenharmony_ci			.name = "gmac0_tx_div_clk_src",
66662306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
66762306a36Sopenharmony_ci				&gmac0_tx_clk_src.clkr.hw,
66862306a36Sopenharmony_ci			},
66962306a36Sopenharmony_ci			.num_parents = 1,
67062306a36Sopenharmony_ci			.ops = &clk_regmap_div_ops,
67162306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
67262306a36Sopenharmony_ci		},
67362306a36Sopenharmony_ci	},
67462306a36Sopenharmony_ci};
67562306a36Sopenharmony_ci
67662306a36Sopenharmony_cistatic const struct freq_tbl ftbl_gmac1_rx_clk_src[] = {
67762306a36Sopenharmony_ci	F(2500000, P_UNIPHY_RX, 12.5, 0, 0),
67862306a36Sopenharmony_ci	F(24000000, P_XO, 1, 0, 0),
67962306a36Sopenharmony_ci	F(25000000, P_UNIPHY_RX, 2.5, 0, 0),
68062306a36Sopenharmony_ci	F(125000000, P_UNIPHY_RX, 2.5, 0, 0),
68162306a36Sopenharmony_ci	F(125000000, P_UNIPHY_RX, 1, 0, 0),
68262306a36Sopenharmony_ci	F(312500000, P_UNIPHY_RX, 1, 0, 0),
68362306a36Sopenharmony_ci	{ }
68462306a36Sopenharmony_ci};
68562306a36Sopenharmony_ci
68662306a36Sopenharmony_cistatic struct clk_rcg2 gmac1_rx_clk_src = {
68762306a36Sopenharmony_ci	.cmd_rcgr = 0x68030,
68862306a36Sopenharmony_ci	.parent_map = gcc_xo_uniphy_gcc_rx_uniphy_gcc_tx_ubi32_pll_gpll0_map,
68962306a36Sopenharmony_ci	.hid_width = 5,
69062306a36Sopenharmony_ci	.freq_tbl = ftbl_gmac1_rx_clk_src,
69162306a36Sopenharmony_ci	.clkr.hw.init = &(struct clk_init_data) {
69262306a36Sopenharmony_ci		.name = "gmac1_rx_clk_src",
69362306a36Sopenharmony_ci		.parent_data = gcc_xo_uniphy_gcc_rx_uniphy_gcc_tx_ubi32_pll_gpll0,
69462306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_uniphy_gcc_rx_uniphy_gcc_tx_ubi32_pll_gpll0),
69562306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
69662306a36Sopenharmony_ci	},
69762306a36Sopenharmony_ci};
69862306a36Sopenharmony_ci
69962306a36Sopenharmony_cistatic struct clk_regmap_div gmac1_rx_div_clk_src = {
70062306a36Sopenharmony_ci	.reg = 0x68430,
70162306a36Sopenharmony_ci	.shift = 0,
70262306a36Sopenharmony_ci	.width = 4,
70362306a36Sopenharmony_ci	.clkr = {
70462306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
70562306a36Sopenharmony_ci			.name = "gmac1_rx_div_clk_src",
70662306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
70762306a36Sopenharmony_ci				&gmac1_rx_clk_src.clkr.hw,
70862306a36Sopenharmony_ci			},
70962306a36Sopenharmony_ci			.num_parents = 1,
71062306a36Sopenharmony_ci			.ops = &clk_regmap_div_ops,
71162306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
71262306a36Sopenharmony_ci		},
71362306a36Sopenharmony_ci	},
71462306a36Sopenharmony_ci};
71562306a36Sopenharmony_ci
71662306a36Sopenharmony_cistatic const struct freq_tbl ftbl_gmac1_tx_clk_src[] = {
71762306a36Sopenharmony_ci	F(2500000, P_UNIPHY_TX, 12.5, 0, 0),
71862306a36Sopenharmony_ci	F(24000000, P_XO, 1, 0, 0),
71962306a36Sopenharmony_ci	F(25000000, P_UNIPHY_TX, 2.5, 0, 0),
72062306a36Sopenharmony_ci	F(125000000, P_UNIPHY_TX, 2.5, 0, 0),
72162306a36Sopenharmony_ci	F(125000000, P_UNIPHY_TX, 1, 0, 0),
72262306a36Sopenharmony_ci	F(312500000, P_UNIPHY_TX, 1, 0, 0),
72362306a36Sopenharmony_ci	{ }
72462306a36Sopenharmony_ci};
72562306a36Sopenharmony_ci
72662306a36Sopenharmony_cistatic struct clk_rcg2 gmac1_tx_clk_src = {
72762306a36Sopenharmony_ci	.cmd_rcgr = 0x68038,
72862306a36Sopenharmony_ci	.parent_map = gcc_xo_uniphy_gcc_tx_uniphy_gcc_rx_ubi32_pll_gpll0_map,
72962306a36Sopenharmony_ci	.hid_width = 5,
73062306a36Sopenharmony_ci	.freq_tbl = ftbl_gmac1_tx_clk_src,
73162306a36Sopenharmony_ci	.clkr.hw.init = &(struct clk_init_data) {
73262306a36Sopenharmony_ci		.name = "gmac1_tx_clk_src",
73362306a36Sopenharmony_ci		.parent_data = gcc_xo_uniphy_gcc_tx_uniphy_gcc_rx_ubi32_pll_gpll0,
73462306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_uniphy_gcc_tx_uniphy_gcc_rx_ubi32_pll_gpll0),
73562306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
73662306a36Sopenharmony_ci	},
73762306a36Sopenharmony_ci};
73862306a36Sopenharmony_ci
73962306a36Sopenharmony_cistatic struct clk_regmap_div gmac1_tx_div_clk_src = {
74062306a36Sopenharmony_ci	.reg = 0x68434,
74162306a36Sopenharmony_ci	.shift = 0,
74262306a36Sopenharmony_ci	.width = 4,
74362306a36Sopenharmony_ci	.clkr = {
74462306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
74562306a36Sopenharmony_ci			.name = "gmac1_tx_div_clk_src",
74662306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
74762306a36Sopenharmony_ci				&gmac1_tx_clk_src.clkr.hw,
74862306a36Sopenharmony_ci			},
74962306a36Sopenharmony_ci			.num_parents = 1,
75062306a36Sopenharmony_ci			.ops = &clk_regmap_div_ops,
75162306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
75262306a36Sopenharmony_ci		},
75362306a36Sopenharmony_ci	},
75462306a36Sopenharmony_ci};
75562306a36Sopenharmony_ci
75662306a36Sopenharmony_cistatic const struct freq_tbl ftbl_gmac_clk_src[] = {
75762306a36Sopenharmony_ci	F(240000000, P_GPLL4, 5, 0, 0),
75862306a36Sopenharmony_ci	{ }
75962306a36Sopenharmony_ci};
76062306a36Sopenharmony_ci
76162306a36Sopenharmony_cistatic struct clk_rcg2 gmac_clk_src = {
76262306a36Sopenharmony_ci	.cmd_rcgr = 0x68080,
76362306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_gpll4_map,
76462306a36Sopenharmony_ci	.hid_width = 5,
76562306a36Sopenharmony_ci	.freq_tbl = ftbl_gmac_clk_src,
76662306a36Sopenharmony_ci	.clkr.hw.init = &(struct clk_init_data) {
76762306a36Sopenharmony_ci		.name = "gmac_clk_src",
76862306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0_gpll4,
76962306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0_gpll4),
77062306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
77162306a36Sopenharmony_ci	},
77262306a36Sopenharmony_ci};
77362306a36Sopenharmony_ci
77462306a36Sopenharmony_cistatic const struct freq_tbl ftbl_gp_clk_src[] = {
77562306a36Sopenharmony_ci	F(200000000, P_GPLL0, 4, 0, 0),
77662306a36Sopenharmony_ci	{ }
77762306a36Sopenharmony_ci};
77862306a36Sopenharmony_ci
77962306a36Sopenharmony_cistatic struct clk_rcg2 gp1_clk_src = {
78062306a36Sopenharmony_ci	.cmd_rcgr = 0x08004,
78162306a36Sopenharmony_ci	.freq_tbl = ftbl_gp_clk_src,
78262306a36Sopenharmony_ci	.mnd_width = 8,
78362306a36Sopenharmony_ci	.hid_width = 5,
78462306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_gpll0_out_main_div2_sleep_clk_map,
78562306a36Sopenharmony_ci	.clkr.hw.init = &(struct clk_init_data) {
78662306a36Sopenharmony_ci		.name = "gp1_clk_src",
78762306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0_gpll0_out_main_div2_sleep_clk,
78862306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0_gpll0_out_main_div2_sleep_clk),
78962306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
79062306a36Sopenharmony_ci	},
79162306a36Sopenharmony_ci};
79262306a36Sopenharmony_ci
79362306a36Sopenharmony_cistatic struct clk_rcg2 gp2_clk_src = {
79462306a36Sopenharmony_ci	.cmd_rcgr = 0x09004,
79562306a36Sopenharmony_ci	.freq_tbl = ftbl_gp_clk_src,
79662306a36Sopenharmony_ci	.mnd_width = 8,
79762306a36Sopenharmony_ci	.hid_width = 5,
79862306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_gpll0_out_main_div2_sleep_clk_map,
79962306a36Sopenharmony_ci	.clkr.hw.init = &(struct clk_init_data) {
80062306a36Sopenharmony_ci		.name = "gp2_clk_src",
80162306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0_gpll0_out_main_div2_sleep_clk,
80262306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0_gpll0_out_main_div2_sleep_clk),
80362306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
80462306a36Sopenharmony_ci	},
80562306a36Sopenharmony_ci};
80662306a36Sopenharmony_ci
80762306a36Sopenharmony_cistatic struct clk_rcg2 gp3_clk_src = {
80862306a36Sopenharmony_ci	.cmd_rcgr = 0x0a004,
80962306a36Sopenharmony_ci	.freq_tbl = ftbl_gp_clk_src,
81062306a36Sopenharmony_ci	.mnd_width = 8,
81162306a36Sopenharmony_ci	.hid_width = 5,
81262306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_gpll0_out_main_div2_sleep_clk_map,
81362306a36Sopenharmony_ci	.clkr.hw.init = &(struct clk_init_data) {
81462306a36Sopenharmony_ci		.name = "gp3_clk_src",
81562306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0_gpll0_out_main_div2_sleep_clk,
81662306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0_gpll0_out_main_div2_sleep_clk),
81762306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
81862306a36Sopenharmony_ci	},
81962306a36Sopenharmony_ci};
82062306a36Sopenharmony_ci
82162306a36Sopenharmony_cistatic const struct freq_tbl ftbl_lpass_axim_clk_src[] = {
82262306a36Sopenharmony_ci	F(133333334, P_GPLL0, 6, 0, 0),
82362306a36Sopenharmony_ci	{ }
82462306a36Sopenharmony_ci};
82562306a36Sopenharmony_ci
82662306a36Sopenharmony_cistatic struct clk_rcg2 lpass_axim_clk_src = {
82762306a36Sopenharmony_ci	.cmd_rcgr = 0x2e028,
82862306a36Sopenharmony_ci	.freq_tbl = ftbl_lpass_axim_clk_src,
82962306a36Sopenharmony_ci	.hid_width = 5,
83062306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_map,
83162306a36Sopenharmony_ci	.clkr.hw.init = &(struct clk_init_data) {
83262306a36Sopenharmony_ci		.name = "lpass_axim_clk_src",
83362306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0,
83462306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0),
83562306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
83662306a36Sopenharmony_ci	},
83762306a36Sopenharmony_ci};
83862306a36Sopenharmony_ci
83962306a36Sopenharmony_cistatic const struct freq_tbl ftbl_lpass_sway_clk_src[] = {
84062306a36Sopenharmony_ci	F(66666667, P_GPLL0, 12, 0, 0),
84162306a36Sopenharmony_ci	{ }
84262306a36Sopenharmony_ci};
84362306a36Sopenharmony_ci
84462306a36Sopenharmony_cistatic struct clk_rcg2 lpass_sway_clk_src = {
84562306a36Sopenharmony_ci	.cmd_rcgr = 0x2e040,
84662306a36Sopenharmony_ci	.freq_tbl = ftbl_lpass_sway_clk_src,
84762306a36Sopenharmony_ci	.hid_width = 5,
84862306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_map,
84962306a36Sopenharmony_ci	.clkr.hw.init = &(struct clk_init_data) {
85062306a36Sopenharmony_ci		.name = "lpass_sway_clk_src",
85162306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0,
85262306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0),
85362306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
85462306a36Sopenharmony_ci	},
85562306a36Sopenharmony_ci};
85662306a36Sopenharmony_ci
85762306a36Sopenharmony_cistatic const struct freq_tbl ftbl_pcie0_aux_clk_src[] = {
85862306a36Sopenharmony_ci	F(2000000, P_XO, 12, 0, 0),
85962306a36Sopenharmony_ci	{ }
86062306a36Sopenharmony_ci};
86162306a36Sopenharmony_ci
86262306a36Sopenharmony_cistatic struct clk_rcg2 pcie0_aux_clk_src = {
86362306a36Sopenharmony_ci	.cmd_rcgr = 0x75020,
86462306a36Sopenharmony_ci	.freq_tbl = ftbl_pcie0_aux_clk_src,
86562306a36Sopenharmony_ci	.mnd_width = 16,
86662306a36Sopenharmony_ci	.hid_width = 5,
86762306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_core_pi_sleep_clk_map,
86862306a36Sopenharmony_ci	.clkr.hw.init = &(struct clk_init_data) {
86962306a36Sopenharmony_ci		.name = "pcie0_aux_clk_src",
87062306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0_core_pi_sleep_clk,
87162306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0_core_pi_sleep_clk),
87262306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
87362306a36Sopenharmony_ci	},
87462306a36Sopenharmony_ci};
87562306a36Sopenharmony_ci
87662306a36Sopenharmony_cistatic const struct freq_tbl ftbl_pcie0_axi_clk_src[] = {
87762306a36Sopenharmony_ci	F(240000000, P_GPLL4, 5, 0, 0),
87862306a36Sopenharmony_ci	{ }
87962306a36Sopenharmony_ci};
88062306a36Sopenharmony_ci
88162306a36Sopenharmony_cistatic struct clk_rcg2 pcie0_axi_clk_src = {
88262306a36Sopenharmony_ci	.cmd_rcgr = 0x75050,
88362306a36Sopenharmony_ci	.freq_tbl = ftbl_pcie0_axi_clk_src,
88462306a36Sopenharmony_ci	.hid_width = 5,
88562306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_gpll4_map,
88662306a36Sopenharmony_ci	.clkr.hw.init = &(struct clk_init_data) {
88762306a36Sopenharmony_ci		.name = "pcie0_axi_clk_src",
88862306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0_gpll4,
88962306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0_gpll4),
89062306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
89162306a36Sopenharmony_ci	},
89262306a36Sopenharmony_ci};
89362306a36Sopenharmony_ci
89462306a36Sopenharmony_cistatic struct clk_rcg2 pcie1_aux_clk_src = {
89562306a36Sopenharmony_ci	.cmd_rcgr = 0x76020,
89662306a36Sopenharmony_ci	.freq_tbl = ftbl_pcie0_aux_clk_src,
89762306a36Sopenharmony_ci	.mnd_width = 16,
89862306a36Sopenharmony_ci	.hid_width = 5,
89962306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_core_pi_sleep_clk_map,
90062306a36Sopenharmony_ci	.clkr.hw.init = &(struct clk_init_data) {
90162306a36Sopenharmony_ci		.name = "pcie1_aux_clk_src",
90262306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0_core_pi_sleep_clk,
90362306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0_core_pi_sleep_clk),
90462306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
90562306a36Sopenharmony_ci	},
90662306a36Sopenharmony_ci};
90762306a36Sopenharmony_ci
90862306a36Sopenharmony_cistatic struct clk_rcg2 pcie1_axi_clk_src = {
90962306a36Sopenharmony_ci	.cmd_rcgr = 0x76050,
91062306a36Sopenharmony_ci	.freq_tbl = ftbl_gp_clk_src,
91162306a36Sopenharmony_ci	.hid_width = 5,
91262306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_gpll0_out_main_div2_map,
91362306a36Sopenharmony_ci	.clkr.hw.init = &(struct clk_init_data) {
91462306a36Sopenharmony_ci		.name = "pcie1_axi_clk_src",
91562306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0_gpll0_out_main_div2,
91662306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0_gpll0_out_main_div2),
91762306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
91862306a36Sopenharmony_ci	},
91962306a36Sopenharmony_ci};
92062306a36Sopenharmony_ci
92162306a36Sopenharmony_cistatic struct clk_regmap_mux pcie0_pipe_clk_src = {
92262306a36Sopenharmony_ci	.reg = 0x7501c,
92362306a36Sopenharmony_ci	.shift = 8,
92462306a36Sopenharmony_ci	.width = 2,
92562306a36Sopenharmony_ci	.parent_map = gcc_pcie20_phy0_pipe_clk_xo_map,
92662306a36Sopenharmony_ci	.clkr = {
92762306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
92862306a36Sopenharmony_ci			.name = "pcie0_pipe_clk_src",
92962306a36Sopenharmony_ci			.parent_data = gcc_pcie20_phy0_pipe_clk_xo,
93062306a36Sopenharmony_ci			.num_parents = ARRAY_SIZE(gcc_pcie20_phy0_pipe_clk_xo),
93162306a36Sopenharmony_ci			.ops = &clk_regmap_mux_closest_ops,
93262306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
93362306a36Sopenharmony_ci		},
93462306a36Sopenharmony_ci	},
93562306a36Sopenharmony_ci};
93662306a36Sopenharmony_ci
93762306a36Sopenharmony_cistatic struct clk_regmap_mux pcie1_pipe_clk_src = {
93862306a36Sopenharmony_ci	.reg = 0x7601c,
93962306a36Sopenharmony_ci	.shift = 8,
94062306a36Sopenharmony_ci	.width = 2,
94162306a36Sopenharmony_ci	.parent_map = gcc_pcie20_phy1_pipe_clk_xo_map, .clkr = {
94262306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
94362306a36Sopenharmony_ci			.name = "pcie1_pipe_clk_src",
94462306a36Sopenharmony_ci			.parent_data = gcc_pcie20_phy1_pipe_clk_xo,
94562306a36Sopenharmony_ci			.num_parents = ARRAY_SIZE(gcc_pcie20_phy1_pipe_clk_xo),
94662306a36Sopenharmony_ci			.ops = &clk_regmap_mux_closest_ops,
94762306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
94862306a36Sopenharmony_ci		},
94962306a36Sopenharmony_ci	},
95062306a36Sopenharmony_ci};
95162306a36Sopenharmony_ci
95262306a36Sopenharmony_cistatic const struct freq_tbl ftbl_pcnoc_bfdcd_clk_src[] = {
95362306a36Sopenharmony_ci	F(100000000, P_GPLL0, 8, 0, 0),
95462306a36Sopenharmony_ci	{ }
95562306a36Sopenharmony_ci};
95662306a36Sopenharmony_ci
95762306a36Sopenharmony_cistatic struct clk_rcg2 pcnoc_bfdcd_clk_src = {
95862306a36Sopenharmony_ci	.cmd_rcgr = 0x27000,
95962306a36Sopenharmony_ci	.freq_tbl = ftbl_pcnoc_bfdcd_clk_src,
96062306a36Sopenharmony_ci	.hid_width = 5,
96162306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_gpll0_out_main_div2_map,
96262306a36Sopenharmony_ci	.clkr.hw.init = &(struct clk_init_data) {
96362306a36Sopenharmony_ci		.name = "pcnoc_bfdcd_clk_src",
96462306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0_gpll0_out_main_div2,
96562306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0_gpll0_out_main_div2),
96662306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
96762306a36Sopenharmony_ci	},
96862306a36Sopenharmony_ci};
96962306a36Sopenharmony_ci
97062306a36Sopenharmony_cistatic struct clk_fixed_factor pcnoc_clk_src = {
97162306a36Sopenharmony_ci	.mult = 1,
97262306a36Sopenharmony_ci	.div = 1,
97362306a36Sopenharmony_ci	.hw.init = &(struct clk_init_data) {
97462306a36Sopenharmony_ci		.name = "pcnoc_clk_src",
97562306a36Sopenharmony_ci		.parent_hws = (const struct clk_hw *[]) {
97662306a36Sopenharmony_ci			&pcnoc_bfdcd_clk_src.clkr.hw,
97762306a36Sopenharmony_ci		},
97862306a36Sopenharmony_ci		.num_parents = 1,
97962306a36Sopenharmony_ci		.ops = &clk_fixed_factor_ops,
98062306a36Sopenharmony_ci		.flags = CLK_SET_RATE_PARENT,
98162306a36Sopenharmony_ci	},
98262306a36Sopenharmony_ci};
98362306a36Sopenharmony_ci
98462306a36Sopenharmony_cistatic const struct freq_tbl ftbl_qdss_at_clk_src[] = {
98562306a36Sopenharmony_ci	F(240000000, P_GPLL4, 5, 0, 0),
98662306a36Sopenharmony_ci	{ }
98762306a36Sopenharmony_ci};
98862306a36Sopenharmony_ci
98962306a36Sopenharmony_cistatic struct clk_rcg2 qdss_at_clk_src = {
99062306a36Sopenharmony_ci	.cmd_rcgr = 0x2900c,
99162306a36Sopenharmony_ci	.freq_tbl = ftbl_qdss_at_clk_src,
99262306a36Sopenharmony_ci	.hid_width = 5,
99362306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll4_gpll0_gpll0_out_main_div2_map1,
99462306a36Sopenharmony_ci	.clkr.hw.init = &(struct clk_init_data) {
99562306a36Sopenharmony_ci		.name = "qdss_at_clk_src",
99662306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll4_gpll0_gpll0_out_main_div2,
99762306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll4_gpll0_gpll0_out_main_div2),
99862306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
99962306a36Sopenharmony_ci	},
100062306a36Sopenharmony_ci};
100162306a36Sopenharmony_ci
100262306a36Sopenharmony_cistatic const struct freq_tbl ftbl_qdss_stm_clk_src[] = {
100362306a36Sopenharmony_ci	F(200000000, P_GPLL0, 4, 0, 0),
100462306a36Sopenharmony_ci	{ }
100562306a36Sopenharmony_ci};
100662306a36Sopenharmony_ci
100762306a36Sopenharmony_cistatic struct clk_rcg2 qdss_stm_clk_src = {
100862306a36Sopenharmony_ci	.cmd_rcgr = 0x2902c,
100962306a36Sopenharmony_ci	.freq_tbl = ftbl_qdss_stm_clk_src,
101062306a36Sopenharmony_ci	.hid_width = 5,
101162306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_gpll0_out_main_div2_map,
101262306a36Sopenharmony_ci	.clkr.hw.init = &(struct clk_init_data) {
101362306a36Sopenharmony_ci		.name = "qdss_stm_clk_src",
101462306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0_gpll0_out_main_div2,
101562306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0_gpll0_out_main_div2),
101662306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
101762306a36Sopenharmony_ci	},
101862306a36Sopenharmony_ci};
101962306a36Sopenharmony_ci
102062306a36Sopenharmony_cistatic const struct freq_tbl ftbl_qdss_traceclkin_clk_src[] = {
102162306a36Sopenharmony_ci	F(266666667, P_GPLL0, 3, 0, 0),
102262306a36Sopenharmony_ci	{ }
102362306a36Sopenharmony_ci};
102462306a36Sopenharmony_ci
102562306a36Sopenharmony_cistatic struct clk_rcg2 qdss_traceclkin_clk_src = {
102662306a36Sopenharmony_ci	.cmd_rcgr = 0x29048,
102762306a36Sopenharmony_ci	.freq_tbl = ftbl_qdss_traceclkin_clk_src,
102862306a36Sopenharmony_ci	.hid_width = 5,
102962306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll4_gpll0_gpll0_out_main_div2_map1,
103062306a36Sopenharmony_ci	.clkr.hw.init = &(struct clk_init_data) {
103162306a36Sopenharmony_ci		.name = "qdss_traceclkin_clk_src",
103262306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll4_gpll0_gpll0_out_main_div2,
103362306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll4_gpll0_gpll0_out_main_div2),
103462306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
103562306a36Sopenharmony_ci	},
103662306a36Sopenharmony_ci};
103762306a36Sopenharmony_ci
103862306a36Sopenharmony_cistatic const struct freq_tbl ftbl_qdss_tsctr_clk_src[] = {
103962306a36Sopenharmony_ci	F(600000000, P_GPLL4, 2, 0, 0),
104062306a36Sopenharmony_ci	{ }
104162306a36Sopenharmony_ci};
104262306a36Sopenharmony_ci
104362306a36Sopenharmony_cistatic struct clk_rcg2 qdss_tsctr_clk_src = {
104462306a36Sopenharmony_ci	.cmd_rcgr = 0x29064,
104562306a36Sopenharmony_ci	.freq_tbl = ftbl_qdss_tsctr_clk_src,
104662306a36Sopenharmony_ci	.hid_width = 5,
104762306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll4_gpll0_gpll0_out_main_div2_map1,
104862306a36Sopenharmony_ci	.clkr.hw.init = &(struct clk_init_data) {
104962306a36Sopenharmony_ci		.name = "qdss_tsctr_clk_src",
105062306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll4_gpll0_gpll0_out_main_div2,
105162306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll4_gpll0_gpll0_out_main_div2),
105262306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
105362306a36Sopenharmony_ci	},
105462306a36Sopenharmony_ci};
105562306a36Sopenharmony_ci
105662306a36Sopenharmony_cistatic struct clk_fixed_factor qdss_tsctr_div2_clk_src = {
105762306a36Sopenharmony_ci	.mult = 1,
105862306a36Sopenharmony_ci	.div = 2,
105962306a36Sopenharmony_ci	.hw.init = &(struct clk_init_data) {
106062306a36Sopenharmony_ci		.name = "qdss_tsctr_div2_clk_src",
106162306a36Sopenharmony_ci		.parent_hws = (const struct clk_hw *[]) {
106262306a36Sopenharmony_ci			&qdss_tsctr_clk_src.clkr.hw,
106362306a36Sopenharmony_ci		},
106462306a36Sopenharmony_ci		.num_parents = 1,
106562306a36Sopenharmony_ci		.flags = CLK_SET_RATE_PARENT,
106662306a36Sopenharmony_ci		.ops = &clk_fixed_factor_ops,
106762306a36Sopenharmony_ci	},
106862306a36Sopenharmony_ci};
106962306a36Sopenharmony_ci
107062306a36Sopenharmony_cistatic struct clk_fixed_factor qdss_dap_sync_clk_src = {
107162306a36Sopenharmony_ci	.mult = 1,
107262306a36Sopenharmony_ci	.div = 4,
107362306a36Sopenharmony_ci	.hw.init = &(struct clk_init_data) {
107462306a36Sopenharmony_ci		.name = "qdss_dap_sync_clk_src",
107562306a36Sopenharmony_ci		.parent_hws = (const struct clk_hw *[]) {
107662306a36Sopenharmony_ci			&qdss_tsctr_clk_src.clkr.hw,
107762306a36Sopenharmony_ci		},
107862306a36Sopenharmony_ci		.num_parents = 1,
107962306a36Sopenharmony_ci		.ops = &clk_fixed_factor_ops,
108062306a36Sopenharmony_ci	},
108162306a36Sopenharmony_ci};
108262306a36Sopenharmony_ci
108362306a36Sopenharmony_cistatic struct clk_fixed_factor eud_at_clk_src = {
108462306a36Sopenharmony_ci	.mult = 1,
108562306a36Sopenharmony_ci	.div = 6,
108662306a36Sopenharmony_ci	.hw.init = &(struct clk_init_data) {
108762306a36Sopenharmony_ci		.name = "eud_at_clk_src",
108862306a36Sopenharmony_ci		.parent_hws = (const struct clk_hw *[]) {
108962306a36Sopenharmony_ci			&qdss_at_clk_src.clkr.hw,
109062306a36Sopenharmony_ci		},
109162306a36Sopenharmony_ci		.num_parents = 1,
109262306a36Sopenharmony_ci		.ops = &clk_fixed_factor_ops,
109362306a36Sopenharmony_ci		.flags = CLK_SET_RATE_PARENT,
109462306a36Sopenharmony_ci	},
109562306a36Sopenharmony_ci};
109662306a36Sopenharmony_ci
109762306a36Sopenharmony_cistatic const struct freq_tbl ftbl_qpic_io_macro_clk_src[] = {
109862306a36Sopenharmony_ci	F(24000000, P_XO, 1, 0, 0),
109962306a36Sopenharmony_ci	F(100000000, P_GPLL0, 8, 0, 0),
110062306a36Sopenharmony_ci	F(200000000, P_GPLL0, 4, 0, 0),
110162306a36Sopenharmony_ci	F(320000000, P_GPLL0, 2.5, 0, 0),
110262306a36Sopenharmony_ci	{ }
110362306a36Sopenharmony_ci};
110462306a36Sopenharmony_ci
110562306a36Sopenharmony_cistatic struct clk_rcg2 qpic_io_macro_clk_src = {
110662306a36Sopenharmony_ci	.cmd_rcgr = 0x57010,
110762306a36Sopenharmony_ci	.freq_tbl = ftbl_qpic_io_macro_clk_src,
110862306a36Sopenharmony_ci	.hid_width = 5,
110962306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_gpll2_map,
111062306a36Sopenharmony_ci	.clkr.hw.init = &(struct clk_init_data) {
111162306a36Sopenharmony_ci		.name = "qpic_io_macro_clk_src",
111262306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0_gpll2,
111362306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0_gpll2),
111462306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
111562306a36Sopenharmony_ci	},
111662306a36Sopenharmony_ci};
111762306a36Sopenharmony_ci
111862306a36Sopenharmony_cistatic const struct freq_tbl ftbl_sdcc1_apps_clk_src[] = {
111962306a36Sopenharmony_ci	F(143713, P_XO, 1, 1, 167),
112062306a36Sopenharmony_ci	F(400000, P_XO, 1, 1, 60),
112162306a36Sopenharmony_ci	F(24000000, P_XO, 1, 0, 0),
112262306a36Sopenharmony_ci	F(48000000, P_GPLL2, 12, 1, 2),
112362306a36Sopenharmony_ci	F(96000000, P_GPLL2, 12, 0, 0),
112462306a36Sopenharmony_ci	F(177777778, P_GPLL0, 1, 2, 9),
112562306a36Sopenharmony_ci	F(192000000, P_GPLL2, 6, 0, 0),
112662306a36Sopenharmony_ci	F(200000000, P_GPLL0, 4, 0, 0),
112762306a36Sopenharmony_ci	{ }
112862306a36Sopenharmony_ci};
112962306a36Sopenharmony_ci
113062306a36Sopenharmony_cistatic struct clk_rcg2 sdcc1_apps_clk_src = {
113162306a36Sopenharmony_ci	.cmd_rcgr = 0x42004,
113262306a36Sopenharmony_ci	.freq_tbl = ftbl_sdcc1_apps_clk_src,
113362306a36Sopenharmony_ci	.mnd_width = 8,
113462306a36Sopenharmony_ci	.hid_width = 5,
113562306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_gpll2_gpll0_out_main_div2_map,
113662306a36Sopenharmony_ci	.clkr.hw.init = &(struct clk_init_data) {
113762306a36Sopenharmony_ci		.name = "sdcc1_apps_clk_src",
113862306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0_gpll2_gpll0_out_main_div2,
113962306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0_gpll2_gpll0_out_main_div2),
114062306a36Sopenharmony_ci		.ops = &clk_rcg2_floor_ops,
114162306a36Sopenharmony_ci	},
114262306a36Sopenharmony_ci};
114362306a36Sopenharmony_ci
114462306a36Sopenharmony_cistatic const struct freq_tbl ftbl_system_noc_bfdcd_clk_src[] = {
114562306a36Sopenharmony_ci	F(266666667, P_GPLL0, 3, 0, 0),
114662306a36Sopenharmony_ci	{ }
114762306a36Sopenharmony_ci};
114862306a36Sopenharmony_ci
114962306a36Sopenharmony_cistatic struct clk_rcg2 system_noc_bfdcd_clk_src = {
115062306a36Sopenharmony_ci	.cmd_rcgr = 0x26004,
115162306a36Sopenharmony_ci	.freq_tbl = ftbl_system_noc_bfdcd_clk_src,
115262306a36Sopenharmony_ci	.hid_width = 5,
115362306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_gpll2_gpll0_out_main_div2_map,
115462306a36Sopenharmony_ci	.clkr.hw.init = &(struct clk_init_data) {
115562306a36Sopenharmony_ci		.name = "system_noc_bfdcd_clk_src",
115662306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0_gpll2_gpll0_out_main_div2,
115762306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0_gpll2_gpll0_out_main_div2),
115862306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
115962306a36Sopenharmony_ci	},
116062306a36Sopenharmony_ci};
116162306a36Sopenharmony_ci
116262306a36Sopenharmony_cistatic struct clk_fixed_factor system_noc_clk_src = {
116362306a36Sopenharmony_ci	.mult = 1,
116462306a36Sopenharmony_ci	.div = 1,
116562306a36Sopenharmony_ci	.hw.init = &(struct clk_init_data) {
116662306a36Sopenharmony_ci		.name = "system_noc_clk_src",
116762306a36Sopenharmony_ci		.parent_hws = (const struct clk_hw *[]) {
116862306a36Sopenharmony_ci			&system_noc_bfdcd_clk_src.clkr.hw,
116962306a36Sopenharmony_ci		},
117062306a36Sopenharmony_ci		.num_parents = 1,
117162306a36Sopenharmony_ci		.ops = &clk_fixed_factor_ops,
117262306a36Sopenharmony_ci		.flags = CLK_SET_RATE_PARENT,
117362306a36Sopenharmony_ci	},
117462306a36Sopenharmony_ci};
117562306a36Sopenharmony_ci
117662306a36Sopenharmony_cistatic const struct freq_tbl ftbl_apss_axi_clk_src[] = {
117762306a36Sopenharmony_ci	F(400000000, P_GPLL0, 2, 0, 0),
117862306a36Sopenharmony_ci	{ }
117962306a36Sopenharmony_ci};
118062306a36Sopenharmony_ci
118162306a36Sopenharmony_cistatic struct clk_rcg2 ubi0_axi_clk_src = {
118262306a36Sopenharmony_ci	.cmd_rcgr = 0x68088,
118362306a36Sopenharmony_ci	.freq_tbl = ftbl_apss_axi_clk_src,
118462306a36Sopenharmony_ci	.hid_width = 5,
118562306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_gpll2_map,
118662306a36Sopenharmony_ci	.clkr.hw.init = &(struct clk_init_data) {
118762306a36Sopenharmony_ci		.name = "ubi0_axi_clk_src",
118862306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0_gpll2,
118962306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0_gpll2),
119062306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
119162306a36Sopenharmony_ci		.flags = CLK_SET_RATE_PARENT,
119262306a36Sopenharmony_ci	},
119362306a36Sopenharmony_ci};
119462306a36Sopenharmony_ci
119562306a36Sopenharmony_cistatic const struct freq_tbl ftbl_ubi0_core_clk_src[] = {
119662306a36Sopenharmony_ci	F(850000000, P_UBI32_PLL, 1, 0, 0),
119762306a36Sopenharmony_ci	F(1000000000, P_UBI32_PLL, 1, 0, 0),
119862306a36Sopenharmony_ci	{ }
119962306a36Sopenharmony_ci};
120062306a36Sopenharmony_ci
120162306a36Sopenharmony_cistatic struct clk_rcg2 ubi0_core_clk_src = {
120262306a36Sopenharmony_ci	.cmd_rcgr = 0x68100,
120362306a36Sopenharmony_ci	.freq_tbl = ftbl_ubi0_core_clk_src,
120462306a36Sopenharmony_ci	.hid_width = 5,
120562306a36Sopenharmony_ci	.parent_map = gcc_xo_ubi32_gpll0_map,
120662306a36Sopenharmony_ci	.clkr.hw.init = &(struct clk_init_data) {
120762306a36Sopenharmony_ci		.name = "ubi0_core_clk_src",
120862306a36Sopenharmony_ci		.parent_data = gcc_xo_ubi32_gpll0,
120962306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_ubi32_gpll0),
121062306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
121162306a36Sopenharmony_ci		.flags = CLK_SET_RATE_PARENT,
121262306a36Sopenharmony_ci	},
121362306a36Sopenharmony_ci};
121462306a36Sopenharmony_ci
121562306a36Sopenharmony_cistatic struct clk_rcg2 usb0_aux_clk_src = {
121662306a36Sopenharmony_ci	.cmd_rcgr = 0x3e05c,
121762306a36Sopenharmony_ci	.freq_tbl = ftbl_pcie0_aux_clk_src,
121862306a36Sopenharmony_ci	.mnd_width = 16,
121962306a36Sopenharmony_ci	.hid_width = 5,
122062306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_core_pi_sleep_clk_map,
122162306a36Sopenharmony_ci	.clkr.hw.init = &(struct clk_init_data) {
122262306a36Sopenharmony_ci		.name = "usb0_aux_clk_src",
122362306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0_core_pi_sleep_clk,
122462306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0_core_pi_sleep_clk),
122562306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
122662306a36Sopenharmony_ci	},
122762306a36Sopenharmony_ci};
122862306a36Sopenharmony_ci
122962306a36Sopenharmony_cistatic const struct freq_tbl ftbl_usb0_lfps_clk_src[] = {
123062306a36Sopenharmony_ci	F(25000000, P_GPLL0, 16, 1, 2),
123162306a36Sopenharmony_ci	{ }
123262306a36Sopenharmony_ci};
123362306a36Sopenharmony_ci
123462306a36Sopenharmony_cistatic struct clk_rcg2 usb0_lfps_clk_src = {
123562306a36Sopenharmony_ci	.cmd_rcgr = 0x3e090,
123662306a36Sopenharmony_ci	.freq_tbl = ftbl_usb0_lfps_clk_src,
123762306a36Sopenharmony_ci	.mnd_width = 8,
123862306a36Sopenharmony_ci	.hid_width = 5,
123962306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_map,
124062306a36Sopenharmony_ci	.clkr.hw.init = &(struct clk_init_data) {
124162306a36Sopenharmony_ci		.name = "usb0_lfps_clk_src",
124262306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0,
124362306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0),
124462306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
124562306a36Sopenharmony_ci	},
124662306a36Sopenharmony_ci};
124762306a36Sopenharmony_ci
124862306a36Sopenharmony_cistatic struct clk_rcg2 usb0_master_clk_src = {
124962306a36Sopenharmony_ci	.cmd_rcgr = 0x3e00c,
125062306a36Sopenharmony_ci	.freq_tbl = ftbl_gp_clk_src,
125162306a36Sopenharmony_ci	.mnd_width = 8,
125262306a36Sopenharmony_ci	.hid_width = 5,
125362306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_out_main_div2_gpll0_map,
125462306a36Sopenharmony_ci	.clkr.hw.init = &(struct clk_init_data) {
125562306a36Sopenharmony_ci		.name = "usb0_master_clk_src",
125662306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0_out_main_div2_gpll0,
125762306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0_out_main_div2_gpll0),
125862306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
125962306a36Sopenharmony_ci	},
126062306a36Sopenharmony_ci};
126162306a36Sopenharmony_ci
126262306a36Sopenharmony_cistatic const struct freq_tbl ftbl_usb0_mock_utmi_clk_src[] = {
126362306a36Sopenharmony_ci	F(60000000, P_GPLL4, 10, 1, 2),
126462306a36Sopenharmony_ci	{ }
126562306a36Sopenharmony_ci};
126662306a36Sopenharmony_ci
126762306a36Sopenharmony_cistatic struct clk_rcg2 usb0_mock_utmi_clk_src = {
126862306a36Sopenharmony_ci	.cmd_rcgr = 0x3e020,
126962306a36Sopenharmony_ci	.freq_tbl = ftbl_usb0_mock_utmi_clk_src,
127062306a36Sopenharmony_ci	.mnd_width = 8,
127162306a36Sopenharmony_ci	.hid_width = 5,
127262306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll4_gpll0_gpll0_out_main_div2_map2,
127362306a36Sopenharmony_ci	.clkr.hw.init = &(struct clk_init_data) {
127462306a36Sopenharmony_ci		.name = "usb0_mock_utmi_clk_src",
127562306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll4_gpll0_gpll0_out_main_div2,
127662306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll4_gpll0_gpll0_out_main_div2),
127762306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
127862306a36Sopenharmony_ci	},
127962306a36Sopenharmony_ci};
128062306a36Sopenharmony_ci
128162306a36Sopenharmony_cistatic struct clk_regmap_mux usb0_pipe_clk_src = {
128262306a36Sopenharmony_ci	.reg = 0x3e048,
128362306a36Sopenharmony_ci	.shift = 8,
128462306a36Sopenharmony_ci	.width = 2,
128562306a36Sopenharmony_ci	.parent_map = gcc_usb3phy_0_cc_pipe_clk_xo_map,
128662306a36Sopenharmony_ci	.clkr = {
128762306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
128862306a36Sopenharmony_ci			.name = "usb0_pipe_clk_src",
128962306a36Sopenharmony_ci			.parent_data = gcc_usb3phy_0_cc_pipe_clk_xo,
129062306a36Sopenharmony_ci			.num_parents = ARRAY_SIZE(gcc_usb3phy_0_cc_pipe_clk_xo),
129162306a36Sopenharmony_ci			.ops = &clk_regmap_mux_closest_ops,
129262306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
129362306a36Sopenharmony_ci		},
129462306a36Sopenharmony_ci	},
129562306a36Sopenharmony_ci};
129662306a36Sopenharmony_ci
129762306a36Sopenharmony_cistatic const struct freq_tbl ftbl_q6_axi_clk_src[] = {
129862306a36Sopenharmony_ci	F(400000000, P_GPLL0, 2, 0, 0),
129962306a36Sopenharmony_ci	{ }
130062306a36Sopenharmony_ci};
130162306a36Sopenharmony_ci
130262306a36Sopenharmony_cistatic struct clk_rcg2 q6_axi_clk_src = {
130362306a36Sopenharmony_ci	.cmd_rcgr = 0x59120,
130462306a36Sopenharmony_ci	.freq_tbl = ftbl_q6_axi_clk_src,
130562306a36Sopenharmony_ci	.hid_width = 5,
130662306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_gpll2_gpll4_map,
130762306a36Sopenharmony_ci	.clkr.hw.init = &(struct clk_init_data) {
130862306a36Sopenharmony_ci		.name = "q6_axi_clk_src",
130962306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0_gpll2_gpll4,
131062306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0_gpll2_gpll4),
131162306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
131262306a36Sopenharmony_ci	},
131362306a36Sopenharmony_ci};
131462306a36Sopenharmony_ci
131562306a36Sopenharmony_cistatic const struct freq_tbl ftbl_wcss_ahb_clk_src[] = {
131662306a36Sopenharmony_ci	F(133333333, P_GPLL0, 6, 0, 0),
131762306a36Sopenharmony_ci	{ }
131862306a36Sopenharmony_ci};
131962306a36Sopenharmony_ci
132062306a36Sopenharmony_cistatic struct clk_rcg2 wcss_ahb_clk_src = {
132162306a36Sopenharmony_ci	.cmd_rcgr = 0x59020,
132262306a36Sopenharmony_ci	.freq_tbl = ftbl_wcss_ahb_clk_src,
132362306a36Sopenharmony_ci	.hid_width = 5,
132462306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_map,
132562306a36Sopenharmony_ci	.clkr.hw.init = &(struct clk_init_data) {
132662306a36Sopenharmony_ci		.name = "wcss_ahb_clk_src",
132762306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0,
132862306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0),
132962306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
133062306a36Sopenharmony_ci	},
133162306a36Sopenharmony_ci};
133262306a36Sopenharmony_ci
133362306a36Sopenharmony_cistatic struct clk_branch gcc_sleep_clk_src = {
133462306a36Sopenharmony_ci	.halt_reg = 0x30000,
133562306a36Sopenharmony_ci	.clkr = {
133662306a36Sopenharmony_ci		.enable_reg = 0x30000,
133762306a36Sopenharmony_ci		.enable_mask = BIT(1),
133862306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
133962306a36Sopenharmony_ci			.name = "gcc_sleep_clk_src",
134062306a36Sopenharmony_ci			.parent_data = gcc_sleep_clk_data,
134162306a36Sopenharmony_ci			.num_parents = ARRAY_SIZE(gcc_sleep_clk_data),
134262306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
134362306a36Sopenharmony_ci		},
134462306a36Sopenharmony_ci	},
134562306a36Sopenharmony_ci};
134662306a36Sopenharmony_ci
134762306a36Sopenharmony_cistatic struct clk_branch gcc_xo_clk_src = {
134862306a36Sopenharmony_ci	.halt_reg = 0x30018,
134962306a36Sopenharmony_ci	.clkr = {
135062306a36Sopenharmony_ci		.enable_reg = 0x30018,
135162306a36Sopenharmony_ci		.enable_mask = BIT(1),
135262306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
135362306a36Sopenharmony_ci			.name = "gcc_xo_clk_src",
135462306a36Sopenharmony_ci			.parent_data = gcc_xo_data,
135562306a36Sopenharmony_ci			.num_parents = ARRAY_SIZE(gcc_xo_data),
135662306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
135762306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
135862306a36Sopenharmony_ci		},
135962306a36Sopenharmony_ci	},
136062306a36Sopenharmony_ci};
136162306a36Sopenharmony_ci
136262306a36Sopenharmony_cistatic struct clk_branch gcc_xo_clk = {
136362306a36Sopenharmony_ci	.halt_reg = 0x30030,
136462306a36Sopenharmony_ci	.clkr = {
136562306a36Sopenharmony_ci		.enable_reg = 0x30030,
136662306a36Sopenharmony_ci		.enable_mask = BIT(0),
136762306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
136862306a36Sopenharmony_ci			.name = "gcc_xo_clk",
136962306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
137062306a36Sopenharmony_ci				&gcc_xo_clk_src.clkr.hw,
137162306a36Sopenharmony_ci			},
137262306a36Sopenharmony_ci			.num_parents = 1,
137362306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
137462306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
137562306a36Sopenharmony_ci		},
137662306a36Sopenharmony_ci	},
137762306a36Sopenharmony_ci};
137862306a36Sopenharmony_ci
137962306a36Sopenharmony_cistatic struct clk_branch gcc_adss_pwm_clk = {
138062306a36Sopenharmony_ci	.halt_reg = 0x1f020,
138162306a36Sopenharmony_ci	.clkr = {
138262306a36Sopenharmony_ci		.enable_reg = 0x1f020,
138362306a36Sopenharmony_ci		.enable_mask = BIT(0),
138462306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
138562306a36Sopenharmony_ci			.name = "gcc_adss_pwm_clk",
138662306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
138762306a36Sopenharmony_ci				&adss_pwm_clk_src.clkr.hw,
138862306a36Sopenharmony_ci			},
138962306a36Sopenharmony_ci			.num_parents = 1,
139062306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
139162306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
139262306a36Sopenharmony_ci		},
139362306a36Sopenharmony_ci	},
139462306a36Sopenharmony_ci};
139562306a36Sopenharmony_ci
139662306a36Sopenharmony_cistatic struct clk_branch gcc_blsp1_ahb_clk = {
139762306a36Sopenharmony_ci	.halt_reg = 0x01008,
139862306a36Sopenharmony_ci	.halt_check = BRANCH_HALT_VOTED,
139962306a36Sopenharmony_ci	.clkr = {
140062306a36Sopenharmony_ci		.enable_reg = 0x0b004,
140162306a36Sopenharmony_ci		.enable_mask = BIT(10),
140262306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
140362306a36Sopenharmony_ci			.name = "gcc_blsp1_ahb_clk",
140462306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
140562306a36Sopenharmony_ci				&pcnoc_clk_src.hw,
140662306a36Sopenharmony_ci			},
140762306a36Sopenharmony_ci			.num_parents = 1,
140862306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
140962306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
141062306a36Sopenharmony_ci		},
141162306a36Sopenharmony_ci	},
141262306a36Sopenharmony_ci};
141362306a36Sopenharmony_ci
141462306a36Sopenharmony_cistatic struct clk_branch gcc_blsp1_qup1_i2c_apps_clk = {
141562306a36Sopenharmony_ci	.halt_reg = 0x02008,
141662306a36Sopenharmony_ci	.clkr = {
141762306a36Sopenharmony_ci		.enable_reg = 0x02008,
141862306a36Sopenharmony_ci		.enable_mask = BIT(0),
141962306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
142062306a36Sopenharmony_ci			.name = "gcc_blsp1_qup1_i2c_apps_clk",
142162306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
142262306a36Sopenharmony_ci				&blsp1_qup1_i2c_apps_clk_src.clkr.hw,
142362306a36Sopenharmony_ci			},
142462306a36Sopenharmony_ci			.num_parents = 1,
142562306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
142662306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
142762306a36Sopenharmony_ci		},
142862306a36Sopenharmony_ci	},
142962306a36Sopenharmony_ci};
143062306a36Sopenharmony_ci
143162306a36Sopenharmony_cistatic struct clk_branch gcc_blsp1_qup1_spi_apps_clk = {
143262306a36Sopenharmony_ci	.halt_reg = 0x02004,
143362306a36Sopenharmony_ci	.clkr = {
143462306a36Sopenharmony_ci		.enable_reg = 0x02004,
143562306a36Sopenharmony_ci		.enable_mask = BIT(0),
143662306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
143762306a36Sopenharmony_ci			.name = "gcc_blsp1_qup1_spi_apps_clk",
143862306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
143962306a36Sopenharmony_ci				&blsp1_qup1_spi_apps_clk_src.clkr.hw,
144062306a36Sopenharmony_ci			},
144162306a36Sopenharmony_ci			.num_parents = 1,
144262306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
144362306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
144462306a36Sopenharmony_ci		},
144562306a36Sopenharmony_ci	},
144662306a36Sopenharmony_ci};
144762306a36Sopenharmony_ci
144862306a36Sopenharmony_cistatic struct clk_branch gcc_blsp1_qup2_i2c_apps_clk = {
144962306a36Sopenharmony_ci	.halt_reg = 0x03010,
145062306a36Sopenharmony_ci	.clkr = {
145162306a36Sopenharmony_ci		.enable_reg = 0x03010,
145262306a36Sopenharmony_ci		.enable_mask = BIT(0),
145362306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
145462306a36Sopenharmony_ci			.name = "gcc_blsp1_qup2_i2c_apps_clk",
145562306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
145662306a36Sopenharmony_ci				&blsp1_qup2_i2c_apps_clk_src.clkr.hw,
145762306a36Sopenharmony_ci			},
145862306a36Sopenharmony_ci			.num_parents = 1,
145962306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
146062306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
146162306a36Sopenharmony_ci		},
146262306a36Sopenharmony_ci	},
146362306a36Sopenharmony_ci};
146462306a36Sopenharmony_ci
146562306a36Sopenharmony_cistatic struct clk_branch gcc_blsp1_qup2_spi_apps_clk = {
146662306a36Sopenharmony_ci	.halt_reg = 0x0300c,
146762306a36Sopenharmony_ci	.clkr = {
146862306a36Sopenharmony_ci		.enable_reg = 0x0300c,
146962306a36Sopenharmony_ci		.enable_mask = BIT(0),
147062306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
147162306a36Sopenharmony_ci			.name = "gcc_blsp1_qup2_spi_apps_clk",
147262306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
147362306a36Sopenharmony_ci				&blsp1_qup2_spi_apps_clk_src.clkr.hw,
147462306a36Sopenharmony_ci			},
147562306a36Sopenharmony_ci			.num_parents = 1,
147662306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
147762306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
147862306a36Sopenharmony_ci		},
147962306a36Sopenharmony_ci	},
148062306a36Sopenharmony_ci};
148162306a36Sopenharmony_ci
148262306a36Sopenharmony_cistatic struct clk_branch gcc_blsp1_qup3_i2c_apps_clk = {
148362306a36Sopenharmony_ci	.halt_reg = 0x04010,
148462306a36Sopenharmony_ci	.clkr = {
148562306a36Sopenharmony_ci		.enable_reg = 0x04010,
148662306a36Sopenharmony_ci		.enable_mask = BIT(0),
148762306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
148862306a36Sopenharmony_ci			.name = "gcc_blsp1_qup3_i2c_apps_clk",
148962306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
149062306a36Sopenharmony_ci				&blsp1_qup3_i2c_apps_clk_src.clkr.hw,
149162306a36Sopenharmony_ci			},
149262306a36Sopenharmony_ci			.num_parents = 1,
149362306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
149462306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
149562306a36Sopenharmony_ci		},
149662306a36Sopenharmony_ci	},
149762306a36Sopenharmony_ci};
149862306a36Sopenharmony_ci
149962306a36Sopenharmony_cistatic struct clk_branch gcc_blsp1_qup3_spi_apps_clk = {
150062306a36Sopenharmony_ci	.halt_reg = 0x0400c,
150162306a36Sopenharmony_ci	.clkr = {
150262306a36Sopenharmony_ci		.enable_reg = 0x0400c,
150362306a36Sopenharmony_ci		.enable_mask = BIT(0),
150462306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
150562306a36Sopenharmony_ci			.name = "gcc_blsp1_qup3_spi_apps_clk",
150662306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
150762306a36Sopenharmony_ci				&blsp1_qup3_spi_apps_clk_src.clkr.hw,
150862306a36Sopenharmony_ci			},
150962306a36Sopenharmony_ci			.num_parents = 1,
151062306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
151162306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
151262306a36Sopenharmony_ci		},
151362306a36Sopenharmony_ci	},
151462306a36Sopenharmony_ci};
151562306a36Sopenharmony_ci
151662306a36Sopenharmony_cistatic struct clk_branch gcc_blsp1_uart1_apps_clk = {
151762306a36Sopenharmony_ci	.halt_reg = 0x0203c,
151862306a36Sopenharmony_ci	.clkr = {
151962306a36Sopenharmony_ci		.enable_reg = 0x0203c,
152062306a36Sopenharmony_ci		.enable_mask = BIT(0),
152162306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
152262306a36Sopenharmony_ci			.name = "gcc_blsp1_uart1_apps_clk",
152362306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
152462306a36Sopenharmony_ci				&blsp1_uart1_apps_clk_src.clkr.hw,
152562306a36Sopenharmony_ci			},
152662306a36Sopenharmony_ci			.num_parents = 1,
152762306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
152862306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
152962306a36Sopenharmony_ci		},
153062306a36Sopenharmony_ci	},
153162306a36Sopenharmony_ci};
153262306a36Sopenharmony_ci
153362306a36Sopenharmony_cistatic struct clk_branch gcc_blsp1_uart2_apps_clk = {
153462306a36Sopenharmony_ci	.halt_reg = 0x0302c,
153562306a36Sopenharmony_ci	.clkr = {
153662306a36Sopenharmony_ci		.enable_reg = 0x0302c,
153762306a36Sopenharmony_ci		.enable_mask = BIT(0),
153862306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
153962306a36Sopenharmony_ci			.name = "gcc_blsp1_uart2_apps_clk",
154062306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
154162306a36Sopenharmony_ci				&blsp1_uart2_apps_clk_src.clkr.hw,
154262306a36Sopenharmony_ci			},
154362306a36Sopenharmony_ci			.num_parents = 1,
154462306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
154562306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
154662306a36Sopenharmony_ci		},
154762306a36Sopenharmony_ci	},
154862306a36Sopenharmony_ci};
154962306a36Sopenharmony_ci
155062306a36Sopenharmony_cistatic struct clk_branch gcc_btss_lpo_clk = {
155162306a36Sopenharmony_ci	.halt_reg = 0x1c004,
155262306a36Sopenharmony_ci	.clkr = {
155362306a36Sopenharmony_ci		.enable_reg = 0x1c004,
155462306a36Sopenharmony_ci		.enable_mask = BIT(0),
155562306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
155662306a36Sopenharmony_ci			.name = "gcc_btss_lpo_clk",
155762306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
155862306a36Sopenharmony_ci		},
155962306a36Sopenharmony_ci	},
156062306a36Sopenharmony_ci};
156162306a36Sopenharmony_ci
156262306a36Sopenharmony_cistatic struct clk_branch gcc_cmn_blk_ahb_clk = {
156362306a36Sopenharmony_ci	.halt_reg = 0x56308,
156462306a36Sopenharmony_ci	.clkr = {
156562306a36Sopenharmony_ci		.enable_reg = 0x56308,
156662306a36Sopenharmony_ci		.enable_mask = BIT(0),
156762306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
156862306a36Sopenharmony_ci			.name = "gcc_cmn_blk_ahb_clk",
156962306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
157062306a36Sopenharmony_ci				&pcnoc_clk_src.hw,
157162306a36Sopenharmony_ci			},
157262306a36Sopenharmony_ci			.num_parents = 1,
157362306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
157462306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
157562306a36Sopenharmony_ci		},
157662306a36Sopenharmony_ci	},
157762306a36Sopenharmony_ci};
157862306a36Sopenharmony_ci
157962306a36Sopenharmony_cistatic struct clk_branch gcc_cmn_blk_sys_clk = {
158062306a36Sopenharmony_ci	.halt_reg = 0x5630c,
158162306a36Sopenharmony_ci	.clkr = {
158262306a36Sopenharmony_ci		.enable_reg = 0x5630c,
158362306a36Sopenharmony_ci		.enable_mask = BIT(0),
158462306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
158562306a36Sopenharmony_ci			.name = "gcc_cmn_blk_sys_clk",
158662306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
158762306a36Sopenharmony_ci				&gcc_xo_clk_src.clkr.hw,
158862306a36Sopenharmony_ci			},
158962306a36Sopenharmony_ci			.num_parents = 1,
159062306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
159162306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
159262306a36Sopenharmony_ci		},
159362306a36Sopenharmony_ci	},
159462306a36Sopenharmony_ci};
159562306a36Sopenharmony_ci
159662306a36Sopenharmony_cistatic struct clk_branch gcc_crypto_ahb_clk = {
159762306a36Sopenharmony_ci	.halt_reg = 0x16024,
159862306a36Sopenharmony_ci	.halt_check = BRANCH_HALT_VOTED,
159962306a36Sopenharmony_ci	.clkr = {
160062306a36Sopenharmony_ci		.enable_reg = 0x0b004,
160162306a36Sopenharmony_ci		.enable_mask = BIT(0),
160262306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
160362306a36Sopenharmony_ci			.name = "gcc_crypto_ahb_clk",
160462306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
160562306a36Sopenharmony_ci				&pcnoc_clk_src.hw,
160662306a36Sopenharmony_ci			},
160762306a36Sopenharmony_ci			.num_parents = 1,
160862306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
160962306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
161062306a36Sopenharmony_ci		},
161162306a36Sopenharmony_ci	},
161262306a36Sopenharmony_ci};
161362306a36Sopenharmony_ci
161462306a36Sopenharmony_cistatic struct clk_branch gcc_crypto_axi_clk = {
161562306a36Sopenharmony_ci	.halt_reg = 0x16020,
161662306a36Sopenharmony_ci	.halt_check = BRANCH_HALT_VOTED,
161762306a36Sopenharmony_ci	.clkr = {
161862306a36Sopenharmony_ci		.enable_reg = 0x0b004,
161962306a36Sopenharmony_ci		.enable_mask = BIT(1),
162062306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
162162306a36Sopenharmony_ci			.name = "gcc_crypto_axi_clk",
162262306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
162362306a36Sopenharmony_ci				&pcnoc_clk_src.hw,
162462306a36Sopenharmony_ci			},
162562306a36Sopenharmony_ci			.num_parents = 1,
162662306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
162762306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
162862306a36Sopenharmony_ci		},
162962306a36Sopenharmony_ci	},
163062306a36Sopenharmony_ci};
163162306a36Sopenharmony_ci
163262306a36Sopenharmony_cistatic struct clk_branch gcc_crypto_clk = {
163362306a36Sopenharmony_ci	.halt_reg = 0x1601c,
163462306a36Sopenharmony_ci	.halt_check = BRANCH_HALT_VOTED,
163562306a36Sopenharmony_ci	.clkr = {
163662306a36Sopenharmony_ci		.enable_reg = 0x0b004,
163762306a36Sopenharmony_ci		.enable_mask = BIT(2),
163862306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
163962306a36Sopenharmony_ci			.name = "gcc_crypto_clk",
164062306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
164162306a36Sopenharmony_ci				&crypto_clk_src.clkr.hw,
164262306a36Sopenharmony_ci			},
164362306a36Sopenharmony_ci			.num_parents = 1,
164462306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
164562306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
164662306a36Sopenharmony_ci		},
164762306a36Sopenharmony_ci	},
164862306a36Sopenharmony_ci};
164962306a36Sopenharmony_ci
165062306a36Sopenharmony_cistatic struct clk_branch gcc_dcc_clk = {
165162306a36Sopenharmony_ci	.halt_reg = 0x77004,
165262306a36Sopenharmony_ci	.clkr = {
165362306a36Sopenharmony_ci		.enable_reg = 0x77004,
165462306a36Sopenharmony_ci		.enable_mask = BIT(0),
165562306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
165662306a36Sopenharmony_ci			.name = "gcc_dcc_clk",
165762306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
165862306a36Sopenharmony_ci				&pcnoc_clk_src.hw,
165962306a36Sopenharmony_ci			},
166062306a36Sopenharmony_ci			.num_parents = 1,
166162306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
166262306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
166362306a36Sopenharmony_ci		},
166462306a36Sopenharmony_ci	},
166562306a36Sopenharmony_ci};
166662306a36Sopenharmony_ci
166762306a36Sopenharmony_cistatic struct clk_branch gcc_gephy_rx_clk = {
166862306a36Sopenharmony_ci	.halt_reg = 0x56010,
166962306a36Sopenharmony_ci	.halt_check = BRANCH_HALT_DELAY,
167062306a36Sopenharmony_ci	.clkr = {
167162306a36Sopenharmony_ci		.enable_reg = 0x56010,
167262306a36Sopenharmony_ci		.enable_mask = BIT(0),
167362306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
167462306a36Sopenharmony_ci			.name = "gcc_gephy_rx_clk",
167562306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
167662306a36Sopenharmony_ci				&gmac0_rx_div_clk_src.clkr.hw,
167762306a36Sopenharmony_ci			},
167862306a36Sopenharmony_ci			.num_parents = 1,
167962306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
168062306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
168162306a36Sopenharmony_ci		},
168262306a36Sopenharmony_ci	},
168362306a36Sopenharmony_ci};
168462306a36Sopenharmony_ci
168562306a36Sopenharmony_cistatic struct clk_branch gcc_gephy_tx_clk = {
168662306a36Sopenharmony_ci	.halt_reg = 0x56014,
168762306a36Sopenharmony_ci	.halt_check = BRANCH_HALT_DELAY,
168862306a36Sopenharmony_ci	.clkr = {
168962306a36Sopenharmony_ci		.enable_reg = 0x56014,
169062306a36Sopenharmony_ci		.enable_mask = BIT(0),
169162306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
169262306a36Sopenharmony_ci			.name = "gcc_gephy_tx_clk",
169362306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
169462306a36Sopenharmony_ci				&gmac0_tx_div_clk_src.clkr.hw,
169562306a36Sopenharmony_ci			},
169662306a36Sopenharmony_ci			.num_parents = 1,
169762306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
169862306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
169962306a36Sopenharmony_ci		},
170062306a36Sopenharmony_ci	},
170162306a36Sopenharmony_ci};
170262306a36Sopenharmony_ci
170362306a36Sopenharmony_cistatic struct clk_branch gcc_gmac0_cfg_clk = {
170462306a36Sopenharmony_ci	.halt_reg = 0x68304,
170562306a36Sopenharmony_ci	.clkr = {
170662306a36Sopenharmony_ci		.enable_reg = 0x68304,
170762306a36Sopenharmony_ci		.enable_mask = BIT(0),
170862306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
170962306a36Sopenharmony_ci			.name = "gcc_gmac0_cfg_clk",
171062306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
171162306a36Sopenharmony_ci				&gmac_clk_src.clkr.hw,
171262306a36Sopenharmony_ci			},
171362306a36Sopenharmony_ci			.num_parents = 1,
171462306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
171562306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
171662306a36Sopenharmony_ci		},
171762306a36Sopenharmony_ci	},
171862306a36Sopenharmony_ci};
171962306a36Sopenharmony_ci
172062306a36Sopenharmony_cistatic struct clk_branch gcc_gmac0_ptp_clk = {
172162306a36Sopenharmony_ci	.halt_reg = 0x68300,
172262306a36Sopenharmony_ci	.clkr = {
172362306a36Sopenharmony_ci		.enable_reg = 0x68300,
172462306a36Sopenharmony_ci		.enable_mask = BIT(0),
172562306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
172662306a36Sopenharmony_ci			.name = "gcc_gmac0_ptp_clk",
172762306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
172862306a36Sopenharmony_ci				&gmac_clk_src.clkr.hw,
172962306a36Sopenharmony_ci			},
173062306a36Sopenharmony_ci			.num_parents = 1,
173162306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
173262306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
173362306a36Sopenharmony_ci		},
173462306a36Sopenharmony_ci	},
173562306a36Sopenharmony_ci};
173662306a36Sopenharmony_ci
173762306a36Sopenharmony_cistatic struct clk_branch gcc_gmac0_rx_clk = {
173862306a36Sopenharmony_ci	.halt_reg = 0x68240,
173962306a36Sopenharmony_ci	.clkr = {
174062306a36Sopenharmony_ci		.enable_reg = 0x68240,
174162306a36Sopenharmony_ci		.enable_mask = BIT(0),
174262306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
174362306a36Sopenharmony_ci			.name = "gcc_gmac0_rx_clk",
174462306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
174562306a36Sopenharmony_ci				&gmac0_rx_div_clk_src.clkr.hw,
174662306a36Sopenharmony_ci			},
174762306a36Sopenharmony_ci			.num_parents = 1,
174862306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
174962306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
175062306a36Sopenharmony_ci		},
175162306a36Sopenharmony_ci	},
175262306a36Sopenharmony_ci};
175362306a36Sopenharmony_ci
175462306a36Sopenharmony_cistatic struct clk_branch gcc_gmac0_sys_clk = {
175562306a36Sopenharmony_ci	.halt_reg = 0x68190,
175662306a36Sopenharmony_ci	.halt_check = BRANCH_HALT_DELAY,
175762306a36Sopenharmony_ci	.halt_bit = 31,
175862306a36Sopenharmony_ci	.clkr = {
175962306a36Sopenharmony_ci		.enable_reg = 0x68190,
176062306a36Sopenharmony_ci		.enable_mask = BIT(0),
176162306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
176262306a36Sopenharmony_ci			.name = "gcc_gmac0_sys_clk",
176362306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
176462306a36Sopenharmony_ci				&gmac_clk_src.clkr.hw,
176562306a36Sopenharmony_ci			},
176662306a36Sopenharmony_ci			.num_parents = 1,
176762306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
176862306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
176962306a36Sopenharmony_ci		},
177062306a36Sopenharmony_ci	},
177162306a36Sopenharmony_ci};
177262306a36Sopenharmony_ci
177362306a36Sopenharmony_cistatic struct clk_branch gcc_gmac0_tx_clk = {
177462306a36Sopenharmony_ci	.halt_reg = 0x68244,
177562306a36Sopenharmony_ci	.clkr = {
177662306a36Sopenharmony_ci		.enable_reg = 0x68244,
177762306a36Sopenharmony_ci		.enable_mask = BIT(0),
177862306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
177962306a36Sopenharmony_ci			.name = "gcc_gmac0_tx_clk",
178062306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
178162306a36Sopenharmony_ci				&gmac0_tx_div_clk_src.clkr.hw,
178262306a36Sopenharmony_ci			},
178362306a36Sopenharmony_ci			.num_parents = 1,
178462306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
178562306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
178662306a36Sopenharmony_ci		},
178762306a36Sopenharmony_ci	},
178862306a36Sopenharmony_ci};
178962306a36Sopenharmony_ci
179062306a36Sopenharmony_cistatic struct clk_branch gcc_gmac1_cfg_clk = {
179162306a36Sopenharmony_ci	.halt_reg = 0x68324,
179262306a36Sopenharmony_ci	.clkr = {
179362306a36Sopenharmony_ci		.enable_reg = 0x68324,
179462306a36Sopenharmony_ci		.enable_mask = BIT(0),
179562306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
179662306a36Sopenharmony_ci			.name = "gcc_gmac1_cfg_clk",
179762306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
179862306a36Sopenharmony_ci				&gmac_clk_src.clkr.hw,
179962306a36Sopenharmony_ci			},
180062306a36Sopenharmony_ci			.num_parents = 1,
180162306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
180262306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
180362306a36Sopenharmony_ci		},
180462306a36Sopenharmony_ci	},
180562306a36Sopenharmony_ci};
180662306a36Sopenharmony_ci
180762306a36Sopenharmony_cistatic struct clk_branch gcc_gmac1_ptp_clk = {
180862306a36Sopenharmony_ci	.halt_reg = 0x68320,
180962306a36Sopenharmony_ci	.clkr = {
181062306a36Sopenharmony_ci		.enable_reg = 0x68320,
181162306a36Sopenharmony_ci		.enable_mask = BIT(0),
181262306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
181362306a36Sopenharmony_ci			.name = "gcc_gmac1_ptp_clk",
181462306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
181562306a36Sopenharmony_ci				&gmac_clk_src.clkr.hw,
181662306a36Sopenharmony_ci			},
181762306a36Sopenharmony_ci			.num_parents = 1,
181862306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
181962306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
182062306a36Sopenharmony_ci		},
182162306a36Sopenharmony_ci	},
182262306a36Sopenharmony_ci};
182362306a36Sopenharmony_ci
182462306a36Sopenharmony_cistatic struct clk_branch gcc_gmac1_rx_clk = {
182562306a36Sopenharmony_ci	.halt_reg = 0x68248,
182662306a36Sopenharmony_ci	.clkr = {
182762306a36Sopenharmony_ci		.enable_reg = 0x68248,
182862306a36Sopenharmony_ci		.enable_mask = BIT(0),
182962306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
183062306a36Sopenharmony_ci			.name = "gcc_gmac1_rx_clk",
183162306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
183262306a36Sopenharmony_ci				&gmac1_rx_div_clk_src.clkr.hw,
183362306a36Sopenharmony_ci			},
183462306a36Sopenharmony_ci			.num_parents = 1,
183562306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
183662306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
183762306a36Sopenharmony_ci		},
183862306a36Sopenharmony_ci	},
183962306a36Sopenharmony_ci};
184062306a36Sopenharmony_ci
184162306a36Sopenharmony_cistatic struct clk_branch gcc_gmac1_sys_clk = {
184262306a36Sopenharmony_ci	.halt_reg = 0x68310,
184362306a36Sopenharmony_ci	.clkr = {
184462306a36Sopenharmony_ci		.enable_reg = 0x68310,
184562306a36Sopenharmony_ci		.enable_mask = BIT(0),
184662306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
184762306a36Sopenharmony_ci			.name = "gcc_gmac1_sys_clk",
184862306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
184962306a36Sopenharmony_ci				&gmac_clk_src.clkr.hw,
185062306a36Sopenharmony_ci			},
185162306a36Sopenharmony_ci			.num_parents = 1,
185262306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
185362306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
185462306a36Sopenharmony_ci		},
185562306a36Sopenharmony_ci	},
185662306a36Sopenharmony_ci};
185762306a36Sopenharmony_ci
185862306a36Sopenharmony_cistatic struct clk_branch gcc_gmac1_tx_clk = {
185962306a36Sopenharmony_ci	.halt_reg = 0x6824c,
186062306a36Sopenharmony_ci	.clkr = {
186162306a36Sopenharmony_ci		.enable_reg = 0x6824c,
186262306a36Sopenharmony_ci		.enable_mask = BIT(0),
186362306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
186462306a36Sopenharmony_ci			.name = "gcc_gmac1_tx_clk",
186562306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
186662306a36Sopenharmony_ci				&gmac1_tx_div_clk_src.clkr.hw,
186762306a36Sopenharmony_ci			},
186862306a36Sopenharmony_ci			.num_parents = 1,
186962306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
187062306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
187162306a36Sopenharmony_ci		},
187262306a36Sopenharmony_ci	},
187362306a36Sopenharmony_ci};
187462306a36Sopenharmony_ci
187562306a36Sopenharmony_cistatic struct clk_branch gcc_gp1_clk = {
187662306a36Sopenharmony_ci	.halt_reg = 0x08000,
187762306a36Sopenharmony_ci	.clkr = {
187862306a36Sopenharmony_ci		.enable_reg = 0x08000,
187962306a36Sopenharmony_ci		.enable_mask = BIT(0),
188062306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
188162306a36Sopenharmony_ci			.name = "gcc_gp1_clk",
188262306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
188362306a36Sopenharmony_ci				&gp1_clk_src.clkr.hw,
188462306a36Sopenharmony_ci			},
188562306a36Sopenharmony_ci			.num_parents = 1,
188662306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
188762306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
188862306a36Sopenharmony_ci		},
188962306a36Sopenharmony_ci	},
189062306a36Sopenharmony_ci};
189162306a36Sopenharmony_ci
189262306a36Sopenharmony_cistatic struct clk_branch gcc_gp2_clk = {
189362306a36Sopenharmony_ci	.halt_reg = 0x09000,
189462306a36Sopenharmony_ci	.clkr = {
189562306a36Sopenharmony_ci		.enable_reg = 0x09000,
189662306a36Sopenharmony_ci		.enable_mask = BIT(0),
189762306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
189862306a36Sopenharmony_ci			.name = "gcc_gp2_clk",
189962306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
190062306a36Sopenharmony_ci				&gp2_clk_src.clkr.hw,
190162306a36Sopenharmony_ci			},
190262306a36Sopenharmony_ci			.num_parents = 1,
190362306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
190462306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
190562306a36Sopenharmony_ci		},
190662306a36Sopenharmony_ci	},
190762306a36Sopenharmony_ci};
190862306a36Sopenharmony_ci
190962306a36Sopenharmony_cistatic struct clk_branch gcc_gp3_clk = {
191062306a36Sopenharmony_ci	.halt_reg = 0x0a000,
191162306a36Sopenharmony_ci	.clkr = {
191262306a36Sopenharmony_ci		.enable_reg = 0x0a000,
191362306a36Sopenharmony_ci		.enable_mask = BIT(0),
191462306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
191562306a36Sopenharmony_ci			.name = "gcc_gp3_clk",
191662306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
191762306a36Sopenharmony_ci				&gp3_clk_src.clkr.hw,
191862306a36Sopenharmony_ci			},
191962306a36Sopenharmony_ci			.num_parents = 1,
192062306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
192162306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
192262306a36Sopenharmony_ci		},
192362306a36Sopenharmony_ci	},
192462306a36Sopenharmony_ci};
192562306a36Sopenharmony_ci
192662306a36Sopenharmony_cistatic struct clk_branch gcc_lpass_core_axim_clk = {
192762306a36Sopenharmony_ci	.halt_reg = 0x2e048,
192862306a36Sopenharmony_ci	.halt_check = BRANCH_VOTED,
192962306a36Sopenharmony_ci	.clkr = {
193062306a36Sopenharmony_ci		.enable_reg = 0x2e048,
193162306a36Sopenharmony_ci		.enable_mask = BIT(0),
193262306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
193362306a36Sopenharmony_ci			.name = "gcc_lpass_core_axim_clk",
193462306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
193562306a36Sopenharmony_ci				&lpass_axim_clk_src.clkr.hw,
193662306a36Sopenharmony_ci			},
193762306a36Sopenharmony_ci			.num_parents = 1,
193862306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
193962306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
194062306a36Sopenharmony_ci		},
194162306a36Sopenharmony_ci	},
194262306a36Sopenharmony_ci};
194362306a36Sopenharmony_ci
194462306a36Sopenharmony_cistatic struct clk_branch gcc_lpass_sway_clk = {
194562306a36Sopenharmony_ci	.halt_reg = 0x2e04c,
194662306a36Sopenharmony_ci	.clkr = {
194762306a36Sopenharmony_ci		.enable_reg = 0x2e04c,
194862306a36Sopenharmony_ci		.enable_mask = BIT(0),
194962306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
195062306a36Sopenharmony_ci			.name = "gcc_lpass_sway_clk",
195162306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
195262306a36Sopenharmony_ci				&lpass_sway_clk_src.clkr.hw,
195362306a36Sopenharmony_ci			},
195462306a36Sopenharmony_ci			.num_parents = 1,
195562306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
195662306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
195762306a36Sopenharmony_ci		},
195862306a36Sopenharmony_ci	},
195962306a36Sopenharmony_ci};
196062306a36Sopenharmony_ci
196162306a36Sopenharmony_cistatic struct clk_branch gcc_mdio0_ahb_clk = {
196262306a36Sopenharmony_ci	.halt_reg = 0x58004,
196362306a36Sopenharmony_ci	.clkr = {
196462306a36Sopenharmony_ci		.enable_reg = 0x58004,
196562306a36Sopenharmony_ci		.enable_mask = BIT(0),
196662306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
196762306a36Sopenharmony_ci			.name = "gcc_mdioi0_ahb_clk",
196862306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
196962306a36Sopenharmony_ci				&pcnoc_clk_src.hw,
197062306a36Sopenharmony_ci			},
197162306a36Sopenharmony_ci			.num_parents = 1,
197262306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
197362306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
197462306a36Sopenharmony_ci		},
197562306a36Sopenharmony_ci	},
197662306a36Sopenharmony_ci};
197762306a36Sopenharmony_ci
197862306a36Sopenharmony_cistatic struct clk_branch gcc_mdio1_ahb_clk = {
197962306a36Sopenharmony_ci	.halt_reg = 0x58014,
198062306a36Sopenharmony_ci	.clkr = {
198162306a36Sopenharmony_ci		.enable_reg = 0x58014,
198262306a36Sopenharmony_ci		.enable_mask = BIT(0),
198362306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
198462306a36Sopenharmony_ci			.name = "gcc_mdio1_ahb_clk",
198562306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
198662306a36Sopenharmony_ci				&pcnoc_clk_src.hw,
198762306a36Sopenharmony_ci			},
198862306a36Sopenharmony_ci			.num_parents = 1,
198962306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
199062306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
199162306a36Sopenharmony_ci		},
199262306a36Sopenharmony_ci	},
199362306a36Sopenharmony_ci};
199462306a36Sopenharmony_ci
199562306a36Sopenharmony_cistatic struct clk_branch gcc_pcie0_ahb_clk = {
199662306a36Sopenharmony_ci	.halt_reg = 0x75010,
199762306a36Sopenharmony_ci	.clkr = {
199862306a36Sopenharmony_ci		.enable_reg = 0x75010,
199962306a36Sopenharmony_ci		.enable_mask = BIT(0),
200062306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
200162306a36Sopenharmony_ci			.name = "gcc_pcie0_ahb_clk",
200262306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
200362306a36Sopenharmony_ci				&pcnoc_clk_src.hw,
200462306a36Sopenharmony_ci			},
200562306a36Sopenharmony_ci			.num_parents = 1,
200662306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
200762306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
200862306a36Sopenharmony_ci		},
200962306a36Sopenharmony_ci	},
201062306a36Sopenharmony_ci};
201162306a36Sopenharmony_ci
201262306a36Sopenharmony_cistatic struct clk_branch gcc_pcie0_aux_clk = {
201362306a36Sopenharmony_ci	.halt_reg = 0x75014,
201462306a36Sopenharmony_ci	.clkr = {
201562306a36Sopenharmony_ci		.enable_reg = 0x75014,
201662306a36Sopenharmony_ci		.enable_mask = BIT(0),
201762306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
201862306a36Sopenharmony_ci			.name = "gcc_pcie0_aux_clk",
201962306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
202062306a36Sopenharmony_ci				&pcie0_aux_clk_src.clkr.hw,
202162306a36Sopenharmony_ci			},
202262306a36Sopenharmony_ci			.num_parents = 1,
202362306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
202462306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
202562306a36Sopenharmony_ci		},
202662306a36Sopenharmony_ci	},
202762306a36Sopenharmony_ci};
202862306a36Sopenharmony_ci
202962306a36Sopenharmony_cistatic struct clk_branch gcc_pcie0_axi_m_clk = {
203062306a36Sopenharmony_ci	.halt_reg = 0x75008,
203162306a36Sopenharmony_ci	.clkr = {
203262306a36Sopenharmony_ci		.enable_reg = 0x75008,
203362306a36Sopenharmony_ci		.enable_mask = BIT(0),
203462306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
203562306a36Sopenharmony_ci			.name = "gcc_pcie0_axi_m_clk",
203662306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
203762306a36Sopenharmony_ci				&pcie0_axi_clk_src.clkr.hw,
203862306a36Sopenharmony_ci			},
203962306a36Sopenharmony_ci			.num_parents = 1,
204062306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
204162306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
204262306a36Sopenharmony_ci		},
204362306a36Sopenharmony_ci	},
204462306a36Sopenharmony_ci};
204562306a36Sopenharmony_ci
204662306a36Sopenharmony_cistatic struct clk_branch gcc_pcie0_axi_s_bridge_clk = {
204762306a36Sopenharmony_ci	.halt_reg = 0x75048,
204862306a36Sopenharmony_ci	.clkr = {
204962306a36Sopenharmony_ci		.enable_reg = 0x75048,
205062306a36Sopenharmony_ci		.enable_mask = BIT(0),
205162306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
205262306a36Sopenharmony_ci			.name = "gcc_pcie0_axi_s_bridge_clk",
205362306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
205462306a36Sopenharmony_ci				&pcie0_axi_clk_src.clkr.hw,
205562306a36Sopenharmony_ci			},
205662306a36Sopenharmony_ci			.num_parents = 1,
205762306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
205862306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
205962306a36Sopenharmony_ci		},
206062306a36Sopenharmony_ci	},
206162306a36Sopenharmony_ci};
206262306a36Sopenharmony_ci
206362306a36Sopenharmony_cistatic struct clk_branch gcc_pcie0_axi_s_clk = {
206462306a36Sopenharmony_ci	.halt_reg = 0x7500c,
206562306a36Sopenharmony_ci	.clkr = {
206662306a36Sopenharmony_ci		.enable_reg = 0x7500c,
206762306a36Sopenharmony_ci		.enable_mask = BIT(0),
206862306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
206962306a36Sopenharmony_ci			.name = "gcc_pcie0_axi_s_clk",
207062306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
207162306a36Sopenharmony_ci				&pcie0_axi_clk_src.clkr.hw,
207262306a36Sopenharmony_ci			},
207362306a36Sopenharmony_ci			.num_parents = 1,
207462306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
207562306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
207662306a36Sopenharmony_ci		},
207762306a36Sopenharmony_ci	},
207862306a36Sopenharmony_ci};
207962306a36Sopenharmony_ci
208062306a36Sopenharmony_cistatic struct clk_branch gcc_pcie0_pipe_clk = {
208162306a36Sopenharmony_ci	.halt_reg = 0x75018,
208262306a36Sopenharmony_ci	.halt_check = BRANCH_HALT_DELAY,
208362306a36Sopenharmony_ci	.halt_bit = 31,
208462306a36Sopenharmony_ci	.clkr = {
208562306a36Sopenharmony_ci		.enable_reg = 0x75018,
208662306a36Sopenharmony_ci		.enable_mask = BIT(0),
208762306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
208862306a36Sopenharmony_ci			.name = "gcc_pcie0_pipe_clk",
208962306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
209062306a36Sopenharmony_ci				&pcie0_pipe_clk_src.clkr.hw,
209162306a36Sopenharmony_ci			},
209262306a36Sopenharmony_ci			.num_parents = 1,
209362306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
209462306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
209562306a36Sopenharmony_ci		},
209662306a36Sopenharmony_ci	},
209762306a36Sopenharmony_ci};
209862306a36Sopenharmony_ci
209962306a36Sopenharmony_cistatic struct clk_branch gcc_pcie1_ahb_clk = {
210062306a36Sopenharmony_ci	.halt_reg = 0x76010,
210162306a36Sopenharmony_ci	.clkr = {
210262306a36Sopenharmony_ci		.enable_reg = 0x76010,
210362306a36Sopenharmony_ci		.enable_mask = BIT(0),
210462306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
210562306a36Sopenharmony_ci			.name = "gcc_pcie1_ahb_clk",
210662306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
210762306a36Sopenharmony_ci				&pcnoc_clk_src.hw,
210862306a36Sopenharmony_ci			},
210962306a36Sopenharmony_ci			.num_parents = 1,
211062306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
211162306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
211262306a36Sopenharmony_ci		},
211362306a36Sopenharmony_ci	},
211462306a36Sopenharmony_ci};
211562306a36Sopenharmony_ci
211662306a36Sopenharmony_cistatic struct clk_branch gcc_pcie1_aux_clk = {
211762306a36Sopenharmony_ci	.halt_reg = 0x76014,
211862306a36Sopenharmony_ci	.clkr = {
211962306a36Sopenharmony_ci		.enable_reg = 0x76014,
212062306a36Sopenharmony_ci		.enable_mask = BIT(0),
212162306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
212262306a36Sopenharmony_ci			.name = "gcc_pcie1_aux_clk",
212362306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
212462306a36Sopenharmony_ci				&pcie1_aux_clk_src.clkr.hw,
212562306a36Sopenharmony_ci			},
212662306a36Sopenharmony_ci			.num_parents = 1,
212762306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
212862306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
212962306a36Sopenharmony_ci		},
213062306a36Sopenharmony_ci	},
213162306a36Sopenharmony_ci};
213262306a36Sopenharmony_ci
213362306a36Sopenharmony_cistatic struct clk_branch gcc_pcie1_axi_m_clk = {
213462306a36Sopenharmony_ci	.halt_reg = 0x76008,
213562306a36Sopenharmony_ci	.clkr = {
213662306a36Sopenharmony_ci		.enable_reg = 0x76008,
213762306a36Sopenharmony_ci		.enable_mask = BIT(0),
213862306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
213962306a36Sopenharmony_ci			.name = "gcc_pcie1_axi_m_clk",
214062306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
214162306a36Sopenharmony_ci				&pcie1_axi_clk_src.clkr.hw,
214262306a36Sopenharmony_ci			},
214362306a36Sopenharmony_ci			.num_parents = 1,
214462306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
214562306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
214662306a36Sopenharmony_ci		},
214762306a36Sopenharmony_ci	},
214862306a36Sopenharmony_ci};
214962306a36Sopenharmony_ci
215062306a36Sopenharmony_cistatic struct clk_branch gcc_pcie1_axi_s_bridge_clk = {
215162306a36Sopenharmony_ci	.halt_reg = 0x76048,
215262306a36Sopenharmony_ci	.clkr = {
215362306a36Sopenharmony_ci		.enable_reg = 0x76048,
215462306a36Sopenharmony_ci		.enable_mask = BIT(0),
215562306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
215662306a36Sopenharmony_ci			.name = "gcc_pcie1_axi_s_bridge_clk",
215762306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
215862306a36Sopenharmony_ci				&pcie1_axi_clk_src.clkr.hw,
215962306a36Sopenharmony_ci			},
216062306a36Sopenharmony_ci			.num_parents = 1,
216162306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
216262306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
216362306a36Sopenharmony_ci		},
216462306a36Sopenharmony_ci	},
216562306a36Sopenharmony_ci};
216662306a36Sopenharmony_ci
216762306a36Sopenharmony_cistatic struct clk_branch gcc_pcie1_axi_s_clk = {
216862306a36Sopenharmony_ci	.halt_reg = 0x7600c,
216962306a36Sopenharmony_ci	.clkr = {
217062306a36Sopenharmony_ci		.enable_reg = 0x7600c,
217162306a36Sopenharmony_ci		.enable_mask = BIT(0),
217262306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
217362306a36Sopenharmony_ci			.name = "gcc_pcie1_axi_s_clk",
217462306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
217562306a36Sopenharmony_ci				&pcie1_axi_clk_src.clkr.hw,
217662306a36Sopenharmony_ci			},
217762306a36Sopenharmony_ci			.num_parents = 1,
217862306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
217962306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
218062306a36Sopenharmony_ci		},
218162306a36Sopenharmony_ci	},
218262306a36Sopenharmony_ci};
218362306a36Sopenharmony_ci
218462306a36Sopenharmony_cistatic struct clk_branch gcc_pcie1_pipe_clk = {
218562306a36Sopenharmony_ci	.halt_reg = 0x76018,
218662306a36Sopenharmony_ci	.halt_check = BRANCH_HALT_DELAY,
218762306a36Sopenharmony_ci	.halt_bit = 31,
218862306a36Sopenharmony_ci	.clkr = {
218962306a36Sopenharmony_ci		.enable_reg = 0x76018,
219062306a36Sopenharmony_ci		.enable_mask = BIT(0),
219162306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
219262306a36Sopenharmony_ci			.name = "gcc_pcie1_pipe_clk",
219362306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
219462306a36Sopenharmony_ci				&pcie1_pipe_clk_src.clkr.hw,
219562306a36Sopenharmony_ci			},
219662306a36Sopenharmony_ci			.num_parents = 1,
219762306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
219862306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
219962306a36Sopenharmony_ci		},
220062306a36Sopenharmony_ci	},
220162306a36Sopenharmony_ci};
220262306a36Sopenharmony_ci
220362306a36Sopenharmony_cistatic struct clk_branch gcc_prng_ahb_clk = {
220462306a36Sopenharmony_ci	.halt_reg = 0x13004,
220562306a36Sopenharmony_ci	.halt_check = BRANCH_HALT_VOTED,
220662306a36Sopenharmony_ci	.clkr = {
220762306a36Sopenharmony_ci		.enable_reg = 0x0b004,
220862306a36Sopenharmony_ci		.enable_mask = BIT(8),
220962306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
221062306a36Sopenharmony_ci			.name = "gcc_prng_ahb_clk",
221162306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
221262306a36Sopenharmony_ci				&pcnoc_clk_src.hw,
221362306a36Sopenharmony_ci			},
221462306a36Sopenharmony_ci			.num_parents = 1,
221562306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
221662306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
221762306a36Sopenharmony_ci		},
221862306a36Sopenharmony_ci	},
221962306a36Sopenharmony_ci};
222062306a36Sopenharmony_ci
222162306a36Sopenharmony_cistatic struct clk_branch gcc_q6_ahb_clk = {
222262306a36Sopenharmony_ci	.halt_reg = 0x59138,
222362306a36Sopenharmony_ci	.clkr = {
222462306a36Sopenharmony_ci		.enable_reg = 0x59138,
222562306a36Sopenharmony_ci		.enable_mask = BIT(0),
222662306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
222762306a36Sopenharmony_ci			.name = "gcc_q6_ahb_clk",
222862306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
222962306a36Sopenharmony_ci				&wcss_ahb_clk_src.clkr.hw,
223062306a36Sopenharmony_ci			},
223162306a36Sopenharmony_ci			.num_parents = 1,
223262306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
223362306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
223462306a36Sopenharmony_ci		},
223562306a36Sopenharmony_ci	},
223662306a36Sopenharmony_ci};
223762306a36Sopenharmony_ci
223862306a36Sopenharmony_cistatic struct clk_branch gcc_q6_ahb_s_clk = {
223962306a36Sopenharmony_ci	.halt_reg = 0x5914c,
224062306a36Sopenharmony_ci	.clkr = {
224162306a36Sopenharmony_ci		.enable_reg = 0x5914c,
224262306a36Sopenharmony_ci		.enable_mask = BIT(0),
224362306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
224462306a36Sopenharmony_ci			.name = "gcc_q6_ahb_s_clk",
224562306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
224662306a36Sopenharmony_ci				&wcss_ahb_clk_src.clkr.hw,
224762306a36Sopenharmony_ci			},
224862306a36Sopenharmony_ci			.num_parents = 1,
224962306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
225062306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
225162306a36Sopenharmony_ci		},
225262306a36Sopenharmony_ci	},
225362306a36Sopenharmony_ci};
225462306a36Sopenharmony_ci
225562306a36Sopenharmony_cistatic struct clk_branch gcc_q6_axim_clk = {
225662306a36Sopenharmony_ci	.halt_reg = 0x5913c,
225762306a36Sopenharmony_ci	.clkr = {
225862306a36Sopenharmony_ci		.enable_reg = 0x5913c,
225962306a36Sopenharmony_ci		.enable_mask = BIT(0),
226062306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
226162306a36Sopenharmony_ci			.name = "gcc_q6_axim_clk",
226262306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
226362306a36Sopenharmony_ci				&q6_axi_clk_src.clkr.hw,
226462306a36Sopenharmony_ci			},
226562306a36Sopenharmony_ci			.num_parents = 1,
226662306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
226762306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
226862306a36Sopenharmony_ci		},
226962306a36Sopenharmony_ci	},
227062306a36Sopenharmony_ci};
227162306a36Sopenharmony_ci
227262306a36Sopenharmony_cistatic struct clk_branch gcc_q6_axim2_clk = {
227362306a36Sopenharmony_ci	.halt_reg = 0x59150,
227462306a36Sopenharmony_ci	.clkr = {
227562306a36Sopenharmony_ci		.enable_reg = 0x59150,
227662306a36Sopenharmony_ci		.enable_mask = BIT(0),
227762306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
227862306a36Sopenharmony_ci			.name = "gcc_q6_axim2_clk",
227962306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
228062306a36Sopenharmony_ci				&q6_axi_clk_src.clkr.hw,
228162306a36Sopenharmony_ci			},
228262306a36Sopenharmony_ci			.num_parents = 1,
228362306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
228462306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
228562306a36Sopenharmony_ci		},
228662306a36Sopenharmony_ci	},
228762306a36Sopenharmony_ci};
228862306a36Sopenharmony_ci
228962306a36Sopenharmony_cistatic struct clk_branch gcc_q6_axis_clk = {
229062306a36Sopenharmony_ci	.halt_reg = 0x59154,
229162306a36Sopenharmony_ci	.clkr = {
229262306a36Sopenharmony_ci		.enable_reg = 0x59154,
229362306a36Sopenharmony_ci		.enable_mask = BIT(0),
229462306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
229562306a36Sopenharmony_ci			.name = "gcc_q6_axis_clk",
229662306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
229762306a36Sopenharmony_ci				&system_noc_clk_src.hw,
229862306a36Sopenharmony_ci			},
229962306a36Sopenharmony_ci			.num_parents = 1,
230062306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
230162306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
230262306a36Sopenharmony_ci		},
230362306a36Sopenharmony_ci	},
230462306a36Sopenharmony_ci};
230562306a36Sopenharmony_ci
230662306a36Sopenharmony_cistatic struct clk_branch gcc_q6_tsctr_1to2_clk = {
230762306a36Sopenharmony_ci	.halt_reg = 0x59148,
230862306a36Sopenharmony_ci	.clkr = {
230962306a36Sopenharmony_ci		.enable_reg = 0x59148,
231062306a36Sopenharmony_ci		.enable_mask = BIT(0),
231162306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
231262306a36Sopenharmony_ci			.name = "gcc_q6_tsctr_1to2_clk",
231362306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
231462306a36Sopenharmony_ci				&qdss_tsctr_div2_clk_src.hw,
231562306a36Sopenharmony_ci			},
231662306a36Sopenharmony_ci			.num_parents = 1,
231762306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
231862306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
231962306a36Sopenharmony_ci		},
232062306a36Sopenharmony_ci	},
232162306a36Sopenharmony_ci};
232262306a36Sopenharmony_ci
232362306a36Sopenharmony_cistatic struct clk_branch gcc_q6ss_atbm_clk = {
232462306a36Sopenharmony_ci	.halt_reg = 0x59144,
232562306a36Sopenharmony_ci	.clkr = {
232662306a36Sopenharmony_ci		.enable_reg = 0x59144,
232762306a36Sopenharmony_ci		.enable_mask = BIT(0),
232862306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
232962306a36Sopenharmony_ci			.name = "gcc_q6ss_atbm_clk",
233062306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
233162306a36Sopenharmony_ci				&qdss_at_clk_src.clkr.hw,
233262306a36Sopenharmony_ci			},
233362306a36Sopenharmony_ci			.num_parents = 1,
233462306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
233562306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
233662306a36Sopenharmony_ci		},
233762306a36Sopenharmony_ci	},
233862306a36Sopenharmony_ci};
233962306a36Sopenharmony_ci
234062306a36Sopenharmony_cistatic struct clk_branch gcc_q6ss_pclkdbg_clk = {
234162306a36Sopenharmony_ci	.halt_reg = 0x59140,
234262306a36Sopenharmony_ci	.clkr = {
234362306a36Sopenharmony_ci		.enable_reg = 0x59140,
234462306a36Sopenharmony_ci		.enable_mask = BIT(0),
234562306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
234662306a36Sopenharmony_ci			.name = "gcc_q6ss_pclkdbg_clk",
234762306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
234862306a36Sopenharmony_ci				&qdss_dap_sync_clk_src.hw,
234962306a36Sopenharmony_ci			},
235062306a36Sopenharmony_ci			.num_parents = 1,
235162306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
235262306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
235362306a36Sopenharmony_ci		},
235462306a36Sopenharmony_ci	},
235562306a36Sopenharmony_ci};
235662306a36Sopenharmony_ci
235762306a36Sopenharmony_cistatic struct clk_branch gcc_q6ss_trig_clk = {
235862306a36Sopenharmony_ci	.halt_reg = 0x59128,
235962306a36Sopenharmony_ci	.clkr = {
236062306a36Sopenharmony_ci		.enable_reg = 0x59128,
236162306a36Sopenharmony_ci		.enable_mask = BIT(0),
236262306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
236362306a36Sopenharmony_ci			.name = "gcc_q6ss_trig_clk",
236462306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
236562306a36Sopenharmony_ci				&qdss_dap_sync_clk_src.hw,
236662306a36Sopenharmony_ci			},
236762306a36Sopenharmony_ci			.num_parents = 1,
236862306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
236962306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
237062306a36Sopenharmony_ci		},
237162306a36Sopenharmony_ci	},
237262306a36Sopenharmony_ci};
237362306a36Sopenharmony_ci
237462306a36Sopenharmony_cistatic struct clk_branch gcc_qdss_at_clk = {
237562306a36Sopenharmony_ci	.halt_reg = 0x29024,
237662306a36Sopenharmony_ci	.clkr = {
237762306a36Sopenharmony_ci		.enable_reg = 0x29024,
237862306a36Sopenharmony_ci		.enable_mask = BIT(0),
237962306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
238062306a36Sopenharmony_ci			.name = "gcc_qdss_at_clk",
238162306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
238262306a36Sopenharmony_ci				&qdss_at_clk_src.clkr.hw,
238362306a36Sopenharmony_ci			},
238462306a36Sopenharmony_ci			.num_parents = 1,
238562306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
238662306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
238762306a36Sopenharmony_ci		},
238862306a36Sopenharmony_ci	},
238962306a36Sopenharmony_ci};
239062306a36Sopenharmony_ci
239162306a36Sopenharmony_cistatic struct clk_branch gcc_qdss_dap_clk = {
239262306a36Sopenharmony_ci	.halt_reg = 0x29084,
239362306a36Sopenharmony_ci	.clkr = {
239462306a36Sopenharmony_ci		.enable_reg = 0x29084,
239562306a36Sopenharmony_ci		.enable_mask = BIT(0),
239662306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
239762306a36Sopenharmony_ci			.name = "gcc_qdss_dap_clk",
239862306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
239962306a36Sopenharmony_ci				&qdss_tsctr_clk_src.clkr.hw,
240062306a36Sopenharmony_ci			},
240162306a36Sopenharmony_ci			.num_parents = 1,
240262306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
240362306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
240462306a36Sopenharmony_ci		},
240562306a36Sopenharmony_ci	},
240662306a36Sopenharmony_ci};
240762306a36Sopenharmony_ci
240862306a36Sopenharmony_cistatic struct clk_branch gcc_qdss_cfg_ahb_clk = {
240962306a36Sopenharmony_ci	.halt_reg = 0x29008,
241062306a36Sopenharmony_ci	.clkr = {
241162306a36Sopenharmony_ci		.enable_reg = 0x29008,
241262306a36Sopenharmony_ci		.enable_mask = BIT(0),
241362306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
241462306a36Sopenharmony_ci			.name = "gcc_qdss_cfg_ahb_clk",
241562306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
241662306a36Sopenharmony_ci				&pcnoc_clk_src.hw,
241762306a36Sopenharmony_ci			},
241862306a36Sopenharmony_ci			.num_parents = 1,
241962306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
242062306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
242162306a36Sopenharmony_ci		},
242262306a36Sopenharmony_ci	},
242362306a36Sopenharmony_ci};
242462306a36Sopenharmony_ci
242562306a36Sopenharmony_cistatic struct clk_branch gcc_qdss_dap_ahb_clk = {
242662306a36Sopenharmony_ci	.halt_reg = 0x29004,
242762306a36Sopenharmony_ci	.clkr = {
242862306a36Sopenharmony_ci		.enable_reg = 0x29004,
242962306a36Sopenharmony_ci		.enable_mask = BIT(0),
243062306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
243162306a36Sopenharmony_ci			.name = "gcc_qdss_dap_ahb_clk",
243262306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
243362306a36Sopenharmony_ci				&pcnoc_clk_src.hw,
243462306a36Sopenharmony_ci			},
243562306a36Sopenharmony_ci			.num_parents = 1,
243662306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
243762306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
243862306a36Sopenharmony_ci		},
243962306a36Sopenharmony_ci	},
244062306a36Sopenharmony_ci};
244162306a36Sopenharmony_ci
244262306a36Sopenharmony_cistatic struct clk_branch gcc_qdss_etr_usb_clk = {
244362306a36Sopenharmony_ci	.halt_reg = 0x29028,
244462306a36Sopenharmony_ci	.clkr = {
244562306a36Sopenharmony_ci		.enable_reg = 0x29028,
244662306a36Sopenharmony_ci		.enable_mask = BIT(0),
244762306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
244862306a36Sopenharmony_ci			.name = "gcc_qdss_etr_usb_clk",
244962306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
245062306a36Sopenharmony_ci				&system_noc_clk_src.hw,
245162306a36Sopenharmony_ci			},
245262306a36Sopenharmony_ci			.num_parents = 1,
245362306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
245462306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
245562306a36Sopenharmony_ci		},
245662306a36Sopenharmony_ci	},
245762306a36Sopenharmony_ci};
245862306a36Sopenharmony_ci
245962306a36Sopenharmony_cistatic struct clk_branch gcc_qdss_eud_at_clk = {
246062306a36Sopenharmony_ci	.halt_reg = 0x29020,
246162306a36Sopenharmony_ci	.clkr = {
246262306a36Sopenharmony_ci		.enable_reg = 0x29020,
246362306a36Sopenharmony_ci		.enable_mask = BIT(0),
246462306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
246562306a36Sopenharmony_ci			.name = "gcc_qdss_eud_at_clk",
246662306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
246762306a36Sopenharmony_ci				&eud_at_clk_src.hw,
246862306a36Sopenharmony_ci			},
246962306a36Sopenharmony_ci			.num_parents = 1,
247062306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
247162306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
247262306a36Sopenharmony_ci		},
247362306a36Sopenharmony_ci	},
247462306a36Sopenharmony_ci};
247562306a36Sopenharmony_ci
247662306a36Sopenharmony_cistatic struct clk_branch gcc_qdss_stm_clk = {
247762306a36Sopenharmony_ci	.halt_reg = 0x29044,
247862306a36Sopenharmony_ci	.clkr = {
247962306a36Sopenharmony_ci		.enable_reg = 0x29044,
248062306a36Sopenharmony_ci		.enable_mask = BIT(0),
248162306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
248262306a36Sopenharmony_ci			.name = "gcc_qdss_stm_clk",
248362306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
248462306a36Sopenharmony_ci				&qdss_stm_clk_src.clkr.hw,
248562306a36Sopenharmony_ci			},
248662306a36Sopenharmony_ci			.num_parents = 1,
248762306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
248862306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
248962306a36Sopenharmony_ci		},
249062306a36Sopenharmony_ci	},
249162306a36Sopenharmony_ci};
249262306a36Sopenharmony_ci
249362306a36Sopenharmony_cistatic struct clk_branch gcc_qdss_traceclkin_clk = {
249462306a36Sopenharmony_ci	.halt_reg = 0x29060,
249562306a36Sopenharmony_ci	.clkr = {
249662306a36Sopenharmony_ci		.enable_reg = 0x29060,
249762306a36Sopenharmony_ci		.enable_mask = BIT(0),
249862306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
249962306a36Sopenharmony_ci			.name = "gcc_qdss_traceclkin_clk",
250062306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
250162306a36Sopenharmony_ci				&qdss_traceclkin_clk_src.clkr.hw,
250262306a36Sopenharmony_ci			},
250362306a36Sopenharmony_ci			.num_parents = 1,
250462306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
250562306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
250662306a36Sopenharmony_ci		},
250762306a36Sopenharmony_ci	},
250862306a36Sopenharmony_ci};
250962306a36Sopenharmony_ci
251062306a36Sopenharmony_cistatic struct clk_branch gcc_qdss_tsctr_div8_clk = {
251162306a36Sopenharmony_ci	.halt_reg = 0x2908c,
251262306a36Sopenharmony_ci	.clkr = {
251362306a36Sopenharmony_ci		.enable_reg = 0x2908c,
251462306a36Sopenharmony_ci		.enable_mask = BIT(0),
251562306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
251662306a36Sopenharmony_ci			.name = "gcc_qdss_tsctr_div8_clk",
251762306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
251862306a36Sopenharmony_ci				&qdss_tsctr_clk_src.clkr.hw,
251962306a36Sopenharmony_ci			},
252062306a36Sopenharmony_ci			.num_parents = 1,
252162306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
252262306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
252362306a36Sopenharmony_ci		},
252462306a36Sopenharmony_ci	},
252562306a36Sopenharmony_ci};
252662306a36Sopenharmony_ci
252762306a36Sopenharmony_cistatic struct clk_branch gcc_qpic_ahb_clk = {
252862306a36Sopenharmony_ci	.halt_reg = 0x57024,
252962306a36Sopenharmony_ci	.clkr = {
253062306a36Sopenharmony_ci		.enable_reg = 0x57024,
253162306a36Sopenharmony_ci		.enable_mask = BIT(0),
253262306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
253362306a36Sopenharmony_ci			.name = "gcc_qpic_ahb_clk",
253462306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
253562306a36Sopenharmony_ci				&pcnoc_clk_src.hw,
253662306a36Sopenharmony_ci			},
253762306a36Sopenharmony_ci			.num_parents = 1,
253862306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
253962306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
254062306a36Sopenharmony_ci		},
254162306a36Sopenharmony_ci	},
254262306a36Sopenharmony_ci};
254362306a36Sopenharmony_ci
254462306a36Sopenharmony_cistatic struct clk_branch gcc_qpic_clk = {
254562306a36Sopenharmony_ci	.halt_reg = 0x57020,
254662306a36Sopenharmony_ci	.clkr = {
254762306a36Sopenharmony_ci		.enable_reg = 0x57020,
254862306a36Sopenharmony_ci		.enable_mask = BIT(0),
254962306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
255062306a36Sopenharmony_ci			.name = "gcc_qpic_clk",
255162306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
255262306a36Sopenharmony_ci				&pcnoc_clk_src.hw,
255362306a36Sopenharmony_ci			},
255462306a36Sopenharmony_ci			.num_parents = 1,
255562306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
255662306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
255762306a36Sopenharmony_ci		},
255862306a36Sopenharmony_ci	},
255962306a36Sopenharmony_ci};
256062306a36Sopenharmony_ci
256162306a36Sopenharmony_cistatic struct clk_branch gcc_qpic_io_macro_clk = {
256262306a36Sopenharmony_ci	.halt_reg = 0x5701c,
256362306a36Sopenharmony_ci	.clkr = {
256462306a36Sopenharmony_ci		.enable_reg = 0x5701c,
256562306a36Sopenharmony_ci		.enable_mask = BIT(0),
256662306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
256762306a36Sopenharmony_ci			.name = "gcc_qpic_io_macro_clk",
256862306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
256962306a36Sopenharmony_ci				&qpic_io_macro_clk_src.clkr.hw,
257062306a36Sopenharmony_ci			},
257162306a36Sopenharmony_ci			.num_parents = 1,
257262306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
257362306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
257462306a36Sopenharmony_ci		},
257562306a36Sopenharmony_ci	},
257662306a36Sopenharmony_ci};
257762306a36Sopenharmony_ci
257862306a36Sopenharmony_cistatic struct clk_branch gcc_sdcc1_ahb_clk = {
257962306a36Sopenharmony_ci	.halt_reg = 0x4201c,
258062306a36Sopenharmony_ci	.clkr = {
258162306a36Sopenharmony_ci		.enable_reg = 0x4201c,
258262306a36Sopenharmony_ci		.enable_mask = BIT(0),
258362306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
258462306a36Sopenharmony_ci			.name = "gcc_sdcc1_ahb_clk",
258562306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
258662306a36Sopenharmony_ci				&pcnoc_clk_src.hw,
258762306a36Sopenharmony_ci			},
258862306a36Sopenharmony_ci			.num_parents = 1,
258962306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
259062306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
259162306a36Sopenharmony_ci		},
259262306a36Sopenharmony_ci	},
259362306a36Sopenharmony_ci};
259462306a36Sopenharmony_ci
259562306a36Sopenharmony_cistatic struct clk_branch gcc_sdcc1_apps_clk = {
259662306a36Sopenharmony_ci	.halt_reg = 0x42018,
259762306a36Sopenharmony_ci	.clkr = {
259862306a36Sopenharmony_ci		.enable_reg = 0x42018,
259962306a36Sopenharmony_ci		.enable_mask = BIT(0),
260062306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
260162306a36Sopenharmony_ci			.name = "gcc_sdcc1_apps_clk",
260262306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
260362306a36Sopenharmony_ci				&sdcc1_apps_clk_src.clkr.hw,
260462306a36Sopenharmony_ci			},
260562306a36Sopenharmony_ci			.num_parents = 1,
260662306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
260762306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
260862306a36Sopenharmony_ci		},
260962306a36Sopenharmony_ci	},
261062306a36Sopenharmony_ci};
261162306a36Sopenharmony_ci
261262306a36Sopenharmony_cistatic struct clk_branch gcc_snoc_gmac0_ahb_clk = {
261362306a36Sopenharmony_ci	.halt_reg = 0x260a0,
261462306a36Sopenharmony_ci	.clkr = {
261562306a36Sopenharmony_ci		.enable_reg = 0x260a0,
261662306a36Sopenharmony_ci		.enable_mask = BIT(0),
261762306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
261862306a36Sopenharmony_ci			.name = "gcc_snoc_gmac0_ahb_clk",
261962306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
262062306a36Sopenharmony_ci				&gmac_clk_src.clkr.hw,
262162306a36Sopenharmony_ci			},
262262306a36Sopenharmony_ci			.num_parents = 1,
262362306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
262462306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
262562306a36Sopenharmony_ci		},
262662306a36Sopenharmony_ci	},
262762306a36Sopenharmony_ci};
262862306a36Sopenharmony_ci
262962306a36Sopenharmony_cistatic struct clk_branch gcc_snoc_gmac0_axi_clk = {
263062306a36Sopenharmony_ci	.halt_reg = 0x26084,
263162306a36Sopenharmony_ci	.clkr = {
263262306a36Sopenharmony_ci		.enable_reg = 0x26084,
263362306a36Sopenharmony_ci		.enable_mask = BIT(0),
263462306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
263562306a36Sopenharmony_ci			.name = "gcc_snoc_gmac0_axi_clk",
263662306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
263762306a36Sopenharmony_ci				&gmac_clk_src.clkr.hw,
263862306a36Sopenharmony_ci			},
263962306a36Sopenharmony_ci			.num_parents = 1,
264062306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
264162306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
264262306a36Sopenharmony_ci		},
264362306a36Sopenharmony_ci	},
264462306a36Sopenharmony_ci};
264562306a36Sopenharmony_ci
264662306a36Sopenharmony_cistatic struct clk_branch gcc_snoc_gmac1_ahb_clk = {
264762306a36Sopenharmony_ci	.halt_reg = 0x260a4,
264862306a36Sopenharmony_ci	.clkr = {
264962306a36Sopenharmony_ci		.enable_reg = 0x260a4,
265062306a36Sopenharmony_ci		.enable_mask = BIT(0),
265162306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
265262306a36Sopenharmony_ci			.name = "gcc_snoc_gmac1_ahb_clk",
265362306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
265462306a36Sopenharmony_ci				&gmac_clk_src.clkr.hw,
265562306a36Sopenharmony_ci			},
265662306a36Sopenharmony_ci			.num_parents = 1,
265762306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
265862306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
265962306a36Sopenharmony_ci		},
266062306a36Sopenharmony_ci	},
266162306a36Sopenharmony_ci};
266262306a36Sopenharmony_ci
266362306a36Sopenharmony_cistatic struct clk_branch gcc_snoc_gmac1_axi_clk = {
266462306a36Sopenharmony_ci	.halt_reg = 0x26088,
266562306a36Sopenharmony_ci	.clkr = {
266662306a36Sopenharmony_ci		.enable_reg = 0x26088,
266762306a36Sopenharmony_ci		.enable_mask = BIT(0),
266862306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
266962306a36Sopenharmony_ci			.name = "gcc_snoc_gmac1_axi_clk",
267062306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
267162306a36Sopenharmony_ci				&gmac_clk_src.clkr.hw,
267262306a36Sopenharmony_ci			},
267362306a36Sopenharmony_ci			.num_parents = 1,
267462306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
267562306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
267662306a36Sopenharmony_ci		},
267762306a36Sopenharmony_ci	},
267862306a36Sopenharmony_ci};
267962306a36Sopenharmony_ci
268062306a36Sopenharmony_cistatic struct clk_branch gcc_snoc_lpass_axim_clk = {
268162306a36Sopenharmony_ci	.halt_reg = 0x26074,
268262306a36Sopenharmony_ci	.clkr = {
268362306a36Sopenharmony_ci		.enable_reg = 0x26074,
268462306a36Sopenharmony_ci		.enable_mask = BIT(0),
268562306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
268662306a36Sopenharmony_ci			.name = "gcc_snoc_lpass_axim_clk",
268762306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
268862306a36Sopenharmony_ci				&lpass_axim_clk_src.clkr.hw,
268962306a36Sopenharmony_ci			},
269062306a36Sopenharmony_ci			.num_parents = 1,
269162306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
269262306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
269362306a36Sopenharmony_ci		},
269462306a36Sopenharmony_ci	},
269562306a36Sopenharmony_ci};
269662306a36Sopenharmony_ci
269762306a36Sopenharmony_cistatic struct clk_branch gcc_snoc_lpass_sway_clk = {
269862306a36Sopenharmony_ci	.halt_reg = 0x26078,
269962306a36Sopenharmony_ci	.clkr = {
270062306a36Sopenharmony_ci		.enable_reg = 0x26078,
270162306a36Sopenharmony_ci		.enable_mask = BIT(0),
270262306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
270362306a36Sopenharmony_ci			.name = "gcc_snoc_lpass_sway_clk",
270462306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
270562306a36Sopenharmony_ci				&lpass_sway_clk_src.clkr.hw,
270662306a36Sopenharmony_ci			},
270762306a36Sopenharmony_ci			.num_parents = 1,
270862306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
270962306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
271062306a36Sopenharmony_ci		},
271162306a36Sopenharmony_ci	},
271262306a36Sopenharmony_ci};
271362306a36Sopenharmony_ci
271462306a36Sopenharmony_cistatic struct clk_branch gcc_snoc_ubi0_axi_clk = {
271562306a36Sopenharmony_ci	.halt_reg = 0x26094,
271662306a36Sopenharmony_ci	.clkr = {
271762306a36Sopenharmony_ci		.enable_reg = 0x26094,
271862306a36Sopenharmony_ci		.enable_mask = BIT(0),
271962306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
272062306a36Sopenharmony_ci			.name = "gcc_snoc_ubi0_axi_clk",
272162306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
272262306a36Sopenharmony_ci				&ubi0_axi_clk_src.clkr.hw,
272362306a36Sopenharmony_ci			},
272462306a36Sopenharmony_ci			.num_parents = 1,
272562306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
272662306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
272762306a36Sopenharmony_ci		},
272862306a36Sopenharmony_ci	},
272962306a36Sopenharmony_ci};
273062306a36Sopenharmony_ci
273162306a36Sopenharmony_cistatic struct clk_branch gcc_sys_noc_pcie0_axi_clk = {
273262306a36Sopenharmony_ci	.halt_reg = 0x26048,
273362306a36Sopenharmony_ci	.clkr = {
273462306a36Sopenharmony_ci		.enable_reg = 0x26048,
273562306a36Sopenharmony_ci		.enable_mask = BIT(0),
273662306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
273762306a36Sopenharmony_ci			.name = "gcc_sys_noc_pcie0_axi_clk",
273862306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
273962306a36Sopenharmony_ci				&pcie0_axi_clk_src.clkr.hw,
274062306a36Sopenharmony_ci			},
274162306a36Sopenharmony_ci			.num_parents = 1,
274262306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
274362306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
274462306a36Sopenharmony_ci		},
274562306a36Sopenharmony_ci	},
274662306a36Sopenharmony_ci};
274762306a36Sopenharmony_ci
274862306a36Sopenharmony_cistatic struct clk_branch gcc_sys_noc_pcie1_axi_clk = {
274962306a36Sopenharmony_ci	.halt_reg = 0x2604c,
275062306a36Sopenharmony_ci	.clkr = {
275162306a36Sopenharmony_ci		.enable_reg = 0x2604c,
275262306a36Sopenharmony_ci		.enable_mask = BIT(0),
275362306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
275462306a36Sopenharmony_ci			.name = "gcc_sys_noc_pcie1_axi_clk",
275562306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
275662306a36Sopenharmony_ci				&pcie1_axi_clk_src.clkr.hw,
275762306a36Sopenharmony_ci			},
275862306a36Sopenharmony_ci			.num_parents = 1,
275962306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
276062306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
276162306a36Sopenharmony_ci		},
276262306a36Sopenharmony_ci	},
276362306a36Sopenharmony_ci};
276462306a36Sopenharmony_ci
276562306a36Sopenharmony_cistatic struct clk_branch gcc_sys_noc_qdss_stm_axi_clk = {
276662306a36Sopenharmony_ci	.halt_reg = 0x26024,
276762306a36Sopenharmony_ci	.clkr = {
276862306a36Sopenharmony_ci		.enable_reg = 0x26024,
276962306a36Sopenharmony_ci		.enable_mask = BIT(0),
277062306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
277162306a36Sopenharmony_ci			.name = "gcc_sys_noc_qdss_stm_axi_clk",
277262306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
277362306a36Sopenharmony_ci				&qdss_stm_clk_src.clkr.hw,
277462306a36Sopenharmony_ci			},
277562306a36Sopenharmony_ci			.num_parents = 1,
277662306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
277762306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
277862306a36Sopenharmony_ci		},
277962306a36Sopenharmony_ci	},
278062306a36Sopenharmony_ci};
278162306a36Sopenharmony_ci
278262306a36Sopenharmony_cistatic struct clk_branch gcc_sys_noc_usb0_axi_clk = {
278362306a36Sopenharmony_ci	.halt_reg = 0x26040,
278462306a36Sopenharmony_ci	.clkr = {
278562306a36Sopenharmony_ci		.enable_reg = 0x26040,
278662306a36Sopenharmony_ci		.enable_mask = BIT(0),
278762306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
278862306a36Sopenharmony_ci			.name = "gcc_sys_noc_usb0_axi_clk",
278962306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
279062306a36Sopenharmony_ci				&usb0_master_clk_src.clkr.hw,
279162306a36Sopenharmony_ci			},
279262306a36Sopenharmony_ci			.num_parents = 1,
279362306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
279462306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
279562306a36Sopenharmony_ci		},
279662306a36Sopenharmony_ci	},
279762306a36Sopenharmony_ci};
279862306a36Sopenharmony_ci
279962306a36Sopenharmony_cistatic struct clk_branch gcc_sys_noc_wcss_ahb_clk = {
280062306a36Sopenharmony_ci	.halt_reg = 0x26034,
280162306a36Sopenharmony_ci	.clkr = {
280262306a36Sopenharmony_ci		.enable_reg = 0x26034,
280362306a36Sopenharmony_ci		.enable_mask = BIT(0),
280462306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
280562306a36Sopenharmony_ci			.name = "gcc_sys_noc_wcss_ahb_clk",
280662306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
280762306a36Sopenharmony_ci				&wcss_ahb_clk_src.clkr.hw,
280862306a36Sopenharmony_ci			},
280962306a36Sopenharmony_ci			.num_parents = 1,
281062306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
281162306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
281262306a36Sopenharmony_ci		},
281362306a36Sopenharmony_ci	},
281462306a36Sopenharmony_ci};
281562306a36Sopenharmony_ci
281662306a36Sopenharmony_cistatic struct clk_branch gcc_ubi0_axi_clk = {
281762306a36Sopenharmony_ci	.halt_reg = 0x68200,
281862306a36Sopenharmony_ci	.halt_check = BRANCH_HALT_DELAY,
281962306a36Sopenharmony_ci	.clkr = {
282062306a36Sopenharmony_ci		.enable_reg = 0x68200,
282162306a36Sopenharmony_ci		.enable_mask = BIT(0),
282262306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
282362306a36Sopenharmony_ci			.name = "gcc_ubi0_axi_clk",
282462306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
282562306a36Sopenharmony_ci				&ubi0_axi_clk_src.clkr.hw,
282662306a36Sopenharmony_ci			},
282762306a36Sopenharmony_ci			.num_parents = 1,
282862306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
282962306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
283062306a36Sopenharmony_ci		},
283162306a36Sopenharmony_ci	},
283262306a36Sopenharmony_ci};
283362306a36Sopenharmony_ci
283462306a36Sopenharmony_cistatic struct clk_branch gcc_ubi0_cfg_clk = {
283562306a36Sopenharmony_ci	.halt_reg = 0x68160,
283662306a36Sopenharmony_ci	.halt_check = BRANCH_HALT_DELAY,
283762306a36Sopenharmony_ci	.clkr = {
283862306a36Sopenharmony_ci		.enable_reg = 0x68160,
283962306a36Sopenharmony_ci		.enable_mask = BIT(0),
284062306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
284162306a36Sopenharmony_ci			.name = "gcc_ubi0_cfg_clk",
284262306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
284362306a36Sopenharmony_ci				&pcnoc_clk_src.hw,
284462306a36Sopenharmony_ci			},
284562306a36Sopenharmony_ci			.num_parents = 1,
284662306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
284762306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
284862306a36Sopenharmony_ci		},
284962306a36Sopenharmony_ci	},
285062306a36Sopenharmony_ci};
285162306a36Sopenharmony_ci
285262306a36Sopenharmony_cistatic struct clk_branch gcc_ubi0_dbg_clk = {
285362306a36Sopenharmony_ci	.halt_reg = 0x68214,
285462306a36Sopenharmony_ci	.halt_check = BRANCH_HALT_DELAY,
285562306a36Sopenharmony_ci	.clkr = {
285662306a36Sopenharmony_ci		.enable_reg = 0x68214,
285762306a36Sopenharmony_ci		.enable_mask = BIT(0),
285862306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
285962306a36Sopenharmony_ci			.name = "gcc_ubi0_dbg_clk",
286062306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
286162306a36Sopenharmony_ci				&qdss_tsctr_clk_src.clkr.hw,
286262306a36Sopenharmony_ci			},
286362306a36Sopenharmony_ci			.num_parents = 1,
286462306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
286562306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
286662306a36Sopenharmony_ci		},
286762306a36Sopenharmony_ci	},
286862306a36Sopenharmony_ci};
286962306a36Sopenharmony_ci
287062306a36Sopenharmony_cistatic struct clk_branch gcc_ubi0_core_clk = {
287162306a36Sopenharmony_ci	.halt_reg = 0x68210,
287262306a36Sopenharmony_ci	.halt_check = BRANCH_HALT_DELAY,
287362306a36Sopenharmony_ci	.clkr = {
287462306a36Sopenharmony_ci		.enable_reg = 0x68210,
287562306a36Sopenharmony_ci		.enable_mask = BIT(0),
287662306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
287762306a36Sopenharmony_ci			.name = "gcc_ubi0_core_clk",
287862306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
287962306a36Sopenharmony_ci				&ubi0_core_clk_src.clkr.hw,
288062306a36Sopenharmony_ci			},
288162306a36Sopenharmony_ci			.num_parents = 1,
288262306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
288362306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
288462306a36Sopenharmony_ci		},
288562306a36Sopenharmony_ci	},
288662306a36Sopenharmony_ci};
288762306a36Sopenharmony_ci
288862306a36Sopenharmony_cistatic struct clk_branch gcc_ubi0_nc_axi_clk = {
288962306a36Sopenharmony_ci	.halt_reg = 0x68204,
289062306a36Sopenharmony_ci	.halt_check = BRANCH_HALT_DELAY,
289162306a36Sopenharmony_ci	.clkr = {
289262306a36Sopenharmony_ci		.enable_reg = 0x68204,
289362306a36Sopenharmony_ci		.enable_mask = BIT(0),
289462306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
289562306a36Sopenharmony_ci			.name = "gcc_ubi0_nc_axi_clk",
289662306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
289762306a36Sopenharmony_ci				&system_noc_clk_src.hw,
289862306a36Sopenharmony_ci			},
289962306a36Sopenharmony_ci			.num_parents = 1,
290062306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
290162306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
290262306a36Sopenharmony_ci		},
290362306a36Sopenharmony_ci	},
290462306a36Sopenharmony_ci};
290562306a36Sopenharmony_ci
290662306a36Sopenharmony_cistatic struct clk_branch gcc_ubi0_utcm_clk = {
290762306a36Sopenharmony_ci	.halt_reg = 0x68208,
290862306a36Sopenharmony_ci	.halt_check = BRANCH_HALT_DELAY,
290962306a36Sopenharmony_ci	.clkr = {
291062306a36Sopenharmony_ci		.enable_reg = 0x68208,
291162306a36Sopenharmony_ci		.enable_mask = BIT(0),
291262306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
291362306a36Sopenharmony_ci			.name = "gcc_ubi0_utcm_clk",
291462306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
291562306a36Sopenharmony_ci				&system_noc_clk_src.hw,
291662306a36Sopenharmony_ci			},
291762306a36Sopenharmony_ci			.num_parents = 1,
291862306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
291962306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
292062306a36Sopenharmony_ci		},
292162306a36Sopenharmony_ci	},
292262306a36Sopenharmony_ci};
292362306a36Sopenharmony_ci
292462306a36Sopenharmony_cistatic struct clk_branch gcc_uniphy_ahb_clk = {
292562306a36Sopenharmony_ci	.halt_reg = 0x56108,
292662306a36Sopenharmony_ci	.clkr = {
292762306a36Sopenharmony_ci		.enable_reg = 0x56108,
292862306a36Sopenharmony_ci		.enable_mask = BIT(0),
292962306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
293062306a36Sopenharmony_ci			.name = "gcc_uniphy_ahb_clk",
293162306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
293262306a36Sopenharmony_ci				&pcnoc_clk_src.hw,
293362306a36Sopenharmony_ci			},
293462306a36Sopenharmony_ci			.num_parents = 1,
293562306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
293662306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
293762306a36Sopenharmony_ci		},
293862306a36Sopenharmony_ci	},
293962306a36Sopenharmony_ci};
294062306a36Sopenharmony_ci
294162306a36Sopenharmony_cistatic struct clk_branch gcc_uniphy_rx_clk = {
294262306a36Sopenharmony_ci	.halt_reg = 0x56110,
294362306a36Sopenharmony_ci	.clkr = {
294462306a36Sopenharmony_ci		.enable_reg = 0x56110,
294562306a36Sopenharmony_ci		.enable_mask = BIT(0),
294662306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
294762306a36Sopenharmony_ci			.name = "gcc_uniphy_rx_clk",
294862306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
294962306a36Sopenharmony_ci				&gmac1_rx_div_clk_src.clkr.hw,
295062306a36Sopenharmony_ci			},
295162306a36Sopenharmony_ci			.num_parents = 1,
295262306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
295362306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
295462306a36Sopenharmony_ci		},
295562306a36Sopenharmony_ci	},
295662306a36Sopenharmony_ci};
295762306a36Sopenharmony_ci
295862306a36Sopenharmony_cistatic struct clk_branch gcc_uniphy_tx_clk = {
295962306a36Sopenharmony_ci	.halt_reg = 0x56114,
296062306a36Sopenharmony_ci	.clkr = {
296162306a36Sopenharmony_ci		.enable_reg = 0x56114,
296262306a36Sopenharmony_ci		.enable_mask = BIT(0),
296362306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
296462306a36Sopenharmony_ci			.name = "gcc_uniphy_tx_clk",
296562306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
296662306a36Sopenharmony_ci				&gmac1_tx_div_clk_src.clkr.hw,
296762306a36Sopenharmony_ci			},
296862306a36Sopenharmony_ci			.num_parents = 1,
296962306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
297062306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
297162306a36Sopenharmony_ci		},
297262306a36Sopenharmony_ci	},
297362306a36Sopenharmony_ci};
297462306a36Sopenharmony_ci
297562306a36Sopenharmony_cistatic struct clk_branch gcc_uniphy_sys_clk = {
297662306a36Sopenharmony_ci	.halt_reg = 0x5610c,
297762306a36Sopenharmony_ci	.clkr = {
297862306a36Sopenharmony_ci		.enable_reg = 0x5610c,
297962306a36Sopenharmony_ci		.enable_mask = BIT(0),
298062306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
298162306a36Sopenharmony_ci			.name = "gcc_uniphy_sys_clk",
298262306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
298362306a36Sopenharmony_ci				&gcc_xo_clk_src.clkr.hw,
298462306a36Sopenharmony_ci			},
298562306a36Sopenharmony_ci			.num_parents = 1,
298662306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
298762306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
298862306a36Sopenharmony_ci		},
298962306a36Sopenharmony_ci	},
299062306a36Sopenharmony_ci};
299162306a36Sopenharmony_ci
299262306a36Sopenharmony_cistatic struct clk_branch gcc_usb0_aux_clk = {
299362306a36Sopenharmony_ci	.halt_reg = 0x3e044,
299462306a36Sopenharmony_ci	.clkr = {
299562306a36Sopenharmony_ci		.enable_reg = 0x3e044,
299662306a36Sopenharmony_ci		.enable_mask = BIT(0),
299762306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
299862306a36Sopenharmony_ci			.name = "gcc_usb0_aux_clk",
299962306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
300062306a36Sopenharmony_ci				&usb0_aux_clk_src.clkr.hw,
300162306a36Sopenharmony_ci			},
300262306a36Sopenharmony_ci			.num_parents = 1,
300362306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
300462306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
300562306a36Sopenharmony_ci		},
300662306a36Sopenharmony_ci	},
300762306a36Sopenharmony_ci};
300862306a36Sopenharmony_ci
300962306a36Sopenharmony_cistatic struct clk_branch gcc_usb0_eud_at_clk = {
301062306a36Sopenharmony_ci	.halt_reg = 0x3e04c,
301162306a36Sopenharmony_ci	.halt_check = BRANCH_HALT_VOTED,
301262306a36Sopenharmony_ci	.clkr = {
301362306a36Sopenharmony_ci		.enable_reg = 0x3e04c,
301462306a36Sopenharmony_ci		.enable_mask = BIT(0),
301562306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
301662306a36Sopenharmony_ci			.name = "gcc_usb0_eud_at_clk",
301762306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
301862306a36Sopenharmony_ci				&eud_at_clk_src.hw,
301962306a36Sopenharmony_ci			},
302062306a36Sopenharmony_ci			.num_parents = 1,
302162306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
302262306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
302362306a36Sopenharmony_ci		},
302462306a36Sopenharmony_ci	},
302562306a36Sopenharmony_ci};
302662306a36Sopenharmony_ci
302762306a36Sopenharmony_cistatic struct clk_branch gcc_usb0_lfps_clk = {
302862306a36Sopenharmony_ci	.halt_reg = 0x3e050,
302962306a36Sopenharmony_ci	.clkr = {
303062306a36Sopenharmony_ci		.enable_reg = 0x3e050,
303162306a36Sopenharmony_ci		.enable_mask = BIT(0),
303262306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
303362306a36Sopenharmony_ci			.name = "gcc_usb0_lfps_clk",
303462306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
303562306a36Sopenharmony_ci				&usb0_lfps_clk_src.clkr.hw,
303662306a36Sopenharmony_ci			},
303762306a36Sopenharmony_ci			.num_parents = 1,
303862306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
303962306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
304062306a36Sopenharmony_ci		},
304162306a36Sopenharmony_ci	},
304262306a36Sopenharmony_ci};
304362306a36Sopenharmony_ci
304462306a36Sopenharmony_cistatic struct clk_branch gcc_usb0_master_clk = {
304562306a36Sopenharmony_ci	.halt_reg = 0x3e000,
304662306a36Sopenharmony_ci	.clkr = {
304762306a36Sopenharmony_ci		.enable_reg = 0x3e000,
304862306a36Sopenharmony_ci		.enable_mask = BIT(0),
304962306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
305062306a36Sopenharmony_ci			.name = "gcc_usb0_master_clk",
305162306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
305262306a36Sopenharmony_ci				&usb0_master_clk_src.clkr.hw,
305362306a36Sopenharmony_ci			},
305462306a36Sopenharmony_ci			.num_parents = 1,
305562306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
305662306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
305762306a36Sopenharmony_ci		},
305862306a36Sopenharmony_ci	},
305962306a36Sopenharmony_ci};
306062306a36Sopenharmony_ci
306162306a36Sopenharmony_cistatic struct clk_branch gcc_usb0_mock_utmi_clk = {
306262306a36Sopenharmony_ci	.halt_reg = 0x3e008,
306362306a36Sopenharmony_ci	.clkr = {
306462306a36Sopenharmony_ci		.enable_reg = 0x3e008,
306562306a36Sopenharmony_ci		.enable_mask = BIT(0),
306662306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
306762306a36Sopenharmony_ci			.name = "gcc_usb0_mock_utmi_clk",
306862306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
306962306a36Sopenharmony_ci				&usb0_mock_utmi_clk_src.clkr.hw,
307062306a36Sopenharmony_ci			},
307162306a36Sopenharmony_ci			.num_parents = 1,
307262306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
307362306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
307462306a36Sopenharmony_ci		},
307562306a36Sopenharmony_ci	},
307662306a36Sopenharmony_ci};
307762306a36Sopenharmony_ci
307862306a36Sopenharmony_cistatic struct clk_branch gcc_usb0_phy_cfg_ahb_clk = {
307962306a36Sopenharmony_ci	.halt_reg = 0x3e080,
308062306a36Sopenharmony_ci	.clkr = {
308162306a36Sopenharmony_ci		.enable_reg = 0x3e080,
308262306a36Sopenharmony_ci		.enable_mask = BIT(0),
308362306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
308462306a36Sopenharmony_ci			.name = "gcc_usb0_phy_cfg_ahb_clk",
308562306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
308662306a36Sopenharmony_ci				&pcnoc_clk_src.hw,
308762306a36Sopenharmony_ci			},
308862306a36Sopenharmony_ci			.num_parents = 1,
308962306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
309062306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
309162306a36Sopenharmony_ci		},
309262306a36Sopenharmony_ci	},
309362306a36Sopenharmony_ci};
309462306a36Sopenharmony_ci
309562306a36Sopenharmony_cistatic struct clk_branch gcc_usb0_sleep_clk = {
309662306a36Sopenharmony_ci	.halt_reg = 0x3e004,
309762306a36Sopenharmony_ci	.clkr = {
309862306a36Sopenharmony_ci		.enable_reg = 0x3e004,
309962306a36Sopenharmony_ci		.enable_mask = BIT(0),
310062306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
310162306a36Sopenharmony_ci			.name = "gcc_usb0_sleep_clk",
310262306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
310362306a36Sopenharmony_ci				&gcc_sleep_clk_src.clkr.hw,
310462306a36Sopenharmony_ci			},
310562306a36Sopenharmony_ci			.num_parents = 1,
310662306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
310762306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
310862306a36Sopenharmony_ci		},
310962306a36Sopenharmony_ci	},
311062306a36Sopenharmony_ci};
311162306a36Sopenharmony_ci
311262306a36Sopenharmony_cistatic struct clk_branch gcc_usb0_pipe_clk = {
311362306a36Sopenharmony_ci	.halt_reg = 0x3e040,
311462306a36Sopenharmony_ci	.halt_check = BRANCH_HALT_DELAY,
311562306a36Sopenharmony_ci	.clkr = {
311662306a36Sopenharmony_ci		.enable_reg = 0x3e040,
311762306a36Sopenharmony_ci		.enable_mask = BIT(0),
311862306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
311962306a36Sopenharmony_ci			.name = "gcc_usb0_pipe_clk",
312062306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
312162306a36Sopenharmony_ci				&usb0_pipe_clk_src.clkr.hw,
312262306a36Sopenharmony_ci			},
312362306a36Sopenharmony_ci			.num_parents = 1,
312462306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
312562306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
312662306a36Sopenharmony_ci		},
312762306a36Sopenharmony_ci	},
312862306a36Sopenharmony_ci};
312962306a36Sopenharmony_ci
313062306a36Sopenharmony_cistatic struct clk_branch gcc_wcss_acmt_clk = {
313162306a36Sopenharmony_ci	.halt_reg = 0x59064,
313262306a36Sopenharmony_ci	.clkr = {
313362306a36Sopenharmony_ci		.enable_reg = 0x59064,
313462306a36Sopenharmony_ci		.enable_mask = BIT(0),
313562306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
313662306a36Sopenharmony_ci			.name = "gcc_wcss_acmt_clk",
313762306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
313862306a36Sopenharmony_ci				&wcss_ahb_clk_src.clkr.hw,
313962306a36Sopenharmony_ci			},
314062306a36Sopenharmony_ci			.num_parents = 1,
314162306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
314262306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
314362306a36Sopenharmony_ci		},
314462306a36Sopenharmony_ci	},
314562306a36Sopenharmony_ci};
314662306a36Sopenharmony_ci
314762306a36Sopenharmony_cistatic struct clk_branch gcc_wcss_ahb_s_clk = {
314862306a36Sopenharmony_ci	.halt_reg = 0x59034,
314962306a36Sopenharmony_ci	.clkr = {
315062306a36Sopenharmony_ci		.enable_reg = 0x59034,
315162306a36Sopenharmony_ci		.enable_mask = BIT(0),
315262306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
315362306a36Sopenharmony_ci			.name = "gcc_wcss_ahb_s_clk",
315462306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
315562306a36Sopenharmony_ci				&wcss_ahb_clk_src.clkr.hw,
315662306a36Sopenharmony_ci			},
315762306a36Sopenharmony_ci			.num_parents = 1,
315862306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
315962306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
316062306a36Sopenharmony_ci		},
316162306a36Sopenharmony_ci	},
316262306a36Sopenharmony_ci};
316362306a36Sopenharmony_ci
316462306a36Sopenharmony_cistatic struct clk_branch gcc_wcss_axi_m_clk = {
316562306a36Sopenharmony_ci	.halt_reg = 0x5903c,
316662306a36Sopenharmony_ci	.clkr = {
316762306a36Sopenharmony_ci		.enable_reg = 0x5903c,
316862306a36Sopenharmony_ci		.enable_mask = BIT(0),
316962306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
317062306a36Sopenharmony_ci			.name = "gcc_wcss_axi_m_clk",
317162306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
317262306a36Sopenharmony_ci				&system_noc_clk_src.hw,
317362306a36Sopenharmony_ci			},
317462306a36Sopenharmony_ci			.num_parents = 1,
317562306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
317662306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
317762306a36Sopenharmony_ci		},
317862306a36Sopenharmony_ci	},
317962306a36Sopenharmony_ci};
318062306a36Sopenharmony_ci
318162306a36Sopenharmony_cistatic struct clk_branch gcc_wcss_axi_s_clk = {
318262306a36Sopenharmony_ci	.halt_reg = 0x59068,
318362306a36Sopenharmony_ci	.clkr = {
318462306a36Sopenharmony_ci		.enable_reg = 0x59068,
318562306a36Sopenharmony_ci		.enable_mask = BIT(0),
318662306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
318762306a36Sopenharmony_ci			.name = "gcc_wi_s_clk",
318862306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
318962306a36Sopenharmony_ci				&system_noc_clk_src.hw,
319062306a36Sopenharmony_ci			},
319162306a36Sopenharmony_ci			.num_parents = 1,
319262306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
319362306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
319462306a36Sopenharmony_ci		},
319562306a36Sopenharmony_ci	},
319662306a36Sopenharmony_ci};
319762306a36Sopenharmony_ci
319862306a36Sopenharmony_cistatic struct clk_branch gcc_wcss_dbg_ifc_apb_bdg_clk = {
319962306a36Sopenharmony_ci	.halt_reg = 0x59050,
320062306a36Sopenharmony_ci	.clkr = {
320162306a36Sopenharmony_ci		.enable_reg = 0x59050,
320262306a36Sopenharmony_ci		.enable_mask = BIT(0),
320362306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
320462306a36Sopenharmony_ci			.name = "gcc_wcss_dbg_ifc_apb_bdg_clk",
320562306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
320662306a36Sopenharmony_ci				&qdss_dap_sync_clk_src.hw,
320762306a36Sopenharmony_ci			},
320862306a36Sopenharmony_ci			.num_parents = 1,
320962306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
321062306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
321162306a36Sopenharmony_ci		},
321262306a36Sopenharmony_ci	},
321362306a36Sopenharmony_ci};
321462306a36Sopenharmony_ci
321562306a36Sopenharmony_cistatic struct clk_branch gcc_wcss_dbg_ifc_apb_clk = {
321662306a36Sopenharmony_ci	.halt_reg = 0x59040,
321762306a36Sopenharmony_ci	.clkr = {
321862306a36Sopenharmony_ci		.enable_reg = 0x59040,
321962306a36Sopenharmony_ci		.enable_mask = BIT(0),
322062306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
322162306a36Sopenharmony_ci			.name = "gcc_wcss_dbg_ifc_apb_clk",
322262306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
322362306a36Sopenharmony_ci				&qdss_dap_sync_clk_src.hw,
322462306a36Sopenharmony_ci			},
322562306a36Sopenharmony_ci			.num_parents = 1,
322662306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
322762306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
322862306a36Sopenharmony_ci		},
322962306a36Sopenharmony_ci	},
323062306a36Sopenharmony_ci};
323162306a36Sopenharmony_ci
323262306a36Sopenharmony_cistatic struct clk_branch gcc_wcss_dbg_ifc_atb_bdg_clk = {
323362306a36Sopenharmony_ci	.halt_reg = 0x59054,
323462306a36Sopenharmony_ci	.clkr = {
323562306a36Sopenharmony_ci		.enable_reg = 0x59054,
323662306a36Sopenharmony_ci		.enable_mask = BIT(0),
323762306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
323862306a36Sopenharmony_ci			.name = "gcc_wcss_dbg_ifc_atb_bdg_clk",
323962306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
324062306a36Sopenharmony_ci				&qdss_at_clk_src.clkr.hw,
324162306a36Sopenharmony_ci			},
324262306a36Sopenharmony_ci			.num_parents = 1,
324362306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
324462306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
324562306a36Sopenharmony_ci		},
324662306a36Sopenharmony_ci	},
324762306a36Sopenharmony_ci};
324862306a36Sopenharmony_ci
324962306a36Sopenharmony_cistatic struct clk_branch gcc_wcss_dbg_ifc_atb_clk = {
325062306a36Sopenharmony_ci	.halt_reg = 0x59044,
325162306a36Sopenharmony_ci	.clkr = {
325262306a36Sopenharmony_ci		.enable_reg = 0x59044,
325362306a36Sopenharmony_ci		.enable_mask = BIT(0),
325462306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
325562306a36Sopenharmony_ci			.name = "gcc_wcss_dbg_ifc_atb_clk",
325662306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
325762306a36Sopenharmony_ci				&qdss_at_clk_src.clkr.hw,
325862306a36Sopenharmony_ci			},
325962306a36Sopenharmony_ci			.num_parents = 1,
326062306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
326162306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
326262306a36Sopenharmony_ci		},
326362306a36Sopenharmony_ci	},
326462306a36Sopenharmony_ci};
326562306a36Sopenharmony_ci
326662306a36Sopenharmony_cistatic struct clk_branch gcc_wcss_dbg_ifc_dapbus_bdg_clk = {
326762306a36Sopenharmony_ci	.halt_reg = 0x59060,
326862306a36Sopenharmony_ci	.clkr = {
326962306a36Sopenharmony_ci		.enable_reg = 0x59060,
327062306a36Sopenharmony_ci		.enable_mask = BIT(0),
327162306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
327262306a36Sopenharmony_ci			.name = "gcc_wcss_dbg_ifc_dapbus_bdg_clk",
327362306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
327462306a36Sopenharmony_ci				&qdss_dap_sync_clk_src.hw,
327562306a36Sopenharmony_ci			},
327662306a36Sopenharmony_ci			.num_parents = 1,
327762306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
327862306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
327962306a36Sopenharmony_ci		},
328062306a36Sopenharmony_ci	},
328162306a36Sopenharmony_ci};
328262306a36Sopenharmony_ci
328362306a36Sopenharmony_cistatic struct clk_branch gcc_wcss_dbg_ifc_dapbus_clk = {
328462306a36Sopenharmony_ci	.halt_reg = 0x5905c,
328562306a36Sopenharmony_ci	.clkr = {
328662306a36Sopenharmony_ci		.enable_reg = 0x5905c,
328762306a36Sopenharmony_ci		.enable_mask = BIT(0),
328862306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
328962306a36Sopenharmony_ci			.name = "gcc_wcss_dbg_ifc_dapbus_clk",
329062306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
329162306a36Sopenharmony_ci				&qdss_dap_sync_clk_src.hw,
329262306a36Sopenharmony_ci			},
329362306a36Sopenharmony_ci			.num_parents = 1,
329462306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
329562306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
329662306a36Sopenharmony_ci		},
329762306a36Sopenharmony_ci	},
329862306a36Sopenharmony_ci};
329962306a36Sopenharmony_ci
330062306a36Sopenharmony_cistatic struct clk_branch gcc_wcss_dbg_ifc_nts_bdg_clk = {
330162306a36Sopenharmony_ci	.halt_reg = 0x59058,
330262306a36Sopenharmony_ci	.clkr = {
330362306a36Sopenharmony_ci		.enable_reg = 0x59058,
330462306a36Sopenharmony_ci		.enable_mask = BIT(0),
330562306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
330662306a36Sopenharmony_ci			.name = "gcc_wcss_dbg_ifc_nts_bdg_clk",
330762306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
330862306a36Sopenharmony_ci				&qdss_tsctr_div2_clk_src.hw,
330962306a36Sopenharmony_ci			},
331062306a36Sopenharmony_ci			.num_parents = 1,
331162306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
331262306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
331362306a36Sopenharmony_ci		},
331462306a36Sopenharmony_ci	},
331562306a36Sopenharmony_ci};
331662306a36Sopenharmony_ci
331762306a36Sopenharmony_cistatic struct clk_branch gcc_wcss_dbg_ifc_nts_clk = {
331862306a36Sopenharmony_ci	.halt_reg = 0x59048,
331962306a36Sopenharmony_ci	.clkr = {
332062306a36Sopenharmony_ci		.enable_reg = 0x59048,
332162306a36Sopenharmony_ci		.enable_mask = BIT(0),
332262306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
332362306a36Sopenharmony_ci			.name = "gcc_wcss_dbg_ifc_nts_clk",
332462306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
332562306a36Sopenharmony_ci				&qdss_tsctr_div2_clk_src.hw,
332662306a36Sopenharmony_ci			},
332762306a36Sopenharmony_ci			.num_parents = 1,
332862306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
332962306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
333062306a36Sopenharmony_ci		},
333162306a36Sopenharmony_ci	},
333262306a36Sopenharmony_ci};
333362306a36Sopenharmony_ci
333462306a36Sopenharmony_cistatic struct clk_branch gcc_wcss_ecahb_clk = {
333562306a36Sopenharmony_ci	.halt_reg = 0x59038,
333662306a36Sopenharmony_ci	.clkr = {
333762306a36Sopenharmony_ci		.enable_reg = 0x59038,
333862306a36Sopenharmony_ci		.enable_mask = BIT(0),
333962306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data) {
334062306a36Sopenharmony_ci			.name = "gcc_wcss_ecahb_clk",
334162306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
334262306a36Sopenharmony_ci				&wcss_ahb_clk_src.clkr.hw,
334362306a36Sopenharmony_ci			},
334462306a36Sopenharmony_ci			.num_parents = 1,
334562306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
334662306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
334762306a36Sopenharmony_ci		},
334862306a36Sopenharmony_ci	},
334962306a36Sopenharmony_ci};
335062306a36Sopenharmony_ci
335162306a36Sopenharmony_cistatic struct clk_hw *gcc_ipq5018_hws[] = {
335262306a36Sopenharmony_ci	&gpll0_out_main_div2.hw,
335362306a36Sopenharmony_ci	&pcnoc_clk_src.hw,
335462306a36Sopenharmony_ci	&system_noc_clk_src.hw,
335562306a36Sopenharmony_ci	&qdss_dap_sync_clk_src.hw,
335662306a36Sopenharmony_ci	&qdss_tsctr_div2_clk_src.hw,
335762306a36Sopenharmony_ci	&eud_at_clk_src.hw,
335862306a36Sopenharmony_ci};
335962306a36Sopenharmony_ci
336062306a36Sopenharmony_cistatic const struct alpha_pll_config ubi32_pll_config = {
336162306a36Sopenharmony_ci	.l = 0x29,
336262306a36Sopenharmony_ci	.alpha = 0xaaaaaaaa,
336362306a36Sopenharmony_ci	.alpha_hi = 0xaa,
336462306a36Sopenharmony_ci	.config_ctl_val = 0x4001075b,
336562306a36Sopenharmony_ci	.main_output_mask = BIT(0),
336662306a36Sopenharmony_ci	.aux_output_mask = BIT(1),
336762306a36Sopenharmony_ci	.alpha_en_mask = BIT(24),
336862306a36Sopenharmony_ci	.vco_val = 0x1,
336962306a36Sopenharmony_ci	.vco_mask = GENMASK(21, 20),
337062306a36Sopenharmony_ci	.test_ctl_val = 0x0,
337162306a36Sopenharmony_ci	.test_ctl_hi_val = 0x0,
337262306a36Sopenharmony_ci};
337362306a36Sopenharmony_ci
337462306a36Sopenharmony_cistatic struct clk_regmap *gcc_ipq5018_clks[] = {
337562306a36Sopenharmony_ci	[GPLL0_MAIN] = &gpll0_main.clkr,
337662306a36Sopenharmony_ci	[GPLL0] = &gpll0.clkr,
337762306a36Sopenharmony_ci	[GPLL2_MAIN] = &gpll2_main.clkr,
337862306a36Sopenharmony_ci	[GPLL2] = &gpll2.clkr,
337962306a36Sopenharmony_ci	[GPLL4_MAIN] = &gpll4_main.clkr,
338062306a36Sopenharmony_ci	[GPLL4] = &gpll4.clkr,
338162306a36Sopenharmony_ci	[UBI32_PLL_MAIN] = &ubi32_pll_main.clkr,
338262306a36Sopenharmony_ci	[UBI32_PLL] = &ubi32_pll.clkr,
338362306a36Sopenharmony_ci	[ADSS_PWM_CLK_SRC] = &adss_pwm_clk_src.clkr,
338462306a36Sopenharmony_ci	[BLSP1_QUP1_I2C_APPS_CLK_SRC] = &blsp1_qup1_i2c_apps_clk_src.clkr,
338562306a36Sopenharmony_ci	[BLSP1_QUP1_SPI_APPS_CLK_SRC] = &blsp1_qup1_spi_apps_clk_src.clkr,
338662306a36Sopenharmony_ci	[BLSP1_QUP2_I2C_APPS_CLK_SRC] = &blsp1_qup2_i2c_apps_clk_src.clkr,
338762306a36Sopenharmony_ci	[BLSP1_QUP2_SPI_APPS_CLK_SRC] = &blsp1_qup2_spi_apps_clk_src.clkr,
338862306a36Sopenharmony_ci	[BLSP1_QUP3_I2C_APPS_CLK_SRC] = &blsp1_qup3_i2c_apps_clk_src.clkr,
338962306a36Sopenharmony_ci	[BLSP1_QUP3_SPI_APPS_CLK_SRC] = &blsp1_qup3_spi_apps_clk_src.clkr,
339062306a36Sopenharmony_ci	[BLSP1_UART1_APPS_CLK_SRC] = &blsp1_uart1_apps_clk_src.clkr,
339162306a36Sopenharmony_ci	[BLSP1_UART2_APPS_CLK_SRC] = &blsp1_uart2_apps_clk_src.clkr,
339262306a36Sopenharmony_ci	[CRYPTO_CLK_SRC] = &crypto_clk_src.clkr,
339362306a36Sopenharmony_ci	[GCC_ADSS_PWM_CLK] = &gcc_adss_pwm_clk.clkr,
339462306a36Sopenharmony_ci	[GCC_BLSP1_AHB_CLK] = &gcc_blsp1_ahb_clk.clkr,
339562306a36Sopenharmony_ci	[GCC_BLSP1_QUP1_I2C_APPS_CLK] = &gcc_blsp1_qup1_i2c_apps_clk.clkr,
339662306a36Sopenharmony_ci	[GCC_BLSP1_QUP1_SPI_APPS_CLK] = &gcc_blsp1_qup1_spi_apps_clk.clkr,
339762306a36Sopenharmony_ci	[GCC_BLSP1_QUP2_I2C_APPS_CLK] = &gcc_blsp1_qup2_i2c_apps_clk.clkr,
339862306a36Sopenharmony_ci	[GCC_BLSP1_QUP2_SPI_APPS_CLK] = &gcc_blsp1_qup2_spi_apps_clk.clkr,
339962306a36Sopenharmony_ci	[GCC_BLSP1_QUP3_I2C_APPS_CLK] = &gcc_blsp1_qup3_i2c_apps_clk.clkr,
340062306a36Sopenharmony_ci	[GCC_BLSP1_QUP3_SPI_APPS_CLK] = &gcc_blsp1_qup3_spi_apps_clk.clkr,
340162306a36Sopenharmony_ci	[GCC_BLSP1_UART1_APPS_CLK] = &gcc_blsp1_uart1_apps_clk.clkr,
340262306a36Sopenharmony_ci	[GCC_BLSP1_UART2_APPS_CLK] = &gcc_blsp1_uart2_apps_clk.clkr,
340362306a36Sopenharmony_ci	[GCC_BTSS_LPO_CLK] = &gcc_btss_lpo_clk.clkr,
340462306a36Sopenharmony_ci	[GCC_CMN_BLK_AHB_CLK] = &gcc_cmn_blk_ahb_clk.clkr,
340562306a36Sopenharmony_ci	[GCC_CMN_BLK_SYS_CLK] = &gcc_cmn_blk_sys_clk.clkr,
340662306a36Sopenharmony_ci	[GCC_CRYPTO_AHB_CLK] = &gcc_crypto_ahb_clk.clkr,
340762306a36Sopenharmony_ci	[GCC_CRYPTO_AXI_CLK] = &gcc_crypto_axi_clk.clkr,
340862306a36Sopenharmony_ci	[GCC_CRYPTO_CLK] = &gcc_crypto_clk.clkr,
340962306a36Sopenharmony_ci	[GCC_DCC_CLK] = &gcc_dcc_clk.clkr,
341062306a36Sopenharmony_ci	[GCC_GEPHY_RX_CLK] = &gcc_gephy_rx_clk.clkr,
341162306a36Sopenharmony_ci	[GCC_GEPHY_TX_CLK] = &gcc_gephy_tx_clk.clkr,
341262306a36Sopenharmony_ci	[GCC_GMAC0_CFG_CLK] = &gcc_gmac0_cfg_clk.clkr,
341362306a36Sopenharmony_ci	[GCC_GMAC0_PTP_CLK] = &gcc_gmac0_ptp_clk.clkr,
341462306a36Sopenharmony_ci	[GCC_GMAC0_RX_CLK] = &gcc_gmac0_rx_clk.clkr,
341562306a36Sopenharmony_ci	[GCC_GMAC0_SYS_CLK] = &gcc_gmac0_sys_clk.clkr,
341662306a36Sopenharmony_ci	[GCC_GMAC0_TX_CLK] = &gcc_gmac0_tx_clk.clkr,
341762306a36Sopenharmony_ci	[GCC_GMAC1_CFG_CLK] = &gcc_gmac1_cfg_clk.clkr,
341862306a36Sopenharmony_ci	[GCC_GMAC1_PTP_CLK] = &gcc_gmac1_ptp_clk.clkr,
341962306a36Sopenharmony_ci	[GCC_GMAC1_RX_CLK] = &gcc_gmac1_rx_clk.clkr,
342062306a36Sopenharmony_ci	[GCC_GMAC1_SYS_CLK] = &gcc_gmac1_sys_clk.clkr,
342162306a36Sopenharmony_ci	[GCC_GMAC1_TX_CLK] = &gcc_gmac1_tx_clk.clkr,
342262306a36Sopenharmony_ci	[GCC_GP1_CLK] = &gcc_gp1_clk.clkr,
342362306a36Sopenharmony_ci	[GCC_GP2_CLK] = &gcc_gp2_clk.clkr,
342462306a36Sopenharmony_ci	[GCC_GP3_CLK] = &gcc_gp3_clk.clkr,
342562306a36Sopenharmony_ci	[GCC_LPASS_CORE_AXIM_CLK] = &gcc_lpass_core_axim_clk.clkr,
342662306a36Sopenharmony_ci	[GCC_LPASS_SWAY_CLK] = &gcc_lpass_sway_clk.clkr,
342762306a36Sopenharmony_ci	[GCC_MDIO0_AHB_CLK] = &gcc_mdio0_ahb_clk.clkr,
342862306a36Sopenharmony_ci	[GCC_MDIO1_AHB_CLK] = &gcc_mdio1_ahb_clk.clkr,
342962306a36Sopenharmony_ci	[GCC_PCIE0_AHB_CLK] = &gcc_pcie0_ahb_clk.clkr,
343062306a36Sopenharmony_ci	[GCC_PCIE0_AUX_CLK] = &gcc_pcie0_aux_clk.clkr,
343162306a36Sopenharmony_ci	[GCC_PCIE0_AXI_M_CLK] = &gcc_pcie0_axi_m_clk.clkr,
343262306a36Sopenharmony_ci	[GCC_PCIE0_AXI_S_BRIDGE_CLK] = &gcc_pcie0_axi_s_bridge_clk.clkr,
343362306a36Sopenharmony_ci	[GCC_PCIE0_AXI_S_CLK] = &gcc_pcie0_axi_s_clk.clkr,
343462306a36Sopenharmony_ci	[GCC_PCIE1_AHB_CLK] = &gcc_pcie1_ahb_clk.clkr,
343562306a36Sopenharmony_ci	[GCC_PCIE1_AUX_CLK] = &gcc_pcie1_aux_clk.clkr,
343662306a36Sopenharmony_ci	[GCC_PCIE1_AXI_M_CLK] = &gcc_pcie1_axi_m_clk.clkr,
343762306a36Sopenharmony_ci	[GCC_PCIE1_AXI_S_BRIDGE_CLK] = &gcc_pcie1_axi_s_bridge_clk.clkr,
343862306a36Sopenharmony_ci	[GCC_PCIE1_AXI_S_CLK] = &gcc_pcie1_axi_s_clk.clkr,
343962306a36Sopenharmony_ci	[GCC_PRNG_AHB_CLK] = &gcc_prng_ahb_clk.clkr,
344062306a36Sopenharmony_ci	[GCC_Q6_AXIM_CLK] = &gcc_q6_axim_clk.clkr,
344162306a36Sopenharmony_ci	[GCC_Q6_AXIM2_CLK] = &gcc_q6_axim2_clk.clkr,
344262306a36Sopenharmony_ci	[GCC_Q6_AXIS_CLK] = &gcc_q6_axis_clk.clkr,
344362306a36Sopenharmony_ci	[GCC_Q6_AHB_CLK] = &gcc_q6_ahb_clk.clkr,
344462306a36Sopenharmony_ci	[GCC_Q6_AHB_S_CLK] = &gcc_q6_ahb_s_clk.clkr,
344562306a36Sopenharmony_ci	[GCC_Q6_TSCTR_1TO2_CLK] = &gcc_q6_tsctr_1to2_clk.clkr,
344662306a36Sopenharmony_ci	[GCC_Q6SS_ATBM_CLK] = &gcc_q6ss_atbm_clk.clkr,
344762306a36Sopenharmony_ci	[GCC_Q6SS_PCLKDBG_CLK] = &gcc_q6ss_pclkdbg_clk.clkr,
344862306a36Sopenharmony_ci	[GCC_Q6SS_TRIG_CLK] = &gcc_q6ss_trig_clk.clkr,
344962306a36Sopenharmony_ci	[GCC_QDSS_AT_CLK] = &gcc_qdss_at_clk.clkr,
345062306a36Sopenharmony_ci	[GCC_QDSS_CFG_AHB_CLK] = &gcc_qdss_cfg_ahb_clk.clkr,
345162306a36Sopenharmony_ci	[GCC_QDSS_DAP_AHB_CLK] = &gcc_qdss_dap_ahb_clk.clkr,
345262306a36Sopenharmony_ci	[GCC_QDSS_DAP_CLK] = &gcc_qdss_dap_clk.clkr,
345362306a36Sopenharmony_ci	[GCC_QDSS_ETR_USB_CLK] = &gcc_qdss_etr_usb_clk.clkr,
345462306a36Sopenharmony_ci	[GCC_QDSS_EUD_AT_CLK] = &gcc_qdss_eud_at_clk.clkr,
345562306a36Sopenharmony_ci	[GCC_QDSS_STM_CLK] = &gcc_qdss_stm_clk.clkr,
345662306a36Sopenharmony_ci	[GCC_QDSS_TRACECLKIN_CLK] = &gcc_qdss_traceclkin_clk.clkr,
345762306a36Sopenharmony_ci	[GCC_QDSS_TSCTR_DIV8_CLK] = &gcc_qdss_tsctr_div8_clk.clkr,
345862306a36Sopenharmony_ci	[GCC_QPIC_AHB_CLK] = &gcc_qpic_ahb_clk.clkr,
345962306a36Sopenharmony_ci	[GCC_QPIC_CLK] = &gcc_qpic_clk.clkr,
346062306a36Sopenharmony_ci	[GCC_QPIC_IO_MACRO_CLK] = &gcc_qpic_io_macro_clk.clkr,
346162306a36Sopenharmony_ci	[GCC_SDCC1_AHB_CLK] = &gcc_sdcc1_ahb_clk.clkr,
346262306a36Sopenharmony_ci	[GCC_SDCC1_APPS_CLK] = &gcc_sdcc1_apps_clk.clkr,
346362306a36Sopenharmony_ci	[GCC_SLEEP_CLK_SRC] = &gcc_sleep_clk_src.clkr,
346462306a36Sopenharmony_ci	[GCC_SNOC_GMAC0_AHB_CLK] = &gcc_snoc_gmac0_ahb_clk.clkr,
346562306a36Sopenharmony_ci	[GCC_SNOC_GMAC0_AXI_CLK] = &gcc_snoc_gmac0_axi_clk.clkr,
346662306a36Sopenharmony_ci	[GCC_SNOC_GMAC1_AHB_CLK] = &gcc_snoc_gmac1_ahb_clk.clkr,
346762306a36Sopenharmony_ci	[GCC_SNOC_GMAC1_AXI_CLK] = &gcc_snoc_gmac1_axi_clk.clkr,
346862306a36Sopenharmony_ci	[GCC_SNOC_LPASS_AXIM_CLK] = &gcc_snoc_lpass_axim_clk.clkr,
346962306a36Sopenharmony_ci	[GCC_SNOC_LPASS_SWAY_CLK] = &gcc_snoc_lpass_sway_clk.clkr,
347062306a36Sopenharmony_ci	[GCC_SNOC_UBI0_AXI_CLK] = &gcc_snoc_ubi0_axi_clk.clkr,
347162306a36Sopenharmony_ci	[GCC_SYS_NOC_PCIE0_AXI_CLK] = &gcc_sys_noc_pcie0_axi_clk.clkr,
347262306a36Sopenharmony_ci	[GCC_SYS_NOC_PCIE1_AXI_CLK] = &gcc_sys_noc_pcie1_axi_clk.clkr,
347362306a36Sopenharmony_ci	[GCC_SYS_NOC_QDSS_STM_AXI_CLK] = &gcc_sys_noc_qdss_stm_axi_clk.clkr,
347462306a36Sopenharmony_ci	[GCC_SYS_NOC_USB0_AXI_CLK] = &gcc_sys_noc_usb0_axi_clk.clkr,
347562306a36Sopenharmony_ci	[GCC_SYS_NOC_WCSS_AHB_CLK] = &gcc_sys_noc_wcss_ahb_clk.clkr,
347662306a36Sopenharmony_ci	[GCC_UBI0_AXI_CLK] = &gcc_ubi0_axi_clk.clkr,
347762306a36Sopenharmony_ci	[GCC_UBI0_CFG_CLK] = &gcc_ubi0_cfg_clk.clkr,
347862306a36Sopenharmony_ci	[GCC_UBI0_CORE_CLK] = &gcc_ubi0_core_clk.clkr,
347962306a36Sopenharmony_ci	[GCC_UBI0_DBG_CLK] = &gcc_ubi0_dbg_clk.clkr,
348062306a36Sopenharmony_ci	[GCC_UBI0_NC_AXI_CLK] = &gcc_ubi0_nc_axi_clk.clkr,
348162306a36Sopenharmony_ci	[GCC_UBI0_UTCM_CLK] = &gcc_ubi0_utcm_clk.clkr,
348262306a36Sopenharmony_ci	[GCC_UNIPHY_AHB_CLK] = &gcc_uniphy_ahb_clk.clkr,
348362306a36Sopenharmony_ci	[GCC_UNIPHY_RX_CLK] = &gcc_uniphy_rx_clk.clkr,
348462306a36Sopenharmony_ci	[GCC_UNIPHY_SYS_CLK] = &gcc_uniphy_sys_clk.clkr,
348562306a36Sopenharmony_ci	[GCC_UNIPHY_TX_CLK] = &gcc_uniphy_tx_clk.clkr,
348662306a36Sopenharmony_ci	[GCC_USB0_AUX_CLK] = &gcc_usb0_aux_clk.clkr,
348762306a36Sopenharmony_ci	[GCC_USB0_EUD_AT_CLK] = &gcc_usb0_eud_at_clk.clkr,
348862306a36Sopenharmony_ci	[GCC_USB0_LFPS_CLK] = &gcc_usb0_lfps_clk.clkr,
348962306a36Sopenharmony_ci	[GCC_USB0_MASTER_CLK] = &gcc_usb0_master_clk.clkr,
349062306a36Sopenharmony_ci	[GCC_USB0_MOCK_UTMI_CLK] = &gcc_usb0_mock_utmi_clk.clkr,
349162306a36Sopenharmony_ci	[GCC_USB0_PHY_CFG_AHB_CLK] = &gcc_usb0_phy_cfg_ahb_clk.clkr,
349262306a36Sopenharmony_ci	[GCC_USB0_SLEEP_CLK] = &gcc_usb0_sleep_clk.clkr,
349362306a36Sopenharmony_ci	[GCC_WCSS_ACMT_CLK] = &gcc_wcss_acmt_clk.clkr,
349462306a36Sopenharmony_ci	[GCC_WCSS_AHB_S_CLK] = &gcc_wcss_ahb_s_clk.clkr,
349562306a36Sopenharmony_ci	[GCC_WCSS_AXI_M_CLK] = &gcc_wcss_axi_m_clk.clkr,
349662306a36Sopenharmony_ci	[GCC_WCSS_AXI_S_CLK] = &gcc_wcss_axi_s_clk.clkr,
349762306a36Sopenharmony_ci	[GCC_WCSS_DBG_IFC_APB_BDG_CLK] = &gcc_wcss_dbg_ifc_apb_bdg_clk.clkr,
349862306a36Sopenharmony_ci	[GCC_WCSS_DBG_IFC_APB_CLK] = &gcc_wcss_dbg_ifc_apb_clk.clkr,
349962306a36Sopenharmony_ci	[GCC_WCSS_DBG_IFC_ATB_BDG_CLK] = &gcc_wcss_dbg_ifc_atb_bdg_clk.clkr,
350062306a36Sopenharmony_ci	[GCC_WCSS_DBG_IFC_ATB_CLK] = &gcc_wcss_dbg_ifc_atb_clk.clkr,
350162306a36Sopenharmony_ci	[GCC_WCSS_DBG_IFC_DAPBUS_BDG_CLK] = &gcc_wcss_dbg_ifc_dapbus_bdg_clk.clkr,
350262306a36Sopenharmony_ci	[GCC_WCSS_DBG_IFC_DAPBUS_CLK] = &gcc_wcss_dbg_ifc_dapbus_clk.clkr,
350362306a36Sopenharmony_ci	[GCC_WCSS_DBG_IFC_NTS_BDG_CLK] = &gcc_wcss_dbg_ifc_nts_bdg_clk.clkr,
350462306a36Sopenharmony_ci	[GCC_WCSS_DBG_IFC_NTS_CLK] = &gcc_wcss_dbg_ifc_nts_clk.clkr,
350562306a36Sopenharmony_ci	[GCC_WCSS_ECAHB_CLK] = &gcc_wcss_ecahb_clk.clkr,
350662306a36Sopenharmony_ci	[GCC_XO_CLK] = &gcc_xo_clk.clkr,
350762306a36Sopenharmony_ci	[GCC_XO_CLK_SRC] = &gcc_xo_clk_src.clkr,
350862306a36Sopenharmony_ci	[GMAC0_RX_CLK_SRC] = &gmac0_rx_clk_src.clkr,
350962306a36Sopenharmony_ci	[GMAC0_RX_DIV_CLK_SRC] = &gmac0_rx_div_clk_src.clkr,
351062306a36Sopenharmony_ci	[GMAC0_TX_CLK_SRC] = &gmac0_tx_clk_src.clkr,
351162306a36Sopenharmony_ci	[GMAC0_TX_DIV_CLK_SRC] = &gmac0_tx_div_clk_src.clkr,
351262306a36Sopenharmony_ci	[GMAC1_RX_CLK_SRC] = &gmac1_rx_clk_src.clkr,
351362306a36Sopenharmony_ci	[GMAC1_RX_DIV_CLK_SRC] = &gmac1_rx_div_clk_src.clkr,
351462306a36Sopenharmony_ci	[GMAC1_TX_CLK_SRC] = &gmac1_tx_clk_src.clkr,
351562306a36Sopenharmony_ci	[GMAC1_TX_DIV_CLK_SRC] = &gmac1_tx_div_clk_src.clkr,
351662306a36Sopenharmony_ci	[GMAC_CLK_SRC] = &gmac_clk_src.clkr,
351762306a36Sopenharmony_ci	[GP1_CLK_SRC] = &gp1_clk_src.clkr,
351862306a36Sopenharmony_ci	[GP2_CLK_SRC] = &gp2_clk_src.clkr,
351962306a36Sopenharmony_ci	[GP3_CLK_SRC] = &gp3_clk_src.clkr,
352062306a36Sopenharmony_ci	[LPASS_AXIM_CLK_SRC] = &lpass_axim_clk_src.clkr,
352162306a36Sopenharmony_ci	[LPASS_SWAY_CLK_SRC] = &lpass_sway_clk_src.clkr,
352262306a36Sopenharmony_ci	[PCIE0_AUX_CLK_SRC] = &pcie0_aux_clk_src.clkr,
352362306a36Sopenharmony_ci	[PCIE0_AXI_CLK_SRC] = &pcie0_axi_clk_src.clkr,
352462306a36Sopenharmony_ci	[PCIE1_AUX_CLK_SRC] = &pcie1_aux_clk_src.clkr,
352562306a36Sopenharmony_ci	[PCIE1_AXI_CLK_SRC] = &pcie1_axi_clk_src.clkr,
352662306a36Sopenharmony_ci	[PCNOC_BFDCD_CLK_SRC] = &pcnoc_bfdcd_clk_src.clkr,
352762306a36Sopenharmony_ci	[Q6_AXI_CLK_SRC] = &q6_axi_clk_src.clkr,
352862306a36Sopenharmony_ci	[QDSS_AT_CLK_SRC] = &qdss_at_clk_src.clkr,
352962306a36Sopenharmony_ci	[QDSS_STM_CLK_SRC] = &qdss_stm_clk_src.clkr,
353062306a36Sopenharmony_ci	[QDSS_TSCTR_CLK_SRC] = &qdss_tsctr_clk_src.clkr,
353162306a36Sopenharmony_ci	[QDSS_TRACECLKIN_CLK_SRC] = &qdss_traceclkin_clk_src.clkr,
353262306a36Sopenharmony_ci	[QPIC_IO_MACRO_CLK_SRC] = &qpic_io_macro_clk_src.clkr,
353362306a36Sopenharmony_ci	[SDCC1_APPS_CLK_SRC] = &sdcc1_apps_clk_src.clkr,
353462306a36Sopenharmony_ci	[SYSTEM_NOC_BFDCD_CLK_SRC] = &system_noc_bfdcd_clk_src.clkr,
353562306a36Sopenharmony_ci	[UBI0_AXI_CLK_SRC] = &ubi0_axi_clk_src.clkr,
353662306a36Sopenharmony_ci	[UBI0_CORE_CLK_SRC] = &ubi0_core_clk_src.clkr,
353762306a36Sopenharmony_ci	[USB0_AUX_CLK_SRC] = &usb0_aux_clk_src.clkr,
353862306a36Sopenharmony_ci	[USB0_LFPS_CLK_SRC] = &usb0_lfps_clk_src.clkr,
353962306a36Sopenharmony_ci	[USB0_MASTER_CLK_SRC] = &usb0_master_clk_src.clkr,
354062306a36Sopenharmony_ci	[USB0_MOCK_UTMI_CLK_SRC] = &usb0_mock_utmi_clk_src.clkr,
354162306a36Sopenharmony_ci	[WCSS_AHB_CLK_SRC] = &wcss_ahb_clk_src.clkr,
354262306a36Sopenharmony_ci	[PCIE0_PIPE_CLK_SRC] = &pcie0_pipe_clk_src.clkr,
354362306a36Sopenharmony_ci	[PCIE1_PIPE_CLK_SRC] = &pcie1_pipe_clk_src.clkr,
354462306a36Sopenharmony_ci	[GCC_PCIE0_PIPE_CLK] = &gcc_pcie0_pipe_clk.clkr,
354562306a36Sopenharmony_ci	[GCC_PCIE1_PIPE_CLK] = &gcc_pcie1_pipe_clk.clkr,
354662306a36Sopenharmony_ci	[USB0_PIPE_CLK_SRC] = &usb0_pipe_clk_src.clkr,
354762306a36Sopenharmony_ci	[GCC_USB0_PIPE_CLK] = &gcc_usb0_pipe_clk.clkr,
354862306a36Sopenharmony_ci};
354962306a36Sopenharmony_ci
355062306a36Sopenharmony_cistatic const struct qcom_reset_map gcc_ipq5018_resets[] = {
355162306a36Sopenharmony_ci	[GCC_APC0_VOLTAGE_DROOP_DETECTOR_BCR] = { 0x78000, 0 },
355262306a36Sopenharmony_ci	[GCC_BLSP1_BCR] = { 0x01000, 0 },
355362306a36Sopenharmony_ci	[GCC_BLSP1_QUP1_BCR] = { 0x02000, 0 },
355462306a36Sopenharmony_ci	[GCC_BLSP1_QUP2_BCR] = { 0x03008, 0 },
355562306a36Sopenharmony_ci	[GCC_BLSP1_QUP3_BCR] = { 0x04008, 0 },
355662306a36Sopenharmony_ci	[GCC_BLSP1_UART1_BCR] = { 0x02038, 0 },
355762306a36Sopenharmony_ci	[GCC_BLSP1_UART2_BCR] = { 0x03028, 0 },
355862306a36Sopenharmony_ci	[GCC_BOOT_ROM_BCR] = { 0x13008, 0 },
355962306a36Sopenharmony_ci	[GCC_BTSS_BCR] = { 0x1c000, 0 },
356062306a36Sopenharmony_ci	[GCC_CMN_BLK_BCR] = { 0x56300, 0 },
356162306a36Sopenharmony_ci	[GCC_CMN_LDO_BCR] = { 0x33000, 0 },
356262306a36Sopenharmony_ci	[GCC_CE_BCR] = { 0x33014, 0 },
356362306a36Sopenharmony_ci	[GCC_CRYPTO_BCR] = { 0x16000, 0 },
356462306a36Sopenharmony_ci	[GCC_DCC_BCR] = { 0x77000, 0 },
356562306a36Sopenharmony_ci	[GCC_DCD_BCR] = { 0x2a000, 0 },
356662306a36Sopenharmony_ci	[GCC_DDRSS_BCR] = { 0x1e000, 0 },
356762306a36Sopenharmony_ci	[GCC_EDPD_BCR] = { 0x3a000, 0 },
356862306a36Sopenharmony_ci	[GCC_GEPHY_BCR] = { 0x56000, 0 },
356962306a36Sopenharmony_ci	[GCC_GEPHY_MDC_SW_ARES] = { 0x56004, 0 },
357062306a36Sopenharmony_ci	[GCC_GEPHY_DSP_HW_ARES] = { 0x56004, 1 },
357162306a36Sopenharmony_ci	[GCC_GEPHY_RX_ARES] = { 0x56004, 2 },
357262306a36Sopenharmony_ci	[GCC_GEPHY_TX_ARES] = { 0x56004, 3 },
357362306a36Sopenharmony_ci	[GCC_GMAC0_BCR] = { 0x19000, 0 },
357462306a36Sopenharmony_ci	[GCC_GMAC0_CFG_ARES] = { 0x68428, 0 },
357562306a36Sopenharmony_ci	[GCC_GMAC0_SYS_ARES] = { 0x68428, 1 },
357662306a36Sopenharmony_ci	[GCC_GMAC1_BCR] = { 0x19100, 0 },
357762306a36Sopenharmony_ci	[GCC_GMAC1_CFG_ARES] = { 0x68438, 0 },
357862306a36Sopenharmony_ci	[GCC_GMAC1_SYS_ARES] = { 0x68438, 1 },
357962306a36Sopenharmony_ci	[GCC_IMEM_BCR] = { 0x0e000, 0 },
358062306a36Sopenharmony_ci	[GCC_LPASS_BCR] = { 0x2e000, 0 },
358162306a36Sopenharmony_ci	[GCC_MDIO0_BCR] = { 0x58000, 0 },
358262306a36Sopenharmony_ci	[GCC_MDIO1_BCR] = { 0x58010, 0 },
358362306a36Sopenharmony_ci	[GCC_MPM_BCR] = { 0x2c000, 0 },
358462306a36Sopenharmony_ci	[GCC_PCIE0_BCR] = { 0x75004, 0 },
358562306a36Sopenharmony_ci	[GCC_PCIE0_LINK_DOWN_BCR] = { 0x750a8, 0 },
358662306a36Sopenharmony_ci	[GCC_PCIE0_PHY_BCR] = { 0x75038, 0 },
358762306a36Sopenharmony_ci	[GCC_PCIE0PHY_PHY_BCR] = { 0x7503c, 0 },
358862306a36Sopenharmony_ci	[GCC_PCIE0_PIPE_ARES] = { 0x75040, 0 },
358962306a36Sopenharmony_ci	[GCC_PCIE0_SLEEP_ARES] = { 0x75040, 1 },
359062306a36Sopenharmony_ci	[GCC_PCIE0_CORE_STICKY_ARES] = { 0x75040, 2 },
359162306a36Sopenharmony_ci	[GCC_PCIE0_AXI_MASTER_ARES] = { 0x75040, 3 },
359262306a36Sopenharmony_ci	[GCC_PCIE0_AXI_SLAVE_ARES] = { 0x75040, 4 },
359362306a36Sopenharmony_ci	[GCC_PCIE0_AHB_ARES] = { 0x75040, 5 },
359462306a36Sopenharmony_ci	[GCC_PCIE0_AXI_MASTER_STICKY_ARES] = { 0x75040, 6 },
359562306a36Sopenharmony_ci	[GCC_PCIE0_AXI_SLAVE_STICKY_ARES] = { 0x75040, 7 },
359662306a36Sopenharmony_ci	[GCC_PCIE1_BCR] = { 0x76004, 0 },
359762306a36Sopenharmony_ci	[GCC_PCIE1_LINK_DOWN_BCR] = { 0x76044, 0 },
359862306a36Sopenharmony_ci	[GCC_PCIE1_PHY_BCR] = { 0x76038, 0 },
359962306a36Sopenharmony_ci	[GCC_PCIE1PHY_PHY_BCR] = { 0x7603c, 0 },
360062306a36Sopenharmony_ci	[GCC_PCIE1_PIPE_ARES] = { 0x76040, 0 },
360162306a36Sopenharmony_ci	[GCC_PCIE1_SLEEP_ARES] = { 0x76040, 1 },
360262306a36Sopenharmony_ci	[GCC_PCIE1_CORE_STICKY_ARES] = { 0x76040, 2 },
360362306a36Sopenharmony_ci	[GCC_PCIE1_AXI_MASTER_ARES] = { 0x76040, 3 },
360462306a36Sopenharmony_ci	[GCC_PCIE1_AXI_SLAVE_ARES] = { 0x76040, 4 },
360562306a36Sopenharmony_ci	[GCC_PCIE1_AHB_ARES] = { 0x76040, 5 },
360662306a36Sopenharmony_ci	[GCC_PCIE1_AXI_MASTER_STICKY_ARES] = { 0x76040, 6 },
360762306a36Sopenharmony_ci	[GCC_PCIE1_AXI_SLAVE_STICKY_ARES] = { 0x76040, 7 },
360862306a36Sopenharmony_ci	[GCC_PCNOC_BCR] = { 0x27018, 0 },
360962306a36Sopenharmony_ci	[GCC_PCNOC_BUS_TIMEOUT0_BCR] = { 0x48000, 0 },
361062306a36Sopenharmony_ci	[GCC_PCNOC_BUS_TIMEOUT1_BCR] = { 0x48008, 0 },
361162306a36Sopenharmony_ci	[GCC_PCNOC_BUS_TIMEOUT2_BCR] = { 0x48010, 0 },
361262306a36Sopenharmony_ci	[GCC_PCNOC_BUS_TIMEOUT3_BCR] = { 0x48018, 0 },
361362306a36Sopenharmony_ci	[GCC_PCNOC_BUS_TIMEOUT4_BCR] = { 0x48020, 0 },
361462306a36Sopenharmony_ci	[GCC_PCNOC_BUS_TIMEOUT5_BCR] = { 0x48028, 0 },
361562306a36Sopenharmony_ci	[GCC_PCNOC_BUS_TIMEOUT6_BCR] = { 0x48030, 0 },
361662306a36Sopenharmony_ci	[GCC_PCNOC_BUS_TIMEOUT7_BCR] = { 0x48038, 0 },
361762306a36Sopenharmony_ci	[GCC_PCNOC_BUS_TIMEOUT8_BCR] = { 0x48040, 0 },
361862306a36Sopenharmony_ci	[GCC_PCNOC_BUS_TIMEOUT9_BCR] = { 0x48048, 0 },
361962306a36Sopenharmony_ci	[GCC_PCNOC_BUS_TIMEOUT10_BCR] = { 0x48050, 0 },
362062306a36Sopenharmony_ci	[GCC_PCNOC_BUS_TIMEOUT11_BCR] = { 0x48058, 0 },
362162306a36Sopenharmony_ci	[GCC_PRNG_BCR] = { 0x13000, 0 },
362262306a36Sopenharmony_ci	[GCC_Q6SS_DBG_ARES] = { 0x59110, 0 },
362362306a36Sopenharmony_ci	[GCC_Q6_AHB_S_ARES] = { 0x59110, 1 },
362462306a36Sopenharmony_ci	[GCC_Q6_AHB_ARES] = { 0x59110, 2 },
362562306a36Sopenharmony_ci	[GCC_Q6_AXIM2_ARES] = { 0x59110, 3 },
362662306a36Sopenharmony_ci	[GCC_Q6_AXIM_ARES] = { 0x59110, 4 },
362762306a36Sopenharmony_ci	[GCC_Q6_AXIS_ARES] = { 0x59158, 0 },
362862306a36Sopenharmony_ci	[GCC_QDSS_BCR] = { 0x29000, 0 },
362962306a36Sopenharmony_ci	[GCC_QPIC_BCR] = { 0x57018, 0 },
363062306a36Sopenharmony_ci	[GCC_QUSB2_0_PHY_BCR] = { 0x41030, 0 },
363162306a36Sopenharmony_ci	[GCC_SDCC1_BCR] = { 0x42000, 0 },
363262306a36Sopenharmony_ci	[GCC_SEC_CTRL_BCR] = { 0x1a000, 0 },
363362306a36Sopenharmony_ci	[GCC_SPDM_BCR] = { 0x2f000, 0 },
363462306a36Sopenharmony_ci	[GCC_SYSTEM_NOC_BCR] = { 0x26000, 0 },
363562306a36Sopenharmony_ci	[GCC_TCSR_BCR] = { 0x28000, 0 },
363662306a36Sopenharmony_ci	[GCC_TLMM_BCR] = { 0x34000, 0 },
363762306a36Sopenharmony_ci	[GCC_UBI0_AXI_ARES] = { 0x68010, 0 },
363862306a36Sopenharmony_ci	[GCC_UBI0_AHB_ARES] = { 0x68010, 1 },
363962306a36Sopenharmony_ci	[GCC_UBI0_NC_AXI_ARES] = { 0x68010, 2 },
364062306a36Sopenharmony_ci	[GCC_UBI0_DBG_ARES] = { 0x68010, 3 },
364162306a36Sopenharmony_ci	[GCC_UBI0_UTCM_ARES] = { 0x68010, 6 },
364262306a36Sopenharmony_ci	[GCC_UBI0_CORE_ARES] = { 0x68010, 7 },
364362306a36Sopenharmony_ci	[GCC_UBI32_BCR] = { 0x19064, 0 },
364462306a36Sopenharmony_ci	[GCC_UNIPHY_BCR] = { 0x56100, 0 },
364562306a36Sopenharmony_ci	[GCC_UNIPHY_AHB_ARES] = { 0x56104, 0 },
364662306a36Sopenharmony_ci	[GCC_UNIPHY_SYS_ARES] = { 0x56104, 1 },
364762306a36Sopenharmony_ci	[GCC_UNIPHY_RX_ARES] = { 0x56104, 4 },
364862306a36Sopenharmony_ci	[GCC_UNIPHY_TX_ARES] = { 0x56104, 5 },
364962306a36Sopenharmony_ci	[GCC_UNIPHY_SOFT_RESET] = {0x56104, 0 },
365062306a36Sopenharmony_ci	[GCC_USB0_BCR] = { 0x3e070, 0 },
365162306a36Sopenharmony_ci	[GCC_USB0_PHY_BCR] = { 0x3e034, 0 },
365262306a36Sopenharmony_ci	[GCC_WCSS_BCR] = { 0x18000, 0 },
365362306a36Sopenharmony_ci	[GCC_WCSS_DBG_ARES] = { 0x59008, 0 },
365462306a36Sopenharmony_ci	[GCC_WCSS_ECAHB_ARES] = { 0x59008, 1 },
365562306a36Sopenharmony_ci	[GCC_WCSS_ACMT_ARES] = { 0x59008, 2 },
365662306a36Sopenharmony_ci	[GCC_WCSS_DBG_BDG_ARES] = { 0x59008, 3 },
365762306a36Sopenharmony_ci	[GCC_WCSS_AHB_S_ARES] = { 0x59008, 4 },
365862306a36Sopenharmony_ci	[GCC_WCSS_AXI_M_ARES] = { 0x59008, 5 },
365962306a36Sopenharmony_ci	[GCC_WCSS_AXI_S_ARES] = { 0x59008, 6 },
366062306a36Sopenharmony_ci	[GCC_WCSS_Q6_BCR] = { 0x18004, 0 },
366162306a36Sopenharmony_ci	[GCC_WCSSAON_RESET] = { 0x59010, 0},
366262306a36Sopenharmony_ci	[GCC_GEPHY_MISC_ARES] = { 0x56004, 0 },
366362306a36Sopenharmony_ci};
366462306a36Sopenharmony_ci
366562306a36Sopenharmony_cistatic const struct of_device_id gcc_ipq5018_match_table[] = {
366662306a36Sopenharmony_ci	{ .compatible = "qcom,gcc-ipq5018" },
366762306a36Sopenharmony_ci	{ }
366862306a36Sopenharmony_ci};
366962306a36Sopenharmony_ciMODULE_DEVICE_TABLE(of, gcc_ipq5018_match_table);
367062306a36Sopenharmony_ci
367162306a36Sopenharmony_cistatic const struct regmap_config gcc_ipq5018_regmap_config = {
367262306a36Sopenharmony_ci	.reg_bits = 32,
367362306a36Sopenharmony_ci	.reg_stride = 4,
367462306a36Sopenharmony_ci	.val_bits = 32,
367562306a36Sopenharmony_ci	.max_register = 0x7fffc,
367662306a36Sopenharmony_ci	.fast_io = true,
367762306a36Sopenharmony_ci};
367862306a36Sopenharmony_ci
367962306a36Sopenharmony_cistatic const struct qcom_cc_desc gcc_ipq5018_desc = {
368062306a36Sopenharmony_ci	.config = &gcc_ipq5018_regmap_config,
368162306a36Sopenharmony_ci	.clks = gcc_ipq5018_clks,
368262306a36Sopenharmony_ci	.num_clks = ARRAY_SIZE(gcc_ipq5018_clks),
368362306a36Sopenharmony_ci	.resets = gcc_ipq5018_resets,
368462306a36Sopenharmony_ci	.num_resets = ARRAY_SIZE(gcc_ipq5018_resets),
368562306a36Sopenharmony_ci	.clk_hws = gcc_ipq5018_hws,
368662306a36Sopenharmony_ci	.num_clk_hws = ARRAY_SIZE(gcc_ipq5018_hws),
368762306a36Sopenharmony_ci};
368862306a36Sopenharmony_ci
368962306a36Sopenharmony_cistatic int gcc_ipq5018_probe(struct platform_device *pdev)
369062306a36Sopenharmony_ci{
369162306a36Sopenharmony_ci	struct regmap *regmap;
369262306a36Sopenharmony_ci	struct qcom_cc_desc ipq5018_desc = gcc_ipq5018_desc;
369362306a36Sopenharmony_ci
369462306a36Sopenharmony_ci	regmap = qcom_cc_map(pdev, &ipq5018_desc);
369562306a36Sopenharmony_ci	if (IS_ERR(regmap))
369662306a36Sopenharmony_ci		return PTR_ERR(regmap);
369762306a36Sopenharmony_ci
369862306a36Sopenharmony_ci	clk_alpha_pll_configure(&ubi32_pll_main, regmap, &ubi32_pll_config);
369962306a36Sopenharmony_ci
370062306a36Sopenharmony_ci	return qcom_cc_really_probe(pdev, &ipq5018_desc, regmap);
370162306a36Sopenharmony_ci}
370262306a36Sopenharmony_ci
370362306a36Sopenharmony_cistatic struct platform_driver gcc_ipq5018_driver = {
370462306a36Sopenharmony_ci	.probe = gcc_ipq5018_probe,
370562306a36Sopenharmony_ci	.driver = {
370662306a36Sopenharmony_ci		.name = "qcom,gcc-ipq5018",
370762306a36Sopenharmony_ci		.of_match_table = gcc_ipq5018_match_table,
370862306a36Sopenharmony_ci	},
370962306a36Sopenharmony_ci};
371062306a36Sopenharmony_ci
371162306a36Sopenharmony_cistatic int __init gcc_ipq5018_init(void)
371262306a36Sopenharmony_ci{
371362306a36Sopenharmony_ci	return platform_driver_register(&gcc_ipq5018_driver);
371462306a36Sopenharmony_ci}
371562306a36Sopenharmony_cicore_initcall(gcc_ipq5018_init);
371662306a36Sopenharmony_ci
371762306a36Sopenharmony_cistatic void __exit gcc_ipq5018_exit(void)
371862306a36Sopenharmony_ci{
371962306a36Sopenharmony_ci	platform_driver_unregister(&gcc_ipq5018_driver);
372062306a36Sopenharmony_ci}
372162306a36Sopenharmony_cimodule_exit(gcc_ipq5018_exit);
372262306a36Sopenharmony_ci
372362306a36Sopenharmony_ciMODULE_DESCRIPTION("Qualcomm Technologies, Inc. GCC IPQ5018 Driver");
372462306a36Sopenharmony_ciMODULE_LICENSE("GPL");
3725