162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0-only
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * Copyright (c) 2015, The Linux Foundation. All rights reserved.
462306a36Sopenharmony_ci */
562306a36Sopenharmony_ci
662306a36Sopenharmony_ci#include <linux/kernel.h>
762306a36Sopenharmony_ci#include <linux/bitops.h>
862306a36Sopenharmony_ci#include <linux/err.h>
962306a36Sopenharmony_ci#include <linux/platform_device.h>
1062306a36Sopenharmony_ci#include <linux/module.h>
1162306a36Sopenharmony_ci#include <linux/of.h>
1262306a36Sopenharmony_ci#include <linux/clk-provider.h>
1362306a36Sopenharmony_ci#include <linux/regmap.h>
1462306a36Sopenharmony_ci#include <linux/reset-controller.h>
1562306a36Sopenharmony_ci
1662306a36Sopenharmony_ci#include <dt-bindings/clock/qcom,gcc-msm8996.h>
1762306a36Sopenharmony_ci
1862306a36Sopenharmony_ci#include "common.h"
1962306a36Sopenharmony_ci#include "clk-regmap.h"
2062306a36Sopenharmony_ci#include "clk-alpha-pll.h"
2162306a36Sopenharmony_ci#include "clk-rcg.h"
2262306a36Sopenharmony_ci#include "clk-branch.h"
2362306a36Sopenharmony_ci#include "reset.h"
2462306a36Sopenharmony_ci#include "gdsc.h"
2562306a36Sopenharmony_ci
2662306a36Sopenharmony_cienum {
2762306a36Sopenharmony_ci	P_XO,
2862306a36Sopenharmony_ci	P_GPLL0,
2962306a36Sopenharmony_ci	P_GPLL0_EARLY_DIV,
3062306a36Sopenharmony_ci	P_SLEEP_CLK,
3162306a36Sopenharmony_ci	P_GPLL4,
3262306a36Sopenharmony_ci	P_AUD_REF_CLK,
3362306a36Sopenharmony_ci};
3462306a36Sopenharmony_ci
3562306a36Sopenharmony_cistatic struct clk_fixed_factor xo = {
3662306a36Sopenharmony_ci	.mult = 1,
3762306a36Sopenharmony_ci	.div = 1,
3862306a36Sopenharmony_ci	.hw.init = &(struct clk_init_data){
3962306a36Sopenharmony_ci		.name = "xo",
4062306a36Sopenharmony_ci		.parent_data = &(const struct clk_parent_data){
4162306a36Sopenharmony_ci			.fw_name = "cxo", .name = "xo_board",
4262306a36Sopenharmony_ci		},
4362306a36Sopenharmony_ci		.num_parents = 1,
4462306a36Sopenharmony_ci		.ops = &clk_fixed_factor_ops,
4562306a36Sopenharmony_ci	},
4662306a36Sopenharmony_ci};
4762306a36Sopenharmony_ci
4862306a36Sopenharmony_cistatic struct clk_alpha_pll gpll0_early = {
4962306a36Sopenharmony_ci	.offset = 0x00000,
5062306a36Sopenharmony_ci	.regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_DEFAULT],
5162306a36Sopenharmony_ci	.clkr = {
5262306a36Sopenharmony_ci		.enable_reg = 0x52000,
5362306a36Sopenharmony_ci		.enable_mask = BIT(0),
5462306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
5562306a36Sopenharmony_ci			.name = "gpll0_early",
5662306a36Sopenharmony_ci			.parent_data = &(const struct clk_parent_data){
5762306a36Sopenharmony_ci				.fw_name = "cxo", .name = "xo_board",
5862306a36Sopenharmony_ci			},
5962306a36Sopenharmony_ci			.num_parents = 1,
6062306a36Sopenharmony_ci			.ops = &clk_alpha_pll_ops,
6162306a36Sopenharmony_ci		},
6262306a36Sopenharmony_ci	},
6362306a36Sopenharmony_ci};
6462306a36Sopenharmony_ci
6562306a36Sopenharmony_cistatic struct clk_fixed_factor gpll0_early_div = {
6662306a36Sopenharmony_ci	.mult = 1,
6762306a36Sopenharmony_ci	.div = 2,
6862306a36Sopenharmony_ci	.hw.init = &(struct clk_init_data){
6962306a36Sopenharmony_ci		.name = "gpll0_early_div",
7062306a36Sopenharmony_ci		.parent_hws = (const struct clk_hw*[]){
7162306a36Sopenharmony_ci			&gpll0_early.clkr.hw,
7262306a36Sopenharmony_ci		},
7362306a36Sopenharmony_ci		.num_parents = 1,
7462306a36Sopenharmony_ci		.ops = &clk_fixed_factor_ops,
7562306a36Sopenharmony_ci	},
7662306a36Sopenharmony_ci};
7762306a36Sopenharmony_ci
7862306a36Sopenharmony_cistatic struct clk_alpha_pll_postdiv gpll0 = {
7962306a36Sopenharmony_ci	.offset = 0x00000,
8062306a36Sopenharmony_ci	.regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_DEFAULT],
8162306a36Sopenharmony_ci	.clkr.hw.init = &(struct clk_init_data){
8262306a36Sopenharmony_ci		.name = "gpll0",
8362306a36Sopenharmony_ci		.parent_hws = (const struct clk_hw*[]){
8462306a36Sopenharmony_ci			&gpll0_early.clkr.hw,
8562306a36Sopenharmony_ci		},
8662306a36Sopenharmony_ci		.num_parents = 1,
8762306a36Sopenharmony_ci		.ops = &clk_alpha_pll_postdiv_ops,
8862306a36Sopenharmony_ci	},
8962306a36Sopenharmony_ci};
9062306a36Sopenharmony_ci
9162306a36Sopenharmony_cistatic struct clk_branch gcc_mmss_gpll0_div_clk = {
9262306a36Sopenharmony_ci	.halt_check = BRANCH_HALT_DELAY,
9362306a36Sopenharmony_ci	.clkr = {
9462306a36Sopenharmony_ci		.enable_reg = 0x5200c,
9562306a36Sopenharmony_ci		.enable_mask = BIT(0),
9662306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
9762306a36Sopenharmony_ci			.name = "gcc_mmss_gpll0_div_clk",
9862306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw*[]){
9962306a36Sopenharmony_ci				&gpll0.clkr.hw,
10062306a36Sopenharmony_ci			},
10162306a36Sopenharmony_ci			.num_parents = 1,
10262306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
10362306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
10462306a36Sopenharmony_ci		},
10562306a36Sopenharmony_ci	},
10662306a36Sopenharmony_ci};
10762306a36Sopenharmony_ci
10862306a36Sopenharmony_cistatic struct clk_branch gcc_mss_gpll0_div_clk = {
10962306a36Sopenharmony_ci	.halt_check = BRANCH_HALT_DELAY,
11062306a36Sopenharmony_ci	.clkr = {
11162306a36Sopenharmony_ci		.enable_reg = 0x5200c,
11262306a36Sopenharmony_ci		.enable_mask = BIT(2),
11362306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
11462306a36Sopenharmony_ci			.name = "gcc_mss_gpll0_div_clk",
11562306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw*[]){
11662306a36Sopenharmony_ci				&gpll0.clkr.hw,
11762306a36Sopenharmony_ci			},
11862306a36Sopenharmony_ci			.num_parents = 1,
11962306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
12062306a36Sopenharmony_ci			.ops = &clk_branch2_ops
12162306a36Sopenharmony_ci		},
12262306a36Sopenharmony_ci	},
12362306a36Sopenharmony_ci};
12462306a36Sopenharmony_ci
12562306a36Sopenharmony_cistatic struct clk_alpha_pll gpll4_early = {
12662306a36Sopenharmony_ci	.offset = 0x77000,
12762306a36Sopenharmony_ci	.regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_DEFAULT],
12862306a36Sopenharmony_ci	.clkr = {
12962306a36Sopenharmony_ci		.enable_reg = 0x52000,
13062306a36Sopenharmony_ci		.enable_mask = BIT(4),
13162306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
13262306a36Sopenharmony_ci			.name = "gpll4_early",
13362306a36Sopenharmony_ci			.parent_data = &(const struct clk_parent_data){
13462306a36Sopenharmony_ci				.fw_name = "cxo", .name = "xo_board",
13562306a36Sopenharmony_ci			},
13662306a36Sopenharmony_ci			.num_parents = 1,
13762306a36Sopenharmony_ci			.ops = &clk_alpha_pll_ops,
13862306a36Sopenharmony_ci		},
13962306a36Sopenharmony_ci	},
14062306a36Sopenharmony_ci};
14162306a36Sopenharmony_ci
14262306a36Sopenharmony_cistatic struct clk_alpha_pll_postdiv gpll4 = {
14362306a36Sopenharmony_ci	.offset = 0x77000,
14462306a36Sopenharmony_ci	.regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_DEFAULT],
14562306a36Sopenharmony_ci	.clkr.hw.init = &(struct clk_init_data){
14662306a36Sopenharmony_ci		.name = "gpll4",
14762306a36Sopenharmony_ci		.parent_hws = (const struct clk_hw*[]){
14862306a36Sopenharmony_ci			&gpll4_early.clkr.hw,
14962306a36Sopenharmony_ci		},
15062306a36Sopenharmony_ci		.num_parents = 1,
15162306a36Sopenharmony_ci		.ops = &clk_alpha_pll_postdiv_ops,
15262306a36Sopenharmony_ci	},
15362306a36Sopenharmony_ci};
15462306a36Sopenharmony_ci
15562306a36Sopenharmony_cistatic const struct parent_map gcc_sleep_clk_map[] = {
15662306a36Sopenharmony_ci	{ P_SLEEP_CLK, 5 }
15762306a36Sopenharmony_ci};
15862306a36Sopenharmony_ci
15962306a36Sopenharmony_cistatic const struct clk_parent_data gcc_sleep_clk[] = {
16062306a36Sopenharmony_ci	{ .fw_name = "sleep_clk", .name = "sleep_clk" }
16162306a36Sopenharmony_ci};
16262306a36Sopenharmony_ci
16362306a36Sopenharmony_cistatic const struct parent_map gcc_xo_gpll0_map[] = {
16462306a36Sopenharmony_ci	{ P_XO, 0 },
16562306a36Sopenharmony_ci	{ P_GPLL0, 1 }
16662306a36Sopenharmony_ci};
16762306a36Sopenharmony_ci
16862306a36Sopenharmony_cistatic const struct clk_parent_data gcc_xo_gpll0[] = {
16962306a36Sopenharmony_ci	{ .fw_name = "cxo", .name = "xo_board" },
17062306a36Sopenharmony_ci	{ .hw = &gpll0.clkr.hw }
17162306a36Sopenharmony_ci};
17262306a36Sopenharmony_ci
17362306a36Sopenharmony_cistatic const struct parent_map gcc_xo_sleep_clk_map[] = {
17462306a36Sopenharmony_ci	{ P_XO, 0 },
17562306a36Sopenharmony_ci	{ P_SLEEP_CLK, 5 }
17662306a36Sopenharmony_ci};
17762306a36Sopenharmony_ci
17862306a36Sopenharmony_cistatic const struct clk_parent_data gcc_xo_sleep_clk[] = {
17962306a36Sopenharmony_ci	{ .fw_name = "cxo", .name = "xo_board" },
18062306a36Sopenharmony_ci	{ .fw_name = "sleep_clk", .name = "sleep_clk" }
18162306a36Sopenharmony_ci};
18262306a36Sopenharmony_ci
18362306a36Sopenharmony_cistatic const struct parent_map gcc_xo_gpll0_gpll0_early_div_map[] = {
18462306a36Sopenharmony_ci	{ P_XO, 0 },
18562306a36Sopenharmony_ci	{ P_GPLL0, 1 },
18662306a36Sopenharmony_ci	{ P_GPLL0_EARLY_DIV, 6 }
18762306a36Sopenharmony_ci};
18862306a36Sopenharmony_ci
18962306a36Sopenharmony_cistatic const struct clk_parent_data gcc_xo_gpll0_gpll0_early_div[] = {
19062306a36Sopenharmony_ci	{ .fw_name = "cxo", .name = "xo_board" },
19162306a36Sopenharmony_ci	{ .hw = &gpll0.clkr.hw },
19262306a36Sopenharmony_ci	{ .hw = &gpll0_early_div.hw }
19362306a36Sopenharmony_ci};
19462306a36Sopenharmony_ci
19562306a36Sopenharmony_cistatic const struct parent_map gcc_xo_gpll0_gpll4_map[] = {
19662306a36Sopenharmony_ci	{ P_XO, 0 },
19762306a36Sopenharmony_ci	{ P_GPLL0, 1 },
19862306a36Sopenharmony_ci	{ P_GPLL4, 5 }
19962306a36Sopenharmony_ci};
20062306a36Sopenharmony_ci
20162306a36Sopenharmony_cistatic const struct clk_parent_data gcc_xo_gpll0_gpll4[] = {
20262306a36Sopenharmony_ci	{ .fw_name = "cxo", .name = "xo_board" },
20362306a36Sopenharmony_ci	{ .hw = &gpll0.clkr.hw },
20462306a36Sopenharmony_ci	{ .hw = &gpll4.clkr.hw }
20562306a36Sopenharmony_ci};
20662306a36Sopenharmony_ci
20762306a36Sopenharmony_cistatic const struct parent_map gcc_xo_gpll0_aud_ref_clk_map[] = {
20862306a36Sopenharmony_ci	{ P_XO, 0 },
20962306a36Sopenharmony_ci	{ P_GPLL0, 1 },
21062306a36Sopenharmony_ci	{ P_AUD_REF_CLK, 2 }
21162306a36Sopenharmony_ci};
21262306a36Sopenharmony_ci
21362306a36Sopenharmony_cistatic const struct clk_parent_data gcc_xo_gpll0_aud_ref_clk[] = {
21462306a36Sopenharmony_ci	{ .fw_name = "cxo", .name = "xo_board" },
21562306a36Sopenharmony_ci	{ .hw = &gpll0.clkr.hw },
21662306a36Sopenharmony_ci	{ .fw_name = "aud_ref_clk", .name = "aud_ref_clk" }
21762306a36Sopenharmony_ci};
21862306a36Sopenharmony_ci
21962306a36Sopenharmony_cistatic const struct parent_map gcc_xo_gpll0_sleep_clk_gpll0_early_div_map[] = {
22062306a36Sopenharmony_ci	{ P_XO, 0 },
22162306a36Sopenharmony_ci	{ P_GPLL0, 1 },
22262306a36Sopenharmony_ci	{ P_SLEEP_CLK, 5 },
22362306a36Sopenharmony_ci	{ P_GPLL0_EARLY_DIV, 6 }
22462306a36Sopenharmony_ci};
22562306a36Sopenharmony_ci
22662306a36Sopenharmony_cistatic const struct clk_parent_data gcc_xo_gpll0_sleep_clk_gpll0_early_div[] = {
22762306a36Sopenharmony_ci	{ .fw_name = "cxo", .name = "xo_board" },
22862306a36Sopenharmony_ci	{ .hw = &gpll0.clkr.hw },
22962306a36Sopenharmony_ci	{ .fw_name = "sleep_clk", .name = "sleep_clk" },
23062306a36Sopenharmony_ci	{ .hw = &gpll0_early_div.hw }
23162306a36Sopenharmony_ci};
23262306a36Sopenharmony_ci
23362306a36Sopenharmony_cistatic const struct parent_map gcc_xo_gpll0_gpll4_gpll0_early_div_map[] = {
23462306a36Sopenharmony_ci	{ P_XO, 0 },
23562306a36Sopenharmony_ci	{ P_GPLL0, 1 },
23662306a36Sopenharmony_ci	{ P_GPLL4, 5 },
23762306a36Sopenharmony_ci	{ P_GPLL0_EARLY_DIV, 6 }
23862306a36Sopenharmony_ci};
23962306a36Sopenharmony_ci
24062306a36Sopenharmony_cistatic const struct clk_parent_data gcc_xo_gpll0_gpll4_gpll0_early_div[] = {
24162306a36Sopenharmony_ci	{ .fw_name = "cxo", .name = "xo_board" },
24262306a36Sopenharmony_ci	{ .hw = &gpll0.clkr.hw },
24362306a36Sopenharmony_ci	{ .hw = &gpll4.clkr.hw },
24462306a36Sopenharmony_ci	{ .hw = &gpll0_early_div.hw }
24562306a36Sopenharmony_ci};
24662306a36Sopenharmony_ci
24762306a36Sopenharmony_cistatic const struct freq_tbl ftbl_usb30_master_clk_src[] = {
24862306a36Sopenharmony_ci	F(19200000, P_XO, 1, 0, 0),
24962306a36Sopenharmony_ci	F(120000000, P_GPLL0, 5, 0, 0),
25062306a36Sopenharmony_ci	F(150000000, P_GPLL0, 4, 0, 0),
25162306a36Sopenharmony_ci	{ }
25262306a36Sopenharmony_ci};
25362306a36Sopenharmony_ci
25462306a36Sopenharmony_cistatic struct clk_rcg2 usb30_master_clk_src = {
25562306a36Sopenharmony_ci	.cmd_rcgr = 0x0f014,
25662306a36Sopenharmony_ci	.mnd_width = 8,
25762306a36Sopenharmony_ci	.hid_width = 5,
25862306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_gpll0_early_div_map,
25962306a36Sopenharmony_ci	.freq_tbl = ftbl_usb30_master_clk_src,
26062306a36Sopenharmony_ci	.clkr.hw.init = &(struct clk_init_data){
26162306a36Sopenharmony_ci		.name = "usb30_master_clk_src",
26262306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0_gpll0_early_div,
26362306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0_gpll0_early_div),
26462306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
26562306a36Sopenharmony_ci	},
26662306a36Sopenharmony_ci};
26762306a36Sopenharmony_ci
26862306a36Sopenharmony_cistatic const struct freq_tbl ftbl_usb30_mock_utmi_clk_src[] = {
26962306a36Sopenharmony_ci	F(19200000, P_XO, 1, 0, 0),
27062306a36Sopenharmony_ci	{ }
27162306a36Sopenharmony_ci};
27262306a36Sopenharmony_ci
27362306a36Sopenharmony_cistatic struct clk_rcg2 usb30_mock_utmi_clk_src = {
27462306a36Sopenharmony_ci	.cmd_rcgr = 0x0f028,
27562306a36Sopenharmony_ci	.hid_width = 5,
27662306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_gpll0_early_div_map,
27762306a36Sopenharmony_ci	.freq_tbl = ftbl_usb30_mock_utmi_clk_src,
27862306a36Sopenharmony_ci	.clkr.hw.init = &(struct clk_init_data){
27962306a36Sopenharmony_ci		.name = "usb30_mock_utmi_clk_src",
28062306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0_gpll0_early_div,
28162306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0_gpll0_early_div),
28262306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
28362306a36Sopenharmony_ci	},
28462306a36Sopenharmony_ci};
28562306a36Sopenharmony_ci
28662306a36Sopenharmony_cistatic const struct freq_tbl ftbl_usb3_phy_aux_clk_src[] = {
28762306a36Sopenharmony_ci	F(1200000, P_XO, 16, 0, 0),
28862306a36Sopenharmony_ci	{ }
28962306a36Sopenharmony_ci};
29062306a36Sopenharmony_ci
29162306a36Sopenharmony_cistatic struct clk_rcg2 usb3_phy_aux_clk_src = {
29262306a36Sopenharmony_ci	.cmd_rcgr = 0x5000c,
29362306a36Sopenharmony_ci	.hid_width = 5,
29462306a36Sopenharmony_ci	.parent_map = gcc_xo_sleep_clk_map,
29562306a36Sopenharmony_ci	.freq_tbl = ftbl_usb3_phy_aux_clk_src,
29662306a36Sopenharmony_ci	.clkr.hw.init = &(struct clk_init_data){
29762306a36Sopenharmony_ci		.name = "usb3_phy_aux_clk_src",
29862306a36Sopenharmony_ci		.parent_data = gcc_xo_sleep_clk,
29962306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_sleep_clk),
30062306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
30162306a36Sopenharmony_ci	},
30262306a36Sopenharmony_ci};
30362306a36Sopenharmony_ci
30462306a36Sopenharmony_cistatic const struct freq_tbl ftbl_usb20_master_clk_src[] = {
30562306a36Sopenharmony_ci	F(120000000, P_GPLL0, 5, 0, 0),
30662306a36Sopenharmony_ci	{ }
30762306a36Sopenharmony_ci};
30862306a36Sopenharmony_ci
30962306a36Sopenharmony_cistatic struct clk_rcg2 usb20_master_clk_src = {
31062306a36Sopenharmony_ci	.cmd_rcgr = 0x12010,
31162306a36Sopenharmony_ci	.mnd_width = 8,
31262306a36Sopenharmony_ci	.hid_width = 5,
31362306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_gpll0_early_div_map,
31462306a36Sopenharmony_ci	.freq_tbl = ftbl_usb20_master_clk_src,
31562306a36Sopenharmony_ci	.clkr.hw.init = &(struct clk_init_data){
31662306a36Sopenharmony_ci		.name = "usb20_master_clk_src",
31762306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0_gpll0_early_div,
31862306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0_gpll0_early_div),
31962306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
32062306a36Sopenharmony_ci	},
32162306a36Sopenharmony_ci};
32262306a36Sopenharmony_ci
32362306a36Sopenharmony_cistatic struct clk_rcg2 usb20_mock_utmi_clk_src = {
32462306a36Sopenharmony_ci	.cmd_rcgr = 0x12024,
32562306a36Sopenharmony_ci	.hid_width = 5,
32662306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_gpll0_early_div_map,
32762306a36Sopenharmony_ci	.freq_tbl = ftbl_usb30_mock_utmi_clk_src,
32862306a36Sopenharmony_ci	.clkr.hw.init = &(struct clk_init_data){
32962306a36Sopenharmony_ci		.name = "usb20_mock_utmi_clk_src",
33062306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0_gpll0_early_div,
33162306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0_gpll0_early_div),
33262306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
33362306a36Sopenharmony_ci	},
33462306a36Sopenharmony_ci};
33562306a36Sopenharmony_ci
33662306a36Sopenharmony_cistatic const struct freq_tbl ftbl_sdcc1_apps_clk_src[] = {
33762306a36Sopenharmony_ci	F(144000, P_XO, 16, 3, 25),
33862306a36Sopenharmony_ci	F(400000, P_XO, 12, 1, 4),
33962306a36Sopenharmony_ci	F(20000000, P_GPLL0, 15, 1, 2),
34062306a36Sopenharmony_ci	F(25000000, P_GPLL0, 12, 1, 2),
34162306a36Sopenharmony_ci	F(50000000, P_GPLL0, 12, 0, 0),
34262306a36Sopenharmony_ci	F(96000000, P_GPLL4, 4, 0, 0),
34362306a36Sopenharmony_ci	F(192000000, P_GPLL4, 2, 0, 0),
34462306a36Sopenharmony_ci	F(384000000, P_GPLL4, 1, 0, 0),
34562306a36Sopenharmony_ci	{ }
34662306a36Sopenharmony_ci};
34762306a36Sopenharmony_ci
34862306a36Sopenharmony_cistatic struct clk_rcg2 sdcc1_apps_clk_src = {
34962306a36Sopenharmony_ci	.cmd_rcgr = 0x13010,
35062306a36Sopenharmony_ci	.mnd_width = 8,
35162306a36Sopenharmony_ci	.hid_width = 5,
35262306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_gpll4_gpll0_early_div_map,
35362306a36Sopenharmony_ci	.freq_tbl = ftbl_sdcc1_apps_clk_src,
35462306a36Sopenharmony_ci	.clkr.hw.init = &(struct clk_init_data){
35562306a36Sopenharmony_ci		.name = "sdcc1_apps_clk_src",
35662306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0_gpll4_gpll0_early_div,
35762306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0_gpll4_gpll0_early_div),
35862306a36Sopenharmony_ci		.ops = &clk_rcg2_floor_ops,
35962306a36Sopenharmony_ci	},
36062306a36Sopenharmony_ci};
36162306a36Sopenharmony_ci
36262306a36Sopenharmony_cistatic struct freq_tbl ftbl_sdcc1_ice_core_clk_src[] = {
36362306a36Sopenharmony_ci	F(19200000, P_XO, 1, 0, 0),
36462306a36Sopenharmony_ci	F(150000000, P_GPLL0, 4, 0, 0),
36562306a36Sopenharmony_ci	F(300000000, P_GPLL0, 2, 0, 0),
36662306a36Sopenharmony_ci	{ }
36762306a36Sopenharmony_ci};
36862306a36Sopenharmony_ci
36962306a36Sopenharmony_cistatic struct clk_rcg2 sdcc1_ice_core_clk_src = {
37062306a36Sopenharmony_ci	.cmd_rcgr = 0x13024,
37162306a36Sopenharmony_ci	.hid_width = 5,
37262306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_gpll4_gpll0_early_div_map,
37362306a36Sopenharmony_ci	.freq_tbl = ftbl_sdcc1_ice_core_clk_src,
37462306a36Sopenharmony_ci	.clkr.hw.init = &(struct clk_init_data){
37562306a36Sopenharmony_ci		.name = "sdcc1_ice_core_clk_src",
37662306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0_gpll4_gpll0_early_div,
37762306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0_gpll4_gpll0_early_div),
37862306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
37962306a36Sopenharmony_ci	},
38062306a36Sopenharmony_ci};
38162306a36Sopenharmony_ci
38262306a36Sopenharmony_cistatic const struct freq_tbl ftbl_sdcc2_apps_clk_src[] = {
38362306a36Sopenharmony_ci	F(144000, P_XO, 16, 3, 25),
38462306a36Sopenharmony_ci	F(400000, P_XO, 12, 1, 4),
38562306a36Sopenharmony_ci	F(20000000, P_GPLL0, 15, 1, 2),
38662306a36Sopenharmony_ci	F(25000000, P_GPLL0, 12, 1, 2),
38762306a36Sopenharmony_ci	F(50000000, P_GPLL0, 12, 0, 0),
38862306a36Sopenharmony_ci	F(100000000, P_GPLL0, 6, 0, 0),
38962306a36Sopenharmony_ci	F(200000000, P_GPLL0, 3, 0, 0),
39062306a36Sopenharmony_ci	{ }
39162306a36Sopenharmony_ci};
39262306a36Sopenharmony_ci
39362306a36Sopenharmony_cistatic struct clk_rcg2 sdcc2_apps_clk_src = {
39462306a36Sopenharmony_ci	.cmd_rcgr = 0x14010,
39562306a36Sopenharmony_ci	.mnd_width = 8,
39662306a36Sopenharmony_ci	.hid_width = 5,
39762306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_gpll4_map,
39862306a36Sopenharmony_ci	.freq_tbl = ftbl_sdcc2_apps_clk_src,
39962306a36Sopenharmony_ci	.clkr.hw.init = &(struct clk_init_data){
40062306a36Sopenharmony_ci		.name = "sdcc2_apps_clk_src",
40162306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0_gpll4,
40262306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0_gpll4),
40362306a36Sopenharmony_ci		.ops = &clk_rcg2_floor_ops,
40462306a36Sopenharmony_ci	},
40562306a36Sopenharmony_ci};
40662306a36Sopenharmony_ci
40762306a36Sopenharmony_cistatic struct clk_rcg2 sdcc3_apps_clk_src = {
40862306a36Sopenharmony_ci	.cmd_rcgr = 0x15010,
40962306a36Sopenharmony_ci	.mnd_width = 8,
41062306a36Sopenharmony_ci	.hid_width = 5,
41162306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_gpll4_map,
41262306a36Sopenharmony_ci	.freq_tbl = ftbl_sdcc2_apps_clk_src,
41362306a36Sopenharmony_ci	.clkr.hw.init = &(struct clk_init_data){
41462306a36Sopenharmony_ci		.name = "sdcc3_apps_clk_src",
41562306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0_gpll4,
41662306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0_gpll4),
41762306a36Sopenharmony_ci		.ops = &clk_rcg2_floor_ops,
41862306a36Sopenharmony_ci	},
41962306a36Sopenharmony_ci};
42062306a36Sopenharmony_ci
42162306a36Sopenharmony_cistatic const struct freq_tbl ftbl_sdcc4_apps_clk_src[] = {
42262306a36Sopenharmony_ci	F(144000, P_XO, 16, 3, 25),
42362306a36Sopenharmony_ci	F(400000, P_XO, 12, 1, 4),
42462306a36Sopenharmony_ci	F(20000000, P_GPLL0, 15, 1, 2),
42562306a36Sopenharmony_ci	F(25000000, P_GPLL0, 12, 1, 2),
42662306a36Sopenharmony_ci	F(50000000, P_GPLL0, 12, 0, 0),
42762306a36Sopenharmony_ci	F(100000000, P_GPLL0, 6, 0, 0),
42862306a36Sopenharmony_ci	{ }
42962306a36Sopenharmony_ci};
43062306a36Sopenharmony_ci
43162306a36Sopenharmony_cistatic struct clk_rcg2 sdcc4_apps_clk_src = {
43262306a36Sopenharmony_ci	.cmd_rcgr = 0x16010,
43362306a36Sopenharmony_ci	.mnd_width = 8,
43462306a36Sopenharmony_ci	.hid_width = 5,
43562306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_map,
43662306a36Sopenharmony_ci	.freq_tbl = ftbl_sdcc4_apps_clk_src,
43762306a36Sopenharmony_ci	.clkr.hw.init = &(struct clk_init_data){
43862306a36Sopenharmony_ci		.name = "sdcc4_apps_clk_src",
43962306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0,
44062306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0),
44162306a36Sopenharmony_ci		.ops = &clk_rcg2_floor_ops,
44262306a36Sopenharmony_ci	},
44362306a36Sopenharmony_ci};
44462306a36Sopenharmony_ci
44562306a36Sopenharmony_cistatic const struct freq_tbl ftbl_blsp1_qup1_spi_apps_clk_src[] = {
44662306a36Sopenharmony_ci	F(960000, P_XO, 10, 1, 2),
44762306a36Sopenharmony_ci	F(4800000, P_XO, 4, 0, 0),
44862306a36Sopenharmony_ci	F(9600000, P_XO, 2, 0, 0),
44962306a36Sopenharmony_ci	F(15000000, P_GPLL0, 10, 1, 4),
45062306a36Sopenharmony_ci	F(19200000, P_XO, 1, 0, 0),
45162306a36Sopenharmony_ci	F(25000000, P_GPLL0, 12, 1, 2),
45262306a36Sopenharmony_ci	F(50000000, P_GPLL0, 12, 0, 0),
45362306a36Sopenharmony_ci	{ }
45462306a36Sopenharmony_ci};
45562306a36Sopenharmony_ci
45662306a36Sopenharmony_cistatic struct clk_rcg2 blsp1_qup1_spi_apps_clk_src = {
45762306a36Sopenharmony_ci	.cmd_rcgr = 0x1900c,
45862306a36Sopenharmony_ci	.mnd_width = 8,
45962306a36Sopenharmony_ci	.hid_width = 5,
46062306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_map,
46162306a36Sopenharmony_ci	.freq_tbl = ftbl_blsp1_qup1_spi_apps_clk_src,
46262306a36Sopenharmony_ci	.clkr.hw.init = &(struct clk_init_data){
46362306a36Sopenharmony_ci		.name = "blsp1_qup1_spi_apps_clk_src",
46462306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0,
46562306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0),
46662306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
46762306a36Sopenharmony_ci	},
46862306a36Sopenharmony_ci};
46962306a36Sopenharmony_ci
47062306a36Sopenharmony_cistatic const struct freq_tbl ftbl_blsp1_qup1_i2c_apps_clk_src[] = {
47162306a36Sopenharmony_ci	F(19200000, P_XO, 1, 0, 0),
47262306a36Sopenharmony_ci	F(50000000, P_GPLL0, 12, 0, 0),
47362306a36Sopenharmony_ci	{ }
47462306a36Sopenharmony_ci};
47562306a36Sopenharmony_ci
47662306a36Sopenharmony_cistatic struct clk_rcg2 blsp1_qup1_i2c_apps_clk_src = {
47762306a36Sopenharmony_ci	.cmd_rcgr = 0x19020,
47862306a36Sopenharmony_ci	.hid_width = 5,
47962306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_map,
48062306a36Sopenharmony_ci	.freq_tbl = ftbl_blsp1_qup1_i2c_apps_clk_src,
48162306a36Sopenharmony_ci	.clkr.hw.init = &(struct clk_init_data){
48262306a36Sopenharmony_ci		.name = "blsp1_qup1_i2c_apps_clk_src",
48362306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0,
48462306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0),
48562306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
48662306a36Sopenharmony_ci	},
48762306a36Sopenharmony_ci};
48862306a36Sopenharmony_ci
48962306a36Sopenharmony_cistatic const struct freq_tbl ftbl_blsp1_uart1_apps_clk_src[] = {
49062306a36Sopenharmony_ci	F(3686400, P_GPLL0, 1, 96, 15625),
49162306a36Sopenharmony_ci	F(7372800, P_GPLL0, 1, 192, 15625),
49262306a36Sopenharmony_ci	F(14745600, P_GPLL0, 1, 384, 15625),
49362306a36Sopenharmony_ci	F(16000000, P_GPLL0, 5, 2, 15),
49462306a36Sopenharmony_ci	F(19200000, P_XO, 1, 0, 0),
49562306a36Sopenharmony_ci	F(24000000, P_GPLL0, 5, 1, 5),
49662306a36Sopenharmony_ci	F(32000000, P_GPLL0, 1, 4, 75),
49762306a36Sopenharmony_ci	F(40000000, P_GPLL0, 15, 0, 0),
49862306a36Sopenharmony_ci	F(46400000, P_GPLL0, 1, 29, 375),
49962306a36Sopenharmony_ci	F(48000000, P_GPLL0, 12.5, 0, 0),
50062306a36Sopenharmony_ci	F(51200000, P_GPLL0, 1, 32, 375),
50162306a36Sopenharmony_ci	F(56000000, P_GPLL0, 1, 7, 75),
50262306a36Sopenharmony_ci	F(58982400, P_GPLL0, 1, 1536, 15625),
50362306a36Sopenharmony_ci	F(60000000, P_GPLL0, 10, 0, 0),
50462306a36Sopenharmony_ci	F(63157895, P_GPLL0, 9.5, 0, 0),
50562306a36Sopenharmony_ci	{ }
50662306a36Sopenharmony_ci};
50762306a36Sopenharmony_ci
50862306a36Sopenharmony_cistatic struct clk_rcg2 blsp1_uart1_apps_clk_src = {
50962306a36Sopenharmony_ci	.cmd_rcgr = 0x1a00c,
51062306a36Sopenharmony_ci	.mnd_width = 16,
51162306a36Sopenharmony_ci	.hid_width = 5,
51262306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_map,
51362306a36Sopenharmony_ci	.freq_tbl = ftbl_blsp1_uart1_apps_clk_src,
51462306a36Sopenharmony_ci	.clkr.hw.init = &(struct clk_init_data){
51562306a36Sopenharmony_ci		.name = "blsp1_uart1_apps_clk_src",
51662306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0,
51762306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0),
51862306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
51962306a36Sopenharmony_ci	},
52062306a36Sopenharmony_ci};
52162306a36Sopenharmony_ci
52262306a36Sopenharmony_cistatic struct clk_rcg2 blsp1_qup2_spi_apps_clk_src = {
52362306a36Sopenharmony_ci	.cmd_rcgr = 0x1b00c,
52462306a36Sopenharmony_ci	.mnd_width = 8,
52562306a36Sopenharmony_ci	.hid_width = 5,
52662306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_map,
52762306a36Sopenharmony_ci	.freq_tbl = ftbl_blsp1_qup1_spi_apps_clk_src,
52862306a36Sopenharmony_ci	.clkr.hw.init = &(struct clk_init_data){
52962306a36Sopenharmony_ci		.name = "blsp1_qup2_spi_apps_clk_src",
53062306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0,
53162306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0),
53262306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
53362306a36Sopenharmony_ci	},
53462306a36Sopenharmony_ci};
53562306a36Sopenharmony_ci
53662306a36Sopenharmony_cistatic struct clk_rcg2 blsp1_qup2_i2c_apps_clk_src = {
53762306a36Sopenharmony_ci	.cmd_rcgr = 0x1b020,
53862306a36Sopenharmony_ci	.hid_width = 5,
53962306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_map,
54062306a36Sopenharmony_ci	.freq_tbl = ftbl_blsp1_qup1_i2c_apps_clk_src,
54162306a36Sopenharmony_ci	.clkr.hw.init = &(struct clk_init_data){
54262306a36Sopenharmony_ci		.name = "blsp1_qup2_i2c_apps_clk_src",
54362306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0,
54462306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0),
54562306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
54662306a36Sopenharmony_ci	},
54762306a36Sopenharmony_ci};
54862306a36Sopenharmony_ci
54962306a36Sopenharmony_cistatic struct clk_rcg2 blsp1_uart2_apps_clk_src = {
55062306a36Sopenharmony_ci	.cmd_rcgr = 0x1c00c,
55162306a36Sopenharmony_ci	.mnd_width = 16,
55262306a36Sopenharmony_ci	.hid_width = 5,
55362306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_map,
55462306a36Sopenharmony_ci	.freq_tbl = ftbl_blsp1_uart1_apps_clk_src,
55562306a36Sopenharmony_ci	.clkr.hw.init = &(struct clk_init_data){
55662306a36Sopenharmony_ci		.name = "blsp1_uart2_apps_clk_src",
55762306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0,
55862306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0),
55962306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
56062306a36Sopenharmony_ci	},
56162306a36Sopenharmony_ci};
56262306a36Sopenharmony_ci
56362306a36Sopenharmony_cistatic struct clk_rcg2 blsp1_qup3_spi_apps_clk_src = {
56462306a36Sopenharmony_ci	.cmd_rcgr = 0x1d00c,
56562306a36Sopenharmony_ci	.mnd_width = 8,
56662306a36Sopenharmony_ci	.hid_width = 5,
56762306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_map,
56862306a36Sopenharmony_ci	.freq_tbl = ftbl_blsp1_qup1_spi_apps_clk_src,
56962306a36Sopenharmony_ci	.clkr.hw.init = &(struct clk_init_data){
57062306a36Sopenharmony_ci		.name = "blsp1_qup3_spi_apps_clk_src",
57162306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0,
57262306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0),
57362306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
57462306a36Sopenharmony_ci	},
57562306a36Sopenharmony_ci};
57662306a36Sopenharmony_ci
57762306a36Sopenharmony_cistatic struct clk_rcg2 blsp1_qup3_i2c_apps_clk_src = {
57862306a36Sopenharmony_ci	.cmd_rcgr = 0x1d020,
57962306a36Sopenharmony_ci	.hid_width = 5,
58062306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_map,
58162306a36Sopenharmony_ci	.freq_tbl = ftbl_blsp1_qup1_i2c_apps_clk_src,
58262306a36Sopenharmony_ci	.clkr.hw.init = &(struct clk_init_data){
58362306a36Sopenharmony_ci		.name = "blsp1_qup3_i2c_apps_clk_src",
58462306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0,
58562306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0),
58662306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
58762306a36Sopenharmony_ci	},
58862306a36Sopenharmony_ci};
58962306a36Sopenharmony_ci
59062306a36Sopenharmony_cistatic struct clk_rcg2 blsp1_uart3_apps_clk_src = {
59162306a36Sopenharmony_ci	.cmd_rcgr = 0x1e00c,
59262306a36Sopenharmony_ci	.mnd_width = 16,
59362306a36Sopenharmony_ci	.hid_width = 5,
59462306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_map,
59562306a36Sopenharmony_ci	.freq_tbl = ftbl_blsp1_uart1_apps_clk_src,
59662306a36Sopenharmony_ci	.clkr.hw.init = &(struct clk_init_data){
59762306a36Sopenharmony_ci		.name = "blsp1_uart3_apps_clk_src",
59862306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0,
59962306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0),
60062306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
60162306a36Sopenharmony_ci	},
60262306a36Sopenharmony_ci};
60362306a36Sopenharmony_ci
60462306a36Sopenharmony_cistatic struct clk_rcg2 blsp1_qup4_spi_apps_clk_src = {
60562306a36Sopenharmony_ci	.cmd_rcgr = 0x1f00c,
60662306a36Sopenharmony_ci	.mnd_width = 8,
60762306a36Sopenharmony_ci	.hid_width = 5,
60862306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_map,
60962306a36Sopenharmony_ci	.freq_tbl = ftbl_blsp1_qup1_spi_apps_clk_src,
61062306a36Sopenharmony_ci	.clkr.hw.init = &(struct clk_init_data){
61162306a36Sopenharmony_ci		.name = "blsp1_qup4_spi_apps_clk_src",
61262306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0,
61362306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0),
61462306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
61562306a36Sopenharmony_ci	},
61662306a36Sopenharmony_ci};
61762306a36Sopenharmony_ci
61862306a36Sopenharmony_cistatic struct clk_rcg2 blsp1_qup4_i2c_apps_clk_src = {
61962306a36Sopenharmony_ci	.cmd_rcgr = 0x1f020,
62062306a36Sopenharmony_ci	.hid_width = 5,
62162306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_map,
62262306a36Sopenharmony_ci	.freq_tbl = ftbl_blsp1_qup1_i2c_apps_clk_src,
62362306a36Sopenharmony_ci	.clkr.hw.init = &(struct clk_init_data){
62462306a36Sopenharmony_ci		.name = "blsp1_qup4_i2c_apps_clk_src",
62562306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0,
62662306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0),
62762306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
62862306a36Sopenharmony_ci	},
62962306a36Sopenharmony_ci};
63062306a36Sopenharmony_ci
63162306a36Sopenharmony_cistatic struct clk_rcg2 blsp1_uart4_apps_clk_src = {
63262306a36Sopenharmony_ci	.cmd_rcgr = 0x2000c,
63362306a36Sopenharmony_ci	.mnd_width = 16,
63462306a36Sopenharmony_ci	.hid_width = 5,
63562306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_map,
63662306a36Sopenharmony_ci	.freq_tbl = ftbl_blsp1_uart1_apps_clk_src,
63762306a36Sopenharmony_ci	.clkr.hw.init = &(struct clk_init_data){
63862306a36Sopenharmony_ci		.name = "blsp1_uart4_apps_clk_src",
63962306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0,
64062306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0),
64162306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
64262306a36Sopenharmony_ci	},
64362306a36Sopenharmony_ci};
64462306a36Sopenharmony_ci
64562306a36Sopenharmony_cistatic struct clk_rcg2 blsp1_qup5_spi_apps_clk_src = {
64662306a36Sopenharmony_ci	.cmd_rcgr = 0x2100c,
64762306a36Sopenharmony_ci	.mnd_width = 8,
64862306a36Sopenharmony_ci	.hid_width = 5,
64962306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_map,
65062306a36Sopenharmony_ci	.freq_tbl = ftbl_blsp1_qup1_spi_apps_clk_src,
65162306a36Sopenharmony_ci	.clkr.hw.init = &(struct clk_init_data){
65262306a36Sopenharmony_ci		.name = "blsp1_qup5_spi_apps_clk_src",
65362306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0,
65462306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0),
65562306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
65662306a36Sopenharmony_ci	},
65762306a36Sopenharmony_ci};
65862306a36Sopenharmony_ci
65962306a36Sopenharmony_cistatic struct clk_rcg2 blsp1_qup5_i2c_apps_clk_src = {
66062306a36Sopenharmony_ci	.cmd_rcgr = 0x21020,
66162306a36Sopenharmony_ci	.hid_width = 5,
66262306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_map,
66362306a36Sopenharmony_ci	.freq_tbl = ftbl_blsp1_qup1_i2c_apps_clk_src,
66462306a36Sopenharmony_ci	.clkr.hw.init = &(struct clk_init_data){
66562306a36Sopenharmony_ci		.name = "blsp1_qup5_i2c_apps_clk_src",
66662306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0,
66762306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0),
66862306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
66962306a36Sopenharmony_ci	},
67062306a36Sopenharmony_ci};
67162306a36Sopenharmony_ci
67262306a36Sopenharmony_cistatic struct clk_rcg2 blsp1_uart5_apps_clk_src = {
67362306a36Sopenharmony_ci	.cmd_rcgr = 0x2200c,
67462306a36Sopenharmony_ci	.mnd_width = 16,
67562306a36Sopenharmony_ci	.hid_width = 5,
67662306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_map,
67762306a36Sopenharmony_ci	.freq_tbl = ftbl_blsp1_uart1_apps_clk_src,
67862306a36Sopenharmony_ci	.clkr.hw.init = &(struct clk_init_data){
67962306a36Sopenharmony_ci		.name = "blsp1_uart5_apps_clk_src",
68062306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0,
68162306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0),
68262306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
68362306a36Sopenharmony_ci	},
68462306a36Sopenharmony_ci};
68562306a36Sopenharmony_ci
68662306a36Sopenharmony_cistatic struct clk_rcg2 blsp1_qup6_spi_apps_clk_src = {
68762306a36Sopenharmony_ci	.cmd_rcgr = 0x2300c,
68862306a36Sopenharmony_ci	.mnd_width = 8,
68962306a36Sopenharmony_ci	.hid_width = 5,
69062306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_map,
69162306a36Sopenharmony_ci	.freq_tbl = ftbl_blsp1_qup1_spi_apps_clk_src,
69262306a36Sopenharmony_ci	.clkr.hw.init = &(struct clk_init_data){
69362306a36Sopenharmony_ci		.name = "blsp1_qup6_spi_apps_clk_src",
69462306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0,
69562306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0),
69662306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
69762306a36Sopenharmony_ci	},
69862306a36Sopenharmony_ci};
69962306a36Sopenharmony_ci
70062306a36Sopenharmony_cistatic struct clk_rcg2 blsp1_qup6_i2c_apps_clk_src = {
70162306a36Sopenharmony_ci	.cmd_rcgr = 0x23020,
70262306a36Sopenharmony_ci	.hid_width = 5,
70362306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_map,
70462306a36Sopenharmony_ci	.freq_tbl = ftbl_blsp1_qup1_i2c_apps_clk_src,
70562306a36Sopenharmony_ci	.clkr.hw.init = &(struct clk_init_data){
70662306a36Sopenharmony_ci		.name = "blsp1_qup6_i2c_apps_clk_src",
70762306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0,
70862306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0),
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 = 0x2400c,
71562306a36Sopenharmony_ci	.mnd_width = 16,
71662306a36Sopenharmony_ci	.hid_width = 5,
71762306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_map,
71862306a36Sopenharmony_ci	.freq_tbl = ftbl_blsp1_uart1_apps_clk_src,
71962306a36Sopenharmony_ci	.clkr.hw.init = &(struct clk_init_data){
72062306a36Sopenharmony_ci		.name = "blsp1_uart6_apps_clk_src",
72162306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0,
72262306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0),
72362306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
72462306a36Sopenharmony_ci	},
72562306a36Sopenharmony_ci};
72662306a36Sopenharmony_ci
72762306a36Sopenharmony_cistatic struct clk_rcg2 blsp2_qup1_spi_apps_clk_src = {
72862306a36Sopenharmony_ci	.cmd_rcgr = 0x2600c,
72962306a36Sopenharmony_ci	.mnd_width = 8,
73062306a36Sopenharmony_ci	.hid_width = 5,
73162306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_map,
73262306a36Sopenharmony_ci	.freq_tbl = ftbl_blsp1_qup1_spi_apps_clk_src,
73362306a36Sopenharmony_ci	.clkr.hw.init = &(struct clk_init_data){
73462306a36Sopenharmony_ci		.name = "blsp2_qup1_spi_apps_clk_src",
73562306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0,
73662306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0),
73762306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
73862306a36Sopenharmony_ci	},
73962306a36Sopenharmony_ci};
74062306a36Sopenharmony_ci
74162306a36Sopenharmony_cistatic struct clk_rcg2 blsp2_qup1_i2c_apps_clk_src = {
74262306a36Sopenharmony_ci	.cmd_rcgr = 0x26020,
74362306a36Sopenharmony_ci	.hid_width = 5,
74462306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_map,
74562306a36Sopenharmony_ci	.freq_tbl = ftbl_blsp1_qup1_i2c_apps_clk_src,
74662306a36Sopenharmony_ci	.clkr.hw.init = &(struct clk_init_data){
74762306a36Sopenharmony_ci		.name = "blsp2_qup1_i2c_apps_clk_src",
74862306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0,
74962306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0),
75062306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
75162306a36Sopenharmony_ci	},
75262306a36Sopenharmony_ci};
75362306a36Sopenharmony_ci
75462306a36Sopenharmony_cistatic struct clk_rcg2 blsp2_uart1_apps_clk_src = {
75562306a36Sopenharmony_ci	.cmd_rcgr = 0x2700c,
75662306a36Sopenharmony_ci	.mnd_width = 16,
75762306a36Sopenharmony_ci	.hid_width = 5,
75862306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_map,
75962306a36Sopenharmony_ci	.freq_tbl = ftbl_blsp1_uart1_apps_clk_src,
76062306a36Sopenharmony_ci	.clkr.hw.init = &(struct clk_init_data){
76162306a36Sopenharmony_ci		.name = "blsp2_uart1_apps_clk_src",
76262306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0,
76362306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0),
76462306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
76562306a36Sopenharmony_ci	},
76662306a36Sopenharmony_ci};
76762306a36Sopenharmony_ci
76862306a36Sopenharmony_cistatic struct clk_rcg2 blsp2_qup2_spi_apps_clk_src = {
76962306a36Sopenharmony_ci	.cmd_rcgr = 0x2800c,
77062306a36Sopenharmony_ci	.mnd_width = 8,
77162306a36Sopenharmony_ci	.hid_width = 5,
77262306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_map,
77362306a36Sopenharmony_ci	.freq_tbl = ftbl_blsp1_qup1_spi_apps_clk_src,
77462306a36Sopenharmony_ci	.clkr.hw.init = &(struct clk_init_data){
77562306a36Sopenharmony_ci		.name = "blsp2_qup2_spi_apps_clk_src",
77662306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0,
77762306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0),
77862306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
77962306a36Sopenharmony_ci	},
78062306a36Sopenharmony_ci};
78162306a36Sopenharmony_ci
78262306a36Sopenharmony_cistatic struct clk_rcg2 blsp2_qup2_i2c_apps_clk_src = {
78362306a36Sopenharmony_ci	.cmd_rcgr = 0x28020,
78462306a36Sopenharmony_ci	.hid_width = 5,
78562306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_map,
78662306a36Sopenharmony_ci	.freq_tbl = ftbl_blsp1_qup1_i2c_apps_clk_src,
78762306a36Sopenharmony_ci	.clkr.hw.init = &(struct clk_init_data){
78862306a36Sopenharmony_ci		.name = "blsp2_qup2_i2c_apps_clk_src",
78962306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0,
79062306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0),
79162306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
79262306a36Sopenharmony_ci	},
79362306a36Sopenharmony_ci};
79462306a36Sopenharmony_ci
79562306a36Sopenharmony_cistatic struct clk_rcg2 blsp2_uart2_apps_clk_src = {
79662306a36Sopenharmony_ci	.cmd_rcgr = 0x2900c,
79762306a36Sopenharmony_ci	.mnd_width = 16,
79862306a36Sopenharmony_ci	.hid_width = 5,
79962306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_map,
80062306a36Sopenharmony_ci	.freq_tbl = ftbl_blsp1_uart1_apps_clk_src,
80162306a36Sopenharmony_ci	.clkr.hw.init = &(struct clk_init_data){
80262306a36Sopenharmony_ci		.name = "blsp2_uart2_apps_clk_src",
80362306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0,
80462306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0),
80562306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
80662306a36Sopenharmony_ci	},
80762306a36Sopenharmony_ci};
80862306a36Sopenharmony_ci
80962306a36Sopenharmony_cistatic struct clk_rcg2 blsp2_qup3_spi_apps_clk_src = {
81062306a36Sopenharmony_ci	.cmd_rcgr = 0x2a00c,
81162306a36Sopenharmony_ci	.mnd_width = 8,
81262306a36Sopenharmony_ci	.hid_width = 5,
81362306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_map,
81462306a36Sopenharmony_ci	.freq_tbl = ftbl_blsp1_qup1_spi_apps_clk_src,
81562306a36Sopenharmony_ci	.clkr.hw.init = &(struct clk_init_data){
81662306a36Sopenharmony_ci		.name = "blsp2_qup3_spi_apps_clk_src",
81762306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0,
81862306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0),
81962306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
82062306a36Sopenharmony_ci	},
82162306a36Sopenharmony_ci};
82262306a36Sopenharmony_ci
82362306a36Sopenharmony_cistatic struct clk_rcg2 blsp2_qup3_i2c_apps_clk_src = {
82462306a36Sopenharmony_ci	.cmd_rcgr = 0x2a020,
82562306a36Sopenharmony_ci	.hid_width = 5,
82662306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_map,
82762306a36Sopenharmony_ci	.freq_tbl = ftbl_blsp1_qup1_i2c_apps_clk_src,
82862306a36Sopenharmony_ci	.clkr.hw.init = &(struct clk_init_data){
82962306a36Sopenharmony_ci		.name = "blsp2_qup3_i2c_apps_clk_src",
83062306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0,
83162306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0),
83262306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
83362306a36Sopenharmony_ci	},
83462306a36Sopenharmony_ci};
83562306a36Sopenharmony_ci
83662306a36Sopenharmony_cistatic struct clk_rcg2 blsp2_uart3_apps_clk_src = {
83762306a36Sopenharmony_ci	.cmd_rcgr = 0x2b00c,
83862306a36Sopenharmony_ci	.mnd_width = 16,
83962306a36Sopenharmony_ci	.hid_width = 5,
84062306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_map,
84162306a36Sopenharmony_ci	.freq_tbl = ftbl_blsp1_uart1_apps_clk_src,
84262306a36Sopenharmony_ci	.clkr.hw.init = &(struct clk_init_data){
84362306a36Sopenharmony_ci		.name = "blsp2_uart3_apps_clk_src",
84462306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0,
84562306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0),
84662306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
84762306a36Sopenharmony_ci	},
84862306a36Sopenharmony_ci};
84962306a36Sopenharmony_ci
85062306a36Sopenharmony_cistatic struct clk_rcg2 blsp2_qup4_spi_apps_clk_src = {
85162306a36Sopenharmony_ci	.cmd_rcgr = 0x2c00c,
85262306a36Sopenharmony_ci	.mnd_width = 8,
85362306a36Sopenharmony_ci	.hid_width = 5,
85462306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_map,
85562306a36Sopenharmony_ci	.freq_tbl = ftbl_blsp1_qup1_spi_apps_clk_src,
85662306a36Sopenharmony_ci	.clkr.hw.init = &(struct clk_init_data){
85762306a36Sopenharmony_ci		.name = "blsp2_qup4_spi_apps_clk_src",
85862306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0,
85962306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0),
86062306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
86162306a36Sopenharmony_ci	},
86262306a36Sopenharmony_ci};
86362306a36Sopenharmony_ci
86462306a36Sopenharmony_cistatic struct clk_rcg2 blsp2_qup4_i2c_apps_clk_src = {
86562306a36Sopenharmony_ci	.cmd_rcgr = 0x2c020,
86662306a36Sopenharmony_ci	.hid_width = 5,
86762306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_map,
86862306a36Sopenharmony_ci	.freq_tbl = ftbl_blsp1_qup1_i2c_apps_clk_src,
86962306a36Sopenharmony_ci	.clkr.hw.init = &(struct clk_init_data){
87062306a36Sopenharmony_ci		.name = "blsp2_qup4_i2c_apps_clk_src",
87162306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0,
87262306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0),
87362306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
87462306a36Sopenharmony_ci	},
87562306a36Sopenharmony_ci};
87662306a36Sopenharmony_ci
87762306a36Sopenharmony_cistatic struct clk_rcg2 blsp2_uart4_apps_clk_src = {
87862306a36Sopenharmony_ci	.cmd_rcgr = 0x2d00c,
87962306a36Sopenharmony_ci	.mnd_width = 16,
88062306a36Sopenharmony_ci	.hid_width = 5,
88162306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_map,
88262306a36Sopenharmony_ci	.freq_tbl = ftbl_blsp1_uart1_apps_clk_src,
88362306a36Sopenharmony_ci	.clkr.hw.init = &(struct clk_init_data){
88462306a36Sopenharmony_ci		.name = "blsp2_uart4_apps_clk_src",
88562306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0,
88662306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0),
88762306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
88862306a36Sopenharmony_ci	},
88962306a36Sopenharmony_ci};
89062306a36Sopenharmony_ci
89162306a36Sopenharmony_cistatic struct clk_rcg2 blsp2_qup5_spi_apps_clk_src = {
89262306a36Sopenharmony_ci	.cmd_rcgr = 0x2e00c,
89362306a36Sopenharmony_ci	.mnd_width = 8,
89462306a36Sopenharmony_ci	.hid_width = 5,
89562306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_map,
89662306a36Sopenharmony_ci	.freq_tbl = ftbl_blsp1_qup1_spi_apps_clk_src,
89762306a36Sopenharmony_ci	.clkr.hw.init = &(struct clk_init_data){
89862306a36Sopenharmony_ci		.name = "blsp2_qup5_spi_apps_clk_src",
89962306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0,
90062306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0),
90162306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
90262306a36Sopenharmony_ci	},
90362306a36Sopenharmony_ci};
90462306a36Sopenharmony_ci
90562306a36Sopenharmony_cistatic struct clk_rcg2 blsp2_qup5_i2c_apps_clk_src = {
90662306a36Sopenharmony_ci	.cmd_rcgr = 0x2e020,
90762306a36Sopenharmony_ci	.hid_width = 5,
90862306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_map,
90962306a36Sopenharmony_ci	.freq_tbl = ftbl_blsp1_qup1_i2c_apps_clk_src,
91062306a36Sopenharmony_ci	.clkr.hw.init = &(struct clk_init_data){
91162306a36Sopenharmony_ci		.name = "blsp2_qup5_i2c_apps_clk_src",
91262306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0,
91362306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0),
91462306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
91562306a36Sopenharmony_ci	},
91662306a36Sopenharmony_ci};
91762306a36Sopenharmony_ci
91862306a36Sopenharmony_cistatic struct clk_rcg2 blsp2_uart5_apps_clk_src = {
91962306a36Sopenharmony_ci	.cmd_rcgr = 0x2f00c,
92062306a36Sopenharmony_ci	.mnd_width = 16,
92162306a36Sopenharmony_ci	.hid_width = 5,
92262306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_map,
92362306a36Sopenharmony_ci	.freq_tbl = ftbl_blsp1_uart1_apps_clk_src,
92462306a36Sopenharmony_ci	.clkr.hw.init = &(struct clk_init_data){
92562306a36Sopenharmony_ci		.name = "blsp2_uart5_apps_clk_src",
92662306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0,
92762306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0),
92862306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
92962306a36Sopenharmony_ci	},
93062306a36Sopenharmony_ci};
93162306a36Sopenharmony_ci
93262306a36Sopenharmony_cistatic struct clk_rcg2 blsp2_qup6_spi_apps_clk_src = {
93362306a36Sopenharmony_ci	.cmd_rcgr = 0x3000c,
93462306a36Sopenharmony_ci	.mnd_width = 8,
93562306a36Sopenharmony_ci	.hid_width = 5,
93662306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_map,
93762306a36Sopenharmony_ci	.freq_tbl = ftbl_blsp1_qup1_spi_apps_clk_src,
93862306a36Sopenharmony_ci	.clkr.hw.init = &(struct clk_init_data){
93962306a36Sopenharmony_ci		.name = "blsp2_qup6_spi_apps_clk_src",
94062306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0,
94162306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0),
94262306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
94362306a36Sopenharmony_ci	},
94462306a36Sopenharmony_ci};
94562306a36Sopenharmony_ci
94662306a36Sopenharmony_cistatic struct clk_rcg2 blsp2_qup6_i2c_apps_clk_src = {
94762306a36Sopenharmony_ci	.cmd_rcgr = 0x30020,
94862306a36Sopenharmony_ci	.hid_width = 5,
94962306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_map,
95062306a36Sopenharmony_ci	.freq_tbl = ftbl_blsp1_qup1_i2c_apps_clk_src,
95162306a36Sopenharmony_ci	.clkr.hw.init = &(struct clk_init_data){
95262306a36Sopenharmony_ci		.name = "blsp2_qup6_i2c_apps_clk_src",
95362306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0,
95462306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0),
95562306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
95662306a36Sopenharmony_ci	},
95762306a36Sopenharmony_ci};
95862306a36Sopenharmony_ci
95962306a36Sopenharmony_cistatic struct clk_rcg2 blsp2_uart6_apps_clk_src = {
96062306a36Sopenharmony_ci	.cmd_rcgr = 0x3100c,
96162306a36Sopenharmony_ci	.mnd_width = 16,
96262306a36Sopenharmony_ci	.hid_width = 5,
96362306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_map,
96462306a36Sopenharmony_ci	.freq_tbl = ftbl_blsp1_uart1_apps_clk_src,
96562306a36Sopenharmony_ci	.clkr.hw.init = &(struct clk_init_data){
96662306a36Sopenharmony_ci		.name = "blsp2_uart6_apps_clk_src",
96762306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0,
96862306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0),
96962306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
97062306a36Sopenharmony_ci	},
97162306a36Sopenharmony_ci};
97262306a36Sopenharmony_ci
97362306a36Sopenharmony_cistatic const struct freq_tbl ftbl_pdm2_clk_src[] = {
97462306a36Sopenharmony_ci	F(60000000, P_GPLL0, 10, 0, 0),
97562306a36Sopenharmony_ci	{ }
97662306a36Sopenharmony_ci};
97762306a36Sopenharmony_ci
97862306a36Sopenharmony_cistatic struct clk_rcg2 pdm2_clk_src = {
97962306a36Sopenharmony_ci	.cmd_rcgr = 0x33010,
98062306a36Sopenharmony_ci	.hid_width = 5,
98162306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_map,
98262306a36Sopenharmony_ci	.freq_tbl = ftbl_pdm2_clk_src,
98362306a36Sopenharmony_ci	.clkr.hw.init = &(struct clk_init_data){
98462306a36Sopenharmony_ci		.name = "pdm2_clk_src",
98562306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0,
98662306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0),
98762306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
98862306a36Sopenharmony_ci	},
98962306a36Sopenharmony_ci};
99062306a36Sopenharmony_ci
99162306a36Sopenharmony_cistatic const struct freq_tbl ftbl_tsif_ref_clk_src[] = {
99262306a36Sopenharmony_ci	F(105495, P_XO, 1, 1, 182),
99362306a36Sopenharmony_ci	{ }
99462306a36Sopenharmony_ci};
99562306a36Sopenharmony_ci
99662306a36Sopenharmony_cistatic struct clk_rcg2 tsif_ref_clk_src = {
99762306a36Sopenharmony_ci	.cmd_rcgr = 0x36010,
99862306a36Sopenharmony_ci	.mnd_width = 8,
99962306a36Sopenharmony_ci	.hid_width = 5,
100062306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_aud_ref_clk_map,
100162306a36Sopenharmony_ci	.freq_tbl = ftbl_tsif_ref_clk_src,
100262306a36Sopenharmony_ci	.clkr.hw.init = &(struct clk_init_data){
100362306a36Sopenharmony_ci		.name = "tsif_ref_clk_src",
100462306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0_aud_ref_clk,
100562306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0_aud_ref_clk),
100662306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
100762306a36Sopenharmony_ci	},
100862306a36Sopenharmony_ci};
100962306a36Sopenharmony_ci
101062306a36Sopenharmony_cistatic struct clk_rcg2 gcc_sleep_clk_src = {
101162306a36Sopenharmony_ci	.cmd_rcgr = 0x43014,
101262306a36Sopenharmony_ci	.hid_width = 5,
101362306a36Sopenharmony_ci	.parent_map = gcc_sleep_clk_map,
101462306a36Sopenharmony_ci	.clkr.hw.init = &(struct clk_init_data){
101562306a36Sopenharmony_ci		.name = "gcc_sleep_clk_src",
101662306a36Sopenharmony_ci		.parent_data = gcc_sleep_clk,
101762306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_sleep_clk),
101862306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
101962306a36Sopenharmony_ci	},
102062306a36Sopenharmony_ci};
102162306a36Sopenharmony_ci
102262306a36Sopenharmony_cistatic struct clk_rcg2 hmss_rbcpr_clk_src = {
102362306a36Sopenharmony_ci	.cmd_rcgr = 0x48040,
102462306a36Sopenharmony_ci	.hid_width = 5,
102562306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_map,
102662306a36Sopenharmony_ci	.freq_tbl = ftbl_usb30_mock_utmi_clk_src,
102762306a36Sopenharmony_ci	.clkr.hw.init = &(struct clk_init_data){
102862306a36Sopenharmony_ci		.name = "hmss_rbcpr_clk_src",
102962306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0,
103062306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0),
103162306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
103262306a36Sopenharmony_ci	},
103362306a36Sopenharmony_ci};
103462306a36Sopenharmony_ci
103562306a36Sopenharmony_cistatic struct clk_rcg2 hmss_gpll0_clk_src = {
103662306a36Sopenharmony_ci	.cmd_rcgr = 0x48058,
103762306a36Sopenharmony_ci	.hid_width = 5,
103862306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_map,
103962306a36Sopenharmony_ci	.clkr.hw.init = &(struct clk_init_data){
104062306a36Sopenharmony_ci		.name = "hmss_gpll0_clk_src",
104162306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0,
104262306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0),
104362306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
104462306a36Sopenharmony_ci	},
104562306a36Sopenharmony_ci};
104662306a36Sopenharmony_ci
104762306a36Sopenharmony_cistatic const struct freq_tbl ftbl_gp1_clk_src[] = {
104862306a36Sopenharmony_ci	F(19200000, P_XO, 1, 0, 0),
104962306a36Sopenharmony_ci	F(100000000, P_GPLL0, 6, 0, 0),
105062306a36Sopenharmony_ci	F(200000000, P_GPLL0, 3, 0, 0),
105162306a36Sopenharmony_ci	{ }
105262306a36Sopenharmony_ci};
105362306a36Sopenharmony_ci
105462306a36Sopenharmony_cistatic struct clk_rcg2 gp1_clk_src = {
105562306a36Sopenharmony_ci	.cmd_rcgr = 0x64004,
105662306a36Sopenharmony_ci	.mnd_width = 8,
105762306a36Sopenharmony_ci	.hid_width = 5,
105862306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_sleep_clk_gpll0_early_div_map,
105962306a36Sopenharmony_ci	.freq_tbl = ftbl_gp1_clk_src,
106062306a36Sopenharmony_ci	.clkr.hw.init = &(struct clk_init_data){
106162306a36Sopenharmony_ci		.name = "gp1_clk_src",
106262306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0_sleep_clk_gpll0_early_div,
106362306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0_sleep_clk_gpll0_early_div),
106462306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
106562306a36Sopenharmony_ci	},
106662306a36Sopenharmony_ci};
106762306a36Sopenharmony_ci
106862306a36Sopenharmony_cistatic struct clk_rcg2 gp2_clk_src = {
106962306a36Sopenharmony_ci	.cmd_rcgr = 0x65004,
107062306a36Sopenharmony_ci	.mnd_width = 8,
107162306a36Sopenharmony_ci	.hid_width = 5,
107262306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_sleep_clk_gpll0_early_div_map,
107362306a36Sopenharmony_ci	.freq_tbl = ftbl_gp1_clk_src,
107462306a36Sopenharmony_ci	.clkr.hw.init = &(struct clk_init_data){
107562306a36Sopenharmony_ci		.name = "gp2_clk_src",
107662306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0_sleep_clk_gpll0_early_div,
107762306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0_sleep_clk_gpll0_early_div),
107862306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
107962306a36Sopenharmony_ci	},
108062306a36Sopenharmony_ci};
108162306a36Sopenharmony_ci
108262306a36Sopenharmony_cistatic struct clk_rcg2 gp3_clk_src = {
108362306a36Sopenharmony_ci	.cmd_rcgr = 0x66004,
108462306a36Sopenharmony_ci	.mnd_width = 8,
108562306a36Sopenharmony_ci	.hid_width = 5,
108662306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_sleep_clk_gpll0_early_div_map,
108762306a36Sopenharmony_ci	.freq_tbl = ftbl_gp1_clk_src,
108862306a36Sopenharmony_ci	.clkr.hw.init = &(struct clk_init_data){
108962306a36Sopenharmony_ci		.name = "gp3_clk_src",
109062306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0_sleep_clk_gpll0_early_div,
109162306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0_sleep_clk_gpll0_early_div),
109262306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
109362306a36Sopenharmony_ci	},
109462306a36Sopenharmony_ci};
109562306a36Sopenharmony_ci
109662306a36Sopenharmony_cistatic const struct freq_tbl ftbl_pcie_aux_clk_src[] = {
109762306a36Sopenharmony_ci	F(1010526, P_XO, 1, 1, 19),
109862306a36Sopenharmony_ci	{ }
109962306a36Sopenharmony_ci};
110062306a36Sopenharmony_ci
110162306a36Sopenharmony_cistatic struct clk_rcg2 pcie_aux_clk_src = {
110262306a36Sopenharmony_ci	.cmd_rcgr = 0x6c000,
110362306a36Sopenharmony_ci	.mnd_width = 16,
110462306a36Sopenharmony_ci	.hid_width = 5,
110562306a36Sopenharmony_ci	.parent_map = gcc_xo_sleep_clk_map,
110662306a36Sopenharmony_ci	.freq_tbl = ftbl_pcie_aux_clk_src,
110762306a36Sopenharmony_ci	.clkr.hw.init = &(struct clk_init_data){
110862306a36Sopenharmony_ci		.name = "pcie_aux_clk_src",
110962306a36Sopenharmony_ci		.parent_data = gcc_xo_sleep_clk,
111062306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_sleep_clk),
111162306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
111262306a36Sopenharmony_ci	},
111362306a36Sopenharmony_ci};
111462306a36Sopenharmony_ci
111562306a36Sopenharmony_cistatic const struct freq_tbl ftbl_ufs_axi_clk_src[] = {
111662306a36Sopenharmony_ci	F(100000000, P_GPLL0, 6, 0, 0),
111762306a36Sopenharmony_ci	F(200000000, P_GPLL0, 3, 0, 0),
111862306a36Sopenharmony_ci	F(240000000, P_GPLL0, 2.5, 0, 0),
111962306a36Sopenharmony_ci	{ }
112062306a36Sopenharmony_ci};
112162306a36Sopenharmony_ci
112262306a36Sopenharmony_cistatic struct clk_rcg2 ufs_axi_clk_src = {
112362306a36Sopenharmony_ci	.cmd_rcgr = 0x75024,
112462306a36Sopenharmony_ci	.mnd_width = 8,
112562306a36Sopenharmony_ci	.hid_width = 5,
112662306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_map,
112762306a36Sopenharmony_ci	.freq_tbl = ftbl_ufs_axi_clk_src,
112862306a36Sopenharmony_ci	.clkr.hw.init = &(struct clk_init_data){
112962306a36Sopenharmony_ci		.name = "ufs_axi_clk_src",
113062306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0,
113162306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0),
113262306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
113362306a36Sopenharmony_ci	},
113462306a36Sopenharmony_ci};
113562306a36Sopenharmony_ci
113662306a36Sopenharmony_cistatic const struct freq_tbl ftbl_ufs_ice_core_clk_src[] = {
113762306a36Sopenharmony_ci	F(19200000, P_XO, 1, 0, 0),
113862306a36Sopenharmony_ci	F(150000000, P_GPLL0, 4, 0, 0),
113962306a36Sopenharmony_ci	F(300000000, P_GPLL0, 2, 0, 0),
114062306a36Sopenharmony_ci	{ }
114162306a36Sopenharmony_ci};
114262306a36Sopenharmony_ci
114362306a36Sopenharmony_cistatic struct clk_rcg2 ufs_ice_core_clk_src = {
114462306a36Sopenharmony_ci	.cmd_rcgr = 0x76014,
114562306a36Sopenharmony_ci	.hid_width = 5,
114662306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_map,
114762306a36Sopenharmony_ci	.freq_tbl = ftbl_ufs_ice_core_clk_src,
114862306a36Sopenharmony_ci	.clkr.hw.init = &(struct clk_init_data){
114962306a36Sopenharmony_ci		.name = "ufs_ice_core_clk_src",
115062306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0,
115162306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0),
115262306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
115362306a36Sopenharmony_ci	},
115462306a36Sopenharmony_ci};
115562306a36Sopenharmony_ci
115662306a36Sopenharmony_cistatic const struct freq_tbl ftbl_qspi_ser_clk_src[] = {
115762306a36Sopenharmony_ci	F(75000000, P_GPLL0, 8, 0, 0),
115862306a36Sopenharmony_ci	F(150000000, P_GPLL0, 4, 0, 0),
115962306a36Sopenharmony_ci	F(256000000, P_GPLL4, 1.5, 0, 0),
116062306a36Sopenharmony_ci	F(300000000, P_GPLL0, 2, 0, 0),
116162306a36Sopenharmony_ci	{ }
116262306a36Sopenharmony_ci};
116362306a36Sopenharmony_ci
116462306a36Sopenharmony_cistatic struct clk_rcg2 qspi_ser_clk_src = {
116562306a36Sopenharmony_ci	.cmd_rcgr = 0x8b00c,
116662306a36Sopenharmony_ci	.hid_width = 5,
116762306a36Sopenharmony_ci	.parent_map = gcc_xo_gpll0_gpll4_gpll0_early_div_map,
116862306a36Sopenharmony_ci	.freq_tbl = ftbl_qspi_ser_clk_src,
116962306a36Sopenharmony_ci	.clkr.hw.init = &(struct clk_init_data){
117062306a36Sopenharmony_ci		.name = "qspi_ser_clk_src",
117162306a36Sopenharmony_ci		.parent_data = gcc_xo_gpll0_gpll4_gpll0_early_div,
117262306a36Sopenharmony_ci		.num_parents = ARRAY_SIZE(gcc_xo_gpll0_gpll4_gpll0_early_div),
117362306a36Sopenharmony_ci		.ops = &clk_rcg2_ops,
117462306a36Sopenharmony_ci	},
117562306a36Sopenharmony_ci};
117662306a36Sopenharmony_ci
117762306a36Sopenharmony_cistatic struct clk_branch gcc_sys_noc_usb3_axi_clk = {
117862306a36Sopenharmony_ci	.halt_reg = 0x0f03c,
117962306a36Sopenharmony_ci	.clkr = {
118062306a36Sopenharmony_ci		.enable_reg = 0x0f03c,
118162306a36Sopenharmony_ci		.enable_mask = BIT(0),
118262306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
118362306a36Sopenharmony_ci			.name = "gcc_sys_noc_usb3_axi_clk",
118462306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw*[]){
118562306a36Sopenharmony_ci				&usb30_master_clk_src.clkr.hw,
118662306a36Sopenharmony_ci			},
118762306a36Sopenharmony_ci			.num_parents = 1,
118862306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
118962306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
119062306a36Sopenharmony_ci		},
119162306a36Sopenharmony_ci	},
119262306a36Sopenharmony_ci};
119362306a36Sopenharmony_ci
119462306a36Sopenharmony_cistatic struct clk_branch gcc_sys_noc_ufs_axi_clk = {
119562306a36Sopenharmony_ci	.halt_reg = 0x75038,
119662306a36Sopenharmony_ci	.clkr = {
119762306a36Sopenharmony_ci		.enable_reg = 0x75038,
119862306a36Sopenharmony_ci		.enable_mask = BIT(0),
119962306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
120062306a36Sopenharmony_ci			.name = "gcc_sys_noc_ufs_axi_clk",
120162306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw*[]){
120262306a36Sopenharmony_ci				&ufs_axi_clk_src.clkr.hw,
120362306a36Sopenharmony_ci			},
120462306a36Sopenharmony_ci			.num_parents = 1,
120562306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
120662306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
120762306a36Sopenharmony_ci		},
120862306a36Sopenharmony_ci	},
120962306a36Sopenharmony_ci};
121062306a36Sopenharmony_ci
121162306a36Sopenharmony_cistatic struct clk_branch gcc_periph_noc_usb20_ahb_clk = {
121262306a36Sopenharmony_ci	.halt_reg = 0x6010,
121362306a36Sopenharmony_ci	.clkr = {
121462306a36Sopenharmony_ci		.enable_reg = 0x6010,
121562306a36Sopenharmony_ci		.enable_mask = BIT(0),
121662306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
121762306a36Sopenharmony_ci			.name = "gcc_periph_noc_usb20_ahb_clk",
121862306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw*[]){
121962306a36Sopenharmony_ci				&usb20_master_clk_src.clkr.hw,
122062306a36Sopenharmony_ci			},
122162306a36Sopenharmony_ci			.num_parents = 1,
122262306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
122362306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
122462306a36Sopenharmony_ci		},
122562306a36Sopenharmony_ci	},
122662306a36Sopenharmony_ci};
122762306a36Sopenharmony_ci
122862306a36Sopenharmony_cistatic struct clk_branch gcc_mmss_noc_cfg_ahb_clk = {
122962306a36Sopenharmony_ci	.halt_reg = 0x9008,
123062306a36Sopenharmony_ci	.clkr = {
123162306a36Sopenharmony_ci		.enable_reg = 0x9008,
123262306a36Sopenharmony_ci		.enable_mask = BIT(0),
123362306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
123462306a36Sopenharmony_ci			.name = "gcc_mmss_noc_cfg_ahb_clk",
123562306a36Sopenharmony_ci			.flags = CLK_IGNORE_UNUSED,
123662306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
123762306a36Sopenharmony_ci		},
123862306a36Sopenharmony_ci	},
123962306a36Sopenharmony_ci};
124062306a36Sopenharmony_ci
124162306a36Sopenharmony_cistatic struct clk_branch gcc_mmss_bimc_gfx_clk = {
124262306a36Sopenharmony_ci	.halt_reg = 0x9010,
124362306a36Sopenharmony_ci	.clkr = {
124462306a36Sopenharmony_ci		.enable_reg = 0x9010,
124562306a36Sopenharmony_ci		.enable_mask = BIT(0),
124662306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
124762306a36Sopenharmony_ci			.name = "gcc_mmss_bimc_gfx_clk",
124862306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
124962306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
125062306a36Sopenharmony_ci		},
125162306a36Sopenharmony_ci	},
125262306a36Sopenharmony_ci};
125362306a36Sopenharmony_ci
125462306a36Sopenharmony_cistatic struct clk_branch gcc_usb30_master_clk = {
125562306a36Sopenharmony_ci	.halt_reg = 0x0f008,
125662306a36Sopenharmony_ci	.clkr = {
125762306a36Sopenharmony_ci		.enable_reg = 0x0f008,
125862306a36Sopenharmony_ci		.enable_mask = BIT(0),
125962306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
126062306a36Sopenharmony_ci			.name = "gcc_usb30_master_clk",
126162306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw*[]){
126262306a36Sopenharmony_ci				&usb30_master_clk_src.clkr.hw,
126362306a36Sopenharmony_ci			},
126462306a36Sopenharmony_ci			.num_parents = 1,
126562306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
126662306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
126762306a36Sopenharmony_ci		},
126862306a36Sopenharmony_ci	},
126962306a36Sopenharmony_ci};
127062306a36Sopenharmony_ci
127162306a36Sopenharmony_cistatic struct clk_branch gcc_usb30_sleep_clk = {
127262306a36Sopenharmony_ci	.halt_reg = 0x0f00c,
127362306a36Sopenharmony_ci	.clkr = {
127462306a36Sopenharmony_ci		.enable_reg = 0x0f00c,
127562306a36Sopenharmony_ci		.enable_mask = BIT(0),
127662306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
127762306a36Sopenharmony_ci			.name = "gcc_usb30_sleep_clk",
127862306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw*[]){
127962306a36Sopenharmony_ci				&gcc_sleep_clk_src.clkr.hw,
128062306a36Sopenharmony_ci			},
128162306a36Sopenharmony_ci			.num_parents = 1,
128262306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
128362306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
128462306a36Sopenharmony_ci		},
128562306a36Sopenharmony_ci	},
128662306a36Sopenharmony_ci};
128762306a36Sopenharmony_ci
128862306a36Sopenharmony_cistatic struct clk_branch gcc_usb30_mock_utmi_clk = {
128962306a36Sopenharmony_ci	.halt_reg = 0x0f010,
129062306a36Sopenharmony_ci	.clkr = {
129162306a36Sopenharmony_ci		.enable_reg = 0x0f010,
129262306a36Sopenharmony_ci		.enable_mask = BIT(0),
129362306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
129462306a36Sopenharmony_ci			.name = "gcc_usb30_mock_utmi_clk",
129562306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw*[]){
129662306a36Sopenharmony_ci				&usb30_mock_utmi_clk_src.clkr.hw,
129762306a36Sopenharmony_ci			},
129862306a36Sopenharmony_ci			.num_parents = 1,
129962306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
130062306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
130162306a36Sopenharmony_ci		},
130262306a36Sopenharmony_ci	},
130362306a36Sopenharmony_ci};
130462306a36Sopenharmony_ci
130562306a36Sopenharmony_cistatic struct clk_branch gcc_usb3_phy_aux_clk = {
130662306a36Sopenharmony_ci	.halt_reg = 0x50000,
130762306a36Sopenharmony_ci	.clkr = {
130862306a36Sopenharmony_ci		.enable_reg = 0x50000,
130962306a36Sopenharmony_ci		.enable_mask = BIT(0),
131062306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
131162306a36Sopenharmony_ci			.name = "gcc_usb3_phy_aux_clk",
131262306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw*[]){
131362306a36Sopenharmony_ci				&usb3_phy_aux_clk_src.clkr.hw,
131462306a36Sopenharmony_ci			},
131562306a36Sopenharmony_ci			.num_parents = 1,
131662306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
131762306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
131862306a36Sopenharmony_ci		},
131962306a36Sopenharmony_ci	},
132062306a36Sopenharmony_ci};
132162306a36Sopenharmony_ci
132262306a36Sopenharmony_cistatic struct clk_branch gcc_usb3_phy_pipe_clk = {
132362306a36Sopenharmony_ci	.halt_reg = 0x50004,
132462306a36Sopenharmony_ci	.halt_check = BRANCH_HALT_SKIP,
132562306a36Sopenharmony_ci	.clkr = {
132662306a36Sopenharmony_ci		.enable_reg = 0x50004,
132762306a36Sopenharmony_ci		.enable_mask = BIT(0),
132862306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
132962306a36Sopenharmony_ci			.name = "gcc_usb3_phy_pipe_clk",
133062306a36Sopenharmony_ci			.parent_data = &(const struct clk_parent_data){
133162306a36Sopenharmony_ci				.fw_name = "usb3_phy_pipe_clk_src", .name = "usb3_phy_pipe_clk_src",
133262306a36Sopenharmony_ci			},
133362306a36Sopenharmony_ci			.num_parents = 1,
133462306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
133562306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
133662306a36Sopenharmony_ci		},
133762306a36Sopenharmony_ci	},
133862306a36Sopenharmony_ci};
133962306a36Sopenharmony_ci
134062306a36Sopenharmony_cistatic struct clk_branch gcc_usb20_master_clk = {
134162306a36Sopenharmony_ci	.halt_reg = 0x12004,
134262306a36Sopenharmony_ci	.clkr = {
134362306a36Sopenharmony_ci		.enable_reg = 0x12004,
134462306a36Sopenharmony_ci		.enable_mask = BIT(0),
134562306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
134662306a36Sopenharmony_ci			.name = "gcc_usb20_master_clk",
134762306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw*[]){
134862306a36Sopenharmony_ci				&usb20_master_clk_src.clkr.hw,
134962306a36Sopenharmony_ci			},
135062306a36Sopenharmony_ci			.num_parents = 1,
135162306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
135262306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
135362306a36Sopenharmony_ci		},
135462306a36Sopenharmony_ci	},
135562306a36Sopenharmony_ci};
135662306a36Sopenharmony_ci
135762306a36Sopenharmony_cistatic struct clk_branch gcc_usb20_sleep_clk = {
135862306a36Sopenharmony_ci	.halt_reg = 0x12008,
135962306a36Sopenharmony_ci	.clkr = {
136062306a36Sopenharmony_ci		.enable_reg = 0x12008,
136162306a36Sopenharmony_ci		.enable_mask = BIT(0),
136262306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
136362306a36Sopenharmony_ci			.name = "gcc_usb20_sleep_clk",
136462306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw*[]){
136562306a36Sopenharmony_ci				&gcc_sleep_clk_src.clkr.hw,
136662306a36Sopenharmony_ci			},
136762306a36Sopenharmony_ci			.num_parents = 1,
136862306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
136962306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
137062306a36Sopenharmony_ci		},
137162306a36Sopenharmony_ci	},
137262306a36Sopenharmony_ci};
137362306a36Sopenharmony_ci
137462306a36Sopenharmony_cistatic struct clk_branch gcc_usb20_mock_utmi_clk = {
137562306a36Sopenharmony_ci	.halt_reg = 0x1200c,
137662306a36Sopenharmony_ci	.clkr = {
137762306a36Sopenharmony_ci		.enable_reg = 0x1200c,
137862306a36Sopenharmony_ci		.enable_mask = BIT(0),
137962306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
138062306a36Sopenharmony_ci			.name = "gcc_usb20_mock_utmi_clk",
138162306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw*[]){
138262306a36Sopenharmony_ci				&usb20_mock_utmi_clk_src.clkr.hw,
138362306a36Sopenharmony_ci			},
138462306a36Sopenharmony_ci			.num_parents = 1,
138562306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
138662306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
138762306a36Sopenharmony_ci		},
138862306a36Sopenharmony_ci	},
138962306a36Sopenharmony_ci};
139062306a36Sopenharmony_ci
139162306a36Sopenharmony_cistatic struct clk_branch gcc_usb_phy_cfg_ahb2phy_clk = {
139262306a36Sopenharmony_ci	.halt_reg = 0x6a004,
139362306a36Sopenharmony_ci	.clkr = {
139462306a36Sopenharmony_ci		.enable_reg = 0x6a004,
139562306a36Sopenharmony_ci		.enable_mask = BIT(0),
139662306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
139762306a36Sopenharmony_ci			.name = "gcc_usb_phy_cfg_ahb2phy_clk",
139862306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
139962306a36Sopenharmony_ci		},
140062306a36Sopenharmony_ci	},
140162306a36Sopenharmony_ci};
140262306a36Sopenharmony_ci
140362306a36Sopenharmony_cistatic struct clk_branch gcc_sdcc1_apps_clk = {
140462306a36Sopenharmony_ci	.halt_reg = 0x13004,
140562306a36Sopenharmony_ci	.clkr = {
140662306a36Sopenharmony_ci		.enable_reg = 0x13004,
140762306a36Sopenharmony_ci		.enable_mask = BIT(0),
140862306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
140962306a36Sopenharmony_ci			.name = "gcc_sdcc1_apps_clk",
141062306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw*[]){
141162306a36Sopenharmony_ci				&sdcc1_apps_clk_src.clkr.hw,
141262306a36Sopenharmony_ci			},
141362306a36Sopenharmony_ci			.num_parents = 1,
141462306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
141562306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
141662306a36Sopenharmony_ci		},
141762306a36Sopenharmony_ci	},
141862306a36Sopenharmony_ci};
141962306a36Sopenharmony_ci
142062306a36Sopenharmony_cistatic struct clk_branch gcc_sdcc1_ahb_clk = {
142162306a36Sopenharmony_ci	.halt_reg = 0x13008,
142262306a36Sopenharmony_ci	.clkr = {
142362306a36Sopenharmony_ci		.enable_reg = 0x13008,
142462306a36Sopenharmony_ci		.enable_mask = BIT(0),
142562306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
142662306a36Sopenharmony_ci			.name = "gcc_sdcc1_ahb_clk",
142762306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
142862306a36Sopenharmony_ci		},
142962306a36Sopenharmony_ci	},
143062306a36Sopenharmony_ci};
143162306a36Sopenharmony_ci
143262306a36Sopenharmony_cistatic struct clk_branch gcc_sdcc1_ice_core_clk = {
143362306a36Sopenharmony_ci	.halt_reg = 0x13038,
143462306a36Sopenharmony_ci	.clkr = {
143562306a36Sopenharmony_ci		.enable_reg = 0x13038,
143662306a36Sopenharmony_ci		.enable_mask = BIT(0),
143762306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
143862306a36Sopenharmony_ci			.name = "gcc_sdcc1_ice_core_clk",
143962306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw*[]){
144062306a36Sopenharmony_ci				&sdcc1_ice_core_clk_src.clkr.hw,
144162306a36Sopenharmony_ci			},
144262306a36Sopenharmony_ci			.num_parents = 1,
144362306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
144462306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
144562306a36Sopenharmony_ci		},
144662306a36Sopenharmony_ci	},
144762306a36Sopenharmony_ci};
144862306a36Sopenharmony_ci
144962306a36Sopenharmony_cistatic struct clk_branch gcc_sdcc2_apps_clk = {
145062306a36Sopenharmony_ci	.halt_reg = 0x14004,
145162306a36Sopenharmony_ci	.clkr = {
145262306a36Sopenharmony_ci		.enable_reg = 0x14004,
145362306a36Sopenharmony_ci		.enable_mask = BIT(0),
145462306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
145562306a36Sopenharmony_ci			.name = "gcc_sdcc2_apps_clk",
145662306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw*[]){
145762306a36Sopenharmony_ci				&sdcc2_apps_clk_src.clkr.hw,
145862306a36Sopenharmony_ci			},
145962306a36Sopenharmony_ci			.num_parents = 1,
146062306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
146162306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
146262306a36Sopenharmony_ci		},
146362306a36Sopenharmony_ci	},
146462306a36Sopenharmony_ci};
146562306a36Sopenharmony_ci
146662306a36Sopenharmony_cistatic struct clk_branch gcc_sdcc2_ahb_clk = {
146762306a36Sopenharmony_ci	.halt_reg = 0x14008,
146862306a36Sopenharmony_ci	.clkr = {
146962306a36Sopenharmony_ci		.enable_reg = 0x14008,
147062306a36Sopenharmony_ci		.enable_mask = BIT(0),
147162306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
147262306a36Sopenharmony_ci			.name = "gcc_sdcc2_ahb_clk",
147362306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
147462306a36Sopenharmony_ci		},
147562306a36Sopenharmony_ci	},
147662306a36Sopenharmony_ci};
147762306a36Sopenharmony_ci
147862306a36Sopenharmony_cistatic struct clk_branch gcc_sdcc3_apps_clk = {
147962306a36Sopenharmony_ci	.halt_reg = 0x15004,
148062306a36Sopenharmony_ci	.clkr = {
148162306a36Sopenharmony_ci		.enable_reg = 0x15004,
148262306a36Sopenharmony_ci		.enable_mask = BIT(0),
148362306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
148462306a36Sopenharmony_ci			.name = "gcc_sdcc3_apps_clk",
148562306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw*[]){
148662306a36Sopenharmony_ci				&sdcc3_apps_clk_src.clkr.hw,
148762306a36Sopenharmony_ci			},
148862306a36Sopenharmony_ci			.num_parents = 1,
148962306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
149062306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
149162306a36Sopenharmony_ci		},
149262306a36Sopenharmony_ci	},
149362306a36Sopenharmony_ci};
149462306a36Sopenharmony_ci
149562306a36Sopenharmony_cistatic struct clk_branch gcc_sdcc3_ahb_clk = {
149662306a36Sopenharmony_ci	.halt_reg = 0x15008,
149762306a36Sopenharmony_ci	.clkr = {
149862306a36Sopenharmony_ci		.enable_reg = 0x15008,
149962306a36Sopenharmony_ci		.enable_mask = BIT(0),
150062306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
150162306a36Sopenharmony_ci			.name = "gcc_sdcc3_ahb_clk",
150262306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
150362306a36Sopenharmony_ci		},
150462306a36Sopenharmony_ci	},
150562306a36Sopenharmony_ci};
150662306a36Sopenharmony_ci
150762306a36Sopenharmony_cistatic struct clk_branch gcc_sdcc4_apps_clk = {
150862306a36Sopenharmony_ci	.halt_reg = 0x16004,
150962306a36Sopenharmony_ci	.clkr = {
151062306a36Sopenharmony_ci		.enable_reg = 0x16004,
151162306a36Sopenharmony_ci		.enable_mask = BIT(0),
151262306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
151362306a36Sopenharmony_ci			.name = "gcc_sdcc4_apps_clk",
151462306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw*[]){
151562306a36Sopenharmony_ci				&sdcc4_apps_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_sdcc4_ahb_clk = {
152562306a36Sopenharmony_ci	.halt_reg = 0x16008,
152662306a36Sopenharmony_ci	.clkr = {
152762306a36Sopenharmony_ci		.enable_reg = 0x16008,
152862306a36Sopenharmony_ci		.enable_mask = BIT(0),
152962306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
153062306a36Sopenharmony_ci			.name = "gcc_sdcc4_ahb_clk",
153162306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
153262306a36Sopenharmony_ci		},
153362306a36Sopenharmony_ci	},
153462306a36Sopenharmony_ci};
153562306a36Sopenharmony_ci
153662306a36Sopenharmony_cistatic struct clk_branch gcc_blsp1_ahb_clk = {
153762306a36Sopenharmony_ci	.halt_reg = 0x17004,
153862306a36Sopenharmony_ci	.halt_check = BRANCH_HALT_VOTED,
153962306a36Sopenharmony_ci	.clkr = {
154062306a36Sopenharmony_ci		.enable_reg = 0x52004,
154162306a36Sopenharmony_ci		.enable_mask = BIT(17),
154262306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
154362306a36Sopenharmony_ci			.name = "gcc_blsp1_ahb_clk",
154462306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
154562306a36Sopenharmony_ci		},
154662306a36Sopenharmony_ci	},
154762306a36Sopenharmony_ci};
154862306a36Sopenharmony_ci
154962306a36Sopenharmony_cistatic struct clk_branch gcc_blsp1_sleep_clk = {
155062306a36Sopenharmony_ci	.halt_reg = 0x17008,
155162306a36Sopenharmony_ci	.halt_check = BRANCH_HALT_VOTED,
155262306a36Sopenharmony_ci	.clkr = {
155362306a36Sopenharmony_ci		.enable_reg = 0x52004,
155462306a36Sopenharmony_ci		.enable_mask = BIT(16),
155562306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
155662306a36Sopenharmony_ci			.name = "gcc_blsp1_sleep_clk",
155762306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw*[]){
155862306a36Sopenharmony_ci				&gcc_sleep_clk_src.clkr.hw,
155962306a36Sopenharmony_ci			},
156062306a36Sopenharmony_ci			.num_parents = 1,
156162306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
156262306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
156362306a36Sopenharmony_ci		},
156462306a36Sopenharmony_ci	},
156562306a36Sopenharmony_ci};
156662306a36Sopenharmony_ci
156762306a36Sopenharmony_cistatic struct clk_branch gcc_blsp1_qup1_spi_apps_clk = {
156862306a36Sopenharmony_ci	.halt_reg = 0x19004,
156962306a36Sopenharmony_ci	.clkr = {
157062306a36Sopenharmony_ci		.enable_reg = 0x19004,
157162306a36Sopenharmony_ci		.enable_mask = BIT(0),
157262306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
157362306a36Sopenharmony_ci			.name = "gcc_blsp1_qup1_spi_apps_clk",
157462306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw*[]){
157562306a36Sopenharmony_ci				&blsp1_qup1_spi_apps_clk_src.clkr.hw,
157662306a36Sopenharmony_ci			},
157762306a36Sopenharmony_ci			.num_parents = 1,
157862306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
157962306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
158062306a36Sopenharmony_ci		},
158162306a36Sopenharmony_ci	},
158262306a36Sopenharmony_ci};
158362306a36Sopenharmony_ci
158462306a36Sopenharmony_cistatic struct clk_branch gcc_blsp1_qup1_i2c_apps_clk = {
158562306a36Sopenharmony_ci	.halt_reg = 0x19008,
158662306a36Sopenharmony_ci	.clkr = {
158762306a36Sopenharmony_ci		.enable_reg = 0x19008,
158862306a36Sopenharmony_ci		.enable_mask = BIT(0),
158962306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
159062306a36Sopenharmony_ci			.name = "gcc_blsp1_qup1_i2c_apps_clk",
159162306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw*[]){
159262306a36Sopenharmony_ci				&blsp1_qup1_i2c_apps_clk_src.clkr.hw,
159362306a36Sopenharmony_ci			},
159462306a36Sopenharmony_ci			.num_parents = 1,
159562306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
159662306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
159762306a36Sopenharmony_ci		},
159862306a36Sopenharmony_ci	},
159962306a36Sopenharmony_ci};
160062306a36Sopenharmony_ci
160162306a36Sopenharmony_cistatic struct clk_branch gcc_blsp1_uart1_apps_clk = {
160262306a36Sopenharmony_ci	.halt_reg = 0x1a004,
160362306a36Sopenharmony_ci	.clkr = {
160462306a36Sopenharmony_ci		.enable_reg = 0x1a004,
160562306a36Sopenharmony_ci		.enable_mask = BIT(0),
160662306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
160762306a36Sopenharmony_ci			.name = "gcc_blsp1_uart1_apps_clk",
160862306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw*[]){
160962306a36Sopenharmony_ci				&blsp1_uart1_apps_clk_src.clkr.hw,
161062306a36Sopenharmony_ci			},
161162306a36Sopenharmony_ci			.num_parents = 1,
161262306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
161362306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
161462306a36Sopenharmony_ci		},
161562306a36Sopenharmony_ci	},
161662306a36Sopenharmony_ci};
161762306a36Sopenharmony_ci
161862306a36Sopenharmony_cistatic struct clk_branch gcc_blsp1_qup2_spi_apps_clk = {
161962306a36Sopenharmony_ci	.halt_reg = 0x1b004,
162062306a36Sopenharmony_ci	.clkr = {
162162306a36Sopenharmony_ci		.enable_reg = 0x1b004,
162262306a36Sopenharmony_ci		.enable_mask = BIT(0),
162362306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
162462306a36Sopenharmony_ci			.name = "gcc_blsp1_qup2_spi_apps_clk",
162562306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw*[]){
162662306a36Sopenharmony_ci				&blsp1_qup2_spi_apps_clk_src.clkr.hw,
162762306a36Sopenharmony_ci			},
162862306a36Sopenharmony_ci			.num_parents = 1,
162962306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
163062306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
163162306a36Sopenharmony_ci		},
163262306a36Sopenharmony_ci	},
163362306a36Sopenharmony_ci};
163462306a36Sopenharmony_ci
163562306a36Sopenharmony_cistatic struct clk_branch gcc_blsp1_qup2_i2c_apps_clk = {
163662306a36Sopenharmony_ci	.halt_reg = 0x1b008,
163762306a36Sopenharmony_ci	.clkr = {
163862306a36Sopenharmony_ci		.enable_reg = 0x1b008,
163962306a36Sopenharmony_ci		.enable_mask = BIT(0),
164062306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
164162306a36Sopenharmony_ci			.name = "gcc_blsp1_qup2_i2c_apps_clk",
164262306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw*[]){
164362306a36Sopenharmony_ci				&blsp1_qup2_i2c_apps_clk_src.clkr.hw,
164462306a36Sopenharmony_ci			},
164562306a36Sopenharmony_ci			.num_parents = 1,
164662306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
164762306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
164862306a36Sopenharmony_ci		},
164962306a36Sopenharmony_ci	},
165062306a36Sopenharmony_ci};
165162306a36Sopenharmony_ci
165262306a36Sopenharmony_cistatic struct clk_branch gcc_blsp1_uart2_apps_clk = {
165362306a36Sopenharmony_ci	.halt_reg = 0x1c004,
165462306a36Sopenharmony_ci	.clkr = {
165562306a36Sopenharmony_ci		.enable_reg = 0x1c004,
165662306a36Sopenharmony_ci		.enable_mask = BIT(0),
165762306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
165862306a36Sopenharmony_ci			.name = "gcc_blsp1_uart2_apps_clk",
165962306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw*[]){
166062306a36Sopenharmony_ci				&blsp1_uart2_apps_clk_src.clkr.hw,
166162306a36Sopenharmony_ci			},
166262306a36Sopenharmony_ci			.num_parents = 1,
166362306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
166462306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
166562306a36Sopenharmony_ci		},
166662306a36Sopenharmony_ci	},
166762306a36Sopenharmony_ci};
166862306a36Sopenharmony_ci
166962306a36Sopenharmony_cistatic struct clk_branch gcc_blsp1_qup3_spi_apps_clk = {
167062306a36Sopenharmony_ci	.halt_reg = 0x1d004,
167162306a36Sopenharmony_ci	.clkr = {
167262306a36Sopenharmony_ci		.enable_reg = 0x1d004,
167362306a36Sopenharmony_ci		.enable_mask = BIT(0),
167462306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
167562306a36Sopenharmony_ci			.name = "gcc_blsp1_qup3_spi_apps_clk",
167662306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw*[]){
167762306a36Sopenharmony_ci				&blsp1_qup3_spi_apps_clk_src.clkr.hw,
167862306a36Sopenharmony_ci			},
167962306a36Sopenharmony_ci			.num_parents = 1,
168062306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
168162306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
168262306a36Sopenharmony_ci		},
168362306a36Sopenharmony_ci	},
168462306a36Sopenharmony_ci};
168562306a36Sopenharmony_ci
168662306a36Sopenharmony_cistatic struct clk_branch gcc_blsp1_qup3_i2c_apps_clk = {
168762306a36Sopenharmony_ci	.halt_reg = 0x1d008,
168862306a36Sopenharmony_ci	.clkr = {
168962306a36Sopenharmony_ci		.enable_reg = 0x1d008,
169062306a36Sopenharmony_ci		.enable_mask = BIT(0),
169162306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
169262306a36Sopenharmony_ci			.name = "gcc_blsp1_qup3_i2c_apps_clk",
169362306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw*[]){
169462306a36Sopenharmony_ci				&blsp1_qup3_i2c_apps_clk_src.clkr.hw,
169562306a36Sopenharmony_ci			},
169662306a36Sopenharmony_ci			.num_parents = 1,
169762306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
169862306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
169962306a36Sopenharmony_ci		},
170062306a36Sopenharmony_ci	},
170162306a36Sopenharmony_ci};
170262306a36Sopenharmony_ci
170362306a36Sopenharmony_cistatic struct clk_branch gcc_blsp1_uart3_apps_clk = {
170462306a36Sopenharmony_ci	.halt_reg = 0x1e004,
170562306a36Sopenharmony_ci	.clkr = {
170662306a36Sopenharmony_ci		.enable_reg = 0x1e004,
170762306a36Sopenharmony_ci		.enable_mask = BIT(0),
170862306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
170962306a36Sopenharmony_ci			.name = "gcc_blsp1_uart3_apps_clk",
171062306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw*[]){
171162306a36Sopenharmony_ci				&blsp1_uart3_apps_clk_src.clkr.hw,
171262306a36Sopenharmony_ci			},
171362306a36Sopenharmony_ci			.num_parents = 1,
171462306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
171562306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
171662306a36Sopenharmony_ci		},
171762306a36Sopenharmony_ci	},
171862306a36Sopenharmony_ci};
171962306a36Sopenharmony_ci
172062306a36Sopenharmony_cistatic struct clk_branch gcc_blsp1_qup4_spi_apps_clk = {
172162306a36Sopenharmony_ci	.halt_reg = 0x1f004,
172262306a36Sopenharmony_ci	.clkr = {
172362306a36Sopenharmony_ci		.enable_reg = 0x1f004,
172462306a36Sopenharmony_ci		.enable_mask = BIT(0),
172562306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
172662306a36Sopenharmony_ci			.name = "gcc_blsp1_qup4_spi_apps_clk",
172762306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw*[]){
172862306a36Sopenharmony_ci				&blsp1_qup4_spi_apps_clk_src.clkr.hw,
172962306a36Sopenharmony_ci			},
173062306a36Sopenharmony_ci			.num_parents = 1,
173162306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
173262306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
173362306a36Sopenharmony_ci		},
173462306a36Sopenharmony_ci	},
173562306a36Sopenharmony_ci};
173662306a36Sopenharmony_ci
173762306a36Sopenharmony_cistatic struct clk_branch gcc_blsp1_qup4_i2c_apps_clk = {
173862306a36Sopenharmony_ci	.halt_reg = 0x1f008,
173962306a36Sopenharmony_ci	.clkr = {
174062306a36Sopenharmony_ci		.enable_reg = 0x1f008,
174162306a36Sopenharmony_ci		.enable_mask = BIT(0),
174262306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
174362306a36Sopenharmony_ci			.name = "gcc_blsp1_qup4_i2c_apps_clk",
174462306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw*[]){
174562306a36Sopenharmony_ci				&blsp1_qup4_i2c_apps_clk_src.clkr.hw,
174662306a36Sopenharmony_ci			},
174762306a36Sopenharmony_ci			.num_parents = 1,
174862306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
174962306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
175062306a36Sopenharmony_ci		},
175162306a36Sopenharmony_ci	},
175262306a36Sopenharmony_ci};
175362306a36Sopenharmony_ci
175462306a36Sopenharmony_cistatic struct clk_branch gcc_blsp1_uart4_apps_clk = {
175562306a36Sopenharmony_ci	.halt_reg = 0x20004,
175662306a36Sopenharmony_ci	.clkr = {
175762306a36Sopenharmony_ci		.enable_reg = 0x20004,
175862306a36Sopenharmony_ci		.enable_mask = BIT(0),
175962306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
176062306a36Sopenharmony_ci			.name = "gcc_blsp1_uart4_apps_clk",
176162306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw*[]){
176262306a36Sopenharmony_ci				&blsp1_uart4_apps_clk_src.clkr.hw,
176362306a36Sopenharmony_ci			},
176462306a36Sopenharmony_ci			.num_parents = 1,
176562306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
176662306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
176762306a36Sopenharmony_ci		},
176862306a36Sopenharmony_ci	},
176962306a36Sopenharmony_ci};
177062306a36Sopenharmony_ci
177162306a36Sopenharmony_cistatic struct clk_branch gcc_blsp1_qup5_spi_apps_clk = {
177262306a36Sopenharmony_ci	.halt_reg = 0x21004,
177362306a36Sopenharmony_ci	.clkr = {
177462306a36Sopenharmony_ci		.enable_reg = 0x21004,
177562306a36Sopenharmony_ci		.enable_mask = BIT(0),
177662306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
177762306a36Sopenharmony_ci			.name = "gcc_blsp1_qup5_spi_apps_clk",
177862306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw*[]){
177962306a36Sopenharmony_ci				&blsp1_qup5_spi_apps_clk_src.clkr.hw,
178062306a36Sopenharmony_ci			},
178162306a36Sopenharmony_ci			.num_parents = 1,
178262306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
178362306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
178462306a36Sopenharmony_ci		},
178562306a36Sopenharmony_ci	},
178662306a36Sopenharmony_ci};
178762306a36Sopenharmony_ci
178862306a36Sopenharmony_cistatic struct clk_branch gcc_blsp1_qup5_i2c_apps_clk = {
178962306a36Sopenharmony_ci	.halt_reg = 0x21008,
179062306a36Sopenharmony_ci	.clkr = {
179162306a36Sopenharmony_ci		.enable_reg = 0x21008,
179262306a36Sopenharmony_ci		.enable_mask = BIT(0),
179362306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
179462306a36Sopenharmony_ci			.name = "gcc_blsp1_qup5_i2c_apps_clk",
179562306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw*[]){
179662306a36Sopenharmony_ci				&blsp1_qup5_i2c_apps_clk_src.clkr.hw,
179762306a36Sopenharmony_ci			},
179862306a36Sopenharmony_ci			.num_parents = 1,
179962306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
180062306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
180162306a36Sopenharmony_ci		},
180262306a36Sopenharmony_ci	},
180362306a36Sopenharmony_ci};
180462306a36Sopenharmony_ci
180562306a36Sopenharmony_cistatic struct clk_branch gcc_blsp1_uart5_apps_clk = {
180662306a36Sopenharmony_ci	.halt_reg = 0x22004,
180762306a36Sopenharmony_ci	.clkr = {
180862306a36Sopenharmony_ci		.enable_reg = 0x22004,
180962306a36Sopenharmony_ci		.enable_mask = BIT(0),
181062306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
181162306a36Sopenharmony_ci			.name = "gcc_blsp1_uart5_apps_clk",
181262306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw*[]){
181362306a36Sopenharmony_ci				&blsp1_uart5_apps_clk_src.clkr.hw,
181462306a36Sopenharmony_ci			},
181562306a36Sopenharmony_ci			.num_parents = 1,
181662306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
181762306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
181862306a36Sopenharmony_ci		},
181962306a36Sopenharmony_ci	},
182062306a36Sopenharmony_ci};
182162306a36Sopenharmony_ci
182262306a36Sopenharmony_cistatic struct clk_branch gcc_blsp1_qup6_spi_apps_clk = {
182362306a36Sopenharmony_ci	.halt_reg = 0x23004,
182462306a36Sopenharmony_ci	.clkr = {
182562306a36Sopenharmony_ci		.enable_reg = 0x23004,
182662306a36Sopenharmony_ci		.enable_mask = BIT(0),
182762306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
182862306a36Sopenharmony_ci			.name = "gcc_blsp1_qup6_spi_apps_clk",
182962306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw*[]){
183062306a36Sopenharmony_ci				&blsp1_qup6_spi_apps_clk_src.clkr.hw,
183162306a36Sopenharmony_ci			},
183262306a36Sopenharmony_ci			.num_parents = 1,
183362306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
183462306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
183562306a36Sopenharmony_ci		},
183662306a36Sopenharmony_ci	},
183762306a36Sopenharmony_ci};
183862306a36Sopenharmony_ci
183962306a36Sopenharmony_cistatic struct clk_branch gcc_blsp1_qup6_i2c_apps_clk = {
184062306a36Sopenharmony_ci	.halt_reg = 0x23008,
184162306a36Sopenharmony_ci	.clkr = {
184262306a36Sopenharmony_ci		.enable_reg = 0x23008,
184362306a36Sopenharmony_ci		.enable_mask = BIT(0),
184462306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
184562306a36Sopenharmony_ci			.name = "gcc_blsp1_qup6_i2c_apps_clk",
184662306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw*[]){
184762306a36Sopenharmony_ci				&blsp1_qup6_i2c_apps_clk_src.clkr.hw,
184862306a36Sopenharmony_ci			},
184962306a36Sopenharmony_ci			.num_parents = 1,
185062306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
185162306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
185262306a36Sopenharmony_ci		},
185362306a36Sopenharmony_ci	},
185462306a36Sopenharmony_ci};
185562306a36Sopenharmony_ci
185662306a36Sopenharmony_cistatic struct clk_branch gcc_blsp1_uart6_apps_clk = {
185762306a36Sopenharmony_ci	.halt_reg = 0x24004,
185862306a36Sopenharmony_ci	.clkr = {
185962306a36Sopenharmony_ci		.enable_reg = 0x24004,
186062306a36Sopenharmony_ci		.enable_mask = BIT(0),
186162306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
186262306a36Sopenharmony_ci			.name = "gcc_blsp1_uart6_apps_clk",
186362306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw*[]){
186462306a36Sopenharmony_ci				&blsp1_uart6_apps_clk_src.clkr.hw,
186562306a36Sopenharmony_ci			},
186662306a36Sopenharmony_ci			.num_parents = 1,
186762306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
186862306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
186962306a36Sopenharmony_ci		},
187062306a36Sopenharmony_ci	},
187162306a36Sopenharmony_ci};
187262306a36Sopenharmony_ci
187362306a36Sopenharmony_cistatic struct clk_branch gcc_blsp2_ahb_clk = {
187462306a36Sopenharmony_ci	.halt_reg = 0x25004,
187562306a36Sopenharmony_ci	.halt_check = BRANCH_HALT_VOTED,
187662306a36Sopenharmony_ci	.clkr = {
187762306a36Sopenharmony_ci		.enable_reg = 0x52004,
187862306a36Sopenharmony_ci		.enable_mask = BIT(15),
187962306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
188062306a36Sopenharmony_ci			.name = "gcc_blsp2_ahb_clk",
188162306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
188262306a36Sopenharmony_ci		},
188362306a36Sopenharmony_ci	},
188462306a36Sopenharmony_ci};
188562306a36Sopenharmony_ci
188662306a36Sopenharmony_cistatic struct clk_branch gcc_blsp2_sleep_clk = {
188762306a36Sopenharmony_ci	.halt_reg = 0x25008,
188862306a36Sopenharmony_ci	.halt_check = BRANCH_HALT_VOTED,
188962306a36Sopenharmony_ci	.clkr = {
189062306a36Sopenharmony_ci		.enable_reg = 0x52004,
189162306a36Sopenharmony_ci		.enable_mask = BIT(14),
189262306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
189362306a36Sopenharmony_ci			.name = "gcc_blsp2_sleep_clk",
189462306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw*[]){
189562306a36Sopenharmony_ci				&gcc_sleep_clk_src.clkr.hw,
189662306a36Sopenharmony_ci			},
189762306a36Sopenharmony_ci			.num_parents = 1,
189862306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
189962306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
190062306a36Sopenharmony_ci		},
190162306a36Sopenharmony_ci	},
190262306a36Sopenharmony_ci};
190362306a36Sopenharmony_ci
190462306a36Sopenharmony_cistatic struct clk_branch gcc_blsp2_qup1_spi_apps_clk = {
190562306a36Sopenharmony_ci	.halt_reg = 0x26004,
190662306a36Sopenharmony_ci	.clkr = {
190762306a36Sopenharmony_ci		.enable_reg = 0x26004,
190862306a36Sopenharmony_ci		.enable_mask = BIT(0),
190962306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
191062306a36Sopenharmony_ci			.name = "gcc_blsp2_qup1_spi_apps_clk",
191162306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw*[]){
191262306a36Sopenharmony_ci				&blsp2_qup1_spi_apps_clk_src.clkr.hw,
191362306a36Sopenharmony_ci			},
191462306a36Sopenharmony_ci			.num_parents = 1,
191562306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
191662306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
191762306a36Sopenharmony_ci		},
191862306a36Sopenharmony_ci	},
191962306a36Sopenharmony_ci};
192062306a36Sopenharmony_ci
192162306a36Sopenharmony_cistatic struct clk_branch gcc_blsp2_qup1_i2c_apps_clk = {
192262306a36Sopenharmony_ci	.halt_reg = 0x26008,
192362306a36Sopenharmony_ci	.clkr = {
192462306a36Sopenharmony_ci		.enable_reg = 0x26008,
192562306a36Sopenharmony_ci		.enable_mask = BIT(0),
192662306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
192762306a36Sopenharmony_ci			.name = "gcc_blsp2_qup1_i2c_apps_clk",
192862306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw*[]){
192962306a36Sopenharmony_ci				&blsp2_qup1_i2c_apps_clk_src.clkr.hw,
193062306a36Sopenharmony_ci			},
193162306a36Sopenharmony_ci			.num_parents = 1,
193262306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
193362306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
193462306a36Sopenharmony_ci		},
193562306a36Sopenharmony_ci	},
193662306a36Sopenharmony_ci};
193762306a36Sopenharmony_ci
193862306a36Sopenharmony_cistatic struct clk_branch gcc_blsp2_uart1_apps_clk = {
193962306a36Sopenharmony_ci	.halt_reg = 0x27004,
194062306a36Sopenharmony_ci	.clkr = {
194162306a36Sopenharmony_ci		.enable_reg = 0x27004,
194262306a36Sopenharmony_ci		.enable_mask = BIT(0),
194362306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
194462306a36Sopenharmony_ci			.name = "gcc_blsp2_uart1_apps_clk",
194562306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw*[]){
194662306a36Sopenharmony_ci				&blsp2_uart1_apps_clk_src.clkr.hw,
194762306a36Sopenharmony_ci			},
194862306a36Sopenharmony_ci			.num_parents = 1,
194962306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
195062306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
195162306a36Sopenharmony_ci		},
195262306a36Sopenharmony_ci	},
195362306a36Sopenharmony_ci};
195462306a36Sopenharmony_ci
195562306a36Sopenharmony_cistatic struct clk_branch gcc_blsp2_qup2_spi_apps_clk = {
195662306a36Sopenharmony_ci	.halt_reg = 0x28004,
195762306a36Sopenharmony_ci	.clkr = {
195862306a36Sopenharmony_ci		.enable_reg = 0x28004,
195962306a36Sopenharmony_ci		.enable_mask = BIT(0),
196062306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
196162306a36Sopenharmony_ci			.name = "gcc_blsp2_qup2_spi_apps_clk",
196262306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw*[]){
196362306a36Sopenharmony_ci				&blsp2_qup2_spi_apps_clk_src.clkr.hw,
196462306a36Sopenharmony_ci			},
196562306a36Sopenharmony_ci			.num_parents = 1,
196662306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
196762306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
196862306a36Sopenharmony_ci		},
196962306a36Sopenharmony_ci	},
197062306a36Sopenharmony_ci};
197162306a36Sopenharmony_ci
197262306a36Sopenharmony_cistatic struct clk_branch gcc_blsp2_qup2_i2c_apps_clk = {
197362306a36Sopenharmony_ci	.halt_reg = 0x28008,
197462306a36Sopenharmony_ci	.clkr = {
197562306a36Sopenharmony_ci		.enable_reg = 0x28008,
197662306a36Sopenharmony_ci		.enable_mask = BIT(0),
197762306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
197862306a36Sopenharmony_ci			.name = "gcc_blsp2_qup2_i2c_apps_clk",
197962306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw*[]){
198062306a36Sopenharmony_ci				&blsp2_qup2_i2c_apps_clk_src.clkr.hw,
198162306a36Sopenharmony_ci			},
198262306a36Sopenharmony_ci			.num_parents = 1,
198362306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
198462306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
198562306a36Sopenharmony_ci		},
198662306a36Sopenharmony_ci	},
198762306a36Sopenharmony_ci};
198862306a36Sopenharmony_ci
198962306a36Sopenharmony_cistatic struct clk_branch gcc_blsp2_uart2_apps_clk = {
199062306a36Sopenharmony_ci	.halt_reg = 0x29004,
199162306a36Sopenharmony_ci	.clkr = {
199262306a36Sopenharmony_ci		.enable_reg = 0x29004,
199362306a36Sopenharmony_ci		.enable_mask = BIT(0),
199462306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
199562306a36Sopenharmony_ci			.name = "gcc_blsp2_uart2_apps_clk",
199662306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw*[]){
199762306a36Sopenharmony_ci				&blsp2_uart2_apps_clk_src.clkr.hw,
199862306a36Sopenharmony_ci			},
199962306a36Sopenharmony_ci			.num_parents = 1,
200062306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
200162306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
200262306a36Sopenharmony_ci		},
200362306a36Sopenharmony_ci	},
200462306a36Sopenharmony_ci};
200562306a36Sopenharmony_ci
200662306a36Sopenharmony_cistatic struct clk_branch gcc_blsp2_qup3_spi_apps_clk = {
200762306a36Sopenharmony_ci	.halt_reg = 0x2a004,
200862306a36Sopenharmony_ci	.clkr = {
200962306a36Sopenharmony_ci		.enable_reg = 0x2a004,
201062306a36Sopenharmony_ci		.enable_mask = BIT(0),
201162306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
201262306a36Sopenharmony_ci			.name = "gcc_blsp2_qup3_spi_apps_clk",
201362306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw*[]){
201462306a36Sopenharmony_ci				&blsp2_qup3_spi_apps_clk_src.clkr.hw,
201562306a36Sopenharmony_ci			},
201662306a36Sopenharmony_ci			.num_parents = 1,
201762306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
201862306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
201962306a36Sopenharmony_ci		},
202062306a36Sopenharmony_ci	},
202162306a36Sopenharmony_ci};
202262306a36Sopenharmony_ci
202362306a36Sopenharmony_cistatic struct clk_branch gcc_blsp2_qup3_i2c_apps_clk = {
202462306a36Sopenharmony_ci	.halt_reg = 0x2a008,
202562306a36Sopenharmony_ci	.clkr = {
202662306a36Sopenharmony_ci		.enable_reg = 0x2a008,
202762306a36Sopenharmony_ci		.enable_mask = BIT(0),
202862306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
202962306a36Sopenharmony_ci			.name = "gcc_blsp2_qup3_i2c_apps_clk",
203062306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw*[]){
203162306a36Sopenharmony_ci				&blsp2_qup3_i2c_apps_clk_src.clkr.hw,
203262306a36Sopenharmony_ci			},
203362306a36Sopenharmony_ci			.num_parents = 1,
203462306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
203562306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
203662306a36Sopenharmony_ci		},
203762306a36Sopenharmony_ci	},
203862306a36Sopenharmony_ci};
203962306a36Sopenharmony_ci
204062306a36Sopenharmony_cistatic struct clk_branch gcc_blsp2_uart3_apps_clk = {
204162306a36Sopenharmony_ci	.halt_reg = 0x2b004,
204262306a36Sopenharmony_ci	.clkr = {
204362306a36Sopenharmony_ci		.enable_reg = 0x2b004,
204462306a36Sopenharmony_ci		.enable_mask = BIT(0),
204562306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
204662306a36Sopenharmony_ci			.name = "gcc_blsp2_uart3_apps_clk",
204762306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw*[]){
204862306a36Sopenharmony_ci				&blsp2_uart3_apps_clk_src.clkr.hw,
204962306a36Sopenharmony_ci			},
205062306a36Sopenharmony_ci			.num_parents = 1,
205162306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
205262306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
205362306a36Sopenharmony_ci		},
205462306a36Sopenharmony_ci	},
205562306a36Sopenharmony_ci};
205662306a36Sopenharmony_ci
205762306a36Sopenharmony_cistatic struct clk_branch gcc_blsp2_qup4_spi_apps_clk = {
205862306a36Sopenharmony_ci	.halt_reg = 0x2c004,
205962306a36Sopenharmony_ci	.clkr = {
206062306a36Sopenharmony_ci		.enable_reg = 0x2c004,
206162306a36Sopenharmony_ci		.enable_mask = BIT(0),
206262306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
206362306a36Sopenharmony_ci			.name = "gcc_blsp2_qup4_spi_apps_clk",
206462306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw*[]){
206562306a36Sopenharmony_ci				&blsp2_qup4_spi_apps_clk_src.clkr.hw,
206662306a36Sopenharmony_ci			},
206762306a36Sopenharmony_ci			.num_parents = 1,
206862306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
206962306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
207062306a36Sopenharmony_ci		},
207162306a36Sopenharmony_ci	},
207262306a36Sopenharmony_ci};
207362306a36Sopenharmony_ci
207462306a36Sopenharmony_cistatic struct clk_branch gcc_blsp2_qup4_i2c_apps_clk = {
207562306a36Sopenharmony_ci	.halt_reg = 0x2c008,
207662306a36Sopenharmony_ci	.clkr = {
207762306a36Sopenharmony_ci		.enable_reg = 0x2c008,
207862306a36Sopenharmony_ci		.enable_mask = BIT(0),
207962306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
208062306a36Sopenharmony_ci			.name = "gcc_blsp2_qup4_i2c_apps_clk",
208162306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw*[]){
208262306a36Sopenharmony_ci				&blsp2_qup4_i2c_apps_clk_src.clkr.hw,
208362306a36Sopenharmony_ci			},
208462306a36Sopenharmony_ci			.num_parents = 1,
208562306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
208662306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
208762306a36Sopenharmony_ci		},
208862306a36Sopenharmony_ci	},
208962306a36Sopenharmony_ci};
209062306a36Sopenharmony_ci
209162306a36Sopenharmony_cistatic struct clk_branch gcc_blsp2_uart4_apps_clk = {
209262306a36Sopenharmony_ci	.halt_reg = 0x2d004,
209362306a36Sopenharmony_ci	.clkr = {
209462306a36Sopenharmony_ci		.enable_reg = 0x2d004,
209562306a36Sopenharmony_ci		.enable_mask = BIT(0),
209662306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
209762306a36Sopenharmony_ci			.name = "gcc_blsp2_uart4_apps_clk",
209862306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw*[]){
209962306a36Sopenharmony_ci				&blsp2_uart4_apps_clk_src.clkr.hw,
210062306a36Sopenharmony_ci			},
210162306a36Sopenharmony_ci			.num_parents = 1,
210262306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
210362306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
210462306a36Sopenharmony_ci		},
210562306a36Sopenharmony_ci	},
210662306a36Sopenharmony_ci};
210762306a36Sopenharmony_ci
210862306a36Sopenharmony_cistatic struct clk_branch gcc_blsp2_qup5_spi_apps_clk = {
210962306a36Sopenharmony_ci	.halt_reg = 0x2e004,
211062306a36Sopenharmony_ci	.clkr = {
211162306a36Sopenharmony_ci		.enable_reg = 0x2e004,
211262306a36Sopenharmony_ci		.enable_mask = BIT(0),
211362306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
211462306a36Sopenharmony_ci			.name = "gcc_blsp2_qup5_spi_apps_clk",
211562306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw*[]){
211662306a36Sopenharmony_ci				&blsp2_qup5_spi_apps_clk_src.clkr.hw,
211762306a36Sopenharmony_ci			},
211862306a36Sopenharmony_ci			.num_parents = 1,
211962306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
212062306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
212162306a36Sopenharmony_ci		},
212262306a36Sopenharmony_ci	},
212362306a36Sopenharmony_ci};
212462306a36Sopenharmony_ci
212562306a36Sopenharmony_cistatic struct clk_branch gcc_blsp2_qup5_i2c_apps_clk = {
212662306a36Sopenharmony_ci	.halt_reg = 0x2e008,
212762306a36Sopenharmony_ci	.clkr = {
212862306a36Sopenharmony_ci		.enable_reg = 0x2e008,
212962306a36Sopenharmony_ci		.enable_mask = BIT(0),
213062306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
213162306a36Sopenharmony_ci			.name = "gcc_blsp2_qup5_i2c_apps_clk",
213262306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw*[]){
213362306a36Sopenharmony_ci				&blsp2_qup5_i2c_apps_clk_src.clkr.hw,
213462306a36Sopenharmony_ci			},
213562306a36Sopenharmony_ci			.num_parents = 1,
213662306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
213762306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
213862306a36Sopenharmony_ci		},
213962306a36Sopenharmony_ci	},
214062306a36Sopenharmony_ci};
214162306a36Sopenharmony_ci
214262306a36Sopenharmony_cistatic struct clk_branch gcc_blsp2_uart5_apps_clk = {
214362306a36Sopenharmony_ci	.halt_reg = 0x2f004,
214462306a36Sopenharmony_ci	.clkr = {
214562306a36Sopenharmony_ci		.enable_reg = 0x2f004,
214662306a36Sopenharmony_ci		.enable_mask = BIT(0),
214762306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
214862306a36Sopenharmony_ci			.name = "gcc_blsp2_uart5_apps_clk",
214962306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw*[]){
215062306a36Sopenharmony_ci				&blsp2_uart5_apps_clk_src.clkr.hw,
215162306a36Sopenharmony_ci			},
215262306a36Sopenharmony_ci			.num_parents = 1,
215362306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
215462306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
215562306a36Sopenharmony_ci		},
215662306a36Sopenharmony_ci	},
215762306a36Sopenharmony_ci};
215862306a36Sopenharmony_ci
215962306a36Sopenharmony_cistatic struct clk_branch gcc_blsp2_qup6_spi_apps_clk = {
216062306a36Sopenharmony_ci	.halt_reg = 0x30004,
216162306a36Sopenharmony_ci	.clkr = {
216262306a36Sopenharmony_ci		.enable_reg = 0x30004,
216362306a36Sopenharmony_ci		.enable_mask = BIT(0),
216462306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
216562306a36Sopenharmony_ci			.name = "gcc_blsp2_qup6_spi_apps_clk",
216662306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw*[]){
216762306a36Sopenharmony_ci				&blsp2_qup6_spi_apps_clk_src.clkr.hw,
216862306a36Sopenharmony_ci			},
216962306a36Sopenharmony_ci			.num_parents = 1,
217062306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
217162306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
217262306a36Sopenharmony_ci		},
217362306a36Sopenharmony_ci	},
217462306a36Sopenharmony_ci};
217562306a36Sopenharmony_ci
217662306a36Sopenharmony_cistatic struct clk_branch gcc_blsp2_qup6_i2c_apps_clk = {
217762306a36Sopenharmony_ci	.halt_reg = 0x30008,
217862306a36Sopenharmony_ci	.clkr = {
217962306a36Sopenharmony_ci		.enable_reg = 0x30008,
218062306a36Sopenharmony_ci		.enable_mask = BIT(0),
218162306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
218262306a36Sopenharmony_ci			.name = "gcc_blsp2_qup6_i2c_apps_clk",
218362306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw*[]){
218462306a36Sopenharmony_ci				&blsp2_qup6_i2c_apps_clk_src.clkr.hw,
218562306a36Sopenharmony_ci			},
218662306a36Sopenharmony_ci			.num_parents = 1,
218762306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
218862306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
218962306a36Sopenharmony_ci		},
219062306a36Sopenharmony_ci	},
219162306a36Sopenharmony_ci};
219262306a36Sopenharmony_ci
219362306a36Sopenharmony_cistatic struct clk_branch gcc_blsp2_uart6_apps_clk = {
219462306a36Sopenharmony_ci	.halt_reg = 0x31004,
219562306a36Sopenharmony_ci	.clkr = {
219662306a36Sopenharmony_ci		.enable_reg = 0x31004,
219762306a36Sopenharmony_ci		.enable_mask = BIT(0),
219862306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
219962306a36Sopenharmony_ci			.name = "gcc_blsp2_uart6_apps_clk",
220062306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw*[]){
220162306a36Sopenharmony_ci				&blsp2_uart6_apps_clk_src.clkr.hw,
220262306a36Sopenharmony_ci			},
220362306a36Sopenharmony_ci			.num_parents = 1,
220462306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
220562306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
220662306a36Sopenharmony_ci		},
220762306a36Sopenharmony_ci	},
220862306a36Sopenharmony_ci};
220962306a36Sopenharmony_ci
221062306a36Sopenharmony_cistatic struct clk_branch gcc_pdm_ahb_clk = {
221162306a36Sopenharmony_ci	.halt_reg = 0x33004,
221262306a36Sopenharmony_ci	.clkr = {
221362306a36Sopenharmony_ci		.enable_reg = 0x33004,
221462306a36Sopenharmony_ci		.enable_mask = BIT(0),
221562306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
221662306a36Sopenharmony_ci			.name = "gcc_pdm_ahb_clk",
221762306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
221862306a36Sopenharmony_ci		},
221962306a36Sopenharmony_ci	},
222062306a36Sopenharmony_ci};
222162306a36Sopenharmony_ci
222262306a36Sopenharmony_cistatic struct clk_branch gcc_pdm2_clk = {
222362306a36Sopenharmony_ci	.halt_reg = 0x3300c,
222462306a36Sopenharmony_ci	.clkr = {
222562306a36Sopenharmony_ci		.enable_reg = 0x3300c,
222662306a36Sopenharmony_ci		.enable_mask = BIT(0),
222762306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
222862306a36Sopenharmony_ci			.name = "gcc_pdm2_clk",
222962306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw*[]){
223062306a36Sopenharmony_ci				&pdm2_clk_src.clkr.hw,
223162306a36Sopenharmony_ci			},
223262306a36Sopenharmony_ci			.num_parents = 1,
223362306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
223462306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
223562306a36Sopenharmony_ci		},
223662306a36Sopenharmony_ci	},
223762306a36Sopenharmony_ci};
223862306a36Sopenharmony_ci
223962306a36Sopenharmony_cistatic struct clk_branch gcc_prng_ahb_clk = {
224062306a36Sopenharmony_ci	.halt_reg = 0x34004,
224162306a36Sopenharmony_ci	.halt_check = BRANCH_HALT_VOTED,
224262306a36Sopenharmony_ci	.clkr = {
224362306a36Sopenharmony_ci		.enable_reg = 0x52004,
224462306a36Sopenharmony_ci		.enable_mask = BIT(13),
224562306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
224662306a36Sopenharmony_ci			.name = "gcc_prng_ahb_clk",
224762306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
224862306a36Sopenharmony_ci		},
224962306a36Sopenharmony_ci	},
225062306a36Sopenharmony_ci};
225162306a36Sopenharmony_ci
225262306a36Sopenharmony_cistatic struct clk_branch gcc_tsif_ahb_clk = {
225362306a36Sopenharmony_ci	.halt_reg = 0x36004,
225462306a36Sopenharmony_ci	.clkr = {
225562306a36Sopenharmony_ci		.enable_reg = 0x36004,
225662306a36Sopenharmony_ci		.enable_mask = BIT(0),
225762306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
225862306a36Sopenharmony_ci			.name = "gcc_tsif_ahb_clk",
225962306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
226062306a36Sopenharmony_ci		},
226162306a36Sopenharmony_ci	},
226262306a36Sopenharmony_ci};
226362306a36Sopenharmony_ci
226462306a36Sopenharmony_cistatic struct clk_branch gcc_tsif_ref_clk = {
226562306a36Sopenharmony_ci	.halt_reg = 0x36008,
226662306a36Sopenharmony_ci	.clkr = {
226762306a36Sopenharmony_ci		.enable_reg = 0x36008,
226862306a36Sopenharmony_ci		.enable_mask = BIT(0),
226962306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
227062306a36Sopenharmony_ci			.name = "gcc_tsif_ref_clk",
227162306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw*[]){
227262306a36Sopenharmony_ci				&tsif_ref_clk_src.clkr.hw,
227362306a36Sopenharmony_ci			},
227462306a36Sopenharmony_ci			.num_parents = 1,
227562306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
227662306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
227762306a36Sopenharmony_ci		},
227862306a36Sopenharmony_ci	},
227962306a36Sopenharmony_ci};
228062306a36Sopenharmony_ci
228162306a36Sopenharmony_cistatic struct clk_branch gcc_tsif_inactivity_timers_clk = {
228262306a36Sopenharmony_ci	.halt_reg = 0x3600c,
228362306a36Sopenharmony_ci	.clkr = {
228462306a36Sopenharmony_ci		.enable_reg = 0x3600c,
228562306a36Sopenharmony_ci		.enable_mask = BIT(0),
228662306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
228762306a36Sopenharmony_ci			.name = "gcc_tsif_inactivity_timers_clk",
228862306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw*[]){
228962306a36Sopenharmony_ci				&gcc_sleep_clk_src.clkr.hw,
229062306a36Sopenharmony_ci			},
229162306a36Sopenharmony_ci			.num_parents = 1,
229262306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
229362306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
229462306a36Sopenharmony_ci		},
229562306a36Sopenharmony_ci	},
229662306a36Sopenharmony_ci};
229762306a36Sopenharmony_ci
229862306a36Sopenharmony_cistatic struct clk_branch gcc_boot_rom_ahb_clk = {
229962306a36Sopenharmony_ci	.halt_reg = 0x38004,
230062306a36Sopenharmony_ci	.halt_check = BRANCH_HALT_VOTED,
230162306a36Sopenharmony_ci	.clkr = {
230262306a36Sopenharmony_ci		.enable_reg = 0x52004,
230362306a36Sopenharmony_ci		.enable_mask = BIT(10),
230462306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
230562306a36Sopenharmony_ci			.name = "gcc_boot_rom_ahb_clk",
230662306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
230762306a36Sopenharmony_ci		},
230862306a36Sopenharmony_ci	},
230962306a36Sopenharmony_ci};
231062306a36Sopenharmony_ci
231162306a36Sopenharmony_cistatic struct clk_branch gcc_bimc_gfx_clk = {
231262306a36Sopenharmony_ci	.halt_reg = 0x46018,
231362306a36Sopenharmony_ci	.clkr = {
231462306a36Sopenharmony_ci		.enable_reg = 0x46018,
231562306a36Sopenharmony_ci		.enable_mask = BIT(0),
231662306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
231762306a36Sopenharmony_ci			.name = "gcc_bimc_gfx_clk",
231862306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
231962306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
232062306a36Sopenharmony_ci		},
232162306a36Sopenharmony_ci	},
232262306a36Sopenharmony_ci};
232362306a36Sopenharmony_ci
232462306a36Sopenharmony_cistatic struct clk_branch gcc_hmss_rbcpr_clk = {
232562306a36Sopenharmony_ci	.halt_reg = 0x4800c,
232662306a36Sopenharmony_ci	.clkr = {
232762306a36Sopenharmony_ci		.enable_reg = 0x4800c,
232862306a36Sopenharmony_ci		.enable_mask = BIT(0),
232962306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
233062306a36Sopenharmony_ci			.name = "gcc_hmss_rbcpr_clk",
233162306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw*[]){
233262306a36Sopenharmony_ci				&hmss_rbcpr_clk_src.clkr.hw,
233362306a36Sopenharmony_ci			},
233462306a36Sopenharmony_ci			.num_parents = 1,
233562306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
233662306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
233762306a36Sopenharmony_ci		},
233862306a36Sopenharmony_ci	},
233962306a36Sopenharmony_ci};
234062306a36Sopenharmony_ci
234162306a36Sopenharmony_cistatic struct clk_branch gcc_gp1_clk = {
234262306a36Sopenharmony_ci	.halt_reg = 0x64000,
234362306a36Sopenharmony_ci	.clkr = {
234462306a36Sopenharmony_ci		.enable_reg = 0x64000,
234562306a36Sopenharmony_ci		.enable_mask = BIT(0),
234662306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
234762306a36Sopenharmony_ci			.name = "gcc_gp1_clk",
234862306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw*[]){
234962306a36Sopenharmony_ci				&gp1_clk_src.clkr.hw,
235062306a36Sopenharmony_ci			},
235162306a36Sopenharmony_ci			.num_parents = 1,
235262306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
235362306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
235462306a36Sopenharmony_ci		},
235562306a36Sopenharmony_ci	},
235662306a36Sopenharmony_ci};
235762306a36Sopenharmony_ci
235862306a36Sopenharmony_cistatic struct clk_branch gcc_gp2_clk = {
235962306a36Sopenharmony_ci	.halt_reg = 0x65000,
236062306a36Sopenharmony_ci	.clkr = {
236162306a36Sopenharmony_ci		.enable_reg = 0x65000,
236262306a36Sopenharmony_ci		.enable_mask = BIT(0),
236362306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
236462306a36Sopenharmony_ci			.name = "gcc_gp2_clk",
236562306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw*[]){
236662306a36Sopenharmony_ci				&gp2_clk_src.clkr.hw,
236762306a36Sopenharmony_ci			},
236862306a36Sopenharmony_ci			.num_parents = 1,
236962306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
237062306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
237162306a36Sopenharmony_ci		},
237262306a36Sopenharmony_ci	},
237362306a36Sopenharmony_ci};
237462306a36Sopenharmony_ci
237562306a36Sopenharmony_cistatic struct clk_branch gcc_gp3_clk = {
237662306a36Sopenharmony_ci	.halt_reg = 0x66000,
237762306a36Sopenharmony_ci	.clkr = {
237862306a36Sopenharmony_ci		.enable_reg = 0x66000,
237962306a36Sopenharmony_ci		.enable_mask = BIT(0),
238062306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
238162306a36Sopenharmony_ci			.name = "gcc_gp3_clk",
238262306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw*[]){
238362306a36Sopenharmony_ci				&gp3_clk_src.clkr.hw,
238462306a36Sopenharmony_ci			},
238562306a36Sopenharmony_ci			.num_parents = 1,
238662306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
238762306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
238862306a36Sopenharmony_ci		},
238962306a36Sopenharmony_ci	},
239062306a36Sopenharmony_ci};
239162306a36Sopenharmony_ci
239262306a36Sopenharmony_cistatic struct clk_branch gcc_pcie_0_slv_axi_clk = {
239362306a36Sopenharmony_ci	.halt_reg = 0x6b008,
239462306a36Sopenharmony_ci	.clkr = {
239562306a36Sopenharmony_ci		.enable_reg = 0x6b008,
239662306a36Sopenharmony_ci		.enable_mask = BIT(0),
239762306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
239862306a36Sopenharmony_ci			.name = "gcc_pcie_0_slv_axi_clk",
239962306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
240062306a36Sopenharmony_ci		},
240162306a36Sopenharmony_ci	},
240262306a36Sopenharmony_ci};
240362306a36Sopenharmony_ci
240462306a36Sopenharmony_cistatic struct clk_branch gcc_pcie_0_mstr_axi_clk = {
240562306a36Sopenharmony_ci	.halt_reg = 0x6b00c,
240662306a36Sopenharmony_ci	.clkr = {
240762306a36Sopenharmony_ci		.enable_reg = 0x6b00c,
240862306a36Sopenharmony_ci		.enable_mask = BIT(0),
240962306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
241062306a36Sopenharmony_ci			.name = "gcc_pcie_0_mstr_axi_clk",
241162306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
241262306a36Sopenharmony_ci		},
241362306a36Sopenharmony_ci	},
241462306a36Sopenharmony_ci};
241562306a36Sopenharmony_ci
241662306a36Sopenharmony_cistatic struct clk_branch gcc_pcie_0_cfg_ahb_clk = {
241762306a36Sopenharmony_ci	.halt_reg = 0x6b010,
241862306a36Sopenharmony_ci	.clkr = {
241962306a36Sopenharmony_ci		.enable_reg = 0x6b010,
242062306a36Sopenharmony_ci		.enable_mask = BIT(0),
242162306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
242262306a36Sopenharmony_ci			.name = "gcc_pcie_0_cfg_ahb_clk",
242362306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
242462306a36Sopenharmony_ci		},
242562306a36Sopenharmony_ci	},
242662306a36Sopenharmony_ci};
242762306a36Sopenharmony_ci
242862306a36Sopenharmony_cistatic struct clk_branch gcc_pcie_0_aux_clk = {
242962306a36Sopenharmony_ci	.halt_reg = 0x6b014,
243062306a36Sopenharmony_ci	.clkr = {
243162306a36Sopenharmony_ci		.enable_reg = 0x6b014,
243262306a36Sopenharmony_ci		.enable_mask = BIT(0),
243362306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
243462306a36Sopenharmony_ci			.name = "gcc_pcie_0_aux_clk",
243562306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw*[]){
243662306a36Sopenharmony_ci				&pcie_aux_clk_src.clkr.hw,
243762306a36Sopenharmony_ci			},
243862306a36Sopenharmony_ci			.num_parents = 1,
243962306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
244062306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
244162306a36Sopenharmony_ci		},
244262306a36Sopenharmony_ci	},
244362306a36Sopenharmony_ci};
244462306a36Sopenharmony_ci
244562306a36Sopenharmony_cistatic struct clk_branch gcc_pcie_0_pipe_clk = {
244662306a36Sopenharmony_ci	.halt_reg = 0x6b018,
244762306a36Sopenharmony_ci	.halt_check = BRANCH_HALT_SKIP,
244862306a36Sopenharmony_ci	.clkr = {
244962306a36Sopenharmony_ci		.enable_reg = 0x6b018,
245062306a36Sopenharmony_ci		.enable_mask = BIT(0),
245162306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
245262306a36Sopenharmony_ci			.name = "gcc_pcie_0_pipe_clk",
245362306a36Sopenharmony_ci			.parent_data = &(const struct clk_parent_data){
245462306a36Sopenharmony_ci				.fw_name = "pcie_0_pipe_clk_src", .name = "pcie_0_pipe_clk_src",
245562306a36Sopenharmony_ci			},
245662306a36Sopenharmony_ci			.num_parents = 1,
245762306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
245862306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
245962306a36Sopenharmony_ci		},
246062306a36Sopenharmony_ci	},
246162306a36Sopenharmony_ci};
246262306a36Sopenharmony_ci
246362306a36Sopenharmony_cistatic struct clk_branch gcc_pcie_1_slv_axi_clk = {
246462306a36Sopenharmony_ci	.halt_reg = 0x6d008,
246562306a36Sopenharmony_ci	.clkr = {
246662306a36Sopenharmony_ci		.enable_reg = 0x6d008,
246762306a36Sopenharmony_ci		.enable_mask = BIT(0),
246862306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
246962306a36Sopenharmony_ci			.name = "gcc_pcie_1_slv_axi_clk",
247062306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
247162306a36Sopenharmony_ci		},
247262306a36Sopenharmony_ci	},
247362306a36Sopenharmony_ci};
247462306a36Sopenharmony_ci
247562306a36Sopenharmony_cistatic struct clk_branch gcc_pcie_1_mstr_axi_clk = {
247662306a36Sopenharmony_ci	.halt_reg = 0x6d00c,
247762306a36Sopenharmony_ci	.clkr = {
247862306a36Sopenharmony_ci		.enable_reg = 0x6d00c,
247962306a36Sopenharmony_ci		.enable_mask = BIT(0),
248062306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
248162306a36Sopenharmony_ci			.name = "gcc_pcie_1_mstr_axi_clk",
248262306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
248362306a36Sopenharmony_ci		},
248462306a36Sopenharmony_ci	},
248562306a36Sopenharmony_ci};
248662306a36Sopenharmony_ci
248762306a36Sopenharmony_cistatic struct clk_branch gcc_pcie_1_cfg_ahb_clk = {
248862306a36Sopenharmony_ci	.halt_reg = 0x6d010,
248962306a36Sopenharmony_ci	.clkr = {
249062306a36Sopenharmony_ci		.enable_reg = 0x6d010,
249162306a36Sopenharmony_ci		.enable_mask = BIT(0),
249262306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
249362306a36Sopenharmony_ci			.name = "gcc_pcie_1_cfg_ahb_clk",
249462306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
249562306a36Sopenharmony_ci		},
249662306a36Sopenharmony_ci	},
249762306a36Sopenharmony_ci};
249862306a36Sopenharmony_ci
249962306a36Sopenharmony_cistatic struct clk_branch gcc_pcie_1_aux_clk = {
250062306a36Sopenharmony_ci	.halt_reg = 0x6d014,
250162306a36Sopenharmony_ci	.clkr = {
250262306a36Sopenharmony_ci		.enable_reg = 0x6d014,
250362306a36Sopenharmony_ci		.enable_mask = BIT(0),
250462306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
250562306a36Sopenharmony_ci			.name = "gcc_pcie_1_aux_clk",
250662306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw*[]){
250762306a36Sopenharmony_ci				&pcie_aux_clk_src.clkr.hw,
250862306a36Sopenharmony_ci			},
250962306a36Sopenharmony_ci			.num_parents = 1,
251062306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
251162306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
251262306a36Sopenharmony_ci		},
251362306a36Sopenharmony_ci	},
251462306a36Sopenharmony_ci};
251562306a36Sopenharmony_ci
251662306a36Sopenharmony_cistatic struct clk_branch gcc_pcie_1_pipe_clk = {
251762306a36Sopenharmony_ci	.halt_reg = 0x6d018,
251862306a36Sopenharmony_ci	.halt_check = BRANCH_HALT_SKIP,
251962306a36Sopenharmony_ci	.clkr = {
252062306a36Sopenharmony_ci		.enable_reg = 0x6d018,
252162306a36Sopenharmony_ci		.enable_mask = BIT(0),
252262306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
252362306a36Sopenharmony_ci			.name = "gcc_pcie_1_pipe_clk",
252462306a36Sopenharmony_ci			.parent_data = &(const struct clk_parent_data){
252562306a36Sopenharmony_ci				.fw_name = "pcie_1_pipe_clk_src", .name = "pcie_1_pipe_clk_src",
252662306a36Sopenharmony_ci			},
252762306a36Sopenharmony_ci			.num_parents = 1,
252862306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
252962306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
253062306a36Sopenharmony_ci		},
253162306a36Sopenharmony_ci	},
253262306a36Sopenharmony_ci};
253362306a36Sopenharmony_ci
253462306a36Sopenharmony_cistatic struct clk_branch gcc_pcie_2_slv_axi_clk = {
253562306a36Sopenharmony_ci	.halt_reg = 0x6e008,
253662306a36Sopenharmony_ci	.clkr = {
253762306a36Sopenharmony_ci		.enable_reg = 0x6e008,
253862306a36Sopenharmony_ci		.enable_mask = BIT(0),
253962306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
254062306a36Sopenharmony_ci			.name = "gcc_pcie_2_slv_axi_clk",
254162306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
254262306a36Sopenharmony_ci		},
254362306a36Sopenharmony_ci	},
254462306a36Sopenharmony_ci};
254562306a36Sopenharmony_ci
254662306a36Sopenharmony_cistatic struct clk_branch gcc_pcie_2_mstr_axi_clk = {
254762306a36Sopenharmony_ci	.halt_reg = 0x6e00c,
254862306a36Sopenharmony_ci	.clkr = {
254962306a36Sopenharmony_ci		.enable_reg = 0x6e00c,
255062306a36Sopenharmony_ci		.enable_mask = BIT(0),
255162306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
255262306a36Sopenharmony_ci			.name = "gcc_pcie_2_mstr_axi_clk",
255362306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
255462306a36Sopenharmony_ci		},
255562306a36Sopenharmony_ci	},
255662306a36Sopenharmony_ci};
255762306a36Sopenharmony_ci
255862306a36Sopenharmony_cistatic struct clk_branch gcc_pcie_2_cfg_ahb_clk = {
255962306a36Sopenharmony_ci	.halt_reg = 0x6e010,
256062306a36Sopenharmony_ci	.clkr = {
256162306a36Sopenharmony_ci		.enable_reg = 0x6e010,
256262306a36Sopenharmony_ci		.enable_mask = BIT(0),
256362306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
256462306a36Sopenharmony_ci			.name = "gcc_pcie_2_cfg_ahb_clk",
256562306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
256662306a36Sopenharmony_ci		},
256762306a36Sopenharmony_ci	},
256862306a36Sopenharmony_ci};
256962306a36Sopenharmony_ci
257062306a36Sopenharmony_cistatic struct clk_branch gcc_pcie_2_aux_clk = {
257162306a36Sopenharmony_ci	.halt_reg = 0x6e014,
257262306a36Sopenharmony_ci	.clkr = {
257362306a36Sopenharmony_ci		.enable_reg = 0x6e014,
257462306a36Sopenharmony_ci		.enable_mask = BIT(0),
257562306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
257662306a36Sopenharmony_ci			.name = "gcc_pcie_2_aux_clk",
257762306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw*[]){
257862306a36Sopenharmony_ci				&pcie_aux_clk_src.clkr.hw,
257962306a36Sopenharmony_ci			},
258062306a36Sopenharmony_ci			.num_parents = 1,
258162306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
258262306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
258362306a36Sopenharmony_ci		},
258462306a36Sopenharmony_ci	},
258562306a36Sopenharmony_ci};
258662306a36Sopenharmony_ci
258762306a36Sopenharmony_cistatic struct clk_branch gcc_pcie_2_pipe_clk = {
258862306a36Sopenharmony_ci	.halt_reg = 0x6e018,
258962306a36Sopenharmony_ci	.halt_check = BRANCH_HALT_SKIP,
259062306a36Sopenharmony_ci	.clkr = {
259162306a36Sopenharmony_ci		.enable_reg = 0x6e018,
259262306a36Sopenharmony_ci		.enable_mask = BIT(0),
259362306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
259462306a36Sopenharmony_ci			.name = "gcc_pcie_2_pipe_clk",
259562306a36Sopenharmony_ci			.parent_data = &(const struct clk_parent_data){
259662306a36Sopenharmony_ci				.fw_name = "pcie_2_pipe_clk_src", .name = "pcie_2_pipe_clk_src",
259762306a36Sopenharmony_ci			},
259862306a36Sopenharmony_ci			.num_parents = 1,
259962306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
260062306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
260162306a36Sopenharmony_ci		},
260262306a36Sopenharmony_ci	},
260362306a36Sopenharmony_ci};
260462306a36Sopenharmony_ci
260562306a36Sopenharmony_cistatic struct clk_branch gcc_pcie_phy_cfg_ahb_clk = {
260662306a36Sopenharmony_ci	.halt_reg = 0x6f004,
260762306a36Sopenharmony_ci	.clkr = {
260862306a36Sopenharmony_ci		.enable_reg = 0x6f004,
260962306a36Sopenharmony_ci		.enable_mask = BIT(0),
261062306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
261162306a36Sopenharmony_ci			.name = "gcc_pcie_phy_cfg_ahb_clk",
261262306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
261362306a36Sopenharmony_ci		},
261462306a36Sopenharmony_ci	},
261562306a36Sopenharmony_ci};
261662306a36Sopenharmony_ci
261762306a36Sopenharmony_cistatic struct clk_branch gcc_pcie_phy_aux_clk = {
261862306a36Sopenharmony_ci	.halt_reg = 0x6f008,
261962306a36Sopenharmony_ci	.clkr = {
262062306a36Sopenharmony_ci		.enable_reg = 0x6f008,
262162306a36Sopenharmony_ci		.enable_mask = BIT(0),
262262306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
262362306a36Sopenharmony_ci			.name = "gcc_pcie_phy_aux_clk",
262462306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw*[]){
262562306a36Sopenharmony_ci				&pcie_aux_clk_src.clkr.hw,
262662306a36Sopenharmony_ci			},
262762306a36Sopenharmony_ci			.num_parents = 1,
262862306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
262962306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
263062306a36Sopenharmony_ci		},
263162306a36Sopenharmony_ci	},
263262306a36Sopenharmony_ci};
263362306a36Sopenharmony_ci
263462306a36Sopenharmony_cistatic struct clk_branch gcc_ufs_axi_clk = {
263562306a36Sopenharmony_ci	.halt_reg = 0x75008,
263662306a36Sopenharmony_ci	.clkr = {
263762306a36Sopenharmony_ci		.enable_reg = 0x75008,
263862306a36Sopenharmony_ci		.enable_mask = BIT(0),
263962306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
264062306a36Sopenharmony_ci			.name = "gcc_ufs_axi_clk",
264162306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw*[]){
264262306a36Sopenharmony_ci				&ufs_axi_clk_src.clkr.hw,
264362306a36Sopenharmony_ci			},
264462306a36Sopenharmony_ci			.num_parents = 1,
264562306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
264662306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
264762306a36Sopenharmony_ci		},
264862306a36Sopenharmony_ci	},
264962306a36Sopenharmony_ci};
265062306a36Sopenharmony_ci
265162306a36Sopenharmony_cistatic struct clk_branch gcc_ufs_ahb_clk = {
265262306a36Sopenharmony_ci	.halt_reg = 0x7500c,
265362306a36Sopenharmony_ci	.clkr = {
265462306a36Sopenharmony_ci		.enable_reg = 0x7500c,
265562306a36Sopenharmony_ci		.enable_mask = BIT(0),
265662306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
265762306a36Sopenharmony_ci			.name = "gcc_ufs_ahb_clk",
265862306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
265962306a36Sopenharmony_ci		},
266062306a36Sopenharmony_ci	},
266162306a36Sopenharmony_ci};
266262306a36Sopenharmony_ci
266362306a36Sopenharmony_cistatic struct clk_fixed_factor ufs_tx_cfg_clk_src = {
266462306a36Sopenharmony_ci	.mult = 1,
266562306a36Sopenharmony_ci	.div = 16,
266662306a36Sopenharmony_ci	.hw.init = &(struct clk_init_data){
266762306a36Sopenharmony_ci		.name = "ufs_tx_cfg_clk_src",
266862306a36Sopenharmony_ci		.parent_hws = (const struct clk_hw*[]){
266962306a36Sopenharmony_ci			&ufs_axi_clk_src.clkr.hw,
267062306a36Sopenharmony_ci		},
267162306a36Sopenharmony_ci		.num_parents = 1,
267262306a36Sopenharmony_ci		.flags = CLK_SET_RATE_PARENT,
267362306a36Sopenharmony_ci		.ops = &clk_fixed_factor_ops,
267462306a36Sopenharmony_ci	},
267562306a36Sopenharmony_ci};
267662306a36Sopenharmony_ci
267762306a36Sopenharmony_cistatic struct clk_branch gcc_ufs_tx_cfg_clk = {
267862306a36Sopenharmony_ci	.halt_reg = 0x75010,
267962306a36Sopenharmony_ci	.clkr = {
268062306a36Sopenharmony_ci		.enable_reg = 0x75010,
268162306a36Sopenharmony_ci		.enable_mask = BIT(0),
268262306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
268362306a36Sopenharmony_ci			.name = "gcc_ufs_tx_cfg_clk",
268462306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw*[]){
268562306a36Sopenharmony_ci				&ufs_tx_cfg_clk_src.hw,
268662306a36Sopenharmony_ci			},
268762306a36Sopenharmony_ci			.num_parents = 1,
268862306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
268962306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
269062306a36Sopenharmony_ci		},
269162306a36Sopenharmony_ci	},
269262306a36Sopenharmony_ci};
269362306a36Sopenharmony_ci
269462306a36Sopenharmony_cistatic struct clk_fixed_factor ufs_rx_cfg_clk_src = {
269562306a36Sopenharmony_ci	.mult = 1,
269662306a36Sopenharmony_ci	.div = 16,
269762306a36Sopenharmony_ci	.hw.init = &(struct clk_init_data){
269862306a36Sopenharmony_ci		.name = "ufs_rx_cfg_clk_src",
269962306a36Sopenharmony_ci		.parent_hws = (const struct clk_hw*[]){
270062306a36Sopenharmony_ci			&ufs_axi_clk_src.clkr.hw,
270162306a36Sopenharmony_ci		},
270262306a36Sopenharmony_ci		.num_parents = 1,
270362306a36Sopenharmony_ci		.flags = CLK_SET_RATE_PARENT,
270462306a36Sopenharmony_ci		.ops = &clk_fixed_factor_ops,
270562306a36Sopenharmony_ci	},
270662306a36Sopenharmony_ci};
270762306a36Sopenharmony_ci
270862306a36Sopenharmony_cistatic struct clk_branch gcc_hlos1_vote_lpass_core_smmu_clk = {
270962306a36Sopenharmony_ci	.halt_reg = 0x7d010,
271062306a36Sopenharmony_ci	.halt_check = BRANCH_HALT_VOTED,
271162306a36Sopenharmony_ci	.clkr = {
271262306a36Sopenharmony_ci		.enable_reg = 0x7d010,
271362306a36Sopenharmony_ci		.enable_mask = BIT(0),
271462306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
271562306a36Sopenharmony_ci			.name = "hlos1_vote_lpass_core_smmu_clk",
271662306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
271762306a36Sopenharmony_ci		},
271862306a36Sopenharmony_ci	},
271962306a36Sopenharmony_ci};
272062306a36Sopenharmony_ci
272162306a36Sopenharmony_cistatic struct clk_branch gcc_hlos1_vote_lpass_adsp_smmu_clk = {
272262306a36Sopenharmony_ci	.halt_reg = 0x7d014,
272362306a36Sopenharmony_ci	.halt_check = BRANCH_HALT_VOTED,
272462306a36Sopenharmony_ci	.clkr = {
272562306a36Sopenharmony_ci		.enable_reg = 0x7d014,
272662306a36Sopenharmony_ci		.enable_mask = BIT(0),
272762306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
272862306a36Sopenharmony_ci			.name = "hlos1_vote_lpass_adsp_smmu_clk",
272962306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
273062306a36Sopenharmony_ci		},
273162306a36Sopenharmony_ci	},
273262306a36Sopenharmony_ci};
273362306a36Sopenharmony_ci
273462306a36Sopenharmony_cistatic struct clk_branch gcc_ufs_rx_cfg_clk = {
273562306a36Sopenharmony_ci	.halt_reg = 0x75014,
273662306a36Sopenharmony_ci	.clkr = {
273762306a36Sopenharmony_ci		.enable_reg = 0x75014,
273862306a36Sopenharmony_ci		.enable_mask = BIT(0),
273962306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
274062306a36Sopenharmony_ci			.name = "gcc_ufs_rx_cfg_clk",
274162306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw*[]){
274262306a36Sopenharmony_ci				&ufs_rx_cfg_clk_src.hw,
274362306a36Sopenharmony_ci			},
274462306a36Sopenharmony_ci			.num_parents = 1,
274562306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
274662306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
274762306a36Sopenharmony_ci		},
274862306a36Sopenharmony_ci	},
274962306a36Sopenharmony_ci};
275062306a36Sopenharmony_ci
275162306a36Sopenharmony_cistatic struct clk_branch gcc_ufs_tx_symbol_0_clk = {
275262306a36Sopenharmony_ci	.halt_reg = 0x75018,
275362306a36Sopenharmony_ci	.halt_check = BRANCH_HALT_SKIP,
275462306a36Sopenharmony_ci	.clkr = {
275562306a36Sopenharmony_ci		.enable_reg = 0x75018,
275662306a36Sopenharmony_ci		.enable_mask = BIT(0),
275762306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
275862306a36Sopenharmony_ci			.name = "gcc_ufs_tx_symbol_0_clk",
275962306a36Sopenharmony_ci			.parent_data = &(const struct clk_parent_data){
276062306a36Sopenharmony_ci				.fw_name = "ufs_tx_symbol_0_clk_src", .name = "ufs_tx_symbol_0_clk_src",
276162306a36Sopenharmony_ci			},
276262306a36Sopenharmony_ci			.num_parents = 1,
276362306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
276462306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
276562306a36Sopenharmony_ci		},
276662306a36Sopenharmony_ci	},
276762306a36Sopenharmony_ci};
276862306a36Sopenharmony_ci
276962306a36Sopenharmony_cistatic struct clk_branch gcc_ufs_rx_symbol_0_clk = {
277062306a36Sopenharmony_ci	.halt_reg = 0x7501c,
277162306a36Sopenharmony_ci	.halt_check = BRANCH_HALT_SKIP,
277262306a36Sopenharmony_ci	.clkr = {
277362306a36Sopenharmony_ci		.enable_reg = 0x7501c,
277462306a36Sopenharmony_ci		.enable_mask = BIT(0),
277562306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
277662306a36Sopenharmony_ci			.name = "gcc_ufs_rx_symbol_0_clk",
277762306a36Sopenharmony_ci			.parent_data = &(const struct clk_parent_data){
277862306a36Sopenharmony_ci				.fw_name = "ufs_rx_symbol_0_clk_src", .name = "ufs_rx_symbol_0_clk_src",
277962306a36Sopenharmony_ci			},
278062306a36Sopenharmony_ci			.num_parents = 1,
278162306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
278262306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
278362306a36Sopenharmony_ci		},
278462306a36Sopenharmony_ci	},
278562306a36Sopenharmony_ci};
278662306a36Sopenharmony_ci
278762306a36Sopenharmony_cistatic struct clk_branch gcc_ufs_rx_symbol_1_clk = {
278862306a36Sopenharmony_ci	.halt_reg = 0x75020,
278962306a36Sopenharmony_ci	.halt_check = BRANCH_HALT_SKIP,
279062306a36Sopenharmony_ci	.clkr = {
279162306a36Sopenharmony_ci		.enable_reg = 0x75020,
279262306a36Sopenharmony_ci		.enable_mask = BIT(0),
279362306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
279462306a36Sopenharmony_ci			.name = "gcc_ufs_rx_symbol_1_clk",
279562306a36Sopenharmony_ci			.parent_data = &(const struct clk_parent_data){
279662306a36Sopenharmony_ci				.fw_name = "ufs_rx_symbol_1_clk_src", .name = "ufs_rx_symbol_1_clk_src",
279762306a36Sopenharmony_ci			},
279862306a36Sopenharmony_ci			.num_parents = 1,
279962306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
280062306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
280162306a36Sopenharmony_ci		},
280262306a36Sopenharmony_ci	},
280362306a36Sopenharmony_ci};
280462306a36Sopenharmony_ci
280562306a36Sopenharmony_cistatic struct clk_fixed_factor ufs_ice_core_postdiv_clk_src = {
280662306a36Sopenharmony_ci	.mult = 1,
280762306a36Sopenharmony_ci	.div = 2,
280862306a36Sopenharmony_ci	.hw.init = &(struct clk_init_data){
280962306a36Sopenharmony_ci		.name = "ufs_ice_core_postdiv_clk_src",
281062306a36Sopenharmony_ci		.parent_hws = (const struct clk_hw*[]){
281162306a36Sopenharmony_ci			&ufs_ice_core_clk_src.clkr.hw,
281262306a36Sopenharmony_ci		},
281362306a36Sopenharmony_ci		.num_parents = 1,
281462306a36Sopenharmony_ci		.flags = CLK_SET_RATE_PARENT,
281562306a36Sopenharmony_ci		.ops = &clk_fixed_factor_ops,
281662306a36Sopenharmony_ci	},
281762306a36Sopenharmony_ci};
281862306a36Sopenharmony_ci
281962306a36Sopenharmony_cistatic struct clk_branch gcc_ufs_unipro_core_clk = {
282062306a36Sopenharmony_ci	.halt_reg = 0x7600c,
282162306a36Sopenharmony_ci	.clkr = {
282262306a36Sopenharmony_ci		.enable_reg = 0x7600c,
282362306a36Sopenharmony_ci		.enable_mask = BIT(0),
282462306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
282562306a36Sopenharmony_ci			.name = "gcc_ufs_unipro_core_clk",
282662306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw*[]){
282762306a36Sopenharmony_ci				&ufs_ice_core_postdiv_clk_src.hw,
282862306a36Sopenharmony_ci			},
282962306a36Sopenharmony_ci			.num_parents = 1,
283062306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
283162306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
283262306a36Sopenharmony_ci		},
283362306a36Sopenharmony_ci	},
283462306a36Sopenharmony_ci};
283562306a36Sopenharmony_ci
283662306a36Sopenharmony_cistatic struct clk_branch gcc_ufs_ice_core_clk = {
283762306a36Sopenharmony_ci	.halt_reg = 0x76010,
283862306a36Sopenharmony_ci	.clkr = {
283962306a36Sopenharmony_ci		.enable_reg = 0x76010,
284062306a36Sopenharmony_ci		.enable_mask = BIT(0),
284162306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
284262306a36Sopenharmony_ci			.name = "gcc_ufs_ice_core_clk",
284362306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw*[]){
284462306a36Sopenharmony_ci				&ufs_ice_core_clk_src.clkr.hw,
284562306a36Sopenharmony_ci			},
284662306a36Sopenharmony_ci			.num_parents = 1,
284762306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
284862306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
284962306a36Sopenharmony_ci		},
285062306a36Sopenharmony_ci	},
285162306a36Sopenharmony_ci};
285262306a36Sopenharmony_ci
285362306a36Sopenharmony_cistatic struct clk_branch gcc_ufs_sys_clk_core_clk = {
285462306a36Sopenharmony_ci	.halt_check = BRANCH_HALT_DELAY,
285562306a36Sopenharmony_ci	.clkr = {
285662306a36Sopenharmony_ci		.enable_reg = 0x76030,
285762306a36Sopenharmony_ci		.enable_mask = BIT(0),
285862306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
285962306a36Sopenharmony_ci			.name = "gcc_ufs_sys_clk_core_clk",
286062306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
286162306a36Sopenharmony_ci		},
286262306a36Sopenharmony_ci	},
286362306a36Sopenharmony_ci};
286462306a36Sopenharmony_ci
286562306a36Sopenharmony_cistatic struct clk_branch gcc_ufs_tx_symbol_clk_core_clk = {
286662306a36Sopenharmony_ci	.halt_check = BRANCH_HALT_DELAY,
286762306a36Sopenharmony_ci	.clkr = {
286862306a36Sopenharmony_ci		.enable_reg = 0x76034,
286962306a36Sopenharmony_ci		.enable_mask = BIT(0),
287062306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
287162306a36Sopenharmony_ci			.name = "gcc_ufs_tx_symbol_clk_core_clk",
287262306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
287362306a36Sopenharmony_ci		},
287462306a36Sopenharmony_ci	},
287562306a36Sopenharmony_ci};
287662306a36Sopenharmony_ci
287762306a36Sopenharmony_cistatic struct clk_branch gcc_aggre0_snoc_axi_clk = {
287862306a36Sopenharmony_ci	.halt_reg = 0x81008,
287962306a36Sopenharmony_ci	.clkr = {
288062306a36Sopenharmony_ci		.enable_reg = 0x81008,
288162306a36Sopenharmony_ci		.enable_mask = BIT(0),
288262306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
288362306a36Sopenharmony_ci			.name = "gcc_aggre0_snoc_axi_clk",
288462306a36Sopenharmony_ci			.flags = CLK_IS_CRITICAL,
288562306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
288662306a36Sopenharmony_ci		},
288762306a36Sopenharmony_ci	},
288862306a36Sopenharmony_ci};
288962306a36Sopenharmony_ci
289062306a36Sopenharmony_cistatic struct clk_branch gcc_aggre0_cnoc_ahb_clk = {
289162306a36Sopenharmony_ci	.halt_reg = 0x8100c,
289262306a36Sopenharmony_ci	.clkr = {
289362306a36Sopenharmony_ci		.enable_reg = 0x8100c,
289462306a36Sopenharmony_ci		.enable_mask = BIT(0),
289562306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
289662306a36Sopenharmony_ci			.name = "gcc_aggre0_cnoc_ahb_clk",
289762306a36Sopenharmony_ci			.flags = CLK_IS_CRITICAL,
289862306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
289962306a36Sopenharmony_ci		},
290062306a36Sopenharmony_ci	},
290162306a36Sopenharmony_ci};
290262306a36Sopenharmony_ci
290362306a36Sopenharmony_cistatic struct clk_branch gcc_smmu_aggre0_axi_clk = {
290462306a36Sopenharmony_ci	.halt_reg = 0x81014,
290562306a36Sopenharmony_ci	.clkr = {
290662306a36Sopenharmony_ci		.enable_reg = 0x81014,
290762306a36Sopenharmony_ci		.enable_mask = BIT(0),
290862306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
290962306a36Sopenharmony_ci			.name = "gcc_smmu_aggre0_axi_clk",
291062306a36Sopenharmony_ci			.flags = CLK_IS_CRITICAL,
291162306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
291262306a36Sopenharmony_ci		},
291362306a36Sopenharmony_ci	},
291462306a36Sopenharmony_ci};
291562306a36Sopenharmony_ci
291662306a36Sopenharmony_cistatic struct clk_branch gcc_smmu_aggre0_ahb_clk = {
291762306a36Sopenharmony_ci	.halt_reg = 0x81018,
291862306a36Sopenharmony_ci	.clkr = {
291962306a36Sopenharmony_ci		.enable_reg = 0x81018,
292062306a36Sopenharmony_ci		.enable_mask = BIT(0),
292162306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
292262306a36Sopenharmony_ci			.name = "gcc_smmu_aggre0_ahb_clk",
292362306a36Sopenharmony_ci			.flags = CLK_IS_CRITICAL,
292462306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
292562306a36Sopenharmony_ci		},
292662306a36Sopenharmony_ci	},
292762306a36Sopenharmony_ci};
292862306a36Sopenharmony_ci
292962306a36Sopenharmony_cistatic struct clk_branch gcc_aggre2_ufs_axi_clk = {
293062306a36Sopenharmony_ci	.halt_reg = 0x83014,
293162306a36Sopenharmony_ci	.clkr = {
293262306a36Sopenharmony_ci		.enable_reg = 0x83014,
293362306a36Sopenharmony_ci		.enable_mask = BIT(0),
293462306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
293562306a36Sopenharmony_ci			.name = "gcc_aggre2_ufs_axi_clk",
293662306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw*[]){
293762306a36Sopenharmony_ci				&ufs_axi_clk_src.clkr.hw,
293862306a36Sopenharmony_ci			},
293962306a36Sopenharmony_ci			.num_parents = 1,
294062306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
294162306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
294262306a36Sopenharmony_ci		},
294362306a36Sopenharmony_ci	},
294462306a36Sopenharmony_ci};
294562306a36Sopenharmony_ci
294662306a36Sopenharmony_cistatic struct clk_branch gcc_aggre2_usb3_axi_clk = {
294762306a36Sopenharmony_ci	.halt_reg = 0x83018,
294862306a36Sopenharmony_ci	.clkr = {
294962306a36Sopenharmony_ci		.enable_reg = 0x83018,
295062306a36Sopenharmony_ci		.enable_mask = BIT(0),
295162306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
295262306a36Sopenharmony_ci			.name = "gcc_aggre2_usb3_axi_clk",
295362306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw*[]){
295462306a36Sopenharmony_ci				&usb30_master_clk_src.clkr.hw,
295562306a36Sopenharmony_ci			},
295662306a36Sopenharmony_ci			.num_parents = 1,
295762306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
295862306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
295962306a36Sopenharmony_ci		},
296062306a36Sopenharmony_ci	},
296162306a36Sopenharmony_ci};
296262306a36Sopenharmony_ci
296362306a36Sopenharmony_cistatic struct clk_branch gcc_dcc_ahb_clk = {
296462306a36Sopenharmony_ci	.halt_reg = 0x84004,
296562306a36Sopenharmony_ci	.clkr = {
296662306a36Sopenharmony_ci		.enable_reg = 0x84004,
296762306a36Sopenharmony_ci		.enable_mask = BIT(0),
296862306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
296962306a36Sopenharmony_ci			.name = "gcc_dcc_ahb_clk",
297062306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
297162306a36Sopenharmony_ci		},
297262306a36Sopenharmony_ci	},
297362306a36Sopenharmony_ci};
297462306a36Sopenharmony_ci
297562306a36Sopenharmony_cistatic struct clk_branch gcc_aggre0_noc_mpu_cfg_ahb_clk = {
297662306a36Sopenharmony_ci	.halt_reg = 0x85000,
297762306a36Sopenharmony_ci	.clkr = {
297862306a36Sopenharmony_ci		.enable_reg = 0x85000,
297962306a36Sopenharmony_ci		.enable_mask = BIT(0),
298062306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
298162306a36Sopenharmony_ci			.name = "gcc_aggre0_noc_mpu_cfg_ahb_clk",
298262306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
298362306a36Sopenharmony_ci		},
298462306a36Sopenharmony_ci	},
298562306a36Sopenharmony_ci};
298662306a36Sopenharmony_ci
298762306a36Sopenharmony_cistatic struct clk_branch gcc_qspi_ahb_clk = {
298862306a36Sopenharmony_ci	.halt_reg = 0x8b004,
298962306a36Sopenharmony_ci	.clkr = {
299062306a36Sopenharmony_ci		.enable_reg = 0x8b004,
299162306a36Sopenharmony_ci		.enable_mask = BIT(0),
299262306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
299362306a36Sopenharmony_ci			.name = "gcc_qspi_ahb_clk",
299462306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
299562306a36Sopenharmony_ci		},
299662306a36Sopenharmony_ci	},
299762306a36Sopenharmony_ci};
299862306a36Sopenharmony_ci
299962306a36Sopenharmony_cistatic struct clk_branch gcc_qspi_ser_clk = {
300062306a36Sopenharmony_ci	.halt_reg = 0x8b008,
300162306a36Sopenharmony_ci	.clkr = {
300262306a36Sopenharmony_ci		.enable_reg = 0x8b008,
300362306a36Sopenharmony_ci		.enable_mask = BIT(0),
300462306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
300562306a36Sopenharmony_ci			.name = "gcc_qspi_ser_clk",
300662306a36Sopenharmony_ci			.parent_hws = (const struct clk_hw*[]){
300762306a36Sopenharmony_ci				&qspi_ser_clk_src.clkr.hw,
300862306a36Sopenharmony_ci			},
300962306a36Sopenharmony_ci			.num_parents = 1,
301062306a36Sopenharmony_ci			.flags = CLK_SET_RATE_PARENT,
301162306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
301262306a36Sopenharmony_ci		},
301362306a36Sopenharmony_ci	},
301462306a36Sopenharmony_ci};
301562306a36Sopenharmony_ci
301662306a36Sopenharmony_cistatic struct clk_branch gcc_usb3_clkref_clk = {
301762306a36Sopenharmony_ci	.halt_reg = 0x8800C,
301862306a36Sopenharmony_ci	.clkr = {
301962306a36Sopenharmony_ci		.enable_reg = 0x8800C,
302062306a36Sopenharmony_ci		.enable_mask = BIT(0),
302162306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
302262306a36Sopenharmony_ci			.name = "gcc_usb3_clkref_clk",
302362306a36Sopenharmony_ci			.parent_data = &(const struct clk_parent_data){
302462306a36Sopenharmony_ci				.fw_name = "cxo2",
302562306a36Sopenharmony_ci				.name = "xo",
302662306a36Sopenharmony_ci			},
302762306a36Sopenharmony_ci			.num_parents = 1,
302862306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
302962306a36Sopenharmony_ci		},
303062306a36Sopenharmony_ci	},
303162306a36Sopenharmony_ci};
303262306a36Sopenharmony_ci
303362306a36Sopenharmony_cistatic struct clk_branch gcc_hdmi_clkref_clk = {
303462306a36Sopenharmony_ci	.halt_reg = 0x88000,
303562306a36Sopenharmony_ci	.clkr = {
303662306a36Sopenharmony_ci		.enable_reg = 0x88000,
303762306a36Sopenharmony_ci		.enable_mask = BIT(0),
303862306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
303962306a36Sopenharmony_ci			.name = "gcc_hdmi_clkref_clk",
304062306a36Sopenharmony_ci			.parent_data = &(const struct clk_parent_data){
304162306a36Sopenharmony_ci				.fw_name = "cxo2",
304262306a36Sopenharmony_ci				.name = "xo",
304362306a36Sopenharmony_ci			},
304462306a36Sopenharmony_ci			.num_parents = 1,
304562306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
304662306a36Sopenharmony_ci		},
304762306a36Sopenharmony_ci	},
304862306a36Sopenharmony_ci};
304962306a36Sopenharmony_ci
305062306a36Sopenharmony_cistatic struct clk_branch gcc_edp_clkref_clk = {
305162306a36Sopenharmony_ci	.halt_reg = 0x88004,
305262306a36Sopenharmony_ci	.clkr = {
305362306a36Sopenharmony_ci		.enable_reg = 0x88004,
305462306a36Sopenharmony_ci		.enable_mask = BIT(0),
305562306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
305662306a36Sopenharmony_ci			.name = "gcc_edp_clkref_clk",
305762306a36Sopenharmony_ci			.parent_data = &(const struct clk_parent_data){
305862306a36Sopenharmony_ci				.fw_name = "cxo2",
305962306a36Sopenharmony_ci				.name = "xo",
306062306a36Sopenharmony_ci			},
306162306a36Sopenharmony_ci			.num_parents = 1,
306262306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
306362306a36Sopenharmony_ci		},
306462306a36Sopenharmony_ci	},
306562306a36Sopenharmony_ci};
306662306a36Sopenharmony_ci
306762306a36Sopenharmony_cistatic struct clk_branch gcc_ufs_clkref_clk = {
306862306a36Sopenharmony_ci	.halt_reg = 0x88008,
306962306a36Sopenharmony_ci	.clkr = {
307062306a36Sopenharmony_ci		.enable_reg = 0x88008,
307162306a36Sopenharmony_ci		.enable_mask = BIT(0),
307262306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
307362306a36Sopenharmony_ci			.name = "gcc_ufs_clkref_clk",
307462306a36Sopenharmony_ci			.parent_data = &(const struct clk_parent_data){
307562306a36Sopenharmony_ci				.fw_name = "cxo2",
307662306a36Sopenharmony_ci				.name = "xo",
307762306a36Sopenharmony_ci			},
307862306a36Sopenharmony_ci			.num_parents = 1,
307962306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
308062306a36Sopenharmony_ci		},
308162306a36Sopenharmony_ci	},
308262306a36Sopenharmony_ci};
308362306a36Sopenharmony_ci
308462306a36Sopenharmony_cistatic struct clk_branch gcc_pcie_clkref_clk = {
308562306a36Sopenharmony_ci	.halt_reg = 0x88010,
308662306a36Sopenharmony_ci	.clkr = {
308762306a36Sopenharmony_ci		.enable_reg = 0x88010,
308862306a36Sopenharmony_ci		.enable_mask = BIT(0),
308962306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
309062306a36Sopenharmony_ci			.name = "gcc_pcie_clkref_clk",
309162306a36Sopenharmony_ci			.parent_data = &(const struct clk_parent_data){
309262306a36Sopenharmony_ci				.fw_name = "cxo2",
309362306a36Sopenharmony_ci				.name = "xo",
309462306a36Sopenharmony_ci			},
309562306a36Sopenharmony_ci			.num_parents = 1,
309662306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
309762306a36Sopenharmony_ci		},
309862306a36Sopenharmony_ci	},
309962306a36Sopenharmony_ci};
310062306a36Sopenharmony_ci
310162306a36Sopenharmony_cistatic struct clk_branch gcc_rx2_usb2_clkref_clk = {
310262306a36Sopenharmony_ci	.halt_reg = 0x88014,
310362306a36Sopenharmony_ci	.clkr = {
310462306a36Sopenharmony_ci		.enable_reg = 0x88014,
310562306a36Sopenharmony_ci		.enable_mask = BIT(0),
310662306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
310762306a36Sopenharmony_ci			.name = "gcc_rx2_usb2_clkref_clk",
310862306a36Sopenharmony_ci			.parent_data = &(const struct clk_parent_data){
310962306a36Sopenharmony_ci				.fw_name = "cxo2",
311062306a36Sopenharmony_ci				.name = "xo",
311162306a36Sopenharmony_ci			},
311262306a36Sopenharmony_ci			.num_parents = 1,
311362306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
311462306a36Sopenharmony_ci		},
311562306a36Sopenharmony_ci	},
311662306a36Sopenharmony_ci};
311762306a36Sopenharmony_ci
311862306a36Sopenharmony_cistatic struct clk_branch gcc_rx1_usb2_clkref_clk = {
311962306a36Sopenharmony_ci	.halt_reg = 0x88018,
312062306a36Sopenharmony_ci	.clkr = {
312162306a36Sopenharmony_ci		.enable_reg = 0x88018,
312262306a36Sopenharmony_ci		.enable_mask = BIT(0),
312362306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
312462306a36Sopenharmony_ci			.name = "gcc_rx1_usb2_clkref_clk",
312562306a36Sopenharmony_ci			.parent_data = &(const struct clk_parent_data){
312662306a36Sopenharmony_ci				.fw_name = "cxo2",
312762306a36Sopenharmony_ci				.name = "xo",
312862306a36Sopenharmony_ci			},
312962306a36Sopenharmony_ci			.num_parents = 1,
313062306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
313162306a36Sopenharmony_ci		},
313262306a36Sopenharmony_ci	},
313362306a36Sopenharmony_ci};
313462306a36Sopenharmony_ci
313562306a36Sopenharmony_cistatic struct clk_branch gcc_mss_cfg_ahb_clk = {
313662306a36Sopenharmony_ci	.halt_reg = 0x8a000,
313762306a36Sopenharmony_ci	.clkr = {
313862306a36Sopenharmony_ci		.enable_reg = 0x8a000,
313962306a36Sopenharmony_ci		.enable_mask = BIT(0),
314062306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
314162306a36Sopenharmony_ci			.name = "gcc_mss_cfg_ahb_clk",
314262306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
314362306a36Sopenharmony_ci		},
314462306a36Sopenharmony_ci	},
314562306a36Sopenharmony_ci};
314662306a36Sopenharmony_ci
314762306a36Sopenharmony_cistatic struct clk_branch gcc_mss_mnoc_bimc_axi_clk = {
314862306a36Sopenharmony_ci	.halt_reg = 0x8a004,
314962306a36Sopenharmony_ci	.clkr = {
315062306a36Sopenharmony_ci		.enable_reg = 0x8a004,
315162306a36Sopenharmony_ci		.enable_mask = BIT(0),
315262306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
315362306a36Sopenharmony_ci			.name = "gcc_mss_mnoc_bimc_axi_clk",
315462306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
315562306a36Sopenharmony_ci		},
315662306a36Sopenharmony_ci	},
315762306a36Sopenharmony_ci};
315862306a36Sopenharmony_ci
315962306a36Sopenharmony_cistatic struct clk_branch gcc_mss_snoc_axi_clk = {
316062306a36Sopenharmony_ci	.halt_reg = 0x8a024,
316162306a36Sopenharmony_ci	.clkr = {
316262306a36Sopenharmony_ci		.enable_reg = 0x8a024,
316362306a36Sopenharmony_ci		.enable_mask = BIT(0),
316462306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
316562306a36Sopenharmony_ci			.name = "gcc_mss_snoc_axi_clk",
316662306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
316762306a36Sopenharmony_ci		},
316862306a36Sopenharmony_ci	},
316962306a36Sopenharmony_ci};
317062306a36Sopenharmony_ci
317162306a36Sopenharmony_cistatic struct clk_branch gcc_mss_q6_bimc_axi_clk = {
317262306a36Sopenharmony_ci	.halt_reg = 0x8a028,
317362306a36Sopenharmony_ci	.clkr = {
317462306a36Sopenharmony_ci		.enable_reg = 0x8a028,
317562306a36Sopenharmony_ci		.enable_mask = BIT(0),
317662306a36Sopenharmony_ci		.hw.init = &(struct clk_init_data){
317762306a36Sopenharmony_ci			.name = "gcc_mss_q6_bimc_axi_clk",
317862306a36Sopenharmony_ci			.ops = &clk_branch2_ops,
317962306a36Sopenharmony_ci		},
318062306a36Sopenharmony_ci	},
318162306a36Sopenharmony_ci};
318262306a36Sopenharmony_ci
318362306a36Sopenharmony_cistatic struct clk_hw *gcc_msm8996_hws[] = {
318462306a36Sopenharmony_ci	&xo.hw,
318562306a36Sopenharmony_ci	&gpll0_early_div.hw,
318662306a36Sopenharmony_ci	&ufs_tx_cfg_clk_src.hw,
318762306a36Sopenharmony_ci	&ufs_rx_cfg_clk_src.hw,
318862306a36Sopenharmony_ci	&ufs_ice_core_postdiv_clk_src.hw,
318962306a36Sopenharmony_ci};
319062306a36Sopenharmony_ci
319162306a36Sopenharmony_cistatic struct gdsc aggre0_noc_gdsc = {
319262306a36Sopenharmony_ci	.gdscr = 0x81004,
319362306a36Sopenharmony_ci	.gds_hw_ctrl = 0x81028,
319462306a36Sopenharmony_ci	.pd = {
319562306a36Sopenharmony_ci		.name = "aggre0_noc",
319662306a36Sopenharmony_ci	},
319762306a36Sopenharmony_ci	.pwrsts = PWRSTS_OFF_ON,
319862306a36Sopenharmony_ci	.flags = VOTABLE | ALWAYS_ON,
319962306a36Sopenharmony_ci};
320062306a36Sopenharmony_ci
320162306a36Sopenharmony_cistatic struct gdsc hlos1_vote_aggre0_noc_gdsc = {
320262306a36Sopenharmony_ci	.gdscr = 0x7d024,
320362306a36Sopenharmony_ci	.pd = {
320462306a36Sopenharmony_ci		.name = "hlos1_vote_aggre0_noc",
320562306a36Sopenharmony_ci	},
320662306a36Sopenharmony_ci	.pwrsts = PWRSTS_OFF_ON,
320762306a36Sopenharmony_ci	.flags = VOTABLE,
320862306a36Sopenharmony_ci};
320962306a36Sopenharmony_ci
321062306a36Sopenharmony_cistatic struct gdsc hlos1_vote_lpass_adsp_gdsc = {
321162306a36Sopenharmony_ci	.gdscr = 0x7d034,
321262306a36Sopenharmony_ci	.pd = {
321362306a36Sopenharmony_ci		.name = "hlos1_vote_lpass_adsp",
321462306a36Sopenharmony_ci	},
321562306a36Sopenharmony_ci	.pwrsts = PWRSTS_OFF_ON,
321662306a36Sopenharmony_ci	.flags = VOTABLE,
321762306a36Sopenharmony_ci};
321862306a36Sopenharmony_ci
321962306a36Sopenharmony_cistatic struct gdsc hlos1_vote_lpass_core_gdsc = {
322062306a36Sopenharmony_ci	.gdscr = 0x7d038,
322162306a36Sopenharmony_ci	.pd = {
322262306a36Sopenharmony_ci		.name = "hlos1_vote_lpass_core",
322362306a36Sopenharmony_ci	},
322462306a36Sopenharmony_ci	.pwrsts = PWRSTS_OFF_ON,
322562306a36Sopenharmony_ci	.flags = VOTABLE,
322662306a36Sopenharmony_ci};
322762306a36Sopenharmony_ci
322862306a36Sopenharmony_cistatic struct gdsc usb30_gdsc = {
322962306a36Sopenharmony_ci	.gdscr = 0xf004,
323062306a36Sopenharmony_ci	.pd = {
323162306a36Sopenharmony_ci		.name = "usb30",
323262306a36Sopenharmony_ci	},
323362306a36Sopenharmony_ci	/* TODO: Change to OFF_ON when USB drivers get proper suspend support */
323462306a36Sopenharmony_ci	.pwrsts = PWRSTS_RET_ON,
323562306a36Sopenharmony_ci};
323662306a36Sopenharmony_ci
323762306a36Sopenharmony_cistatic struct gdsc pcie0_gdsc = {
323862306a36Sopenharmony_ci	.gdscr = 0x6b004,
323962306a36Sopenharmony_ci	.pd = {
324062306a36Sopenharmony_ci		.name = "pcie0",
324162306a36Sopenharmony_ci	},
324262306a36Sopenharmony_ci	.pwrsts = PWRSTS_OFF_ON,
324362306a36Sopenharmony_ci};
324462306a36Sopenharmony_ci
324562306a36Sopenharmony_cistatic struct gdsc pcie1_gdsc = {
324662306a36Sopenharmony_ci	.gdscr = 0x6d004,
324762306a36Sopenharmony_ci	.pd = {
324862306a36Sopenharmony_ci		.name = "pcie1",
324962306a36Sopenharmony_ci	},
325062306a36Sopenharmony_ci	.pwrsts = PWRSTS_OFF_ON,
325162306a36Sopenharmony_ci};
325262306a36Sopenharmony_ci
325362306a36Sopenharmony_cistatic struct gdsc pcie2_gdsc = {
325462306a36Sopenharmony_ci	.gdscr = 0x6e004,
325562306a36Sopenharmony_ci	.pd = {
325662306a36Sopenharmony_ci		.name = "pcie2",
325762306a36Sopenharmony_ci	},
325862306a36Sopenharmony_ci	.pwrsts = PWRSTS_OFF_ON,
325962306a36Sopenharmony_ci};
326062306a36Sopenharmony_ci
326162306a36Sopenharmony_cistatic struct gdsc ufs_gdsc = {
326262306a36Sopenharmony_ci	.gdscr = 0x75004,
326362306a36Sopenharmony_ci	.pd = {
326462306a36Sopenharmony_ci		.name = "ufs",
326562306a36Sopenharmony_ci	},
326662306a36Sopenharmony_ci	.pwrsts = PWRSTS_OFF_ON,
326762306a36Sopenharmony_ci};
326862306a36Sopenharmony_ci
326962306a36Sopenharmony_cistatic struct clk_regmap *gcc_msm8996_clocks[] = {
327062306a36Sopenharmony_ci	[GPLL0_EARLY] = &gpll0_early.clkr,
327162306a36Sopenharmony_ci	[GPLL0] = &gpll0.clkr,
327262306a36Sopenharmony_ci	[GPLL4_EARLY] = &gpll4_early.clkr,
327362306a36Sopenharmony_ci	[GPLL4] = &gpll4.clkr,
327462306a36Sopenharmony_ci	[USB30_MASTER_CLK_SRC] = &usb30_master_clk_src.clkr,
327562306a36Sopenharmony_ci	[USB30_MOCK_UTMI_CLK_SRC] = &usb30_mock_utmi_clk_src.clkr,
327662306a36Sopenharmony_ci	[USB3_PHY_AUX_CLK_SRC] = &usb3_phy_aux_clk_src.clkr,
327762306a36Sopenharmony_ci	[USB20_MASTER_CLK_SRC] = &usb20_master_clk_src.clkr,
327862306a36Sopenharmony_ci	[USB20_MOCK_UTMI_CLK_SRC] = &usb20_mock_utmi_clk_src.clkr,
327962306a36Sopenharmony_ci	[SDCC1_APPS_CLK_SRC] = &sdcc1_apps_clk_src.clkr,
328062306a36Sopenharmony_ci	[SDCC1_ICE_CORE_CLK_SRC] = &sdcc1_ice_core_clk_src.clkr,
328162306a36Sopenharmony_ci	[SDCC2_APPS_CLK_SRC] = &sdcc2_apps_clk_src.clkr,
328262306a36Sopenharmony_ci	[SDCC3_APPS_CLK_SRC] = &sdcc3_apps_clk_src.clkr,
328362306a36Sopenharmony_ci	[SDCC4_APPS_CLK_SRC] = &sdcc4_apps_clk_src.clkr,
328462306a36Sopenharmony_ci	[BLSP1_QUP1_SPI_APPS_CLK_SRC] = &blsp1_qup1_spi_apps_clk_src.clkr,
328562306a36Sopenharmony_ci	[BLSP1_QUP1_I2C_APPS_CLK_SRC] = &blsp1_qup1_i2c_apps_clk_src.clkr,
328662306a36Sopenharmony_ci	[BLSP1_UART1_APPS_CLK_SRC] = &blsp1_uart1_apps_clk_src.clkr,
328762306a36Sopenharmony_ci	[BLSP1_QUP2_SPI_APPS_CLK_SRC] = &blsp1_qup2_spi_apps_clk_src.clkr,
328862306a36Sopenharmony_ci	[BLSP1_QUP2_I2C_APPS_CLK_SRC] = &blsp1_qup2_i2c_apps_clk_src.clkr,
328962306a36Sopenharmony_ci	[BLSP1_UART2_APPS_CLK_SRC] = &blsp1_uart2_apps_clk_src.clkr,
329062306a36Sopenharmony_ci	[BLSP1_QUP3_SPI_APPS_CLK_SRC] = &blsp1_qup3_spi_apps_clk_src.clkr,
329162306a36Sopenharmony_ci	[BLSP1_QUP3_I2C_APPS_CLK_SRC] = &blsp1_qup3_i2c_apps_clk_src.clkr,
329262306a36Sopenharmony_ci	[BLSP1_UART3_APPS_CLK_SRC] = &blsp1_uart3_apps_clk_src.clkr,
329362306a36Sopenharmony_ci	[BLSP1_QUP4_SPI_APPS_CLK_SRC] = &blsp1_qup4_spi_apps_clk_src.clkr,
329462306a36Sopenharmony_ci	[BLSP1_QUP4_I2C_APPS_CLK_SRC] = &blsp1_qup4_i2c_apps_clk_src.clkr,
329562306a36Sopenharmony_ci	[BLSP1_UART4_APPS_CLK_SRC] = &blsp1_uart4_apps_clk_src.clkr,
329662306a36Sopenharmony_ci	[BLSP1_QUP5_SPI_APPS_CLK_SRC] = &blsp1_qup5_spi_apps_clk_src.clkr,
329762306a36Sopenharmony_ci	[BLSP1_QUP5_I2C_APPS_CLK_SRC] = &blsp1_qup5_i2c_apps_clk_src.clkr,
329862306a36Sopenharmony_ci	[BLSP1_UART5_APPS_CLK_SRC] = &blsp1_uart5_apps_clk_src.clkr,
329962306a36Sopenharmony_ci	[BLSP1_QUP6_SPI_APPS_CLK_SRC] = &blsp1_qup6_spi_apps_clk_src.clkr,
330062306a36Sopenharmony_ci	[BLSP1_QUP6_I2C_APPS_CLK_SRC] = &blsp1_qup6_i2c_apps_clk_src.clkr,
330162306a36Sopenharmony_ci	[BLSP1_UART6_APPS_CLK_SRC] = &blsp1_uart6_apps_clk_src.clkr,
330262306a36Sopenharmony_ci	[BLSP2_QUP1_SPI_APPS_CLK_SRC] = &blsp2_qup1_spi_apps_clk_src.clkr,
330362306a36Sopenharmony_ci	[BLSP2_QUP1_I2C_APPS_CLK_SRC] = &blsp2_qup1_i2c_apps_clk_src.clkr,
330462306a36Sopenharmony_ci	[BLSP2_UART1_APPS_CLK_SRC] = &blsp2_uart1_apps_clk_src.clkr,
330562306a36Sopenharmony_ci	[BLSP2_QUP2_SPI_APPS_CLK_SRC] = &blsp2_qup2_spi_apps_clk_src.clkr,
330662306a36Sopenharmony_ci	[BLSP2_QUP2_I2C_APPS_CLK_SRC] = &blsp2_qup2_i2c_apps_clk_src.clkr,
330762306a36Sopenharmony_ci	[BLSP2_UART2_APPS_CLK_SRC] = &blsp2_uart2_apps_clk_src.clkr,
330862306a36Sopenharmony_ci	[BLSP2_QUP3_SPI_APPS_CLK_SRC] = &blsp2_qup3_spi_apps_clk_src.clkr,
330962306a36Sopenharmony_ci	[BLSP2_QUP3_I2C_APPS_CLK_SRC] = &blsp2_qup3_i2c_apps_clk_src.clkr,
331062306a36Sopenharmony_ci	[BLSP2_UART3_APPS_CLK_SRC] = &blsp2_uart3_apps_clk_src.clkr,
331162306a36Sopenharmony_ci	[BLSP2_QUP4_SPI_APPS_CLK_SRC] = &blsp2_qup4_spi_apps_clk_src.clkr,
331262306a36Sopenharmony_ci	[BLSP2_QUP4_I2C_APPS_CLK_SRC] = &blsp2_qup4_i2c_apps_clk_src.clkr,
331362306a36Sopenharmony_ci	[BLSP2_UART4_APPS_CLK_SRC] = &blsp2_uart4_apps_clk_src.clkr,
331462306a36Sopenharmony_ci	[BLSP2_QUP5_SPI_APPS_CLK_SRC] = &blsp2_qup5_spi_apps_clk_src.clkr,
331562306a36Sopenharmony_ci	[BLSP2_QUP5_I2C_APPS_CLK_SRC] = &blsp2_qup5_i2c_apps_clk_src.clkr,
331662306a36Sopenharmony_ci	[BLSP2_UART5_APPS_CLK_SRC] = &blsp2_uart5_apps_clk_src.clkr,
331762306a36Sopenharmony_ci	[BLSP2_QUP6_SPI_APPS_CLK_SRC] = &blsp2_qup6_spi_apps_clk_src.clkr,
331862306a36Sopenharmony_ci	[BLSP2_QUP6_I2C_APPS_CLK_SRC] = &blsp2_qup6_i2c_apps_clk_src.clkr,
331962306a36Sopenharmony_ci	[BLSP2_UART6_APPS_CLK_SRC] = &blsp2_uart6_apps_clk_src.clkr,
332062306a36Sopenharmony_ci	[PDM2_CLK_SRC] = &pdm2_clk_src.clkr,
332162306a36Sopenharmony_ci	[TSIF_REF_CLK_SRC] = &tsif_ref_clk_src.clkr,
332262306a36Sopenharmony_ci	[GCC_SLEEP_CLK_SRC] = &gcc_sleep_clk_src.clkr,
332362306a36Sopenharmony_ci	[HMSS_RBCPR_CLK_SRC] = &hmss_rbcpr_clk_src.clkr,
332462306a36Sopenharmony_ci	[HMSS_GPLL0_CLK_SRC] = &hmss_gpll0_clk_src.clkr,
332562306a36Sopenharmony_ci	[GP1_CLK_SRC] = &gp1_clk_src.clkr,
332662306a36Sopenharmony_ci	[GP2_CLK_SRC] = &gp2_clk_src.clkr,
332762306a36Sopenharmony_ci	[GP3_CLK_SRC] = &gp3_clk_src.clkr,
332862306a36Sopenharmony_ci	[PCIE_AUX_CLK_SRC] = &pcie_aux_clk_src.clkr,
332962306a36Sopenharmony_ci	[UFS_AXI_CLK_SRC] = &ufs_axi_clk_src.clkr,
333062306a36Sopenharmony_ci	[UFS_ICE_CORE_CLK_SRC] = &ufs_ice_core_clk_src.clkr,
333162306a36Sopenharmony_ci	[QSPI_SER_CLK_SRC] = &qspi_ser_clk_src.clkr,
333262306a36Sopenharmony_ci	[GCC_SYS_NOC_USB3_AXI_CLK] = &gcc_sys_noc_usb3_axi_clk.clkr,
333362306a36Sopenharmony_ci	[GCC_SYS_NOC_UFS_AXI_CLK] = &gcc_sys_noc_ufs_axi_clk.clkr,
333462306a36Sopenharmony_ci	[GCC_PERIPH_NOC_USB20_AHB_CLK] = &gcc_periph_noc_usb20_ahb_clk.clkr,
333562306a36Sopenharmony_ci	[GCC_MMSS_NOC_CFG_AHB_CLK] = &gcc_mmss_noc_cfg_ahb_clk.clkr,
333662306a36Sopenharmony_ci	[GCC_MMSS_BIMC_GFX_CLK] = &gcc_mmss_bimc_gfx_clk.clkr,
333762306a36Sopenharmony_ci	[GCC_USB30_MASTER_CLK] = &gcc_usb30_master_clk.clkr,
333862306a36Sopenharmony_ci	[GCC_USB30_SLEEP_CLK] = &gcc_usb30_sleep_clk.clkr,
333962306a36Sopenharmony_ci	[GCC_USB30_MOCK_UTMI_CLK] = &gcc_usb30_mock_utmi_clk.clkr,
334062306a36Sopenharmony_ci	[GCC_USB3_PHY_AUX_CLK] = &gcc_usb3_phy_aux_clk.clkr,
334162306a36Sopenharmony_ci	[GCC_USB3_PHY_PIPE_CLK] = &gcc_usb3_phy_pipe_clk.clkr,
334262306a36Sopenharmony_ci	[GCC_USB20_MASTER_CLK] = &gcc_usb20_master_clk.clkr,
334362306a36Sopenharmony_ci	[GCC_USB20_SLEEP_CLK] = &gcc_usb20_sleep_clk.clkr,
334462306a36Sopenharmony_ci	[GCC_USB20_MOCK_UTMI_CLK] = &gcc_usb20_mock_utmi_clk.clkr,
334562306a36Sopenharmony_ci	[GCC_USB_PHY_CFG_AHB2PHY_CLK] = &gcc_usb_phy_cfg_ahb2phy_clk.clkr,
334662306a36Sopenharmony_ci	[GCC_SDCC1_APPS_CLK] = &gcc_sdcc1_apps_clk.clkr,
334762306a36Sopenharmony_ci	[GCC_SDCC1_AHB_CLK] = &gcc_sdcc1_ahb_clk.clkr,
334862306a36Sopenharmony_ci	[GCC_SDCC1_ICE_CORE_CLK] = &gcc_sdcc1_ice_core_clk.clkr,
334962306a36Sopenharmony_ci	[GCC_SDCC2_APPS_CLK] = &gcc_sdcc2_apps_clk.clkr,
335062306a36Sopenharmony_ci	[GCC_SDCC2_AHB_CLK] = &gcc_sdcc2_ahb_clk.clkr,
335162306a36Sopenharmony_ci	[GCC_SDCC3_APPS_CLK] = &gcc_sdcc3_apps_clk.clkr,
335262306a36Sopenharmony_ci	[GCC_SDCC3_AHB_CLK] = &gcc_sdcc3_ahb_clk.clkr,
335362306a36Sopenharmony_ci	[GCC_SDCC4_APPS_CLK] = &gcc_sdcc4_apps_clk.clkr,
335462306a36Sopenharmony_ci	[GCC_SDCC4_AHB_CLK] = &gcc_sdcc4_ahb_clk.clkr,
335562306a36Sopenharmony_ci	[GCC_BLSP1_AHB_CLK] = &gcc_blsp1_ahb_clk.clkr,
335662306a36Sopenharmony_ci	[GCC_BLSP1_SLEEP_CLK] = &gcc_blsp1_sleep_clk.clkr,
335762306a36Sopenharmony_ci	[GCC_BLSP1_QUP1_SPI_APPS_CLK] = &gcc_blsp1_qup1_spi_apps_clk.clkr,
335862306a36Sopenharmony_ci	[GCC_BLSP1_QUP1_I2C_APPS_CLK] = &gcc_blsp1_qup1_i2c_apps_clk.clkr,
335962306a36Sopenharmony_ci	[GCC_BLSP1_UART1_APPS_CLK] = &gcc_blsp1_uart1_apps_clk.clkr,
336062306a36Sopenharmony_ci	[GCC_BLSP1_QUP2_SPI_APPS_CLK] = &gcc_blsp1_qup2_spi_apps_clk.clkr,
336162306a36Sopenharmony_ci	[GCC_BLSP1_QUP2_I2C_APPS_CLK] = &gcc_blsp1_qup2_i2c_apps_clk.clkr,
336262306a36Sopenharmony_ci	[GCC_BLSP1_UART2_APPS_CLK] = &gcc_blsp1_uart2_apps_clk.clkr,
336362306a36Sopenharmony_ci	[GCC_BLSP1_QUP3_SPI_APPS_CLK] = &gcc_blsp1_qup3_spi_apps_clk.clkr,
336462306a36Sopenharmony_ci	[GCC_BLSP1_QUP3_I2C_APPS_CLK] = &gcc_blsp1_qup3_i2c_apps_clk.clkr,
336562306a36Sopenharmony_ci	[GCC_BLSP1_UART3_APPS_CLK] = &gcc_blsp1_uart3_apps_clk.clkr,
336662306a36Sopenharmony_ci	[GCC_BLSP1_QUP4_SPI_APPS_CLK] = &gcc_blsp1_qup4_spi_apps_clk.clkr,
336762306a36Sopenharmony_ci	[GCC_BLSP1_QUP4_I2C_APPS_CLK] = &gcc_blsp1_qup4_i2c_apps_clk.clkr,
336862306a36Sopenharmony_ci	[GCC_BLSP1_UART4_APPS_CLK] = &gcc_blsp1_uart4_apps_clk.clkr,
336962306a36Sopenharmony_ci	[GCC_BLSP1_QUP5_SPI_APPS_CLK] = &gcc_blsp1_qup5_spi_apps_clk.clkr,
337062306a36Sopenharmony_ci	[GCC_BLSP1_QUP5_I2C_APPS_CLK] = &gcc_blsp1_qup5_i2c_apps_clk.clkr,
337162306a36Sopenharmony_ci	[GCC_BLSP1_UART5_APPS_CLK] = &gcc_blsp1_uart5_apps_clk.clkr,
337262306a36Sopenharmony_ci	[GCC_BLSP1_QUP6_SPI_APPS_CLK] = &gcc_blsp1_qup6_spi_apps_clk.clkr,
337362306a36Sopenharmony_ci	[GCC_BLSP1_QUP6_I2C_APPS_CLK] = &gcc_blsp1_qup6_i2c_apps_clk.clkr,
337462306a36Sopenharmony_ci	[GCC_BLSP1_UART6_APPS_CLK] = &gcc_blsp1_uart6_apps_clk.clkr,
337562306a36Sopenharmony_ci	[GCC_BLSP2_AHB_CLK] = &gcc_blsp2_ahb_clk.clkr,
337662306a36Sopenharmony_ci	[GCC_BLSP2_SLEEP_CLK] = &gcc_blsp2_sleep_clk.clkr,
337762306a36Sopenharmony_ci	[GCC_BLSP2_QUP1_SPI_APPS_CLK] = &gcc_blsp2_qup1_spi_apps_clk.clkr,
337862306a36Sopenharmony_ci	[GCC_BLSP2_QUP1_I2C_APPS_CLK] = &gcc_blsp2_qup1_i2c_apps_clk.clkr,
337962306a36Sopenharmony_ci	[GCC_BLSP2_UART1_APPS_CLK] = &gcc_blsp2_uart1_apps_clk.clkr,
338062306a36Sopenharmony_ci	[GCC_BLSP2_QUP2_SPI_APPS_CLK] = &gcc_blsp2_qup2_spi_apps_clk.clkr,
338162306a36Sopenharmony_ci	[GCC_BLSP2_QUP2_I2C_APPS_CLK] = &gcc_blsp2_qup2_i2c_apps_clk.clkr,
338262306a36Sopenharmony_ci	[GCC_BLSP2_UART2_APPS_CLK] = &gcc_blsp2_uart2_apps_clk.clkr,
338362306a36Sopenharmony_ci	[GCC_BLSP2_QUP3_SPI_APPS_CLK] = &gcc_blsp2_qup3_spi_apps_clk.clkr,
338462306a36Sopenharmony_ci	[GCC_BLSP2_QUP3_I2C_APPS_CLK] = &gcc_blsp2_qup3_i2c_apps_clk.clkr,
338562306a36Sopenharmony_ci	[GCC_BLSP2_UART3_APPS_CLK] = &gcc_blsp2_uart3_apps_clk.clkr,
338662306a36Sopenharmony_ci	[GCC_BLSP2_QUP4_SPI_APPS_CLK] = &gcc_blsp2_qup4_spi_apps_clk.clkr,
338762306a36Sopenharmony_ci	[GCC_BLSP2_QUP4_I2C_APPS_CLK] = &gcc_blsp2_qup4_i2c_apps_clk.clkr,
338862306a36Sopenharmony_ci	[GCC_BLSP2_UART4_APPS_CLK] = &gcc_blsp2_uart4_apps_clk.clkr,
338962306a36Sopenharmony_ci	[GCC_BLSP2_QUP5_SPI_APPS_CLK] = &gcc_blsp2_qup5_spi_apps_clk.clkr,
339062306a36Sopenharmony_ci	[GCC_BLSP2_QUP5_I2C_APPS_CLK] = &gcc_blsp2_qup5_i2c_apps_clk.clkr,
339162306a36Sopenharmony_ci	[GCC_BLSP2_UART5_APPS_CLK] = &gcc_blsp2_uart5_apps_clk.clkr,
339262306a36Sopenharmony_ci	[GCC_BLSP2_QUP6_SPI_APPS_CLK] = &gcc_blsp2_qup6_spi_apps_clk.clkr,
339362306a36Sopenharmony_ci	[GCC_BLSP2_QUP6_I2C_APPS_CLK] = &gcc_blsp2_qup6_i2c_apps_clk.clkr,
339462306a36Sopenharmony_ci	[GCC_BLSP2_UART6_APPS_CLK] = &gcc_blsp2_uart6_apps_clk.clkr,
339562306a36Sopenharmony_ci	[GCC_PDM_AHB_CLK] = &gcc_pdm_ahb_clk.clkr,
339662306a36Sopenharmony_ci	[GCC_PDM2_CLK] = &gcc_pdm2_clk.clkr,
339762306a36Sopenharmony_ci	[GCC_PRNG_AHB_CLK] = &gcc_prng_ahb_clk.clkr,
339862306a36Sopenharmony_ci	[GCC_TSIF_AHB_CLK] = &gcc_tsif_ahb_clk.clkr,
339962306a36Sopenharmony_ci	[GCC_TSIF_REF_CLK] = &gcc_tsif_ref_clk.clkr,
340062306a36Sopenharmony_ci	[GCC_TSIF_INACTIVITY_TIMERS_CLK] = &gcc_tsif_inactivity_timers_clk.clkr,
340162306a36Sopenharmony_ci	[GCC_BOOT_ROM_AHB_CLK] = &gcc_boot_rom_ahb_clk.clkr,
340262306a36Sopenharmony_ci	[GCC_BIMC_GFX_CLK] = &gcc_bimc_gfx_clk.clkr,
340362306a36Sopenharmony_ci	[GCC_HMSS_RBCPR_CLK] = &gcc_hmss_rbcpr_clk.clkr,
340462306a36Sopenharmony_ci	[GCC_GP1_CLK] = &gcc_gp1_clk.clkr,
340562306a36Sopenharmony_ci	[GCC_GP2_CLK] = &gcc_gp2_clk.clkr,
340662306a36Sopenharmony_ci	[GCC_GP3_CLK] = &gcc_gp3_clk.clkr,
340762306a36Sopenharmony_ci	[GCC_PCIE_0_SLV_AXI_CLK] = &gcc_pcie_0_slv_axi_clk.clkr,
340862306a36Sopenharmony_ci	[GCC_PCIE_0_MSTR_AXI_CLK] = &gcc_pcie_0_mstr_axi_clk.clkr,
340962306a36Sopenharmony_ci	[GCC_PCIE_0_CFG_AHB_CLK] = &gcc_pcie_0_cfg_ahb_clk.clkr,
341062306a36Sopenharmony_ci	[GCC_PCIE_0_AUX_CLK] = &gcc_pcie_0_aux_clk.clkr,
341162306a36Sopenharmony_ci	[GCC_PCIE_0_PIPE_CLK] = &gcc_pcie_0_pipe_clk.clkr,
341262306a36Sopenharmony_ci	[GCC_PCIE_1_SLV_AXI_CLK] = &gcc_pcie_1_slv_axi_clk.clkr,
341362306a36Sopenharmony_ci	[GCC_PCIE_1_MSTR_AXI_CLK] = &gcc_pcie_1_mstr_axi_clk.clkr,
341462306a36Sopenharmony_ci	[GCC_PCIE_1_CFG_AHB_CLK] = &gcc_pcie_1_cfg_ahb_clk.clkr,
341562306a36Sopenharmony_ci	[GCC_PCIE_1_AUX_CLK] = &gcc_pcie_1_aux_clk.clkr,
341662306a36Sopenharmony_ci	[GCC_PCIE_1_PIPE_CLK] = &gcc_pcie_1_pipe_clk.clkr,
341762306a36Sopenharmony_ci	[GCC_PCIE_2_SLV_AXI_CLK] = &gcc_pcie_2_slv_axi_clk.clkr,
341862306a36Sopenharmony_ci	[GCC_PCIE_2_MSTR_AXI_CLK] = &gcc_pcie_2_mstr_axi_clk.clkr,
341962306a36Sopenharmony_ci	[GCC_PCIE_2_CFG_AHB_CLK] = &gcc_pcie_2_cfg_ahb_clk.clkr,
342062306a36Sopenharmony_ci	[GCC_PCIE_2_AUX_CLK] = &gcc_pcie_2_aux_clk.clkr,
342162306a36Sopenharmony_ci	[GCC_PCIE_2_PIPE_CLK] = &gcc_pcie_2_pipe_clk.clkr,
342262306a36Sopenharmony_ci	[GCC_PCIE_PHY_CFG_AHB_CLK] = &gcc_pcie_phy_cfg_ahb_clk.clkr,
342362306a36Sopenharmony_ci	[GCC_PCIE_PHY_AUX_CLK] = &gcc_pcie_phy_aux_clk.clkr,
342462306a36Sopenharmony_ci	[GCC_UFS_AXI_CLK] = &gcc_ufs_axi_clk.clkr,
342562306a36Sopenharmony_ci	[GCC_UFS_AHB_CLK] = &gcc_ufs_ahb_clk.clkr,
342662306a36Sopenharmony_ci	[GCC_UFS_TX_CFG_CLK] = &gcc_ufs_tx_cfg_clk.clkr,
342762306a36Sopenharmony_ci	[GCC_UFS_RX_CFG_CLK] = &gcc_ufs_rx_cfg_clk.clkr,
342862306a36Sopenharmony_ci	[GCC_HLOS1_VOTE_LPASS_CORE_SMMU_CLK] = &gcc_hlos1_vote_lpass_core_smmu_clk.clkr,
342962306a36Sopenharmony_ci	[GCC_HLOS1_VOTE_LPASS_ADSP_SMMU_CLK] = &gcc_hlos1_vote_lpass_adsp_smmu_clk.clkr,
343062306a36Sopenharmony_ci	[GCC_UFS_TX_SYMBOL_0_CLK] = &gcc_ufs_tx_symbol_0_clk.clkr,
343162306a36Sopenharmony_ci	[GCC_UFS_RX_SYMBOL_0_CLK] = &gcc_ufs_rx_symbol_0_clk.clkr,
343262306a36Sopenharmony_ci	[GCC_UFS_RX_SYMBOL_1_CLK] = &gcc_ufs_rx_symbol_1_clk.clkr,
343362306a36Sopenharmony_ci	[GCC_UFS_UNIPRO_CORE_CLK] = &gcc_ufs_unipro_core_clk.clkr,
343462306a36Sopenharmony_ci	[GCC_UFS_ICE_CORE_CLK] = &gcc_ufs_ice_core_clk.clkr,
343562306a36Sopenharmony_ci	[GCC_UFS_SYS_CLK_CORE_CLK] = &gcc_ufs_sys_clk_core_clk.clkr,
343662306a36Sopenharmony_ci	[GCC_UFS_TX_SYMBOL_CLK_CORE_CLK] = &gcc_ufs_tx_symbol_clk_core_clk.clkr,
343762306a36Sopenharmony_ci	[GCC_AGGRE0_SNOC_AXI_CLK] = &gcc_aggre0_snoc_axi_clk.clkr,
343862306a36Sopenharmony_ci	[GCC_AGGRE0_CNOC_AHB_CLK] = &gcc_aggre0_cnoc_ahb_clk.clkr,
343962306a36Sopenharmony_ci	[GCC_SMMU_AGGRE0_AXI_CLK] = &gcc_smmu_aggre0_axi_clk.clkr,
344062306a36Sopenharmony_ci	[GCC_SMMU_AGGRE0_AHB_CLK] = &gcc_smmu_aggre0_ahb_clk.clkr,
344162306a36Sopenharmony_ci	[GCC_AGGRE2_UFS_AXI_CLK] = &gcc_aggre2_ufs_axi_clk.clkr,
344262306a36Sopenharmony_ci	[GCC_AGGRE2_USB3_AXI_CLK] = &gcc_aggre2_usb3_axi_clk.clkr,
344362306a36Sopenharmony_ci	[GCC_QSPI_AHB_CLK] = &gcc_qspi_ahb_clk.clkr,
344462306a36Sopenharmony_ci	[GCC_QSPI_SER_CLK] = &gcc_qspi_ser_clk.clkr,
344562306a36Sopenharmony_ci	[GCC_USB3_CLKREF_CLK] = &gcc_usb3_clkref_clk.clkr,
344662306a36Sopenharmony_ci	[GCC_HDMI_CLKREF_CLK] = &gcc_hdmi_clkref_clk.clkr,
344762306a36Sopenharmony_ci	[GCC_UFS_CLKREF_CLK] = &gcc_ufs_clkref_clk.clkr,
344862306a36Sopenharmony_ci	[GCC_PCIE_CLKREF_CLK] = &gcc_pcie_clkref_clk.clkr,
344962306a36Sopenharmony_ci	[GCC_RX2_USB2_CLKREF_CLK] = &gcc_rx2_usb2_clkref_clk.clkr,
345062306a36Sopenharmony_ci	[GCC_RX1_USB2_CLKREF_CLK] = &gcc_rx1_usb2_clkref_clk.clkr,
345162306a36Sopenharmony_ci	[GCC_EDP_CLKREF_CLK] = &gcc_edp_clkref_clk.clkr,
345262306a36Sopenharmony_ci	[GCC_MSS_CFG_AHB_CLK] = &gcc_mss_cfg_ahb_clk.clkr,
345362306a36Sopenharmony_ci	[GCC_MSS_Q6_BIMC_AXI_CLK] = &gcc_mss_q6_bimc_axi_clk.clkr,
345462306a36Sopenharmony_ci	[GCC_MSS_SNOC_AXI_CLK] = &gcc_mss_snoc_axi_clk.clkr,
345562306a36Sopenharmony_ci	[GCC_MSS_MNOC_BIMC_AXI_CLK] = &gcc_mss_mnoc_bimc_axi_clk.clkr,
345662306a36Sopenharmony_ci	[GCC_DCC_AHB_CLK] = &gcc_dcc_ahb_clk.clkr,
345762306a36Sopenharmony_ci	[GCC_AGGRE0_NOC_MPU_CFG_AHB_CLK] = &gcc_aggre0_noc_mpu_cfg_ahb_clk.clkr,
345862306a36Sopenharmony_ci	[GCC_MMSS_GPLL0_DIV_CLK] = &gcc_mmss_gpll0_div_clk.clkr,
345962306a36Sopenharmony_ci	[GCC_MSS_GPLL0_DIV_CLK] = &gcc_mss_gpll0_div_clk.clkr,
346062306a36Sopenharmony_ci};
346162306a36Sopenharmony_ci
346262306a36Sopenharmony_cistatic struct gdsc *gcc_msm8996_gdscs[] = {
346362306a36Sopenharmony_ci	[AGGRE0_NOC_GDSC] = &aggre0_noc_gdsc,
346462306a36Sopenharmony_ci	[HLOS1_VOTE_AGGRE0_NOC_GDSC] = &hlos1_vote_aggre0_noc_gdsc,
346562306a36Sopenharmony_ci	[HLOS1_VOTE_LPASS_ADSP_GDSC] = &hlos1_vote_lpass_adsp_gdsc,
346662306a36Sopenharmony_ci	[HLOS1_VOTE_LPASS_CORE_GDSC] = &hlos1_vote_lpass_core_gdsc,
346762306a36Sopenharmony_ci	[USB30_GDSC] = &usb30_gdsc,
346862306a36Sopenharmony_ci	[PCIE0_GDSC] = &pcie0_gdsc,
346962306a36Sopenharmony_ci	[PCIE1_GDSC] = &pcie1_gdsc,
347062306a36Sopenharmony_ci	[PCIE2_GDSC] = &pcie2_gdsc,
347162306a36Sopenharmony_ci	[UFS_GDSC] = &ufs_gdsc,
347262306a36Sopenharmony_ci};
347362306a36Sopenharmony_ci
347462306a36Sopenharmony_cistatic const struct qcom_reset_map gcc_msm8996_resets[] = {
347562306a36Sopenharmony_ci	[GCC_SYSTEM_NOC_BCR] = { 0x4000 },
347662306a36Sopenharmony_ci	[GCC_CONFIG_NOC_BCR] = { 0x5000 },
347762306a36Sopenharmony_ci	[GCC_PERIPH_NOC_BCR] = { 0x6000 },
347862306a36Sopenharmony_ci	[GCC_IMEM_BCR] = { 0x8000 },
347962306a36Sopenharmony_ci	[GCC_MMSS_BCR] = { 0x9000 },
348062306a36Sopenharmony_ci	[GCC_PIMEM_BCR] = { 0x0a000 },
348162306a36Sopenharmony_ci	[GCC_QDSS_BCR] = { 0x0c000 },
348262306a36Sopenharmony_ci	[GCC_USB_30_BCR] = { 0x0f000 },
348362306a36Sopenharmony_ci	[GCC_USB_20_BCR] = { 0x12000 },
348462306a36Sopenharmony_ci	[GCC_QUSB2PHY_PRIM_BCR] = { 0x12038 },
348562306a36Sopenharmony_ci	[GCC_QUSB2PHY_SEC_BCR] = { 0x1203c },
348662306a36Sopenharmony_ci	[GCC_USB3_PHY_BCR] = { 0x50020 },
348762306a36Sopenharmony_ci	[GCC_USB3PHY_PHY_BCR] = { 0x50024 },
348862306a36Sopenharmony_ci	[GCC_USB_PHY_CFG_AHB2PHY_BCR] = { 0x6a000 },
348962306a36Sopenharmony_ci	[GCC_SDCC1_BCR] = { 0x13000 },
349062306a36Sopenharmony_ci	[GCC_SDCC2_BCR] = { 0x14000 },
349162306a36Sopenharmony_ci	[GCC_SDCC3_BCR] = { 0x15000 },
349262306a36Sopenharmony_ci	[GCC_SDCC4_BCR] = { 0x16000 },
349362306a36Sopenharmony_ci	[GCC_BLSP1_BCR] = { 0x17000 },
349462306a36Sopenharmony_ci	[GCC_BLSP1_QUP1_BCR] = { 0x19000 },
349562306a36Sopenharmony_ci	[GCC_BLSP1_UART1_BCR] = { 0x1a000 },
349662306a36Sopenharmony_ci	[GCC_BLSP1_QUP2_BCR] = { 0x1b000 },
349762306a36Sopenharmony_ci	[GCC_BLSP1_UART2_BCR] = { 0x1c000 },
349862306a36Sopenharmony_ci	[GCC_BLSP1_QUP3_BCR] = { 0x1d000 },
349962306a36Sopenharmony_ci	[GCC_BLSP1_UART3_BCR] = { 0x1e000 },
350062306a36Sopenharmony_ci	[GCC_BLSP1_QUP4_BCR] = { 0x1f000 },
350162306a36Sopenharmony_ci	[GCC_BLSP1_UART4_BCR] = { 0x20000 },
350262306a36Sopenharmony_ci	[GCC_BLSP1_QUP5_BCR] = { 0x21000 },
350362306a36Sopenharmony_ci	[GCC_BLSP1_UART5_BCR] = { 0x22000 },
350462306a36Sopenharmony_ci	[GCC_BLSP1_QUP6_BCR] = { 0x23000 },
350562306a36Sopenharmony_ci	[GCC_BLSP1_UART6_BCR] = { 0x24000 },
350662306a36Sopenharmony_ci	[GCC_BLSP2_BCR] = { 0x25000 },
350762306a36Sopenharmony_ci	[GCC_BLSP2_QUP1_BCR] = { 0x26000 },
350862306a36Sopenharmony_ci	[GCC_BLSP2_UART1_BCR] = { 0x27000 },
350962306a36Sopenharmony_ci	[GCC_BLSP2_QUP2_BCR] = { 0x28000 },
351062306a36Sopenharmony_ci	[GCC_BLSP2_UART2_BCR] = { 0x29000 },
351162306a36Sopenharmony_ci	[GCC_BLSP2_QUP3_BCR] = { 0x2a000 },
351262306a36Sopenharmony_ci	[GCC_BLSP2_UART3_BCR] = { 0x2b000 },
351362306a36Sopenharmony_ci	[GCC_BLSP2_QUP4_BCR] = { 0x2c000 },
351462306a36Sopenharmony_ci	[GCC_BLSP2_UART4_BCR] = { 0x2d000 },
351562306a36Sopenharmony_ci	[GCC_BLSP2_QUP5_BCR] = { 0x2e000 },
351662306a36Sopenharmony_ci	[GCC_BLSP2_UART5_BCR] = { 0x2f000 },
351762306a36Sopenharmony_ci	[GCC_BLSP2_QUP6_BCR] = { 0x30000 },
351862306a36Sopenharmony_ci	[GCC_BLSP2_UART6_BCR] = { 0x31000 },
351962306a36Sopenharmony_ci	[GCC_PDM_BCR] = { 0x33000 },
352062306a36Sopenharmony_ci	[GCC_PRNG_BCR] = { 0x34000 },
352162306a36Sopenharmony_ci	[GCC_TSIF_BCR] = { 0x36000 },
352262306a36Sopenharmony_ci	[GCC_TCSR_BCR] = { 0x37000 },
352362306a36Sopenharmony_ci	[GCC_BOOT_ROM_BCR] = { 0x38000 },
352462306a36Sopenharmony_ci	[GCC_MSG_RAM_BCR] = { 0x39000 },
352562306a36Sopenharmony_ci	[GCC_TLMM_BCR] = { 0x3a000 },
352662306a36Sopenharmony_ci	[GCC_MPM_BCR] = { 0x3b000 },
352762306a36Sopenharmony_ci	[GCC_SEC_CTRL_BCR] = { 0x3d000 },
352862306a36Sopenharmony_ci	[GCC_SPMI_BCR] = { 0x3f000 },
352962306a36Sopenharmony_ci	[GCC_SPDM_BCR] = { 0x40000 },
353062306a36Sopenharmony_ci	[GCC_CE1_BCR] = { 0x41000 },
353162306a36Sopenharmony_ci	[GCC_BIMC_BCR] = { 0x44000 },
353262306a36Sopenharmony_ci	[GCC_SNOC_BUS_TIMEOUT0_BCR] = { 0x49000 },
353362306a36Sopenharmony_ci	[GCC_SNOC_BUS_TIMEOUT2_BCR] = { 0x49008 },
353462306a36Sopenharmony_ci	[GCC_SNOC_BUS_TIMEOUT1_BCR] = { 0x49010 },
353562306a36Sopenharmony_ci	[GCC_SNOC_BUS_TIMEOUT3_BCR] = { 0x49018 },
353662306a36Sopenharmony_ci	[GCC_SNOC_BUS_TIMEOUT_EXTREF_BCR] = { 0x49020 },
353762306a36Sopenharmony_ci	[GCC_PNOC_BUS_TIMEOUT0_BCR] = { 0x4a000 },
353862306a36Sopenharmony_ci	[GCC_PNOC_BUS_TIMEOUT1_BCR] = { 0x4a008 },
353962306a36Sopenharmony_ci	[GCC_PNOC_BUS_TIMEOUT2_BCR] = { 0x4a010 },
354062306a36Sopenharmony_ci	[GCC_PNOC_BUS_TIMEOUT3_BCR] = { 0x4a018 },
354162306a36Sopenharmony_ci	[GCC_PNOC_BUS_TIMEOUT4_BCR] = { 0x4a020 },
354262306a36Sopenharmony_ci	[GCC_CNOC_BUS_TIMEOUT0_BCR] = { 0x4b000 },
354362306a36Sopenharmony_ci	[GCC_CNOC_BUS_TIMEOUT1_BCR] = { 0x4b008 },
354462306a36Sopenharmony_ci	[GCC_CNOC_BUS_TIMEOUT2_BCR] = { 0x4b010 },
354562306a36Sopenharmony_ci	[GCC_CNOC_BUS_TIMEOUT3_BCR] = { 0x4b018 },
354662306a36Sopenharmony_ci	[GCC_CNOC_BUS_TIMEOUT4_BCR] = { 0x4b020 },
354762306a36Sopenharmony_ci	[GCC_CNOC_BUS_TIMEOUT5_BCR] = { 0x4b028 },
354862306a36Sopenharmony_ci	[GCC_CNOC_BUS_TIMEOUT6_BCR] = { 0x4b030 },
354962306a36Sopenharmony_ci	[GCC_CNOC_BUS_TIMEOUT7_BCR] = { 0x4b038 },
355062306a36Sopenharmony_ci	[GCC_CNOC_BUS_TIMEOUT8_BCR] = { 0x80000 },
355162306a36Sopenharmony_ci	[GCC_CNOC_BUS_TIMEOUT9_BCR] = { 0x80008 },
355262306a36Sopenharmony_ci	[GCC_CNOC_BUS_TIMEOUT_EXTREF_BCR] = { 0x80010 },
355362306a36Sopenharmony_ci	[GCC_APB2JTAG_BCR] = { 0x4c000 },
355462306a36Sopenharmony_ci	[GCC_RBCPR_CX_BCR] = { 0x4e000 },
355562306a36Sopenharmony_ci	[GCC_RBCPR_MX_BCR] = { 0x4f000 },
355662306a36Sopenharmony_ci	[GCC_PCIE_0_BCR] = { 0x6b000 },
355762306a36Sopenharmony_ci	[GCC_PCIE_0_PHY_BCR] = { 0x6c01c },
355862306a36Sopenharmony_ci	[GCC_PCIE_1_BCR] = { 0x6d000 },
355962306a36Sopenharmony_ci	[GCC_PCIE_1_PHY_BCR] = { 0x6d038 },
356062306a36Sopenharmony_ci	[GCC_PCIE_2_BCR] = { 0x6e000 },
356162306a36Sopenharmony_ci	[GCC_PCIE_2_PHY_BCR] = { 0x6e038 },
356262306a36Sopenharmony_ci	[GCC_PCIE_PHY_BCR] = { 0x6f000 },
356362306a36Sopenharmony_ci	[GCC_PCIE_PHY_COM_BCR] = { 0x6f014 },
356462306a36Sopenharmony_ci	[GCC_PCIE_PHY_COM_NOCSR_BCR] = { 0x6f00c },
356562306a36Sopenharmony_ci	[GCC_DCD_BCR] = { 0x70000 },
356662306a36Sopenharmony_ci	[GCC_OBT_ODT_BCR] = { 0x73000 },
356762306a36Sopenharmony_ci	[GCC_UFS_BCR] = { 0x75000 },
356862306a36Sopenharmony_ci	[GCC_SSC_BCR] = { 0x63000 },
356962306a36Sopenharmony_ci	[GCC_VS_BCR] = { 0x7a000 },
357062306a36Sopenharmony_ci	[GCC_AGGRE0_NOC_BCR] = { 0x81000 },
357162306a36Sopenharmony_ci	[GCC_AGGRE1_NOC_BCR] = { 0x82000 },
357262306a36Sopenharmony_ci	[GCC_AGGRE2_NOC_BCR] = { 0x83000 },
357362306a36Sopenharmony_ci	[GCC_DCC_BCR] = { 0x84000 },
357462306a36Sopenharmony_ci	[GCC_IPA_BCR] = { 0x89000 },
357562306a36Sopenharmony_ci	[GCC_QSPI_BCR] = { 0x8b000 },
357662306a36Sopenharmony_ci	[GCC_SKL_BCR] = { 0x8c000 },
357762306a36Sopenharmony_ci	[GCC_MSMPU_BCR] = { 0x8d000 },
357862306a36Sopenharmony_ci	[GCC_MSS_Q6_BCR] = { 0x8e000 },
357962306a36Sopenharmony_ci	[GCC_QREFS_VBG_CAL_BCR] = { 0x88020 },
358062306a36Sopenharmony_ci	[GCC_MSS_RESTART] = { 0x8f008 },
358162306a36Sopenharmony_ci};
358262306a36Sopenharmony_ci
358362306a36Sopenharmony_cistatic const struct regmap_config gcc_msm8996_regmap_config = {
358462306a36Sopenharmony_ci	.reg_bits	= 32,
358562306a36Sopenharmony_ci	.reg_stride	= 4,
358662306a36Sopenharmony_ci	.val_bits	= 32,
358762306a36Sopenharmony_ci	.max_register	= 0x8f010,
358862306a36Sopenharmony_ci	.fast_io	= true,
358962306a36Sopenharmony_ci};
359062306a36Sopenharmony_ci
359162306a36Sopenharmony_cistatic const struct qcom_cc_desc gcc_msm8996_desc = {
359262306a36Sopenharmony_ci	.config = &gcc_msm8996_regmap_config,
359362306a36Sopenharmony_ci	.clks = gcc_msm8996_clocks,
359462306a36Sopenharmony_ci	.num_clks = ARRAY_SIZE(gcc_msm8996_clocks),
359562306a36Sopenharmony_ci	.resets = gcc_msm8996_resets,
359662306a36Sopenharmony_ci	.num_resets = ARRAY_SIZE(gcc_msm8996_resets),
359762306a36Sopenharmony_ci	.gdscs = gcc_msm8996_gdscs,
359862306a36Sopenharmony_ci	.num_gdscs = ARRAY_SIZE(gcc_msm8996_gdscs),
359962306a36Sopenharmony_ci	.clk_hws = gcc_msm8996_hws,
360062306a36Sopenharmony_ci	.num_clk_hws = ARRAY_SIZE(gcc_msm8996_hws),
360162306a36Sopenharmony_ci};
360262306a36Sopenharmony_ci
360362306a36Sopenharmony_cistatic const struct of_device_id gcc_msm8996_match_table[] = {
360462306a36Sopenharmony_ci	{ .compatible = "qcom,gcc-msm8996" },
360562306a36Sopenharmony_ci	{ }
360662306a36Sopenharmony_ci};
360762306a36Sopenharmony_ciMODULE_DEVICE_TABLE(of, gcc_msm8996_match_table);
360862306a36Sopenharmony_ci
360962306a36Sopenharmony_cistatic int gcc_msm8996_probe(struct platform_device *pdev)
361062306a36Sopenharmony_ci{
361162306a36Sopenharmony_ci	struct regmap *regmap;
361262306a36Sopenharmony_ci
361362306a36Sopenharmony_ci	regmap = qcom_cc_map(pdev, &gcc_msm8996_desc);
361462306a36Sopenharmony_ci	if (IS_ERR(regmap))
361562306a36Sopenharmony_ci		return PTR_ERR(regmap);
361662306a36Sopenharmony_ci
361762306a36Sopenharmony_ci	/*
361862306a36Sopenharmony_ci	 * Set the HMSS_AHB_CLK_SLEEP_ENA bit to allow the hmss_ahb_clk to be
361962306a36Sopenharmony_ci	 * turned off by hardware during certain apps low power modes.
362062306a36Sopenharmony_ci	 */
362162306a36Sopenharmony_ci	regmap_update_bits(regmap, 0x52008, BIT(21), BIT(21));
362262306a36Sopenharmony_ci
362362306a36Sopenharmony_ci	return qcom_cc_really_probe(pdev, &gcc_msm8996_desc, regmap);
362462306a36Sopenharmony_ci}
362562306a36Sopenharmony_ci
362662306a36Sopenharmony_cistatic struct platform_driver gcc_msm8996_driver = {
362762306a36Sopenharmony_ci	.probe		= gcc_msm8996_probe,
362862306a36Sopenharmony_ci	.driver		= {
362962306a36Sopenharmony_ci		.name	= "gcc-msm8996",
363062306a36Sopenharmony_ci		.of_match_table = gcc_msm8996_match_table,
363162306a36Sopenharmony_ci	},
363262306a36Sopenharmony_ci};
363362306a36Sopenharmony_ci
363462306a36Sopenharmony_cistatic int __init gcc_msm8996_init(void)
363562306a36Sopenharmony_ci{
363662306a36Sopenharmony_ci	return platform_driver_register(&gcc_msm8996_driver);
363762306a36Sopenharmony_ci}
363862306a36Sopenharmony_cicore_initcall(gcc_msm8996_init);
363962306a36Sopenharmony_ci
364062306a36Sopenharmony_cistatic void __exit gcc_msm8996_exit(void)
364162306a36Sopenharmony_ci{
364262306a36Sopenharmony_ci	platform_driver_unregister(&gcc_msm8996_driver);
364362306a36Sopenharmony_ci}
364462306a36Sopenharmony_cimodule_exit(gcc_msm8996_exit);
364562306a36Sopenharmony_ci
364662306a36Sopenharmony_ciMODULE_DESCRIPTION("QCOM GCC MSM8996 Driver");
364762306a36Sopenharmony_ciMODULE_LICENSE("GPL v2");
364862306a36Sopenharmony_ciMODULE_ALIAS("platform:gcc-msm8996");
3649