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
662306a36Sopenharmony_ci#include <linux/clk-provider.h>
762306a36Sopenharmony_ci#include <linux/kernel.h>
862306a36Sopenharmony_ci#include <linux/module.h>
962306a36Sopenharmony_ci#include <linux/of.h>
1062306a36Sopenharmony_ci#include <linux/platform_device.h>
1162306a36Sopenharmony_ci#include <linux/regmap.h>
1262306a36Sopenharmony_ci
1362306a36Sopenharmony_ci#include <dt-bindings/clock/qcom,ipq9574-gcc.h>
1462306a36Sopenharmony_ci#include <dt-bindings/reset/qcom,ipq9574-gcc.h>
1562306a36Sopenharmony_ci
1662306a36Sopenharmony_ci#include "clk-alpha-pll.h"
1762306a36Sopenharmony_ci#include "clk-branch.h"
1862306a36Sopenharmony_ci#include "clk-rcg.h"
1962306a36Sopenharmony_ci#include "clk-regmap.h"
2062306a36Sopenharmony_ci#include "clk-regmap-divider.h"
2162306a36Sopenharmony_ci#include "clk-regmap-mux.h"
2262306a36Sopenharmony_ci#include "clk-regmap-phy-mux.h"
2362306a36Sopenharmony_ci#include "common.h"
2462306a36Sopenharmony_ci#include "reset.h"
2562306a36Sopenharmony_ci
2662306a36Sopenharmony_ci/* Need to match the order of clocks in DT binding */
2762306a36Sopenharmony_cienum {
2862306a36Sopenharmony_ci	DT_XO,
2962306a36Sopenharmony_ci	DT_SLEEP_CLK,
3062306a36Sopenharmony_ci	DT_BIAS_PLL_UBI_NC_CLK,
3162306a36Sopenharmony_ci	DT_PCIE30_PHY0_PIPE_CLK,
3262306a36Sopenharmony_ci	DT_PCIE30_PHY1_PIPE_CLK,
3362306a36Sopenharmony_ci	DT_PCIE30_PHY2_PIPE_CLK,
3462306a36Sopenharmony_ci	DT_PCIE30_PHY3_PIPE_CLK,
3562306a36Sopenharmony_ci	DT_USB3PHY_0_CC_PIPE_CLK,
3662306a36Sopenharmony_ci};
3762306a36Sopenharmony_ci
3862306a36Sopenharmony_cienum {
3962306a36Sopenharmony_ci	P_XO,
4062306a36Sopenharmony_ci	P_PCIE30_PHY0_PIPE,
4162306a36Sopenharmony_ci	P_PCIE30_PHY1_PIPE,
4262306a36Sopenharmony_ci	P_PCIE30_PHY2_PIPE,
4362306a36Sopenharmony_ci	P_PCIE30_PHY3_PIPE,
4462306a36Sopenharmony_ci	P_USB3PHY_0_PIPE,
4562306a36Sopenharmony_ci	P_GPLL0,
4662306a36Sopenharmony_ci	P_GPLL0_DIV2,
4762306a36Sopenharmony_ci	P_GPLL0_OUT_AUX,
4862306a36Sopenharmony_ci	P_GPLL2,
4962306a36Sopenharmony_ci	P_GPLL4,
5062306a36Sopenharmony_ci	P_PI_SLEEP,
5162306a36Sopenharmony_ci	P_BIAS_PLL_UBI_NC_CLK,
5262306a36Sopenharmony_ci};
5362306a36Sopenharmony_ci
5462306a36Sopenharmony_cistatic const struct parent_map gcc_xo_map[] = {
5562306a36Sopenharmony_ci	{ P_XO, 0 },
5662306a36Sopenharmony_ci};
5762306a36Sopenharmony_ci
5862306a36Sopenharmony_cistatic const struct clk_parent_data gcc_xo_data[] = {
5962306a36Sopenharmony_ci	{ .index = DT_XO },
6062306a36Sopenharmony_ci};
6162306a36Sopenharmony_ci
6262306a36Sopenharmony_cistatic const struct clk_parent_data gcc_sleep_clk_data[] = {
6362306a36Sopenharmony_ci	{ .index = DT_SLEEP_CLK },
6462306a36Sopenharmony_ci};
6562306a36Sopenharmony_ci
6662306a36Sopenharmony_cistatic struct clk_alpha_pll gpll0_main = {
6762306a36Sopenharmony_ci	.offset = 0x20000,
6862306a36Sopenharmony_ci	.regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_DEFAULT],
6962306a36Sopenharmony_ci	.clkr = {
7062306a36Sopenharmony_ci		.enable_reg = 0x0b000,
7162306a36Sopenharmony_ci		.enable_mask = BIT(0),
7262306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
7362306a36Sopenharmony_ci			.name = "gpll0_main",
7462306a36Sopenharmony_ci			.parent_data = gcc_xo_data,
7562306a36Sopenharmony_ci			.num_parents = ARRAY_SIZE(gcc_xo_data),
7662306a36Sopenharmony_ci			.ops = &clk_alpha_pll_ops,
7762306a36Sopenharmony_ci		},
7862306a36Sopenharmony_ci	},
7962306a36Sopenharmony_ci};
8062306a36Sopenharmony_ci
8162306a36Sopenharmony_cistatic struct clk_fixed_factor gpll0_out_main_div2 = {
8262306a36Sopenharmony_ci	.mult = 1,
8362306a36Sopenharmony_ci	.div = 2,
8462306a36Sopenharmony_ci	.hw.init = &(const struct clk_init_data) {
8562306a36Sopenharmony_ci		.name = "gpll0_out_main_div2",
8662306a36Sopenharmony_ci		.parent_hws = (const struct clk_hw *[]) {
8762306a36Sopenharmony_ci			&gpll0_main.clkr.hw
8862306a36Sopenharmony_ci		},
8962306a36Sopenharmony_ci		.num_parents = 1,
9062306a36Sopenharmony_ci		.ops = &clk_fixed_factor_ops,
9162306a36Sopenharmony_ci	},
9262306a36Sopenharmony_ci};
9362306a36Sopenharmony_ci
9462306a36Sopenharmony_cistatic struct clk_alpha_pll_postdiv gpll0 = {
9562306a36Sopenharmony_ci	.offset = 0x20000,
9662306a36Sopenharmony_ci	.regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_DEFAULT],
9762306a36Sopenharmony_ci	.width = 4,
9862306a36Sopenharmony_ci	.clkr.hw.init = &(const struct clk_init_data) {
9962306a36Sopenharmony_ci		.name = "gpll0",
10062306a36Sopenharmony_ci		.parent_hws = (const struct clk_hw *[]) {
10162306a36Sopenharmony_ci			&gpll0_main.clkr.hw
10262306a36Sopenharmony_ci		},
10362306a36Sopenharmony_ci		.num_parents = 1,
10462306a36Sopenharmony_ci		.ops = &clk_alpha_pll_postdiv_ro_ops,
10562306a36Sopenharmony_ci	},
10662306a36Sopenharmony_ci};
10762306a36Sopenharmony_ci
10862306a36Sopenharmony_cistatic struct clk_alpha_pll gpll4_main = {
10962306a36Sopenharmony_ci	.offset = 0x22000,
11062306a36Sopenharmony_ci	.regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_DEFAULT],
11162306a36Sopenharmony_ci	.clkr = {
11262306a36Sopenharmony_ci		.enable_reg = 0x0b000,
11362306a36Sopenharmony_ci		.enable_mask = BIT(2),
11462306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
11562306a36Sopenharmony_ci			.name = "gpll4_main",
11662306a36Sopenharmony_ci			.parent_data = gcc_xo_data,
11762306a36Sopenharmony_ci			.num_parents = ARRAY_SIZE(gcc_xo_data),
11862306a36Sopenharmony_ci			.ops = &clk_alpha_pll_ops,
11962306a36Sopenharmony_ci		},
12062306a36Sopenharmony_ci	},
12162306a36Sopenharmony_ci};
12262306a36Sopenharmony_ci
12362306a36Sopenharmony_cistatic struct clk_alpha_pll_postdiv gpll4 = {
12462306a36Sopenharmony_ci	.offset = 0x22000,
12562306a36Sopenharmony_ci	.regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_DEFAULT],
12662306a36Sopenharmony_ci	.width = 4,
12762306a36Sopenharmony_ci	.clkr.hw.init = &(const struct clk_init_data) {
12862306a36Sopenharmony_ci		.name = "gpll4",
12962306a36Sopenharmony_ci		.parent_hws = (const struct clk_hw *[]) {
13062306a36Sopenharmony_ci			&gpll4_main.clkr.hw
13162306a36Sopenharmony_ci		},
13262306a36Sopenharmony_ci		.num_parents = 1,
13362306a36Sopenharmony_ci		.ops = &clk_alpha_pll_postdiv_ro_ops,
13462306a36Sopenharmony_ci	},
13562306a36Sopenharmony_ci};
13662306a36Sopenharmony_ci
13762306a36Sopenharmony_cistatic struct clk_alpha_pll gpll2_main = {
13862306a36Sopenharmony_ci	.offset = 0x21000,
13962306a36Sopenharmony_ci	.regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_DEFAULT],
14062306a36Sopenharmony_ci	.clkr = {
14162306a36Sopenharmony_ci		.enable_reg = 0x0b000,
14262306a36Sopenharmony_ci		.enable_mask = BIT(1),
14362306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
14462306a36Sopenharmony_ci			.name = "gpll2_main",
14562306a36Sopenharmony_ci			.parent_data = gcc_xo_data,
14662306a36Sopenharmony_ci			.num_parents = ARRAY_SIZE(gcc_xo_data),
14762306a36Sopenharmony_ci			.ops = &clk_alpha_pll_ops,
14862306a36Sopenharmony_ci		},
14962306a36Sopenharmony_ci	},
15062306a36Sopenharmony_ci};
15162306a36Sopenharmony_ci
15262306a36Sopenharmony_cistatic struct clk_alpha_pll_postdiv gpll2 = {
15362306a36Sopenharmony_ci	.offset = 0x21000,
15462306a36Sopenharmony_ci	.regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_DEFAULT],
15562306a36Sopenharmony_ci	.width = 4,
15662306a36Sopenharmony_ci	.clkr.hw.init = &(const struct clk_init_data) {
15762306a36Sopenharmony_ci		.name = "gpll2",
15862306a36Sopenharmony_ci		.parent_hws = (const struct clk_hw *[]) {
15962306a36Sopenharmony_ci			&gpll2_main.clkr.hw
16062306a36Sopenharmony_ci		},
16162306a36Sopenharmony_ci		.num_parents = 1,
16262306a36Sopenharmony_ci		.ops = &clk_alpha_pll_postdiv_ro_ops,
16362306a36Sopenharmony_ci	},
16462306a36Sopenharmony_ci};
16562306a36Sopenharmony_ci
16662306a36Sopenharmony_cistatic struct clk_branch gcc_sleep_clk_src = {
16762306a36Sopenharmony_ci	.halt_reg = 0x3400c,
16862306a36Sopenharmony_ci	.clkr = {
16962306a36Sopenharmony_ci		.enable_reg = 0x3400c,
17062306a36Sopenharmony_ci		.enable_mask = BIT(1),
17162306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
17262306a36Sopenharmony_ci			.name = "gcc_sleep_clk_src",
17362306a36Sopenharmony_ci			.parent_data = gcc_sleep_clk_data,
17462306a36Sopenharmony_ci			.num_parents = ARRAY_SIZE(gcc_sleep_clk_data),
17562306a36Sopenharmony_ci			.flags = CLK_IS_CRITICAL,
17662306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
17762306a36Sopenharmony_ci		},
17862306a36Sopenharmony_ci	},
17962306a36Sopenharmony_ci};
18062306a36Sopenharmony_ci
18162306a36Sopenharmony_cistatic const struct clk_parent_data gcc_xo_gpll0_gpll0_out_main_div2[] = {
18262306a36Sopenharmony_ci	{ .index = DT_XO },
18362306a36Sopenharmony_ci	{ .hw = &gpll0.clkr.hw },
18462306a36Sopenharmony_ci	{ .hw = &gpll0_out_main_div2.hw },
18562306a36Sopenharmony_ci};
18662306a36Sopenharmony_ci
18762306a36Sopenharmony_cistatic const struct parent_map gcc_xo_gpll0_gpll0_out_main_div2_map[] = {
18862306a36Sopenharmony_ci	{ P_XO, 0 },
18962306a36Sopenharmony_ci	{ P_GPLL0, 1 },
19062306a36Sopenharmony_ci	{ P_GPLL0_DIV2, 4 },
19162306a36Sopenharmony_ci};
19262306a36Sopenharmony_ci
19362306a36Sopenharmony_cistatic const struct clk_parent_data gcc_xo_gpll0[] = {
19462306a36Sopenharmony_ci	{ .index = DT_XO },
19562306a36Sopenharmony_ci	{ .hw = &gpll0.clkr.hw },
19662306a36Sopenharmony_ci};
19762306a36Sopenharmony_ci
19862306a36Sopenharmony_cistatic const struct parent_map gcc_xo_gpll0_map[] = {
19962306a36Sopenharmony_ci	{ P_XO, 0 },
20062306a36Sopenharmony_ci	{ P_GPLL0, 1 },
20162306a36Sopenharmony_ci};
20262306a36Sopenharmony_ci
20362306a36Sopenharmony_cistatic const struct clk_parent_data gcc_xo_gpll0_gpll4[] = {
20462306a36Sopenharmony_ci	{ .index = DT_XO },
20562306a36Sopenharmony_ci	{ .hw = &gpll0.clkr.hw },
20662306a36Sopenharmony_ci	{ .hw = &gpll4.clkr.hw },
20762306a36Sopenharmony_ci};
20862306a36Sopenharmony_ci
20962306a36Sopenharmony_cistatic const struct parent_map gcc_xo_gpll0_gpll4_map[] = {
21062306a36Sopenharmony_ci	{ P_XO, 0 },
21162306a36Sopenharmony_ci	{ P_GPLL0, 1 },
21262306a36Sopenharmony_ci	{ P_GPLL4, 2 },
21362306a36Sopenharmony_ci};
21462306a36Sopenharmony_ci
21562306a36Sopenharmony_cistatic const struct clk_parent_data gcc_xo_gpll0_gpll0_div2_gpll0[] = {
21662306a36Sopenharmony_ci	{ .index = DT_XO },
21762306a36Sopenharmony_ci	{ .hw = &gpll0.clkr.hw },
21862306a36Sopenharmony_ci	{ .hw = &gpll0_out_main_div2.hw },
21962306a36Sopenharmony_ci	{ .hw = &gpll0.clkr.hw },
22062306a36Sopenharmony_ci};
22162306a36Sopenharmony_ci
22262306a36Sopenharmony_cistatic const struct parent_map gcc_xo_gpll0_gpll0_div2_gpll0_map[] = {
22362306a36Sopenharmony_ci	{ P_XO, 0 },
22462306a36Sopenharmony_ci	{ P_GPLL0, 1 },
22562306a36Sopenharmony_ci	{ P_GPLL0_DIV2, 4 },
22662306a36Sopenharmony_ci	{ P_GPLL0, 5 },
22762306a36Sopenharmony_ci};
22862306a36Sopenharmony_ci
22962306a36Sopenharmony_cistatic const struct clk_parent_data gcc_xo_gpll0_gpll0_sleep_clk[] = {
23062306a36Sopenharmony_ci	{ .index = DT_XO },
23162306a36Sopenharmony_ci	{ .hw = &gpll0.clkr.hw },
23262306a36Sopenharmony_ci	{ .hw = &gpll0_out_main_div2.hw },
23362306a36Sopenharmony_ci	{ .index = DT_SLEEP_CLK },
23462306a36Sopenharmony_ci};
23562306a36Sopenharmony_ci
23662306a36Sopenharmony_cistatic const struct parent_map gcc_xo_gpll0_gpll0_sleep_clk_map[] = {
23762306a36Sopenharmony_ci	{ P_XO, 0 },
23862306a36Sopenharmony_ci	{ P_GPLL0, 1 },
23962306a36Sopenharmony_ci	{ P_GPLL0_DIV2, 4 },
24062306a36Sopenharmony_ci	{ P_PI_SLEEP, 6 },
24162306a36Sopenharmony_ci};
24262306a36Sopenharmony_ci
24362306a36Sopenharmony_cistatic const struct clk_parent_data gcc_xo_gpll0_core_pi_sleep_clk[] = {
24462306a36Sopenharmony_ci	{ .index = DT_XO },
24562306a36Sopenharmony_ci	{ .hw = &gpll0.clkr.hw },
24662306a36Sopenharmony_ci	{ .index = DT_SLEEP_CLK },
24762306a36Sopenharmony_ci};
24862306a36Sopenharmony_ci
24962306a36Sopenharmony_cistatic const struct parent_map gcc_xo_gpll0_core_pi_sleep_clk_map[] = {
25062306a36Sopenharmony_ci	{ P_XO, 0 },
25162306a36Sopenharmony_ci	{ P_GPLL0, 2 },
25262306a36Sopenharmony_ci	{ P_PI_SLEEP, 6 },
25362306a36Sopenharmony_ci};
25462306a36Sopenharmony_ci
25562306a36Sopenharmony_cistatic const struct clk_parent_data gcc_xo_gpll0_gpll4_bias_pll_ubi_nc_clk[] = {
25662306a36Sopenharmony_ci	{ .index = DT_XO },
25762306a36Sopenharmony_ci	{ .hw = &gpll0.clkr.hw },
25862306a36Sopenharmony_ci	{ .hw = &gpll4.clkr.hw },
25962306a36Sopenharmony_ci	{ .index = DT_BIAS_PLL_UBI_NC_CLK },
26062306a36Sopenharmony_ci};
26162306a36Sopenharmony_ci
26262306a36Sopenharmony_cistatic const struct parent_map gcc_xo_gpll0_gpll4_bias_pll_ubi_nc_clk_map[] = {
26362306a36Sopenharmony_ci	{ P_XO, 0 },
26462306a36Sopenharmony_ci	{ P_GPLL0, 1 },
26562306a36Sopenharmony_ci	{ P_GPLL4, 2 },
26662306a36Sopenharmony_ci	{ P_BIAS_PLL_UBI_NC_CLK, 3 },
26762306a36Sopenharmony_ci};
26862306a36Sopenharmony_ci
26962306a36Sopenharmony_cistatic const struct clk_parent_data
27062306a36Sopenharmony_ci			gcc_xo_gpll0_gpll0_aux_core_pi_sleep_clk[] = {
27162306a36Sopenharmony_ci	{ .index = DT_XO },
27262306a36Sopenharmony_ci	{ .hw = &gpll0.clkr.hw },
27362306a36Sopenharmony_ci	{ .hw = &gpll0.clkr.hw },
27462306a36Sopenharmony_ci	{ .index = DT_SLEEP_CLK },
27562306a36Sopenharmony_ci};
27662306a36Sopenharmony_ci
27762306a36Sopenharmony_cistatic const struct parent_map
27862306a36Sopenharmony_ci			gcc_xo_gpll0_gpll0_aux_core_pi_sleep_clk_map[] = {
27962306a36Sopenharmony_ci	{ P_XO, 0 },
28062306a36Sopenharmony_ci	{ P_GPLL0, 1 },
28162306a36Sopenharmony_ci	{ P_GPLL0_OUT_AUX, 2 },
28262306a36Sopenharmony_ci	{ P_PI_SLEEP, 6 },
28362306a36Sopenharmony_ci};
28462306a36Sopenharmony_ci
28562306a36Sopenharmony_cistatic const struct clk_parent_data gcc_xo_gpll0_out_main_div2_gpll0[] = {
28662306a36Sopenharmony_ci	{ .index = DT_XO },
28762306a36Sopenharmony_ci	{ .hw = &gpll0.clkr.hw },
28862306a36Sopenharmony_ci	{ .hw = &gpll0_out_main_div2.hw },
28962306a36Sopenharmony_ci};
29062306a36Sopenharmony_ci
29162306a36Sopenharmony_cistatic const struct parent_map gcc_xo_gpll0_out_main_div2_gpll0_map[] = {
29262306a36Sopenharmony_ci	{ P_XO, 0 },
29362306a36Sopenharmony_ci	{ P_GPLL0, 1 },
29462306a36Sopenharmony_ci	{ P_GPLL0_DIV2, 4 },
29562306a36Sopenharmony_ci};
29662306a36Sopenharmony_ci
29762306a36Sopenharmony_cistatic const struct clk_parent_data
29862306a36Sopenharmony_ci			gcc_xo_gpll4_gpll0_gpll0_out_main_div2[] = {
29962306a36Sopenharmony_ci	{ .index = DT_XO },
30062306a36Sopenharmony_ci	{ .hw = &gpll4.clkr.hw },
30162306a36Sopenharmony_ci	{ .hw = &gpll0.clkr.hw },
30262306a36Sopenharmony_ci	{ .hw = &gpll0_out_main_div2.hw },
30362306a36Sopenharmony_ci};
30462306a36Sopenharmony_ci
30562306a36Sopenharmony_cistatic const struct parent_map gcc_xo_gpll4_gpll0_gpll0_out_main_div2_map[] = {
30662306a36Sopenharmony_ci	{ P_XO, 0 },
30762306a36Sopenharmony_ci	{ P_GPLL4, 1 },
30862306a36Sopenharmony_ci	{ P_GPLL0, 3 },
30962306a36Sopenharmony_ci	{ P_GPLL0_DIV2, 4 },
31062306a36Sopenharmony_ci};
31162306a36Sopenharmony_ci
31262306a36Sopenharmony_cistatic const struct clk_parent_data gcc_usb3phy_0_cc_pipe_clk_xo[] = {
31362306a36Sopenharmony_ci	{ .index = DT_USB3PHY_0_CC_PIPE_CLK },
31462306a36Sopenharmony_ci	{ .index = DT_XO },
31562306a36Sopenharmony_ci};
31662306a36Sopenharmony_ci
31762306a36Sopenharmony_cistatic const struct parent_map gcc_usb3phy_0_cc_pipe_clk_xo_map[] = {
31862306a36Sopenharmony_ci	{ P_USB3PHY_0_PIPE, 0 },
31962306a36Sopenharmony_ci	{ P_XO, 2 },
32062306a36Sopenharmony_ci};
32162306a36Sopenharmony_ci
32262306a36Sopenharmony_cistatic const struct clk_parent_data
32362306a36Sopenharmony_ci			gcc_xo_gpll0_gpll2_gpll0_out_main_div2[] = {
32462306a36Sopenharmony_ci	{ .index = DT_XO },
32562306a36Sopenharmony_ci	{ .hw = &gpll0.clkr.hw },
32662306a36Sopenharmony_ci	{ .hw = &gpll2.clkr.hw },
32762306a36Sopenharmony_ci	{ .hw = &gpll0_out_main_div2.hw },
32862306a36Sopenharmony_ci};
32962306a36Sopenharmony_ci
33062306a36Sopenharmony_cistatic const struct parent_map gcc_xo_gpll0_gpll2_gpll0_out_main_div2_map[] = {
33162306a36Sopenharmony_ci	{ P_XO, 0 },
33262306a36Sopenharmony_ci	{ P_GPLL0, 1 },
33362306a36Sopenharmony_ci	{ P_GPLL2, 2 },
33462306a36Sopenharmony_ci	{ P_GPLL0_DIV2, 4 },
33562306a36Sopenharmony_ci};
33662306a36Sopenharmony_ci
33762306a36Sopenharmony_cistatic const struct clk_parent_data gcc_xo_gpll0_gpll4_gpll0_div2[] = {
33862306a36Sopenharmony_ci	{ .index = DT_XO},
33962306a36Sopenharmony_ci	{ .hw = &gpll0.clkr.hw },
34062306a36Sopenharmony_ci	{ .hw = &gpll4.clkr.hw },
34162306a36Sopenharmony_ci	{ .hw = &gpll0_out_main_div2.hw },
34262306a36Sopenharmony_ci};
34362306a36Sopenharmony_ci
34462306a36Sopenharmony_cistatic const struct parent_map gcc_xo_gpll0_gpll4_gpll0_div2_map[] = {
34562306a36Sopenharmony_ci	{ P_XO, 0 },
34662306a36Sopenharmony_ci	{ P_GPLL0, 1 },
34762306a36Sopenharmony_ci	{ P_GPLL4, 2 },
34862306a36Sopenharmony_ci	{ P_GPLL0_DIV2, 4 },
34962306a36Sopenharmony_ci};
35062306a36Sopenharmony_ci
35162306a36Sopenharmony_cistatic const struct clk_parent_data gcc_xo_gpll4_gpll0_gpll0_div2[] = {
35262306a36Sopenharmony_ci	{ .index = DT_XO },
35362306a36Sopenharmony_ci	{ .hw = &gpll4.clkr.hw },
35462306a36Sopenharmony_ci	{ .hw = &gpll0.clkr.hw },
35562306a36Sopenharmony_ci	{ .hw = &gpll0_out_main_div2.hw },
35662306a36Sopenharmony_ci};
35762306a36Sopenharmony_ci
35862306a36Sopenharmony_cistatic const struct parent_map gcc_xo_gpll4_gpll0_gpll0_div2_map[] = {
35962306a36Sopenharmony_ci	{ P_XO, 0 },
36062306a36Sopenharmony_ci	{ P_GPLL4, 1 },
36162306a36Sopenharmony_ci	{ P_GPLL0, 2 },
36262306a36Sopenharmony_ci	{ P_GPLL0_DIV2, 4 },
36362306a36Sopenharmony_ci};
36462306a36Sopenharmony_ci
36562306a36Sopenharmony_cistatic const struct clk_parent_data gcc_xo_gpll0_gpll2[] = {
36662306a36Sopenharmony_ci	{ .index = DT_XO },
36762306a36Sopenharmony_ci	{ .hw = &gpll0.clkr.hw },
36862306a36Sopenharmony_ci	{ .hw = &gpll2.clkr.hw },
36962306a36Sopenharmony_ci};
37062306a36Sopenharmony_ci
37162306a36Sopenharmony_cistatic const struct parent_map gcc_xo_gpll0_gpll2_map[] = {
37262306a36Sopenharmony_ci	{ P_XO, 0 },
37362306a36Sopenharmony_ci	{ P_GPLL0, 1 },
37462306a36Sopenharmony_ci	{ P_GPLL2, 2 },
37562306a36Sopenharmony_ci};
37662306a36Sopenharmony_ci
37762306a36Sopenharmony_cistatic const struct clk_parent_data gcc_xo_gpll0_gpll2_gpll4_pi_sleep[] = {
37862306a36Sopenharmony_ci	{ .index = DT_XO },
37962306a36Sopenharmony_ci	{ .hw = &gpll0.clkr.hw },
38062306a36Sopenharmony_ci	{ .hw = &gpll2.clkr.hw },
38162306a36Sopenharmony_ci	{ .hw = &gpll4.clkr.hw },
38262306a36Sopenharmony_ci	{ .index = DT_SLEEP_CLK },
38362306a36Sopenharmony_ci};
38462306a36Sopenharmony_ci
38562306a36Sopenharmony_cistatic const struct parent_map gcc_xo_gpll0_gpll2_gpll4_pi_sleep_map[] = {
38662306a36Sopenharmony_ci	{ P_XO, 0 },
38762306a36Sopenharmony_ci	{ P_GPLL0, 1 },
38862306a36Sopenharmony_ci	{ P_GPLL2, 2 },
38962306a36Sopenharmony_ci	{ P_GPLL4, 3 },
39062306a36Sopenharmony_ci	{ P_PI_SLEEP, 6 },
39162306a36Sopenharmony_ci};
39262306a36Sopenharmony_ci
39362306a36Sopenharmony_cistatic const struct clk_parent_data gcc_xo_gpll0_gpll0_aux_gpll2[] = {
39462306a36Sopenharmony_ci	{ .index = DT_XO },
39562306a36Sopenharmony_ci	{ .hw = &gpll0.clkr.hw },
39662306a36Sopenharmony_ci	{ .hw = &gpll0.clkr.hw },
39762306a36Sopenharmony_ci	{ .hw = &gpll2.clkr.hw },
39862306a36Sopenharmony_ci};
39962306a36Sopenharmony_ci
40062306a36Sopenharmony_cistatic const struct parent_map gcc_xo_gpll0_gpll0_aux_gpll2_map[] = {
40162306a36Sopenharmony_ci	{ P_XO, 0 },
40262306a36Sopenharmony_ci	{ P_GPLL0, 1 },
40362306a36Sopenharmony_ci	{ P_GPLL0_OUT_AUX, 2 },
40462306a36Sopenharmony_ci	{ P_GPLL2, 3 },
40562306a36Sopenharmony_ci};
40662306a36Sopenharmony_ci
40762306a36Sopenharmony_cistatic const struct freq_tbl ftbl_apss_ahb_clk_src[] = {
40862306a36Sopenharmony_ci	F(24000000, P_XO, 1, 0, 0),
40962306a36Sopenharmony_ci	F(50000000, P_GPLL0, 16, 0, 0),
41062306a36Sopenharmony_ci	F(100000000, P_GPLL0, 8, 0, 0),
41162306a36Sopenharmony_ci	{ }
41262306a36Sopenharmony_ci};
41362306a36Sopenharmony_ci
41462306a36Sopenharmony_cistatic struct clk_rcg2 apss_ahb_clk_src = {
41562306a36Sopenharmony_ci	.cmd_rcgr = 0x2400c,
41662306a36Sopenharmony_ci	.freq_tbl = ftbl_apss_ahb_clk_src,
41762306a36Sopenharmony_ci	.hid_width = 5,
41862306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_gpll0_out_main_div2_map,
41962306a36Sopenharmony_ci	.clkr.hw.init = &(const struct clk_init_data) {
42062306a36Sopenharmony_ci		.name = "apss_ahb_clk_src",
42162306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0_gpll0_out_main_div2,
42262306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0_gpll0_out_main_div2),
42362306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
42462306a36Sopenharmony_ci	},
42562306a36Sopenharmony_ci};
42662306a36Sopenharmony_ci
42762306a36Sopenharmony_cistatic const struct freq_tbl ftbl_apss_axi_clk_src[] = {
42862306a36Sopenharmony_ci	F(533000000, P_GPLL0, 1.5, 0, 0),
42962306a36Sopenharmony_ci	{ }
43062306a36Sopenharmony_ci};
43162306a36Sopenharmony_ci
43262306a36Sopenharmony_cistatic struct clk_rcg2 apss_axi_clk_src = {
43362306a36Sopenharmony_ci	.cmd_rcgr = 0x24004,
43462306a36Sopenharmony_ci	.freq_tbl = ftbl_apss_axi_clk_src,
43562306a36Sopenharmony_ci	.hid_width = 5,
43662306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_gpll0_div2_gpll0_map,
43762306a36Sopenharmony_ci	.clkr.hw.init = &(const struct clk_init_data) {
43862306a36Sopenharmony_ci		.name = "apss_axi_clk_src",
43962306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0_gpll0_div2_gpll0,
44062306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0_gpll0_div2_gpll0),
44162306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
44262306a36Sopenharmony_ci	},
44362306a36Sopenharmony_ci};
44462306a36Sopenharmony_ci
44562306a36Sopenharmony_cistatic const struct freq_tbl ftbl_blsp1_qup_i2c_apps_clk_src[] = {
44662306a36Sopenharmony_ci	F(9600000, P_XO, 2.5, 0, 0),
44762306a36Sopenharmony_ci	F(24000000, P_XO, 1, 0, 0),
44862306a36Sopenharmony_ci	F(50000000, P_GPLL0, 16, 0, 0),
44962306a36Sopenharmony_ci	{ }
45062306a36Sopenharmony_ci};
45162306a36Sopenharmony_ci
45262306a36Sopenharmony_cistatic struct clk_rcg2 blsp1_qup1_i2c_apps_clk_src = {
45362306a36Sopenharmony_ci	.cmd_rcgr = 0x02018,
45462306a36Sopenharmony_ci	.freq_tbl = ftbl_blsp1_qup_i2c_apps_clk_src,
45562306a36Sopenharmony_ci	.hid_width = 5,
45662306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_gpll0_out_main_div2_map,
45762306a36Sopenharmony_ci	.clkr.hw.init = &(const struct clk_init_data) {
45862306a36Sopenharmony_ci		.name = "blsp1_qup1_i2c_apps_clk_src",
45962306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0_gpll0_out_main_div2,
46062306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0_gpll0_out_main_div2),
46162306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
46262306a36Sopenharmony_ci	},
46362306a36Sopenharmony_ci};
46462306a36Sopenharmony_ci
46562306a36Sopenharmony_cistatic const struct freq_tbl ftbl_blsp1_qup_spi_apps_clk_src[] = {
46662306a36Sopenharmony_ci	F(960000, P_XO, 10, 2, 5),
46762306a36Sopenharmony_ci	F(4800000, P_XO, 5, 0, 0),
46862306a36Sopenharmony_ci	F(9600000, P_XO, 2, 4, 5),
46962306a36Sopenharmony_ci	F(16000000, P_GPLL0, 10, 1, 5),
47062306a36Sopenharmony_ci	F(24000000, P_XO, 1, 0, 0),
47162306a36Sopenharmony_ci	F(25000000, P_GPLL0, 16, 1, 2),
47262306a36Sopenharmony_ci	F(50000000, P_GPLL0, 16, 0, 0),
47362306a36Sopenharmony_ci	{ }
47462306a36Sopenharmony_ci};
47562306a36Sopenharmony_ci
47662306a36Sopenharmony_cistatic struct clk_rcg2 blsp1_qup1_spi_apps_clk_src = {
47762306a36Sopenharmony_ci	.cmd_rcgr = 0x02004,
47862306a36Sopenharmony_ci	.freq_tbl = ftbl_blsp1_qup_spi_apps_clk_src,
47962306a36Sopenharmony_ci	.mnd_width = 8,
48062306a36Sopenharmony_ci	.hid_width = 5,
48162306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_gpll0_out_main_div2_map,
48262306a36Sopenharmony_ci	.clkr.hw.init = &(const struct clk_init_data) {
48362306a36Sopenharmony_ci		.name = "blsp1_qup1_spi_apps_clk_src",
48462306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0_gpll0_out_main_div2,
48562306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0_gpll0_out_main_div2),
48662306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
48762306a36Sopenharmony_ci	},
48862306a36Sopenharmony_ci};
48962306a36Sopenharmony_ci
49062306a36Sopenharmony_cistatic struct clk_rcg2 blsp1_qup2_i2c_apps_clk_src = {
49162306a36Sopenharmony_ci	.cmd_rcgr = 0x03018,
49262306a36Sopenharmony_ci	.freq_tbl = ftbl_blsp1_qup_i2c_apps_clk_src,
49362306a36Sopenharmony_ci	.hid_width = 5,
49462306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_gpll0_out_main_div2_map,
49562306a36Sopenharmony_ci	.clkr.hw.init = &(const struct clk_init_data) {
49662306a36Sopenharmony_ci		.name = "blsp1_qup2_i2c_apps_clk_src",
49762306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0_gpll0_out_main_div2,
49862306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0_gpll0_out_main_div2),
49962306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
50062306a36Sopenharmony_ci	},
50162306a36Sopenharmony_ci};
50262306a36Sopenharmony_ci
50362306a36Sopenharmony_cistatic struct clk_rcg2 blsp1_qup2_spi_apps_clk_src = {
50462306a36Sopenharmony_ci	.cmd_rcgr = 0x03004,
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 = &(const struct clk_init_data) {
51062306a36Sopenharmony_ci		.name = "blsp1_qup2_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_qup3_i2c_apps_clk_src = {
51862306a36Sopenharmony_ci	.cmd_rcgr = 0x04018,
51962306a36Sopenharmony_ci	.freq_tbl = ftbl_blsp1_qup_i2c_apps_clk_src,
52062306a36Sopenharmony_ci	.hid_width = 5,
52162306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_gpll0_out_main_div2_map,
52262306a36Sopenharmony_ci	.clkr.hw.init = &(const struct clk_init_data) {
52362306a36Sopenharmony_ci		.name = "blsp1_qup3_i2c_apps_clk_src",
52462306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0_gpll0_out_main_div2,
52562306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0_gpll0_out_main_div2),
52662306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
52762306a36Sopenharmony_ci	},
52862306a36Sopenharmony_ci};
52962306a36Sopenharmony_ci
53062306a36Sopenharmony_cistatic struct clk_rcg2 blsp1_qup3_spi_apps_clk_src = {
53162306a36Sopenharmony_ci	.cmd_rcgr = 0x04004,
53262306a36Sopenharmony_ci	.freq_tbl = ftbl_blsp1_qup_spi_apps_clk_src,
53362306a36Sopenharmony_ci	.mnd_width = 8,
53462306a36Sopenharmony_ci	.hid_width = 5,
53562306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_gpll0_out_main_div2_map,
53662306a36Sopenharmony_ci	.clkr.hw.init = &(const struct clk_init_data) {
53762306a36Sopenharmony_ci		.name = "blsp1_qup3_spi_apps_clk_src",
53862306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0_gpll0_out_main_div2,
53962306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0_gpll0_out_main_div2),
54062306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
54162306a36Sopenharmony_ci	},
54262306a36Sopenharmony_ci};
54362306a36Sopenharmony_ci
54462306a36Sopenharmony_cistatic struct clk_rcg2 blsp1_qup4_i2c_apps_clk_src = {
54562306a36Sopenharmony_ci	.cmd_rcgr = 0x05018,
54662306a36Sopenharmony_ci	.freq_tbl = ftbl_blsp1_qup_i2c_apps_clk_src,
54762306a36Sopenharmony_ci	.hid_width = 5,
54862306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_gpll0_out_main_div2_map,
54962306a36Sopenharmony_ci	.clkr.hw.init = &(const struct clk_init_data) {
55062306a36Sopenharmony_ci		.name = "blsp1_qup4_i2c_apps_clk_src",
55162306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0_gpll0_out_main_div2,
55262306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0_gpll0_out_main_div2),
55362306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
55462306a36Sopenharmony_ci	},
55562306a36Sopenharmony_ci};
55662306a36Sopenharmony_ci
55762306a36Sopenharmony_cistatic struct clk_rcg2 blsp1_qup4_spi_apps_clk_src = {
55862306a36Sopenharmony_ci	.cmd_rcgr = 0x05004,
55962306a36Sopenharmony_ci	.freq_tbl = ftbl_blsp1_qup_spi_apps_clk_src,
56062306a36Sopenharmony_ci	.mnd_width = 8,
56162306a36Sopenharmony_ci	.hid_width = 5,
56262306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_gpll0_out_main_div2_map,
56362306a36Sopenharmony_ci	.clkr.hw.init = &(const struct clk_init_data) {
56462306a36Sopenharmony_ci		.name = "blsp1_qup4_spi_apps_clk_src",
56562306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0_gpll0_out_main_div2,
56662306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0_gpll0_out_main_div2),
56762306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
56862306a36Sopenharmony_ci	},
56962306a36Sopenharmony_ci};
57062306a36Sopenharmony_ci
57162306a36Sopenharmony_cistatic struct clk_rcg2 blsp1_qup5_i2c_apps_clk_src = {
57262306a36Sopenharmony_ci	.cmd_rcgr = 0x06018,
57362306a36Sopenharmony_ci	.freq_tbl = ftbl_blsp1_qup_i2c_apps_clk_src,
57462306a36Sopenharmony_ci	.hid_width = 5,
57562306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_gpll0_out_main_div2_map,
57662306a36Sopenharmony_ci	.clkr.hw.init = &(const struct clk_init_data) {
57762306a36Sopenharmony_ci		.name = "blsp1_qup5_i2c_apps_clk_src",
57862306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0_gpll0_out_main_div2,
57962306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0_gpll0_out_main_div2),
58062306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
58162306a36Sopenharmony_ci	},
58262306a36Sopenharmony_ci};
58362306a36Sopenharmony_ci
58462306a36Sopenharmony_cistatic struct clk_rcg2 blsp1_qup5_spi_apps_clk_src = {
58562306a36Sopenharmony_ci	.cmd_rcgr = 0x06004,
58662306a36Sopenharmony_ci	.freq_tbl = ftbl_blsp1_qup_spi_apps_clk_src,
58762306a36Sopenharmony_ci	.mnd_width = 8,
58862306a36Sopenharmony_ci	.hid_width = 5,
58962306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_gpll0_out_main_div2_map,
59062306a36Sopenharmony_ci	.clkr.hw.init = &(const struct clk_init_data) {
59162306a36Sopenharmony_ci		.name = "blsp1_qup5_spi_apps_clk_src",
59262306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0_gpll0_out_main_div2,
59362306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0_gpll0_out_main_div2),
59462306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
59562306a36Sopenharmony_ci	},
59662306a36Sopenharmony_ci};
59762306a36Sopenharmony_ci
59862306a36Sopenharmony_cistatic struct clk_rcg2 blsp1_qup6_i2c_apps_clk_src = {
59962306a36Sopenharmony_ci	.cmd_rcgr = 0x07018,
60062306a36Sopenharmony_ci	.freq_tbl = ftbl_blsp1_qup_i2c_apps_clk_src,
60162306a36Sopenharmony_ci	.hid_width = 5,
60262306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_gpll0_out_main_div2_map,
60362306a36Sopenharmony_ci	.clkr.hw.init = &(const struct clk_init_data) {
60462306a36Sopenharmony_ci		.name = "blsp1_qup6_i2c_apps_clk_src",
60562306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0_gpll0_out_main_div2,
60662306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0_gpll0_out_main_div2),
60762306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
60862306a36Sopenharmony_ci	},
60962306a36Sopenharmony_ci};
61062306a36Sopenharmony_ci
61162306a36Sopenharmony_cistatic struct clk_rcg2 blsp1_qup6_spi_apps_clk_src = {
61262306a36Sopenharmony_ci	.cmd_rcgr = 0x07004,
61362306a36Sopenharmony_ci	.freq_tbl = ftbl_blsp1_qup_spi_apps_clk_src,
61462306a36Sopenharmony_ci	.mnd_width = 8,
61562306a36Sopenharmony_ci	.hid_width = 5,
61662306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_gpll0_out_main_div2_map,
61762306a36Sopenharmony_ci	.clkr.hw.init = &(const struct clk_init_data) {
61862306a36Sopenharmony_ci		.name = "blsp1_qup6_spi_apps_clk_src",
61962306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0_gpll0_out_main_div2,
62062306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0_gpll0_out_main_div2),
62162306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
62262306a36Sopenharmony_ci	},
62362306a36Sopenharmony_ci};
62462306a36Sopenharmony_ci
62562306a36Sopenharmony_cistatic const struct freq_tbl ftbl_blsp1_uart_apps_clk_src[] = {
62662306a36Sopenharmony_ci	F(3686400, P_GPLL0_DIV2, 1, 144, 15625),
62762306a36Sopenharmony_ci	F(7372800, P_GPLL0_DIV2, 1, 288, 15625),
62862306a36Sopenharmony_ci	F(14745600, P_GPLL0_DIV2, 1, 576, 15625),
62962306a36Sopenharmony_ci	F(24000000, P_XO, 1, 0, 0),
63062306a36Sopenharmony_ci	F(25000000, P_GPLL0, 16, 1, 2),
63162306a36Sopenharmony_ci	F(32000000, P_GPLL0, 1, 1, 25),
63262306a36Sopenharmony_ci	F(40000000, P_GPLL0, 1, 1, 20),
63362306a36Sopenharmony_ci	F(46400000, P_GPLL0, 1, 29, 500),
63462306a36Sopenharmony_ci	F(48000000, P_GPLL0, 1, 3, 50),
63562306a36Sopenharmony_ci	F(51200000, P_GPLL0, 1, 8, 125),
63662306a36Sopenharmony_ci	F(56000000, P_GPLL0, 1, 7, 100),
63762306a36Sopenharmony_ci	F(58982400, P_GPLL0, 1, 1152, 15625),
63862306a36Sopenharmony_ci	F(60000000, P_GPLL0, 1, 3, 40),
63962306a36Sopenharmony_ci	F(64000000, P_GPLL0, 12.5, 0, 0),
64062306a36Sopenharmony_ci	{ }
64162306a36Sopenharmony_ci};
64262306a36Sopenharmony_ci
64362306a36Sopenharmony_cistatic struct clk_rcg2 blsp1_uart1_apps_clk_src = {
64462306a36Sopenharmony_ci	.cmd_rcgr = 0x0202c,
64562306a36Sopenharmony_ci	.freq_tbl = ftbl_blsp1_uart_apps_clk_src,
64662306a36Sopenharmony_ci	.mnd_width = 16,
64762306a36Sopenharmony_ci	.hid_width = 5,
64862306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_gpll0_out_main_div2_map,
64962306a36Sopenharmony_ci	.clkr.hw.init = &(const struct clk_init_data) {
65062306a36Sopenharmony_ci		.name = "blsp1_uart1_apps_clk_src",
65162306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0_gpll0_out_main_div2,
65262306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0_gpll0_out_main_div2),
65362306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
65462306a36Sopenharmony_ci	},
65562306a36Sopenharmony_ci};
65662306a36Sopenharmony_ci
65762306a36Sopenharmony_cistatic struct clk_rcg2 blsp1_uart2_apps_clk_src = {
65862306a36Sopenharmony_ci	.cmd_rcgr = 0x0302c,
65962306a36Sopenharmony_ci	.freq_tbl = ftbl_blsp1_uart_apps_clk_src,
66062306a36Sopenharmony_ci	.mnd_width = 16,
66162306a36Sopenharmony_ci	.hid_width = 5,
66262306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_gpll0_out_main_div2_map,
66362306a36Sopenharmony_ci	.clkr.hw.init = &(const struct clk_init_data) {
66462306a36Sopenharmony_ci		.name = "blsp1_uart2_apps_clk_src",
66562306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0_gpll0_out_main_div2,
66662306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0_gpll0_out_main_div2),
66762306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
66862306a36Sopenharmony_ci	},
66962306a36Sopenharmony_ci};
67062306a36Sopenharmony_ci
67162306a36Sopenharmony_cistatic struct clk_rcg2 blsp1_uart3_apps_clk_src = {
67262306a36Sopenharmony_ci	.cmd_rcgr = 0x0402c,
67362306a36Sopenharmony_ci	.freq_tbl = ftbl_blsp1_uart_apps_clk_src,
67462306a36Sopenharmony_ci	.mnd_width = 16,
67562306a36Sopenharmony_ci	.hid_width = 5,
67662306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_gpll0_out_main_div2_map,
67762306a36Sopenharmony_ci	.clkr.hw.init = &(const struct clk_init_data) {
67862306a36Sopenharmony_ci		.name = "blsp1_uart3_apps_clk_src",
67962306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0_gpll0_out_main_div2,
68062306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0_gpll0_out_main_div2),
68162306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
68262306a36Sopenharmony_ci	},
68362306a36Sopenharmony_ci};
68462306a36Sopenharmony_ci
68562306a36Sopenharmony_cistatic struct clk_rcg2 blsp1_uart4_apps_clk_src = {
68662306a36Sopenharmony_ci	.cmd_rcgr = 0x0502c,
68762306a36Sopenharmony_ci	.freq_tbl = ftbl_blsp1_uart_apps_clk_src,
68862306a36Sopenharmony_ci	.mnd_width = 16,
68962306a36Sopenharmony_ci	.hid_width = 5,
69062306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_gpll0_out_main_div2_map,
69162306a36Sopenharmony_ci	.clkr.hw.init = &(const struct clk_init_data) {
69262306a36Sopenharmony_ci		.name = "blsp1_uart4_apps_clk_src",
69362306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0_gpll0_out_main_div2,
69462306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0_gpll0_out_main_div2),
69562306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
69662306a36Sopenharmony_ci	},
69762306a36Sopenharmony_ci};
69862306a36Sopenharmony_ci
69962306a36Sopenharmony_cistatic struct clk_rcg2 blsp1_uart5_apps_clk_src = {
70062306a36Sopenharmony_ci	.cmd_rcgr = 0x0602c,
70162306a36Sopenharmony_ci	.freq_tbl = ftbl_blsp1_uart_apps_clk_src,
70262306a36Sopenharmony_ci	.mnd_width = 16,
70362306a36Sopenharmony_ci	.hid_width = 5,
70462306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_gpll0_out_main_div2_map,
70562306a36Sopenharmony_ci	.clkr.hw.init = &(const struct clk_init_data) {
70662306a36Sopenharmony_ci		.name = "blsp1_uart5_apps_clk_src",
70762306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0_gpll0_out_main_div2,
70862306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0_gpll0_out_main_div2),
70962306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
71062306a36Sopenharmony_ci	},
71162306a36Sopenharmony_ci};
71262306a36Sopenharmony_ci
71362306a36Sopenharmony_cistatic struct clk_rcg2 blsp1_uart6_apps_clk_src = {
71462306a36Sopenharmony_ci	.cmd_rcgr = 0x0702c,
71562306a36Sopenharmony_ci	.freq_tbl = ftbl_blsp1_uart_apps_clk_src,
71662306a36Sopenharmony_ci	.mnd_width = 16,
71762306a36Sopenharmony_ci	.hid_width = 5,
71862306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_gpll0_out_main_div2_map,
71962306a36Sopenharmony_ci	.clkr.hw.init = &(const struct clk_init_data) {
72062306a36Sopenharmony_ci		.name = "blsp1_uart6_apps_clk_src",
72162306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0_gpll0_out_main_div2,
72262306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0_gpll0_out_main_div2),
72362306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
72462306a36Sopenharmony_ci	},
72562306a36Sopenharmony_ci};
72662306a36Sopenharmony_ci
72762306a36Sopenharmony_cistatic const struct freq_tbl ftbl_gcc_crypto_clk_src[] = {
72862306a36Sopenharmony_ci	F(160000000, P_GPLL0, 5, 0, 0),
72962306a36Sopenharmony_ci	{ }
73062306a36Sopenharmony_ci};
73162306a36Sopenharmony_ci
73262306a36Sopenharmony_cistatic struct clk_rcg2 gcc_crypto_clk_src = {
73362306a36Sopenharmony_ci	.cmd_rcgr = 0x16004,
73462306a36Sopenharmony_ci	.freq_tbl = ftbl_gcc_crypto_clk_src,
73562306a36Sopenharmony_ci	.hid_width = 5,
73662306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_gpll0_out_main_div2_map,
73762306a36Sopenharmony_ci	.clkr.hw.init = &(const struct clk_init_data) {
73862306a36Sopenharmony_ci		.name = "gcc_crypto_clk_src",
73962306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0_gpll0_out_main_div2,
74062306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0_gpll0_out_main_div2),
74162306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
74262306a36Sopenharmony_ci	},
74362306a36Sopenharmony_ci};
74462306a36Sopenharmony_ci
74562306a36Sopenharmony_cistatic struct clk_branch gcc_crypto_clk = {
74662306a36Sopenharmony_ci	.halt_reg = 0x1600c,
74762306a36Sopenharmony_ci	.halt_check = BRANCH_HALT_VOTED,
74862306a36Sopenharmony_ci	.clkr = {
74962306a36Sopenharmony_ci		.enable_reg = 0x0b004,
75062306a36Sopenharmony_ci		.enable_mask = BIT(14),
75162306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
75262306a36Sopenharmony_ci			.name = "gcc_crypto_clk",
75362306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
75462306a36Sopenharmony_ci				&gcc_crypto_clk_src.clkr.hw },
75562306a36Sopenharmony_ci			.num_parents = 1,
75662306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
75762306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
75862306a36Sopenharmony_ci		},
75962306a36Sopenharmony_ci	},
76062306a36Sopenharmony_ci};
76162306a36Sopenharmony_ci
76262306a36Sopenharmony_cistatic struct clk_branch gcc_apss_ahb_clk = {
76362306a36Sopenharmony_ci	.halt_reg = 0x24018,
76462306a36Sopenharmony_ci	.halt_check = BRANCH_HALT_VOTED,
76562306a36Sopenharmony_ci	.clkr = {
76662306a36Sopenharmony_ci		.enable_reg = 0x0b004,
76762306a36Sopenharmony_ci		.enable_mask = BIT(0),
76862306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
76962306a36Sopenharmony_ci			.name = "gcc_apss_ahb_clk",
77062306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
77162306a36Sopenharmony_ci				&apss_ahb_clk_src.clkr.hw
77262306a36Sopenharmony_ci			},
77362306a36Sopenharmony_ci			.num_parents = 1,
77462306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT | CLK_IS_CRITICAL,
77562306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
77662306a36Sopenharmony_ci		},
77762306a36Sopenharmony_ci	},
77862306a36Sopenharmony_ci};
77962306a36Sopenharmony_ci
78062306a36Sopenharmony_cistatic struct clk_branch gcc_apss_axi_clk = {
78162306a36Sopenharmony_ci	.halt_reg = 0x2401c,
78262306a36Sopenharmony_ci	.halt_check = BRANCH_HALT_VOTED,
78362306a36Sopenharmony_ci	.clkr = {
78462306a36Sopenharmony_ci		.enable_reg = 0x0b004,
78562306a36Sopenharmony_ci		.enable_mask = BIT(1),
78662306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
78762306a36Sopenharmony_ci			.name = "gcc_apss_axi_clk",
78862306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
78962306a36Sopenharmony_ci				&apss_axi_clk_src.clkr.hw
79062306a36Sopenharmony_ci			},
79162306a36Sopenharmony_ci			.num_parents = 1,
79262306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT | CLK_IS_CRITICAL,
79362306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
79462306a36Sopenharmony_ci		},
79562306a36Sopenharmony_ci	},
79662306a36Sopenharmony_ci};
79762306a36Sopenharmony_ci
79862306a36Sopenharmony_cistatic struct clk_branch gcc_blsp1_qup1_i2c_apps_clk = {
79962306a36Sopenharmony_ci	.halt_reg = 0x2024,
80062306a36Sopenharmony_ci	.clkr = {
80162306a36Sopenharmony_ci		.enable_reg = 0x2024,
80262306a36Sopenharmony_ci		.enable_mask = BIT(0),
80362306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
80462306a36Sopenharmony_ci			.name = "gcc_blsp1_qup1_i2c_apps_clk",
80562306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
80662306a36Sopenharmony_ci				&blsp1_qup1_i2c_apps_clk_src.clkr.hw
80762306a36Sopenharmony_ci			},
80862306a36Sopenharmony_ci			.num_parents = 1,
80962306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
81062306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
81162306a36Sopenharmony_ci		},
81262306a36Sopenharmony_ci	},
81362306a36Sopenharmony_ci};
81462306a36Sopenharmony_ci
81562306a36Sopenharmony_cistatic struct clk_branch gcc_blsp1_qup1_spi_apps_clk = {
81662306a36Sopenharmony_ci	.halt_reg = 0x02020,
81762306a36Sopenharmony_ci	.clkr = {
81862306a36Sopenharmony_ci		.enable_reg = 0x02020,
81962306a36Sopenharmony_ci		.enable_mask = BIT(0),
82062306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
82162306a36Sopenharmony_ci			.name = "gcc_blsp1_qup1_spi_apps_clk",
82262306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
82362306a36Sopenharmony_ci				&blsp1_qup1_spi_apps_clk_src.clkr.hw
82462306a36Sopenharmony_ci			},
82562306a36Sopenharmony_ci			.num_parents = 1,
82662306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
82762306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
82862306a36Sopenharmony_ci		},
82962306a36Sopenharmony_ci	},
83062306a36Sopenharmony_ci};
83162306a36Sopenharmony_ci
83262306a36Sopenharmony_cistatic struct clk_branch gcc_blsp1_qup2_i2c_apps_clk = {
83362306a36Sopenharmony_ci	.halt_reg = 0x03024,
83462306a36Sopenharmony_ci	.clkr = {
83562306a36Sopenharmony_ci		.enable_reg = 0x03024,
83662306a36Sopenharmony_ci		.enable_mask = BIT(0),
83762306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
83862306a36Sopenharmony_ci			.name = "gcc_blsp1_qup2_i2c_apps_clk",
83962306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
84062306a36Sopenharmony_ci				&blsp1_qup2_i2c_apps_clk_src.clkr.hw
84162306a36Sopenharmony_ci			},
84262306a36Sopenharmony_ci			.num_parents = 1,
84362306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
84462306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
84562306a36Sopenharmony_ci		},
84662306a36Sopenharmony_ci	},
84762306a36Sopenharmony_ci};
84862306a36Sopenharmony_ci
84962306a36Sopenharmony_cistatic struct clk_branch gcc_blsp1_qup2_spi_apps_clk = {
85062306a36Sopenharmony_ci	.halt_reg = 0x03020,
85162306a36Sopenharmony_ci	.clkr = {
85262306a36Sopenharmony_ci		.enable_reg = 0x03020,
85362306a36Sopenharmony_ci		.enable_mask = BIT(0),
85462306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
85562306a36Sopenharmony_ci			.name = "gcc_blsp1_qup2_spi_apps_clk",
85662306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
85762306a36Sopenharmony_ci				&blsp1_qup2_spi_apps_clk_src.clkr.hw
85862306a36Sopenharmony_ci			},
85962306a36Sopenharmony_ci			.num_parents = 1,
86062306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
86162306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
86262306a36Sopenharmony_ci		},
86362306a36Sopenharmony_ci	},
86462306a36Sopenharmony_ci};
86562306a36Sopenharmony_ci
86662306a36Sopenharmony_cistatic struct clk_branch gcc_blsp1_qup3_i2c_apps_clk = {
86762306a36Sopenharmony_ci	.halt_reg = 0x04024,
86862306a36Sopenharmony_ci	.clkr = {
86962306a36Sopenharmony_ci		.enable_reg = 0x04024,
87062306a36Sopenharmony_ci		.enable_mask = BIT(0),
87162306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
87262306a36Sopenharmony_ci			.name = "gcc_blsp1_qup3_i2c_apps_clk",
87362306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
87462306a36Sopenharmony_ci				&blsp1_qup3_i2c_apps_clk_src.clkr.hw
87562306a36Sopenharmony_ci			},
87662306a36Sopenharmony_ci			.num_parents = 1,
87762306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
87862306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
87962306a36Sopenharmony_ci		},
88062306a36Sopenharmony_ci	},
88162306a36Sopenharmony_ci};
88262306a36Sopenharmony_ci
88362306a36Sopenharmony_cistatic struct clk_branch gcc_blsp1_qup3_spi_apps_clk = {
88462306a36Sopenharmony_ci	.halt_reg = 0x04020,
88562306a36Sopenharmony_ci	.clkr = {
88662306a36Sopenharmony_ci		.enable_reg = 0x04020,
88762306a36Sopenharmony_ci		.enable_mask = BIT(0),
88862306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
88962306a36Sopenharmony_ci			.name = "gcc_blsp1_qup3_spi_apps_clk",
89062306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
89162306a36Sopenharmony_ci				&blsp1_qup3_spi_apps_clk_src.clkr.hw
89262306a36Sopenharmony_ci			},
89362306a36Sopenharmony_ci			.num_parents = 1,
89462306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
89562306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
89662306a36Sopenharmony_ci		},
89762306a36Sopenharmony_ci	},
89862306a36Sopenharmony_ci};
89962306a36Sopenharmony_ci
90062306a36Sopenharmony_cistatic struct clk_branch gcc_blsp1_qup4_i2c_apps_clk = {
90162306a36Sopenharmony_ci	.halt_reg = 0x05024,
90262306a36Sopenharmony_ci	.clkr = {
90362306a36Sopenharmony_ci		.enable_reg = 0x05024,
90462306a36Sopenharmony_ci		.enable_mask = BIT(0),
90562306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
90662306a36Sopenharmony_ci			.name = "gcc_blsp1_qup4_i2c_apps_clk",
90762306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
90862306a36Sopenharmony_ci				&blsp1_qup4_i2c_apps_clk_src.clkr.hw
90962306a36Sopenharmony_ci			},
91062306a36Sopenharmony_ci			.num_parents = 1,
91162306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
91262306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
91362306a36Sopenharmony_ci		},
91462306a36Sopenharmony_ci	},
91562306a36Sopenharmony_ci};
91662306a36Sopenharmony_ci
91762306a36Sopenharmony_cistatic struct clk_branch gcc_blsp1_qup4_spi_apps_clk = {
91862306a36Sopenharmony_ci	.halt_reg = 0x05020,
91962306a36Sopenharmony_ci	.clkr = {
92062306a36Sopenharmony_ci		.enable_reg = 0x05020,
92162306a36Sopenharmony_ci		.enable_mask = BIT(0),
92262306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
92362306a36Sopenharmony_ci			.name = "gcc_blsp1_qup4_spi_apps_clk",
92462306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
92562306a36Sopenharmony_ci				&blsp1_qup4_spi_apps_clk_src.clkr.hw
92662306a36Sopenharmony_ci			},
92762306a36Sopenharmony_ci			.num_parents = 1,
92862306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
92962306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
93062306a36Sopenharmony_ci		},
93162306a36Sopenharmony_ci	},
93262306a36Sopenharmony_ci};
93362306a36Sopenharmony_ci
93462306a36Sopenharmony_cistatic struct clk_branch gcc_blsp1_qup5_i2c_apps_clk = {
93562306a36Sopenharmony_ci	.halt_reg = 0x06024,
93662306a36Sopenharmony_ci	.clkr = {
93762306a36Sopenharmony_ci		.enable_reg = 0x06024,
93862306a36Sopenharmony_ci		.enable_mask = BIT(0),
93962306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
94062306a36Sopenharmony_ci			.name = "gcc_blsp1_qup5_i2c_apps_clk",
94162306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
94262306a36Sopenharmony_ci				&blsp1_qup5_i2c_apps_clk_src.clkr.hw
94362306a36Sopenharmony_ci			},
94462306a36Sopenharmony_ci			.num_parents = 1,
94562306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
94662306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
94762306a36Sopenharmony_ci		},
94862306a36Sopenharmony_ci	},
94962306a36Sopenharmony_ci};
95062306a36Sopenharmony_ci
95162306a36Sopenharmony_cistatic struct clk_branch gcc_blsp1_qup5_spi_apps_clk = {
95262306a36Sopenharmony_ci	.halt_reg = 0x06020,
95362306a36Sopenharmony_ci	.clkr = {
95462306a36Sopenharmony_ci		.enable_reg = 0x06020,
95562306a36Sopenharmony_ci		.enable_mask = BIT(0),
95662306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
95762306a36Sopenharmony_ci			.name = "gcc_blsp1_qup5_spi_apps_clk",
95862306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
95962306a36Sopenharmony_ci				&blsp1_qup5_spi_apps_clk_src.clkr.hw
96062306a36Sopenharmony_ci			},
96162306a36Sopenharmony_ci			.num_parents = 1,
96262306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
96362306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
96462306a36Sopenharmony_ci		},
96562306a36Sopenharmony_ci	},
96662306a36Sopenharmony_ci};
96762306a36Sopenharmony_ci
96862306a36Sopenharmony_cistatic struct clk_branch gcc_blsp1_qup6_i2c_apps_clk = {
96962306a36Sopenharmony_ci	.halt_reg = 0x07024,
97062306a36Sopenharmony_ci	.clkr = {
97162306a36Sopenharmony_ci		.enable_reg = 0x07024,
97262306a36Sopenharmony_ci		.enable_mask = BIT(0),
97362306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
97462306a36Sopenharmony_ci			.name = "gcc_blsp1_qup6_i2c_apps_clk",
97562306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
97662306a36Sopenharmony_ci				&blsp1_qup6_i2c_apps_clk_src.clkr.hw
97762306a36Sopenharmony_ci			},
97862306a36Sopenharmony_ci			.num_parents = 1,
97962306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT | CLK_IS_CRITICAL,
98062306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
98162306a36Sopenharmony_ci		},
98262306a36Sopenharmony_ci	},
98362306a36Sopenharmony_ci};
98462306a36Sopenharmony_ci
98562306a36Sopenharmony_cistatic struct clk_branch gcc_blsp1_qup6_spi_apps_clk = {
98662306a36Sopenharmony_ci	.halt_reg = 0x07020,
98762306a36Sopenharmony_ci	.clkr = {
98862306a36Sopenharmony_ci		.enable_reg = 0x07020,
98962306a36Sopenharmony_ci		.enable_mask = BIT(0),
99062306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
99162306a36Sopenharmony_ci			.name = "gcc_blsp1_qup6_spi_apps_clk",
99262306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
99362306a36Sopenharmony_ci				&blsp1_qup6_spi_apps_clk_src.clkr.hw
99462306a36Sopenharmony_ci			},
99562306a36Sopenharmony_ci			.num_parents = 1,
99662306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
99762306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
99862306a36Sopenharmony_ci		},
99962306a36Sopenharmony_ci	},
100062306a36Sopenharmony_ci};
100162306a36Sopenharmony_ci
100262306a36Sopenharmony_cistatic struct clk_branch gcc_blsp1_uart1_apps_clk = {
100362306a36Sopenharmony_ci	.halt_reg = 0x02040,
100462306a36Sopenharmony_ci	.clkr = {
100562306a36Sopenharmony_ci		.enable_reg = 0x02040,
100662306a36Sopenharmony_ci		.enable_mask = BIT(0),
100762306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
100862306a36Sopenharmony_ci			.name = "gcc_blsp1_uart1_apps_clk",
100962306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
101062306a36Sopenharmony_ci				&blsp1_uart1_apps_clk_src.clkr.hw
101162306a36Sopenharmony_ci			},
101262306a36Sopenharmony_ci			.num_parents = 1,
101362306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
101462306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
101562306a36Sopenharmony_ci		},
101662306a36Sopenharmony_ci	},
101762306a36Sopenharmony_ci};
101862306a36Sopenharmony_ci
101962306a36Sopenharmony_cistatic struct clk_branch gcc_blsp1_uart2_apps_clk = {
102062306a36Sopenharmony_ci	.halt_reg = 0x03040,
102162306a36Sopenharmony_ci	.clkr = {
102262306a36Sopenharmony_ci		.enable_reg = 0x03040,
102362306a36Sopenharmony_ci		.enable_mask = BIT(0),
102462306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
102562306a36Sopenharmony_ci			.name = "gcc_blsp1_uart2_apps_clk",
102662306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
102762306a36Sopenharmony_ci				&blsp1_uart2_apps_clk_src.clkr.hw
102862306a36Sopenharmony_ci			},
102962306a36Sopenharmony_ci			.num_parents = 1,
103062306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
103162306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
103262306a36Sopenharmony_ci		},
103362306a36Sopenharmony_ci	},
103462306a36Sopenharmony_ci};
103562306a36Sopenharmony_ci
103662306a36Sopenharmony_cistatic struct clk_branch gcc_blsp1_uart3_apps_clk = {
103762306a36Sopenharmony_ci	.halt_reg = 0x04054,
103862306a36Sopenharmony_ci	.clkr = {
103962306a36Sopenharmony_ci		.enable_reg = 0x04054,
104062306a36Sopenharmony_ci		.enable_mask = BIT(0),
104162306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
104262306a36Sopenharmony_ci			.name = "gcc_blsp1_uart3_apps_clk",
104362306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
104462306a36Sopenharmony_ci				&blsp1_uart3_apps_clk_src.clkr.hw
104562306a36Sopenharmony_ci			},
104662306a36Sopenharmony_ci			.num_parents = 1,
104762306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
104862306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
104962306a36Sopenharmony_ci		},
105062306a36Sopenharmony_ci	},
105162306a36Sopenharmony_ci};
105262306a36Sopenharmony_ci
105362306a36Sopenharmony_cistatic struct clk_branch gcc_blsp1_uart4_apps_clk = {
105462306a36Sopenharmony_ci	.halt_reg = 0x05040,
105562306a36Sopenharmony_ci	.clkr = {
105662306a36Sopenharmony_ci		.enable_reg = 0x05040,
105762306a36Sopenharmony_ci		.enable_mask = BIT(0),
105862306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
105962306a36Sopenharmony_ci			.name = "gcc_blsp1_uart4_apps_clk",
106062306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
106162306a36Sopenharmony_ci				&blsp1_uart4_apps_clk_src.clkr.hw
106262306a36Sopenharmony_ci			},
106362306a36Sopenharmony_ci			.num_parents = 1,
106462306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
106562306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
106662306a36Sopenharmony_ci		},
106762306a36Sopenharmony_ci	},
106862306a36Sopenharmony_ci};
106962306a36Sopenharmony_ci
107062306a36Sopenharmony_cistatic struct clk_branch gcc_blsp1_uart5_apps_clk = {
107162306a36Sopenharmony_ci	.halt_reg = 0x06040,
107262306a36Sopenharmony_ci	.clkr = {
107362306a36Sopenharmony_ci		.enable_reg = 0x06040,
107462306a36Sopenharmony_ci		.enable_mask = BIT(0),
107562306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
107662306a36Sopenharmony_ci			.name = "gcc_blsp1_uart5_apps_clk",
107762306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
107862306a36Sopenharmony_ci				&blsp1_uart5_apps_clk_src.clkr.hw
107962306a36Sopenharmony_ci			},
108062306a36Sopenharmony_ci			.num_parents = 1,
108162306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
108262306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
108362306a36Sopenharmony_ci		},
108462306a36Sopenharmony_ci	},
108562306a36Sopenharmony_ci};
108662306a36Sopenharmony_ci
108762306a36Sopenharmony_cistatic struct clk_branch gcc_blsp1_uart6_apps_clk = {
108862306a36Sopenharmony_ci	.halt_reg = 0x07040,
108962306a36Sopenharmony_ci	.clkr = {
109062306a36Sopenharmony_ci		.enable_reg = 0x07040,
109162306a36Sopenharmony_ci		.enable_mask = BIT(0),
109262306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
109362306a36Sopenharmony_ci			.name = "gcc_blsp1_uart6_apps_clk",
109462306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
109562306a36Sopenharmony_ci				&blsp1_uart6_apps_clk_src.clkr.hw
109662306a36Sopenharmony_ci			},
109762306a36Sopenharmony_ci			.num_parents = 1,
109862306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
109962306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
110062306a36Sopenharmony_ci		},
110162306a36Sopenharmony_ci	},
110262306a36Sopenharmony_ci};
110362306a36Sopenharmony_ci
110462306a36Sopenharmony_cistatic const struct freq_tbl ftbl_pcie0_axi_m_clk_src[] = {
110562306a36Sopenharmony_ci	F(240000000, P_GPLL4, 5, 0, 0),
110662306a36Sopenharmony_ci	{ }
110762306a36Sopenharmony_ci};
110862306a36Sopenharmony_ci
110962306a36Sopenharmony_cistatic struct clk_rcg2 pcie0_axi_m_clk_src = {
111062306a36Sopenharmony_ci	.cmd_rcgr = 0x28018,
111162306a36Sopenharmony_ci	.freq_tbl = ftbl_pcie0_axi_m_clk_src,
111262306a36Sopenharmony_ci	.hid_width = 5,
111362306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_gpll4_map,
111462306a36Sopenharmony_ci	.clkr.hw.init = &(const struct clk_init_data) {
111562306a36Sopenharmony_ci		.name = "pcie0_axi_m_clk_src",
111662306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0_gpll4,
111762306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0_gpll4),
111862306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
111962306a36Sopenharmony_ci	},
112062306a36Sopenharmony_ci};
112162306a36Sopenharmony_ci
112262306a36Sopenharmony_cistatic struct clk_branch gcc_pcie0_axi_m_clk = {
112362306a36Sopenharmony_ci	.halt_reg = 0x28038,
112462306a36Sopenharmony_ci	.clkr = {
112562306a36Sopenharmony_ci		.enable_reg = 0x28038,
112662306a36Sopenharmony_ci		.enable_mask = BIT(0),
112762306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
112862306a36Sopenharmony_ci			.name = "gcc_pcie0_axi_m_clk",
112962306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
113062306a36Sopenharmony_ci				&pcie0_axi_m_clk_src.clkr.hw
113162306a36Sopenharmony_ci			},
113262306a36Sopenharmony_ci			.num_parents = 1,
113362306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
113462306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
113562306a36Sopenharmony_ci		},
113662306a36Sopenharmony_ci	},
113762306a36Sopenharmony_ci};
113862306a36Sopenharmony_ci
113962306a36Sopenharmony_cistatic struct clk_branch gcc_anoc_pcie0_1lane_m_clk = {
114062306a36Sopenharmony_ci	.halt_reg = 0x2e07c,
114162306a36Sopenharmony_ci	.clkr = {
114262306a36Sopenharmony_ci		.enable_reg = 0x2e07c,
114362306a36Sopenharmony_ci		.enable_mask = BIT(0),
114462306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
114562306a36Sopenharmony_ci			.name = "gcc_anoc_pcie0_1lane_m_clk",
114662306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
114762306a36Sopenharmony_ci				&pcie0_axi_m_clk_src.clkr.hw
114862306a36Sopenharmony_ci			},
114962306a36Sopenharmony_ci			.num_parents = 1,
115062306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
115162306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
115262306a36Sopenharmony_ci		},
115362306a36Sopenharmony_ci	},
115462306a36Sopenharmony_ci};
115562306a36Sopenharmony_ci
115662306a36Sopenharmony_cistatic struct clk_rcg2 pcie1_axi_m_clk_src = {
115762306a36Sopenharmony_ci	.cmd_rcgr = 0x29018,
115862306a36Sopenharmony_ci	.freq_tbl = ftbl_pcie0_axi_m_clk_src,
115962306a36Sopenharmony_ci	.hid_width = 5,
116062306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_gpll4_map,
116162306a36Sopenharmony_ci	.clkr.hw.init = &(const struct clk_init_data) {
116262306a36Sopenharmony_ci		.name = "pcie1_axi_m_clk_src",
116362306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0_gpll4,
116462306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0_gpll4),
116562306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
116662306a36Sopenharmony_ci	},
116762306a36Sopenharmony_ci};
116862306a36Sopenharmony_ci
116962306a36Sopenharmony_cistatic struct clk_branch gcc_pcie1_axi_m_clk = {
117062306a36Sopenharmony_ci	.halt_reg = 0x29038,
117162306a36Sopenharmony_ci	.clkr = {
117262306a36Sopenharmony_ci		.enable_reg = 0x29038,
117362306a36Sopenharmony_ci		.enable_mask = BIT(0),
117462306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
117562306a36Sopenharmony_ci			.name = "gcc_pcie1_axi_m_clk",
117662306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
117762306a36Sopenharmony_ci				&pcie1_axi_m_clk_src.clkr.hw
117862306a36Sopenharmony_ci			},
117962306a36Sopenharmony_ci			.num_parents = 1,
118062306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
118162306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
118262306a36Sopenharmony_ci		},
118362306a36Sopenharmony_ci	},
118462306a36Sopenharmony_ci};
118562306a36Sopenharmony_ci
118662306a36Sopenharmony_cistatic struct clk_branch gcc_anoc_pcie1_1lane_m_clk = {
118762306a36Sopenharmony_ci	.halt_reg = 0x2e08c,
118862306a36Sopenharmony_ci	.clkr = {
118962306a36Sopenharmony_ci		.enable_reg = 0x2e08c,
119062306a36Sopenharmony_ci		.enable_mask = BIT(0),
119162306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
119262306a36Sopenharmony_ci			.name = "gcc_anoc_pcie1_1lane_m_clk",
119362306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
119462306a36Sopenharmony_ci				&pcie1_axi_m_clk_src.clkr.hw
119562306a36Sopenharmony_ci			},
119662306a36Sopenharmony_ci			.num_parents = 1,
119762306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
119862306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
119962306a36Sopenharmony_ci		},
120062306a36Sopenharmony_ci	},
120162306a36Sopenharmony_ci};
120262306a36Sopenharmony_ci
120362306a36Sopenharmony_cistatic const struct freq_tbl ftbl_pcie2_axi_m_clk_src[] = {
120462306a36Sopenharmony_ci	F(342857143, P_GPLL4, 3.5, 0, 0),
120562306a36Sopenharmony_ci	{ }
120662306a36Sopenharmony_ci};
120762306a36Sopenharmony_ci
120862306a36Sopenharmony_cistatic struct clk_rcg2 pcie2_axi_m_clk_src = {
120962306a36Sopenharmony_ci	.cmd_rcgr = 0x2a018,
121062306a36Sopenharmony_ci	.freq_tbl = ftbl_pcie2_axi_m_clk_src,
121162306a36Sopenharmony_ci	.hid_width = 5,
121262306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_gpll4_bias_pll_ubi_nc_clk_map,
121362306a36Sopenharmony_ci	.clkr.hw.init = &(const struct clk_init_data) {
121462306a36Sopenharmony_ci		.name = "pcie2_axi_m_clk_src",
121562306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0_gpll4_bias_pll_ubi_nc_clk,
121662306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0_gpll4_bias_pll_ubi_nc_clk),
121762306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
121862306a36Sopenharmony_ci	},
121962306a36Sopenharmony_ci};
122062306a36Sopenharmony_ci
122162306a36Sopenharmony_cistatic struct clk_branch gcc_pcie2_axi_m_clk = {
122262306a36Sopenharmony_ci	.halt_reg = 0x2a038,
122362306a36Sopenharmony_ci	.clkr = {
122462306a36Sopenharmony_ci		.enable_reg = 0x2a038,
122562306a36Sopenharmony_ci		.enable_mask = BIT(0),
122662306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
122762306a36Sopenharmony_ci			.name = "gcc_pcie2_axi_m_clk",
122862306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
122962306a36Sopenharmony_ci				&pcie2_axi_m_clk_src.clkr.hw
123062306a36Sopenharmony_ci			},
123162306a36Sopenharmony_ci			.num_parents = 1,
123262306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
123362306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
123462306a36Sopenharmony_ci		},
123562306a36Sopenharmony_ci	},
123662306a36Sopenharmony_ci};
123762306a36Sopenharmony_ci
123862306a36Sopenharmony_cistatic struct clk_branch gcc_anoc_pcie2_2lane_m_clk = {
123962306a36Sopenharmony_ci	.halt_reg = 0x2e080,
124062306a36Sopenharmony_ci	.clkr = {
124162306a36Sopenharmony_ci		.enable_reg = 0x2e080,
124262306a36Sopenharmony_ci		.enable_mask = BIT(0),
124362306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
124462306a36Sopenharmony_ci			.name = "gcc_anoc_pcie2_2lane_m_clk",
124562306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
124662306a36Sopenharmony_ci				&pcie2_axi_m_clk_src.clkr.hw
124762306a36Sopenharmony_ci			},
124862306a36Sopenharmony_ci			.num_parents = 1,
124962306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
125062306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
125162306a36Sopenharmony_ci		},
125262306a36Sopenharmony_ci	},
125362306a36Sopenharmony_ci};
125462306a36Sopenharmony_ci
125562306a36Sopenharmony_cistatic struct clk_rcg2 pcie3_axi_m_clk_src = {
125662306a36Sopenharmony_ci	.cmd_rcgr = 0x2b018,
125762306a36Sopenharmony_ci	.freq_tbl = ftbl_pcie2_axi_m_clk_src,
125862306a36Sopenharmony_ci	.hid_width = 5,
125962306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_gpll4_bias_pll_ubi_nc_clk_map,
126062306a36Sopenharmony_ci	.clkr.hw.init = &(const struct clk_init_data) {
126162306a36Sopenharmony_ci		.name = "pcie3_axi_m_clk_src",
126262306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0_gpll4_bias_pll_ubi_nc_clk,
126362306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0_gpll4_bias_pll_ubi_nc_clk),
126462306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
126562306a36Sopenharmony_ci	},
126662306a36Sopenharmony_ci};
126762306a36Sopenharmony_ci
126862306a36Sopenharmony_cistatic struct clk_branch gcc_pcie3_axi_m_clk = {
126962306a36Sopenharmony_ci	.halt_reg = 0x2b038,
127062306a36Sopenharmony_ci	.clkr = {
127162306a36Sopenharmony_ci		.enable_reg = 0x2b038,
127262306a36Sopenharmony_ci		.enable_mask = BIT(0),
127362306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
127462306a36Sopenharmony_ci			.name = "gcc_pcie3_axi_m_clk",
127562306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
127662306a36Sopenharmony_ci				&pcie3_axi_m_clk_src.clkr.hw
127762306a36Sopenharmony_ci			},
127862306a36Sopenharmony_ci			.num_parents = 1,
127962306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
128062306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
128162306a36Sopenharmony_ci		},
128262306a36Sopenharmony_ci	},
128362306a36Sopenharmony_ci};
128462306a36Sopenharmony_ci
128562306a36Sopenharmony_cistatic struct clk_branch gcc_anoc_pcie3_2lane_m_clk = {
128662306a36Sopenharmony_ci	.halt_reg = 0x2e090,
128762306a36Sopenharmony_ci	.clkr = {
128862306a36Sopenharmony_ci		.enable_reg = 0x2e090,
128962306a36Sopenharmony_ci		.enable_mask = BIT(0),
129062306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
129162306a36Sopenharmony_ci			.name = "gcc_anoc_pcie3_2lane_m_clk",
129262306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
129362306a36Sopenharmony_ci				&pcie3_axi_m_clk_src.clkr.hw
129462306a36Sopenharmony_ci			},
129562306a36Sopenharmony_ci			.num_parents = 1,
129662306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
129762306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
129862306a36Sopenharmony_ci		},
129962306a36Sopenharmony_ci	},
130062306a36Sopenharmony_ci};
130162306a36Sopenharmony_ci
130262306a36Sopenharmony_cistatic struct clk_rcg2 pcie0_axi_s_clk_src = {
130362306a36Sopenharmony_ci	.cmd_rcgr = 0x28020,
130462306a36Sopenharmony_ci	.freq_tbl = ftbl_pcie0_axi_m_clk_src,
130562306a36Sopenharmony_ci	.hid_width = 5,
130662306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_gpll4_map,
130762306a36Sopenharmony_ci	.clkr.hw.init = &(const struct clk_init_data) {
130862306a36Sopenharmony_ci		.name = "pcie0_axi_s_clk_src",
130962306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0_gpll4,
131062306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0_gpll4),
131162306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
131262306a36Sopenharmony_ci	},
131362306a36Sopenharmony_ci};
131462306a36Sopenharmony_ci
131562306a36Sopenharmony_cistatic struct clk_branch gcc_pcie0_axi_s_clk = {
131662306a36Sopenharmony_ci	.halt_reg = 0x2803c,
131762306a36Sopenharmony_ci	.clkr = {
131862306a36Sopenharmony_ci		.enable_reg = 0x2803c,
131962306a36Sopenharmony_ci		.enable_mask = BIT(0),
132062306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
132162306a36Sopenharmony_ci			.name = "gcc_pcie0_axi_s_clk",
132262306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
132362306a36Sopenharmony_ci				&pcie0_axi_s_clk_src.clkr.hw
132462306a36Sopenharmony_ci			},
132562306a36Sopenharmony_ci			.num_parents = 1,
132662306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
132762306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
132862306a36Sopenharmony_ci		},
132962306a36Sopenharmony_ci	},
133062306a36Sopenharmony_ci};
133162306a36Sopenharmony_ci
133262306a36Sopenharmony_cistatic struct clk_branch gcc_pcie0_axi_s_bridge_clk = {
133362306a36Sopenharmony_ci	.halt_reg = 0x28040,
133462306a36Sopenharmony_ci	.clkr = {
133562306a36Sopenharmony_ci		.enable_reg = 0x28040,
133662306a36Sopenharmony_ci		.enable_mask = BIT(0),
133762306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
133862306a36Sopenharmony_ci			.name = "gcc_pcie0_axi_s_bridge_clk",
133962306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
134062306a36Sopenharmony_ci				&pcie0_axi_s_clk_src.clkr.hw
134162306a36Sopenharmony_ci			},
134262306a36Sopenharmony_ci			.num_parents = 1,
134362306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
134462306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
134562306a36Sopenharmony_ci		},
134662306a36Sopenharmony_ci	},
134762306a36Sopenharmony_ci};
134862306a36Sopenharmony_ci
134962306a36Sopenharmony_cistatic struct clk_branch gcc_snoc_pcie0_1lane_s_clk = {
135062306a36Sopenharmony_ci	.halt_reg = 0x2e048,
135162306a36Sopenharmony_ci	.clkr = {
135262306a36Sopenharmony_ci		.enable_reg = 0x2e048,
135362306a36Sopenharmony_ci		.enable_mask = BIT(0),
135462306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
135562306a36Sopenharmony_ci			.name = "gcc_snoc_pcie0_1lane_s_clk",
135662306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
135762306a36Sopenharmony_ci				&pcie0_axi_s_clk_src.clkr.hw
135862306a36Sopenharmony_ci			},
135962306a36Sopenharmony_ci			.num_parents = 1,
136062306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
136162306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
136262306a36Sopenharmony_ci		},
136362306a36Sopenharmony_ci	},
136462306a36Sopenharmony_ci};
136562306a36Sopenharmony_ci
136662306a36Sopenharmony_cistatic struct clk_rcg2 pcie1_axi_s_clk_src = {
136762306a36Sopenharmony_ci	.cmd_rcgr = 0x29020,
136862306a36Sopenharmony_ci	.freq_tbl = ftbl_pcie0_axi_m_clk_src,
136962306a36Sopenharmony_ci	.hid_width = 5,
137062306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_gpll4_map,
137162306a36Sopenharmony_ci	.clkr.hw.init = &(const struct clk_init_data) {
137262306a36Sopenharmony_ci		.name = "pcie1_axi_s_clk_src",
137362306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0_gpll4,
137462306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0_gpll4),
137562306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
137662306a36Sopenharmony_ci	},
137762306a36Sopenharmony_ci};
137862306a36Sopenharmony_ci
137962306a36Sopenharmony_cistatic struct clk_branch gcc_pcie1_axi_s_clk = {
138062306a36Sopenharmony_ci	.halt_reg = 0x2903c,
138162306a36Sopenharmony_ci	.clkr = {
138262306a36Sopenharmony_ci		.enable_reg = 0x2903c,
138362306a36Sopenharmony_ci		.enable_mask = BIT(0),
138462306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
138562306a36Sopenharmony_ci			.name = "gcc_pcie1_axi_s_clk",
138662306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
138762306a36Sopenharmony_ci				&pcie1_axi_s_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_pcie1_axi_s_bridge_clk = {
139762306a36Sopenharmony_ci	.halt_reg = 0x29040,
139862306a36Sopenharmony_ci	.clkr = {
139962306a36Sopenharmony_ci		.enable_reg = 0x29040,
140062306a36Sopenharmony_ci		.enable_mask = BIT(0),
140162306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
140262306a36Sopenharmony_ci			.name = "gcc_pcie1_axi_s_bridge_clk",
140362306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
140462306a36Sopenharmony_ci				&pcie1_axi_s_clk_src.clkr.hw
140562306a36Sopenharmony_ci			},
140662306a36Sopenharmony_ci			.num_parents = 1,
140762306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
140862306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
140962306a36Sopenharmony_ci		},
141062306a36Sopenharmony_ci	},
141162306a36Sopenharmony_ci};
141262306a36Sopenharmony_ci
141362306a36Sopenharmony_cistatic struct clk_branch gcc_snoc_pcie1_1lane_s_clk = {
141462306a36Sopenharmony_ci	.halt_reg = 0x2e04c,
141562306a36Sopenharmony_ci	.clkr = {
141662306a36Sopenharmony_ci		.enable_reg = 0x2e04c,
141762306a36Sopenharmony_ci		.enable_mask = BIT(0),
141862306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
141962306a36Sopenharmony_ci			.name = "gcc_snoc_pcie1_1lane_s_clk",
142062306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
142162306a36Sopenharmony_ci				&pcie1_axi_s_clk_src.clkr.hw
142262306a36Sopenharmony_ci			},
142362306a36Sopenharmony_ci			.num_parents = 1,
142462306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
142562306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
142662306a36Sopenharmony_ci		},
142762306a36Sopenharmony_ci	},
142862306a36Sopenharmony_ci};
142962306a36Sopenharmony_ci
143062306a36Sopenharmony_cistatic struct clk_rcg2 pcie2_axi_s_clk_src = {
143162306a36Sopenharmony_ci	.cmd_rcgr = 0x2a020,
143262306a36Sopenharmony_ci	.freq_tbl = ftbl_pcie0_axi_m_clk_src,
143362306a36Sopenharmony_ci	.hid_width = 5,
143462306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_gpll4_map,
143562306a36Sopenharmony_ci	.clkr.hw.init = &(const struct clk_init_data) {
143662306a36Sopenharmony_ci		.name = "pcie2_axi_s_clk_src",
143762306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0_gpll4,
143862306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0_gpll4),
143962306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
144062306a36Sopenharmony_ci	},
144162306a36Sopenharmony_ci};
144262306a36Sopenharmony_ci
144362306a36Sopenharmony_cistatic struct clk_branch gcc_pcie2_axi_s_clk = {
144462306a36Sopenharmony_ci	.halt_reg = 0x2a03c,
144562306a36Sopenharmony_ci	.clkr = {
144662306a36Sopenharmony_ci		.enable_reg = 0x2a03c,
144762306a36Sopenharmony_ci		.enable_mask = BIT(0),
144862306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
144962306a36Sopenharmony_ci			.name = "gcc_pcie2_axi_s_clk",
145062306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
145162306a36Sopenharmony_ci				&pcie2_axi_s_clk_src.clkr.hw
145262306a36Sopenharmony_ci			},
145362306a36Sopenharmony_ci			.num_parents = 1,
145462306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
145562306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
145662306a36Sopenharmony_ci		},
145762306a36Sopenharmony_ci	},
145862306a36Sopenharmony_ci};
145962306a36Sopenharmony_ci
146062306a36Sopenharmony_cistatic struct clk_branch gcc_pcie2_axi_s_bridge_clk = {
146162306a36Sopenharmony_ci	.halt_reg = 0x2a040,
146262306a36Sopenharmony_ci	.clkr = {
146362306a36Sopenharmony_ci		.enable_reg = 0x2a040,
146462306a36Sopenharmony_ci		.enable_mask = BIT(0),
146562306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
146662306a36Sopenharmony_ci			.name = "gcc_pcie2_axi_s_bridge_clk",
146762306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
146862306a36Sopenharmony_ci				&pcie2_axi_s_clk_src.clkr.hw
146962306a36Sopenharmony_ci			},
147062306a36Sopenharmony_ci			.num_parents = 1,
147162306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
147262306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
147362306a36Sopenharmony_ci		},
147462306a36Sopenharmony_ci	},
147562306a36Sopenharmony_ci};
147662306a36Sopenharmony_ci
147762306a36Sopenharmony_cistatic struct clk_branch gcc_snoc_pcie2_2lane_s_clk = {
147862306a36Sopenharmony_ci	.halt_reg = 0x2e050,
147962306a36Sopenharmony_ci	.clkr = {
148062306a36Sopenharmony_ci		.enable_reg = 0x2e050,
148162306a36Sopenharmony_ci		.enable_mask = BIT(0),
148262306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
148362306a36Sopenharmony_ci			.name = "gcc_snoc_pcie2_2lane_s_clk",
148462306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
148562306a36Sopenharmony_ci				&pcie2_axi_s_clk_src.clkr.hw
148662306a36Sopenharmony_ci			},
148762306a36Sopenharmony_ci			.num_parents = 1,
148862306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
148962306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
149062306a36Sopenharmony_ci		},
149162306a36Sopenharmony_ci	},
149262306a36Sopenharmony_ci};
149362306a36Sopenharmony_ci
149462306a36Sopenharmony_cistatic struct clk_rcg2 pcie3_axi_s_clk_src = {
149562306a36Sopenharmony_ci	.cmd_rcgr = 0x2b020,
149662306a36Sopenharmony_ci	.freq_tbl = ftbl_pcie0_axi_m_clk_src,
149762306a36Sopenharmony_ci	.hid_width = 5,
149862306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_gpll4_map,
149962306a36Sopenharmony_ci	.clkr.hw.init = &(const struct clk_init_data) {
150062306a36Sopenharmony_ci		.name = "pcie3_axi_s_clk_src",
150162306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0_gpll4,
150262306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0_gpll4),
150362306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
150462306a36Sopenharmony_ci	},
150562306a36Sopenharmony_ci};
150662306a36Sopenharmony_ci
150762306a36Sopenharmony_cistatic struct clk_branch gcc_pcie3_axi_s_clk = {
150862306a36Sopenharmony_ci	.halt_reg = 0x2b03c,
150962306a36Sopenharmony_ci	.clkr = {
151062306a36Sopenharmony_ci		.enable_reg = 0x2b03c,
151162306a36Sopenharmony_ci		.enable_mask = BIT(0),
151262306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
151362306a36Sopenharmony_ci			.name = "gcc_pcie3_axi_s_clk",
151462306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
151562306a36Sopenharmony_ci				&pcie3_axi_s_clk_src.clkr.hw
151662306a36Sopenharmony_ci			},
151762306a36Sopenharmony_ci			.num_parents = 1,
151862306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
151962306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
152062306a36Sopenharmony_ci		},
152162306a36Sopenharmony_ci	},
152262306a36Sopenharmony_ci};
152362306a36Sopenharmony_ci
152462306a36Sopenharmony_cistatic struct clk_branch gcc_pcie3_axi_s_bridge_clk = {
152562306a36Sopenharmony_ci	.halt_reg = 0x2b040,
152662306a36Sopenharmony_ci	.clkr = {
152762306a36Sopenharmony_ci		.enable_reg = 0x2b040,
152862306a36Sopenharmony_ci		.enable_mask = BIT(0),
152962306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
153062306a36Sopenharmony_ci			.name = "gcc_pcie3_axi_s_bridge_clk",
153162306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
153262306a36Sopenharmony_ci				&pcie3_axi_s_clk_src.clkr.hw
153362306a36Sopenharmony_ci			},
153462306a36Sopenharmony_ci			.num_parents = 1,
153562306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
153662306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
153762306a36Sopenharmony_ci		},
153862306a36Sopenharmony_ci	},
153962306a36Sopenharmony_ci};
154062306a36Sopenharmony_ci
154162306a36Sopenharmony_cistatic struct clk_branch gcc_snoc_pcie3_2lane_s_clk = {
154262306a36Sopenharmony_ci	.halt_reg = 0x2e054,
154362306a36Sopenharmony_ci	.clkr = {
154462306a36Sopenharmony_ci		.enable_reg = 0x2e054,
154562306a36Sopenharmony_ci		.enable_mask = BIT(0),
154662306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
154762306a36Sopenharmony_ci			.name = "gcc_snoc_pcie3_2lane_s_clk",
154862306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
154962306a36Sopenharmony_ci				&pcie3_axi_s_clk_src.clkr.hw
155062306a36Sopenharmony_ci			},
155162306a36Sopenharmony_ci			.num_parents = 1,
155262306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
155362306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
155462306a36Sopenharmony_ci		},
155562306a36Sopenharmony_ci	},
155662306a36Sopenharmony_ci};
155762306a36Sopenharmony_ci
155862306a36Sopenharmony_cistatic struct clk_regmap_phy_mux pcie0_pipe_clk_src = {
155962306a36Sopenharmony_ci	.reg = 0x28064,
156062306a36Sopenharmony_ci	.clkr = {
156162306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
156262306a36Sopenharmony_ci			.name = "pcie0_pipe_clk_src",
156362306a36Sopenharmony_ci			.parent_data = &(const struct clk_parent_data) {
156462306a36Sopenharmony_ci				.index = DT_PCIE30_PHY0_PIPE_CLK,
156562306a36Sopenharmony_ci			},
156662306a36Sopenharmony_ci			.num_parents = 1,
156762306a36Sopenharmony_ci			.ops = &clk_regmap_phy_mux_ops,
156862306a36Sopenharmony_ci		},
156962306a36Sopenharmony_ci	},
157062306a36Sopenharmony_ci};
157162306a36Sopenharmony_ci
157262306a36Sopenharmony_cistatic struct clk_regmap_phy_mux pcie1_pipe_clk_src = {
157362306a36Sopenharmony_ci	.reg = 0x29064,
157462306a36Sopenharmony_ci	.clkr = {
157562306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
157662306a36Sopenharmony_ci			.name = "pcie1_pipe_clk_src",
157762306a36Sopenharmony_ci			.parent_data = &(const struct clk_parent_data) {
157862306a36Sopenharmony_ci				.index = DT_PCIE30_PHY1_PIPE_CLK,
157962306a36Sopenharmony_ci			},
158062306a36Sopenharmony_ci			.num_parents = 1,
158162306a36Sopenharmony_ci			.ops = &clk_regmap_phy_mux_ops,
158262306a36Sopenharmony_ci		},
158362306a36Sopenharmony_ci	},
158462306a36Sopenharmony_ci};
158562306a36Sopenharmony_ci
158662306a36Sopenharmony_cistatic struct clk_regmap_phy_mux pcie2_pipe_clk_src = {
158762306a36Sopenharmony_ci	.reg = 0x2a064,
158862306a36Sopenharmony_ci	.clkr = {
158962306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
159062306a36Sopenharmony_ci			.name = "pcie2_pipe_clk_src",
159162306a36Sopenharmony_ci			.parent_data = &(const struct clk_parent_data) {
159262306a36Sopenharmony_ci				.index = DT_PCIE30_PHY2_PIPE_CLK,
159362306a36Sopenharmony_ci			},
159462306a36Sopenharmony_ci			.num_parents = 1,
159562306a36Sopenharmony_ci			.ops = &clk_regmap_phy_mux_ops,
159662306a36Sopenharmony_ci		},
159762306a36Sopenharmony_ci	},
159862306a36Sopenharmony_ci};
159962306a36Sopenharmony_ci
160062306a36Sopenharmony_cistatic struct clk_regmap_phy_mux pcie3_pipe_clk_src = {
160162306a36Sopenharmony_ci	.reg = 0x2b064,
160262306a36Sopenharmony_ci	.clkr = {
160362306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
160462306a36Sopenharmony_ci			.name = "pcie3_pipe_clk_src",
160562306a36Sopenharmony_ci			.parent_data = &(const struct clk_parent_data) {
160662306a36Sopenharmony_ci				.index = DT_PCIE30_PHY3_PIPE_CLK,
160762306a36Sopenharmony_ci			},
160862306a36Sopenharmony_ci			.num_parents = 1,
160962306a36Sopenharmony_ci			.ops = &clk_regmap_phy_mux_ops,
161062306a36Sopenharmony_ci		},
161162306a36Sopenharmony_ci	},
161262306a36Sopenharmony_ci};
161362306a36Sopenharmony_ci
161462306a36Sopenharmony_cistatic const struct freq_tbl ftbl_pcie_rchng_clk_src[] = {
161562306a36Sopenharmony_ci	F(24000000, P_XO, 1, 0, 0),
161662306a36Sopenharmony_ci	F(100000000, P_GPLL0, 8, 0, 0),
161762306a36Sopenharmony_ci	{ }
161862306a36Sopenharmony_ci};
161962306a36Sopenharmony_ci
162062306a36Sopenharmony_cistatic struct clk_rcg2 pcie0_rchng_clk_src = {
162162306a36Sopenharmony_ci	.cmd_rcgr = 0x28028,
162262306a36Sopenharmony_ci	.freq_tbl = ftbl_pcie_rchng_clk_src,
162362306a36Sopenharmony_ci	.hid_width = 5,
162462306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_map,
162562306a36Sopenharmony_ci	.clkr.hw.init = &(const struct clk_init_data) {
162662306a36Sopenharmony_ci		.name = "pcie0_rchng_clk_src",
162762306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0,
162862306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0),
162962306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
163062306a36Sopenharmony_ci	},
163162306a36Sopenharmony_ci};
163262306a36Sopenharmony_ci
163362306a36Sopenharmony_cistatic struct clk_branch gcc_pcie0_rchng_clk = {
163462306a36Sopenharmony_ci	.halt_reg = 0x28028,
163562306a36Sopenharmony_ci	.clkr = {
163662306a36Sopenharmony_ci		.enable_reg = 0x28028,
163762306a36Sopenharmony_ci		.enable_mask = BIT(1),
163862306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
163962306a36Sopenharmony_ci			.name = "gcc_pcie0_rchng_clk",
164062306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
164162306a36Sopenharmony_ci				&pcie0_rchng_clk_src.clkr.hw
164262306a36Sopenharmony_ci
164362306a36Sopenharmony_ci			},
164462306a36Sopenharmony_ci			.num_parents = 1,
164562306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
164662306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
164762306a36Sopenharmony_ci		},
164862306a36Sopenharmony_ci	},
164962306a36Sopenharmony_ci};
165062306a36Sopenharmony_ci
165162306a36Sopenharmony_cistatic struct clk_rcg2 pcie1_rchng_clk_src = {
165262306a36Sopenharmony_ci	.cmd_rcgr = 0x29028,
165362306a36Sopenharmony_ci	.freq_tbl = ftbl_pcie_rchng_clk_src,
165462306a36Sopenharmony_ci	.hid_width = 5,
165562306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_map,
165662306a36Sopenharmony_ci	.clkr.hw.init = &(const struct clk_init_data) {
165762306a36Sopenharmony_ci		.name = "pcie1_rchng_clk_src",
165862306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0,
165962306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0),
166062306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
166162306a36Sopenharmony_ci	},
166262306a36Sopenharmony_ci};
166362306a36Sopenharmony_ci
166462306a36Sopenharmony_cistatic struct clk_branch gcc_pcie1_rchng_clk = {
166562306a36Sopenharmony_ci	.halt_reg = 0x29028,
166662306a36Sopenharmony_ci	.clkr = {
166762306a36Sopenharmony_ci		.enable_reg = 0x29028,
166862306a36Sopenharmony_ci		.enable_mask = BIT(1),
166962306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
167062306a36Sopenharmony_ci			.name = "gcc_pcie1_rchng_clk",
167162306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
167262306a36Sopenharmony_ci				&pcie1_rchng_clk_src.clkr.hw
167362306a36Sopenharmony_ci			},
167462306a36Sopenharmony_ci			.num_parents = 1,
167562306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
167662306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
167762306a36Sopenharmony_ci		},
167862306a36Sopenharmony_ci	},
167962306a36Sopenharmony_ci};
168062306a36Sopenharmony_ci
168162306a36Sopenharmony_cistatic struct clk_rcg2 pcie2_rchng_clk_src = {
168262306a36Sopenharmony_ci	.cmd_rcgr = 0x2a028,
168362306a36Sopenharmony_ci	.freq_tbl = ftbl_pcie_rchng_clk_src,
168462306a36Sopenharmony_ci	.hid_width = 5,
168562306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_map,
168662306a36Sopenharmony_ci	.clkr.hw.init = &(const struct clk_init_data) {
168762306a36Sopenharmony_ci		.name = "pcie2_rchng_clk_src",
168862306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0,
168962306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0),
169062306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
169162306a36Sopenharmony_ci	},
169262306a36Sopenharmony_ci};
169362306a36Sopenharmony_ci
169462306a36Sopenharmony_cistatic struct clk_branch gcc_pcie2_rchng_clk = {
169562306a36Sopenharmony_ci	.halt_reg = 0x2a028,
169662306a36Sopenharmony_ci	.clkr = {
169762306a36Sopenharmony_ci		.enable_reg = 0x2a028,
169862306a36Sopenharmony_ci		.enable_mask = BIT(1),
169962306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
170062306a36Sopenharmony_ci			.name = "gcc_pcie2_rchng_clk",
170162306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
170262306a36Sopenharmony_ci				&pcie2_rchng_clk_src.clkr.hw
170362306a36Sopenharmony_ci			},
170462306a36Sopenharmony_ci			.num_parents = 1,
170562306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
170662306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
170762306a36Sopenharmony_ci		},
170862306a36Sopenharmony_ci	},
170962306a36Sopenharmony_ci};
171062306a36Sopenharmony_ci
171162306a36Sopenharmony_cistatic struct clk_rcg2 pcie3_rchng_clk_src = {
171262306a36Sopenharmony_ci	.cmd_rcgr = 0x2b028,
171362306a36Sopenharmony_ci	.freq_tbl = ftbl_pcie_rchng_clk_src,
171462306a36Sopenharmony_ci	.hid_width = 5,
171562306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_map,
171662306a36Sopenharmony_ci	.clkr.hw.init = &(const struct clk_init_data) {
171762306a36Sopenharmony_ci		.name = "pcie3_rchng_clk_src",
171862306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0,
171962306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0),
172062306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
172162306a36Sopenharmony_ci	},
172262306a36Sopenharmony_ci};
172362306a36Sopenharmony_ci
172462306a36Sopenharmony_cistatic struct clk_branch gcc_pcie3_rchng_clk = {
172562306a36Sopenharmony_ci	.halt_reg = 0x2b028,
172662306a36Sopenharmony_ci	.clkr = {
172762306a36Sopenharmony_ci		.enable_reg = 0x2b028,
172862306a36Sopenharmony_ci		.enable_mask = BIT(1),
172962306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
173062306a36Sopenharmony_ci			.name = "gcc_pcie3_rchng_clk",
173162306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
173262306a36Sopenharmony_ci				&pcie3_rchng_clk_src.clkr.hw
173362306a36Sopenharmony_ci			},
173462306a36Sopenharmony_ci			.num_parents = 1,
173562306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
173662306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
173762306a36Sopenharmony_ci		},
173862306a36Sopenharmony_ci	},
173962306a36Sopenharmony_ci};
174062306a36Sopenharmony_ci
174162306a36Sopenharmony_cistatic const struct freq_tbl ftbl_pcie_aux_clk_src[] = {
174262306a36Sopenharmony_ci	F(20000000, P_GPLL0, 10, 1, 4),
174362306a36Sopenharmony_ci	{ }
174462306a36Sopenharmony_ci};
174562306a36Sopenharmony_ci
174662306a36Sopenharmony_cistatic struct clk_rcg2 pcie_aux_clk_src = {
174762306a36Sopenharmony_ci	.cmd_rcgr = 0x28004,
174862306a36Sopenharmony_ci	.freq_tbl = ftbl_pcie_aux_clk_src,
174962306a36Sopenharmony_ci	.mnd_width = 16,
175062306a36Sopenharmony_ci	.hid_width = 5,
175162306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_gpll0_aux_core_pi_sleep_clk_map,
175262306a36Sopenharmony_ci	.clkr.hw.init = &(const struct clk_init_data) {
175362306a36Sopenharmony_ci		.name = "pcie_aux_clk_src",
175462306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0_gpll0_aux_core_pi_sleep_clk,
175562306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0_gpll0_aux_core_pi_sleep_clk),
175662306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
175762306a36Sopenharmony_ci	},
175862306a36Sopenharmony_ci};
175962306a36Sopenharmony_ci
176062306a36Sopenharmony_cistatic struct clk_branch gcc_pcie0_aux_clk = {
176162306a36Sopenharmony_ci	.halt_reg = 0x28034,
176262306a36Sopenharmony_ci	.clkr = {
176362306a36Sopenharmony_ci		.enable_reg = 0x28034,
176462306a36Sopenharmony_ci		.enable_mask = BIT(0),
176562306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
176662306a36Sopenharmony_ci			.name = "gcc_pcie0_aux_clk",
176762306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
176862306a36Sopenharmony_ci				&pcie_aux_clk_src.clkr.hw
176962306a36Sopenharmony_ci			},
177062306a36Sopenharmony_ci			.num_parents = 1,
177162306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
177262306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
177362306a36Sopenharmony_ci		},
177462306a36Sopenharmony_ci	},
177562306a36Sopenharmony_ci};
177662306a36Sopenharmony_ci
177762306a36Sopenharmony_cistatic struct clk_branch gcc_pcie1_aux_clk = {
177862306a36Sopenharmony_ci	.halt_reg = 0x29034,
177962306a36Sopenharmony_ci	.clkr = {
178062306a36Sopenharmony_ci		.enable_reg = 0x29034,
178162306a36Sopenharmony_ci		.enable_mask = BIT(0),
178262306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
178362306a36Sopenharmony_ci			.name = "gcc_pcie1_aux_clk",
178462306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
178562306a36Sopenharmony_ci				&pcie_aux_clk_src.clkr.hw
178662306a36Sopenharmony_ci			},
178762306a36Sopenharmony_ci			.num_parents = 1,
178862306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
178962306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
179062306a36Sopenharmony_ci		},
179162306a36Sopenharmony_ci	},
179262306a36Sopenharmony_ci};
179362306a36Sopenharmony_ci
179462306a36Sopenharmony_cistatic struct clk_branch gcc_pcie2_aux_clk = {
179562306a36Sopenharmony_ci	.halt_reg = 0x2a034,
179662306a36Sopenharmony_ci	.clkr = {
179762306a36Sopenharmony_ci		.enable_reg = 0x2a034,
179862306a36Sopenharmony_ci		.enable_mask = BIT(0),
179962306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
180062306a36Sopenharmony_ci			.name = "gcc_pcie2_aux_clk",
180162306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
180262306a36Sopenharmony_ci				&pcie_aux_clk_src.clkr.hw
180362306a36Sopenharmony_ci			},
180462306a36Sopenharmony_ci			.num_parents = 1,
180562306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
180662306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
180762306a36Sopenharmony_ci		},
180862306a36Sopenharmony_ci	},
180962306a36Sopenharmony_ci};
181062306a36Sopenharmony_ci
181162306a36Sopenharmony_cistatic struct clk_branch gcc_pcie3_aux_clk = {
181262306a36Sopenharmony_ci	.halt_reg = 0x2b034,
181362306a36Sopenharmony_ci	.clkr = {
181462306a36Sopenharmony_ci		.enable_reg = 0x2b034,
181562306a36Sopenharmony_ci		.enable_mask = BIT(0),
181662306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
181762306a36Sopenharmony_ci			.name = "gcc_pcie3_aux_clk",
181862306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
181962306a36Sopenharmony_ci				&pcie_aux_clk_src.clkr.hw
182062306a36Sopenharmony_ci			},
182162306a36Sopenharmony_ci			.num_parents = 1,
182262306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
182362306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
182462306a36Sopenharmony_ci		},
182562306a36Sopenharmony_ci	},
182662306a36Sopenharmony_ci};
182762306a36Sopenharmony_ci
182862306a36Sopenharmony_cistatic const struct freq_tbl ftbl_usb_aux_clk_src[] = {
182962306a36Sopenharmony_ci	F(24000000, P_XO, 1, 0, 0),
183062306a36Sopenharmony_ci	{ }
183162306a36Sopenharmony_ci};
183262306a36Sopenharmony_ci
183362306a36Sopenharmony_cistatic struct clk_rcg2 usb0_aux_clk_src = {
183462306a36Sopenharmony_ci	.cmd_rcgr = 0x2c018,
183562306a36Sopenharmony_ci	.freq_tbl = ftbl_usb_aux_clk_src,
183662306a36Sopenharmony_ci	.mnd_width = 16,
183762306a36Sopenharmony_ci	.hid_width = 5,
183862306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_core_pi_sleep_clk_map,
183962306a36Sopenharmony_ci	.clkr.hw.init = &(const struct clk_init_data) {
184062306a36Sopenharmony_ci		.name = "usb0_aux_clk_src",
184162306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0_core_pi_sleep_clk,
184262306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0_core_pi_sleep_clk),
184362306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
184462306a36Sopenharmony_ci	},
184562306a36Sopenharmony_ci};
184662306a36Sopenharmony_ci
184762306a36Sopenharmony_cistatic struct clk_branch gcc_usb0_aux_clk = {
184862306a36Sopenharmony_ci	.halt_reg = 0x2c048,
184962306a36Sopenharmony_ci	.clkr = {
185062306a36Sopenharmony_ci		.enable_reg = 0x2c048,
185162306a36Sopenharmony_ci		.enable_mask = BIT(0),
185262306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
185362306a36Sopenharmony_ci			.name = "gcc_usb0_aux_clk",
185462306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
185562306a36Sopenharmony_ci				&usb0_aux_clk_src.clkr.hw
185662306a36Sopenharmony_ci			},
185762306a36Sopenharmony_ci			.num_parents = 1,
185862306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
185962306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
186062306a36Sopenharmony_ci		},
186162306a36Sopenharmony_ci	},
186262306a36Sopenharmony_ci};
186362306a36Sopenharmony_ci
186462306a36Sopenharmony_cistatic const struct freq_tbl ftbl_usb0_master_clk_src[] = {
186562306a36Sopenharmony_ci	F(100000000, P_GPLL0, 8, 0, 0),
186662306a36Sopenharmony_ci	F(200000000, P_GPLL0, 4, 0, 0),
186762306a36Sopenharmony_ci	{ }
186862306a36Sopenharmony_ci};
186962306a36Sopenharmony_ci
187062306a36Sopenharmony_cistatic struct clk_rcg2 usb0_master_clk_src = {
187162306a36Sopenharmony_ci	.cmd_rcgr = 0x2c004,
187262306a36Sopenharmony_ci	.freq_tbl = ftbl_usb0_master_clk_src,
187362306a36Sopenharmony_ci	.mnd_width = 8,
187462306a36Sopenharmony_ci	.hid_width = 5,
187562306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_out_main_div2_gpll0_map,
187662306a36Sopenharmony_ci	.clkr.hw.init = &(const struct clk_init_data) {
187762306a36Sopenharmony_ci		.name = "usb0_master_clk_src",
187862306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0_out_main_div2_gpll0,
187962306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0_out_main_div2_gpll0),
188062306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
188162306a36Sopenharmony_ci	},
188262306a36Sopenharmony_ci};
188362306a36Sopenharmony_ci
188462306a36Sopenharmony_cistatic struct clk_branch gcc_usb0_master_clk = {
188562306a36Sopenharmony_ci	.halt_reg = 0x2c044,
188662306a36Sopenharmony_ci	.clkr = {
188762306a36Sopenharmony_ci		.enable_reg = 0x2c044,
188862306a36Sopenharmony_ci		.enable_mask = BIT(0),
188962306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
189062306a36Sopenharmony_ci			.name = "gcc_usb0_master_clk",
189162306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
189262306a36Sopenharmony_ci				&usb0_master_clk_src.clkr.hw
189362306a36Sopenharmony_ci			},
189462306a36Sopenharmony_ci			.num_parents = 1,
189562306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
189662306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
189762306a36Sopenharmony_ci		},
189862306a36Sopenharmony_ci	},
189962306a36Sopenharmony_ci};
190062306a36Sopenharmony_ci
190162306a36Sopenharmony_cistatic struct clk_branch gcc_snoc_usb_clk = {
190262306a36Sopenharmony_ci	.halt_reg = 0x2e058,
190362306a36Sopenharmony_ci	.clkr = {
190462306a36Sopenharmony_ci		.enable_reg = 0x2e058,
190562306a36Sopenharmony_ci		.enable_mask = BIT(0),
190662306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
190762306a36Sopenharmony_ci			.name = "gcc_snoc_usb_clk",
190862306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
190962306a36Sopenharmony_ci				&usb0_master_clk_src.clkr.hw
191062306a36Sopenharmony_ci			},
191162306a36Sopenharmony_ci			.num_parents = 1,
191262306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
191362306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
191462306a36Sopenharmony_ci		},
191562306a36Sopenharmony_ci	},
191662306a36Sopenharmony_ci};
191762306a36Sopenharmony_ci
191862306a36Sopenharmony_cistatic struct clk_branch gcc_anoc_usb_axi_clk = {
191962306a36Sopenharmony_ci	.halt_reg = 0x2e084,
192062306a36Sopenharmony_ci	.clkr = {
192162306a36Sopenharmony_ci		.enable_reg = 0x2e084,
192262306a36Sopenharmony_ci		.enable_mask = BIT(0),
192362306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
192462306a36Sopenharmony_ci			.name = "gcc_anoc_usb_axi_clk",
192562306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
192662306a36Sopenharmony_ci				&usb0_master_clk_src.clkr.hw
192762306a36Sopenharmony_ci			},
192862306a36Sopenharmony_ci			.num_parents = 1,
192962306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
193062306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
193162306a36Sopenharmony_ci		},
193262306a36Sopenharmony_ci	},
193362306a36Sopenharmony_ci};
193462306a36Sopenharmony_ci
193562306a36Sopenharmony_cistatic const struct freq_tbl ftbl_usb0_mock_utmi_clk_src[] = {
193662306a36Sopenharmony_ci	F(24000000, P_XO, 1, 0, 0),
193762306a36Sopenharmony_ci	F(60000000, P_GPLL4, 10, 1, 2),
193862306a36Sopenharmony_ci	{ }
193962306a36Sopenharmony_ci};
194062306a36Sopenharmony_ci
194162306a36Sopenharmony_cistatic struct clk_rcg2 usb0_mock_utmi_clk_src = {
194262306a36Sopenharmony_ci	.cmd_rcgr = 0x2c02c,
194362306a36Sopenharmony_ci	.freq_tbl = ftbl_usb0_mock_utmi_clk_src,
194462306a36Sopenharmony_ci	.mnd_width = 8,
194562306a36Sopenharmony_ci	.hid_width = 5,
194662306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll4_gpll0_gpll0_out_main_div2_map,
194762306a36Sopenharmony_ci	.clkr.hw.init = &(const struct clk_init_data) {
194862306a36Sopenharmony_ci		.name = "usb0_mock_utmi_clk_src",
194962306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll4_gpll0_gpll0_out_main_div2,
195062306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll4_gpll0_gpll0_out_main_div2),
195162306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
195262306a36Sopenharmony_ci	},
195362306a36Sopenharmony_ci};
195462306a36Sopenharmony_ci
195562306a36Sopenharmony_cistatic struct clk_regmap_div usb0_mock_utmi_div_clk_src = {
195662306a36Sopenharmony_ci	.reg = 0x2c040,
195762306a36Sopenharmony_ci	.shift = 0,
195862306a36Sopenharmony_ci	.width = 2,
195962306a36Sopenharmony_ci	.clkr.hw.init = &(const struct clk_init_data) {
196062306a36Sopenharmony_ci		.name = "usb0_mock_utmi_div_clk_src",
196162306a36Sopenharmony_ci		.parent_data = &(const struct clk_parent_data) {
196262306a36Sopenharmony_ci			.hw = &usb0_mock_utmi_clk_src.clkr.hw,
196362306a36Sopenharmony_ci		},
196462306a36Sopenharmony_ci		.num_parents = 1,
196562306a36Sopenharmony_ci		.flags = CLK_SET_RATE_PARENT,
196662306a36Sopenharmony_ci		.ops = &clk_regmap_div_ro_ops,
196762306a36Sopenharmony_ci	},
196862306a36Sopenharmony_ci};
196962306a36Sopenharmony_ci
197062306a36Sopenharmony_cistatic struct clk_branch gcc_usb0_mock_utmi_clk = {
197162306a36Sopenharmony_ci	.halt_reg = 0x2c04c,
197262306a36Sopenharmony_ci	.clkr = {
197362306a36Sopenharmony_ci		.enable_reg = 0x2c04c,
197462306a36Sopenharmony_ci		.enable_mask = BIT(0),
197562306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
197662306a36Sopenharmony_ci			.name = "gcc_usb0_mock_utmi_clk",
197762306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
197862306a36Sopenharmony_ci				&usb0_mock_utmi_div_clk_src.clkr.hw
197962306a36Sopenharmony_ci			},
198062306a36Sopenharmony_ci			.num_parents = 1,
198162306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
198262306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
198362306a36Sopenharmony_ci		},
198462306a36Sopenharmony_ci	},
198562306a36Sopenharmony_ci};
198662306a36Sopenharmony_ci
198762306a36Sopenharmony_cistatic struct clk_regmap_mux usb0_pipe_clk_src = {
198862306a36Sopenharmony_ci	.reg = 0x2C074,
198962306a36Sopenharmony_ci	.shift = 8,
199062306a36Sopenharmony_ci	.width = 2,
199162306a36Sopenharmony_ci	.parent_map = gcc_usb3phy_0_cc_pipe_clk_xo_map,
199262306a36Sopenharmony_ci	.clkr = {
199362306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
199462306a36Sopenharmony_ci			.name = "usb0_pipe_clk_src",
199562306a36Sopenharmony_ci			.parent_data = gcc_usb3phy_0_cc_pipe_clk_xo,
199662306a36Sopenharmony_ci			.num_parents = ARRAY_SIZE(gcc_usb3phy_0_cc_pipe_clk_xo),
199762306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
199862306a36Sopenharmony_ci			.ops = &clk_regmap_mux_closest_ops,
199962306a36Sopenharmony_ci		},
200062306a36Sopenharmony_ci	},
200162306a36Sopenharmony_ci};
200262306a36Sopenharmony_ci
200362306a36Sopenharmony_cistatic struct clk_branch gcc_usb0_pipe_clk = {
200462306a36Sopenharmony_ci	.halt_reg = 0x2c054,
200562306a36Sopenharmony_ci	.halt_check = BRANCH_HALT_DELAY,
200662306a36Sopenharmony_ci	.clkr = {
200762306a36Sopenharmony_ci		.enable_reg = 0x2c054,
200862306a36Sopenharmony_ci		.enable_mask = BIT(0),
200962306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data){
201062306a36Sopenharmony_ci			.name = "gcc_usb0_pipe_clk",
201162306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
201262306a36Sopenharmony_ci				&usb0_pipe_clk_src.clkr.hw
201362306a36Sopenharmony_ci			},
201462306a36Sopenharmony_ci			.num_parents = 1,
201562306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
201662306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
201762306a36Sopenharmony_ci		},
201862306a36Sopenharmony_ci	},
201962306a36Sopenharmony_ci};
202062306a36Sopenharmony_ci
202162306a36Sopenharmony_cistatic struct clk_branch gcc_usb0_sleep_clk = {
202262306a36Sopenharmony_ci	.halt_reg = 0x2c058,
202362306a36Sopenharmony_ci	.clkr = {
202462306a36Sopenharmony_ci		.enable_reg = 0x2c058,
202562306a36Sopenharmony_ci		.enable_mask = BIT(0),
202662306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data){
202762306a36Sopenharmony_ci			.name = "gcc_usb0_sleep_clk",
202862306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
202962306a36Sopenharmony_ci				&gcc_sleep_clk_src.clkr.hw
203062306a36Sopenharmony_ci			},
203162306a36Sopenharmony_ci			.num_parents = 1,
203262306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
203362306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
203462306a36Sopenharmony_ci		},
203562306a36Sopenharmony_ci	},
203662306a36Sopenharmony_ci};
203762306a36Sopenharmony_ci
203862306a36Sopenharmony_cistatic const struct freq_tbl ftbl_sdcc_apps_clk_src[] = {
203962306a36Sopenharmony_ci	F(144000, P_XO, 16, 12, 125),
204062306a36Sopenharmony_ci	F(400000, P_XO, 12, 1, 5),
204162306a36Sopenharmony_ci	F(24000000, P_GPLL2, 12, 1, 4),
204262306a36Sopenharmony_ci	F(48000000, P_GPLL2, 12, 1, 2),
204362306a36Sopenharmony_ci	F(96000000, P_GPLL2, 12, 0, 0),
204462306a36Sopenharmony_ci	F(177777778, P_GPLL0, 4.5, 0, 0),
204562306a36Sopenharmony_ci	F(192000000, P_GPLL2, 6, 0, 0),
204662306a36Sopenharmony_ci	F(384000000, P_GPLL2, 3, 0, 0),
204762306a36Sopenharmony_ci	F(400000000, P_GPLL0, 2, 0, 0),
204862306a36Sopenharmony_ci	{ }
204962306a36Sopenharmony_ci};
205062306a36Sopenharmony_ci
205162306a36Sopenharmony_cistatic struct clk_rcg2 sdcc1_apps_clk_src = {
205262306a36Sopenharmony_ci	.cmd_rcgr = 0x33004,
205362306a36Sopenharmony_ci	.freq_tbl = ftbl_sdcc_apps_clk_src,
205462306a36Sopenharmony_ci	.mnd_width = 8,
205562306a36Sopenharmony_ci	.hid_width = 5,
205662306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_gpll2_gpll0_out_main_div2_map,
205762306a36Sopenharmony_ci	.clkr.hw.init = &(const struct clk_init_data) {
205862306a36Sopenharmony_ci		.name = "sdcc1_apps_clk_src",
205962306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0_gpll2_gpll0_out_main_div2,
206062306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0_gpll2_gpll0_out_main_div2),
206162306a36Sopenharmony_ci		.ops = &clk_rcg2_floor_ops,
206262306a36Sopenharmony_ci	},
206362306a36Sopenharmony_ci};
206462306a36Sopenharmony_ci
206562306a36Sopenharmony_cistatic struct clk_branch gcc_sdcc1_apps_clk = {
206662306a36Sopenharmony_ci	.halt_reg = 0x3302c,
206762306a36Sopenharmony_ci	.clkr = {
206862306a36Sopenharmony_ci		.enable_reg = 0x3302c,
206962306a36Sopenharmony_ci		.enable_mask = BIT(0),
207062306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
207162306a36Sopenharmony_ci			.name = "gcc_sdcc1_apps_clk",
207262306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
207362306a36Sopenharmony_ci				&sdcc1_apps_clk_src.clkr.hw
207462306a36Sopenharmony_ci			},
207562306a36Sopenharmony_ci			.num_parents = 1,
207662306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
207762306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
207862306a36Sopenharmony_ci		},
207962306a36Sopenharmony_ci	},
208062306a36Sopenharmony_ci};
208162306a36Sopenharmony_ci
208262306a36Sopenharmony_cistatic const struct freq_tbl ftbl_sdcc_ice_core_clk_src[] = {
208362306a36Sopenharmony_ci	F(150000000, P_GPLL4, 8, 0, 0),
208462306a36Sopenharmony_ci	F(300000000, P_GPLL4, 4, 0, 0),
208562306a36Sopenharmony_ci	{ }
208662306a36Sopenharmony_ci};
208762306a36Sopenharmony_ci
208862306a36Sopenharmony_cistatic struct clk_rcg2 sdcc1_ice_core_clk_src = {
208962306a36Sopenharmony_ci	.cmd_rcgr = 0x33018,
209062306a36Sopenharmony_ci	.freq_tbl = ftbl_sdcc_ice_core_clk_src,
209162306a36Sopenharmony_ci	.mnd_width = 8,
209262306a36Sopenharmony_ci	.hid_width = 5,
209362306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_gpll4_gpll0_div2_map,
209462306a36Sopenharmony_ci	.clkr.hw.init = &(const struct clk_init_data) {
209562306a36Sopenharmony_ci		.name = "sdcc1_ice_core_clk_src",
209662306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0_gpll4_gpll0_div2,
209762306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0_gpll4_gpll0_div2),
209862306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
209962306a36Sopenharmony_ci	},
210062306a36Sopenharmony_ci};
210162306a36Sopenharmony_ci
210262306a36Sopenharmony_cistatic struct clk_branch gcc_sdcc1_ice_core_clk = {
210362306a36Sopenharmony_ci	.halt_reg = 0x33030,
210462306a36Sopenharmony_ci	.clkr = {
210562306a36Sopenharmony_ci		.enable_reg = 0x33030,
210662306a36Sopenharmony_ci		.enable_mask = BIT(0),
210762306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
210862306a36Sopenharmony_ci			.name = "gcc_sdcc1_ice_core_clk",
210962306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
211062306a36Sopenharmony_ci				&sdcc1_ice_core_clk_src.clkr.hw
211162306a36Sopenharmony_ci			},
211262306a36Sopenharmony_ci			.num_parents = 1,
211362306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
211462306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
211562306a36Sopenharmony_ci		},
211662306a36Sopenharmony_ci	},
211762306a36Sopenharmony_ci};
211862306a36Sopenharmony_ci
211962306a36Sopenharmony_cistatic const struct freq_tbl ftbl_pcnoc_bfdcd_clk_src[] = {
212062306a36Sopenharmony_ci	F(24000000, P_XO, 1, 0, 0),
212162306a36Sopenharmony_ci	F(50000000, P_GPLL0, 16, 0, 0),
212262306a36Sopenharmony_ci	F(80000000, P_GPLL0, 10, 0, 0),
212362306a36Sopenharmony_ci	F(100000000, P_GPLL0, 8, 0, 0),
212462306a36Sopenharmony_ci	{ }
212562306a36Sopenharmony_ci};
212662306a36Sopenharmony_ci
212762306a36Sopenharmony_cistatic struct clk_rcg2 pcnoc_bfdcd_clk_src = {
212862306a36Sopenharmony_ci	.cmd_rcgr = 0x31004,
212962306a36Sopenharmony_ci	.freq_tbl = ftbl_pcnoc_bfdcd_clk_src,
213062306a36Sopenharmony_ci	.hid_width = 5,
213162306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_gpll0_out_main_div2_map,
213262306a36Sopenharmony_ci	.clkr.hw.init = &(const struct clk_init_data) {
213362306a36Sopenharmony_ci		.name = "pcnoc_bfdcd_clk_src",
213462306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0_gpll0_out_main_div2,
213562306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0_gpll0_out_main_div2),
213662306a36Sopenharmony_ci		.flags = CLK_IS_CRITICAL,
213762306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
213862306a36Sopenharmony_ci	},
213962306a36Sopenharmony_ci};
214062306a36Sopenharmony_ci
214162306a36Sopenharmony_cistatic struct clk_branch gcc_crypto_axi_clk = {
214262306a36Sopenharmony_ci	.halt_reg = 0x16010,
214362306a36Sopenharmony_ci	.clkr = {
214462306a36Sopenharmony_ci		.enable_reg = 0x16010,
214562306a36Sopenharmony_ci		.enable_mask = BIT(0),
214662306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
214762306a36Sopenharmony_ci			.name = "gcc_crypto_axi_clk",
214862306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
214962306a36Sopenharmony_ci				&pcnoc_bfdcd_clk_src.clkr.hw },
215062306a36Sopenharmony_ci			.num_parents = 1,
215162306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
215262306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
215362306a36Sopenharmony_ci		},
215462306a36Sopenharmony_ci	},
215562306a36Sopenharmony_ci};
215662306a36Sopenharmony_ci
215762306a36Sopenharmony_cistatic struct clk_branch gcc_crypto_ahb_clk = {
215862306a36Sopenharmony_ci	.halt_reg = 0x16014,
215962306a36Sopenharmony_ci	.clkr = {
216062306a36Sopenharmony_ci		.enable_reg = 0x16014,
216162306a36Sopenharmony_ci		.enable_mask = BIT(0),
216262306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
216362306a36Sopenharmony_ci			.name = "gcc_crypto_ahb_clk",
216462306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
216562306a36Sopenharmony_ci				&pcnoc_bfdcd_clk_src.clkr.hw },
216662306a36Sopenharmony_ci			.num_parents = 1,
216762306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
216862306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
216962306a36Sopenharmony_ci		},
217062306a36Sopenharmony_ci	},
217162306a36Sopenharmony_ci};
217262306a36Sopenharmony_ci
217362306a36Sopenharmony_cistatic struct clk_branch gcc_nsscfg_clk = {
217462306a36Sopenharmony_ci	.halt_reg = 0x1702c,
217562306a36Sopenharmony_ci	.clkr = {
217662306a36Sopenharmony_ci		.enable_reg = 0x1702c,
217762306a36Sopenharmony_ci		.enable_mask = BIT(0),
217862306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
217962306a36Sopenharmony_ci			.name = "gcc_nsscfg_clk",
218062306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
218162306a36Sopenharmony_ci				&pcnoc_bfdcd_clk_src.clkr.hw
218262306a36Sopenharmony_ci			},
218362306a36Sopenharmony_ci			.num_parents = 1,
218462306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
218562306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
218662306a36Sopenharmony_ci		},
218762306a36Sopenharmony_ci	},
218862306a36Sopenharmony_ci};
218962306a36Sopenharmony_ci
219062306a36Sopenharmony_cistatic struct clk_branch gcc_nssnoc_nsscc_clk = {
219162306a36Sopenharmony_ci	.halt_reg = 0x17030,
219262306a36Sopenharmony_ci	.clkr = {
219362306a36Sopenharmony_ci		.enable_reg = 0x17030,
219462306a36Sopenharmony_ci		.enable_mask = BIT(0),
219562306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
219662306a36Sopenharmony_ci			.name = "gcc_nssnoc_nsscc_clk",
219762306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
219862306a36Sopenharmony_ci				&pcnoc_bfdcd_clk_src.clkr.hw
219962306a36Sopenharmony_ci			},
220062306a36Sopenharmony_ci			.num_parents = 1,
220162306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
220262306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
220362306a36Sopenharmony_ci		},
220462306a36Sopenharmony_ci	},
220562306a36Sopenharmony_ci};
220662306a36Sopenharmony_ci
220762306a36Sopenharmony_cistatic struct clk_branch gcc_nsscc_clk = {
220862306a36Sopenharmony_ci	.halt_reg = 0x17034,
220962306a36Sopenharmony_ci	.clkr = {
221062306a36Sopenharmony_ci		.enable_reg = 0x17034,
221162306a36Sopenharmony_ci		.enable_mask = BIT(0),
221262306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
221362306a36Sopenharmony_ci			.name = "gcc_nsscc_clk",
221462306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
221562306a36Sopenharmony_ci				&pcnoc_bfdcd_clk_src.clkr.hw
221662306a36Sopenharmony_ci			},
221762306a36Sopenharmony_ci			.num_parents = 1,
221862306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
221962306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
222062306a36Sopenharmony_ci		},
222162306a36Sopenharmony_ci	},
222262306a36Sopenharmony_ci};
222362306a36Sopenharmony_ci
222462306a36Sopenharmony_cistatic struct clk_branch gcc_nssnoc_pcnoc_1_clk = {
222562306a36Sopenharmony_ci	.halt_reg = 0x17080,
222662306a36Sopenharmony_ci	.clkr = {
222762306a36Sopenharmony_ci		.enable_reg = 0x17080,
222862306a36Sopenharmony_ci		.enable_mask = BIT(0),
222962306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
223062306a36Sopenharmony_ci			.name = "gcc_nssnoc_pcnoc_1_clk",
223162306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
223262306a36Sopenharmony_ci				&pcnoc_bfdcd_clk_src.clkr.hw
223362306a36Sopenharmony_ci			},
223462306a36Sopenharmony_ci			.num_parents = 1,
223562306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
223662306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
223762306a36Sopenharmony_ci		},
223862306a36Sopenharmony_ci	},
223962306a36Sopenharmony_ci};
224062306a36Sopenharmony_ci
224162306a36Sopenharmony_cistatic struct clk_branch gcc_qdss_dap_ahb_clk = {
224262306a36Sopenharmony_ci	.halt_reg = 0x2d064,
224362306a36Sopenharmony_ci	.clkr = {
224462306a36Sopenharmony_ci		.enable_reg = 0x2d064,
224562306a36Sopenharmony_ci		.enable_mask = BIT(0),
224662306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
224762306a36Sopenharmony_ci			.name = "gcc_qdss_dap_ahb_clk",
224862306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
224962306a36Sopenharmony_ci				&pcnoc_bfdcd_clk_src.clkr.hw
225062306a36Sopenharmony_ci			},
225162306a36Sopenharmony_ci			.num_parents = 1,
225262306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
225362306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
225462306a36Sopenharmony_ci		},
225562306a36Sopenharmony_ci	},
225662306a36Sopenharmony_ci};
225762306a36Sopenharmony_ci
225862306a36Sopenharmony_cistatic struct clk_branch gcc_qdss_cfg_ahb_clk = {
225962306a36Sopenharmony_ci	.halt_reg = 0x2d068,
226062306a36Sopenharmony_ci	.clkr = {
226162306a36Sopenharmony_ci		.enable_reg = 0x2d068,
226262306a36Sopenharmony_ci		.enable_mask = BIT(0),
226362306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
226462306a36Sopenharmony_ci			.name = "gcc_qdss_cfg_ahb_clk",
226562306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
226662306a36Sopenharmony_ci				&pcnoc_bfdcd_clk_src.clkr.hw
226762306a36Sopenharmony_ci			},
226862306a36Sopenharmony_ci			.num_parents = 1,
226962306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
227062306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
227162306a36Sopenharmony_ci		},
227262306a36Sopenharmony_ci	},
227362306a36Sopenharmony_ci};
227462306a36Sopenharmony_ci
227562306a36Sopenharmony_cistatic struct clk_branch gcc_qpic_ahb_clk = {
227662306a36Sopenharmony_ci	.halt_reg = 0x32010,
227762306a36Sopenharmony_ci	.clkr = {
227862306a36Sopenharmony_ci		.enable_reg = 0x32010,
227962306a36Sopenharmony_ci		.enable_mask = BIT(0),
228062306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
228162306a36Sopenharmony_ci			.name = "gcc_qpic_ahb_clk",
228262306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
228362306a36Sopenharmony_ci				&pcnoc_bfdcd_clk_src.clkr.hw
228462306a36Sopenharmony_ci			},
228562306a36Sopenharmony_ci			.num_parents = 1,
228662306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
228762306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
228862306a36Sopenharmony_ci		},
228962306a36Sopenharmony_ci	},
229062306a36Sopenharmony_ci};
229162306a36Sopenharmony_ci
229262306a36Sopenharmony_cistatic struct clk_branch gcc_qpic_clk = {
229362306a36Sopenharmony_ci	.halt_reg = 0x32014,
229462306a36Sopenharmony_ci	.clkr = {
229562306a36Sopenharmony_ci		.enable_reg = 0x32014,
229662306a36Sopenharmony_ci		.enable_mask = BIT(0),
229762306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
229862306a36Sopenharmony_ci			.name = "gcc_qpic_clk",
229962306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
230062306a36Sopenharmony_ci				&pcnoc_bfdcd_clk_src.clkr.hw
230162306a36Sopenharmony_ci			},
230262306a36Sopenharmony_ci			.num_parents = 1,
230362306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
230462306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
230562306a36Sopenharmony_ci		},
230662306a36Sopenharmony_ci	},
230762306a36Sopenharmony_ci};
230862306a36Sopenharmony_ci
230962306a36Sopenharmony_cistatic struct clk_branch gcc_blsp1_ahb_clk = {
231062306a36Sopenharmony_ci	.halt_reg = 0x01004,
231162306a36Sopenharmony_ci	.halt_check = BRANCH_HALT_VOTED,
231262306a36Sopenharmony_ci	.clkr = {
231362306a36Sopenharmony_ci		.enable_reg = 0x0b004,
231462306a36Sopenharmony_ci		.enable_mask = BIT(4),
231562306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
231662306a36Sopenharmony_ci			.name = "gcc_blsp1_ahb_clk",
231762306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
231862306a36Sopenharmony_ci				&pcnoc_bfdcd_clk_src.clkr.hw
231962306a36Sopenharmony_ci			},
232062306a36Sopenharmony_ci			.num_parents = 1,
232162306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
232262306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
232362306a36Sopenharmony_ci		},
232462306a36Sopenharmony_ci	},
232562306a36Sopenharmony_ci};
232662306a36Sopenharmony_ci
232762306a36Sopenharmony_cistatic struct clk_branch gcc_mdio_ahb_clk = {
232862306a36Sopenharmony_ci	.halt_reg = 0x17040,
232962306a36Sopenharmony_ci	.clkr = {
233062306a36Sopenharmony_ci		.enable_reg = 0x17040,
233162306a36Sopenharmony_ci		.enable_mask = BIT(0),
233262306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
233362306a36Sopenharmony_ci			.name = "gcc_mdio_ahb_clk",
233462306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
233562306a36Sopenharmony_ci				&pcnoc_bfdcd_clk_src.clkr.hw
233662306a36Sopenharmony_ci			},
233762306a36Sopenharmony_ci			.num_parents = 1,
233862306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
233962306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
234062306a36Sopenharmony_ci		},
234162306a36Sopenharmony_ci	},
234262306a36Sopenharmony_ci};
234362306a36Sopenharmony_ci
234462306a36Sopenharmony_cistatic struct clk_branch gcc_prng_ahb_clk = {
234562306a36Sopenharmony_ci	.halt_reg = 0x13024,
234662306a36Sopenharmony_ci	.halt_check = BRANCH_HALT_VOTED,
234762306a36Sopenharmony_ci	.clkr = {
234862306a36Sopenharmony_ci		.enable_reg = 0x0b004,
234962306a36Sopenharmony_ci		.enable_mask = BIT(10),
235062306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
235162306a36Sopenharmony_ci			.name = "gcc_prng_ahb_clk",
235262306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
235362306a36Sopenharmony_ci				&pcnoc_bfdcd_clk_src.clkr.hw
235462306a36Sopenharmony_ci			},
235562306a36Sopenharmony_ci			.num_parents = 1,
235662306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
235762306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
235862306a36Sopenharmony_ci		},
235962306a36Sopenharmony_ci	},
236062306a36Sopenharmony_ci};
236162306a36Sopenharmony_ci
236262306a36Sopenharmony_cistatic struct clk_branch gcc_uniphy0_ahb_clk = {
236362306a36Sopenharmony_ci	.halt_reg = 0x1704c,
236462306a36Sopenharmony_ci	.clkr = {
236562306a36Sopenharmony_ci		.enable_reg = 0x1704c,
236662306a36Sopenharmony_ci		.enable_mask = BIT(0),
236762306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
236862306a36Sopenharmony_ci			.name = "gcc_uniphy0_ahb_clk",
236962306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
237062306a36Sopenharmony_ci				&pcnoc_bfdcd_clk_src.clkr.hw
237162306a36Sopenharmony_ci			},
237262306a36Sopenharmony_ci			.num_parents = 1,
237362306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
237462306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
237562306a36Sopenharmony_ci		},
237662306a36Sopenharmony_ci	},
237762306a36Sopenharmony_ci};
237862306a36Sopenharmony_ci
237962306a36Sopenharmony_cistatic struct clk_branch gcc_uniphy1_ahb_clk = {
238062306a36Sopenharmony_ci	.halt_reg = 0x1705c,
238162306a36Sopenharmony_ci	.clkr = {
238262306a36Sopenharmony_ci		.enable_reg = 0x1705c,
238362306a36Sopenharmony_ci		.enable_mask = BIT(0),
238462306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
238562306a36Sopenharmony_ci			.name = "gcc_uniphy1_ahb_clk",
238662306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
238762306a36Sopenharmony_ci				&pcnoc_bfdcd_clk_src.clkr.hw
238862306a36Sopenharmony_ci			},
238962306a36Sopenharmony_ci			.num_parents = 1,
239062306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
239162306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
239262306a36Sopenharmony_ci		},
239362306a36Sopenharmony_ci	},
239462306a36Sopenharmony_ci};
239562306a36Sopenharmony_ci
239662306a36Sopenharmony_cistatic struct clk_branch gcc_uniphy2_ahb_clk = {
239762306a36Sopenharmony_ci	.halt_reg = 0x1706c,
239862306a36Sopenharmony_ci	.clkr = {
239962306a36Sopenharmony_ci		.enable_reg = 0x1706c,
240062306a36Sopenharmony_ci		.enable_mask = BIT(0),
240162306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
240262306a36Sopenharmony_ci			.name = "gcc_uniphy2_ahb_clk",
240362306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
240462306a36Sopenharmony_ci				&pcnoc_bfdcd_clk_src.clkr.hw
240562306a36Sopenharmony_ci			},
240662306a36Sopenharmony_ci			.num_parents = 1,
240762306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
240862306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
240962306a36Sopenharmony_ci		},
241062306a36Sopenharmony_ci	},
241162306a36Sopenharmony_ci};
241262306a36Sopenharmony_ci
241362306a36Sopenharmony_cistatic struct clk_branch gcc_cmn_12gpll_ahb_clk = {
241462306a36Sopenharmony_ci	.halt_reg = 0x3a004,
241562306a36Sopenharmony_ci	.clkr = {
241662306a36Sopenharmony_ci		.enable_reg = 0x3a004,
241762306a36Sopenharmony_ci		.enable_mask = BIT(0),
241862306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
241962306a36Sopenharmony_ci			.name = "gcc_cmn_12gpll_ahb_clk",
242062306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
242162306a36Sopenharmony_ci				&pcnoc_bfdcd_clk_src.clkr.hw
242262306a36Sopenharmony_ci			},
242362306a36Sopenharmony_ci			.num_parents = 1,
242462306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
242562306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
242662306a36Sopenharmony_ci		},
242762306a36Sopenharmony_ci	},
242862306a36Sopenharmony_ci};
242962306a36Sopenharmony_ci
243062306a36Sopenharmony_cistatic struct clk_branch gcc_cmn_12gpll_apu_clk = {
243162306a36Sopenharmony_ci	.halt_reg = 0x3a00c,
243262306a36Sopenharmony_ci	.clkr = {
243362306a36Sopenharmony_ci		.enable_reg = 0x3a00c,
243462306a36Sopenharmony_ci		.enable_mask = BIT(0),
243562306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
243662306a36Sopenharmony_ci			.name = "gcc_cmn_12gpll_apu_clk",
243762306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
243862306a36Sopenharmony_ci				&pcnoc_bfdcd_clk_src.clkr.hw
243962306a36Sopenharmony_ci			},
244062306a36Sopenharmony_ci			.num_parents = 1,
244162306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
244262306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
244362306a36Sopenharmony_ci		},
244462306a36Sopenharmony_ci	},
244562306a36Sopenharmony_ci};
244662306a36Sopenharmony_ci
244762306a36Sopenharmony_cistatic struct clk_branch gcc_pcie0_ahb_clk = {
244862306a36Sopenharmony_ci	.halt_reg = 0x28030,
244962306a36Sopenharmony_ci	.clkr = {
245062306a36Sopenharmony_ci		.enable_reg = 0x28030,
245162306a36Sopenharmony_ci		.enable_mask = BIT(0),
245262306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
245362306a36Sopenharmony_ci			.name = "gcc_pcie0_ahb_clk",
245462306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
245562306a36Sopenharmony_ci				&pcnoc_bfdcd_clk_src.clkr.hw
245662306a36Sopenharmony_ci			},
245762306a36Sopenharmony_ci			.num_parents = 1,
245862306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
245962306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
246062306a36Sopenharmony_ci		},
246162306a36Sopenharmony_ci	},
246262306a36Sopenharmony_ci};
246362306a36Sopenharmony_ci
246462306a36Sopenharmony_cistatic struct clk_branch gcc_pcie1_ahb_clk = {
246562306a36Sopenharmony_ci	.halt_reg = 0x29030,
246662306a36Sopenharmony_ci	.clkr = {
246762306a36Sopenharmony_ci		.enable_reg = 0x29030,
246862306a36Sopenharmony_ci		.enable_mask = BIT(0),
246962306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
247062306a36Sopenharmony_ci			.name = "gcc_pcie1_ahb_clk",
247162306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
247262306a36Sopenharmony_ci				&pcnoc_bfdcd_clk_src.clkr.hw
247362306a36Sopenharmony_ci			},
247462306a36Sopenharmony_ci			.num_parents = 1,
247562306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
247662306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
247762306a36Sopenharmony_ci		},
247862306a36Sopenharmony_ci	},
247962306a36Sopenharmony_ci};
248062306a36Sopenharmony_ci
248162306a36Sopenharmony_cistatic struct clk_branch gcc_pcie2_ahb_clk = {
248262306a36Sopenharmony_ci	.halt_reg = 0x2a030,
248362306a36Sopenharmony_ci	.clkr = {
248462306a36Sopenharmony_ci		.enable_reg = 0x2a030,
248562306a36Sopenharmony_ci		.enable_mask = BIT(0),
248662306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
248762306a36Sopenharmony_ci			.name = "gcc_pcie2_ahb_clk",
248862306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
248962306a36Sopenharmony_ci				&pcnoc_bfdcd_clk_src.clkr.hw
249062306a36Sopenharmony_ci			},
249162306a36Sopenharmony_ci			.num_parents = 1,
249262306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
249362306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
249462306a36Sopenharmony_ci		},
249562306a36Sopenharmony_ci	},
249662306a36Sopenharmony_ci};
249762306a36Sopenharmony_ci
249862306a36Sopenharmony_cistatic struct clk_branch gcc_pcie3_ahb_clk = {
249962306a36Sopenharmony_ci	.halt_reg = 0x2b030,
250062306a36Sopenharmony_ci	.clkr = {
250162306a36Sopenharmony_ci		.enable_reg = 0x2b030,
250262306a36Sopenharmony_ci		.enable_mask = BIT(0),
250362306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
250462306a36Sopenharmony_ci			.name = "gcc_pcie3_ahb_clk",
250562306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
250662306a36Sopenharmony_ci				&pcnoc_bfdcd_clk_src.clkr.hw
250762306a36Sopenharmony_ci			},
250862306a36Sopenharmony_ci			.num_parents = 1,
250962306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
251062306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
251162306a36Sopenharmony_ci		},
251262306a36Sopenharmony_ci	},
251362306a36Sopenharmony_ci};
251462306a36Sopenharmony_ci
251562306a36Sopenharmony_cistatic struct clk_branch gcc_usb0_phy_cfg_ahb_clk = {
251662306a36Sopenharmony_ci	.halt_reg = 0x2c05c,
251762306a36Sopenharmony_ci	.clkr = {
251862306a36Sopenharmony_ci		.enable_reg = 0x2c05c,
251962306a36Sopenharmony_ci		.enable_mask = BIT(0),
252062306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
252162306a36Sopenharmony_ci			.name = "gcc_usb0_phy_cfg_ahb_clk",
252262306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
252362306a36Sopenharmony_ci				&pcnoc_bfdcd_clk_src.clkr.hw
252462306a36Sopenharmony_ci			},
252562306a36Sopenharmony_ci			.num_parents = 1,
252662306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
252762306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
252862306a36Sopenharmony_ci		},
252962306a36Sopenharmony_ci	},
253062306a36Sopenharmony_ci};
253162306a36Sopenharmony_ci
253262306a36Sopenharmony_cistatic struct clk_branch gcc_sdcc1_ahb_clk = {
253362306a36Sopenharmony_ci	.halt_reg = 0x33034,
253462306a36Sopenharmony_ci	.clkr = {
253562306a36Sopenharmony_ci		.enable_reg = 0x33034,
253662306a36Sopenharmony_ci		.enable_mask = BIT(0),
253762306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
253862306a36Sopenharmony_ci			.name = "gcc_sdcc1_ahb_clk",
253962306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
254062306a36Sopenharmony_ci				&pcnoc_bfdcd_clk_src.clkr.hw
254162306a36Sopenharmony_ci			},
254262306a36Sopenharmony_ci			.num_parents = 1,
254362306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
254462306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
254562306a36Sopenharmony_ci		},
254662306a36Sopenharmony_ci	},
254762306a36Sopenharmony_ci};
254862306a36Sopenharmony_ci
254962306a36Sopenharmony_cistatic const struct freq_tbl ftbl_system_noc_bfdcd_clk_src[] = {
255062306a36Sopenharmony_ci	F(24000000, P_XO, 1, 0, 0),
255162306a36Sopenharmony_ci	F(133333333, P_GPLL0, 6, 0, 0),
255262306a36Sopenharmony_ci	F(200000000, P_GPLL0, 4, 0, 0),
255362306a36Sopenharmony_ci	F(342850000, P_GPLL4, 3.5, 0, 0),
255462306a36Sopenharmony_ci	{ }
255562306a36Sopenharmony_ci};
255662306a36Sopenharmony_ci
255762306a36Sopenharmony_cistatic struct clk_rcg2 system_noc_bfdcd_clk_src = {
255862306a36Sopenharmony_ci	.cmd_rcgr = 0x2e004,
255962306a36Sopenharmony_ci	.freq_tbl = ftbl_system_noc_bfdcd_clk_src,
256062306a36Sopenharmony_ci	.hid_width = 5,
256162306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_gpll4_map,
256262306a36Sopenharmony_ci	.clkr.hw.init = &(const struct clk_init_data) {
256362306a36Sopenharmony_ci		.name = "system_noc_bfdcd_clk_src",
256462306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0_gpll4,
256562306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0_gpll4),
256662306a36Sopenharmony_ci		.flags = CLK_IS_CRITICAL,
256762306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
256862306a36Sopenharmony_ci	},
256962306a36Sopenharmony_ci};
257062306a36Sopenharmony_ci
257162306a36Sopenharmony_cistatic struct clk_branch gcc_q6ss_boot_clk = {
257262306a36Sopenharmony_ci	.halt_reg = 0x25080,
257362306a36Sopenharmony_ci	.halt_check = BRANCH_HALT_SKIP,
257462306a36Sopenharmony_ci	.clkr = {
257562306a36Sopenharmony_ci		.enable_reg = 0x25080,
257662306a36Sopenharmony_ci		.enable_mask = BIT(0),
257762306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
257862306a36Sopenharmony_ci			.name = "gcc_q6ss_boot_clk",
257962306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
258062306a36Sopenharmony_ci				&system_noc_bfdcd_clk_src.clkr.hw
258162306a36Sopenharmony_ci			},
258262306a36Sopenharmony_ci			.num_parents = 1,
258362306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
258462306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
258562306a36Sopenharmony_ci		},
258662306a36Sopenharmony_ci	},
258762306a36Sopenharmony_ci};
258862306a36Sopenharmony_ci
258962306a36Sopenharmony_cistatic struct clk_branch gcc_nssnoc_snoc_clk = {
259062306a36Sopenharmony_ci	.halt_reg = 0x17028,
259162306a36Sopenharmony_ci	.clkr = {
259262306a36Sopenharmony_ci		.enable_reg = 0x17028,
259362306a36Sopenharmony_ci		.enable_mask = BIT(0),
259462306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
259562306a36Sopenharmony_ci			.name = "gcc_nssnoc_snoc_clk",
259662306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
259762306a36Sopenharmony_ci				&system_noc_bfdcd_clk_src.clkr.hw
259862306a36Sopenharmony_ci			},
259962306a36Sopenharmony_ci			.num_parents = 1,
260062306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
260162306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
260262306a36Sopenharmony_ci		},
260362306a36Sopenharmony_ci	},
260462306a36Sopenharmony_ci};
260562306a36Sopenharmony_ci
260662306a36Sopenharmony_cistatic struct clk_branch gcc_nssnoc_snoc_1_clk = {
260762306a36Sopenharmony_ci	.halt_reg = 0x1707c,
260862306a36Sopenharmony_ci	.clkr = {
260962306a36Sopenharmony_ci		.enable_reg = 0x1707c,
261062306a36Sopenharmony_ci		.enable_mask = BIT(0),
261162306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
261262306a36Sopenharmony_ci			.name = "gcc_nssnoc_snoc_1_clk",
261362306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
261462306a36Sopenharmony_ci				&system_noc_bfdcd_clk_src.clkr.hw
261562306a36Sopenharmony_ci			},
261662306a36Sopenharmony_ci			.num_parents = 1,
261762306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
261862306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
261962306a36Sopenharmony_ci		},
262062306a36Sopenharmony_ci	},
262162306a36Sopenharmony_ci};
262262306a36Sopenharmony_ci
262362306a36Sopenharmony_cistatic struct clk_branch gcc_qdss_etr_usb_clk = {
262462306a36Sopenharmony_ci	.halt_reg = 0x2d060,
262562306a36Sopenharmony_ci	.clkr = {
262662306a36Sopenharmony_ci		.enable_reg = 0x2d060,
262762306a36Sopenharmony_ci		.enable_mask = BIT(0),
262862306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
262962306a36Sopenharmony_ci			.name = "gcc_qdss_etr_usb_clk",
263062306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
263162306a36Sopenharmony_ci				&system_noc_bfdcd_clk_src.clkr.hw
263262306a36Sopenharmony_ci			},
263362306a36Sopenharmony_ci			.num_parents = 1,
263462306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
263562306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
263662306a36Sopenharmony_ci		},
263762306a36Sopenharmony_ci	},
263862306a36Sopenharmony_ci};
263962306a36Sopenharmony_ci
264062306a36Sopenharmony_cistatic const struct freq_tbl ftbl_wcss_ahb_clk_src[] = {
264162306a36Sopenharmony_ci	F(24000000, P_XO, 1, 0, 0),
264262306a36Sopenharmony_ci	F(133333333, P_GPLL0, 6, 0, 0),
264362306a36Sopenharmony_ci	{ }
264462306a36Sopenharmony_ci};
264562306a36Sopenharmony_ci
264662306a36Sopenharmony_cistatic struct clk_rcg2 wcss_ahb_clk_src = {
264762306a36Sopenharmony_ci	.cmd_rcgr = 0x25030,
264862306a36Sopenharmony_ci	.freq_tbl = ftbl_wcss_ahb_clk_src,
264962306a36Sopenharmony_ci	.hid_width = 5,
265062306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_map,
265162306a36Sopenharmony_ci	.clkr.hw.init = &(const struct clk_init_data) {
265262306a36Sopenharmony_ci		.name = "wcss_ahb_clk_src",
265362306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0,
265462306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0),
265562306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
265662306a36Sopenharmony_ci	},
265762306a36Sopenharmony_ci};
265862306a36Sopenharmony_ci
265962306a36Sopenharmony_cistatic struct clk_branch gcc_q6_ahb_clk = {
266062306a36Sopenharmony_ci	.halt_reg = 0x25014,
266162306a36Sopenharmony_ci	.clkr = {
266262306a36Sopenharmony_ci		.enable_reg = 0x25014,
266362306a36Sopenharmony_ci		.enable_mask = BIT(0),
266462306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
266562306a36Sopenharmony_ci			.name = "gcc_q6_ahb_clk",
266662306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
266762306a36Sopenharmony_ci				&wcss_ahb_clk_src.clkr.hw
266862306a36Sopenharmony_ci			},
266962306a36Sopenharmony_ci			.num_parents = 1,
267062306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
267162306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
267262306a36Sopenharmony_ci		},
267362306a36Sopenharmony_ci	},
267462306a36Sopenharmony_ci};
267562306a36Sopenharmony_ci
267662306a36Sopenharmony_cistatic struct clk_branch gcc_q6_ahb_s_clk = {
267762306a36Sopenharmony_ci	.halt_reg = 0x25018,
267862306a36Sopenharmony_ci	.clkr = {
267962306a36Sopenharmony_ci		.enable_reg = 0x25018,
268062306a36Sopenharmony_ci		.enable_mask = BIT(0),
268162306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
268262306a36Sopenharmony_ci			.name = "gcc_q6_ahb_s_clk",
268362306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
268462306a36Sopenharmony_ci				&wcss_ahb_clk_src.clkr.hw
268562306a36Sopenharmony_ci			},
268662306a36Sopenharmony_ci			.num_parents = 1,
268762306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
268862306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
268962306a36Sopenharmony_ci		},
269062306a36Sopenharmony_ci	},
269162306a36Sopenharmony_ci};
269262306a36Sopenharmony_ci
269362306a36Sopenharmony_cistatic struct clk_branch gcc_wcss_ecahb_clk = {
269462306a36Sopenharmony_ci	.halt_reg = 0x25058,
269562306a36Sopenharmony_ci	.clkr = {
269662306a36Sopenharmony_ci		.enable_reg = 0x25058,
269762306a36Sopenharmony_ci		.enable_mask = BIT(0),
269862306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
269962306a36Sopenharmony_ci			.name = "gcc_wcss_ecahb_clk",
270062306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
270162306a36Sopenharmony_ci				&wcss_ahb_clk_src.clkr.hw
270262306a36Sopenharmony_ci			},
270362306a36Sopenharmony_ci			.num_parents = 1,
270462306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
270562306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
270662306a36Sopenharmony_ci		},
270762306a36Sopenharmony_ci	},
270862306a36Sopenharmony_ci};
270962306a36Sopenharmony_ci
271062306a36Sopenharmony_cistatic struct clk_branch gcc_wcss_acmt_clk = {
271162306a36Sopenharmony_ci	.halt_reg = 0x2505c,
271262306a36Sopenharmony_ci	.clkr = {
271362306a36Sopenharmony_ci		.enable_reg = 0x2505c,
271462306a36Sopenharmony_ci		.enable_mask = BIT(0),
271562306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
271662306a36Sopenharmony_ci			.name = "gcc_wcss_acmt_clk",
271762306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
271862306a36Sopenharmony_ci				&wcss_ahb_clk_src.clkr.hw
271962306a36Sopenharmony_ci			},
272062306a36Sopenharmony_ci			.num_parents = 1,
272162306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
272262306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
272362306a36Sopenharmony_ci		},
272462306a36Sopenharmony_ci	},
272562306a36Sopenharmony_ci};
272662306a36Sopenharmony_ci
272762306a36Sopenharmony_cistatic struct clk_branch gcc_sys_noc_wcss_ahb_clk = {
272862306a36Sopenharmony_ci	.halt_reg = 0x2e030,
272962306a36Sopenharmony_ci	.clkr = {
273062306a36Sopenharmony_ci		.enable_reg = 0x2e030,
273162306a36Sopenharmony_ci		.enable_mask = BIT(0),
273262306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
273362306a36Sopenharmony_ci			.name = "gcc_sys_noc_wcss_ahb_clk",
273462306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
273562306a36Sopenharmony_ci				&wcss_ahb_clk_src.clkr.hw
273662306a36Sopenharmony_ci			},
273762306a36Sopenharmony_ci			.num_parents = 1,
273862306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
273962306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
274062306a36Sopenharmony_ci		},
274162306a36Sopenharmony_ci	},
274262306a36Sopenharmony_ci};
274362306a36Sopenharmony_ci
274462306a36Sopenharmony_cistatic const struct freq_tbl ftbl_wcss_axi_m_clk_src[] = {
274562306a36Sopenharmony_ci	F(24000000, P_XO, 1, 0, 0),
274662306a36Sopenharmony_ci	F(133333333, P_GPLL0, 6, 0, 0),
274762306a36Sopenharmony_ci	F(266666667, P_GPLL0, 3, 0, 0),
274862306a36Sopenharmony_ci	{ }
274962306a36Sopenharmony_ci};
275062306a36Sopenharmony_ci
275162306a36Sopenharmony_cistatic struct clk_rcg2 wcss_axi_m_clk_src = {
275262306a36Sopenharmony_ci	.cmd_rcgr = 0x25078,
275362306a36Sopenharmony_ci	.freq_tbl = ftbl_wcss_axi_m_clk_src,
275462306a36Sopenharmony_ci	.hid_width = 5,
275562306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_map,
275662306a36Sopenharmony_ci	.clkr.hw.init = &(const struct clk_init_data) {
275762306a36Sopenharmony_ci		.name = "wcss_axi_m_clk_src",
275862306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0,
275962306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0),
276062306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
276162306a36Sopenharmony_ci	},
276262306a36Sopenharmony_ci};
276362306a36Sopenharmony_ci
276462306a36Sopenharmony_cistatic struct clk_branch gcc_anoc_wcss_axi_m_clk = {
276562306a36Sopenharmony_ci	.halt_reg = 0x2e0a8,
276662306a36Sopenharmony_ci	.clkr = {
276762306a36Sopenharmony_ci		.enable_reg = 0x2e0a8,
276862306a36Sopenharmony_ci		.enable_mask = BIT(0),
276962306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
277062306a36Sopenharmony_ci			.name = "gcc_anoc_wcss_axi_m_clk",
277162306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
277262306a36Sopenharmony_ci				&wcss_axi_m_clk_src.clkr.hw
277362306a36Sopenharmony_ci			},
277462306a36Sopenharmony_ci			.num_parents = 1,
277562306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
277662306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
277762306a36Sopenharmony_ci		},
277862306a36Sopenharmony_ci	},
277962306a36Sopenharmony_ci};
278062306a36Sopenharmony_ci
278162306a36Sopenharmony_cistatic const struct freq_tbl ftbl_qdss_at_clk_src[] = {
278262306a36Sopenharmony_ci	F(240000000, P_GPLL4, 5, 0, 0),
278362306a36Sopenharmony_ci	{ }
278462306a36Sopenharmony_ci};
278562306a36Sopenharmony_ci
278662306a36Sopenharmony_cistatic struct clk_rcg2 qdss_at_clk_src = {
278762306a36Sopenharmony_ci	.cmd_rcgr = 0x2d004,
278862306a36Sopenharmony_ci	.freq_tbl = ftbl_qdss_at_clk_src,
278962306a36Sopenharmony_ci	.hid_width = 5,
279062306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll4_gpll0_gpll0_div2_map,
279162306a36Sopenharmony_ci	.clkr.hw.init = &(const struct clk_init_data) {
279262306a36Sopenharmony_ci		.name = "qdss_at_clk_src",
279362306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll4_gpll0_gpll0_div2,
279462306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll4_gpll0_gpll0_div2),
279562306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
279662306a36Sopenharmony_ci	},
279762306a36Sopenharmony_ci};
279862306a36Sopenharmony_ci
279962306a36Sopenharmony_cistatic struct clk_branch gcc_q6ss_atbm_clk = {
280062306a36Sopenharmony_ci	.halt_reg = 0x2501c,
280162306a36Sopenharmony_ci	.clkr = {
280262306a36Sopenharmony_ci		.enable_reg = 0x2501c,
280362306a36Sopenharmony_ci		.enable_mask = BIT(0),
280462306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
280562306a36Sopenharmony_ci			.name = "gcc_q6ss_atbm_clk",
280662306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
280762306a36Sopenharmony_ci				&qdss_at_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_wcss_dbg_ifc_atb_clk = {
281762306a36Sopenharmony_ci	.halt_reg = 0x2503c,
281862306a36Sopenharmony_ci	.clkr = {
281962306a36Sopenharmony_ci		.enable_reg = 0x2503c,
282062306a36Sopenharmony_ci		.enable_mask = BIT(0),
282162306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
282262306a36Sopenharmony_ci			.name = "gcc_wcss_dbg_ifc_atb_clk",
282362306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
282462306a36Sopenharmony_ci				&qdss_at_clk_src.clkr.hw
282562306a36Sopenharmony_ci			},
282662306a36Sopenharmony_ci			.num_parents = 1,
282762306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
282862306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
282962306a36Sopenharmony_ci		},
283062306a36Sopenharmony_ci	},
283162306a36Sopenharmony_ci};
283262306a36Sopenharmony_ci
283362306a36Sopenharmony_cistatic struct clk_branch gcc_nssnoc_atb_clk = {
283462306a36Sopenharmony_ci	.halt_reg = 0x17014,
283562306a36Sopenharmony_ci	.clkr = {
283662306a36Sopenharmony_ci		.enable_reg = 0x17014,
283762306a36Sopenharmony_ci		.enable_mask = BIT(0),
283862306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
283962306a36Sopenharmony_ci			.name = "gcc_nssnoc_atb_clk",
284062306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
284162306a36Sopenharmony_ci				&qdss_at_clk_src.clkr.hw
284262306a36Sopenharmony_ci			},
284362306a36Sopenharmony_ci			.num_parents = 1,
284462306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
284562306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
284662306a36Sopenharmony_ci		},
284762306a36Sopenharmony_ci	},
284862306a36Sopenharmony_ci};
284962306a36Sopenharmony_ci
285062306a36Sopenharmony_cistatic struct clk_branch gcc_qdss_at_clk = {
285162306a36Sopenharmony_ci	.halt_reg = 0x2d038,
285262306a36Sopenharmony_ci	.clkr = {
285362306a36Sopenharmony_ci		.enable_reg = 0x2d038,
285462306a36Sopenharmony_ci		.enable_mask = BIT(0),
285562306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
285662306a36Sopenharmony_ci			.name = "gcc_qdss_at_clk",
285762306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
285862306a36Sopenharmony_ci				&qdss_at_clk_src.clkr.hw
285962306a36Sopenharmony_ci			},
286062306a36Sopenharmony_ci			.num_parents = 1,
286162306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
286262306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
286362306a36Sopenharmony_ci		},
286462306a36Sopenharmony_ci	},
286562306a36Sopenharmony_ci};
286662306a36Sopenharmony_ci
286762306a36Sopenharmony_cistatic struct clk_branch gcc_sys_noc_at_clk = {
286862306a36Sopenharmony_ci	.halt_reg = 0x2e038,
286962306a36Sopenharmony_ci	.clkr = {
287062306a36Sopenharmony_ci		.enable_reg = 0x2e038,
287162306a36Sopenharmony_ci		.enable_mask = BIT(0),
287262306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
287362306a36Sopenharmony_ci			.name = "gcc_sys_noc_at_clk",
287462306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
287562306a36Sopenharmony_ci				&qdss_at_clk_src.clkr.hw
287662306a36Sopenharmony_ci			},
287762306a36Sopenharmony_ci			.num_parents = 1,
287862306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT | CLK_IS_CRITICAL,
287962306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
288062306a36Sopenharmony_ci		},
288162306a36Sopenharmony_ci	},
288262306a36Sopenharmony_ci};
288362306a36Sopenharmony_ci
288462306a36Sopenharmony_cistatic struct clk_branch gcc_pcnoc_at_clk = {
288562306a36Sopenharmony_ci	.halt_reg = 0x31024,
288662306a36Sopenharmony_ci	.clkr = {
288762306a36Sopenharmony_ci		.enable_reg = 0x31024,
288862306a36Sopenharmony_ci		.enable_mask = BIT(0),
288962306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
289062306a36Sopenharmony_ci			.name = "gcc_pcnoc_at_clk",
289162306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
289262306a36Sopenharmony_ci				&qdss_at_clk_src.clkr.hw
289362306a36Sopenharmony_ci			},
289462306a36Sopenharmony_ci			.num_parents = 1,
289562306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT | CLK_IS_CRITICAL,
289662306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
289762306a36Sopenharmony_ci		},
289862306a36Sopenharmony_ci	},
289962306a36Sopenharmony_ci};
290062306a36Sopenharmony_ci
290162306a36Sopenharmony_cistatic struct clk_fixed_factor gcc_eud_at_div_clk_src = {
290262306a36Sopenharmony_ci	.mult = 1,
290362306a36Sopenharmony_ci	.div = 6,
290462306a36Sopenharmony_ci	.hw.init = &(const struct clk_init_data) {
290562306a36Sopenharmony_ci		.name = "gcc_eud_at_div_clk_src",
290662306a36Sopenharmony_ci		.parent_hws = (const struct clk_hw *[]) {
290762306a36Sopenharmony_ci			&qdss_at_clk_src.clkr.hw
290862306a36Sopenharmony_ci		},
290962306a36Sopenharmony_ci		.num_parents = 1,
291062306a36Sopenharmony_ci		.flags = CLK_SET_RATE_PARENT,
291162306a36Sopenharmony_ci		.ops = &clk_fixed_factor_ops,
291262306a36Sopenharmony_ci	},
291362306a36Sopenharmony_ci};
291462306a36Sopenharmony_ci
291562306a36Sopenharmony_cistatic struct clk_branch gcc_usb0_eud_at_clk = {
291662306a36Sopenharmony_ci	.halt_reg = 0x30004,
291762306a36Sopenharmony_ci	.clkr = {
291862306a36Sopenharmony_ci		.enable_reg = 0x30004,
291962306a36Sopenharmony_ci		.enable_mask = BIT(0),
292062306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
292162306a36Sopenharmony_ci			.name = "gcc_usb0_eud_at_clk",
292262306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
292362306a36Sopenharmony_ci				&gcc_eud_at_div_clk_src.hw
292462306a36Sopenharmony_ci			},
292562306a36Sopenharmony_ci			.num_parents = 1,
292662306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
292762306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
292862306a36Sopenharmony_ci		},
292962306a36Sopenharmony_ci	},
293062306a36Sopenharmony_ci};
293162306a36Sopenharmony_ci
293262306a36Sopenharmony_cistatic struct clk_branch gcc_qdss_eud_at_clk = {
293362306a36Sopenharmony_ci	.halt_reg = 0x2d06c,
293462306a36Sopenharmony_ci	.clkr = {
293562306a36Sopenharmony_ci		.enable_reg = 0x2d06c,
293662306a36Sopenharmony_ci		.enable_mask = BIT(0),
293762306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
293862306a36Sopenharmony_ci			.name = "gcc_qdss_eud_at_clk",
293962306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
294062306a36Sopenharmony_ci				&gcc_eud_at_div_clk_src.hw
294162306a36Sopenharmony_ci			},
294262306a36Sopenharmony_ci			.num_parents = 1,
294362306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
294462306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
294562306a36Sopenharmony_ci		},
294662306a36Sopenharmony_ci	},
294762306a36Sopenharmony_ci};
294862306a36Sopenharmony_ci
294962306a36Sopenharmony_cistatic const struct freq_tbl ftbl_qdss_stm_clk_src[] = {
295062306a36Sopenharmony_ci	F(24000000, P_XO, 1, 0, 0),
295162306a36Sopenharmony_ci	F(200000000, P_GPLL0, 4, 0, 0),
295262306a36Sopenharmony_ci	{ }
295362306a36Sopenharmony_ci};
295462306a36Sopenharmony_ci
295562306a36Sopenharmony_cistatic struct clk_rcg2 qdss_stm_clk_src = {
295662306a36Sopenharmony_ci	.cmd_rcgr = 0x2d00c,
295762306a36Sopenharmony_ci	.freq_tbl = ftbl_qdss_stm_clk_src,
295862306a36Sopenharmony_ci	.hid_width = 5,
295962306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_gpll0_out_main_div2_map,
296062306a36Sopenharmony_ci	.clkr.hw.init = &(const struct clk_init_data) {
296162306a36Sopenharmony_ci		.name = "qdss_stm_clk_src",
296262306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0_gpll0_out_main_div2,
296362306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0_gpll0_out_main_div2),
296462306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
296562306a36Sopenharmony_ci	},
296662306a36Sopenharmony_ci};
296762306a36Sopenharmony_ci
296862306a36Sopenharmony_cistatic struct clk_branch gcc_qdss_stm_clk = {
296962306a36Sopenharmony_ci	.halt_reg = 0x2d03c,
297062306a36Sopenharmony_ci	.clkr = {
297162306a36Sopenharmony_ci		.enable_reg = 0x2d03c,
297262306a36Sopenharmony_ci		.enable_mask = BIT(0),
297362306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
297462306a36Sopenharmony_ci			.name = "gcc_qdss_stm_clk",
297562306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
297662306a36Sopenharmony_ci				&qdss_stm_clk_src.clkr.hw
297762306a36Sopenharmony_ci			},
297862306a36Sopenharmony_ci			.num_parents = 1,
297962306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
298062306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
298162306a36Sopenharmony_ci		},
298262306a36Sopenharmony_ci	},
298362306a36Sopenharmony_ci};
298462306a36Sopenharmony_ci
298562306a36Sopenharmony_cistatic struct clk_branch gcc_sys_noc_qdss_stm_axi_clk = {
298662306a36Sopenharmony_ci	.halt_reg = 0x2e034,
298762306a36Sopenharmony_ci	.clkr = {
298862306a36Sopenharmony_ci		.enable_reg = 0x2e034,
298962306a36Sopenharmony_ci		.enable_mask = BIT(0),
299062306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
299162306a36Sopenharmony_ci			.name = "gcc_sys_noc_qdss_stm_axi_clk",
299262306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
299362306a36Sopenharmony_ci				&qdss_stm_clk_src.clkr.hw
299462306a36Sopenharmony_ci			},
299562306a36Sopenharmony_ci			.num_parents = 1,
299662306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
299762306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
299862306a36Sopenharmony_ci		},
299962306a36Sopenharmony_ci	},
300062306a36Sopenharmony_ci};
300162306a36Sopenharmony_ci
300262306a36Sopenharmony_cistatic const struct freq_tbl ftbl_qdss_traceclkin_clk_src[] = {
300362306a36Sopenharmony_ci	F(300000000, P_GPLL4, 4, 0, 0),
300462306a36Sopenharmony_ci	{ }
300562306a36Sopenharmony_ci};
300662306a36Sopenharmony_ci
300762306a36Sopenharmony_cistatic struct clk_rcg2 qdss_traceclkin_clk_src = {
300862306a36Sopenharmony_ci	.cmd_rcgr = 0x2d014,
300962306a36Sopenharmony_ci	.freq_tbl = ftbl_qdss_traceclkin_clk_src,
301062306a36Sopenharmony_ci	.hid_width = 5,
301162306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll4_gpll0_gpll0_div2_map,
301262306a36Sopenharmony_ci	.clkr.hw.init = &(const struct clk_init_data) {
301362306a36Sopenharmony_ci		.name = "qdss_traceclkin_clk_src",
301462306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll4_gpll0_gpll0_div2,
301562306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll4_gpll0_gpll0_div2),
301662306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
301762306a36Sopenharmony_ci	},
301862306a36Sopenharmony_ci};
301962306a36Sopenharmony_ci
302062306a36Sopenharmony_cistatic struct clk_branch gcc_qdss_traceclkin_clk = {
302162306a36Sopenharmony_ci	.halt_reg = 0x2d040,
302262306a36Sopenharmony_ci	.clkr = {
302362306a36Sopenharmony_ci		.enable_reg = 0x2d040,
302462306a36Sopenharmony_ci		.enable_mask = BIT(0),
302562306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
302662306a36Sopenharmony_ci			.name = "gcc_qdss_traceclkin_clk",
302762306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
302862306a36Sopenharmony_ci				&qdss_traceclkin_clk_src.clkr.hw
302962306a36Sopenharmony_ci			},
303062306a36Sopenharmony_ci			.num_parents = 1,
303162306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
303262306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
303362306a36Sopenharmony_ci		},
303462306a36Sopenharmony_ci	},
303562306a36Sopenharmony_ci};
303662306a36Sopenharmony_ci
303762306a36Sopenharmony_cistatic const struct freq_tbl ftbl_qdss_tsctr_clk_src[] = {
303862306a36Sopenharmony_ci	F(600000000, P_GPLL4, 2, 0, 0),
303962306a36Sopenharmony_ci	{ }
304062306a36Sopenharmony_ci};
304162306a36Sopenharmony_ci
304262306a36Sopenharmony_cistatic struct clk_rcg2 qdss_tsctr_clk_src = {
304362306a36Sopenharmony_ci	.cmd_rcgr = 0x2d01c,
304462306a36Sopenharmony_ci	.freq_tbl = ftbl_qdss_tsctr_clk_src,
304562306a36Sopenharmony_ci	.hid_width = 5,
304662306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll4_gpll0_gpll0_div2_map,
304762306a36Sopenharmony_ci	.clkr.hw.init = &(const struct clk_init_data) {
304862306a36Sopenharmony_ci		.name = "qdss_tsctr_clk_src",
304962306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll4_gpll0_gpll0_div2,
305062306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll4_gpll0_gpll0_div2),
305162306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
305262306a36Sopenharmony_ci	},
305362306a36Sopenharmony_ci};
305462306a36Sopenharmony_ci
305562306a36Sopenharmony_cistatic struct clk_fixed_factor qdss_tsctr_div2_clk_src = {
305662306a36Sopenharmony_ci	.mult = 1,
305762306a36Sopenharmony_ci	.div = 2,
305862306a36Sopenharmony_ci	.hw.init = &(const struct clk_init_data) {
305962306a36Sopenharmony_ci		.name = "qdss_tsctr_div2_clk_src",
306062306a36Sopenharmony_ci		.parent_hws = (const struct clk_hw *[]) {
306162306a36Sopenharmony_ci			&qdss_tsctr_clk_src.clkr.hw
306262306a36Sopenharmony_ci		},
306362306a36Sopenharmony_ci		.num_parents = 1,
306462306a36Sopenharmony_ci		.flags = CLK_SET_RATE_PARENT,
306562306a36Sopenharmony_ci		.ops = &clk_fixed_factor_ops,
306662306a36Sopenharmony_ci	},
306762306a36Sopenharmony_ci};
306862306a36Sopenharmony_ci
306962306a36Sopenharmony_cistatic struct clk_branch gcc_q6_tsctr_1to2_clk = {
307062306a36Sopenharmony_ci	.halt_reg = 0x25020,
307162306a36Sopenharmony_ci	.clkr = {
307262306a36Sopenharmony_ci		.enable_reg = 0x25020,
307362306a36Sopenharmony_ci		.enable_mask = BIT(0),
307462306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
307562306a36Sopenharmony_ci			.name = "gcc_q6_tsctr_1to2_clk",
307662306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
307762306a36Sopenharmony_ci				&qdss_tsctr_div2_clk_src.hw
307862306a36Sopenharmony_ci			},
307962306a36Sopenharmony_ci			.num_parents = 1,
308062306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
308162306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
308262306a36Sopenharmony_ci		},
308362306a36Sopenharmony_ci	},
308462306a36Sopenharmony_ci};
308562306a36Sopenharmony_ci
308662306a36Sopenharmony_cistatic struct clk_branch gcc_wcss_dbg_ifc_nts_clk = {
308762306a36Sopenharmony_ci	.halt_reg = 0x25040,
308862306a36Sopenharmony_ci	.clkr = {
308962306a36Sopenharmony_ci		.enable_reg = 0x25040,
309062306a36Sopenharmony_ci		.enable_mask = BIT(0),
309162306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
309262306a36Sopenharmony_ci			.name = "gcc_wcss_dbg_ifc_nts_clk",
309362306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
309462306a36Sopenharmony_ci				&qdss_tsctr_div2_clk_src.hw
309562306a36Sopenharmony_ci			},
309662306a36Sopenharmony_ci			.num_parents = 1,
309762306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
309862306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
309962306a36Sopenharmony_ci		},
310062306a36Sopenharmony_ci	},
310162306a36Sopenharmony_ci};
310262306a36Sopenharmony_ci
310362306a36Sopenharmony_cistatic struct clk_branch gcc_qdss_tsctr_div2_clk = {
310462306a36Sopenharmony_ci	.halt_reg = 0x2d044,
310562306a36Sopenharmony_ci	.clkr = {
310662306a36Sopenharmony_ci		.enable_reg = 0x2d044,
310762306a36Sopenharmony_ci		.enable_mask = BIT(0),
310862306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
310962306a36Sopenharmony_ci			.name = "gcc_qdss_tsctr_div2_clk",
311062306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
311162306a36Sopenharmony_ci				&qdss_tsctr_div2_clk_src.hw
311262306a36Sopenharmony_ci			},
311362306a36Sopenharmony_ci			.num_parents = 1,
311462306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
311562306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
311662306a36Sopenharmony_ci		},
311762306a36Sopenharmony_ci	},
311862306a36Sopenharmony_ci};
311962306a36Sopenharmony_ci
312062306a36Sopenharmony_cistatic const struct freq_tbl ftbl_uniphy_sys_clk_src[] = {
312162306a36Sopenharmony_ci	F(24000000, P_XO, 1, 0, 0),
312262306a36Sopenharmony_ci	{ }
312362306a36Sopenharmony_ci};
312462306a36Sopenharmony_ci
312562306a36Sopenharmony_cistatic struct clk_rcg2 uniphy_sys_clk_src = {
312662306a36Sopenharmony_ci	.cmd_rcgr = 0x17090,
312762306a36Sopenharmony_ci	.freq_tbl = ftbl_uniphy_sys_clk_src,
312862306a36Sopenharmony_ci	.mnd_width = 8,
312962306a36Sopenharmony_ci	.hid_width = 5,
313062306a36Sopenharmony_ci	.parent_map = gcc_xo_map,
313162306a36Sopenharmony_ci	.clkr.hw.init = &(const struct clk_init_data) {
313262306a36Sopenharmony_ci		.name = "uniphy_sys_clk_src",
313362306a36Sopenharmony_ci		.parent_data = gcc_xo_data,
313462306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_data),
313562306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
313662306a36Sopenharmony_ci	},
313762306a36Sopenharmony_ci};
313862306a36Sopenharmony_ci
313962306a36Sopenharmony_cistatic struct clk_rcg2 nss_ts_clk_src = {
314062306a36Sopenharmony_ci	.cmd_rcgr = 0x17088,
314162306a36Sopenharmony_ci	.freq_tbl = ftbl_uniphy_sys_clk_src,
314262306a36Sopenharmony_ci	.mnd_width = 8,
314362306a36Sopenharmony_ci	.hid_width = 5,
314462306a36Sopenharmony_ci	.parent_map = gcc_xo_map,
314562306a36Sopenharmony_ci	.clkr.hw.init = &(const struct clk_init_data) {
314662306a36Sopenharmony_ci		.name = "nss_ts_clk_src",
314762306a36Sopenharmony_ci		.parent_data = gcc_xo_data,
314862306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_data),
314962306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
315062306a36Sopenharmony_ci	},
315162306a36Sopenharmony_ci};
315262306a36Sopenharmony_ci
315362306a36Sopenharmony_cistatic struct clk_branch gcc_qdss_ts_clk = {
315462306a36Sopenharmony_ci	.halt_reg = 0x2d078,
315562306a36Sopenharmony_ci	.clkr = {
315662306a36Sopenharmony_ci		.enable_reg = 0x2d078,
315762306a36Sopenharmony_ci		.enable_mask = BIT(0),
315862306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
315962306a36Sopenharmony_ci			.name = "gcc_qdss_ts_clk",
316062306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
316162306a36Sopenharmony_ci				&nss_ts_clk_src.clkr.hw
316262306a36Sopenharmony_ci			},
316362306a36Sopenharmony_ci			.num_parents = 1,
316462306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
316562306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
316662306a36Sopenharmony_ci		},
316762306a36Sopenharmony_ci	},
316862306a36Sopenharmony_ci};
316962306a36Sopenharmony_ci
317062306a36Sopenharmony_cistatic struct clk_fixed_factor qdss_dap_sync_clk_src = {
317162306a36Sopenharmony_ci	.mult = 1,
317262306a36Sopenharmony_ci	.div = 4,
317362306a36Sopenharmony_ci	.hw.init = &(const struct clk_init_data) {
317462306a36Sopenharmony_ci		.name = "qdss_dap_sync_clk_src",
317562306a36Sopenharmony_ci		.parent_hws = (const struct clk_hw *[]) {
317662306a36Sopenharmony_ci			&qdss_tsctr_clk_src.clkr.hw
317762306a36Sopenharmony_ci		},
317862306a36Sopenharmony_ci		.num_parents = 1,
317962306a36Sopenharmony_ci		.ops = &clk_fixed_factor_ops,
318062306a36Sopenharmony_ci	},
318162306a36Sopenharmony_ci};
318262306a36Sopenharmony_ci
318362306a36Sopenharmony_cistatic struct clk_branch gcc_qdss_tsctr_div4_clk = {
318462306a36Sopenharmony_ci	.halt_reg = 0x2d04c,
318562306a36Sopenharmony_ci	.clkr = {
318662306a36Sopenharmony_ci		.enable_reg = 0x2d04c,
318762306a36Sopenharmony_ci		.enable_mask = BIT(0),
318862306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
318962306a36Sopenharmony_ci			.name = "gcc_qdss_tsctr_div4_clk",
319062306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
319162306a36Sopenharmony_ci				&qdss_dap_sync_clk_src.hw
319262306a36Sopenharmony_ci			},
319362306a36Sopenharmony_ci			.num_parents = 1,
319462306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
319562306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
319662306a36Sopenharmony_ci		},
319762306a36Sopenharmony_ci	},
319862306a36Sopenharmony_ci};
319962306a36Sopenharmony_ci
320062306a36Sopenharmony_cistatic struct clk_fixed_factor qdss_tsctr_div8_clk_src = {
320162306a36Sopenharmony_ci	.mult = 1,
320262306a36Sopenharmony_ci	.div = 8,
320362306a36Sopenharmony_ci	.hw.init = &(const struct clk_init_data) {
320462306a36Sopenharmony_ci		.name = "qdss_tsctr_div8_clk_src",
320562306a36Sopenharmony_ci		.parent_hws = (const struct clk_hw *[]) {
320662306a36Sopenharmony_ci			&qdss_tsctr_clk_src.clkr.hw
320762306a36Sopenharmony_ci		},
320862306a36Sopenharmony_ci		.num_parents = 1,
320962306a36Sopenharmony_ci		.ops = &clk_fixed_factor_ops,
321062306a36Sopenharmony_ci	},
321162306a36Sopenharmony_ci};
321262306a36Sopenharmony_ci
321362306a36Sopenharmony_cistatic struct clk_branch gcc_nss_ts_clk = {
321462306a36Sopenharmony_ci	.halt_reg = 0x17018,
321562306a36Sopenharmony_ci	.clkr = {
321662306a36Sopenharmony_ci		.enable_reg = 0x17018,
321762306a36Sopenharmony_ci		.enable_mask = BIT(0),
321862306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
321962306a36Sopenharmony_ci			.name = "gcc_nss_ts_clk",
322062306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
322162306a36Sopenharmony_ci				&nss_ts_clk_src.clkr.hw
322262306a36Sopenharmony_ci			},
322362306a36Sopenharmony_ci			.num_parents = 1,
322462306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
322562306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
322662306a36Sopenharmony_ci		},
322762306a36Sopenharmony_ci	},
322862306a36Sopenharmony_ci};
322962306a36Sopenharmony_ci
323062306a36Sopenharmony_cistatic struct clk_branch gcc_qdss_tsctr_div8_clk = {
323162306a36Sopenharmony_ci	.halt_reg = 0x2d050,
323262306a36Sopenharmony_ci	.clkr = {
323362306a36Sopenharmony_ci		.enable_reg = 0x2d050,
323462306a36Sopenharmony_ci		.enable_mask = BIT(0),
323562306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
323662306a36Sopenharmony_ci			.name = "gcc_qdss_tsctr_div8_clk",
323762306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
323862306a36Sopenharmony_ci				&qdss_tsctr_div8_clk_src.hw
323962306a36Sopenharmony_ci			},
324062306a36Sopenharmony_ci			.num_parents = 1,
324162306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
324262306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
324362306a36Sopenharmony_ci		},
324462306a36Sopenharmony_ci	},
324562306a36Sopenharmony_ci};
324662306a36Sopenharmony_ci
324762306a36Sopenharmony_cistatic struct clk_fixed_factor qdss_tsctr_div16_clk_src = {
324862306a36Sopenharmony_ci	.mult = 1,
324962306a36Sopenharmony_ci	.div = 16,
325062306a36Sopenharmony_ci	.hw.init = &(const struct clk_init_data) {
325162306a36Sopenharmony_ci		.name = "qdss_tsctr_div16_clk_src",
325262306a36Sopenharmony_ci		.parent_hws = (const struct clk_hw *[]) {
325362306a36Sopenharmony_ci			&qdss_tsctr_clk_src.clkr.hw
325462306a36Sopenharmony_ci		},
325562306a36Sopenharmony_ci		.num_parents = 1,
325662306a36Sopenharmony_ci		.ops = &clk_fixed_factor_ops,
325762306a36Sopenharmony_ci	},
325862306a36Sopenharmony_ci};
325962306a36Sopenharmony_ci
326062306a36Sopenharmony_cistatic struct clk_branch gcc_qdss_tsctr_div16_clk = {
326162306a36Sopenharmony_ci	.halt_reg = 0x2d054,
326262306a36Sopenharmony_ci	.clkr = {
326362306a36Sopenharmony_ci		.enable_reg = 0x2d054,
326462306a36Sopenharmony_ci		.enable_mask = BIT(0),
326562306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
326662306a36Sopenharmony_ci			.name = "gcc_qdss_tsctr_div16_clk",
326762306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
326862306a36Sopenharmony_ci				&qdss_tsctr_div16_clk_src.hw
326962306a36Sopenharmony_ci			},
327062306a36Sopenharmony_ci			.num_parents = 1,
327162306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
327262306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
327362306a36Sopenharmony_ci		},
327462306a36Sopenharmony_ci	},
327562306a36Sopenharmony_ci};
327662306a36Sopenharmony_ci
327762306a36Sopenharmony_cistatic struct clk_branch gcc_q6ss_pclkdbg_clk = {
327862306a36Sopenharmony_ci	.halt_reg = 0x25024,
327962306a36Sopenharmony_ci	.clkr = {
328062306a36Sopenharmony_ci		.enable_reg = 0x25024,
328162306a36Sopenharmony_ci		.enable_mask = BIT(0),
328262306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
328362306a36Sopenharmony_ci			.name = "gcc_q6ss_pclkdbg_clk",
328462306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
328562306a36Sopenharmony_ci				&qdss_dap_sync_clk_src.hw
328662306a36Sopenharmony_ci			},
328762306a36Sopenharmony_ci			.num_parents = 1,
328862306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
328962306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
329062306a36Sopenharmony_ci		},
329162306a36Sopenharmony_ci	},
329262306a36Sopenharmony_ci};
329362306a36Sopenharmony_ci
329462306a36Sopenharmony_cistatic struct clk_branch gcc_q6ss_trig_clk = {
329562306a36Sopenharmony_ci	.halt_reg = 0x25068,
329662306a36Sopenharmony_ci	.clkr = {
329762306a36Sopenharmony_ci		.enable_reg = 0x25068,
329862306a36Sopenharmony_ci		.enable_mask = BIT(0),
329962306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
330062306a36Sopenharmony_ci			.name = "gcc_q6ss_trig_clk",
330162306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
330262306a36Sopenharmony_ci				&qdss_dap_sync_clk_src.hw
330362306a36Sopenharmony_ci			},
330462306a36Sopenharmony_ci			.num_parents = 1,
330562306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
330662306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
330762306a36Sopenharmony_ci		},
330862306a36Sopenharmony_ci	},
330962306a36Sopenharmony_ci};
331062306a36Sopenharmony_ci
331162306a36Sopenharmony_cistatic struct clk_branch gcc_wcss_dbg_ifc_apb_clk = {
331262306a36Sopenharmony_ci	.halt_reg = 0x25038,
331362306a36Sopenharmony_ci	.clkr = {
331462306a36Sopenharmony_ci		.enable_reg = 0x25038,
331562306a36Sopenharmony_ci		.enable_mask = BIT(0),
331662306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
331762306a36Sopenharmony_ci			.name = "gcc_wcss_dbg_ifc_apb_clk",
331862306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
331962306a36Sopenharmony_ci				&qdss_dap_sync_clk_src.hw
332062306a36Sopenharmony_ci			},
332162306a36Sopenharmony_ci			.num_parents = 1,
332262306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
332362306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
332462306a36Sopenharmony_ci		},
332562306a36Sopenharmony_ci	},
332662306a36Sopenharmony_ci};
332762306a36Sopenharmony_ci
332862306a36Sopenharmony_cistatic struct clk_branch gcc_wcss_dbg_ifc_dapbus_clk = {
332962306a36Sopenharmony_ci	.halt_reg = 0x25044,
333062306a36Sopenharmony_ci	.clkr = {
333162306a36Sopenharmony_ci		.enable_reg = 0x25044,
333262306a36Sopenharmony_ci		.enable_mask = BIT(0),
333362306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
333462306a36Sopenharmony_ci			.name = "gcc_wcss_dbg_ifc_dapbus_clk",
333562306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
333662306a36Sopenharmony_ci				&qdss_dap_sync_clk_src.hw
333762306a36Sopenharmony_ci			},
333862306a36Sopenharmony_ci			.num_parents = 1,
333962306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
334062306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
334162306a36Sopenharmony_ci		},
334262306a36Sopenharmony_ci	},
334362306a36Sopenharmony_ci};
334462306a36Sopenharmony_ci
334562306a36Sopenharmony_cistatic struct clk_branch gcc_qdss_dap_clk = {
334662306a36Sopenharmony_ci	.halt_reg = 0x2d058,
334762306a36Sopenharmony_ci	.clkr = {
334862306a36Sopenharmony_ci		.enable_reg = 0x2d058,
334962306a36Sopenharmony_ci		.enable_mask = BIT(0),
335062306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
335162306a36Sopenharmony_ci			.name = "gcc_qdss_dap_clk",
335262306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
335362306a36Sopenharmony_ci				&qdss_dap_sync_clk_src.hw
335462306a36Sopenharmony_ci			},
335562306a36Sopenharmony_ci			.num_parents = 1,
335662306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
335762306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
335862306a36Sopenharmony_ci		},
335962306a36Sopenharmony_ci	},
336062306a36Sopenharmony_ci};
336162306a36Sopenharmony_ci
336262306a36Sopenharmony_cistatic struct clk_branch gcc_qdss_apb2jtag_clk = {
336362306a36Sopenharmony_ci	.halt_reg = 0x2d05c,
336462306a36Sopenharmony_ci	.clkr = {
336562306a36Sopenharmony_ci		.enable_reg = 0x2d05c,
336662306a36Sopenharmony_ci		.enable_mask = BIT(0),
336762306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
336862306a36Sopenharmony_ci			.name = "gcc_qdss_apb2jtag_clk",
336962306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
337062306a36Sopenharmony_ci				&qdss_dap_sync_clk_src.hw
337162306a36Sopenharmony_ci			},
337262306a36Sopenharmony_ci			.num_parents = 1,
337362306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
337462306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
337562306a36Sopenharmony_ci		},
337662306a36Sopenharmony_ci	},
337762306a36Sopenharmony_ci};
337862306a36Sopenharmony_ci
337962306a36Sopenharmony_cistatic struct clk_fixed_factor qdss_tsctr_div3_clk_src = {
338062306a36Sopenharmony_ci	.mult = 1,
338162306a36Sopenharmony_ci	.div = 3,
338262306a36Sopenharmony_ci	.hw.init = &(const struct clk_init_data) {
338362306a36Sopenharmony_ci		.name = "qdss_tsctr_div3_clk_src",
338462306a36Sopenharmony_ci		.parent_hws = (const struct clk_hw *[]) {
338562306a36Sopenharmony_ci			&qdss_tsctr_clk_src.clkr.hw
338662306a36Sopenharmony_ci		},
338762306a36Sopenharmony_ci		.num_parents = 1,
338862306a36Sopenharmony_ci		.ops = &clk_fixed_factor_ops,
338962306a36Sopenharmony_ci	},
339062306a36Sopenharmony_ci};
339162306a36Sopenharmony_ci
339262306a36Sopenharmony_cistatic struct clk_branch gcc_qdss_tsctr_div3_clk = {
339362306a36Sopenharmony_ci	.halt_reg = 0x2d048,
339462306a36Sopenharmony_ci	.clkr = {
339562306a36Sopenharmony_ci		.enable_reg = 0x2d048,
339662306a36Sopenharmony_ci		.enable_mask = BIT(0),
339762306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
339862306a36Sopenharmony_ci			.name = "gcc_qdss_tsctr_div3_clk",
339962306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
340062306a36Sopenharmony_ci				&qdss_tsctr_div3_clk_src.hw
340162306a36Sopenharmony_ci			},
340262306a36Sopenharmony_ci			.num_parents = 1,
340362306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
340462306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
340562306a36Sopenharmony_ci		},
340662306a36Sopenharmony_ci	},
340762306a36Sopenharmony_ci};
340862306a36Sopenharmony_ci
340962306a36Sopenharmony_cistatic const struct freq_tbl ftbl_qpic_io_macro_clk_src[] = {
341062306a36Sopenharmony_ci	F(24000000, P_XO, 1, 0, 0),
341162306a36Sopenharmony_ci	F(100000000, P_GPLL0, 8, 0, 0),
341262306a36Sopenharmony_ci	F(200000000, P_GPLL0, 4, 0, 0),
341362306a36Sopenharmony_ci	F(320000000, P_GPLL0, 2.5, 0, 0),
341462306a36Sopenharmony_ci	F(400000000, P_GPLL0, 2, 0, 0),
341562306a36Sopenharmony_ci	{ }
341662306a36Sopenharmony_ci};
341762306a36Sopenharmony_ci
341862306a36Sopenharmony_cistatic struct clk_rcg2 qpic_io_macro_clk_src = {
341962306a36Sopenharmony_ci	.cmd_rcgr = 0x32004,
342062306a36Sopenharmony_ci	.freq_tbl = ftbl_qpic_io_macro_clk_src,
342162306a36Sopenharmony_ci	.hid_width = 5,
342262306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_gpll2_map,
342362306a36Sopenharmony_ci	.clkr.hw.init = &(const struct clk_init_data) {
342462306a36Sopenharmony_ci		.name = "qpic_io_macro_clk_src",
342562306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0_gpll2,
342662306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0_gpll2),
342762306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
342862306a36Sopenharmony_ci	},
342962306a36Sopenharmony_ci};
343062306a36Sopenharmony_ci
343162306a36Sopenharmony_cistatic struct clk_branch gcc_qpic_io_macro_clk = {
343262306a36Sopenharmony_ci	.halt_reg = 0x3200c,
343362306a36Sopenharmony_ci	.clkr = {
343462306a36Sopenharmony_ci		.enable_reg = 0x3200c,
343562306a36Sopenharmony_ci		.enable_mask = BIT(0),
343662306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data){
343762306a36Sopenharmony_ci			.name = "gcc_qpic_io_macro_clk",
343862306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]){
343962306a36Sopenharmony_ci				&qpic_io_macro_clk_src.clkr.hw
344062306a36Sopenharmony_ci			},
344162306a36Sopenharmony_ci			.num_parents = 1,
344262306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
344362306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
344462306a36Sopenharmony_ci		},
344562306a36Sopenharmony_ci	},
344662306a36Sopenharmony_ci};
344762306a36Sopenharmony_ci
344862306a36Sopenharmony_cistatic const struct freq_tbl ftbl_q6_axi_clk_src[] = {
344962306a36Sopenharmony_ci	F(533333333, P_GPLL0, 1.5, 0, 0),
345062306a36Sopenharmony_ci	{ }
345162306a36Sopenharmony_ci};
345262306a36Sopenharmony_ci
345362306a36Sopenharmony_cistatic struct clk_rcg2 q6_axi_clk_src = {
345462306a36Sopenharmony_ci	.cmd_rcgr = 0x25004,
345562306a36Sopenharmony_ci	.freq_tbl = ftbl_q6_axi_clk_src,
345662306a36Sopenharmony_ci	.hid_width = 5,
345762306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_gpll2_gpll4_pi_sleep_map,
345862306a36Sopenharmony_ci	.clkr.hw.init = &(const struct clk_init_data) {
345962306a36Sopenharmony_ci		.name = "q6_axi_clk_src",
346062306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0_gpll2_gpll4_pi_sleep,
346162306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0_gpll2_gpll4_pi_sleep),
346262306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
346362306a36Sopenharmony_ci	},
346462306a36Sopenharmony_ci};
346562306a36Sopenharmony_ci
346662306a36Sopenharmony_cistatic struct clk_branch gcc_q6_axim_clk = {
346762306a36Sopenharmony_ci	.halt_reg = 0x2500c,
346862306a36Sopenharmony_ci	.clkr = {
346962306a36Sopenharmony_ci		.enable_reg = 0x2500c,
347062306a36Sopenharmony_ci		.enable_mask = BIT(0),
347162306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
347262306a36Sopenharmony_ci			.name = "gcc_q6_axim_clk",
347362306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
347462306a36Sopenharmony_ci				&q6_axi_clk_src.clkr.hw
347562306a36Sopenharmony_ci			},
347662306a36Sopenharmony_ci			.num_parents = 1,
347762306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
347862306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
347962306a36Sopenharmony_ci		},
348062306a36Sopenharmony_ci	},
348162306a36Sopenharmony_ci};
348262306a36Sopenharmony_ci
348362306a36Sopenharmony_cistatic struct clk_branch gcc_wcss_q6_tbu_clk = {
348462306a36Sopenharmony_ci	.halt_reg = 0x12050,
348562306a36Sopenharmony_ci	.halt_check = BRANCH_HALT_DELAY,
348662306a36Sopenharmony_ci	.clkr = {
348762306a36Sopenharmony_ci		.enable_reg = 0xb00c,
348862306a36Sopenharmony_ci		.enable_mask = BIT(6),
348962306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
349062306a36Sopenharmony_ci			.name = "gcc_wcss_q6_tbu_clk",
349162306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
349262306a36Sopenharmony_ci				&q6_axi_clk_src.clkr.hw
349362306a36Sopenharmony_ci			},
349462306a36Sopenharmony_ci			.num_parents = 1,
349562306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
349662306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
349762306a36Sopenharmony_ci		},
349862306a36Sopenharmony_ci	},
349962306a36Sopenharmony_ci};
350062306a36Sopenharmony_ci
350162306a36Sopenharmony_cistatic struct clk_branch gcc_mem_noc_q6_axi_clk = {
350262306a36Sopenharmony_ci	.halt_reg = 0x19010,
350362306a36Sopenharmony_ci	.clkr = {
350462306a36Sopenharmony_ci		.enable_reg = 0x19010,
350562306a36Sopenharmony_ci		.enable_mask = BIT(0),
350662306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
350762306a36Sopenharmony_ci			.name = "gcc_mem_noc_q6_axi_clk",
350862306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
350962306a36Sopenharmony_ci				&q6_axi_clk_src.clkr.hw
351062306a36Sopenharmony_ci			},
351162306a36Sopenharmony_ci			.num_parents = 1,
351262306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
351362306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
351462306a36Sopenharmony_ci		},
351562306a36Sopenharmony_ci	},
351662306a36Sopenharmony_ci};
351762306a36Sopenharmony_ci
351862306a36Sopenharmony_cistatic const struct freq_tbl ftbl_q6_axim2_clk_src[] = {
351962306a36Sopenharmony_ci	F(342857143, P_GPLL4, 3.5, 0, 0),
352062306a36Sopenharmony_ci	{ }
352162306a36Sopenharmony_ci};
352262306a36Sopenharmony_ci
352362306a36Sopenharmony_cistatic const struct parent_map gcc_xo_gpll0_gpll4_bias_pll_ubinc_clk_map[] = {
352462306a36Sopenharmony_ci	{ P_XO, 0 },
352562306a36Sopenharmony_ci	{ P_GPLL0, 1 },
352662306a36Sopenharmony_ci	{ P_GPLL4, 2 },
352762306a36Sopenharmony_ci	{ P_BIAS_PLL_UBI_NC_CLK, 4 },
352862306a36Sopenharmony_ci};
352962306a36Sopenharmony_ci
353062306a36Sopenharmony_cistatic struct clk_rcg2 q6_axim2_clk_src = {
353162306a36Sopenharmony_ci	.cmd_rcgr = 0x25028,
353262306a36Sopenharmony_ci	.freq_tbl = ftbl_q6_axim2_clk_src,
353362306a36Sopenharmony_ci	.hid_width = 5,
353462306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_gpll4_bias_pll_ubinc_clk_map,
353562306a36Sopenharmony_ci	.clkr.hw.init = &(const struct clk_init_data) {
353662306a36Sopenharmony_ci		.name = "q6_axim2_clk_src",
353762306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0_gpll4_bias_pll_ubi_nc_clk,
353862306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0_gpll4_bias_pll_ubi_nc_clk),
353962306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
354062306a36Sopenharmony_ci	},
354162306a36Sopenharmony_ci};
354262306a36Sopenharmony_ci
354362306a36Sopenharmony_cistatic const struct freq_tbl ftbl_nssnoc_memnoc_bfdcd_clk_src[] = {
354462306a36Sopenharmony_ci	F(533333333, P_GPLL0, 1.5, 0, 0),
354562306a36Sopenharmony_ci	{ }
354662306a36Sopenharmony_ci};
354762306a36Sopenharmony_ci
354862306a36Sopenharmony_cistatic struct clk_rcg2 nssnoc_memnoc_bfdcd_clk_src = {
354962306a36Sopenharmony_ci	.cmd_rcgr = 0x17004,
355062306a36Sopenharmony_ci	.freq_tbl = ftbl_nssnoc_memnoc_bfdcd_clk_src,
355162306a36Sopenharmony_ci	.hid_width = 5,
355262306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_gpll0_aux_gpll2_map,
355362306a36Sopenharmony_ci	.clkr.hw.init = &(const struct clk_init_data) {
355462306a36Sopenharmony_ci		.name = "nssnoc_memnoc_bfdcd_clk_src",
355562306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0_gpll0_aux_gpll2,
355662306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0_gpll0_aux_gpll2),
355762306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
355862306a36Sopenharmony_ci	},
355962306a36Sopenharmony_ci};
356062306a36Sopenharmony_ci
356162306a36Sopenharmony_cistatic struct clk_branch gcc_nssnoc_memnoc_clk = {
356262306a36Sopenharmony_ci	.halt_reg = 0x17024,
356362306a36Sopenharmony_ci	.clkr = {
356462306a36Sopenharmony_ci		.enable_reg = 0x17024,
356562306a36Sopenharmony_ci		.enable_mask = BIT(0),
356662306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
356762306a36Sopenharmony_ci			.name = "gcc_nssnoc_memnoc_clk",
356862306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
356962306a36Sopenharmony_ci				&nssnoc_memnoc_bfdcd_clk_src.clkr.hw
357062306a36Sopenharmony_ci			},
357162306a36Sopenharmony_ci			.num_parents = 1,
357262306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
357362306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
357462306a36Sopenharmony_ci		},
357562306a36Sopenharmony_ci	},
357662306a36Sopenharmony_ci};
357762306a36Sopenharmony_ci
357862306a36Sopenharmony_cistatic struct clk_branch gcc_nssnoc_mem_noc_1_clk = {
357962306a36Sopenharmony_ci	.halt_reg = 0x17084,
358062306a36Sopenharmony_ci	.clkr = {
358162306a36Sopenharmony_ci		.enable_reg = 0x17084,
358262306a36Sopenharmony_ci		.enable_mask = BIT(0),
358362306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
358462306a36Sopenharmony_ci			.name = "gcc_nssnoc_mem_noc_1_clk",
358562306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
358662306a36Sopenharmony_ci				&nssnoc_memnoc_bfdcd_clk_src.clkr.hw
358762306a36Sopenharmony_ci			},
358862306a36Sopenharmony_ci			.num_parents = 1,
358962306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
359062306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
359162306a36Sopenharmony_ci		},
359262306a36Sopenharmony_ci	},
359362306a36Sopenharmony_ci};
359462306a36Sopenharmony_ci
359562306a36Sopenharmony_cistatic struct clk_branch gcc_nss_tbu_clk = {
359662306a36Sopenharmony_ci	.halt_reg = 0x12040,
359762306a36Sopenharmony_ci	.clkr = {
359862306a36Sopenharmony_ci		.enable_reg = 0xb00c,
359962306a36Sopenharmony_ci		.enable_mask = BIT(4),
360062306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
360162306a36Sopenharmony_ci			.name = "gcc_nss_tbu_clk",
360262306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
360362306a36Sopenharmony_ci				&nssnoc_memnoc_bfdcd_clk_src.clkr.hw
360462306a36Sopenharmony_ci			},
360562306a36Sopenharmony_ci			.num_parents = 1,
360662306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
360762306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
360862306a36Sopenharmony_ci		},
360962306a36Sopenharmony_ci	},
361062306a36Sopenharmony_ci};
361162306a36Sopenharmony_ci
361262306a36Sopenharmony_cistatic struct clk_branch gcc_mem_noc_nssnoc_clk = {
361362306a36Sopenharmony_ci	.halt_reg = 0x19014,
361462306a36Sopenharmony_ci	.clkr = {
361562306a36Sopenharmony_ci		.enable_reg = 0x19014,
361662306a36Sopenharmony_ci		.enable_mask = BIT(0),
361762306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
361862306a36Sopenharmony_ci			.name = "gcc_mem_noc_nssnoc_clk",
361962306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
362062306a36Sopenharmony_ci				&nssnoc_memnoc_bfdcd_clk_src.clkr.hw
362162306a36Sopenharmony_ci			},
362262306a36Sopenharmony_ci			.num_parents = 1,
362362306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
362462306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
362562306a36Sopenharmony_ci		},
362662306a36Sopenharmony_ci	},
362762306a36Sopenharmony_ci};
362862306a36Sopenharmony_ci
362962306a36Sopenharmony_cistatic const struct freq_tbl ftbl_lpass_axim_clk_src[] = {
363062306a36Sopenharmony_ci	F(133333333, P_GPLL0, 6, 0, 0),
363162306a36Sopenharmony_ci	{ }
363262306a36Sopenharmony_ci};
363362306a36Sopenharmony_ci
363462306a36Sopenharmony_cistatic struct clk_rcg2 lpass_axim_clk_src = {
363562306a36Sopenharmony_ci	.cmd_rcgr = 0x2700c,
363662306a36Sopenharmony_ci	.freq_tbl = ftbl_lpass_axim_clk_src,
363762306a36Sopenharmony_ci	.hid_width = 5,
363862306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_map,
363962306a36Sopenharmony_ci	.clkr.hw.init = &(const struct clk_init_data) {
364062306a36Sopenharmony_ci		.name = "lpass_axim_clk_src",
364162306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0,
364262306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0),
364362306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
364462306a36Sopenharmony_ci	},
364562306a36Sopenharmony_ci};
364662306a36Sopenharmony_ci
364762306a36Sopenharmony_cistatic struct clk_rcg2 lpass_sway_clk_src = {
364862306a36Sopenharmony_ci	.cmd_rcgr = 0x27004,
364962306a36Sopenharmony_ci	.freq_tbl = ftbl_lpass_axim_clk_src,
365062306a36Sopenharmony_ci	.hid_width = 5,
365162306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_map,
365262306a36Sopenharmony_ci	.clkr.hw.init = &(const struct clk_init_data) {
365362306a36Sopenharmony_ci		.name = "lpass_sway_clk_src",
365462306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0,
365562306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0),
365662306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
365762306a36Sopenharmony_ci	},
365862306a36Sopenharmony_ci};
365962306a36Sopenharmony_ci
366062306a36Sopenharmony_cistatic const struct freq_tbl ftbl_adss_pwm_clk_src[] = {
366162306a36Sopenharmony_ci	F(24000000, P_XO, 1, 0, 0),
366262306a36Sopenharmony_ci	F(100000000, P_GPLL0, 8, 0, 0),
366362306a36Sopenharmony_ci	{ }
366462306a36Sopenharmony_ci};
366562306a36Sopenharmony_ci
366662306a36Sopenharmony_cistatic struct clk_rcg2 adss_pwm_clk_src = {
366762306a36Sopenharmony_ci	.cmd_rcgr = 0x1c004,
366862306a36Sopenharmony_ci	.freq_tbl = ftbl_adss_pwm_clk_src,
366962306a36Sopenharmony_ci	.hid_width = 5,
367062306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_map,
367162306a36Sopenharmony_ci	.clkr.hw.init = &(const struct clk_init_data) {
367262306a36Sopenharmony_ci		.name = "adss_pwm_clk_src",
367362306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0,
367462306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0),
367562306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
367662306a36Sopenharmony_ci	},
367762306a36Sopenharmony_ci};
367862306a36Sopenharmony_ci
367962306a36Sopenharmony_cistatic struct clk_branch gcc_adss_pwm_clk = {
368062306a36Sopenharmony_ci	.halt_reg = 0x1c00c,
368162306a36Sopenharmony_ci	.clkr = {
368262306a36Sopenharmony_ci		.enable_reg = 0x1c00c,
368362306a36Sopenharmony_ci		.enable_mask = BIT(0),
368462306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
368562306a36Sopenharmony_ci			.name = "gcc_adss_pwm_clk",
368662306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
368762306a36Sopenharmony_ci				&adss_pwm_clk_src.clkr.hw
368862306a36Sopenharmony_ci			},
368962306a36Sopenharmony_ci			.num_parents = 1,
369062306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
369162306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
369262306a36Sopenharmony_ci		},
369362306a36Sopenharmony_ci	},
369462306a36Sopenharmony_ci};
369562306a36Sopenharmony_ci
369662306a36Sopenharmony_cistatic const struct freq_tbl ftbl_gp1_clk_src[] = {
369762306a36Sopenharmony_ci	F(24000000, P_XO, 1, 0, 0),
369862306a36Sopenharmony_ci	F(200000000, P_GPLL0, 4, 0, 0),
369962306a36Sopenharmony_ci	{ }
370062306a36Sopenharmony_ci};
370162306a36Sopenharmony_ci
370262306a36Sopenharmony_cistatic struct clk_rcg2 gp1_clk_src = {
370362306a36Sopenharmony_ci	.cmd_rcgr = 0x8004,
370462306a36Sopenharmony_ci	.freq_tbl = ftbl_gp1_clk_src,
370562306a36Sopenharmony_ci	.hid_width = 5,
370662306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_gpll0_sleep_clk_map,
370762306a36Sopenharmony_ci	.clkr.hw.init = &(const struct clk_init_data) {
370862306a36Sopenharmony_ci		.name = "gp1_clk_src",
370962306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0_gpll0_sleep_clk,
371062306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0_gpll0_sleep_clk),
371162306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
371262306a36Sopenharmony_ci	},
371362306a36Sopenharmony_ci};
371462306a36Sopenharmony_ci
371562306a36Sopenharmony_cistatic struct clk_rcg2 gp2_clk_src = {
371662306a36Sopenharmony_ci	.cmd_rcgr = 0x9004,
371762306a36Sopenharmony_ci	.freq_tbl = ftbl_gp1_clk_src,
371862306a36Sopenharmony_ci	.hid_width = 5,
371962306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_gpll0_sleep_clk_map,
372062306a36Sopenharmony_ci	.clkr.hw.init = &(const struct clk_init_data) {
372162306a36Sopenharmony_ci		.name = "gp2_clk_src",
372262306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0_gpll0_sleep_clk,
372362306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0_gpll0_sleep_clk),
372462306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
372562306a36Sopenharmony_ci	},
372662306a36Sopenharmony_ci};
372762306a36Sopenharmony_ci
372862306a36Sopenharmony_cistatic struct clk_rcg2 gp3_clk_src = {
372962306a36Sopenharmony_ci	.cmd_rcgr = 0xa004,
373062306a36Sopenharmony_ci	.freq_tbl = ftbl_gp1_clk_src,
373162306a36Sopenharmony_ci	.hid_width = 5,
373262306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_gpll0_sleep_clk_map,
373362306a36Sopenharmony_ci	.clkr.hw.init = &(const struct clk_init_data) {
373462306a36Sopenharmony_ci		.name = "gp3_clk_src",
373562306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0_gpll0_sleep_clk,
373662306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0_gpll0_sleep_clk),
373762306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
373862306a36Sopenharmony_ci	},
373962306a36Sopenharmony_ci};
374062306a36Sopenharmony_ci
374162306a36Sopenharmony_cistatic struct clk_branch gcc_xo_clk_src = {
374262306a36Sopenharmony_ci	.halt_reg = 0x34004,
374362306a36Sopenharmony_ci	.clkr = {
374462306a36Sopenharmony_ci		.enable_reg = 0x34004,
374562306a36Sopenharmony_ci		.enable_mask = BIT(1),
374662306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
374762306a36Sopenharmony_ci			.name = "gcc_xo_clk_src",
374862306a36Sopenharmony_ci			.parent_data = gcc_xo_data,
374962306a36Sopenharmony_ci			.num_parents = ARRAY_SIZE(gcc_xo_data),
375062306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
375162306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
375262306a36Sopenharmony_ci		},
375362306a36Sopenharmony_ci	},
375462306a36Sopenharmony_ci};
375562306a36Sopenharmony_ci
375662306a36Sopenharmony_cistatic struct clk_branch gcc_nssnoc_xo_dcd_clk = {
375762306a36Sopenharmony_ci	.halt_reg = 0x17074,
375862306a36Sopenharmony_ci	.clkr = {
375962306a36Sopenharmony_ci		.enable_reg = 0x17074,
376062306a36Sopenharmony_ci		.enable_mask = BIT(0),
376162306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
376262306a36Sopenharmony_ci			.name = "gcc_nssnoc_xo_dcd_clk",
376362306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
376462306a36Sopenharmony_ci				&gcc_xo_clk_src.clkr.hw
376562306a36Sopenharmony_ci			},
376662306a36Sopenharmony_ci			.num_parents = 1,
376762306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
376862306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
376962306a36Sopenharmony_ci		},
377062306a36Sopenharmony_ci	},
377162306a36Sopenharmony_ci};
377262306a36Sopenharmony_ci
377362306a36Sopenharmony_cistatic struct clk_branch gcc_xo_clk = {
377462306a36Sopenharmony_ci	.halt_reg = 0x34018,
377562306a36Sopenharmony_ci	.clkr = {
377662306a36Sopenharmony_ci		.enable_reg = 0x34018,
377762306a36Sopenharmony_ci		.enable_mask = BIT(0),
377862306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
377962306a36Sopenharmony_ci			.name = "gcc_xo_clk",
378062306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
378162306a36Sopenharmony_ci				&gcc_xo_clk_src.clkr.hw
378262306a36Sopenharmony_ci			},
378362306a36Sopenharmony_ci			.num_parents = 1,
378462306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT | CLK_IS_CRITICAL,
378562306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
378662306a36Sopenharmony_ci		},
378762306a36Sopenharmony_ci	},
378862306a36Sopenharmony_ci};
378962306a36Sopenharmony_ci
379062306a36Sopenharmony_cistatic struct clk_branch gcc_uniphy0_sys_clk = {
379162306a36Sopenharmony_ci	.halt_reg = 0x17048,
379262306a36Sopenharmony_ci	.clkr = {
379362306a36Sopenharmony_ci		.enable_reg = 0x17048,
379462306a36Sopenharmony_ci		.enable_mask = BIT(0),
379562306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
379662306a36Sopenharmony_ci			.name = "gcc_uniphy0_sys_clk",
379762306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
379862306a36Sopenharmony_ci				&uniphy_sys_clk_src.clkr.hw
379962306a36Sopenharmony_ci			},
380062306a36Sopenharmony_ci			.num_parents = 1,
380162306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
380262306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
380362306a36Sopenharmony_ci		},
380462306a36Sopenharmony_ci	},
380562306a36Sopenharmony_ci};
380662306a36Sopenharmony_ci
380762306a36Sopenharmony_cistatic struct clk_branch gcc_uniphy1_sys_clk = {
380862306a36Sopenharmony_ci	.halt_reg = 0x17058,
380962306a36Sopenharmony_ci	.clkr = {
381062306a36Sopenharmony_ci		.enable_reg = 0x17058,
381162306a36Sopenharmony_ci		.enable_mask = BIT(0),
381262306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
381362306a36Sopenharmony_ci			.name = "gcc_uniphy1_sys_clk",
381462306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
381562306a36Sopenharmony_ci				&uniphy_sys_clk_src.clkr.hw
381662306a36Sopenharmony_ci			},
381762306a36Sopenharmony_ci			.num_parents = 1,
381862306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
381962306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
382062306a36Sopenharmony_ci		},
382162306a36Sopenharmony_ci	},
382262306a36Sopenharmony_ci};
382362306a36Sopenharmony_ci
382462306a36Sopenharmony_cistatic struct clk_branch gcc_uniphy2_sys_clk = {
382562306a36Sopenharmony_ci	.halt_reg = 0x17068,
382662306a36Sopenharmony_ci	.clkr = {
382762306a36Sopenharmony_ci		.enable_reg = 0x17068,
382862306a36Sopenharmony_ci		.enable_mask = BIT(0),
382962306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
383062306a36Sopenharmony_ci			.name = "gcc_uniphy2_sys_clk",
383162306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
383262306a36Sopenharmony_ci				&uniphy_sys_clk_src.clkr.hw
383362306a36Sopenharmony_ci			},
383462306a36Sopenharmony_ci			.num_parents = 1,
383562306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
383662306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
383762306a36Sopenharmony_ci		},
383862306a36Sopenharmony_ci	},
383962306a36Sopenharmony_ci};
384062306a36Sopenharmony_ci
384162306a36Sopenharmony_cistatic struct clk_branch gcc_cmn_12gpll_sys_clk = {
384262306a36Sopenharmony_ci	.halt_reg = 0x3a008,
384362306a36Sopenharmony_ci	.clkr = {
384462306a36Sopenharmony_ci		.enable_reg = 0x3a008,
384562306a36Sopenharmony_ci		.enable_mask = BIT(0),
384662306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
384762306a36Sopenharmony_ci			.name = "gcc_cmn_12gpll_sys_clk",
384862306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
384962306a36Sopenharmony_ci				&uniphy_sys_clk_src.clkr.hw
385062306a36Sopenharmony_ci			},
385162306a36Sopenharmony_ci			.num_parents = 1,
385262306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
385362306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
385462306a36Sopenharmony_ci		},
385562306a36Sopenharmony_ci	},
385662306a36Sopenharmony_ci};
385762306a36Sopenharmony_ci
385862306a36Sopenharmony_cistatic struct clk_fixed_factor gcc_xo_div4_clk_src = {
385962306a36Sopenharmony_ci	.mult = 1,
386062306a36Sopenharmony_ci	.div = 4,
386162306a36Sopenharmony_ci	.hw.init = &(const struct clk_init_data) {
386262306a36Sopenharmony_ci		.name = "gcc_xo_div4_clk_src",
386362306a36Sopenharmony_ci		.parent_hws = (const struct clk_hw *[]) {
386462306a36Sopenharmony_ci			&gcc_xo_clk_src.clkr.hw
386562306a36Sopenharmony_ci		},
386662306a36Sopenharmony_ci		.num_parents = 1,
386762306a36Sopenharmony_ci		.flags = CLK_SET_RATE_PARENT,
386862306a36Sopenharmony_ci		.ops = &clk_fixed_factor_ops,
386962306a36Sopenharmony_ci	},
387062306a36Sopenharmony_ci};
387162306a36Sopenharmony_ci
387262306a36Sopenharmony_cistatic struct clk_branch gcc_nssnoc_qosgen_ref_clk = {
387362306a36Sopenharmony_ci	.halt_reg = 0x1701c,
387462306a36Sopenharmony_ci	.clkr = {
387562306a36Sopenharmony_ci		.enable_reg = 0x1701c,
387662306a36Sopenharmony_ci		.enable_mask = BIT(0),
387762306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
387862306a36Sopenharmony_ci			.name = "gcc_nssnoc_qosgen_ref_clk",
387962306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
388062306a36Sopenharmony_ci				&gcc_xo_div4_clk_src.hw
388162306a36Sopenharmony_ci			},
388262306a36Sopenharmony_ci			.num_parents = 1,
388362306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
388462306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
388562306a36Sopenharmony_ci		},
388662306a36Sopenharmony_ci	},
388762306a36Sopenharmony_ci};
388862306a36Sopenharmony_ci
388962306a36Sopenharmony_cistatic struct clk_branch gcc_nssnoc_timeout_ref_clk = {
389062306a36Sopenharmony_ci	.halt_reg = 0x17020,
389162306a36Sopenharmony_ci	.clkr = {
389262306a36Sopenharmony_ci		.enable_reg = 0x17020,
389362306a36Sopenharmony_ci		.enable_mask = BIT(0),
389462306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
389562306a36Sopenharmony_ci			.name = "gcc_nssnoc_timeout_ref_clk",
389662306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
389762306a36Sopenharmony_ci				&gcc_xo_div4_clk_src.hw
389862306a36Sopenharmony_ci			},
389962306a36Sopenharmony_ci			.num_parents = 1,
390062306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
390162306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
390262306a36Sopenharmony_ci		},
390362306a36Sopenharmony_ci	},
390462306a36Sopenharmony_ci};
390562306a36Sopenharmony_ci
390662306a36Sopenharmony_cistatic struct clk_branch gcc_xo_div4_clk = {
390762306a36Sopenharmony_ci	.halt_reg = 0x3401c,
390862306a36Sopenharmony_ci	.clkr = {
390962306a36Sopenharmony_ci		.enable_reg = 0x3401c,
391062306a36Sopenharmony_ci		.enable_mask = BIT(0),
391162306a36Sopenharmony_ci		.hw.init = &(const struct clk_init_data) {
391262306a36Sopenharmony_ci			.name = "gcc_xo_div4_clk",
391362306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw *[]) {
391462306a36Sopenharmony_ci				&gcc_xo_div4_clk_src.hw
391562306a36Sopenharmony_ci			},
391662306a36Sopenharmony_ci			.num_parents = 1,
391762306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT | CLK_IS_CRITICAL,
391862306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
391962306a36Sopenharmony_ci		},
392062306a36Sopenharmony_ci	},
392162306a36Sopenharmony_ci};
392262306a36Sopenharmony_ci
392362306a36Sopenharmony_cistatic struct clk_hw *gcc_ipq9574_hws[] = {
392462306a36Sopenharmony_ci	&gpll0_out_main_div2.hw,
392562306a36Sopenharmony_ci	&gcc_xo_div4_clk_src.hw,
392662306a36Sopenharmony_ci	&qdss_dap_sync_clk_src.hw,
392762306a36Sopenharmony_ci	&qdss_tsctr_div2_clk_src.hw,
392862306a36Sopenharmony_ci	&qdss_tsctr_div8_clk_src.hw,
392962306a36Sopenharmony_ci	&qdss_tsctr_div16_clk_src.hw,
393062306a36Sopenharmony_ci	&qdss_tsctr_div3_clk_src.hw,
393162306a36Sopenharmony_ci	&gcc_eud_at_div_clk_src.hw,
393262306a36Sopenharmony_ci};
393362306a36Sopenharmony_ci
393462306a36Sopenharmony_cistatic struct clk_regmap *gcc_ipq9574_clks[] = {
393562306a36Sopenharmony_ci	[GPLL0_MAIN] = &gpll0_main.clkr,
393662306a36Sopenharmony_ci	[GPLL0] = &gpll0.clkr,
393762306a36Sopenharmony_ci	[GPLL4_MAIN] = &gpll4_main.clkr,
393862306a36Sopenharmony_ci	[GPLL4] = &gpll4.clkr,
393962306a36Sopenharmony_ci	[GPLL2_MAIN] = &gpll2_main.clkr,
394062306a36Sopenharmony_ci	[GPLL2] = &gpll2.clkr,
394162306a36Sopenharmony_ci	[GCC_SLEEP_CLK_SRC] = &gcc_sleep_clk_src.clkr,
394262306a36Sopenharmony_ci	[APSS_AHB_CLK_SRC] = &apss_ahb_clk_src.clkr,
394362306a36Sopenharmony_ci	[APSS_AXI_CLK_SRC] = &apss_axi_clk_src.clkr,
394462306a36Sopenharmony_ci	[BLSP1_QUP1_I2C_APPS_CLK_SRC] = &blsp1_qup1_i2c_apps_clk_src.clkr,
394562306a36Sopenharmony_ci	[BLSP1_QUP1_SPI_APPS_CLK_SRC] = &blsp1_qup1_spi_apps_clk_src.clkr,
394662306a36Sopenharmony_ci	[BLSP1_QUP2_I2C_APPS_CLK_SRC] = &blsp1_qup2_i2c_apps_clk_src.clkr,
394762306a36Sopenharmony_ci	[BLSP1_QUP2_SPI_APPS_CLK_SRC] = &blsp1_qup2_spi_apps_clk_src.clkr,
394862306a36Sopenharmony_ci	[BLSP1_QUP3_I2C_APPS_CLK_SRC] = &blsp1_qup3_i2c_apps_clk_src.clkr,
394962306a36Sopenharmony_ci	[BLSP1_QUP3_SPI_APPS_CLK_SRC] = &blsp1_qup3_spi_apps_clk_src.clkr,
395062306a36Sopenharmony_ci	[BLSP1_QUP4_I2C_APPS_CLK_SRC] = &blsp1_qup4_i2c_apps_clk_src.clkr,
395162306a36Sopenharmony_ci	[BLSP1_QUP4_SPI_APPS_CLK_SRC] = &blsp1_qup4_spi_apps_clk_src.clkr,
395262306a36Sopenharmony_ci	[BLSP1_QUP5_I2C_APPS_CLK_SRC] = &blsp1_qup5_i2c_apps_clk_src.clkr,
395362306a36Sopenharmony_ci	[BLSP1_QUP5_SPI_APPS_CLK_SRC] = &blsp1_qup5_spi_apps_clk_src.clkr,
395462306a36Sopenharmony_ci	[BLSP1_QUP6_I2C_APPS_CLK_SRC] = &blsp1_qup6_i2c_apps_clk_src.clkr,
395562306a36Sopenharmony_ci	[BLSP1_QUP6_SPI_APPS_CLK_SRC] = &blsp1_qup6_spi_apps_clk_src.clkr,
395662306a36Sopenharmony_ci	[BLSP1_UART1_APPS_CLK_SRC] = &blsp1_uart1_apps_clk_src.clkr,
395762306a36Sopenharmony_ci	[BLSP1_UART2_APPS_CLK_SRC] = &blsp1_uart2_apps_clk_src.clkr,
395862306a36Sopenharmony_ci	[BLSP1_UART3_APPS_CLK_SRC] = &blsp1_uart3_apps_clk_src.clkr,
395962306a36Sopenharmony_ci	[BLSP1_UART4_APPS_CLK_SRC] = &blsp1_uart4_apps_clk_src.clkr,
396062306a36Sopenharmony_ci	[BLSP1_UART5_APPS_CLK_SRC] = &blsp1_uart5_apps_clk_src.clkr,
396162306a36Sopenharmony_ci	[BLSP1_UART6_APPS_CLK_SRC] = &blsp1_uart6_apps_clk_src.clkr,
396262306a36Sopenharmony_ci	[GCC_APSS_AHB_CLK] = &gcc_apss_ahb_clk.clkr,
396362306a36Sopenharmony_ci	[GCC_APSS_AXI_CLK] = &gcc_apss_axi_clk.clkr,
396462306a36Sopenharmony_ci	[GCC_BLSP1_QUP1_I2C_APPS_CLK] = &gcc_blsp1_qup1_i2c_apps_clk.clkr,
396562306a36Sopenharmony_ci	[GCC_BLSP1_QUP1_SPI_APPS_CLK] = &gcc_blsp1_qup1_spi_apps_clk.clkr,
396662306a36Sopenharmony_ci	[GCC_BLSP1_QUP2_I2C_APPS_CLK] = &gcc_blsp1_qup2_i2c_apps_clk.clkr,
396762306a36Sopenharmony_ci	[GCC_BLSP1_QUP2_SPI_APPS_CLK] = &gcc_blsp1_qup2_spi_apps_clk.clkr,
396862306a36Sopenharmony_ci	[GCC_BLSP1_QUP3_I2C_APPS_CLK] = &gcc_blsp1_qup3_i2c_apps_clk.clkr,
396962306a36Sopenharmony_ci	[GCC_BLSP1_QUP3_SPI_APPS_CLK] = &gcc_blsp1_qup3_spi_apps_clk.clkr,
397062306a36Sopenharmony_ci	[GCC_BLSP1_QUP4_I2C_APPS_CLK] = &gcc_blsp1_qup4_i2c_apps_clk.clkr,
397162306a36Sopenharmony_ci	[GCC_BLSP1_QUP4_SPI_APPS_CLK] = &gcc_blsp1_qup4_spi_apps_clk.clkr,
397262306a36Sopenharmony_ci	[GCC_BLSP1_QUP5_I2C_APPS_CLK] = &gcc_blsp1_qup5_i2c_apps_clk.clkr,
397362306a36Sopenharmony_ci	[GCC_BLSP1_QUP5_SPI_APPS_CLK] = &gcc_blsp1_qup5_spi_apps_clk.clkr,
397462306a36Sopenharmony_ci	[GCC_BLSP1_QUP6_I2C_APPS_CLK] = &gcc_blsp1_qup6_i2c_apps_clk.clkr,
397562306a36Sopenharmony_ci	[GCC_BLSP1_QUP6_SPI_APPS_CLK] = &gcc_blsp1_qup6_spi_apps_clk.clkr,
397662306a36Sopenharmony_ci	[GCC_BLSP1_UART1_APPS_CLK] = &gcc_blsp1_uart1_apps_clk.clkr,
397762306a36Sopenharmony_ci	[GCC_BLSP1_UART2_APPS_CLK] = &gcc_blsp1_uart2_apps_clk.clkr,
397862306a36Sopenharmony_ci	[GCC_BLSP1_UART3_APPS_CLK] = &gcc_blsp1_uart3_apps_clk.clkr,
397962306a36Sopenharmony_ci	[GCC_BLSP1_UART4_APPS_CLK] = &gcc_blsp1_uart4_apps_clk.clkr,
398062306a36Sopenharmony_ci	[GCC_BLSP1_UART5_APPS_CLK] = &gcc_blsp1_uart5_apps_clk.clkr,
398162306a36Sopenharmony_ci	[GCC_BLSP1_UART6_APPS_CLK] = &gcc_blsp1_uart6_apps_clk.clkr,
398262306a36Sopenharmony_ci	[GCC_CRYPTO_AHB_CLK] = &gcc_crypto_ahb_clk.clkr,
398362306a36Sopenharmony_ci	[GCC_CRYPTO_AXI_CLK] = &gcc_crypto_axi_clk.clkr,
398462306a36Sopenharmony_ci	[GCC_CRYPTO_CLK] = &gcc_crypto_clk.clkr,
398562306a36Sopenharmony_ci	[GCC_CRYPTO_CLK_SRC] = &gcc_crypto_clk_src.clkr,
398662306a36Sopenharmony_ci	[PCIE0_AXI_M_CLK_SRC] = &pcie0_axi_m_clk_src.clkr,
398762306a36Sopenharmony_ci	[GCC_PCIE0_AXI_M_CLK] = &gcc_pcie0_axi_m_clk.clkr,
398862306a36Sopenharmony_ci	[PCIE1_AXI_M_CLK_SRC] = &pcie1_axi_m_clk_src.clkr,
398962306a36Sopenharmony_ci	[GCC_PCIE1_AXI_M_CLK] = &gcc_pcie1_axi_m_clk.clkr,
399062306a36Sopenharmony_ci	[PCIE2_AXI_M_CLK_SRC] = &pcie2_axi_m_clk_src.clkr,
399162306a36Sopenharmony_ci	[GCC_PCIE2_AXI_M_CLK] = &gcc_pcie2_axi_m_clk.clkr,
399262306a36Sopenharmony_ci	[PCIE3_AXI_M_CLK_SRC] = &pcie3_axi_m_clk_src.clkr,
399362306a36Sopenharmony_ci	[GCC_PCIE3_AXI_M_CLK] = &gcc_pcie3_axi_m_clk.clkr,
399462306a36Sopenharmony_ci	[PCIE0_AXI_S_CLK_SRC] = &pcie0_axi_s_clk_src.clkr,
399562306a36Sopenharmony_ci	[GCC_PCIE0_AXI_S_BRIDGE_CLK] = &gcc_pcie0_axi_s_bridge_clk.clkr,
399662306a36Sopenharmony_ci	[GCC_PCIE0_AXI_S_CLK] = &gcc_pcie0_axi_s_clk.clkr,
399762306a36Sopenharmony_ci	[PCIE1_AXI_S_CLK_SRC] = &pcie1_axi_s_clk_src.clkr,
399862306a36Sopenharmony_ci	[GCC_PCIE1_AXI_S_BRIDGE_CLK] = &gcc_pcie1_axi_s_bridge_clk.clkr,
399962306a36Sopenharmony_ci	[GCC_PCIE1_AXI_S_CLK] = &gcc_pcie1_axi_s_clk.clkr,
400062306a36Sopenharmony_ci	[PCIE2_AXI_S_CLK_SRC] = &pcie2_axi_s_clk_src.clkr,
400162306a36Sopenharmony_ci	[GCC_PCIE2_AXI_S_BRIDGE_CLK] = &gcc_pcie2_axi_s_bridge_clk.clkr,
400262306a36Sopenharmony_ci	[GCC_PCIE2_AXI_S_CLK] = &gcc_pcie2_axi_s_clk.clkr,
400362306a36Sopenharmony_ci	[PCIE3_AXI_S_CLK_SRC] = &pcie3_axi_s_clk_src.clkr,
400462306a36Sopenharmony_ci	[GCC_PCIE3_AXI_S_BRIDGE_CLK] = &gcc_pcie3_axi_s_bridge_clk.clkr,
400562306a36Sopenharmony_ci	[GCC_PCIE3_AXI_S_CLK] = &gcc_pcie3_axi_s_clk.clkr,
400662306a36Sopenharmony_ci	[PCIE0_PIPE_CLK_SRC] = &pcie0_pipe_clk_src.clkr,
400762306a36Sopenharmony_ci	[PCIE1_PIPE_CLK_SRC] = &pcie1_pipe_clk_src.clkr,
400862306a36Sopenharmony_ci	[PCIE2_PIPE_CLK_SRC] = &pcie2_pipe_clk_src.clkr,
400962306a36Sopenharmony_ci	[PCIE3_PIPE_CLK_SRC] = &pcie3_pipe_clk_src.clkr,
401062306a36Sopenharmony_ci	[PCIE_AUX_CLK_SRC] = &pcie_aux_clk_src.clkr,
401162306a36Sopenharmony_ci	[GCC_PCIE0_AUX_CLK] = &gcc_pcie0_aux_clk.clkr,
401262306a36Sopenharmony_ci	[GCC_PCIE1_AUX_CLK] = &gcc_pcie1_aux_clk.clkr,
401362306a36Sopenharmony_ci	[GCC_PCIE2_AUX_CLK] = &gcc_pcie2_aux_clk.clkr,
401462306a36Sopenharmony_ci	[GCC_PCIE3_AUX_CLK] = &gcc_pcie3_aux_clk.clkr,
401562306a36Sopenharmony_ci	[PCIE0_RCHNG_CLK_SRC] = &pcie0_rchng_clk_src.clkr,
401662306a36Sopenharmony_ci	[GCC_PCIE0_RCHNG_CLK] = &gcc_pcie0_rchng_clk.clkr,
401762306a36Sopenharmony_ci	[PCIE1_RCHNG_CLK_SRC] = &pcie1_rchng_clk_src.clkr,
401862306a36Sopenharmony_ci	[GCC_PCIE1_RCHNG_CLK] = &gcc_pcie1_rchng_clk.clkr,
401962306a36Sopenharmony_ci	[PCIE2_RCHNG_CLK_SRC] = &pcie2_rchng_clk_src.clkr,
402062306a36Sopenharmony_ci	[GCC_PCIE2_RCHNG_CLK] = &gcc_pcie2_rchng_clk.clkr,
402162306a36Sopenharmony_ci	[PCIE3_RCHNG_CLK_SRC] = &pcie3_rchng_clk_src.clkr,
402262306a36Sopenharmony_ci	[GCC_PCIE3_RCHNG_CLK] = &gcc_pcie3_rchng_clk.clkr,
402362306a36Sopenharmony_ci	[GCC_PCIE0_AHB_CLK] = &gcc_pcie0_ahb_clk.clkr,
402462306a36Sopenharmony_ci	[GCC_PCIE1_AHB_CLK] = &gcc_pcie1_ahb_clk.clkr,
402562306a36Sopenharmony_ci	[GCC_PCIE2_AHB_CLK] = &gcc_pcie2_ahb_clk.clkr,
402662306a36Sopenharmony_ci	[GCC_PCIE3_AHB_CLK] = &gcc_pcie3_ahb_clk.clkr,
402762306a36Sopenharmony_ci	[USB0_AUX_CLK_SRC] = &usb0_aux_clk_src.clkr,
402862306a36Sopenharmony_ci	[GCC_USB0_AUX_CLK] = &gcc_usb0_aux_clk.clkr,
402962306a36Sopenharmony_ci	[USB0_MASTER_CLK_SRC] = &usb0_master_clk_src.clkr,
403062306a36Sopenharmony_ci	[GCC_USB0_MASTER_CLK] = &gcc_usb0_master_clk.clkr,
403162306a36Sopenharmony_ci	[GCC_SNOC_USB_CLK] = &gcc_snoc_usb_clk.clkr,
403262306a36Sopenharmony_ci	[GCC_ANOC_USB_AXI_CLK] = &gcc_anoc_usb_axi_clk.clkr,
403362306a36Sopenharmony_ci	[USB0_MOCK_UTMI_CLK_SRC] = &usb0_mock_utmi_clk_src.clkr,
403462306a36Sopenharmony_ci	[USB0_MOCK_UTMI_DIV_CLK_SRC] = &usb0_mock_utmi_div_clk_src.clkr,
403562306a36Sopenharmony_ci	[GCC_USB0_MOCK_UTMI_CLK] = &gcc_usb0_mock_utmi_clk.clkr,
403662306a36Sopenharmony_ci	[USB0_PIPE_CLK_SRC] = &usb0_pipe_clk_src.clkr,
403762306a36Sopenharmony_ci	[GCC_USB0_PHY_CFG_AHB_CLK] = &gcc_usb0_phy_cfg_ahb_clk.clkr,
403862306a36Sopenharmony_ci	[GCC_USB0_PIPE_CLK] = &gcc_usb0_pipe_clk.clkr,
403962306a36Sopenharmony_ci	[GCC_USB0_SLEEP_CLK] = &gcc_usb0_sleep_clk.clkr,
404062306a36Sopenharmony_ci	[SDCC1_APPS_CLK_SRC] = &sdcc1_apps_clk_src.clkr,
404162306a36Sopenharmony_ci	[GCC_SDCC1_APPS_CLK] = &gcc_sdcc1_apps_clk.clkr,
404262306a36Sopenharmony_ci	[SDCC1_ICE_CORE_CLK_SRC] = &sdcc1_ice_core_clk_src.clkr,
404362306a36Sopenharmony_ci	[GCC_SDCC1_ICE_CORE_CLK] = &gcc_sdcc1_ice_core_clk.clkr,
404462306a36Sopenharmony_ci	[GCC_SDCC1_AHB_CLK] = &gcc_sdcc1_ahb_clk.clkr,
404562306a36Sopenharmony_ci	[PCNOC_BFDCD_CLK_SRC] = &pcnoc_bfdcd_clk_src.clkr,
404662306a36Sopenharmony_ci	[GCC_NSSCFG_CLK] = &gcc_nsscfg_clk.clkr,
404762306a36Sopenharmony_ci	[GCC_NSSNOC_NSSCC_CLK] = &gcc_nssnoc_nsscc_clk.clkr,
404862306a36Sopenharmony_ci	[GCC_NSSCC_CLK] = &gcc_nsscc_clk.clkr,
404962306a36Sopenharmony_ci	[GCC_NSSNOC_PCNOC_1_CLK] = &gcc_nssnoc_pcnoc_1_clk.clkr,
405062306a36Sopenharmony_ci	[GCC_QDSS_DAP_AHB_CLK] = &gcc_qdss_dap_ahb_clk.clkr,
405162306a36Sopenharmony_ci	[GCC_QDSS_CFG_AHB_CLK] = &gcc_qdss_cfg_ahb_clk.clkr,
405262306a36Sopenharmony_ci	[GCC_QPIC_AHB_CLK] = &gcc_qpic_ahb_clk.clkr,
405362306a36Sopenharmony_ci	[GCC_QPIC_CLK] = &gcc_qpic_clk.clkr,
405462306a36Sopenharmony_ci	[GCC_BLSP1_AHB_CLK] = &gcc_blsp1_ahb_clk.clkr,
405562306a36Sopenharmony_ci	[GCC_MDIO_AHB_CLK] = &gcc_mdio_ahb_clk.clkr,
405662306a36Sopenharmony_ci	[GCC_PRNG_AHB_CLK] = &gcc_prng_ahb_clk.clkr,
405762306a36Sopenharmony_ci	[GCC_UNIPHY0_AHB_CLK] = &gcc_uniphy0_ahb_clk.clkr,
405862306a36Sopenharmony_ci	[GCC_UNIPHY1_AHB_CLK] = &gcc_uniphy1_ahb_clk.clkr,
405962306a36Sopenharmony_ci	[GCC_UNIPHY2_AHB_CLK] = &gcc_uniphy2_ahb_clk.clkr,
406062306a36Sopenharmony_ci	[GCC_CMN_12GPLL_AHB_CLK] = &gcc_cmn_12gpll_ahb_clk.clkr,
406162306a36Sopenharmony_ci	[GCC_CMN_12GPLL_APU_CLK] = &gcc_cmn_12gpll_apu_clk.clkr,
406262306a36Sopenharmony_ci	[SYSTEM_NOC_BFDCD_CLK_SRC] = &system_noc_bfdcd_clk_src.clkr,
406362306a36Sopenharmony_ci	[GCC_NSSNOC_SNOC_CLK] = &gcc_nssnoc_snoc_clk.clkr,
406462306a36Sopenharmony_ci	[GCC_NSSNOC_SNOC_1_CLK] = &gcc_nssnoc_snoc_1_clk.clkr,
406562306a36Sopenharmony_ci	[GCC_QDSS_ETR_USB_CLK] = &gcc_qdss_etr_usb_clk.clkr,
406662306a36Sopenharmony_ci	[WCSS_AHB_CLK_SRC] = &wcss_ahb_clk_src.clkr,
406762306a36Sopenharmony_ci	[GCC_Q6_AHB_CLK] = &gcc_q6_ahb_clk.clkr,
406862306a36Sopenharmony_ci	[GCC_Q6_AHB_S_CLK] = &gcc_q6_ahb_s_clk.clkr,
406962306a36Sopenharmony_ci	[GCC_WCSS_ECAHB_CLK] = &gcc_wcss_ecahb_clk.clkr,
407062306a36Sopenharmony_ci	[GCC_WCSS_ACMT_CLK] = &gcc_wcss_acmt_clk.clkr,
407162306a36Sopenharmony_ci	[GCC_SYS_NOC_WCSS_AHB_CLK] = &gcc_sys_noc_wcss_ahb_clk.clkr,
407262306a36Sopenharmony_ci	[WCSS_AXI_M_CLK_SRC] = &wcss_axi_m_clk_src.clkr,
407362306a36Sopenharmony_ci	[GCC_ANOC_WCSS_AXI_M_CLK] = &gcc_anoc_wcss_axi_m_clk.clkr,
407462306a36Sopenharmony_ci	[QDSS_AT_CLK_SRC] = &qdss_at_clk_src.clkr,
407562306a36Sopenharmony_ci	[GCC_Q6SS_ATBM_CLK] = &gcc_q6ss_atbm_clk.clkr,
407662306a36Sopenharmony_ci	[GCC_WCSS_DBG_IFC_ATB_CLK] = &gcc_wcss_dbg_ifc_atb_clk.clkr,
407762306a36Sopenharmony_ci	[GCC_NSSNOC_ATB_CLK] = &gcc_nssnoc_atb_clk.clkr,
407862306a36Sopenharmony_ci	[GCC_QDSS_AT_CLK] = &gcc_qdss_at_clk.clkr,
407962306a36Sopenharmony_ci	[GCC_SYS_NOC_AT_CLK] = &gcc_sys_noc_at_clk.clkr,
408062306a36Sopenharmony_ci	[GCC_PCNOC_AT_CLK] = &gcc_pcnoc_at_clk.clkr,
408162306a36Sopenharmony_ci	[GCC_USB0_EUD_AT_CLK] = &gcc_usb0_eud_at_clk.clkr,
408262306a36Sopenharmony_ci	[GCC_QDSS_EUD_AT_CLK] = &gcc_qdss_eud_at_clk.clkr,
408362306a36Sopenharmony_ci	[QDSS_STM_CLK_SRC] = &qdss_stm_clk_src.clkr,
408462306a36Sopenharmony_ci	[GCC_QDSS_STM_CLK] = &gcc_qdss_stm_clk.clkr,
408562306a36Sopenharmony_ci	[GCC_SYS_NOC_QDSS_STM_AXI_CLK] = &gcc_sys_noc_qdss_stm_axi_clk.clkr,
408662306a36Sopenharmony_ci	[QDSS_TRACECLKIN_CLK_SRC] = &qdss_traceclkin_clk_src.clkr,
408762306a36Sopenharmony_ci	[GCC_QDSS_TRACECLKIN_CLK] = &gcc_qdss_traceclkin_clk.clkr,
408862306a36Sopenharmony_ci	[QDSS_TSCTR_CLK_SRC] = &qdss_tsctr_clk_src.clkr,
408962306a36Sopenharmony_ci	[GCC_Q6_TSCTR_1TO2_CLK] = &gcc_q6_tsctr_1to2_clk.clkr,
409062306a36Sopenharmony_ci	[GCC_WCSS_DBG_IFC_NTS_CLK] = &gcc_wcss_dbg_ifc_nts_clk.clkr,
409162306a36Sopenharmony_ci	[GCC_QDSS_TSCTR_DIV2_CLK] = &gcc_qdss_tsctr_div2_clk.clkr,
409262306a36Sopenharmony_ci	[GCC_QDSS_TS_CLK] = &gcc_qdss_ts_clk.clkr,
409362306a36Sopenharmony_ci	[GCC_QDSS_TSCTR_DIV4_CLK] = &gcc_qdss_tsctr_div4_clk.clkr,
409462306a36Sopenharmony_ci	[GCC_NSS_TS_CLK] = &gcc_nss_ts_clk.clkr,
409562306a36Sopenharmony_ci	[GCC_QDSS_TSCTR_DIV8_CLK] = &gcc_qdss_tsctr_div8_clk.clkr,
409662306a36Sopenharmony_ci	[GCC_QDSS_TSCTR_DIV16_CLK] = &gcc_qdss_tsctr_div16_clk.clkr,
409762306a36Sopenharmony_ci	[GCC_Q6SS_PCLKDBG_CLK] = &gcc_q6ss_pclkdbg_clk.clkr,
409862306a36Sopenharmony_ci	[GCC_Q6SS_TRIG_CLK] = &gcc_q6ss_trig_clk.clkr,
409962306a36Sopenharmony_ci	[GCC_WCSS_DBG_IFC_APB_CLK] = &gcc_wcss_dbg_ifc_apb_clk.clkr,
410062306a36Sopenharmony_ci	[GCC_WCSS_DBG_IFC_DAPBUS_CLK] = &gcc_wcss_dbg_ifc_dapbus_clk.clkr,
410162306a36Sopenharmony_ci	[GCC_QDSS_DAP_CLK] = &gcc_qdss_dap_clk.clkr,
410262306a36Sopenharmony_ci	[GCC_QDSS_APB2JTAG_CLK] = &gcc_qdss_apb2jtag_clk.clkr,
410362306a36Sopenharmony_ci	[GCC_QDSS_TSCTR_DIV3_CLK] = &gcc_qdss_tsctr_div3_clk.clkr,
410462306a36Sopenharmony_ci	[QPIC_IO_MACRO_CLK_SRC] = &qpic_io_macro_clk_src.clkr,
410562306a36Sopenharmony_ci	[GCC_QPIC_IO_MACRO_CLK] = &gcc_qpic_io_macro_clk.clkr,
410662306a36Sopenharmony_ci	[Q6_AXI_CLK_SRC] = &q6_axi_clk_src.clkr,
410762306a36Sopenharmony_ci	[GCC_Q6_AXIM_CLK] = &gcc_q6_axim_clk.clkr,
410862306a36Sopenharmony_ci	[GCC_WCSS_Q6_TBU_CLK] = &gcc_wcss_q6_tbu_clk.clkr,
410962306a36Sopenharmony_ci	[GCC_MEM_NOC_Q6_AXI_CLK] = &gcc_mem_noc_q6_axi_clk.clkr,
411062306a36Sopenharmony_ci	[Q6_AXIM2_CLK_SRC] = &q6_axim2_clk_src.clkr,
411162306a36Sopenharmony_ci	[NSSNOC_MEMNOC_BFDCD_CLK_SRC] = &nssnoc_memnoc_bfdcd_clk_src.clkr,
411262306a36Sopenharmony_ci	[GCC_NSSNOC_MEMNOC_CLK] = &gcc_nssnoc_memnoc_clk.clkr,
411362306a36Sopenharmony_ci	[GCC_NSSNOC_MEM_NOC_1_CLK] = &gcc_nssnoc_mem_noc_1_clk.clkr,
411462306a36Sopenharmony_ci	[GCC_NSS_TBU_CLK] = &gcc_nss_tbu_clk.clkr,
411562306a36Sopenharmony_ci	[GCC_MEM_NOC_NSSNOC_CLK] = &gcc_mem_noc_nssnoc_clk.clkr,
411662306a36Sopenharmony_ci	[LPASS_AXIM_CLK_SRC] = &lpass_axim_clk_src.clkr,
411762306a36Sopenharmony_ci	[LPASS_SWAY_CLK_SRC] = &lpass_sway_clk_src.clkr,
411862306a36Sopenharmony_ci	[ADSS_PWM_CLK_SRC] = &adss_pwm_clk_src.clkr,
411962306a36Sopenharmony_ci	[GCC_ADSS_PWM_CLK] = &gcc_adss_pwm_clk.clkr,
412062306a36Sopenharmony_ci	[GP1_CLK_SRC] = &gp1_clk_src.clkr,
412162306a36Sopenharmony_ci	[GP2_CLK_SRC] = &gp2_clk_src.clkr,
412262306a36Sopenharmony_ci	[GP3_CLK_SRC] = &gp3_clk_src.clkr,
412362306a36Sopenharmony_ci	[GCC_XO_CLK_SRC] = &gcc_xo_clk_src.clkr,
412462306a36Sopenharmony_ci	[GCC_NSSNOC_XO_DCD_CLK] = &gcc_nssnoc_xo_dcd_clk.clkr,
412562306a36Sopenharmony_ci	[GCC_XO_CLK] = &gcc_xo_clk.clkr,
412662306a36Sopenharmony_ci	[GCC_NSSNOC_QOSGEN_REF_CLK] = &gcc_nssnoc_qosgen_ref_clk.clkr,
412762306a36Sopenharmony_ci	[GCC_NSSNOC_TIMEOUT_REF_CLK] = &gcc_nssnoc_timeout_ref_clk.clkr,
412862306a36Sopenharmony_ci	[GCC_XO_DIV4_CLK] = &gcc_xo_div4_clk.clkr,
412962306a36Sopenharmony_ci	[GCC_UNIPHY0_SYS_CLK] = &gcc_uniphy0_sys_clk.clkr,
413062306a36Sopenharmony_ci	[GCC_UNIPHY1_SYS_CLK] = &gcc_uniphy1_sys_clk.clkr,
413162306a36Sopenharmony_ci	[GCC_UNIPHY2_SYS_CLK] = &gcc_uniphy2_sys_clk.clkr,
413262306a36Sopenharmony_ci	[GCC_CMN_12GPLL_SYS_CLK] = &gcc_cmn_12gpll_sys_clk.clkr,
413362306a36Sopenharmony_ci	[GCC_Q6SS_BOOT_CLK] = &gcc_q6ss_boot_clk.clkr,
413462306a36Sopenharmony_ci	[UNIPHY_SYS_CLK_SRC] = &uniphy_sys_clk_src.clkr,
413562306a36Sopenharmony_ci	[NSS_TS_CLK_SRC] = &nss_ts_clk_src.clkr,
413662306a36Sopenharmony_ci	[GCC_ANOC_PCIE0_1LANE_M_CLK] = &gcc_anoc_pcie0_1lane_m_clk.clkr,
413762306a36Sopenharmony_ci	[GCC_ANOC_PCIE1_1LANE_M_CLK] = &gcc_anoc_pcie1_1lane_m_clk.clkr,
413862306a36Sopenharmony_ci	[GCC_ANOC_PCIE2_2LANE_M_CLK] = &gcc_anoc_pcie2_2lane_m_clk.clkr,
413962306a36Sopenharmony_ci	[GCC_ANOC_PCIE3_2LANE_M_CLK] = &gcc_anoc_pcie3_2lane_m_clk.clkr,
414062306a36Sopenharmony_ci	[GCC_SNOC_PCIE0_1LANE_S_CLK] = &gcc_snoc_pcie0_1lane_s_clk.clkr,
414162306a36Sopenharmony_ci	[GCC_SNOC_PCIE1_1LANE_S_CLK] = &gcc_snoc_pcie1_1lane_s_clk.clkr,
414262306a36Sopenharmony_ci	[GCC_SNOC_PCIE2_2LANE_S_CLK] = &gcc_snoc_pcie2_2lane_s_clk.clkr,
414362306a36Sopenharmony_ci	[GCC_SNOC_PCIE3_2LANE_S_CLK] = &gcc_snoc_pcie3_2lane_s_clk.clkr,
414462306a36Sopenharmony_ci};
414562306a36Sopenharmony_ci
414662306a36Sopenharmony_cistatic const struct qcom_reset_map gcc_ipq9574_resets[] = {
414762306a36Sopenharmony_ci	[GCC_ADSS_BCR] = { 0x1c000, 0 },
414862306a36Sopenharmony_ci	[GCC_ANOC0_TBU_BCR] = { 0x1203c, 0 },
414962306a36Sopenharmony_ci	[GCC_ANOC1_TBU_BCR] = { 0x1204c, 0 },
415062306a36Sopenharmony_ci	[GCC_ANOC_BCR] = { 0x2e074, 0 },
415162306a36Sopenharmony_ci	[GCC_APC0_VOLTAGE_DROOP_DETECTOR_BCR] = { 0x38000, 0 },
415262306a36Sopenharmony_ci	[GCC_APSS_TCU_BCR] = { 0x12014, 0 },
415362306a36Sopenharmony_ci	[GCC_BLSP1_BCR] = { 0x01000, 0 },
415462306a36Sopenharmony_ci	[GCC_BLSP1_QUP1_BCR] = { 0x02000, 0 },
415562306a36Sopenharmony_ci	[GCC_BLSP1_QUP2_BCR] = { 0x03000, 0 },
415662306a36Sopenharmony_ci	[GCC_BLSP1_QUP3_BCR] = { 0x04000, 0 },
415762306a36Sopenharmony_ci	[GCC_BLSP1_QUP4_BCR] = { 0x05000, 0 },
415862306a36Sopenharmony_ci	[GCC_BLSP1_QUP5_BCR] = { 0x06000, 0 },
415962306a36Sopenharmony_ci	[GCC_BLSP1_QUP6_BCR] = { 0x07000, 0 },
416062306a36Sopenharmony_ci	[GCC_BLSP1_UART1_BCR] = { 0x02028, 0 },
416162306a36Sopenharmony_ci	[GCC_BLSP1_UART2_BCR] = { 0x03028, 0 },
416262306a36Sopenharmony_ci	[GCC_BLSP1_UART3_BCR] = { 0x04028, 0 },
416362306a36Sopenharmony_ci	[GCC_BLSP1_UART4_BCR] = { 0x05028, 0 },
416462306a36Sopenharmony_ci	[GCC_BLSP1_UART5_BCR] = { 0x06028, 0 },
416562306a36Sopenharmony_ci	[GCC_BLSP1_UART6_BCR] = { 0x07028, 0 },
416662306a36Sopenharmony_ci	[GCC_BOOT_ROM_BCR] = { 0x13028, 0 },
416762306a36Sopenharmony_ci	[GCC_CMN_BLK_BCR] = { 0x3a000, 0 },
416862306a36Sopenharmony_ci	[GCC_CMN_BLK_AHB_ARES] = { 0x3a010, 0 },
416962306a36Sopenharmony_ci	[GCC_CMN_BLK_SYS_ARES] = { 0x3a010, 1 },
417062306a36Sopenharmony_ci	[GCC_CMN_BLK_APU_ARES] = { 0x3a010, 2 },
417162306a36Sopenharmony_ci	[GCC_CRYPTO_BCR] = { 0x16000, 0 },
417262306a36Sopenharmony_ci	[GCC_DCC_BCR] = { 0x35000, 0 },
417362306a36Sopenharmony_ci	[GCC_DDRSS_BCR] = { 0x11000, 0 },
417462306a36Sopenharmony_ci	[GCC_IMEM_BCR] = { 0x0e000, 0 },
417562306a36Sopenharmony_ci	[GCC_LPASS_BCR] = { 0x27000, 0 },
417662306a36Sopenharmony_ci	[GCC_MDIO_BCR] = { 0x1703c, 0 },
417762306a36Sopenharmony_ci	[GCC_MPM_BCR] = { 0x37000, 0 },
417862306a36Sopenharmony_ci	[GCC_MSG_RAM_BCR] = { 0x26000, 0 },
417962306a36Sopenharmony_ci	[GCC_NSS_BCR] = { 0x17000, 0 },
418062306a36Sopenharmony_ci	[GCC_NSS_TBU_BCR] = { 0x12044, 0 },
418162306a36Sopenharmony_ci	[GCC_NSSNOC_MEMNOC_1_ARES] = { 0x17038, 13 },
418262306a36Sopenharmony_ci	[GCC_NSSNOC_PCNOC_1_ARES] = { 0x17038, 12 },
418362306a36Sopenharmony_ci	[GCC_NSSNOC_SNOC_1_ARES] = { 0x17038,  11 },
418462306a36Sopenharmony_ci	[GCC_NSSNOC_XO_DCD_ARES] = { 0x17038,  10 },
418562306a36Sopenharmony_ci	[GCC_NSSNOC_TS_ARES] = { 0x17038, 9 },
418662306a36Sopenharmony_ci	[GCC_NSSCC_ARES] = { 0x17038, 8 },
418762306a36Sopenharmony_ci	[GCC_NSSNOC_NSSCC_ARES] = { 0x17038, 7 },
418862306a36Sopenharmony_ci	[GCC_NSSNOC_ATB_ARES] = { 0x17038, 6 },
418962306a36Sopenharmony_ci	[GCC_NSSNOC_MEMNOC_ARES] = { 0x17038, 5 },
419062306a36Sopenharmony_ci	[GCC_NSSNOC_QOSGEN_REF_ARES] = { 0x17038, 4 },
419162306a36Sopenharmony_ci	[GCC_NSSNOC_SNOC_ARES] = { 0x17038, 3 },
419262306a36Sopenharmony_ci	[GCC_NSSNOC_TIMEOUT_REF_ARES] = { 0x17038, 2 },
419362306a36Sopenharmony_ci	[GCC_NSS_CFG_ARES] = { 0x17038, 1 },
419462306a36Sopenharmony_ci	[GCC_UBI0_DBG_ARES] = { 0x17038, 0 },
419562306a36Sopenharmony_ci	[GCC_PCIE0PHY_PHY_BCR] = { 0x2805c, 0 },
419662306a36Sopenharmony_ci	[GCC_PCIE0_AHB_ARES] = { 0x28058, 7 },
419762306a36Sopenharmony_ci	[GCC_PCIE0_AUX_ARES] = { 0x28058, 6 },
419862306a36Sopenharmony_ci	[GCC_PCIE0_AXI_M_ARES] = { 0x28058, 5 },
419962306a36Sopenharmony_ci	[GCC_PCIE0_AXI_M_STICKY_ARES] = { 0x28058, 4 },
420062306a36Sopenharmony_ci	[GCC_PCIE0_AXI_S_ARES] = { 0x28058, 3 },
420162306a36Sopenharmony_ci	[GCC_PCIE0_AXI_S_STICKY_ARES] = { 0x28058, 2 },
420262306a36Sopenharmony_ci	[GCC_PCIE0_CORE_STICKY_ARES] = { 0x28058, 1 },
420362306a36Sopenharmony_ci	[GCC_PCIE0_PIPE_ARES] = { 0x28058, 0 },
420462306a36Sopenharmony_ci	[GCC_PCIE1_AHB_ARES] = { 0x29058, 7 },
420562306a36Sopenharmony_ci	[GCC_PCIE1_AUX_ARES] = { 0x29058, 6 },
420662306a36Sopenharmony_ci	[GCC_PCIE1_AXI_M_ARES] = { 0x29058, 5 },
420762306a36Sopenharmony_ci	[GCC_PCIE1_AXI_M_STICKY_ARES] = { 0x29058, 4 },
420862306a36Sopenharmony_ci	[GCC_PCIE1_AXI_S_ARES] = { 0x29058, 3 },
420962306a36Sopenharmony_ci	[GCC_PCIE1_AXI_S_STICKY_ARES] = { 0x29058, 2 },
421062306a36Sopenharmony_ci	[GCC_PCIE1_CORE_STICKY_ARES] = { 0x29058, 1 },
421162306a36Sopenharmony_ci	[GCC_PCIE1_PIPE_ARES] = { 0x29058, 0 },
421262306a36Sopenharmony_ci	[GCC_PCIE2_AHB_ARES] = { 0x2a058, 7 },
421362306a36Sopenharmony_ci	[GCC_PCIE2_AUX_ARES] = { 0x2a058, 6 },
421462306a36Sopenharmony_ci	[GCC_PCIE2_AXI_M_ARES] = { 0x2a058, 5 },
421562306a36Sopenharmony_ci	[GCC_PCIE2_AXI_M_STICKY_ARES] = { 0x2a058, 4 },
421662306a36Sopenharmony_ci	[GCC_PCIE2_AXI_S_ARES] = { 0x2a058, 3 },
421762306a36Sopenharmony_ci	[GCC_PCIE2_AXI_S_STICKY_ARES] = { 0x2a058, 2 },
421862306a36Sopenharmony_ci	[GCC_PCIE2_CORE_STICKY_ARES] = { 0x2a058, 1 },
421962306a36Sopenharmony_ci	[GCC_PCIE2_PIPE_ARES] = { 0x2a058, 0 },
422062306a36Sopenharmony_ci	[GCC_PCIE3_AHB_ARES] = { 0x2b058, 7 },
422162306a36Sopenharmony_ci	[GCC_PCIE3_AUX_ARES] = { 0x2b058, 6 },
422262306a36Sopenharmony_ci	[GCC_PCIE3_AXI_M_ARES] = { 0x2b058, 5 },
422362306a36Sopenharmony_ci	[GCC_PCIE3_AXI_M_STICKY_ARES] = { 0x2b058, 4 },
422462306a36Sopenharmony_ci	[GCC_PCIE3_AXI_S_ARES] = { 0x2b058, 3 },
422562306a36Sopenharmony_ci	[GCC_PCIE3_AXI_S_STICKY_ARES] = { 0x2b058, 2 },
422662306a36Sopenharmony_ci	[GCC_PCIE3_CORE_STICKY_ARES] = { 0x2b058, 1 },
422762306a36Sopenharmony_ci	[GCC_PCIE3_PIPE_ARES] = { 0x2b058, 0 },
422862306a36Sopenharmony_ci	[GCC_PCIE0_BCR] = { 0x28000, 0 },
422962306a36Sopenharmony_ci	[GCC_PCIE0_LINK_DOWN_BCR] = { 0x28054, 0 },
423062306a36Sopenharmony_ci	[GCC_PCIE0_PHY_BCR] = { 0x28060, 0 },
423162306a36Sopenharmony_ci	[GCC_PCIE1_BCR] = { 0x29000, 0 },
423262306a36Sopenharmony_ci	[GCC_PCIE1_LINK_DOWN_BCR] = { 0x29054, 0 },
423362306a36Sopenharmony_ci	[GCC_PCIE1_PHY_BCR] = { 0x29060, 0 },
423462306a36Sopenharmony_ci	[GCC_PCIE1PHY_PHY_BCR] = { 0x2905c, 0 },
423562306a36Sopenharmony_ci	[GCC_PCIE2_BCR] = { 0x2a000, 0 },
423662306a36Sopenharmony_ci	[GCC_PCIE2_LINK_DOWN_BCR] = { 0x2a054, 0 },
423762306a36Sopenharmony_ci	[GCC_PCIE2_PHY_BCR] = { 0x2a060, 0 },
423862306a36Sopenharmony_ci	[GCC_PCIE2PHY_PHY_BCR] = { 0x2a05c, 0 },
423962306a36Sopenharmony_ci	[GCC_PCIE3_BCR] = { 0x2b000, 0 },
424062306a36Sopenharmony_ci	[GCC_PCIE3_LINK_DOWN_BCR] = { 0x2b054, 0 },
424162306a36Sopenharmony_ci	[GCC_PCIE3PHY_PHY_BCR] = { 0x2b05c, 0 },
424262306a36Sopenharmony_ci	[GCC_PCIE3_PHY_BCR] = { 0x2b060, 0 },
424362306a36Sopenharmony_ci	[GCC_PCNOC_BCR] = { 0x31000, 0 },
424462306a36Sopenharmony_ci	[GCC_PCNOC_BUS_TIMEOUT0_BCR] = { 0x31030, 0 },
424562306a36Sopenharmony_ci	[GCC_PCNOC_BUS_TIMEOUT1_BCR] = { 0x31038, 0 },
424662306a36Sopenharmony_ci	[GCC_PCNOC_BUS_TIMEOUT2_BCR] = { 0x31040, 0 },
424762306a36Sopenharmony_ci	[GCC_PCNOC_BUS_TIMEOUT3_BCR] = { 0x31048, 0 },
424862306a36Sopenharmony_ci	[GCC_PCNOC_BUS_TIMEOUT4_BCR] = { 0x31050, 0 },
424962306a36Sopenharmony_ci	[GCC_PCNOC_BUS_TIMEOUT5_BCR] = { 0x31058, 0 },
425062306a36Sopenharmony_ci	[GCC_PCNOC_BUS_TIMEOUT6_BCR] = { 0x31060, 0 },
425162306a36Sopenharmony_ci	[GCC_PCNOC_BUS_TIMEOUT7_BCR] = { 0x31068, 0 },
425262306a36Sopenharmony_ci	[GCC_PCNOC_BUS_TIMEOUT8_BCR] = { 0x31070, 0 },
425362306a36Sopenharmony_ci	[GCC_PCNOC_BUS_TIMEOUT9_BCR] = { 0x31078, 0 },
425462306a36Sopenharmony_ci	[GCC_PCNOC_TBU_BCR] = { 0x12034, 0 },
425562306a36Sopenharmony_ci	[GCC_PRNG_BCR] = { 0x13020, 0 },
425662306a36Sopenharmony_ci	[GCC_Q6SS_DBG_ARES] = { 0x2506c, 4 },
425762306a36Sopenharmony_ci	[GCC_Q6_AHB_ARES] = { 0x2506c, 3 },
425862306a36Sopenharmony_ci	[GCC_Q6_AHB_S_ARES] = { 0x2506c, 2 },
425962306a36Sopenharmony_ci	[GCC_Q6_AXIM2_ARES] = { 0x2506c, 1 },
426062306a36Sopenharmony_ci	[GCC_Q6_AXIM_ARES] = { 0x2506c, 0 },
426162306a36Sopenharmony_ci	[GCC_QDSS_BCR] = { 0x2d000, 0 },
426262306a36Sopenharmony_ci	[GCC_QPIC_BCR] = { 0x32000, 0 },
426362306a36Sopenharmony_ci	[GCC_QPIC_AHB_ARES] = { 0x3201c, 1 },
426462306a36Sopenharmony_ci	[GCC_QPIC_ARES] = { 0x3201c, 0 },
426562306a36Sopenharmony_ci	[GCC_QUSB2_0_PHY_BCR] = { 0x2c068, 0 },
426662306a36Sopenharmony_ci	[GCC_RBCPR_BCR] = { 0x39000, 0 },
426762306a36Sopenharmony_ci	[GCC_RBCPR_MX_BCR] = { 0x39014, 0 },
426862306a36Sopenharmony_ci	[GCC_SDCC_BCR] = { 0x33000, 0 },
426962306a36Sopenharmony_ci	[GCC_SEC_CTRL_BCR] = { 0x1a000, 0 },
427062306a36Sopenharmony_ci	[GCC_SMMU_CFG_BCR] = { 0x1202c, 0 },
427162306a36Sopenharmony_ci	[GCC_SNOC_BCR] = { 0x2e000, 0 },
427262306a36Sopenharmony_ci	[GCC_SPDM_BCR] = { 0x36000, 0 },
427362306a36Sopenharmony_ci	[GCC_TCSR_BCR] = { 0x3d000, 0 },
427462306a36Sopenharmony_ci	[GCC_TLMM_BCR] = { 0x3e000, 0 },
427562306a36Sopenharmony_ci	[GCC_TME_BCR] = { 0x10000, 0 },
427662306a36Sopenharmony_ci	[GCC_UNIPHY0_BCR] = { 0x17044, 0 },
427762306a36Sopenharmony_ci	[GCC_UNIPHY0_SYS_RESET] = { 0x17050, 0 },
427862306a36Sopenharmony_ci	[GCC_UNIPHY0_AHB_RESET] = { 0x17050, 1 },
427962306a36Sopenharmony_ci	[GCC_UNIPHY0_XPCS_RESET] = { 0x17050, 2 },
428062306a36Sopenharmony_ci	[GCC_UNIPHY1_SYS_RESET] = { 0x17060, 0 },
428162306a36Sopenharmony_ci	[GCC_UNIPHY1_AHB_RESET] = { 0x17060, 1 },
428262306a36Sopenharmony_ci	[GCC_UNIPHY1_XPCS_RESET] = { 0x17060, 2 },
428362306a36Sopenharmony_ci	[GCC_UNIPHY2_SYS_RESET] = { 0x17070, 0 },
428462306a36Sopenharmony_ci	[GCC_UNIPHY2_AHB_RESET] = { 0x17070, 1 },
428562306a36Sopenharmony_ci	[GCC_UNIPHY2_XPCS_RESET] = { 0x17070, 2 },
428662306a36Sopenharmony_ci	[GCC_UNIPHY1_BCR] = { 0x17054, 0 },
428762306a36Sopenharmony_ci	[GCC_UNIPHY2_BCR] = { 0x17064, 0 },
428862306a36Sopenharmony_ci	[GCC_USB0_PHY_BCR] = { 0x2c06c, 0 },
428962306a36Sopenharmony_ci	[GCC_USB3PHY_0_PHY_BCR] = { 0x2c070, 0 },
429062306a36Sopenharmony_ci	[GCC_USB_BCR] = { 0x2c000, 0 },
429162306a36Sopenharmony_ci	[GCC_USB_MISC_RESET] = { 0x2c064, 0 },
429262306a36Sopenharmony_ci	[GCC_WCSSAON_RESET] = { 0x25074, 0 },
429362306a36Sopenharmony_ci	[GCC_WCSS_ACMT_ARES] = { 0x25070, 5 },
429462306a36Sopenharmony_ci	[GCC_WCSS_AHB_S_ARES] = { 0x25070, 4 },
429562306a36Sopenharmony_ci	[GCC_WCSS_AXI_M_ARES] = { 0x25070, 3 },
429662306a36Sopenharmony_ci	[GCC_WCSS_BCR] = { 0x18004, 0 },
429762306a36Sopenharmony_ci	[GCC_WCSS_DBG_ARES] = { 0x25070, 2 },
429862306a36Sopenharmony_ci	[GCC_WCSS_DBG_BDG_ARES] = { 0x25070, 1 },
429962306a36Sopenharmony_ci	[GCC_WCSS_ECAHB_ARES] = { 0x25070, 0 },
430062306a36Sopenharmony_ci	[GCC_WCSS_Q6_BCR] = { 0x18000, 0 },
430162306a36Sopenharmony_ci	[GCC_WCSS_Q6_TBU_BCR] = { 0x12054, 0 },
430262306a36Sopenharmony_ci};
430362306a36Sopenharmony_ci
430462306a36Sopenharmony_cistatic const struct of_device_id gcc_ipq9574_match_table[] = {
430562306a36Sopenharmony_ci	{ .compatible = "qcom,ipq9574-gcc" },
430662306a36Sopenharmony_ci	{ }
430762306a36Sopenharmony_ci};
430862306a36Sopenharmony_ciMODULE_DEVICE_TABLE(of, gcc_ipq9574_match_table);
430962306a36Sopenharmony_ci
431062306a36Sopenharmony_cistatic const struct regmap_config gcc_ipq9574_regmap_config = {
431162306a36Sopenharmony_ci	.reg_bits       = 32,
431262306a36Sopenharmony_ci	.reg_stride     = 4,
431362306a36Sopenharmony_ci	.val_bits       = 32,
431462306a36Sopenharmony_ci	.max_register   = 0x7fffc,
431562306a36Sopenharmony_ci	.fast_io	= true,
431662306a36Sopenharmony_ci};
431762306a36Sopenharmony_ci
431862306a36Sopenharmony_cistatic const struct qcom_cc_desc gcc_ipq9574_desc = {
431962306a36Sopenharmony_ci	.config = &gcc_ipq9574_regmap_config,
432062306a36Sopenharmony_ci	.clks = gcc_ipq9574_clks,
432162306a36Sopenharmony_ci	.num_clks = ARRAY_SIZE(gcc_ipq9574_clks),
432262306a36Sopenharmony_ci	.resets = gcc_ipq9574_resets,
432362306a36Sopenharmony_ci	.num_resets = ARRAY_SIZE(gcc_ipq9574_resets),
432462306a36Sopenharmony_ci	.clk_hws = gcc_ipq9574_hws,
432562306a36Sopenharmony_ci	.num_clk_hws = ARRAY_SIZE(gcc_ipq9574_hws),
432662306a36Sopenharmony_ci};
432762306a36Sopenharmony_ci
432862306a36Sopenharmony_cistatic int gcc_ipq9574_probe(struct platform_device *pdev)
432962306a36Sopenharmony_ci{
433062306a36Sopenharmony_ci	return qcom_cc_probe(pdev, &gcc_ipq9574_desc);
433162306a36Sopenharmony_ci}
433262306a36Sopenharmony_ci
433362306a36Sopenharmony_cistatic struct platform_driver gcc_ipq9574_driver = {
433462306a36Sopenharmony_ci	.probe = gcc_ipq9574_probe,
433562306a36Sopenharmony_ci	.driver = {
433662306a36Sopenharmony_ci		.name   = "qcom,gcc-ipq9574",
433762306a36Sopenharmony_ci		.of_match_table = gcc_ipq9574_match_table,
433862306a36Sopenharmony_ci	},
433962306a36Sopenharmony_ci};
434062306a36Sopenharmony_ci
434162306a36Sopenharmony_cistatic int __init gcc_ipq9574_init(void)
434262306a36Sopenharmony_ci{
434362306a36Sopenharmony_ci	return platform_driver_register(&gcc_ipq9574_driver);
434462306a36Sopenharmony_ci}
434562306a36Sopenharmony_cicore_initcall(gcc_ipq9574_init);
434662306a36Sopenharmony_ci
434762306a36Sopenharmony_cistatic void __exit gcc_ipq9574_exit(void)
434862306a36Sopenharmony_ci{
434962306a36Sopenharmony_ci	platform_driver_unregister(&gcc_ipq9574_driver);
435062306a36Sopenharmony_ci}
435162306a36Sopenharmony_cimodule_exit(gcc_ipq9574_exit);
435262306a36Sopenharmony_ci
435362306a36Sopenharmony_ciMODULE_DESCRIPTION("Qualcomm Technologies, Inc. GCC IPQ9574 Driver");
435462306a36Sopenharmony_ciMODULE_LICENSE("GPL");
4355