106391eddSTaniya Das // SPDX-License-Identifier: GPL-2.0 206391eddSTaniya Das /* 306391eddSTaniya Das * Copyright (c) 2018, The Linux Foundation. All rights reserved. 406391eddSTaniya Das */ 506391eddSTaniya Das 606391eddSTaniya Das #include <linux/kernel.h> 706391eddSTaniya Das #include <linux/bitops.h> 806391eddSTaniya Das #include <linux/err.h> 906391eddSTaniya Das #include <linux/platform_device.h> 1006391eddSTaniya Das #include <linux/module.h> 1106391eddSTaniya Das #include <linux/of.h> 1206391eddSTaniya Das #include <linux/of_device.h> 1306391eddSTaniya Das #include <linux/clk-provider.h> 1406391eddSTaniya Das #include <linux/regmap.h> 1506391eddSTaniya Das #include <linux/reset-controller.h> 1606391eddSTaniya Das 1706391eddSTaniya Das #include <dt-bindings/clock/qcom,gcc-sdm845.h> 1806391eddSTaniya Das 1906391eddSTaniya Das #include "common.h" 2006391eddSTaniya Das #include "clk-regmap.h" 2106391eddSTaniya Das #include "clk-pll.h" 2206391eddSTaniya Das #include "clk-rcg.h" 2306391eddSTaniya Das #include "clk-branch.h" 2406391eddSTaniya Das #include "clk-alpha-pll.h" 2506391eddSTaniya Das #include "gdsc.h" 2606391eddSTaniya Das #include "reset.h" 2706391eddSTaniya Das 2806391eddSTaniya Das enum { 2906391eddSTaniya Das P_BI_TCXO, 3006391eddSTaniya Das P_AUD_REF_CLK, 3106391eddSTaniya Das P_CORE_BI_PLL_TEST_SE, 3206391eddSTaniya Das P_GPLL0_OUT_EVEN, 3306391eddSTaniya Das P_GPLL0_OUT_MAIN, 3406391eddSTaniya Das P_GPLL4_OUT_MAIN, 3506391eddSTaniya Das P_SLEEP_CLK, 3606391eddSTaniya Das }; 3706391eddSTaniya Das 3806391eddSTaniya Das static const struct parent_map gcc_parent_map_0[] = { 3906391eddSTaniya Das { P_BI_TCXO, 0 }, 4006391eddSTaniya Das { P_GPLL0_OUT_MAIN, 1 }, 4106391eddSTaniya Das { P_GPLL0_OUT_EVEN, 6 }, 4206391eddSTaniya Das { P_CORE_BI_PLL_TEST_SE, 7 }, 4306391eddSTaniya Das }; 4406391eddSTaniya Das 4506391eddSTaniya Das static const char * const gcc_parent_names_0[] = { 4606391eddSTaniya Das "bi_tcxo", 4706391eddSTaniya Das "gpll0", 4806391eddSTaniya Das "gpll0_out_even", 4906391eddSTaniya Das "core_bi_pll_test_se", 5006391eddSTaniya Das }; 5106391eddSTaniya Das 5206391eddSTaniya Das static const struct parent_map gcc_parent_map_1[] = { 5306391eddSTaniya Das { P_BI_TCXO, 0 }, 5406391eddSTaniya Das { P_GPLL0_OUT_MAIN, 1 }, 5506391eddSTaniya Das { P_SLEEP_CLK, 5 }, 5606391eddSTaniya Das { P_GPLL0_OUT_EVEN, 6 }, 5706391eddSTaniya Das { P_CORE_BI_PLL_TEST_SE, 7 }, 5806391eddSTaniya Das }; 5906391eddSTaniya Das 6006391eddSTaniya Das static const char * const gcc_parent_names_1[] = { 6106391eddSTaniya Das "bi_tcxo", 6206391eddSTaniya Das "gpll0", 6306391eddSTaniya Das "core_pi_sleep_clk", 6406391eddSTaniya Das "gpll0_out_even", 6506391eddSTaniya Das "core_bi_pll_test_se", 6606391eddSTaniya Das }; 6706391eddSTaniya Das 6806391eddSTaniya Das static const struct parent_map gcc_parent_map_2[] = { 6906391eddSTaniya Das { P_BI_TCXO, 0 }, 7006391eddSTaniya Das { P_SLEEP_CLK, 5 }, 7106391eddSTaniya Das { P_CORE_BI_PLL_TEST_SE, 7 }, 7206391eddSTaniya Das }; 7306391eddSTaniya Das 7406391eddSTaniya Das static const char * const gcc_parent_names_2[] = { 7506391eddSTaniya Das "bi_tcxo", 7606391eddSTaniya Das "core_pi_sleep_clk", 7706391eddSTaniya Das "core_bi_pll_test_se", 7806391eddSTaniya Das }; 7906391eddSTaniya Das 8006391eddSTaniya Das static const struct parent_map gcc_parent_map_3[] = { 8106391eddSTaniya Das { P_BI_TCXO, 0 }, 8206391eddSTaniya Das { P_GPLL0_OUT_MAIN, 1 }, 8306391eddSTaniya Das { P_CORE_BI_PLL_TEST_SE, 7 }, 8406391eddSTaniya Das }; 8506391eddSTaniya Das 8606391eddSTaniya Das static const char * const gcc_parent_names_3[] = { 8706391eddSTaniya Das "bi_tcxo", 8806391eddSTaniya Das "gpll0", 8906391eddSTaniya Das "core_bi_pll_test_se", 9006391eddSTaniya Das }; 9106391eddSTaniya Das 9206391eddSTaniya Das static const struct parent_map gcc_parent_map_4[] = { 9306391eddSTaniya Das { P_BI_TCXO, 0 }, 9406391eddSTaniya Das { P_CORE_BI_PLL_TEST_SE, 7 }, 9506391eddSTaniya Das }; 9606391eddSTaniya Das 9706391eddSTaniya Das static const char * const gcc_parent_names_4[] = { 9806391eddSTaniya Das "bi_tcxo", 9906391eddSTaniya Das "core_bi_pll_test_se", 10006391eddSTaniya Das }; 10106391eddSTaniya Das 10206391eddSTaniya Das static const struct parent_map gcc_parent_map_6[] = { 10306391eddSTaniya Das { P_BI_TCXO, 0 }, 10406391eddSTaniya Das { P_GPLL0_OUT_MAIN, 1 }, 10506391eddSTaniya Das { P_AUD_REF_CLK, 2 }, 10606391eddSTaniya Das { P_GPLL0_OUT_EVEN, 6 }, 10706391eddSTaniya Das { P_CORE_BI_PLL_TEST_SE, 7 }, 10806391eddSTaniya Das }; 10906391eddSTaniya Das 11006391eddSTaniya Das static const char * const gcc_parent_names_6[] = { 11106391eddSTaniya Das "bi_tcxo", 11206391eddSTaniya Das "gpll0", 11306391eddSTaniya Das "aud_ref_clk", 11406391eddSTaniya Das "gpll0_out_even", 11506391eddSTaniya Das "core_bi_pll_test_se", 11606391eddSTaniya Das }; 11706391eddSTaniya Das 1189ff1a3b4STaniya Das static const char * const gcc_parent_names_7_ao[] = { 1199ff1a3b4STaniya Das "bi_tcxo_ao", 12006391eddSTaniya Das "gpll0", 12106391eddSTaniya Das "gpll0_out_even", 12206391eddSTaniya Das "core_bi_pll_test_se", 12306391eddSTaniya Das }; 12406391eddSTaniya Das 12506391eddSTaniya Das static const char * const gcc_parent_names_8[] = { 12606391eddSTaniya Das "bi_tcxo", 12706391eddSTaniya Das "gpll0", 12806391eddSTaniya Das "core_bi_pll_test_se", 12906391eddSTaniya Das }; 13006391eddSTaniya Das 1319ff1a3b4STaniya Das static const char * const gcc_parent_names_8_ao[] = { 1329ff1a3b4STaniya Das "bi_tcxo_ao", 1339ff1a3b4STaniya Das "gpll0", 1349ff1a3b4STaniya Das "core_bi_pll_test_se", 1359ff1a3b4STaniya Das }; 1369ff1a3b4STaniya Das 13706391eddSTaniya Das static const struct parent_map gcc_parent_map_10[] = { 13806391eddSTaniya Das { P_BI_TCXO, 0 }, 13906391eddSTaniya Das { P_GPLL0_OUT_MAIN, 1 }, 14006391eddSTaniya Das { P_GPLL4_OUT_MAIN, 5 }, 14106391eddSTaniya Das { P_GPLL0_OUT_EVEN, 6 }, 14206391eddSTaniya Das { P_CORE_BI_PLL_TEST_SE, 7 }, 14306391eddSTaniya Das }; 14406391eddSTaniya Das 14506391eddSTaniya Das static const char * const gcc_parent_names_10[] = { 14606391eddSTaniya Das "bi_tcxo", 14706391eddSTaniya Das "gpll0", 14806391eddSTaniya Das "gpll4", 14906391eddSTaniya Das "gpll0_out_even", 15006391eddSTaniya Das "core_bi_pll_test_se", 15106391eddSTaniya Das }; 15206391eddSTaniya Das 15306391eddSTaniya Das static struct clk_alpha_pll gpll0 = { 15406391eddSTaniya Das .offset = 0x0, 15506391eddSTaniya Das .regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_FABIA], 15606391eddSTaniya Das .clkr = { 15706391eddSTaniya Das .enable_reg = 0x52000, 15806391eddSTaniya Das .enable_mask = BIT(0), 15906391eddSTaniya Das .hw.init = &(struct clk_init_data){ 16006391eddSTaniya Das .name = "gpll0", 16106391eddSTaniya Das .parent_names = (const char *[]){ "bi_tcxo" }, 16206391eddSTaniya Das .num_parents = 1, 16306391eddSTaniya Das .ops = &clk_alpha_pll_fixed_fabia_ops, 16406391eddSTaniya Das }, 16506391eddSTaniya Das }, 16606391eddSTaniya Das }; 16706391eddSTaniya Das 16806391eddSTaniya Das static struct clk_alpha_pll gpll4 = { 16906391eddSTaniya Das .offset = 0x76000, 17006391eddSTaniya Das .regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_FABIA], 17106391eddSTaniya Das .clkr = { 17206391eddSTaniya Das .enable_reg = 0x52000, 17306391eddSTaniya Das .enable_mask = BIT(4), 17406391eddSTaniya Das .hw.init = &(struct clk_init_data){ 17506391eddSTaniya Das .name = "gpll4", 17606391eddSTaniya Das .parent_names = (const char *[]){ "bi_tcxo" }, 17706391eddSTaniya Das .num_parents = 1, 17806391eddSTaniya Das .ops = &clk_alpha_pll_fixed_fabia_ops, 17906391eddSTaniya Das }, 18006391eddSTaniya Das }, 18106391eddSTaniya Das }; 18206391eddSTaniya Das 18306391eddSTaniya Das static const struct clk_div_table post_div_table_fabia_even[] = { 18406391eddSTaniya Das { 0x0, 1 }, 18506391eddSTaniya Das { 0x1, 2 }, 18606391eddSTaniya Das { 0x3, 4 }, 18706391eddSTaniya Das { 0x7, 8 }, 18806391eddSTaniya Das { } 18906391eddSTaniya Das }; 19006391eddSTaniya Das 19106391eddSTaniya Das static struct clk_alpha_pll_postdiv gpll0_out_even = { 19206391eddSTaniya Das .offset = 0x0, 19306391eddSTaniya Das .post_div_shift = 8, 19406391eddSTaniya Das .post_div_table = post_div_table_fabia_even, 19506391eddSTaniya Das .num_post_div = ARRAY_SIZE(post_div_table_fabia_even), 19606391eddSTaniya Das .width = 4, 19706391eddSTaniya Das .regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_FABIA], 19806391eddSTaniya Das .clkr.hw.init = &(struct clk_init_data){ 19906391eddSTaniya Das .name = "gpll0_out_even", 20006391eddSTaniya Das .parent_names = (const char *[]){ "gpll0" }, 20106391eddSTaniya Das .num_parents = 1, 20206391eddSTaniya Das .ops = &clk_alpha_pll_postdiv_fabia_ops, 20306391eddSTaniya Das }, 20406391eddSTaniya Das }; 20506391eddSTaniya Das 20606391eddSTaniya Das static const struct freq_tbl ftbl_gcc_cpuss_ahb_clk_src[] = { 20706391eddSTaniya Das F(19200000, P_BI_TCXO, 1, 0, 0), 20806391eddSTaniya Das { } 20906391eddSTaniya Das }; 21006391eddSTaniya Das 21106391eddSTaniya Das static struct clk_rcg2 gcc_cpuss_ahb_clk_src = { 21206391eddSTaniya Das .cmd_rcgr = 0x48014, 21306391eddSTaniya Das .mnd_width = 0, 21406391eddSTaniya Das .hid_width = 5, 21506391eddSTaniya Das .parent_map = gcc_parent_map_0, 21606391eddSTaniya Das .freq_tbl = ftbl_gcc_cpuss_ahb_clk_src, 21706391eddSTaniya Das .clkr.hw.init = &(struct clk_init_data){ 21806391eddSTaniya Das .name = "gcc_cpuss_ahb_clk_src", 2199ff1a3b4STaniya Das .parent_names = gcc_parent_names_7_ao, 22006391eddSTaniya Das .num_parents = 4, 22106391eddSTaniya Das .ops = &clk_rcg2_ops, 22206391eddSTaniya Das }, 22306391eddSTaniya Das }; 22406391eddSTaniya Das 22506391eddSTaniya Das static const struct freq_tbl ftbl_gcc_cpuss_rbcpr_clk_src[] = { 22606391eddSTaniya Das F(19200000, P_BI_TCXO, 1, 0, 0), 22706391eddSTaniya Das { } 22806391eddSTaniya Das }; 22906391eddSTaniya Das 23006391eddSTaniya Das static struct clk_rcg2 gcc_cpuss_rbcpr_clk_src = { 23106391eddSTaniya Das .cmd_rcgr = 0x4815c, 23206391eddSTaniya Das .mnd_width = 0, 23306391eddSTaniya Das .hid_width = 5, 23406391eddSTaniya Das .parent_map = gcc_parent_map_3, 23506391eddSTaniya Das .freq_tbl = ftbl_gcc_cpuss_rbcpr_clk_src, 23606391eddSTaniya Das .clkr.hw.init = &(struct clk_init_data){ 23706391eddSTaniya Das .name = "gcc_cpuss_rbcpr_clk_src", 2389ff1a3b4STaniya Das .parent_names = gcc_parent_names_8_ao, 23906391eddSTaniya Das .num_parents = 3, 24006391eddSTaniya Das .ops = &clk_rcg2_ops, 24106391eddSTaniya Das }, 24206391eddSTaniya Das }; 24306391eddSTaniya Das 24406391eddSTaniya Das static const struct freq_tbl ftbl_gcc_gp1_clk_src[] = { 24506391eddSTaniya Das F(19200000, P_BI_TCXO, 1, 0, 0), 24606391eddSTaniya Das F(25000000, P_GPLL0_OUT_EVEN, 12, 0, 0), 24706391eddSTaniya Das F(50000000, P_GPLL0_OUT_EVEN, 6, 0, 0), 24806391eddSTaniya Das F(100000000, P_GPLL0_OUT_MAIN, 6, 0, 0), 24906391eddSTaniya Das F(200000000, P_GPLL0_OUT_MAIN, 3, 0, 0), 25006391eddSTaniya Das { } 25106391eddSTaniya Das }; 25206391eddSTaniya Das 25306391eddSTaniya Das static struct clk_rcg2 gcc_gp1_clk_src = { 25406391eddSTaniya Das .cmd_rcgr = 0x64004, 25506391eddSTaniya Das .mnd_width = 8, 25606391eddSTaniya Das .hid_width = 5, 25706391eddSTaniya Das .parent_map = gcc_parent_map_1, 25806391eddSTaniya Das .freq_tbl = ftbl_gcc_gp1_clk_src, 25906391eddSTaniya Das .clkr.hw.init = &(struct clk_init_data){ 26006391eddSTaniya Das .name = "gcc_gp1_clk_src", 26106391eddSTaniya Das .parent_names = gcc_parent_names_1, 26206391eddSTaniya Das .num_parents = 5, 26306391eddSTaniya Das .ops = &clk_rcg2_ops, 26406391eddSTaniya Das }, 26506391eddSTaniya Das }; 26606391eddSTaniya Das 26706391eddSTaniya Das static struct clk_rcg2 gcc_gp2_clk_src = { 26806391eddSTaniya Das .cmd_rcgr = 0x65004, 26906391eddSTaniya Das .mnd_width = 8, 27006391eddSTaniya Das .hid_width = 5, 27106391eddSTaniya Das .parent_map = gcc_parent_map_1, 27206391eddSTaniya Das .freq_tbl = ftbl_gcc_gp1_clk_src, 27306391eddSTaniya Das .clkr.hw.init = &(struct clk_init_data){ 27406391eddSTaniya Das .name = "gcc_gp2_clk_src", 27506391eddSTaniya Das .parent_names = gcc_parent_names_1, 27606391eddSTaniya Das .num_parents = 5, 27706391eddSTaniya Das .ops = &clk_rcg2_ops, 27806391eddSTaniya Das }, 27906391eddSTaniya Das }; 28006391eddSTaniya Das 28106391eddSTaniya Das static struct clk_rcg2 gcc_gp3_clk_src = { 28206391eddSTaniya Das .cmd_rcgr = 0x66004, 28306391eddSTaniya Das .mnd_width = 8, 28406391eddSTaniya Das .hid_width = 5, 28506391eddSTaniya Das .parent_map = gcc_parent_map_1, 28606391eddSTaniya Das .freq_tbl = ftbl_gcc_gp1_clk_src, 28706391eddSTaniya Das .clkr.hw.init = &(struct clk_init_data){ 28806391eddSTaniya Das .name = "gcc_gp3_clk_src", 28906391eddSTaniya Das .parent_names = gcc_parent_names_1, 29006391eddSTaniya Das .num_parents = 5, 29106391eddSTaniya Das .ops = &clk_rcg2_ops, 29206391eddSTaniya Das }, 29306391eddSTaniya Das }; 29406391eddSTaniya Das 29506391eddSTaniya Das static const struct freq_tbl ftbl_gcc_pcie_0_aux_clk_src[] = { 29606391eddSTaniya Das F(9600000, P_BI_TCXO, 2, 0, 0), 29706391eddSTaniya Das F(19200000, P_BI_TCXO, 1, 0, 0), 29806391eddSTaniya Das { } 29906391eddSTaniya Das }; 30006391eddSTaniya Das 30106391eddSTaniya Das static struct clk_rcg2 gcc_pcie_0_aux_clk_src = { 30206391eddSTaniya Das .cmd_rcgr = 0x6b028, 30306391eddSTaniya Das .mnd_width = 16, 30406391eddSTaniya Das .hid_width = 5, 30506391eddSTaniya Das .parent_map = gcc_parent_map_2, 30606391eddSTaniya Das .freq_tbl = ftbl_gcc_pcie_0_aux_clk_src, 30706391eddSTaniya Das .clkr.hw.init = &(struct clk_init_data){ 30806391eddSTaniya Das .name = "gcc_pcie_0_aux_clk_src", 30906391eddSTaniya Das .parent_names = gcc_parent_names_2, 31006391eddSTaniya Das .num_parents = 3, 31106391eddSTaniya Das .ops = &clk_rcg2_ops, 31206391eddSTaniya Das }, 31306391eddSTaniya Das }; 31406391eddSTaniya Das 31506391eddSTaniya Das static struct clk_rcg2 gcc_pcie_1_aux_clk_src = { 31606391eddSTaniya Das .cmd_rcgr = 0x8d028, 31706391eddSTaniya Das .mnd_width = 16, 31806391eddSTaniya Das .hid_width = 5, 31906391eddSTaniya Das .parent_map = gcc_parent_map_2, 32006391eddSTaniya Das .freq_tbl = ftbl_gcc_pcie_0_aux_clk_src, 32106391eddSTaniya Das .clkr.hw.init = &(struct clk_init_data){ 32206391eddSTaniya Das .name = "gcc_pcie_1_aux_clk_src", 32306391eddSTaniya Das .parent_names = gcc_parent_names_2, 32406391eddSTaniya Das .num_parents = 3, 32506391eddSTaniya Das .ops = &clk_rcg2_ops, 32606391eddSTaniya Das }, 32706391eddSTaniya Das }; 32806391eddSTaniya Das 32906391eddSTaniya Das static const struct freq_tbl ftbl_gcc_pcie_phy_refgen_clk_src[] = { 33006391eddSTaniya Das F(19200000, P_BI_TCXO, 1, 0, 0), 33106391eddSTaniya Das F(100000000, P_GPLL0_OUT_MAIN, 6, 0, 0), 33206391eddSTaniya Das { } 33306391eddSTaniya Das }; 33406391eddSTaniya Das 33506391eddSTaniya Das static struct clk_rcg2 gcc_pcie_phy_refgen_clk_src = { 33606391eddSTaniya Das .cmd_rcgr = 0x6f014, 33706391eddSTaniya Das .mnd_width = 0, 33806391eddSTaniya Das .hid_width = 5, 33906391eddSTaniya Das .parent_map = gcc_parent_map_0, 34006391eddSTaniya Das .freq_tbl = ftbl_gcc_pcie_phy_refgen_clk_src, 34106391eddSTaniya Das .clkr.hw.init = &(struct clk_init_data){ 34206391eddSTaniya Das .name = "gcc_pcie_phy_refgen_clk_src", 34306391eddSTaniya Das .parent_names = gcc_parent_names_0, 34406391eddSTaniya Das .num_parents = 4, 34506391eddSTaniya Das .ops = &clk_rcg2_ops, 34606391eddSTaniya Das }, 34706391eddSTaniya Das }; 34806391eddSTaniya Das 3494f83d9b8SDouglas Anderson static const struct freq_tbl ftbl_gcc_qspi_core_clk_src[] = { 3504f83d9b8SDouglas Anderson F(19200000, P_BI_TCXO, 1, 0, 0), 3514f83d9b8SDouglas Anderson F(100000000, P_GPLL0_OUT_MAIN, 6, 0, 0), 3524f83d9b8SDouglas Anderson F(150000000, P_GPLL0_OUT_MAIN, 4, 0, 0), 3534f83d9b8SDouglas Anderson F(300000000, P_GPLL0_OUT_MAIN, 2, 0, 0), 3544f83d9b8SDouglas Anderson { } 3554f83d9b8SDouglas Anderson }; 3564f83d9b8SDouglas Anderson 3574f83d9b8SDouglas Anderson static struct clk_rcg2 gcc_qspi_core_clk_src = { 3584f83d9b8SDouglas Anderson .cmd_rcgr = 0x4b008, 3594f83d9b8SDouglas Anderson .mnd_width = 0, 3604f83d9b8SDouglas Anderson .hid_width = 5, 3614f83d9b8SDouglas Anderson .parent_map = gcc_parent_map_0, 3624f83d9b8SDouglas Anderson .freq_tbl = ftbl_gcc_qspi_core_clk_src, 3634f83d9b8SDouglas Anderson .clkr.hw.init = &(struct clk_init_data){ 3644f83d9b8SDouglas Anderson .name = "gcc_qspi_core_clk_src", 3654f83d9b8SDouglas Anderson .parent_names = gcc_parent_names_0, 3664f83d9b8SDouglas Anderson .num_parents = 4, 3674f83d9b8SDouglas Anderson .ops = &clk_rcg2_floor_ops, 3684f83d9b8SDouglas Anderson }, 3694f83d9b8SDouglas Anderson }; 3704f83d9b8SDouglas Anderson 37106391eddSTaniya Das static const struct freq_tbl ftbl_gcc_pdm2_clk_src[] = { 37206391eddSTaniya Das F(9600000, P_BI_TCXO, 2, 0, 0), 37306391eddSTaniya Das F(19200000, P_BI_TCXO, 1, 0, 0), 37406391eddSTaniya Das F(60000000, P_GPLL0_OUT_MAIN, 10, 0, 0), 37506391eddSTaniya Das { } 37606391eddSTaniya Das }; 37706391eddSTaniya Das 37806391eddSTaniya Das static struct clk_rcg2 gcc_pdm2_clk_src = { 37906391eddSTaniya Das .cmd_rcgr = 0x33010, 38006391eddSTaniya Das .mnd_width = 0, 38106391eddSTaniya Das .hid_width = 5, 38206391eddSTaniya Das .parent_map = gcc_parent_map_0, 38306391eddSTaniya Das .freq_tbl = ftbl_gcc_pdm2_clk_src, 38406391eddSTaniya Das .clkr.hw.init = &(struct clk_init_data){ 38506391eddSTaniya Das .name = "gcc_pdm2_clk_src", 38606391eddSTaniya Das .parent_names = gcc_parent_names_0, 38706391eddSTaniya Das .num_parents = 4, 38806391eddSTaniya Das .ops = &clk_rcg2_ops, 38906391eddSTaniya Das }, 39006391eddSTaniya Das }; 39106391eddSTaniya Das 39206391eddSTaniya Das static const struct freq_tbl ftbl_gcc_qupv3_wrap0_s0_clk_src[] = { 39306391eddSTaniya Das F(7372800, P_GPLL0_OUT_EVEN, 1, 384, 15625), 39406391eddSTaniya Das F(14745600, P_GPLL0_OUT_EVEN, 1, 768, 15625), 39506391eddSTaniya Das F(19200000, P_BI_TCXO, 1, 0, 0), 39606391eddSTaniya Das F(29491200, P_GPLL0_OUT_EVEN, 1, 1536, 15625), 39706391eddSTaniya Das F(32000000, P_GPLL0_OUT_EVEN, 1, 8, 75), 39806391eddSTaniya Das F(48000000, P_GPLL0_OUT_EVEN, 1, 4, 25), 39906391eddSTaniya Das F(64000000, P_GPLL0_OUT_EVEN, 1, 16, 75), 40006391eddSTaniya Das F(80000000, P_GPLL0_OUT_EVEN, 1, 4, 15), 40106391eddSTaniya Das F(96000000, P_GPLL0_OUT_EVEN, 1, 8, 25), 40206391eddSTaniya Das F(100000000, P_GPLL0_OUT_EVEN, 3, 0, 0), 40306391eddSTaniya Das F(102400000, P_GPLL0_OUT_EVEN, 1, 128, 375), 40406391eddSTaniya Das F(112000000, P_GPLL0_OUT_EVEN, 1, 28, 75), 40506391eddSTaniya Das F(117964800, P_GPLL0_OUT_EVEN, 1, 6144, 15625), 40606391eddSTaniya Das F(120000000, P_GPLL0_OUT_EVEN, 2.5, 0, 0), 40706391eddSTaniya Das F(128000000, P_GPLL0_OUT_MAIN, 1, 16, 75), 40806391eddSTaniya Das { } 40906391eddSTaniya Das }; 41006391eddSTaniya Das 4118b69c6dbSTaniya Das static struct clk_init_data gcc_qupv3_wrap0_s0_clk_init = { 4128b69c6dbSTaniya Das .name = "gcc_qupv3_wrap0_s0_clk_src", 4138b69c6dbSTaniya Das .parent_names = gcc_parent_names_0, 4148b69c6dbSTaniya Das .num_parents = 4, 4158b69c6dbSTaniya Das .ops = &clk_rcg2_shared_ops, 4168b69c6dbSTaniya Das }; 4178b69c6dbSTaniya Das 41806391eddSTaniya Das static struct clk_rcg2 gcc_qupv3_wrap0_s0_clk_src = { 41906391eddSTaniya Das .cmd_rcgr = 0x17034, 42006391eddSTaniya Das .mnd_width = 16, 42106391eddSTaniya Das .hid_width = 5, 42206391eddSTaniya Das .parent_map = gcc_parent_map_0, 42306391eddSTaniya Das .freq_tbl = ftbl_gcc_qupv3_wrap0_s0_clk_src, 4248b69c6dbSTaniya Das .clkr.hw.init = &gcc_qupv3_wrap0_s0_clk_init, 4258b69c6dbSTaniya Das }; 4268b69c6dbSTaniya Das 4278b69c6dbSTaniya Das static struct clk_init_data gcc_qupv3_wrap0_s1_clk_init = { 4288b69c6dbSTaniya Das .name = "gcc_qupv3_wrap0_s1_clk_src", 42906391eddSTaniya Das .parent_names = gcc_parent_names_0, 43006391eddSTaniya Das .num_parents = 4, 43106391eddSTaniya Das .ops = &clk_rcg2_shared_ops, 43206391eddSTaniya Das }; 43306391eddSTaniya Das 43406391eddSTaniya Das static struct clk_rcg2 gcc_qupv3_wrap0_s1_clk_src = { 43506391eddSTaniya Das .cmd_rcgr = 0x17164, 43606391eddSTaniya Das .mnd_width = 16, 43706391eddSTaniya Das .hid_width = 5, 43806391eddSTaniya Das .parent_map = gcc_parent_map_0, 43906391eddSTaniya Das .freq_tbl = ftbl_gcc_qupv3_wrap0_s0_clk_src, 4408b69c6dbSTaniya Das .clkr.hw.init = &gcc_qupv3_wrap0_s1_clk_init, 4418b69c6dbSTaniya Das }; 4428b69c6dbSTaniya Das 4438b69c6dbSTaniya Das static struct clk_init_data gcc_qupv3_wrap0_s2_clk_init = { 4448b69c6dbSTaniya Das .name = "gcc_qupv3_wrap0_s2_clk_src", 44506391eddSTaniya Das .parent_names = gcc_parent_names_0, 44606391eddSTaniya Das .num_parents = 4, 44706391eddSTaniya Das .ops = &clk_rcg2_shared_ops, 44806391eddSTaniya Das }; 44906391eddSTaniya Das 45006391eddSTaniya Das static struct clk_rcg2 gcc_qupv3_wrap0_s2_clk_src = { 45106391eddSTaniya Das .cmd_rcgr = 0x17294, 45206391eddSTaniya Das .mnd_width = 16, 45306391eddSTaniya Das .hid_width = 5, 45406391eddSTaniya Das .parent_map = gcc_parent_map_0, 45506391eddSTaniya Das .freq_tbl = ftbl_gcc_qupv3_wrap0_s0_clk_src, 4568b69c6dbSTaniya Das .clkr.hw.init = &gcc_qupv3_wrap0_s2_clk_init, 4578b69c6dbSTaniya Das }; 4588b69c6dbSTaniya Das 4598b69c6dbSTaniya Das static struct clk_init_data gcc_qupv3_wrap0_s3_clk_init = { 4608b69c6dbSTaniya Das .name = "gcc_qupv3_wrap0_s3_clk_src", 46106391eddSTaniya Das .parent_names = gcc_parent_names_0, 46206391eddSTaniya Das .num_parents = 4, 46306391eddSTaniya Das .ops = &clk_rcg2_shared_ops, 46406391eddSTaniya Das }; 46506391eddSTaniya Das 46606391eddSTaniya Das static struct clk_rcg2 gcc_qupv3_wrap0_s3_clk_src = { 46706391eddSTaniya Das .cmd_rcgr = 0x173c4, 46806391eddSTaniya Das .mnd_width = 16, 46906391eddSTaniya Das .hid_width = 5, 47006391eddSTaniya Das .parent_map = gcc_parent_map_0, 47106391eddSTaniya Das .freq_tbl = ftbl_gcc_qupv3_wrap0_s0_clk_src, 4728b69c6dbSTaniya Das .clkr.hw.init = &gcc_qupv3_wrap0_s3_clk_init, 4738b69c6dbSTaniya Das }; 4748b69c6dbSTaniya Das 4758b69c6dbSTaniya Das static struct clk_init_data gcc_qupv3_wrap0_s4_clk_init = { 4768b69c6dbSTaniya Das .name = "gcc_qupv3_wrap0_s4_clk_src", 47706391eddSTaniya Das .parent_names = gcc_parent_names_0, 47806391eddSTaniya Das .num_parents = 4, 47906391eddSTaniya Das .ops = &clk_rcg2_shared_ops, 48006391eddSTaniya Das }; 48106391eddSTaniya Das 48206391eddSTaniya Das static struct clk_rcg2 gcc_qupv3_wrap0_s4_clk_src = { 48306391eddSTaniya Das .cmd_rcgr = 0x174f4, 48406391eddSTaniya Das .mnd_width = 16, 48506391eddSTaniya Das .hid_width = 5, 48606391eddSTaniya Das .parent_map = gcc_parent_map_0, 48706391eddSTaniya Das .freq_tbl = ftbl_gcc_qupv3_wrap0_s0_clk_src, 4888b69c6dbSTaniya Das .clkr.hw.init = &gcc_qupv3_wrap0_s4_clk_init, 4898b69c6dbSTaniya Das }; 4908b69c6dbSTaniya Das 4918b69c6dbSTaniya Das static struct clk_init_data gcc_qupv3_wrap0_s5_clk_init = { 4928b69c6dbSTaniya Das .name = "gcc_qupv3_wrap0_s5_clk_src", 49306391eddSTaniya Das .parent_names = gcc_parent_names_0, 49406391eddSTaniya Das .num_parents = 4, 49506391eddSTaniya Das .ops = &clk_rcg2_shared_ops, 49606391eddSTaniya Das }; 49706391eddSTaniya Das 49806391eddSTaniya Das static struct clk_rcg2 gcc_qupv3_wrap0_s5_clk_src = { 49906391eddSTaniya Das .cmd_rcgr = 0x17624, 50006391eddSTaniya Das .mnd_width = 16, 50106391eddSTaniya Das .hid_width = 5, 50206391eddSTaniya Das .parent_map = gcc_parent_map_0, 50306391eddSTaniya Das .freq_tbl = ftbl_gcc_qupv3_wrap0_s0_clk_src, 5048b69c6dbSTaniya Das .clkr.hw.init = &gcc_qupv3_wrap0_s5_clk_init, 5058b69c6dbSTaniya Das }; 5068b69c6dbSTaniya Das 5078b69c6dbSTaniya Das static struct clk_init_data gcc_qupv3_wrap0_s6_clk_init = { 5088b69c6dbSTaniya Das .name = "gcc_qupv3_wrap0_s6_clk_src", 50906391eddSTaniya Das .parent_names = gcc_parent_names_0, 51006391eddSTaniya Das .num_parents = 4, 51106391eddSTaniya Das .ops = &clk_rcg2_shared_ops, 51206391eddSTaniya Das }; 51306391eddSTaniya Das 51406391eddSTaniya Das static struct clk_rcg2 gcc_qupv3_wrap0_s6_clk_src = { 51506391eddSTaniya Das .cmd_rcgr = 0x17754, 51606391eddSTaniya Das .mnd_width = 16, 51706391eddSTaniya Das .hid_width = 5, 51806391eddSTaniya Das .parent_map = gcc_parent_map_0, 51906391eddSTaniya Das .freq_tbl = ftbl_gcc_qupv3_wrap0_s0_clk_src, 5208b69c6dbSTaniya Das .clkr.hw.init = &gcc_qupv3_wrap0_s6_clk_init, 5218b69c6dbSTaniya Das }; 5228b69c6dbSTaniya Das 5238b69c6dbSTaniya Das static struct clk_init_data gcc_qupv3_wrap0_s7_clk_init = { 5248b69c6dbSTaniya Das .name = "gcc_qupv3_wrap0_s7_clk_src", 52506391eddSTaniya Das .parent_names = gcc_parent_names_0, 52606391eddSTaniya Das .num_parents = 4, 52706391eddSTaniya Das .ops = &clk_rcg2_shared_ops, 52806391eddSTaniya Das }; 52906391eddSTaniya Das 53006391eddSTaniya Das static struct clk_rcg2 gcc_qupv3_wrap0_s7_clk_src = { 53106391eddSTaniya Das .cmd_rcgr = 0x17884, 53206391eddSTaniya Das .mnd_width = 16, 53306391eddSTaniya Das .hid_width = 5, 53406391eddSTaniya Das .parent_map = gcc_parent_map_0, 53506391eddSTaniya Das .freq_tbl = ftbl_gcc_qupv3_wrap0_s0_clk_src, 5368b69c6dbSTaniya Das .clkr.hw.init = &gcc_qupv3_wrap0_s7_clk_init, 5378b69c6dbSTaniya Das }; 5388b69c6dbSTaniya Das 5398b69c6dbSTaniya Das static struct clk_init_data gcc_qupv3_wrap1_s0_clk_init = { 5408b69c6dbSTaniya Das .name = "gcc_qupv3_wrap1_s0_clk_src", 54106391eddSTaniya Das .parent_names = gcc_parent_names_0, 54206391eddSTaniya Das .num_parents = 4, 54306391eddSTaniya Das .ops = &clk_rcg2_shared_ops, 54406391eddSTaniya Das }; 54506391eddSTaniya Das 54606391eddSTaniya Das static struct clk_rcg2 gcc_qupv3_wrap1_s0_clk_src = { 54706391eddSTaniya Das .cmd_rcgr = 0x18018, 54806391eddSTaniya Das .mnd_width = 16, 54906391eddSTaniya Das .hid_width = 5, 55006391eddSTaniya Das .parent_map = gcc_parent_map_0, 55106391eddSTaniya Das .freq_tbl = ftbl_gcc_qupv3_wrap0_s0_clk_src, 5528b69c6dbSTaniya Das .clkr.hw.init = &gcc_qupv3_wrap1_s0_clk_init, 5538b69c6dbSTaniya Das }; 5548b69c6dbSTaniya Das 5558b69c6dbSTaniya Das static struct clk_init_data gcc_qupv3_wrap1_s1_clk_init = { 5568b69c6dbSTaniya Das .name = "gcc_qupv3_wrap1_s1_clk_src", 55706391eddSTaniya Das .parent_names = gcc_parent_names_0, 55806391eddSTaniya Das .num_parents = 4, 55906391eddSTaniya Das .ops = &clk_rcg2_shared_ops, 56006391eddSTaniya Das }; 56106391eddSTaniya Das 56206391eddSTaniya Das static struct clk_rcg2 gcc_qupv3_wrap1_s1_clk_src = { 56306391eddSTaniya Das .cmd_rcgr = 0x18148, 56406391eddSTaniya Das .mnd_width = 16, 56506391eddSTaniya Das .hid_width = 5, 56606391eddSTaniya Das .parent_map = gcc_parent_map_0, 56706391eddSTaniya Das .freq_tbl = ftbl_gcc_qupv3_wrap0_s0_clk_src, 5688b69c6dbSTaniya Das .clkr.hw.init = &gcc_qupv3_wrap1_s1_clk_init, 5698b69c6dbSTaniya Das }; 5708b69c6dbSTaniya Das 5718b69c6dbSTaniya Das static struct clk_init_data gcc_qupv3_wrap1_s2_clk_init = { 5728b69c6dbSTaniya Das .name = "gcc_qupv3_wrap1_s2_clk_src", 57306391eddSTaniya Das .parent_names = gcc_parent_names_0, 57406391eddSTaniya Das .num_parents = 4, 57506391eddSTaniya Das .ops = &clk_rcg2_shared_ops, 57606391eddSTaniya Das }; 57706391eddSTaniya Das 57806391eddSTaniya Das static struct clk_rcg2 gcc_qupv3_wrap1_s2_clk_src = { 57906391eddSTaniya Das .cmd_rcgr = 0x18278, 58006391eddSTaniya Das .mnd_width = 16, 58106391eddSTaniya Das .hid_width = 5, 58206391eddSTaniya Das .parent_map = gcc_parent_map_0, 58306391eddSTaniya Das .freq_tbl = ftbl_gcc_qupv3_wrap0_s0_clk_src, 5848b69c6dbSTaniya Das .clkr.hw.init = &gcc_qupv3_wrap1_s2_clk_init, 5858b69c6dbSTaniya Das }; 5868b69c6dbSTaniya Das 5878b69c6dbSTaniya Das static struct clk_init_data gcc_qupv3_wrap1_s3_clk_init = { 5888b69c6dbSTaniya Das .name = "gcc_qupv3_wrap1_s3_clk_src", 58906391eddSTaniya Das .parent_names = gcc_parent_names_0, 59006391eddSTaniya Das .num_parents = 4, 59106391eddSTaniya Das .ops = &clk_rcg2_shared_ops, 59206391eddSTaniya Das }; 59306391eddSTaniya Das 59406391eddSTaniya Das static struct clk_rcg2 gcc_qupv3_wrap1_s3_clk_src = { 59506391eddSTaniya Das .cmd_rcgr = 0x183a8, 59606391eddSTaniya Das .mnd_width = 16, 59706391eddSTaniya Das .hid_width = 5, 59806391eddSTaniya Das .parent_map = gcc_parent_map_0, 59906391eddSTaniya Das .freq_tbl = ftbl_gcc_qupv3_wrap0_s0_clk_src, 6008b69c6dbSTaniya Das .clkr.hw.init = &gcc_qupv3_wrap1_s3_clk_init, 6018b69c6dbSTaniya Das }; 6028b69c6dbSTaniya Das 6038b69c6dbSTaniya Das static struct clk_init_data gcc_qupv3_wrap1_s4_clk_init = { 6048b69c6dbSTaniya Das .name = "gcc_qupv3_wrap1_s4_clk_src", 60506391eddSTaniya Das .parent_names = gcc_parent_names_0, 60606391eddSTaniya Das .num_parents = 4, 60706391eddSTaniya Das .ops = &clk_rcg2_shared_ops, 60806391eddSTaniya Das }; 60906391eddSTaniya Das 61006391eddSTaniya Das static struct clk_rcg2 gcc_qupv3_wrap1_s4_clk_src = { 61106391eddSTaniya Das .cmd_rcgr = 0x184d8, 61206391eddSTaniya Das .mnd_width = 16, 61306391eddSTaniya Das .hid_width = 5, 61406391eddSTaniya Das .parent_map = gcc_parent_map_0, 61506391eddSTaniya Das .freq_tbl = ftbl_gcc_qupv3_wrap0_s0_clk_src, 6168b69c6dbSTaniya Das .clkr.hw.init = &gcc_qupv3_wrap1_s4_clk_init, 6178b69c6dbSTaniya Das }; 6188b69c6dbSTaniya Das 6198b69c6dbSTaniya Das static struct clk_init_data gcc_qupv3_wrap1_s5_clk_init = { 6208b69c6dbSTaniya Das .name = "gcc_qupv3_wrap1_s5_clk_src", 62106391eddSTaniya Das .parent_names = gcc_parent_names_0, 62206391eddSTaniya Das .num_parents = 4, 62306391eddSTaniya Das .ops = &clk_rcg2_shared_ops, 62406391eddSTaniya Das }; 62506391eddSTaniya Das 62606391eddSTaniya Das static struct clk_rcg2 gcc_qupv3_wrap1_s5_clk_src = { 62706391eddSTaniya Das .cmd_rcgr = 0x18608, 62806391eddSTaniya Das .mnd_width = 16, 62906391eddSTaniya Das .hid_width = 5, 63006391eddSTaniya Das .parent_map = gcc_parent_map_0, 63106391eddSTaniya Das .freq_tbl = ftbl_gcc_qupv3_wrap0_s0_clk_src, 6328b69c6dbSTaniya Das .clkr.hw.init = &gcc_qupv3_wrap1_s5_clk_init, 6338b69c6dbSTaniya Das }; 6348b69c6dbSTaniya Das 6358b69c6dbSTaniya Das static struct clk_init_data gcc_qupv3_wrap1_s6_clk_init = { 6368b69c6dbSTaniya Das .name = "gcc_qupv3_wrap1_s6_clk_src", 63706391eddSTaniya Das .parent_names = gcc_parent_names_0, 63806391eddSTaniya Das .num_parents = 4, 63906391eddSTaniya Das .ops = &clk_rcg2_shared_ops, 64006391eddSTaniya Das }; 64106391eddSTaniya Das 64206391eddSTaniya Das static struct clk_rcg2 gcc_qupv3_wrap1_s6_clk_src = { 64306391eddSTaniya Das .cmd_rcgr = 0x18738, 64406391eddSTaniya Das .mnd_width = 16, 64506391eddSTaniya Das .hid_width = 5, 64606391eddSTaniya Das .parent_map = gcc_parent_map_0, 64706391eddSTaniya Das .freq_tbl = ftbl_gcc_qupv3_wrap0_s0_clk_src, 6488b69c6dbSTaniya Das .clkr.hw.init = &gcc_qupv3_wrap1_s6_clk_init, 6498b69c6dbSTaniya Das }; 6508b69c6dbSTaniya Das 6518b69c6dbSTaniya Das static struct clk_init_data gcc_qupv3_wrap1_s7_clk_init = { 6528b69c6dbSTaniya Das .name = "gcc_qupv3_wrap1_s7_clk_src", 65306391eddSTaniya Das .parent_names = gcc_parent_names_0, 65406391eddSTaniya Das .num_parents = 4, 65506391eddSTaniya Das .ops = &clk_rcg2_shared_ops, 65606391eddSTaniya Das }; 65706391eddSTaniya Das 65806391eddSTaniya Das static struct clk_rcg2 gcc_qupv3_wrap1_s7_clk_src = { 65906391eddSTaniya Das .cmd_rcgr = 0x18868, 66006391eddSTaniya Das .mnd_width = 16, 66106391eddSTaniya Das .hid_width = 5, 66206391eddSTaniya Das .parent_map = gcc_parent_map_0, 66306391eddSTaniya Das .freq_tbl = ftbl_gcc_qupv3_wrap0_s0_clk_src, 6648b69c6dbSTaniya Das .clkr.hw.init = &gcc_qupv3_wrap1_s7_clk_init, 66506391eddSTaniya Das }; 66606391eddSTaniya Das 66706391eddSTaniya Das static const struct freq_tbl ftbl_gcc_sdcc2_apps_clk_src[] = { 66806391eddSTaniya Das F(400000, P_BI_TCXO, 12, 1, 4), 66906391eddSTaniya Das F(9600000, P_BI_TCXO, 2, 0, 0), 67006391eddSTaniya Das F(19200000, P_BI_TCXO, 1, 0, 0), 67106391eddSTaniya Das F(25000000, P_GPLL0_OUT_EVEN, 12, 0, 0), 67206391eddSTaniya Das F(50000000, P_GPLL0_OUT_EVEN, 6, 0, 0), 67306391eddSTaniya Das F(100000000, P_GPLL0_OUT_MAIN, 6, 0, 0), 67406391eddSTaniya Das F(201500000, P_GPLL4_OUT_MAIN, 4, 0, 0), 67506391eddSTaniya Das { } 67606391eddSTaniya Das }; 67706391eddSTaniya Das 67806391eddSTaniya Das static struct clk_rcg2 gcc_sdcc2_apps_clk_src = { 67906391eddSTaniya Das .cmd_rcgr = 0x1400c, 68006391eddSTaniya Das .mnd_width = 8, 68106391eddSTaniya Das .hid_width = 5, 68206391eddSTaniya Das .parent_map = gcc_parent_map_10, 68306391eddSTaniya Das .freq_tbl = ftbl_gcc_sdcc2_apps_clk_src, 68406391eddSTaniya Das .clkr.hw.init = &(struct clk_init_data){ 68506391eddSTaniya Das .name = "gcc_sdcc2_apps_clk_src", 68606391eddSTaniya Das .parent_names = gcc_parent_names_10, 68706391eddSTaniya Das .num_parents = 5, 688*5e4b7e82SStephen Boyd .ops = &clk_rcg2_floor_ops, 68906391eddSTaniya Das }, 69006391eddSTaniya Das }; 69106391eddSTaniya Das 69206391eddSTaniya Das static const struct freq_tbl ftbl_gcc_sdcc4_apps_clk_src[] = { 69306391eddSTaniya Das F(400000, P_BI_TCXO, 12, 1, 4), 69406391eddSTaniya Das F(9600000, P_BI_TCXO, 2, 0, 0), 69506391eddSTaniya Das F(19200000, P_BI_TCXO, 1, 0, 0), 69606391eddSTaniya Das F(25000000, P_GPLL0_OUT_MAIN, 12, 1, 2), 69706391eddSTaniya Das F(50000000, P_GPLL0_OUT_MAIN, 12, 0, 0), 69806391eddSTaniya Das F(100000000, P_GPLL0_OUT_MAIN, 6, 0, 0), 69906391eddSTaniya Das { } 70006391eddSTaniya Das }; 70106391eddSTaniya Das 70206391eddSTaniya Das static struct clk_rcg2 gcc_sdcc4_apps_clk_src = { 70306391eddSTaniya Das .cmd_rcgr = 0x1600c, 70406391eddSTaniya Das .mnd_width = 8, 70506391eddSTaniya Das .hid_width = 5, 70606391eddSTaniya Das .parent_map = gcc_parent_map_0, 70706391eddSTaniya Das .freq_tbl = ftbl_gcc_sdcc4_apps_clk_src, 70806391eddSTaniya Das .clkr.hw.init = &(struct clk_init_data){ 70906391eddSTaniya Das .name = "gcc_sdcc4_apps_clk_src", 71006391eddSTaniya Das .parent_names = gcc_parent_names_0, 71106391eddSTaniya Das .num_parents = 4, 712*5e4b7e82SStephen Boyd .ops = &clk_rcg2_floor_ops, 71306391eddSTaniya Das }, 71406391eddSTaniya Das }; 71506391eddSTaniya Das 71606391eddSTaniya Das static const struct freq_tbl ftbl_gcc_tsif_ref_clk_src[] = { 71706391eddSTaniya Das F(105495, P_BI_TCXO, 2, 1, 91), 71806391eddSTaniya Das { } 71906391eddSTaniya Das }; 72006391eddSTaniya Das 72106391eddSTaniya Das static struct clk_rcg2 gcc_tsif_ref_clk_src = { 72206391eddSTaniya Das .cmd_rcgr = 0x36010, 72306391eddSTaniya Das .mnd_width = 8, 72406391eddSTaniya Das .hid_width = 5, 72506391eddSTaniya Das .parent_map = gcc_parent_map_6, 72606391eddSTaniya Das .freq_tbl = ftbl_gcc_tsif_ref_clk_src, 72706391eddSTaniya Das .clkr.hw.init = &(struct clk_init_data){ 72806391eddSTaniya Das .name = "gcc_tsif_ref_clk_src", 72906391eddSTaniya Das .parent_names = gcc_parent_names_6, 73006391eddSTaniya Das .num_parents = 5, 73106391eddSTaniya Das .ops = &clk_rcg2_ops, 73206391eddSTaniya Das }, 73306391eddSTaniya Das }; 73406391eddSTaniya Das 73506391eddSTaniya Das static const struct freq_tbl ftbl_gcc_ufs_card_axi_clk_src[] = { 73606391eddSTaniya Das F(25000000, P_GPLL0_OUT_EVEN, 12, 0, 0), 73706391eddSTaniya Das F(50000000, P_GPLL0_OUT_EVEN, 6, 0, 0), 73806391eddSTaniya Das F(100000000, P_GPLL0_OUT_MAIN, 6, 0, 0), 73906391eddSTaniya Das F(200000000, P_GPLL0_OUT_MAIN, 3, 0, 0), 74006391eddSTaniya Das F(240000000, P_GPLL0_OUT_MAIN, 2.5, 0, 0), 74106391eddSTaniya Das { } 74206391eddSTaniya Das }; 74306391eddSTaniya Das 74406391eddSTaniya Das static struct clk_rcg2 gcc_ufs_card_axi_clk_src = { 74506391eddSTaniya Das .cmd_rcgr = 0x7501c, 74606391eddSTaniya Das .mnd_width = 8, 74706391eddSTaniya Das .hid_width = 5, 74806391eddSTaniya Das .parent_map = gcc_parent_map_0, 74906391eddSTaniya Das .freq_tbl = ftbl_gcc_ufs_card_axi_clk_src, 75006391eddSTaniya Das .clkr.hw.init = &(struct clk_init_data){ 75106391eddSTaniya Das .name = "gcc_ufs_card_axi_clk_src", 75206391eddSTaniya Das .parent_names = gcc_parent_names_0, 75306391eddSTaniya Das .num_parents = 4, 75406391eddSTaniya Das .ops = &clk_rcg2_shared_ops, 75506391eddSTaniya Das }, 75606391eddSTaniya Das }; 75706391eddSTaniya Das 75806391eddSTaniya Das static const struct freq_tbl ftbl_gcc_ufs_card_ice_core_clk_src[] = { 75906391eddSTaniya Das F(37500000, P_GPLL0_OUT_EVEN, 8, 0, 0), 76006391eddSTaniya Das F(75000000, P_GPLL0_OUT_EVEN, 4, 0, 0), 76106391eddSTaniya Das F(150000000, P_GPLL0_OUT_MAIN, 4, 0, 0), 76206391eddSTaniya Das F(300000000, P_GPLL0_OUT_MAIN, 2, 0, 0), 76306391eddSTaniya Das { } 76406391eddSTaniya Das }; 76506391eddSTaniya Das 76606391eddSTaniya Das static struct clk_rcg2 gcc_ufs_card_ice_core_clk_src = { 76706391eddSTaniya Das .cmd_rcgr = 0x7505c, 76806391eddSTaniya Das .mnd_width = 0, 76906391eddSTaniya Das .hid_width = 5, 77006391eddSTaniya Das .parent_map = gcc_parent_map_0, 77106391eddSTaniya Das .freq_tbl = ftbl_gcc_ufs_card_ice_core_clk_src, 77206391eddSTaniya Das .clkr.hw.init = &(struct clk_init_data){ 77306391eddSTaniya Das .name = "gcc_ufs_card_ice_core_clk_src", 77406391eddSTaniya Das .parent_names = gcc_parent_names_0, 77506391eddSTaniya Das .num_parents = 4, 77606391eddSTaniya Das .ops = &clk_rcg2_shared_ops, 77706391eddSTaniya Das }, 77806391eddSTaniya Das }; 77906391eddSTaniya Das 78006391eddSTaniya Das static struct clk_rcg2 gcc_ufs_card_phy_aux_clk_src = { 78106391eddSTaniya Das .cmd_rcgr = 0x75090, 78206391eddSTaniya Das .mnd_width = 0, 78306391eddSTaniya Das .hid_width = 5, 78406391eddSTaniya Das .parent_map = gcc_parent_map_4, 78506391eddSTaniya Das .freq_tbl = ftbl_gcc_cpuss_rbcpr_clk_src, 78606391eddSTaniya Das .clkr.hw.init = &(struct clk_init_data){ 78706391eddSTaniya Das .name = "gcc_ufs_card_phy_aux_clk_src", 78806391eddSTaniya Das .parent_names = gcc_parent_names_4, 78906391eddSTaniya Das .num_parents = 2, 79006391eddSTaniya Das .ops = &clk_rcg2_ops, 79106391eddSTaniya Das }, 79206391eddSTaniya Das }; 79306391eddSTaniya Das 79406391eddSTaniya Das static const struct freq_tbl ftbl_gcc_ufs_card_unipro_core_clk_src[] = { 79506391eddSTaniya Das F(37500000, P_GPLL0_OUT_EVEN, 8, 0, 0), 79606391eddSTaniya Das F(75000000, P_GPLL0_OUT_MAIN, 8, 0, 0), 79706391eddSTaniya Das F(150000000, P_GPLL0_OUT_MAIN, 4, 0, 0), 79806391eddSTaniya Das { } 79906391eddSTaniya Das }; 80006391eddSTaniya Das 80106391eddSTaniya Das static struct clk_rcg2 gcc_ufs_card_unipro_core_clk_src = { 80206391eddSTaniya Das .cmd_rcgr = 0x75074, 80306391eddSTaniya Das .mnd_width = 0, 80406391eddSTaniya Das .hid_width = 5, 80506391eddSTaniya Das .parent_map = gcc_parent_map_0, 80606391eddSTaniya Das .freq_tbl = ftbl_gcc_ufs_card_unipro_core_clk_src, 80706391eddSTaniya Das .clkr.hw.init = &(struct clk_init_data){ 80806391eddSTaniya Das .name = "gcc_ufs_card_unipro_core_clk_src", 80906391eddSTaniya Das .parent_names = gcc_parent_names_0, 81006391eddSTaniya Das .num_parents = 4, 81106391eddSTaniya Das .ops = &clk_rcg2_shared_ops, 81206391eddSTaniya Das }, 81306391eddSTaniya Das }; 81406391eddSTaniya Das 81506391eddSTaniya Das static const struct freq_tbl ftbl_gcc_ufs_phy_axi_clk_src[] = { 81606391eddSTaniya Das F(25000000, P_GPLL0_OUT_EVEN, 12, 0, 0), 81706391eddSTaniya Das F(50000000, P_GPLL0_OUT_EVEN, 6, 0, 0), 81806391eddSTaniya Das F(100000000, P_GPLL0_OUT_MAIN, 6, 0, 0), 81906391eddSTaniya Das F(200000000, P_GPLL0_OUT_MAIN, 3, 0, 0), 82006391eddSTaniya Das F(240000000, P_GPLL0_OUT_MAIN, 2.5, 0, 0), 82106391eddSTaniya Das { } 82206391eddSTaniya Das }; 82306391eddSTaniya Das 82406391eddSTaniya Das static struct clk_rcg2 gcc_ufs_phy_axi_clk_src = { 82506391eddSTaniya Das .cmd_rcgr = 0x7701c, 82606391eddSTaniya Das .mnd_width = 8, 82706391eddSTaniya Das .hid_width = 5, 82806391eddSTaniya Das .parent_map = gcc_parent_map_0, 82906391eddSTaniya Das .freq_tbl = ftbl_gcc_ufs_phy_axi_clk_src, 83006391eddSTaniya Das .clkr.hw.init = &(struct clk_init_data){ 83106391eddSTaniya Das .name = "gcc_ufs_phy_axi_clk_src", 83206391eddSTaniya Das .parent_names = gcc_parent_names_0, 83306391eddSTaniya Das .num_parents = 4, 83406391eddSTaniya Das .ops = &clk_rcg2_shared_ops, 83506391eddSTaniya Das }, 83606391eddSTaniya Das }; 83706391eddSTaniya Das 83806391eddSTaniya Das static struct clk_rcg2 gcc_ufs_phy_ice_core_clk_src = { 83906391eddSTaniya Das .cmd_rcgr = 0x7705c, 84006391eddSTaniya Das .mnd_width = 0, 84106391eddSTaniya Das .hid_width = 5, 84206391eddSTaniya Das .parent_map = gcc_parent_map_0, 84306391eddSTaniya Das .freq_tbl = ftbl_gcc_ufs_card_ice_core_clk_src, 84406391eddSTaniya Das .clkr.hw.init = &(struct clk_init_data){ 84506391eddSTaniya Das .name = "gcc_ufs_phy_ice_core_clk_src", 84606391eddSTaniya Das .parent_names = gcc_parent_names_0, 84706391eddSTaniya Das .num_parents = 4, 84806391eddSTaniya Das .ops = &clk_rcg2_shared_ops, 84906391eddSTaniya Das }, 85006391eddSTaniya Das }; 85106391eddSTaniya Das 85206391eddSTaniya Das static struct clk_rcg2 gcc_ufs_phy_phy_aux_clk_src = { 85306391eddSTaniya Das .cmd_rcgr = 0x77090, 85406391eddSTaniya Das .mnd_width = 0, 85506391eddSTaniya Das .hid_width = 5, 85606391eddSTaniya Das .parent_map = gcc_parent_map_4, 85706391eddSTaniya Das .freq_tbl = ftbl_gcc_pcie_0_aux_clk_src, 85806391eddSTaniya Das .clkr.hw.init = &(struct clk_init_data){ 85906391eddSTaniya Das .name = "gcc_ufs_phy_phy_aux_clk_src", 86006391eddSTaniya Das .parent_names = gcc_parent_names_4, 86106391eddSTaniya Das .num_parents = 2, 86206391eddSTaniya Das .ops = &clk_rcg2_shared_ops, 86306391eddSTaniya Das }, 86406391eddSTaniya Das }; 86506391eddSTaniya Das 86606391eddSTaniya Das static struct clk_rcg2 gcc_ufs_phy_unipro_core_clk_src = { 86706391eddSTaniya Das .cmd_rcgr = 0x77074, 86806391eddSTaniya Das .mnd_width = 0, 86906391eddSTaniya Das .hid_width = 5, 87006391eddSTaniya Das .parent_map = gcc_parent_map_0, 87106391eddSTaniya Das .freq_tbl = ftbl_gcc_ufs_card_unipro_core_clk_src, 87206391eddSTaniya Das .clkr.hw.init = &(struct clk_init_data){ 87306391eddSTaniya Das .name = "gcc_ufs_phy_unipro_core_clk_src", 87406391eddSTaniya Das .parent_names = gcc_parent_names_0, 87506391eddSTaniya Das .num_parents = 4, 87606391eddSTaniya Das .ops = &clk_rcg2_shared_ops, 87706391eddSTaniya Das }, 87806391eddSTaniya Das }; 87906391eddSTaniya Das 88006391eddSTaniya Das static const struct freq_tbl ftbl_gcc_usb30_prim_master_clk_src[] = { 88106391eddSTaniya Das F(33333333, P_GPLL0_OUT_EVEN, 9, 0, 0), 88206391eddSTaniya Das F(66666667, P_GPLL0_OUT_EVEN, 4.5, 0, 0), 88306391eddSTaniya Das F(133333333, P_GPLL0_OUT_MAIN, 4.5, 0, 0), 88406391eddSTaniya Das F(200000000, P_GPLL0_OUT_MAIN, 3, 0, 0), 88506391eddSTaniya Das F(240000000, P_GPLL0_OUT_MAIN, 2.5, 0, 0), 88606391eddSTaniya Das { } 88706391eddSTaniya Das }; 88806391eddSTaniya Das 88906391eddSTaniya Das static struct clk_rcg2 gcc_usb30_prim_master_clk_src = { 89006391eddSTaniya Das .cmd_rcgr = 0xf018, 89106391eddSTaniya Das .mnd_width = 8, 89206391eddSTaniya Das .hid_width = 5, 89306391eddSTaniya Das .parent_map = gcc_parent_map_0, 89406391eddSTaniya Das .freq_tbl = ftbl_gcc_usb30_prim_master_clk_src, 89506391eddSTaniya Das .clkr.hw.init = &(struct clk_init_data){ 89606391eddSTaniya Das .name = "gcc_usb30_prim_master_clk_src", 89706391eddSTaniya Das .parent_names = gcc_parent_names_0, 89806391eddSTaniya Das .num_parents = 4, 89906391eddSTaniya Das .ops = &clk_rcg2_shared_ops, 90006391eddSTaniya Das }, 90106391eddSTaniya Das }; 90206391eddSTaniya Das 90306391eddSTaniya Das static const struct freq_tbl ftbl_gcc_usb30_prim_mock_utmi_clk_src[] = { 90406391eddSTaniya Das F(19200000, P_BI_TCXO, 1, 0, 0), 90506391eddSTaniya Das F(20000000, P_GPLL0_OUT_EVEN, 15, 0, 0), 90606391eddSTaniya Das F(40000000, P_GPLL0_OUT_EVEN, 7.5, 0, 0), 90706391eddSTaniya Das F(60000000, P_GPLL0_OUT_MAIN, 10, 0, 0), 90806391eddSTaniya Das { } 90906391eddSTaniya Das }; 91006391eddSTaniya Das 91106391eddSTaniya Das static struct clk_rcg2 gcc_usb30_prim_mock_utmi_clk_src = { 91206391eddSTaniya Das .cmd_rcgr = 0xf030, 91306391eddSTaniya Das .mnd_width = 0, 91406391eddSTaniya Das .hid_width = 5, 91506391eddSTaniya Das .parent_map = gcc_parent_map_0, 91606391eddSTaniya Das .freq_tbl = ftbl_gcc_usb30_prim_mock_utmi_clk_src, 91706391eddSTaniya Das .clkr.hw.init = &(struct clk_init_data){ 91806391eddSTaniya Das .name = "gcc_usb30_prim_mock_utmi_clk_src", 91906391eddSTaniya Das .parent_names = gcc_parent_names_0, 92006391eddSTaniya Das .num_parents = 4, 92106391eddSTaniya Das .ops = &clk_rcg2_shared_ops, 92206391eddSTaniya Das }, 92306391eddSTaniya Das }; 92406391eddSTaniya Das 92506391eddSTaniya Das static struct clk_rcg2 gcc_usb30_sec_master_clk_src = { 92606391eddSTaniya Das .cmd_rcgr = 0x10018, 92706391eddSTaniya Das .mnd_width = 8, 92806391eddSTaniya Das .hid_width = 5, 92906391eddSTaniya Das .parent_map = gcc_parent_map_0, 93006391eddSTaniya Das .freq_tbl = ftbl_gcc_usb30_prim_master_clk_src, 93106391eddSTaniya Das .clkr.hw.init = &(struct clk_init_data){ 93206391eddSTaniya Das .name = "gcc_usb30_sec_master_clk_src", 93306391eddSTaniya Das .parent_names = gcc_parent_names_0, 93406391eddSTaniya Das .num_parents = 4, 93506391eddSTaniya Das .ops = &clk_rcg2_ops, 93606391eddSTaniya Das }, 93706391eddSTaniya Das }; 93806391eddSTaniya Das 93906391eddSTaniya Das static struct clk_rcg2 gcc_usb30_sec_mock_utmi_clk_src = { 94006391eddSTaniya Das .cmd_rcgr = 0x10030, 94106391eddSTaniya Das .mnd_width = 0, 94206391eddSTaniya Das .hid_width = 5, 94306391eddSTaniya Das .parent_map = gcc_parent_map_0, 94406391eddSTaniya Das .freq_tbl = ftbl_gcc_usb30_prim_mock_utmi_clk_src, 94506391eddSTaniya Das .clkr.hw.init = &(struct clk_init_data){ 94606391eddSTaniya Das .name = "gcc_usb30_sec_mock_utmi_clk_src", 94706391eddSTaniya Das .parent_names = gcc_parent_names_0, 94806391eddSTaniya Das .num_parents = 4, 94906391eddSTaniya Das .ops = &clk_rcg2_ops, 95006391eddSTaniya Das }, 95106391eddSTaniya Das }; 95206391eddSTaniya Das 95306391eddSTaniya Das static struct clk_rcg2 gcc_usb3_prim_phy_aux_clk_src = { 95406391eddSTaniya Das .cmd_rcgr = 0xf05c, 95506391eddSTaniya Das .mnd_width = 0, 95606391eddSTaniya Das .hid_width = 5, 95706391eddSTaniya Das .parent_map = gcc_parent_map_2, 95806391eddSTaniya Das .freq_tbl = ftbl_gcc_cpuss_rbcpr_clk_src, 95906391eddSTaniya Das .clkr.hw.init = &(struct clk_init_data){ 96006391eddSTaniya Das .name = "gcc_usb3_prim_phy_aux_clk_src", 96106391eddSTaniya Das .parent_names = gcc_parent_names_2, 96206391eddSTaniya Das .num_parents = 3, 96306391eddSTaniya Das .ops = &clk_rcg2_ops, 96406391eddSTaniya Das }, 96506391eddSTaniya Das }; 96606391eddSTaniya Das 96706391eddSTaniya Das static struct clk_rcg2 gcc_usb3_sec_phy_aux_clk_src = { 96806391eddSTaniya Das .cmd_rcgr = 0x1005c, 96906391eddSTaniya Das .mnd_width = 0, 97006391eddSTaniya Das .hid_width = 5, 97106391eddSTaniya Das .parent_map = gcc_parent_map_2, 97206391eddSTaniya Das .freq_tbl = ftbl_gcc_cpuss_rbcpr_clk_src, 97306391eddSTaniya Das .clkr.hw.init = &(struct clk_init_data){ 97406391eddSTaniya Das .name = "gcc_usb3_sec_phy_aux_clk_src", 97506391eddSTaniya Das .parent_names = gcc_parent_names_2, 97606391eddSTaniya Das .num_parents = 3, 97706391eddSTaniya Das .ops = &clk_rcg2_shared_ops, 97806391eddSTaniya Das }, 97906391eddSTaniya Das }; 98006391eddSTaniya Das 98106391eddSTaniya Das static struct clk_rcg2 gcc_vs_ctrl_clk_src = { 98206391eddSTaniya Das .cmd_rcgr = 0x7a030, 98306391eddSTaniya Das .mnd_width = 0, 98406391eddSTaniya Das .hid_width = 5, 98506391eddSTaniya Das .parent_map = gcc_parent_map_3, 98606391eddSTaniya Das .freq_tbl = ftbl_gcc_cpuss_rbcpr_clk_src, 98706391eddSTaniya Das .clkr.hw.init = &(struct clk_init_data){ 98806391eddSTaniya Das .name = "gcc_vs_ctrl_clk_src", 98906391eddSTaniya Das .parent_names = gcc_parent_names_3, 99006391eddSTaniya Das .num_parents = 3, 99106391eddSTaniya Das .ops = &clk_rcg2_ops, 99206391eddSTaniya Das }, 99306391eddSTaniya Das }; 99406391eddSTaniya Das 99506391eddSTaniya Das static const struct freq_tbl ftbl_gcc_vsensor_clk_src[] = { 99606391eddSTaniya Das F(19200000, P_BI_TCXO, 1, 0, 0), 99706391eddSTaniya Das F(300000000, P_GPLL0_OUT_MAIN, 2, 0, 0), 99806391eddSTaniya Das F(600000000, P_GPLL0_OUT_MAIN, 1, 0, 0), 99906391eddSTaniya Das { } 100006391eddSTaniya Das }; 100106391eddSTaniya Das 100206391eddSTaniya Das static struct clk_rcg2 gcc_vsensor_clk_src = { 100306391eddSTaniya Das .cmd_rcgr = 0x7a018, 100406391eddSTaniya Das .mnd_width = 0, 100506391eddSTaniya Das .hid_width = 5, 100606391eddSTaniya Das .parent_map = gcc_parent_map_3, 100706391eddSTaniya Das .freq_tbl = ftbl_gcc_vsensor_clk_src, 100806391eddSTaniya Das .clkr.hw.init = &(struct clk_init_data){ 100906391eddSTaniya Das .name = "gcc_vsensor_clk_src", 101006391eddSTaniya Das .parent_names = gcc_parent_names_8, 101106391eddSTaniya Das .num_parents = 3, 101206391eddSTaniya Das .ops = &clk_rcg2_ops, 101306391eddSTaniya Das }, 101406391eddSTaniya Das }; 101506391eddSTaniya Das 101606391eddSTaniya Das static struct clk_branch gcc_aggre_noc_pcie_tbu_clk = { 101706391eddSTaniya Das .halt_reg = 0x90014, 101806391eddSTaniya Das .halt_check = BRANCH_HALT, 101906391eddSTaniya Das .clkr = { 102006391eddSTaniya Das .enable_reg = 0x90014, 102106391eddSTaniya Das .enable_mask = BIT(0), 102206391eddSTaniya Das .hw.init = &(struct clk_init_data){ 102306391eddSTaniya Das .name = "gcc_aggre_noc_pcie_tbu_clk", 102406391eddSTaniya Das .ops = &clk_branch2_ops, 102506391eddSTaniya Das }, 102606391eddSTaniya Das }, 102706391eddSTaniya Das }; 102806391eddSTaniya Das 102906391eddSTaniya Das static struct clk_branch gcc_aggre_ufs_card_axi_clk = { 103006391eddSTaniya Das .halt_reg = 0x82028, 103106391eddSTaniya Das .halt_check = BRANCH_HALT, 103206391eddSTaniya Das .hwcg_reg = 0x82028, 103306391eddSTaniya Das .hwcg_bit = 1, 103406391eddSTaniya Das .clkr = { 103506391eddSTaniya Das .enable_reg = 0x82028, 103606391eddSTaniya Das .enable_mask = BIT(0), 103706391eddSTaniya Das .hw.init = &(struct clk_init_data){ 103806391eddSTaniya Das .name = "gcc_aggre_ufs_card_axi_clk", 103906391eddSTaniya Das .parent_names = (const char *[]){ 104006391eddSTaniya Das "gcc_ufs_card_axi_clk_src", 104106391eddSTaniya Das }, 104206391eddSTaniya Das .num_parents = 1, 104306391eddSTaniya Das .flags = CLK_SET_RATE_PARENT, 104406391eddSTaniya Das .ops = &clk_branch2_ops, 104506391eddSTaniya Das }, 104606391eddSTaniya Das }, 104706391eddSTaniya Das }; 104806391eddSTaniya Das 104906391eddSTaniya Das static struct clk_branch gcc_aggre_ufs_phy_axi_clk = { 105006391eddSTaniya Das .halt_reg = 0x82024, 105106391eddSTaniya Das .halt_check = BRANCH_HALT, 105206391eddSTaniya Das .hwcg_reg = 0x82024, 105306391eddSTaniya Das .hwcg_bit = 1, 105406391eddSTaniya Das .clkr = { 105506391eddSTaniya Das .enable_reg = 0x82024, 105606391eddSTaniya Das .enable_mask = BIT(0), 105706391eddSTaniya Das .hw.init = &(struct clk_init_data){ 105806391eddSTaniya Das .name = "gcc_aggre_ufs_phy_axi_clk", 105906391eddSTaniya Das .parent_names = (const char *[]){ 106006391eddSTaniya Das "gcc_ufs_phy_axi_clk_src", 106106391eddSTaniya Das }, 106206391eddSTaniya Das .num_parents = 1, 106306391eddSTaniya Das .flags = CLK_SET_RATE_PARENT, 106406391eddSTaniya Das .ops = &clk_branch2_ops, 106506391eddSTaniya Das }, 106606391eddSTaniya Das }, 106706391eddSTaniya Das }; 106806391eddSTaniya Das 106906391eddSTaniya Das static struct clk_branch gcc_aggre_usb3_prim_axi_clk = { 107006391eddSTaniya Das .halt_reg = 0x8201c, 107106391eddSTaniya Das .halt_check = BRANCH_HALT, 107206391eddSTaniya Das .clkr = { 107306391eddSTaniya Das .enable_reg = 0x8201c, 107406391eddSTaniya Das .enable_mask = BIT(0), 107506391eddSTaniya Das .hw.init = &(struct clk_init_data){ 107606391eddSTaniya Das .name = "gcc_aggre_usb3_prim_axi_clk", 107706391eddSTaniya Das .parent_names = (const char *[]){ 107806391eddSTaniya Das "gcc_usb30_prim_master_clk_src", 107906391eddSTaniya Das }, 108006391eddSTaniya Das .num_parents = 1, 108106391eddSTaniya Das .flags = CLK_SET_RATE_PARENT, 108206391eddSTaniya Das .ops = &clk_branch2_ops, 108306391eddSTaniya Das }, 108406391eddSTaniya Das }, 108506391eddSTaniya Das }; 108606391eddSTaniya Das 108706391eddSTaniya Das static struct clk_branch gcc_aggre_usb3_sec_axi_clk = { 108806391eddSTaniya Das .halt_reg = 0x82020, 108906391eddSTaniya Das .halt_check = BRANCH_HALT, 109006391eddSTaniya Das .clkr = { 109106391eddSTaniya Das .enable_reg = 0x82020, 109206391eddSTaniya Das .enable_mask = BIT(0), 109306391eddSTaniya Das .hw.init = &(struct clk_init_data){ 109406391eddSTaniya Das .name = "gcc_aggre_usb3_sec_axi_clk", 109506391eddSTaniya Das .parent_names = (const char *[]){ 109606391eddSTaniya Das "gcc_usb30_sec_master_clk_src", 109706391eddSTaniya Das }, 109806391eddSTaniya Das .num_parents = 1, 109906391eddSTaniya Das .flags = CLK_SET_RATE_PARENT, 110006391eddSTaniya Das .ops = &clk_branch2_ops, 110106391eddSTaniya Das }, 110206391eddSTaniya Das }, 110306391eddSTaniya Das }; 110406391eddSTaniya Das 110506391eddSTaniya Das static struct clk_branch gcc_apc_vs_clk = { 110606391eddSTaniya Das .halt_reg = 0x7a050, 110706391eddSTaniya Das .halt_check = BRANCH_HALT, 110806391eddSTaniya Das .clkr = { 110906391eddSTaniya Das .enable_reg = 0x7a050, 111006391eddSTaniya Das .enable_mask = BIT(0), 111106391eddSTaniya Das .hw.init = &(struct clk_init_data){ 111206391eddSTaniya Das .name = "gcc_apc_vs_clk", 111306391eddSTaniya Das .parent_names = (const char *[]){ 111406391eddSTaniya Das "gcc_vsensor_clk_src", 111506391eddSTaniya Das }, 111606391eddSTaniya Das .num_parents = 1, 111706391eddSTaniya Das .flags = CLK_SET_RATE_PARENT, 111806391eddSTaniya Das .ops = &clk_branch2_ops, 111906391eddSTaniya Das }, 112006391eddSTaniya Das }, 112106391eddSTaniya Das }; 112206391eddSTaniya Das 112306391eddSTaniya Das static struct clk_branch gcc_boot_rom_ahb_clk = { 112406391eddSTaniya Das .halt_reg = 0x38004, 112506391eddSTaniya Das .halt_check = BRANCH_HALT_VOTED, 112606391eddSTaniya Das .hwcg_reg = 0x38004, 112706391eddSTaniya Das .hwcg_bit = 1, 112806391eddSTaniya Das .clkr = { 112906391eddSTaniya Das .enable_reg = 0x52004, 113006391eddSTaniya Das .enable_mask = BIT(10), 113106391eddSTaniya Das .hw.init = &(struct clk_init_data){ 113206391eddSTaniya Das .name = "gcc_boot_rom_ahb_clk", 113306391eddSTaniya Das .ops = &clk_branch2_ops, 113406391eddSTaniya Das }, 113506391eddSTaniya Das }, 113606391eddSTaniya Das }; 113706391eddSTaniya Das 113806391eddSTaniya Das static struct clk_branch gcc_camera_ahb_clk = { 113906391eddSTaniya Das .halt_reg = 0xb008, 114006391eddSTaniya Das .halt_check = BRANCH_HALT, 114106391eddSTaniya Das .hwcg_reg = 0xb008, 114206391eddSTaniya Das .hwcg_bit = 1, 114306391eddSTaniya Das .clkr = { 114406391eddSTaniya Das .enable_reg = 0xb008, 114506391eddSTaniya Das .enable_mask = BIT(0), 114606391eddSTaniya Das .hw.init = &(struct clk_init_data){ 114706391eddSTaniya Das .name = "gcc_camera_ahb_clk", 1148cfb8282eSAmit Nischal .flags = CLK_IS_CRITICAL, 114906391eddSTaniya Das .ops = &clk_branch2_ops, 115006391eddSTaniya Das }, 115106391eddSTaniya Das }, 115206391eddSTaniya Das }; 115306391eddSTaniya Das 115406391eddSTaniya Das static struct clk_branch gcc_camera_axi_clk = { 115506391eddSTaniya Das .halt_reg = 0xb020, 115606391eddSTaniya Das .halt_check = BRANCH_VOTED, 115706391eddSTaniya Das .clkr = { 115806391eddSTaniya Das .enable_reg = 0xb020, 115906391eddSTaniya Das .enable_mask = BIT(0), 116006391eddSTaniya Das .hw.init = &(struct clk_init_data){ 116106391eddSTaniya Das .name = "gcc_camera_axi_clk", 116206391eddSTaniya Das .ops = &clk_branch2_ops, 116306391eddSTaniya Das }, 116406391eddSTaniya Das }, 116506391eddSTaniya Das }; 116606391eddSTaniya Das 116706391eddSTaniya Das static struct clk_branch gcc_camera_xo_clk = { 116806391eddSTaniya Das .halt_reg = 0xb02c, 116906391eddSTaniya Das .halt_check = BRANCH_HALT, 117006391eddSTaniya Das .clkr = { 117106391eddSTaniya Das .enable_reg = 0xb02c, 117206391eddSTaniya Das .enable_mask = BIT(0), 117306391eddSTaniya Das .hw.init = &(struct clk_init_data){ 117406391eddSTaniya Das .name = "gcc_camera_xo_clk", 1175cfb8282eSAmit Nischal .flags = CLK_IS_CRITICAL, 117606391eddSTaniya Das .ops = &clk_branch2_ops, 117706391eddSTaniya Das }, 117806391eddSTaniya Das }, 117906391eddSTaniya Das }; 118006391eddSTaniya Das 118106391eddSTaniya Das static struct clk_branch gcc_ce1_ahb_clk = { 118206391eddSTaniya Das .halt_reg = 0x4100c, 118306391eddSTaniya Das .halt_check = BRANCH_HALT_VOTED, 118406391eddSTaniya Das .hwcg_reg = 0x4100c, 118506391eddSTaniya Das .hwcg_bit = 1, 118606391eddSTaniya Das .clkr = { 118706391eddSTaniya Das .enable_reg = 0x52004, 118806391eddSTaniya Das .enable_mask = BIT(3), 118906391eddSTaniya Das .hw.init = &(struct clk_init_data){ 119006391eddSTaniya Das .name = "gcc_ce1_ahb_clk", 119106391eddSTaniya Das .ops = &clk_branch2_ops, 119206391eddSTaniya Das }, 119306391eddSTaniya Das }, 119406391eddSTaniya Das }; 119506391eddSTaniya Das 119606391eddSTaniya Das static struct clk_branch gcc_ce1_axi_clk = { 119706391eddSTaniya Das .halt_reg = 0x41008, 119806391eddSTaniya Das .halt_check = BRANCH_HALT_VOTED, 119906391eddSTaniya Das .clkr = { 120006391eddSTaniya Das .enable_reg = 0x52004, 120106391eddSTaniya Das .enable_mask = BIT(4), 120206391eddSTaniya Das .hw.init = &(struct clk_init_data){ 120306391eddSTaniya Das .name = "gcc_ce1_axi_clk", 120406391eddSTaniya Das .ops = &clk_branch2_ops, 120506391eddSTaniya Das }, 120606391eddSTaniya Das }, 120706391eddSTaniya Das }; 120806391eddSTaniya Das 120906391eddSTaniya Das static struct clk_branch gcc_ce1_clk = { 121006391eddSTaniya Das .halt_reg = 0x41004, 121106391eddSTaniya Das .halt_check = BRANCH_HALT_VOTED, 121206391eddSTaniya Das .clkr = { 121306391eddSTaniya Das .enable_reg = 0x52004, 121406391eddSTaniya Das .enable_mask = BIT(5), 121506391eddSTaniya Das .hw.init = &(struct clk_init_data){ 121606391eddSTaniya Das .name = "gcc_ce1_clk", 121706391eddSTaniya Das .ops = &clk_branch2_ops, 121806391eddSTaniya Das }, 121906391eddSTaniya Das }, 122006391eddSTaniya Das }; 122106391eddSTaniya Das 122206391eddSTaniya Das static struct clk_branch gcc_cfg_noc_usb3_prim_axi_clk = { 122306391eddSTaniya Das .halt_reg = 0x502c, 122406391eddSTaniya Das .halt_check = BRANCH_HALT, 122506391eddSTaniya Das .clkr = { 122606391eddSTaniya Das .enable_reg = 0x502c, 122706391eddSTaniya Das .enable_mask = BIT(0), 122806391eddSTaniya Das .hw.init = &(struct clk_init_data){ 122906391eddSTaniya Das .name = "gcc_cfg_noc_usb3_prim_axi_clk", 123006391eddSTaniya Das .parent_names = (const char *[]){ 123106391eddSTaniya Das "gcc_usb30_prim_master_clk_src", 123206391eddSTaniya Das }, 123306391eddSTaniya Das .num_parents = 1, 123406391eddSTaniya Das .flags = CLK_SET_RATE_PARENT, 123506391eddSTaniya Das .ops = &clk_branch2_ops, 123606391eddSTaniya Das }, 123706391eddSTaniya Das }, 123806391eddSTaniya Das }; 123906391eddSTaniya Das 124006391eddSTaniya Das static struct clk_branch gcc_cfg_noc_usb3_sec_axi_clk = { 124106391eddSTaniya Das .halt_reg = 0x5030, 124206391eddSTaniya Das .halt_check = BRANCH_HALT, 124306391eddSTaniya Das .clkr = { 124406391eddSTaniya Das .enable_reg = 0x5030, 124506391eddSTaniya Das .enable_mask = BIT(0), 124606391eddSTaniya Das .hw.init = &(struct clk_init_data){ 124706391eddSTaniya Das .name = "gcc_cfg_noc_usb3_sec_axi_clk", 124806391eddSTaniya Das .parent_names = (const char *[]){ 124906391eddSTaniya Das "gcc_usb30_sec_master_clk_src", 125006391eddSTaniya Das }, 125106391eddSTaniya Das .num_parents = 1, 125206391eddSTaniya Das .flags = CLK_SET_RATE_PARENT, 125306391eddSTaniya Das .ops = &clk_branch2_ops, 125406391eddSTaniya Das }, 125506391eddSTaniya Das }, 125606391eddSTaniya Das }; 125706391eddSTaniya Das 125806391eddSTaniya Das static struct clk_branch gcc_cpuss_ahb_clk = { 125906391eddSTaniya Das .halt_reg = 0x48000, 126006391eddSTaniya Das .halt_check = BRANCH_HALT_VOTED, 126106391eddSTaniya Das .clkr = { 126206391eddSTaniya Das .enable_reg = 0x52004, 126306391eddSTaniya Das .enable_mask = BIT(21), 126406391eddSTaniya Das .hw.init = &(struct clk_init_data){ 126506391eddSTaniya Das .name = "gcc_cpuss_ahb_clk", 126606391eddSTaniya Das .parent_names = (const char *[]){ 126706391eddSTaniya Das "gcc_cpuss_ahb_clk_src", 126806391eddSTaniya Das }, 126906391eddSTaniya Das .num_parents = 1, 127006391eddSTaniya Das .flags = CLK_SET_RATE_PARENT | CLK_IS_CRITICAL, 127106391eddSTaniya Das .ops = &clk_branch2_ops, 127206391eddSTaniya Das }, 127306391eddSTaniya Das }, 127406391eddSTaniya Das }; 127506391eddSTaniya Das 127606391eddSTaniya Das static struct clk_branch gcc_cpuss_rbcpr_clk = { 127706391eddSTaniya Das .halt_reg = 0x48008, 127806391eddSTaniya Das .halt_check = BRANCH_HALT, 127906391eddSTaniya Das .clkr = { 128006391eddSTaniya Das .enable_reg = 0x48008, 128106391eddSTaniya Das .enable_mask = BIT(0), 128206391eddSTaniya Das .hw.init = &(struct clk_init_data){ 128306391eddSTaniya Das .name = "gcc_cpuss_rbcpr_clk", 128406391eddSTaniya Das .parent_names = (const char *[]){ 128506391eddSTaniya Das "gcc_cpuss_rbcpr_clk_src", 128606391eddSTaniya Das }, 128706391eddSTaniya Das .num_parents = 1, 128806391eddSTaniya Das .flags = CLK_SET_RATE_PARENT, 128906391eddSTaniya Das .ops = &clk_branch2_ops, 129006391eddSTaniya Das }, 129106391eddSTaniya Das }, 129206391eddSTaniya Das }; 129306391eddSTaniya Das 129406391eddSTaniya Das static struct clk_branch gcc_ddrss_gpu_axi_clk = { 129506391eddSTaniya Das .halt_reg = 0x44038, 129606391eddSTaniya Das .halt_check = BRANCH_VOTED, 129706391eddSTaniya Das .clkr = { 129806391eddSTaniya Das .enable_reg = 0x44038, 129906391eddSTaniya Das .enable_mask = BIT(0), 130006391eddSTaniya Das .hw.init = &(struct clk_init_data){ 130106391eddSTaniya Das .name = "gcc_ddrss_gpu_axi_clk", 130206391eddSTaniya Das .ops = &clk_branch2_ops, 130306391eddSTaniya Das }, 130406391eddSTaniya Das }, 130506391eddSTaniya Das }; 130606391eddSTaniya Das 130706391eddSTaniya Das static struct clk_branch gcc_disp_ahb_clk = { 130806391eddSTaniya Das .halt_reg = 0xb00c, 130906391eddSTaniya Das .halt_check = BRANCH_HALT, 131006391eddSTaniya Das .hwcg_reg = 0xb00c, 131106391eddSTaniya Das .hwcg_bit = 1, 131206391eddSTaniya Das .clkr = { 131306391eddSTaniya Das .enable_reg = 0xb00c, 131406391eddSTaniya Das .enable_mask = BIT(0), 131506391eddSTaniya Das .hw.init = &(struct clk_init_data){ 131606391eddSTaniya Das .name = "gcc_disp_ahb_clk", 1317cfb8282eSAmit Nischal .flags = CLK_IS_CRITICAL, 131806391eddSTaniya Das .ops = &clk_branch2_ops, 131906391eddSTaniya Das }, 132006391eddSTaniya Das }, 132106391eddSTaniya Das }; 132206391eddSTaniya Das 132306391eddSTaniya Das static struct clk_branch gcc_disp_axi_clk = { 132406391eddSTaniya Das .halt_reg = 0xb024, 132506391eddSTaniya Das .halt_check = BRANCH_VOTED, 132606391eddSTaniya Das .clkr = { 132706391eddSTaniya Das .enable_reg = 0xb024, 132806391eddSTaniya Das .enable_mask = BIT(0), 132906391eddSTaniya Das .hw.init = &(struct clk_init_data){ 133006391eddSTaniya Das .name = "gcc_disp_axi_clk", 133106391eddSTaniya Das .ops = &clk_branch2_ops, 133206391eddSTaniya Das }, 133306391eddSTaniya Das }, 133406391eddSTaniya Das }; 133506391eddSTaniya Das 133606391eddSTaniya Das static struct clk_branch gcc_disp_gpll0_clk_src = { 133706391eddSTaniya Das .halt_check = BRANCH_HALT_DELAY, 133806391eddSTaniya Das .clkr = { 133906391eddSTaniya Das .enable_reg = 0x52004, 134006391eddSTaniya Das .enable_mask = BIT(18), 134106391eddSTaniya Das .hw.init = &(struct clk_init_data){ 134206391eddSTaniya Das .name = "gcc_disp_gpll0_clk_src", 134306391eddSTaniya Das .parent_names = (const char *[]){ 134406391eddSTaniya Das "gpll0", 134506391eddSTaniya Das }, 134606391eddSTaniya Das .num_parents = 1, 134706391eddSTaniya Das .ops = &clk_branch2_ops, 134806391eddSTaniya Das }, 134906391eddSTaniya Das }, 135006391eddSTaniya Das }; 135106391eddSTaniya Das 135206391eddSTaniya Das static struct clk_branch gcc_disp_gpll0_div_clk_src = { 135306391eddSTaniya Das .halt_check = BRANCH_HALT_DELAY, 135406391eddSTaniya Das .clkr = { 135506391eddSTaniya Das .enable_reg = 0x52004, 135606391eddSTaniya Das .enable_mask = BIT(19), 135706391eddSTaniya Das .hw.init = &(struct clk_init_data){ 135806391eddSTaniya Das .name = "gcc_disp_gpll0_div_clk_src", 135906391eddSTaniya Das .parent_names = (const char *[]){ 136006391eddSTaniya Das "gpll0_out_even", 136106391eddSTaniya Das }, 136206391eddSTaniya Das .num_parents = 1, 136306391eddSTaniya Das .ops = &clk_branch2_ops, 136406391eddSTaniya Das }, 136506391eddSTaniya Das }, 136606391eddSTaniya Das }; 136706391eddSTaniya Das 136806391eddSTaniya Das static struct clk_branch gcc_disp_xo_clk = { 136906391eddSTaniya Das .halt_reg = 0xb030, 137006391eddSTaniya Das .halt_check = BRANCH_HALT, 137106391eddSTaniya Das .clkr = { 137206391eddSTaniya Das .enable_reg = 0xb030, 137306391eddSTaniya Das .enable_mask = BIT(0), 137406391eddSTaniya Das .hw.init = &(struct clk_init_data){ 137506391eddSTaniya Das .name = "gcc_disp_xo_clk", 1376cfb8282eSAmit Nischal .flags = CLK_IS_CRITICAL, 137706391eddSTaniya Das .ops = &clk_branch2_ops, 137806391eddSTaniya Das }, 137906391eddSTaniya Das }, 138006391eddSTaniya Das }; 138106391eddSTaniya Das 138206391eddSTaniya Das static struct clk_branch gcc_gp1_clk = { 138306391eddSTaniya Das .halt_reg = 0x64000, 138406391eddSTaniya Das .halt_check = BRANCH_HALT, 138506391eddSTaniya Das .clkr = { 138606391eddSTaniya Das .enable_reg = 0x64000, 138706391eddSTaniya Das .enable_mask = BIT(0), 138806391eddSTaniya Das .hw.init = &(struct clk_init_data){ 138906391eddSTaniya Das .name = "gcc_gp1_clk", 139006391eddSTaniya Das .parent_names = (const char *[]){ 139106391eddSTaniya Das "gcc_gp1_clk_src", 139206391eddSTaniya Das }, 139306391eddSTaniya Das .num_parents = 1, 139406391eddSTaniya Das .flags = CLK_SET_RATE_PARENT, 139506391eddSTaniya Das .ops = &clk_branch2_ops, 139606391eddSTaniya Das }, 139706391eddSTaniya Das }, 139806391eddSTaniya Das }; 139906391eddSTaniya Das 140006391eddSTaniya Das static struct clk_branch gcc_gp2_clk = { 140106391eddSTaniya Das .halt_reg = 0x65000, 140206391eddSTaniya Das .halt_check = BRANCH_HALT, 140306391eddSTaniya Das .clkr = { 140406391eddSTaniya Das .enable_reg = 0x65000, 140506391eddSTaniya Das .enable_mask = BIT(0), 140606391eddSTaniya Das .hw.init = &(struct clk_init_data){ 140706391eddSTaniya Das .name = "gcc_gp2_clk", 140806391eddSTaniya Das .parent_names = (const char *[]){ 140906391eddSTaniya Das "gcc_gp2_clk_src", 141006391eddSTaniya Das }, 141106391eddSTaniya Das .num_parents = 1, 141206391eddSTaniya Das .flags = CLK_SET_RATE_PARENT, 141306391eddSTaniya Das .ops = &clk_branch2_ops, 141406391eddSTaniya Das }, 141506391eddSTaniya Das }, 141606391eddSTaniya Das }; 141706391eddSTaniya Das 141806391eddSTaniya Das static struct clk_branch gcc_gp3_clk = { 141906391eddSTaniya Das .halt_reg = 0x66000, 142006391eddSTaniya Das .halt_check = BRANCH_HALT, 142106391eddSTaniya Das .clkr = { 142206391eddSTaniya Das .enable_reg = 0x66000, 142306391eddSTaniya Das .enable_mask = BIT(0), 142406391eddSTaniya Das .hw.init = &(struct clk_init_data){ 142506391eddSTaniya Das .name = "gcc_gp3_clk", 142606391eddSTaniya Das .parent_names = (const char *[]){ 142706391eddSTaniya Das "gcc_gp3_clk_src", 142806391eddSTaniya Das }, 142906391eddSTaniya Das .num_parents = 1, 143006391eddSTaniya Das .flags = CLK_SET_RATE_PARENT, 143106391eddSTaniya Das .ops = &clk_branch2_ops, 143206391eddSTaniya Das }, 143306391eddSTaniya Das }, 143406391eddSTaniya Das }; 143506391eddSTaniya Das 143606391eddSTaniya Das static struct clk_branch gcc_gpu_cfg_ahb_clk = { 143706391eddSTaniya Das .halt_reg = 0x71004, 143806391eddSTaniya Das .halt_check = BRANCH_HALT, 143906391eddSTaniya Das .hwcg_reg = 0x71004, 144006391eddSTaniya Das .hwcg_bit = 1, 144106391eddSTaniya Das .clkr = { 144206391eddSTaniya Das .enable_reg = 0x71004, 144306391eddSTaniya Das .enable_mask = BIT(0), 144406391eddSTaniya Das .hw.init = &(struct clk_init_data){ 144506391eddSTaniya Das .name = "gcc_gpu_cfg_ahb_clk", 1446cfb8282eSAmit Nischal .flags = CLK_IS_CRITICAL, 144706391eddSTaniya Das .ops = &clk_branch2_ops, 144806391eddSTaniya Das }, 144906391eddSTaniya Das }, 145006391eddSTaniya Das }; 145106391eddSTaniya Das 145206391eddSTaniya Das static struct clk_branch gcc_gpu_gpll0_clk_src = { 145306391eddSTaniya Das .halt_check = BRANCH_HALT_DELAY, 145406391eddSTaniya Das .clkr = { 145506391eddSTaniya Das .enable_reg = 0x52004, 145606391eddSTaniya Das .enable_mask = BIT(15), 145706391eddSTaniya Das .hw.init = &(struct clk_init_data){ 145806391eddSTaniya Das .name = "gcc_gpu_gpll0_clk_src", 145906391eddSTaniya Das .parent_names = (const char *[]){ 146006391eddSTaniya Das "gpll0", 146106391eddSTaniya Das }, 146206391eddSTaniya Das .num_parents = 1, 146306391eddSTaniya Das .ops = &clk_branch2_ops, 146406391eddSTaniya Das }, 146506391eddSTaniya Das }, 146606391eddSTaniya Das }; 146706391eddSTaniya Das 146806391eddSTaniya Das static struct clk_branch gcc_gpu_gpll0_div_clk_src = { 146906391eddSTaniya Das .halt_check = BRANCH_HALT_DELAY, 147006391eddSTaniya Das .clkr = { 147106391eddSTaniya Das .enable_reg = 0x52004, 147206391eddSTaniya Das .enable_mask = BIT(16), 147306391eddSTaniya Das .hw.init = &(struct clk_init_data){ 147406391eddSTaniya Das .name = "gcc_gpu_gpll0_div_clk_src", 147506391eddSTaniya Das .parent_names = (const char *[]){ 147606391eddSTaniya Das "gpll0_out_even", 147706391eddSTaniya Das }, 147806391eddSTaniya Das .num_parents = 1, 147906391eddSTaniya Das .ops = &clk_branch2_ops, 148006391eddSTaniya Das }, 148106391eddSTaniya Das }, 148206391eddSTaniya Das }; 148306391eddSTaniya Das 148406391eddSTaniya Das static struct clk_branch gcc_gpu_iref_clk = { 148506391eddSTaniya Das .halt_reg = 0x8c010, 148606391eddSTaniya Das .halt_check = BRANCH_HALT, 148706391eddSTaniya Das .clkr = { 148806391eddSTaniya Das .enable_reg = 0x8c010, 148906391eddSTaniya Das .enable_mask = BIT(0), 149006391eddSTaniya Das .hw.init = &(struct clk_init_data){ 149106391eddSTaniya Das .name = "gcc_gpu_iref_clk", 149206391eddSTaniya Das .ops = &clk_branch2_ops, 149306391eddSTaniya Das }, 149406391eddSTaniya Das }, 149506391eddSTaniya Das }; 149606391eddSTaniya Das 149706391eddSTaniya Das static struct clk_branch gcc_gpu_memnoc_gfx_clk = { 149806391eddSTaniya Das .halt_reg = 0x7100c, 149906391eddSTaniya Das .halt_check = BRANCH_VOTED, 150006391eddSTaniya Das .clkr = { 150106391eddSTaniya Das .enable_reg = 0x7100c, 150206391eddSTaniya Das .enable_mask = BIT(0), 150306391eddSTaniya Das .hw.init = &(struct clk_init_data){ 150406391eddSTaniya Das .name = "gcc_gpu_memnoc_gfx_clk", 150506391eddSTaniya Das .ops = &clk_branch2_ops, 150606391eddSTaniya Das }, 150706391eddSTaniya Das }, 150806391eddSTaniya Das }; 150906391eddSTaniya Das 151006391eddSTaniya Das static struct clk_branch gcc_gpu_snoc_dvm_gfx_clk = { 151106391eddSTaniya Das .halt_reg = 0x71018, 151206391eddSTaniya Das .halt_check = BRANCH_HALT, 151306391eddSTaniya Das .clkr = { 151406391eddSTaniya Das .enable_reg = 0x71018, 151506391eddSTaniya Das .enable_mask = BIT(0), 151606391eddSTaniya Das .hw.init = &(struct clk_init_data){ 151706391eddSTaniya Das .name = "gcc_gpu_snoc_dvm_gfx_clk", 151806391eddSTaniya Das .ops = &clk_branch2_ops, 151906391eddSTaniya Das }, 152006391eddSTaniya Das }, 152106391eddSTaniya Das }; 152206391eddSTaniya Das 152306391eddSTaniya Das static struct clk_branch gcc_gpu_vs_clk = { 152406391eddSTaniya Das .halt_reg = 0x7a04c, 152506391eddSTaniya Das .halt_check = BRANCH_HALT, 152606391eddSTaniya Das .clkr = { 152706391eddSTaniya Das .enable_reg = 0x7a04c, 152806391eddSTaniya Das .enable_mask = BIT(0), 152906391eddSTaniya Das .hw.init = &(struct clk_init_data){ 153006391eddSTaniya Das .name = "gcc_gpu_vs_clk", 153106391eddSTaniya Das .parent_names = (const char *[]){ 153206391eddSTaniya Das "gcc_vsensor_clk_src", 153306391eddSTaniya Das }, 153406391eddSTaniya Das .num_parents = 1, 153506391eddSTaniya Das .flags = CLK_SET_RATE_PARENT, 153606391eddSTaniya Das .ops = &clk_branch2_ops, 153706391eddSTaniya Das }, 153806391eddSTaniya Das }, 153906391eddSTaniya Das }; 154006391eddSTaniya Das 154106391eddSTaniya Das static struct clk_branch gcc_mss_axis2_clk = { 154206391eddSTaniya Das .halt_reg = 0x8a008, 154306391eddSTaniya Das .halt_check = BRANCH_HALT, 154406391eddSTaniya Das .clkr = { 154506391eddSTaniya Das .enable_reg = 0x8a008, 154606391eddSTaniya Das .enable_mask = BIT(0), 154706391eddSTaniya Das .hw.init = &(struct clk_init_data){ 154806391eddSTaniya Das .name = "gcc_mss_axis2_clk", 154906391eddSTaniya Das .ops = &clk_branch2_ops, 155006391eddSTaniya Das }, 155106391eddSTaniya Das }, 155206391eddSTaniya Das }; 155306391eddSTaniya Das 155406391eddSTaniya Das static struct clk_branch gcc_mss_cfg_ahb_clk = { 155506391eddSTaniya Das .halt_reg = 0x8a000, 155606391eddSTaniya Das .halt_check = BRANCH_HALT, 155706391eddSTaniya Das .hwcg_reg = 0x8a000, 155806391eddSTaniya Das .hwcg_bit = 1, 155906391eddSTaniya Das .clkr = { 156006391eddSTaniya Das .enable_reg = 0x8a000, 156106391eddSTaniya Das .enable_mask = BIT(0), 156206391eddSTaniya Das .hw.init = &(struct clk_init_data){ 156306391eddSTaniya Das .name = "gcc_mss_cfg_ahb_clk", 156406391eddSTaniya Das .ops = &clk_branch2_ops, 156506391eddSTaniya Das }, 156606391eddSTaniya Das }, 156706391eddSTaniya Das }; 156806391eddSTaniya Das 156906391eddSTaniya Das static struct clk_branch gcc_mss_gpll0_div_clk_src = { 157006391eddSTaniya Das .halt_check = BRANCH_HALT_DELAY, 157106391eddSTaniya Das .clkr = { 157206391eddSTaniya Das .enable_reg = 0x52004, 157306391eddSTaniya Das .enable_mask = BIT(17), 157406391eddSTaniya Das .hw.init = &(struct clk_init_data){ 157506391eddSTaniya Das .name = "gcc_mss_gpll0_div_clk_src", 157606391eddSTaniya Das .ops = &clk_branch2_ops, 157706391eddSTaniya Das }, 157806391eddSTaniya Das }, 157906391eddSTaniya Das }; 158006391eddSTaniya Das 158106391eddSTaniya Das static struct clk_branch gcc_mss_mfab_axis_clk = { 158206391eddSTaniya Das .halt_reg = 0x8a004, 158306391eddSTaniya Das .halt_check = BRANCH_VOTED, 158406391eddSTaniya Das .hwcg_reg = 0x8a004, 158506391eddSTaniya Das .hwcg_bit = 1, 158606391eddSTaniya Das .clkr = { 158706391eddSTaniya Das .enable_reg = 0x8a004, 158806391eddSTaniya Das .enable_mask = BIT(0), 158906391eddSTaniya Das .hw.init = &(struct clk_init_data){ 159006391eddSTaniya Das .name = "gcc_mss_mfab_axis_clk", 159106391eddSTaniya Das .ops = &clk_branch2_ops, 159206391eddSTaniya Das }, 159306391eddSTaniya Das }, 159406391eddSTaniya Das }; 159506391eddSTaniya Das 159606391eddSTaniya Das static struct clk_branch gcc_mss_q6_memnoc_axi_clk = { 159706391eddSTaniya Das .halt_reg = 0x8a154, 159806391eddSTaniya Das .halt_check = BRANCH_VOTED, 159906391eddSTaniya Das .clkr = { 160006391eddSTaniya Das .enable_reg = 0x8a154, 160106391eddSTaniya Das .enable_mask = BIT(0), 160206391eddSTaniya Das .hw.init = &(struct clk_init_data){ 160306391eddSTaniya Das .name = "gcc_mss_q6_memnoc_axi_clk", 160406391eddSTaniya Das .ops = &clk_branch2_ops, 160506391eddSTaniya Das }, 160606391eddSTaniya Das }, 160706391eddSTaniya Das }; 160806391eddSTaniya Das 160906391eddSTaniya Das static struct clk_branch gcc_mss_snoc_axi_clk = { 161006391eddSTaniya Das .halt_reg = 0x8a150, 161106391eddSTaniya Das .halt_check = BRANCH_HALT, 161206391eddSTaniya Das .clkr = { 161306391eddSTaniya Das .enable_reg = 0x8a150, 161406391eddSTaniya Das .enable_mask = BIT(0), 161506391eddSTaniya Das .hw.init = &(struct clk_init_data){ 161606391eddSTaniya Das .name = "gcc_mss_snoc_axi_clk", 161706391eddSTaniya Das .ops = &clk_branch2_ops, 161806391eddSTaniya Das }, 161906391eddSTaniya Das }, 162006391eddSTaniya Das }; 162106391eddSTaniya Das 162206391eddSTaniya Das static struct clk_branch gcc_mss_vs_clk = { 162306391eddSTaniya Das .halt_reg = 0x7a048, 162406391eddSTaniya Das .halt_check = BRANCH_HALT, 162506391eddSTaniya Das .clkr = { 162606391eddSTaniya Das .enable_reg = 0x7a048, 162706391eddSTaniya Das .enable_mask = BIT(0), 162806391eddSTaniya Das .hw.init = &(struct clk_init_data){ 162906391eddSTaniya Das .name = "gcc_mss_vs_clk", 163006391eddSTaniya Das .parent_names = (const char *[]){ 163106391eddSTaniya Das "gcc_vsensor_clk_src", 163206391eddSTaniya Das }, 163306391eddSTaniya Das .num_parents = 1, 163406391eddSTaniya Das .flags = CLK_SET_RATE_PARENT, 163506391eddSTaniya Das .ops = &clk_branch2_ops, 163606391eddSTaniya Das }, 163706391eddSTaniya Das }, 163806391eddSTaniya Das }; 163906391eddSTaniya Das 164006391eddSTaniya Das static struct clk_branch gcc_pcie_0_aux_clk = { 164106391eddSTaniya Das .halt_reg = 0x6b01c, 164206391eddSTaniya Das .halt_check = BRANCH_HALT_VOTED, 164306391eddSTaniya Das .clkr = { 164406391eddSTaniya Das .enable_reg = 0x5200c, 164506391eddSTaniya Das .enable_mask = BIT(3), 164606391eddSTaniya Das .hw.init = &(struct clk_init_data){ 164706391eddSTaniya Das .name = "gcc_pcie_0_aux_clk", 164806391eddSTaniya Das .parent_names = (const char *[]){ 164906391eddSTaniya Das "gcc_pcie_0_aux_clk_src", 165006391eddSTaniya Das }, 165106391eddSTaniya Das .num_parents = 1, 165206391eddSTaniya Das .flags = CLK_SET_RATE_PARENT, 165306391eddSTaniya Das .ops = &clk_branch2_ops, 165406391eddSTaniya Das }, 165506391eddSTaniya Das }, 165606391eddSTaniya Das }; 165706391eddSTaniya Das 165806391eddSTaniya Das static struct clk_branch gcc_pcie_0_cfg_ahb_clk = { 165906391eddSTaniya Das .halt_reg = 0x6b018, 166006391eddSTaniya Das .halt_check = BRANCH_HALT_VOTED, 166106391eddSTaniya Das .hwcg_reg = 0x6b018, 166206391eddSTaniya Das .hwcg_bit = 1, 166306391eddSTaniya Das .clkr = { 166406391eddSTaniya Das .enable_reg = 0x5200c, 166506391eddSTaniya Das .enable_mask = BIT(2), 166606391eddSTaniya Das .hw.init = &(struct clk_init_data){ 166706391eddSTaniya Das .name = "gcc_pcie_0_cfg_ahb_clk", 166806391eddSTaniya Das .ops = &clk_branch2_ops, 166906391eddSTaniya Das }, 167006391eddSTaniya Das }, 167106391eddSTaniya Das }; 167206391eddSTaniya Das 167306391eddSTaniya Das static struct clk_branch gcc_pcie_0_clkref_clk = { 167406391eddSTaniya Das .halt_reg = 0x8c00c, 167506391eddSTaniya Das .halt_check = BRANCH_HALT, 167606391eddSTaniya Das .clkr = { 167706391eddSTaniya Das .enable_reg = 0x8c00c, 167806391eddSTaniya Das .enable_mask = BIT(0), 167906391eddSTaniya Das .hw.init = &(struct clk_init_data){ 168006391eddSTaniya Das .name = "gcc_pcie_0_clkref_clk", 168106391eddSTaniya Das .ops = &clk_branch2_ops, 168206391eddSTaniya Das }, 168306391eddSTaniya Das }, 168406391eddSTaniya Das }; 168506391eddSTaniya Das 168606391eddSTaniya Das static struct clk_branch gcc_pcie_0_mstr_axi_clk = { 168706391eddSTaniya Das .halt_reg = 0x6b014, 168806391eddSTaniya Das .halt_check = BRANCH_HALT_VOTED, 168906391eddSTaniya Das .clkr = { 169006391eddSTaniya Das .enable_reg = 0x5200c, 169106391eddSTaniya Das .enable_mask = BIT(1), 169206391eddSTaniya Das .hw.init = &(struct clk_init_data){ 169306391eddSTaniya Das .name = "gcc_pcie_0_mstr_axi_clk", 169406391eddSTaniya Das .ops = &clk_branch2_ops, 169506391eddSTaniya Das }, 169606391eddSTaniya Das }, 169706391eddSTaniya Das }; 169806391eddSTaniya Das 169906391eddSTaniya Das static struct clk_branch gcc_pcie_0_pipe_clk = { 170006391eddSTaniya Das .halt_check = BRANCH_HALT_SKIP, 170106391eddSTaniya Das .clkr = { 170206391eddSTaniya Das .enable_reg = 0x5200c, 170306391eddSTaniya Das .enable_mask = BIT(4), 170406391eddSTaniya Das .hw.init = &(struct clk_init_data){ 170506391eddSTaniya Das .name = "gcc_pcie_0_pipe_clk", 17064b5a59a2SBjorn Andersson .parent_names = (const char *[]){ "pcie_0_pipe_clk" }, 17074b5a59a2SBjorn Andersson .num_parents = 1, 17084b5a59a2SBjorn Andersson .flags = CLK_SET_RATE_PARENT, 170906391eddSTaniya Das .ops = &clk_branch2_ops, 171006391eddSTaniya Das }, 171106391eddSTaniya Das }, 171206391eddSTaniya Das }; 171306391eddSTaniya Das 171406391eddSTaniya Das static struct clk_branch gcc_pcie_0_slv_axi_clk = { 171506391eddSTaniya Das .halt_reg = 0x6b010, 171606391eddSTaniya Das .halt_check = BRANCH_HALT_VOTED, 171706391eddSTaniya Das .hwcg_reg = 0x6b010, 171806391eddSTaniya Das .hwcg_bit = 1, 171906391eddSTaniya Das .clkr = { 172006391eddSTaniya Das .enable_reg = 0x5200c, 172106391eddSTaniya Das .enable_mask = BIT(0), 172206391eddSTaniya Das .hw.init = &(struct clk_init_data){ 172306391eddSTaniya Das .name = "gcc_pcie_0_slv_axi_clk", 172406391eddSTaniya Das .ops = &clk_branch2_ops, 172506391eddSTaniya Das }, 172606391eddSTaniya Das }, 172706391eddSTaniya Das }; 172806391eddSTaniya Das 172906391eddSTaniya Das static struct clk_branch gcc_pcie_0_slv_q2a_axi_clk = { 173006391eddSTaniya Das .halt_reg = 0x6b00c, 173106391eddSTaniya Das .halt_check = BRANCH_HALT_VOTED, 173206391eddSTaniya Das .clkr = { 173306391eddSTaniya Das .enable_reg = 0x5200c, 173406391eddSTaniya Das .enable_mask = BIT(5), 173506391eddSTaniya Das .hw.init = &(struct clk_init_data){ 173606391eddSTaniya Das .name = "gcc_pcie_0_slv_q2a_axi_clk", 173706391eddSTaniya Das .ops = &clk_branch2_ops, 173806391eddSTaniya Das }, 173906391eddSTaniya Das }, 174006391eddSTaniya Das }; 174106391eddSTaniya Das 174206391eddSTaniya Das static struct clk_branch gcc_pcie_1_aux_clk = { 174306391eddSTaniya Das .halt_reg = 0x8d01c, 174406391eddSTaniya Das .halt_check = BRANCH_HALT_VOTED, 174506391eddSTaniya Das .clkr = { 174606391eddSTaniya Das .enable_reg = 0x52004, 174706391eddSTaniya Das .enable_mask = BIT(29), 174806391eddSTaniya Das .hw.init = &(struct clk_init_data){ 174906391eddSTaniya Das .name = "gcc_pcie_1_aux_clk", 175006391eddSTaniya Das .parent_names = (const char *[]){ 175106391eddSTaniya Das "gcc_pcie_1_aux_clk_src", 175206391eddSTaniya Das }, 175306391eddSTaniya Das .num_parents = 1, 175406391eddSTaniya Das .flags = CLK_SET_RATE_PARENT, 175506391eddSTaniya Das .ops = &clk_branch2_ops, 175606391eddSTaniya Das }, 175706391eddSTaniya Das }, 175806391eddSTaniya Das }; 175906391eddSTaniya Das 176006391eddSTaniya Das static struct clk_branch gcc_pcie_1_cfg_ahb_clk = { 176106391eddSTaniya Das .halt_reg = 0x8d018, 176206391eddSTaniya Das .halt_check = BRANCH_HALT_VOTED, 176306391eddSTaniya Das .hwcg_reg = 0x8d018, 176406391eddSTaniya Das .hwcg_bit = 1, 176506391eddSTaniya Das .clkr = { 176606391eddSTaniya Das .enable_reg = 0x52004, 176706391eddSTaniya Das .enable_mask = BIT(28), 176806391eddSTaniya Das .hw.init = &(struct clk_init_data){ 176906391eddSTaniya Das .name = "gcc_pcie_1_cfg_ahb_clk", 177006391eddSTaniya Das .ops = &clk_branch2_ops, 177106391eddSTaniya Das }, 177206391eddSTaniya Das }, 177306391eddSTaniya Das }; 177406391eddSTaniya Das 177506391eddSTaniya Das static struct clk_branch gcc_pcie_1_clkref_clk = { 177606391eddSTaniya Das .halt_reg = 0x8c02c, 177706391eddSTaniya Das .halt_check = BRANCH_HALT, 177806391eddSTaniya Das .clkr = { 177906391eddSTaniya Das .enable_reg = 0x8c02c, 178006391eddSTaniya Das .enable_mask = BIT(0), 178106391eddSTaniya Das .hw.init = &(struct clk_init_data){ 178206391eddSTaniya Das .name = "gcc_pcie_1_clkref_clk", 178306391eddSTaniya Das .ops = &clk_branch2_ops, 178406391eddSTaniya Das }, 178506391eddSTaniya Das }, 178606391eddSTaniya Das }; 178706391eddSTaniya Das 178806391eddSTaniya Das static struct clk_branch gcc_pcie_1_mstr_axi_clk = { 178906391eddSTaniya Das .halt_reg = 0x8d014, 179006391eddSTaniya Das .halt_check = BRANCH_HALT_VOTED, 179106391eddSTaniya Das .clkr = { 179206391eddSTaniya Das .enable_reg = 0x52004, 179306391eddSTaniya Das .enable_mask = BIT(27), 179406391eddSTaniya Das .hw.init = &(struct clk_init_data){ 179506391eddSTaniya Das .name = "gcc_pcie_1_mstr_axi_clk", 179606391eddSTaniya Das .ops = &clk_branch2_ops, 179706391eddSTaniya Das }, 179806391eddSTaniya Das }, 179906391eddSTaniya Das }; 180006391eddSTaniya Das 180106391eddSTaniya Das static struct clk_branch gcc_pcie_1_pipe_clk = { 180206391eddSTaniya Das .halt_check = BRANCH_HALT_SKIP, 180306391eddSTaniya Das .clkr = { 180406391eddSTaniya Das .enable_reg = 0x52004, 180506391eddSTaniya Das .enable_mask = BIT(30), 180606391eddSTaniya Das .hw.init = &(struct clk_init_data){ 180706391eddSTaniya Das .name = "gcc_pcie_1_pipe_clk", 18084b5a59a2SBjorn Andersson .parent_names = (const char *[]){ "pcie_1_pipe_clk" }, 18094b5a59a2SBjorn Andersson .num_parents = 1, 181006391eddSTaniya Das .ops = &clk_branch2_ops, 181106391eddSTaniya Das }, 181206391eddSTaniya Das }, 181306391eddSTaniya Das }; 181406391eddSTaniya Das 181506391eddSTaniya Das static struct clk_branch gcc_pcie_1_slv_axi_clk = { 181606391eddSTaniya Das .halt_reg = 0x8d010, 181706391eddSTaniya Das .halt_check = BRANCH_HALT_VOTED, 181806391eddSTaniya Das .hwcg_reg = 0x8d010, 181906391eddSTaniya Das .hwcg_bit = 1, 182006391eddSTaniya Das .clkr = { 182106391eddSTaniya Das .enable_reg = 0x52004, 182206391eddSTaniya Das .enable_mask = BIT(26), 182306391eddSTaniya Das .hw.init = &(struct clk_init_data){ 182406391eddSTaniya Das .name = "gcc_pcie_1_slv_axi_clk", 182506391eddSTaniya Das .ops = &clk_branch2_ops, 182606391eddSTaniya Das }, 182706391eddSTaniya Das }, 182806391eddSTaniya Das }; 182906391eddSTaniya Das 183006391eddSTaniya Das static struct clk_branch gcc_pcie_1_slv_q2a_axi_clk = { 183106391eddSTaniya Das .halt_reg = 0x8d00c, 183206391eddSTaniya Das .halt_check = BRANCH_HALT_VOTED, 183306391eddSTaniya Das .clkr = { 183406391eddSTaniya Das .enable_reg = 0x52004, 183506391eddSTaniya Das .enable_mask = BIT(25), 183606391eddSTaniya Das .hw.init = &(struct clk_init_data){ 183706391eddSTaniya Das .name = "gcc_pcie_1_slv_q2a_axi_clk", 183806391eddSTaniya Das .ops = &clk_branch2_ops, 183906391eddSTaniya Das }, 184006391eddSTaniya Das }, 184106391eddSTaniya Das }; 184206391eddSTaniya Das 184306391eddSTaniya Das static struct clk_branch gcc_pcie_phy_aux_clk = { 184406391eddSTaniya Das .halt_reg = 0x6f004, 184506391eddSTaniya Das .halt_check = BRANCH_HALT, 184606391eddSTaniya Das .clkr = { 184706391eddSTaniya Das .enable_reg = 0x6f004, 184806391eddSTaniya Das .enable_mask = BIT(0), 184906391eddSTaniya Das .hw.init = &(struct clk_init_data){ 185006391eddSTaniya Das .name = "gcc_pcie_phy_aux_clk", 185106391eddSTaniya Das .parent_names = (const char *[]){ 185206391eddSTaniya Das "gcc_pcie_0_aux_clk_src", 185306391eddSTaniya Das }, 185406391eddSTaniya Das .num_parents = 1, 185506391eddSTaniya Das .flags = CLK_SET_RATE_PARENT, 185606391eddSTaniya Das .ops = &clk_branch2_ops, 185706391eddSTaniya Das }, 185806391eddSTaniya Das }, 185906391eddSTaniya Das }; 186006391eddSTaniya Das 186106391eddSTaniya Das static struct clk_branch gcc_pcie_phy_refgen_clk = { 186206391eddSTaniya Das .halt_reg = 0x6f02c, 186306391eddSTaniya Das .halt_check = BRANCH_HALT, 186406391eddSTaniya Das .clkr = { 186506391eddSTaniya Das .enable_reg = 0x6f02c, 186606391eddSTaniya Das .enable_mask = BIT(0), 186706391eddSTaniya Das .hw.init = &(struct clk_init_data){ 186806391eddSTaniya Das .name = "gcc_pcie_phy_refgen_clk", 186906391eddSTaniya Das .parent_names = (const char *[]){ 187006391eddSTaniya Das "gcc_pcie_phy_refgen_clk_src", 187106391eddSTaniya Das }, 187206391eddSTaniya Das .num_parents = 1, 187306391eddSTaniya Das .flags = CLK_SET_RATE_PARENT, 187406391eddSTaniya Das .ops = &clk_branch2_ops, 187506391eddSTaniya Das }, 187606391eddSTaniya Das }, 187706391eddSTaniya Das }; 187806391eddSTaniya Das 187906391eddSTaniya Das static struct clk_branch gcc_pdm2_clk = { 188006391eddSTaniya Das .halt_reg = 0x3300c, 188106391eddSTaniya Das .halt_check = BRANCH_HALT, 188206391eddSTaniya Das .clkr = { 188306391eddSTaniya Das .enable_reg = 0x3300c, 188406391eddSTaniya Das .enable_mask = BIT(0), 188506391eddSTaniya Das .hw.init = &(struct clk_init_data){ 188606391eddSTaniya Das .name = "gcc_pdm2_clk", 188706391eddSTaniya Das .parent_names = (const char *[]){ 188806391eddSTaniya Das "gcc_pdm2_clk_src", 188906391eddSTaniya Das }, 189006391eddSTaniya Das .num_parents = 1, 189106391eddSTaniya Das .flags = CLK_SET_RATE_PARENT, 189206391eddSTaniya Das .ops = &clk_branch2_ops, 189306391eddSTaniya Das }, 189406391eddSTaniya Das }, 189506391eddSTaniya Das }; 189606391eddSTaniya Das 189706391eddSTaniya Das static struct clk_branch gcc_pdm_ahb_clk = { 189806391eddSTaniya Das .halt_reg = 0x33004, 189906391eddSTaniya Das .halt_check = BRANCH_HALT, 190006391eddSTaniya Das .hwcg_reg = 0x33004, 190106391eddSTaniya Das .hwcg_bit = 1, 190206391eddSTaniya Das .clkr = { 190306391eddSTaniya Das .enable_reg = 0x33004, 190406391eddSTaniya Das .enable_mask = BIT(0), 190506391eddSTaniya Das .hw.init = &(struct clk_init_data){ 190606391eddSTaniya Das .name = "gcc_pdm_ahb_clk", 190706391eddSTaniya Das .ops = &clk_branch2_ops, 190806391eddSTaniya Das }, 190906391eddSTaniya Das }, 191006391eddSTaniya Das }; 191106391eddSTaniya Das 191206391eddSTaniya Das static struct clk_branch gcc_pdm_xo4_clk = { 191306391eddSTaniya Das .halt_reg = 0x33008, 191406391eddSTaniya Das .halt_check = BRANCH_HALT, 191506391eddSTaniya Das .clkr = { 191606391eddSTaniya Das .enable_reg = 0x33008, 191706391eddSTaniya Das .enable_mask = BIT(0), 191806391eddSTaniya Das .hw.init = &(struct clk_init_data){ 191906391eddSTaniya Das .name = "gcc_pdm_xo4_clk", 192006391eddSTaniya Das .ops = &clk_branch2_ops, 192106391eddSTaniya Das }, 192206391eddSTaniya Das }, 192306391eddSTaniya Das }; 192406391eddSTaniya Das 192506391eddSTaniya Das static struct clk_branch gcc_prng_ahb_clk = { 192606391eddSTaniya Das .halt_reg = 0x34004, 192706391eddSTaniya Das .halt_check = BRANCH_HALT_VOTED, 192806391eddSTaniya Das .hwcg_reg = 0x34004, 192906391eddSTaniya Das .hwcg_bit = 1, 193006391eddSTaniya Das .clkr = { 193106391eddSTaniya Das .enable_reg = 0x52004, 193206391eddSTaniya Das .enable_mask = BIT(13), 193306391eddSTaniya Das .hw.init = &(struct clk_init_data){ 193406391eddSTaniya Das .name = "gcc_prng_ahb_clk", 193506391eddSTaniya Das .ops = &clk_branch2_ops, 193606391eddSTaniya Das }, 193706391eddSTaniya Das }, 193806391eddSTaniya Das }; 193906391eddSTaniya Das 194006391eddSTaniya Das static struct clk_branch gcc_qmip_camera_ahb_clk = { 194106391eddSTaniya Das .halt_reg = 0xb014, 194206391eddSTaniya Das .halt_check = BRANCH_HALT, 194306391eddSTaniya Das .hwcg_reg = 0xb014, 194406391eddSTaniya Das .hwcg_bit = 1, 194506391eddSTaniya Das .clkr = { 194606391eddSTaniya Das .enable_reg = 0xb014, 194706391eddSTaniya Das .enable_mask = BIT(0), 194806391eddSTaniya Das .hw.init = &(struct clk_init_data){ 194906391eddSTaniya Das .name = "gcc_qmip_camera_ahb_clk", 195006391eddSTaniya Das .ops = &clk_branch2_ops, 195106391eddSTaniya Das }, 195206391eddSTaniya Das }, 195306391eddSTaniya Das }; 195406391eddSTaniya Das 195506391eddSTaniya Das static struct clk_branch gcc_qmip_disp_ahb_clk = { 195606391eddSTaniya Das .halt_reg = 0xb018, 195706391eddSTaniya Das .halt_check = BRANCH_HALT, 195806391eddSTaniya Das .hwcg_reg = 0xb018, 195906391eddSTaniya Das .hwcg_bit = 1, 196006391eddSTaniya Das .clkr = { 196106391eddSTaniya Das .enable_reg = 0xb018, 196206391eddSTaniya Das .enable_mask = BIT(0), 196306391eddSTaniya Das .hw.init = &(struct clk_init_data){ 196406391eddSTaniya Das .name = "gcc_qmip_disp_ahb_clk", 196506391eddSTaniya Das .ops = &clk_branch2_ops, 196606391eddSTaniya Das }, 196706391eddSTaniya Das }, 196806391eddSTaniya Das }; 196906391eddSTaniya Das 197006391eddSTaniya Das static struct clk_branch gcc_qmip_video_ahb_clk = { 197106391eddSTaniya Das .halt_reg = 0xb010, 197206391eddSTaniya Das .halt_check = BRANCH_HALT, 197306391eddSTaniya Das .hwcg_reg = 0xb010, 197406391eddSTaniya Das .hwcg_bit = 1, 197506391eddSTaniya Das .clkr = { 197606391eddSTaniya Das .enable_reg = 0xb010, 197706391eddSTaniya Das .enable_mask = BIT(0), 197806391eddSTaniya Das .hw.init = &(struct clk_init_data){ 197906391eddSTaniya Das .name = "gcc_qmip_video_ahb_clk", 198006391eddSTaniya Das .ops = &clk_branch2_ops, 198106391eddSTaniya Das }, 198206391eddSTaniya Das }, 198306391eddSTaniya Das }; 198406391eddSTaniya Das 19854f83d9b8SDouglas Anderson static struct clk_branch gcc_qspi_cnoc_periph_ahb_clk = { 19864f83d9b8SDouglas Anderson .halt_reg = 0x4b000, 19874f83d9b8SDouglas Anderson .halt_check = BRANCH_HALT, 19884f83d9b8SDouglas Anderson .clkr = { 19894f83d9b8SDouglas Anderson .enable_reg = 0x4b000, 19904f83d9b8SDouglas Anderson .enable_mask = BIT(0), 19914f83d9b8SDouglas Anderson .hw.init = &(struct clk_init_data){ 19924f83d9b8SDouglas Anderson .name = "gcc_qspi_cnoc_periph_ahb_clk", 19934f83d9b8SDouglas Anderson .ops = &clk_branch2_ops, 19944f83d9b8SDouglas Anderson }, 19954f83d9b8SDouglas Anderson }, 19964f83d9b8SDouglas Anderson }; 19974f83d9b8SDouglas Anderson 19984f83d9b8SDouglas Anderson static struct clk_branch gcc_qspi_core_clk = { 19994f83d9b8SDouglas Anderson .halt_reg = 0x4b004, 20004f83d9b8SDouglas Anderson .halt_check = BRANCH_HALT, 20014f83d9b8SDouglas Anderson .clkr = { 20024f83d9b8SDouglas Anderson .enable_reg = 0x4b004, 20034f83d9b8SDouglas Anderson .enable_mask = BIT(0), 20044f83d9b8SDouglas Anderson .hw.init = &(struct clk_init_data){ 20054f83d9b8SDouglas Anderson .name = "gcc_qspi_core_clk", 20064f83d9b8SDouglas Anderson .parent_names = (const char *[]){ 20074f83d9b8SDouglas Anderson "gcc_qspi_core_clk_src", 20084f83d9b8SDouglas Anderson }, 20094f83d9b8SDouglas Anderson .num_parents = 1, 20104f83d9b8SDouglas Anderson .flags = CLK_SET_RATE_PARENT, 20114f83d9b8SDouglas Anderson .ops = &clk_branch2_ops, 20124f83d9b8SDouglas Anderson }, 20134f83d9b8SDouglas Anderson }, 20144f83d9b8SDouglas Anderson }; 20154f83d9b8SDouglas Anderson 201606391eddSTaniya Das static struct clk_branch gcc_qupv3_wrap0_s0_clk = { 201706391eddSTaniya Das .halt_reg = 0x17030, 201806391eddSTaniya Das .halt_check = BRANCH_HALT_VOTED, 201906391eddSTaniya Das .clkr = { 202006391eddSTaniya Das .enable_reg = 0x5200c, 202106391eddSTaniya Das .enable_mask = BIT(10), 202206391eddSTaniya Das .hw.init = &(struct clk_init_data){ 202306391eddSTaniya Das .name = "gcc_qupv3_wrap0_s0_clk", 202406391eddSTaniya Das .parent_names = (const char *[]){ 202506391eddSTaniya Das "gcc_qupv3_wrap0_s0_clk_src", 202606391eddSTaniya Das }, 202706391eddSTaniya Das .num_parents = 1, 202806391eddSTaniya Das .flags = CLK_SET_RATE_PARENT, 202906391eddSTaniya Das .ops = &clk_branch2_ops, 203006391eddSTaniya Das }, 203106391eddSTaniya Das }, 203206391eddSTaniya Das }; 203306391eddSTaniya Das 203406391eddSTaniya Das static struct clk_branch gcc_qupv3_wrap0_s1_clk = { 203506391eddSTaniya Das .halt_reg = 0x17160, 203606391eddSTaniya Das .halt_check = BRANCH_HALT_VOTED, 203706391eddSTaniya Das .clkr = { 203806391eddSTaniya Das .enable_reg = 0x5200c, 203906391eddSTaniya Das .enable_mask = BIT(11), 204006391eddSTaniya Das .hw.init = &(struct clk_init_data){ 204106391eddSTaniya Das .name = "gcc_qupv3_wrap0_s1_clk", 204206391eddSTaniya Das .parent_names = (const char *[]){ 204306391eddSTaniya Das "gcc_qupv3_wrap0_s1_clk_src", 204406391eddSTaniya Das }, 204506391eddSTaniya Das .num_parents = 1, 204606391eddSTaniya Das .flags = CLK_SET_RATE_PARENT, 204706391eddSTaniya Das .ops = &clk_branch2_ops, 204806391eddSTaniya Das }, 204906391eddSTaniya Das }, 205006391eddSTaniya Das }; 205106391eddSTaniya Das 205206391eddSTaniya Das static struct clk_branch gcc_qupv3_wrap0_s2_clk = { 205306391eddSTaniya Das .halt_reg = 0x17290, 205406391eddSTaniya Das .halt_check = BRANCH_HALT_VOTED, 205506391eddSTaniya Das .clkr = { 205606391eddSTaniya Das .enable_reg = 0x5200c, 205706391eddSTaniya Das .enable_mask = BIT(12), 205806391eddSTaniya Das .hw.init = &(struct clk_init_data){ 205906391eddSTaniya Das .name = "gcc_qupv3_wrap0_s2_clk", 206006391eddSTaniya Das .parent_names = (const char *[]){ 206106391eddSTaniya Das "gcc_qupv3_wrap0_s2_clk_src", 206206391eddSTaniya Das }, 206306391eddSTaniya Das .num_parents = 1, 206406391eddSTaniya Das .flags = CLK_SET_RATE_PARENT, 206506391eddSTaniya Das .ops = &clk_branch2_ops, 206606391eddSTaniya Das }, 206706391eddSTaniya Das }, 206806391eddSTaniya Das }; 206906391eddSTaniya Das 207006391eddSTaniya Das static struct clk_branch gcc_qupv3_wrap0_s3_clk = { 207106391eddSTaniya Das .halt_reg = 0x173c0, 207206391eddSTaniya Das .halt_check = BRANCH_HALT_VOTED, 207306391eddSTaniya Das .clkr = { 207406391eddSTaniya Das .enable_reg = 0x5200c, 207506391eddSTaniya Das .enable_mask = BIT(13), 207606391eddSTaniya Das .hw.init = &(struct clk_init_data){ 207706391eddSTaniya Das .name = "gcc_qupv3_wrap0_s3_clk", 207806391eddSTaniya Das .parent_names = (const char *[]){ 207906391eddSTaniya Das "gcc_qupv3_wrap0_s3_clk_src", 208006391eddSTaniya Das }, 208106391eddSTaniya Das .num_parents = 1, 208206391eddSTaniya Das .flags = CLK_SET_RATE_PARENT, 208306391eddSTaniya Das .ops = &clk_branch2_ops, 208406391eddSTaniya Das }, 208506391eddSTaniya Das }, 208606391eddSTaniya Das }; 208706391eddSTaniya Das 208806391eddSTaniya Das static struct clk_branch gcc_qupv3_wrap0_s4_clk = { 208906391eddSTaniya Das .halt_reg = 0x174f0, 209006391eddSTaniya Das .halt_check = BRANCH_HALT_VOTED, 209106391eddSTaniya Das .clkr = { 209206391eddSTaniya Das .enable_reg = 0x5200c, 209306391eddSTaniya Das .enable_mask = BIT(14), 209406391eddSTaniya Das .hw.init = &(struct clk_init_data){ 209506391eddSTaniya Das .name = "gcc_qupv3_wrap0_s4_clk", 209606391eddSTaniya Das .parent_names = (const char *[]){ 209706391eddSTaniya Das "gcc_qupv3_wrap0_s4_clk_src", 209806391eddSTaniya Das }, 209906391eddSTaniya Das .num_parents = 1, 210006391eddSTaniya Das .flags = CLK_SET_RATE_PARENT, 210106391eddSTaniya Das .ops = &clk_branch2_ops, 210206391eddSTaniya Das }, 210306391eddSTaniya Das }, 210406391eddSTaniya Das }; 210506391eddSTaniya Das 210606391eddSTaniya Das static struct clk_branch gcc_qupv3_wrap0_s5_clk = { 210706391eddSTaniya Das .halt_reg = 0x17620, 210806391eddSTaniya Das .halt_check = BRANCH_HALT_VOTED, 210906391eddSTaniya Das .clkr = { 211006391eddSTaniya Das .enable_reg = 0x5200c, 211106391eddSTaniya Das .enable_mask = BIT(15), 211206391eddSTaniya Das .hw.init = &(struct clk_init_data){ 211306391eddSTaniya Das .name = "gcc_qupv3_wrap0_s5_clk", 211406391eddSTaniya Das .parent_names = (const char *[]){ 211506391eddSTaniya Das "gcc_qupv3_wrap0_s5_clk_src", 211606391eddSTaniya Das }, 211706391eddSTaniya Das .num_parents = 1, 211806391eddSTaniya Das .flags = CLK_SET_RATE_PARENT, 211906391eddSTaniya Das .ops = &clk_branch2_ops, 212006391eddSTaniya Das }, 212106391eddSTaniya Das }, 212206391eddSTaniya Das }; 212306391eddSTaniya Das 212406391eddSTaniya Das static struct clk_branch gcc_qupv3_wrap0_s6_clk = { 212506391eddSTaniya Das .halt_reg = 0x17750, 212606391eddSTaniya Das .halt_check = BRANCH_HALT_VOTED, 212706391eddSTaniya Das .clkr = { 212806391eddSTaniya Das .enable_reg = 0x5200c, 212906391eddSTaniya Das .enable_mask = BIT(16), 213006391eddSTaniya Das .hw.init = &(struct clk_init_data){ 213106391eddSTaniya Das .name = "gcc_qupv3_wrap0_s6_clk", 213206391eddSTaniya Das .parent_names = (const char *[]){ 213306391eddSTaniya Das "gcc_qupv3_wrap0_s6_clk_src", 213406391eddSTaniya Das }, 213506391eddSTaniya Das .num_parents = 1, 213606391eddSTaniya Das .flags = CLK_SET_RATE_PARENT, 213706391eddSTaniya Das .ops = &clk_branch2_ops, 213806391eddSTaniya Das }, 213906391eddSTaniya Das }, 214006391eddSTaniya Das }; 214106391eddSTaniya Das 214206391eddSTaniya Das static struct clk_branch gcc_qupv3_wrap0_s7_clk = { 214306391eddSTaniya Das .halt_reg = 0x17880, 214406391eddSTaniya Das .halt_check = BRANCH_HALT_VOTED, 214506391eddSTaniya Das .clkr = { 214606391eddSTaniya Das .enable_reg = 0x5200c, 214706391eddSTaniya Das .enable_mask = BIT(17), 214806391eddSTaniya Das .hw.init = &(struct clk_init_data){ 214906391eddSTaniya Das .name = "gcc_qupv3_wrap0_s7_clk", 215006391eddSTaniya Das .parent_names = (const char *[]){ 215106391eddSTaniya Das "gcc_qupv3_wrap0_s7_clk_src", 215206391eddSTaniya Das }, 215306391eddSTaniya Das .num_parents = 1, 215406391eddSTaniya Das .flags = CLK_SET_RATE_PARENT, 215506391eddSTaniya Das .ops = &clk_branch2_ops, 215606391eddSTaniya Das }, 215706391eddSTaniya Das }, 215806391eddSTaniya Das }; 215906391eddSTaniya Das 216006391eddSTaniya Das static struct clk_branch gcc_qupv3_wrap1_s0_clk = { 216106391eddSTaniya Das .halt_reg = 0x18014, 216206391eddSTaniya Das .halt_check = BRANCH_HALT_VOTED, 216306391eddSTaniya Das .clkr = { 216406391eddSTaniya Das .enable_reg = 0x5200c, 216506391eddSTaniya Das .enable_mask = BIT(22), 216606391eddSTaniya Das .hw.init = &(struct clk_init_data){ 216706391eddSTaniya Das .name = "gcc_qupv3_wrap1_s0_clk", 216806391eddSTaniya Das .parent_names = (const char *[]){ 216906391eddSTaniya Das "gcc_qupv3_wrap1_s0_clk_src", 217006391eddSTaniya Das }, 217106391eddSTaniya Das .num_parents = 1, 217206391eddSTaniya Das .flags = CLK_SET_RATE_PARENT, 217306391eddSTaniya Das .ops = &clk_branch2_ops, 217406391eddSTaniya Das }, 217506391eddSTaniya Das }, 217606391eddSTaniya Das }; 217706391eddSTaniya Das 217806391eddSTaniya Das static struct clk_branch gcc_qupv3_wrap1_s1_clk = { 217906391eddSTaniya Das .halt_reg = 0x18144, 218006391eddSTaniya Das .halt_check = BRANCH_HALT_VOTED, 218106391eddSTaniya Das .clkr = { 218206391eddSTaniya Das .enable_reg = 0x5200c, 218306391eddSTaniya Das .enable_mask = BIT(23), 218406391eddSTaniya Das .hw.init = &(struct clk_init_data){ 218506391eddSTaniya Das .name = "gcc_qupv3_wrap1_s1_clk", 218606391eddSTaniya Das .parent_names = (const char *[]){ 218706391eddSTaniya Das "gcc_qupv3_wrap1_s1_clk_src", 218806391eddSTaniya Das }, 218906391eddSTaniya Das .num_parents = 1, 219006391eddSTaniya Das .flags = CLK_SET_RATE_PARENT, 219106391eddSTaniya Das .ops = &clk_branch2_ops, 219206391eddSTaniya Das }, 219306391eddSTaniya Das }, 219406391eddSTaniya Das }; 219506391eddSTaniya Das 219606391eddSTaniya Das static struct clk_branch gcc_qupv3_wrap1_s2_clk = { 219706391eddSTaniya Das .halt_reg = 0x18274, 219806391eddSTaniya Das .halt_check = BRANCH_HALT_VOTED, 219906391eddSTaniya Das .clkr = { 220006391eddSTaniya Das .enable_reg = 0x5200c, 220106391eddSTaniya Das .enable_mask = BIT(24), 220206391eddSTaniya Das .hw.init = &(struct clk_init_data){ 220306391eddSTaniya Das .name = "gcc_qupv3_wrap1_s2_clk", 220406391eddSTaniya Das .parent_names = (const char *[]){ 220506391eddSTaniya Das "gcc_qupv3_wrap1_s2_clk_src", 220606391eddSTaniya Das }, 220706391eddSTaniya Das .num_parents = 1, 220806391eddSTaniya Das .flags = CLK_SET_RATE_PARENT, 220906391eddSTaniya Das .ops = &clk_branch2_ops, 221006391eddSTaniya Das }, 221106391eddSTaniya Das }, 221206391eddSTaniya Das }; 221306391eddSTaniya Das 221406391eddSTaniya Das static struct clk_branch gcc_qupv3_wrap1_s3_clk = { 221506391eddSTaniya Das .halt_reg = 0x183a4, 221606391eddSTaniya Das .halt_check = BRANCH_HALT_VOTED, 221706391eddSTaniya Das .clkr = { 221806391eddSTaniya Das .enable_reg = 0x5200c, 221906391eddSTaniya Das .enable_mask = BIT(25), 222006391eddSTaniya Das .hw.init = &(struct clk_init_data){ 222106391eddSTaniya Das .name = "gcc_qupv3_wrap1_s3_clk", 222206391eddSTaniya Das .parent_names = (const char *[]){ 222306391eddSTaniya Das "gcc_qupv3_wrap1_s3_clk_src", 222406391eddSTaniya Das }, 222506391eddSTaniya Das .num_parents = 1, 222606391eddSTaniya Das .flags = CLK_SET_RATE_PARENT, 222706391eddSTaniya Das .ops = &clk_branch2_ops, 222806391eddSTaniya Das }, 222906391eddSTaniya Das }, 223006391eddSTaniya Das }; 223106391eddSTaniya Das 223206391eddSTaniya Das static struct clk_branch gcc_qupv3_wrap1_s4_clk = { 223306391eddSTaniya Das .halt_reg = 0x184d4, 223406391eddSTaniya Das .halt_check = BRANCH_HALT_VOTED, 223506391eddSTaniya Das .clkr = { 223606391eddSTaniya Das .enable_reg = 0x5200c, 223706391eddSTaniya Das .enable_mask = BIT(26), 223806391eddSTaniya Das .hw.init = &(struct clk_init_data){ 223906391eddSTaniya Das .name = "gcc_qupv3_wrap1_s4_clk", 224006391eddSTaniya Das .parent_names = (const char *[]){ 224106391eddSTaniya Das "gcc_qupv3_wrap1_s4_clk_src", 224206391eddSTaniya Das }, 224306391eddSTaniya Das .num_parents = 1, 224406391eddSTaniya Das .flags = CLK_SET_RATE_PARENT, 224506391eddSTaniya Das .ops = &clk_branch2_ops, 224606391eddSTaniya Das }, 224706391eddSTaniya Das }, 224806391eddSTaniya Das }; 224906391eddSTaniya Das 225006391eddSTaniya Das static struct clk_branch gcc_qupv3_wrap1_s5_clk = { 225106391eddSTaniya Das .halt_reg = 0x18604, 225206391eddSTaniya Das .halt_check = BRANCH_HALT_VOTED, 225306391eddSTaniya Das .clkr = { 225406391eddSTaniya Das .enable_reg = 0x5200c, 225506391eddSTaniya Das .enable_mask = BIT(27), 225606391eddSTaniya Das .hw.init = &(struct clk_init_data){ 225706391eddSTaniya Das .name = "gcc_qupv3_wrap1_s5_clk", 225806391eddSTaniya Das .parent_names = (const char *[]){ 225906391eddSTaniya Das "gcc_qupv3_wrap1_s5_clk_src", 226006391eddSTaniya Das }, 226106391eddSTaniya Das .num_parents = 1, 226206391eddSTaniya Das .flags = CLK_SET_RATE_PARENT, 226306391eddSTaniya Das .ops = &clk_branch2_ops, 226406391eddSTaniya Das }, 226506391eddSTaniya Das }, 226606391eddSTaniya Das }; 226706391eddSTaniya Das 226806391eddSTaniya Das static struct clk_branch gcc_qupv3_wrap1_s6_clk = { 226906391eddSTaniya Das .halt_reg = 0x18734, 227006391eddSTaniya Das .halt_check = BRANCH_HALT_VOTED, 227106391eddSTaniya Das .clkr = { 227206391eddSTaniya Das .enable_reg = 0x5200c, 227306391eddSTaniya Das .enable_mask = BIT(28), 227406391eddSTaniya Das .hw.init = &(struct clk_init_data){ 227506391eddSTaniya Das .name = "gcc_qupv3_wrap1_s6_clk", 227606391eddSTaniya Das .parent_names = (const char *[]){ 227706391eddSTaniya Das "gcc_qupv3_wrap1_s6_clk_src", 227806391eddSTaniya Das }, 227906391eddSTaniya Das .num_parents = 1, 228006391eddSTaniya Das .flags = CLK_SET_RATE_PARENT, 228106391eddSTaniya Das .ops = &clk_branch2_ops, 228206391eddSTaniya Das }, 228306391eddSTaniya Das }, 228406391eddSTaniya Das }; 228506391eddSTaniya Das 228606391eddSTaniya Das static struct clk_branch gcc_qupv3_wrap1_s7_clk = { 228706391eddSTaniya Das .halt_reg = 0x18864, 228806391eddSTaniya Das .halt_check = BRANCH_HALT_VOTED, 228906391eddSTaniya Das .clkr = { 229006391eddSTaniya Das .enable_reg = 0x5200c, 229106391eddSTaniya Das .enable_mask = BIT(29), 229206391eddSTaniya Das .hw.init = &(struct clk_init_data){ 229306391eddSTaniya Das .name = "gcc_qupv3_wrap1_s7_clk", 229406391eddSTaniya Das .parent_names = (const char *[]){ 229506391eddSTaniya Das "gcc_qupv3_wrap1_s7_clk_src", 229606391eddSTaniya Das }, 229706391eddSTaniya Das .num_parents = 1, 229806391eddSTaniya Das .flags = CLK_SET_RATE_PARENT, 229906391eddSTaniya Das .ops = &clk_branch2_ops, 230006391eddSTaniya Das }, 230106391eddSTaniya Das }, 230206391eddSTaniya Das }; 230306391eddSTaniya Das 230406391eddSTaniya Das static struct clk_branch gcc_qupv3_wrap_0_m_ahb_clk = { 230506391eddSTaniya Das .halt_reg = 0x17004, 230606391eddSTaniya Das .halt_check = BRANCH_HALT_VOTED, 230706391eddSTaniya Das .clkr = { 230806391eddSTaniya Das .enable_reg = 0x5200c, 230906391eddSTaniya Das .enable_mask = BIT(6), 231006391eddSTaniya Das .hw.init = &(struct clk_init_data){ 231106391eddSTaniya Das .name = "gcc_qupv3_wrap_0_m_ahb_clk", 231206391eddSTaniya Das .ops = &clk_branch2_ops, 231306391eddSTaniya Das }, 231406391eddSTaniya Das }, 231506391eddSTaniya Das }; 231606391eddSTaniya Das 231706391eddSTaniya Das static struct clk_branch gcc_qupv3_wrap_0_s_ahb_clk = { 231806391eddSTaniya Das .halt_reg = 0x17008, 231906391eddSTaniya Das .halt_check = BRANCH_HALT_VOTED, 232006391eddSTaniya Das .hwcg_reg = 0x17008, 232106391eddSTaniya Das .hwcg_bit = 1, 232206391eddSTaniya Das .clkr = { 232306391eddSTaniya Das .enable_reg = 0x5200c, 232406391eddSTaniya Das .enable_mask = BIT(7), 232506391eddSTaniya Das .hw.init = &(struct clk_init_data){ 232606391eddSTaniya Das .name = "gcc_qupv3_wrap_0_s_ahb_clk", 232706391eddSTaniya Das .ops = &clk_branch2_ops, 232806391eddSTaniya Das }, 232906391eddSTaniya Das }, 233006391eddSTaniya Das }; 233106391eddSTaniya Das 233206391eddSTaniya Das static struct clk_branch gcc_qupv3_wrap_1_m_ahb_clk = { 233306391eddSTaniya Das .halt_reg = 0x1800c, 233406391eddSTaniya Das .halt_check = BRANCH_HALT_VOTED, 233506391eddSTaniya Das .clkr = { 233606391eddSTaniya Das .enable_reg = 0x5200c, 233706391eddSTaniya Das .enable_mask = BIT(20), 233806391eddSTaniya Das .hw.init = &(struct clk_init_data){ 233906391eddSTaniya Das .name = "gcc_qupv3_wrap_1_m_ahb_clk", 234006391eddSTaniya Das .ops = &clk_branch2_ops, 234106391eddSTaniya Das }, 234206391eddSTaniya Das }, 234306391eddSTaniya Das }; 234406391eddSTaniya Das 234506391eddSTaniya Das static struct clk_branch gcc_qupv3_wrap_1_s_ahb_clk = { 234606391eddSTaniya Das .halt_reg = 0x18010, 234706391eddSTaniya Das .halt_check = BRANCH_HALT_VOTED, 234806391eddSTaniya Das .hwcg_reg = 0x18010, 234906391eddSTaniya Das .hwcg_bit = 1, 235006391eddSTaniya Das .clkr = { 235106391eddSTaniya Das .enable_reg = 0x5200c, 235206391eddSTaniya Das .enable_mask = BIT(21), 235306391eddSTaniya Das .hw.init = &(struct clk_init_data){ 235406391eddSTaniya Das .name = "gcc_qupv3_wrap_1_s_ahb_clk", 235506391eddSTaniya Das .ops = &clk_branch2_ops, 235606391eddSTaniya Das }, 235706391eddSTaniya Das }, 235806391eddSTaniya Das }; 235906391eddSTaniya Das 236006391eddSTaniya Das static struct clk_branch gcc_sdcc2_ahb_clk = { 236106391eddSTaniya Das .halt_reg = 0x14008, 236206391eddSTaniya Das .halt_check = BRANCH_HALT, 236306391eddSTaniya Das .clkr = { 236406391eddSTaniya Das .enable_reg = 0x14008, 236506391eddSTaniya Das .enable_mask = BIT(0), 236606391eddSTaniya Das .hw.init = &(struct clk_init_data){ 236706391eddSTaniya Das .name = "gcc_sdcc2_ahb_clk", 236806391eddSTaniya Das .ops = &clk_branch2_ops, 236906391eddSTaniya Das }, 237006391eddSTaniya Das }, 237106391eddSTaniya Das }; 237206391eddSTaniya Das 237306391eddSTaniya Das static struct clk_branch gcc_sdcc2_apps_clk = { 237406391eddSTaniya Das .halt_reg = 0x14004, 237506391eddSTaniya Das .halt_check = BRANCH_HALT, 237606391eddSTaniya Das .clkr = { 237706391eddSTaniya Das .enable_reg = 0x14004, 237806391eddSTaniya Das .enable_mask = BIT(0), 237906391eddSTaniya Das .hw.init = &(struct clk_init_data){ 238006391eddSTaniya Das .name = "gcc_sdcc2_apps_clk", 238106391eddSTaniya Das .parent_names = (const char *[]){ 238206391eddSTaniya Das "gcc_sdcc2_apps_clk_src", 238306391eddSTaniya Das }, 238406391eddSTaniya Das .num_parents = 1, 238506391eddSTaniya Das .flags = CLK_SET_RATE_PARENT, 238606391eddSTaniya Das .ops = &clk_branch2_ops, 238706391eddSTaniya Das }, 238806391eddSTaniya Das }, 238906391eddSTaniya Das }; 239006391eddSTaniya Das 239106391eddSTaniya Das static struct clk_branch gcc_sdcc4_ahb_clk = { 239206391eddSTaniya Das .halt_reg = 0x16008, 239306391eddSTaniya Das .halt_check = BRANCH_HALT, 239406391eddSTaniya Das .clkr = { 239506391eddSTaniya Das .enable_reg = 0x16008, 239606391eddSTaniya Das .enable_mask = BIT(0), 239706391eddSTaniya Das .hw.init = &(struct clk_init_data){ 239806391eddSTaniya Das .name = "gcc_sdcc4_ahb_clk", 239906391eddSTaniya Das .ops = &clk_branch2_ops, 240006391eddSTaniya Das }, 240106391eddSTaniya Das }, 240206391eddSTaniya Das }; 240306391eddSTaniya Das 240406391eddSTaniya Das static struct clk_branch gcc_sdcc4_apps_clk = { 240506391eddSTaniya Das .halt_reg = 0x16004, 240606391eddSTaniya Das .halt_check = BRANCH_HALT, 240706391eddSTaniya Das .clkr = { 240806391eddSTaniya Das .enable_reg = 0x16004, 240906391eddSTaniya Das .enable_mask = BIT(0), 241006391eddSTaniya Das .hw.init = &(struct clk_init_data){ 241106391eddSTaniya Das .name = "gcc_sdcc4_apps_clk", 241206391eddSTaniya Das .parent_names = (const char *[]){ 241306391eddSTaniya Das "gcc_sdcc4_apps_clk_src", 241406391eddSTaniya Das }, 241506391eddSTaniya Das .num_parents = 1, 241606391eddSTaniya Das .flags = CLK_SET_RATE_PARENT, 241706391eddSTaniya Das .ops = &clk_branch2_ops, 241806391eddSTaniya Das }, 241906391eddSTaniya Das }, 242006391eddSTaniya Das }; 242106391eddSTaniya Das 242206391eddSTaniya Das static struct clk_branch gcc_sys_noc_cpuss_ahb_clk = { 242306391eddSTaniya Das .halt_reg = 0x414c, 242406391eddSTaniya Das .halt_check = BRANCH_HALT_VOTED, 242506391eddSTaniya Das .clkr = { 242606391eddSTaniya Das .enable_reg = 0x52004, 242706391eddSTaniya Das .enable_mask = BIT(0), 242806391eddSTaniya Das .hw.init = &(struct clk_init_data){ 242906391eddSTaniya Das .name = "gcc_sys_noc_cpuss_ahb_clk", 243006391eddSTaniya Das .parent_names = (const char *[]){ 243106391eddSTaniya Das "gcc_cpuss_ahb_clk_src", 243206391eddSTaniya Das }, 243306391eddSTaniya Das .num_parents = 1, 243406391eddSTaniya Das .flags = CLK_SET_RATE_PARENT | CLK_IS_CRITICAL, 243506391eddSTaniya Das .ops = &clk_branch2_ops, 243606391eddSTaniya Das }, 243706391eddSTaniya Das }, 243806391eddSTaniya Das }; 243906391eddSTaniya Das 244006391eddSTaniya Das static struct clk_branch gcc_tsif_ahb_clk = { 244106391eddSTaniya Das .halt_reg = 0x36004, 244206391eddSTaniya Das .halt_check = BRANCH_HALT, 244306391eddSTaniya Das .clkr = { 244406391eddSTaniya Das .enable_reg = 0x36004, 244506391eddSTaniya Das .enable_mask = BIT(0), 244606391eddSTaniya Das .hw.init = &(struct clk_init_data){ 244706391eddSTaniya Das .name = "gcc_tsif_ahb_clk", 244806391eddSTaniya Das .ops = &clk_branch2_ops, 244906391eddSTaniya Das }, 245006391eddSTaniya Das }, 245106391eddSTaniya Das }; 245206391eddSTaniya Das 245306391eddSTaniya Das static struct clk_branch gcc_tsif_inactivity_timers_clk = { 245406391eddSTaniya Das .halt_reg = 0x3600c, 245506391eddSTaniya Das .halt_check = BRANCH_HALT, 245606391eddSTaniya Das .clkr = { 245706391eddSTaniya Das .enable_reg = 0x3600c, 245806391eddSTaniya Das .enable_mask = BIT(0), 245906391eddSTaniya Das .hw.init = &(struct clk_init_data){ 246006391eddSTaniya Das .name = "gcc_tsif_inactivity_timers_clk", 246106391eddSTaniya Das .ops = &clk_branch2_ops, 246206391eddSTaniya Das }, 246306391eddSTaniya Das }, 246406391eddSTaniya Das }; 246506391eddSTaniya Das 246606391eddSTaniya Das static struct clk_branch gcc_tsif_ref_clk = { 246706391eddSTaniya Das .halt_reg = 0x36008, 246806391eddSTaniya Das .halt_check = BRANCH_HALT, 246906391eddSTaniya Das .clkr = { 247006391eddSTaniya Das .enable_reg = 0x36008, 247106391eddSTaniya Das .enable_mask = BIT(0), 247206391eddSTaniya Das .hw.init = &(struct clk_init_data){ 247306391eddSTaniya Das .name = "gcc_tsif_ref_clk", 247406391eddSTaniya Das .parent_names = (const char *[]){ 247506391eddSTaniya Das "gcc_tsif_ref_clk_src", 247606391eddSTaniya Das }, 247706391eddSTaniya Das .num_parents = 1, 247806391eddSTaniya Das .flags = CLK_SET_RATE_PARENT, 247906391eddSTaniya Das .ops = &clk_branch2_ops, 248006391eddSTaniya Das }, 248106391eddSTaniya Das }, 248206391eddSTaniya Das }; 248306391eddSTaniya Das 248406391eddSTaniya Das static struct clk_branch gcc_ufs_card_ahb_clk = { 248506391eddSTaniya Das .halt_reg = 0x75010, 248606391eddSTaniya Das .halt_check = BRANCH_HALT, 248706391eddSTaniya Das .hwcg_reg = 0x75010, 248806391eddSTaniya Das .hwcg_bit = 1, 248906391eddSTaniya Das .clkr = { 249006391eddSTaniya Das .enable_reg = 0x75010, 249106391eddSTaniya Das .enable_mask = BIT(0), 249206391eddSTaniya Das .hw.init = &(struct clk_init_data){ 249306391eddSTaniya Das .name = "gcc_ufs_card_ahb_clk", 249406391eddSTaniya Das .ops = &clk_branch2_ops, 249506391eddSTaniya Das }, 249606391eddSTaniya Das }, 249706391eddSTaniya Das }; 249806391eddSTaniya Das 249906391eddSTaniya Das static struct clk_branch gcc_ufs_card_axi_clk = { 250006391eddSTaniya Das .halt_reg = 0x7500c, 250106391eddSTaniya Das .halt_check = BRANCH_HALT, 250206391eddSTaniya Das .hwcg_reg = 0x7500c, 250306391eddSTaniya Das .hwcg_bit = 1, 250406391eddSTaniya Das .clkr = { 250506391eddSTaniya Das .enable_reg = 0x7500c, 250606391eddSTaniya Das .enable_mask = BIT(0), 250706391eddSTaniya Das .hw.init = &(struct clk_init_data){ 250806391eddSTaniya Das .name = "gcc_ufs_card_axi_clk", 250906391eddSTaniya Das .parent_names = (const char *[]){ 251006391eddSTaniya Das "gcc_ufs_card_axi_clk_src", 251106391eddSTaniya Das }, 251206391eddSTaniya Das .num_parents = 1, 251306391eddSTaniya Das .flags = CLK_SET_RATE_PARENT, 251406391eddSTaniya Das .ops = &clk_branch2_ops, 251506391eddSTaniya Das }, 251606391eddSTaniya Das }, 251706391eddSTaniya Das }; 251806391eddSTaniya Das 251906391eddSTaniya Das static struct clk_branch gcc_ufs_card_clkref_clk = { 252006391eddSTaniya Das .halt_reg = 0x8c004, 252106391eddSTaniya Das .halt_check = BRANCH_HALT, 252206391eddSTaniya Das .clkr = { 252306391eddSTaniya Das .enable_reg = 0x8c004, 252406391eddSTaniya Das .enable_mask = BIT(0), 252506391eddSTaniya Das .hw.init = &(struct clk_init_data){ 252606391eddSTaniya Das .name = "gcc_ufs_card_clkref_clk", 252706391eddSTaniya Das .ops = &clk_branch2_ops, 252806391eddSTaniya Das }, 252906391eddSTaniya Das }, 253006391eddSTaniya Das }; 253106391eddSTaniya Das 253206391eddSTaniya Das static struct clk_branch gcc_ufs_card_ice_core_clk = { 253306391eddSTaniya Das .halt_reg = 0x75058, 253406391eddSTaniya Das .halt_check = BRANCH_HALT, 253506391eddSTaniya Das .hwcg_reg = 0x75058, 253606391eddSTaniya Das .hwcg_bit = 1, 253706391eddSTaniya Das .clkr = { 253806391eddSTaniya Das .enable_reg = 0x75058, 253906391eddSTaniya Das .enable_mask = BIT(0), 254006391eddSTaniya Das .hw.init = &(struct clk_init_data){ 254106391eddSTaniya Das .name = "gcc_ufs_card_ice_core_clk", 254206391eddSTaniya Das .parent_names = (const char *[]){ 254306391eddSTaniya Das "gcc_ufs_card_ice_core_clk_src", 254406391eddSTaniya Das }, 254506391eddSTaniya Das .num_parents = 1, 254606391eddSTaniya Das .flags = CLK_SET_RATE_PARENT, 254706391eddSTaniya Das .ops = &clk_branch2_ops, 254806391eddSTaniya Das }, 254906391eddSTaniya Das }, 255006391eddSTaniya Das }; 255106391eddSTaniya Das 255206391eddSTaniya Das static struct clk_branch gcc_ufs_card_phy_aux_clk = { 255306391eddSTaniya Das .halt_reg = 0x7508c, 255406391eddSTaniya Das .halt_check = BRANCH_HALT, 255506391eddSTaniya Das .hwcg_reg = 0x7508c, 255606391eddSTaniya Das .hwcg_bit = 1, 255706391eddSTaniya Das .clkr = { 255806391eddSTaniya Das .enable_reg = 0x7508c, 255906391eddSTaniya Das .enable_mask = BIT(0), 256006391eddSTaniya Das .hw.init = &(struct clk_init_data){ 256106391eddSTaniya Das .name = "gcc_ufs_card_phy_aux_clk", 256206391eddSTaniya Das .parent_names = (const char *[]){ 256306391eddSTaniya Das "gcc_ufs_card_phy_aux_clk_src", 256406391eddSTaniya Das }, 256506391eddSTaniya Das .num_parents = 1, 256606391eddSTaniya Das .flags = CLK_SET_RATE_PARENT, 256706391eddSTaniya Das .ops = &clk_branch2_ops, 256806391eddSTaniya Das }, 256906391eddSTaniya Das }, 257006391eddSTaniya Das }; 257106391eddSTaniya Das 257206391eddSTaniya Das static struct clk_branch gcc_ufs_card_rx_symbol_0_clk = { 257306391eddSTaniya Das .halt_check = BRANCH_HALT_SKIP, 257406391eddSTaniya Das .clkr = { 257506391eddSTaniya Das .enable_reg = 0x75018, 257606391eddSTaniya Das .enable_mask = BIT(0), 257706391eddSTaniya Das .hw.init = &(struct clk_init_data){ 257806391eddSTaniya Das .name = "gcc_ufs_card_rx_symbol_0_clk", 257906391eddSTaniya Das .ops = &clk_branch2_ops, 258006391eddSTaniya Das }, 258106391eddSTaniya Das }, 258206391eddSTaniya Das }; 258306391eddSTaniya Das 258406391eddSTaniya Das static struct clk_branch gcc_ufs_card_rx_symbol_1_clk = { 258506391eddSTaniya Das .halt_check = BRANCH_HALT_SKIP, 258606391eddSTaniya Das .clkr = { 258706391eddSTaniya Das .enable_reg = 0x750a8, 258806391eddSTaniya Das .enable_mask = BIT(0), 258906391eddSTaniya Das .hw.init = &(struct clk_init_data){ 259006391eddSTaniya Das .name = "gcc_ufs_card_rx_symbol_1_clk", 259106391eddSTaniya Das .ops = &clk_branch2_ops, 259206391eddSTaniya Das }, 259306391eddSTaniya Das }, 259406391eddSTaniya Das }; 259506391eddSTaniya Das 259606391eddSTaniya Das static struct clk_branch gcc_ufs_card_tx_symbol_0_clk = { 259706391eddSTaniya Das .halt_check = BRANCH_HALT_SKIP, 259806391eddSTaniya Das .clkr = { 259906391eddSTaniya Das .enable_reg = 0x75014, 260006391eddSTaniya Das .enable_mask = BIT(0), 260106391eddSTaniya Das .hw.init = &(struct clk_init_data){ 260206391eddSTaniya Das .name = "gcc_ufs_card_tx_symbol_0_clk", 260306391eddSTaniya Das .ops = &clk_branch2_ops, 260406391eddSTaniya Das }, 260506391eddSTaniya Das }, 260606391eddSTaniya Das }; 260706391eddSTaniya Das 260806391eddSTaniya Das static struct clk_branch gcc_ufs_card_unipro_core_clk = { 260906391eddSTaniya Das .halt_reg = 0x75054, 261006391eddSTaniya Das .halt_check = BRANCH_HALT, 261106391eddSTaniya Das .hwcg_reg = 0x75054, 261206391eddSTaniya Das .hwcg_bit = 1, 261306391eddSTaniya Das .clkr = { 261406391eddSTaniya Das .enable_reg = 0x75054, 261506391eddSTaniya Das .enable_mask = BIT(0), 261606391eddSTaniya Das .hw.init = &(struct clk_init_data){ 261706391eddSTaniya Das .name = "gcc_ufs_card_unipro_core_clk", 261806391eddSTaniya Das .parent_names = (const char *[]){ 261906391eddSTaniya Das "gcc_ufs_card_unipro_core_clk_src", 262006391eddSTaniya Das }, 262106391eddSTaniya Das .num_parents = 1, 262206391eddSTaniya Das .flags = CLK_SET_RATE_PARENT, 262306391eddSTaniya Das .ops = &clk_branch2_ops, 262406391eddSTaniya Das }, 262506391eddSTaniya Das }, 262606391eddSTaniya Das }; 262706391eddSTaniya Das 262806391eddSTaniya Das static struct clk_branch gcc_ufs_mem_clkref_clk = { 262906391eddSTaniya Das .halt_reg = 0x8c000, 263006391eddSTaniya Das .halt_check = BRANCH_HALT, 263106391eddSTaniya Das .clkr = { 263206391eddSTaniya Das .enable_reg = 0x8c000, 263306391eddSTaniya Das .enable_mask = BIT(0), 263406391eddSTaniya Das .hw.init = &(struct clk_init_data){ 263506391eddSTaniya Das .name = "gcc_ufs_mem_clkref_clk", 263606391eddSTaniya Das .ops = &clk_branch2_ops, 263706391eddSTaniya Das }, 263806391eddSTaniya Das }, 263906391eddSTaniya Das }; 264006391eddSTaniya Das 264106391eddSTaniya Das static struct clk_branch gcc_ufs_phy_ahb_clk = { 264206391eddSTaniya Das .halt_reg = 0x77010, 264306391eddSTaniya Das .halt_check = BRANCH_HALT, 264406391eddSTaniya Das .hwcg_reg = 0x77010, 264506391eddSTaniya Das .hwcg_bit = 1, 264606391eddSTaniya Das .clkr = { 264706391eddSTaniya Das .enable_reg = 0x77010, 264806391eddSTaniya Das .enable_mask = BIT(0), 264906391eddSTaniya Das .hw.init = &(struct clk_init_data){ 265006391eddSTaniya Das .name = "gcc_ufs_phy_ahb_clk", 265106391eddSTaniya Das .ops = &clk_branch2_ops, 265206391eddSTaniya Das }, 265306391eddSTaniya Das }, 265406391eddSTaniya Das }; 265506391eddSTaniya Das 265606391eddSTaniya Das static struct clk_branch gcc_ufs_phy_axi_clk = { 265706391eddSTaniya Das .halt_reg = 0x7700c, 265806391eddSTaniya Das .halt_check = BRANCH_HALT, 265906391eddSTaniya Das .hwcg_reg = 0x7700c, 266006391eddSTaniya Das .hwcg_bit = 1, 266106391eddSTaniya Das .clkr = { 266206391eddSTaniya Das .enable_reg = 0x7700c, 266306391eddSTaniya Das .enable_mask = BIT(0), 266406391eddSTaniya Das .hw.init = &(struct clk_init_data){ 266506391eddSTaniya Das .name = "gcc_ufs_phy_axi_clk", 266606391eddSTaniya Das .parent_names = (const char *[]){ 266706391eddSTaniya Das "gcc_ufs_phy_axi_clk_src", 266806391eddSTaniya Das }, 266906391eddSTaniya Das .num_parents = 1, 267006391eddSTaniya Das .flags = CLK_SET_RATE_PARENT, 267106391eddSTaniya Das .ops = &clk_branch2_ops, 267206391eddSTaniya Das }, 267306391eddSTaniya Das }, 267406391eddSTaniya Das }; 267506391eddSTaniya Das 267606391eddSTaniya Das static struct clk_branch gcc_ufs_phy_ice_core_clk = { 267706391eddSTaniya Das .halt_reg = 0x77058, 267806391eddSTaniya Das .halt_check = BRANCH_HALT, 267906391eddSTaniya Das .hwcg_reg = 0x77058, 268006391eddSTaniya Das .hwcg_bit = 1, 268106391eddSTaniya Das .clkr = { 268206391eddSTaniya Das .enable_reg = 0x77058, 268306391eddSTaniya Das .enable_mask = BIT(0), 268406391eddSTaniya Das .hw.init = &(struct clk_init_data){ 268506391eddSTaniya Das .name = "gcc_ufs_phy_ice_core_clk", 268606391eddSTaniya Das .parent_names = (const char *[]){ 268706391eddSTaniya Das "gcc_ufs_phy_ice_core_clk_src", 268806391eddSTaniya Das }, 268906391eddSTaniya Das .num_parents = 1, 269006391eddSTaniya Das .flags = CLK_SET_RATE_PARENT, 269106391eddSTaniya Das .ops = &clk_branch2_ops, 269206391eddSTaniya Das }, 269306391eddSTaniya Das }, 269406391eddSTaniya Das }; 269506391eddSTaniya Das 269606391eddSTaniya Das static struct clk_branch gcc_ufs_phy_phy_aux_clk = { 269706391eddSTaniya Das .halt_reg = 0x7708c, 269806391eddSTaniya Das .halt_check = BRANCH_HALT, 269906391eddSTaniya Das .hwcg_reg = 0x7708c, 270006391eddSTaniya Das .hwcg_bit = 1, 270106391eddSTaniya Das .clkr = { 270206391eddSTaniya Das .enable_reg = 0x7708c, 270306391eddSTaniya Das .enable_mask = BIT(0), 270406391eddSTaniya Das .hw.init = &(struct clk_init_data){ 270506391eddSTaniya Das .name = "gcc_ufs_phy_phy_aux_clk", 270606391eddSTaniya Das .parent_names = (const char *[]){ 270706391eddSTaniya Das "gcc_ufs_phy_phy_aux_clk_src", 270806391eddSTaniya Das }, 270906391eddSTaniya Das .num_parents = 1, 271006391eddSTaniya Das .flags = CLK_SET_RATE_PARENT, 271106391eddSTaniya Das .ops = &clk_branch2_ops, 271206391eddSTaniya Das }, 271306391eddSTaniya Das }, 271406391eddSTaniya Das }; 271506391eddSTaniya Das 271606391eddSTaniya Das static struct clk_branch gcc_ufs_phy_rx_symbol_0_clk = { 271706391eddSTaniya Das .halt_check = BRANCH_HALT_SKIP, 271806391eddSTaniya Das .clkr = { 271906391eddSTaniya Das .enable_reg = 0x77018, 272006391eddSTaniya Das .enable_mask = BIT(0), 272106391eddSTaniya Das .hw.init = &(struct clk_init_data){ 272206391eddSTaniya Das .name = "gcc_ufs_phy_rx_symbol_0_clk", 272306391eddSTaniya Das .ops = &clk_branch2_ops, 272406391eddSTaniya Das }, 272506391eddSTaniya Das }, 272606391eddSTaniya Das }; 272706391eddSTaniya Das 272806391eddSTaniya Das static struct clk_branch gcc_ufs_phy_rx_symbol_1_clk = { 272906391eddSTaniya Das .halt_check = BRANCH_HALT_SKIP, 273006391eddSTaniya Das .clkr = { 273106391eddSTaniya Das .enable_reg = 0x770a8, 273206391eddSTaniya Das .enable_mask = BIT(0), 273306391eddSTaniya Das .hw.init = &(struct clk_init_data){ 273406391eddSTaniya Das .name = "gcc_ufs_phy_rx_symbol_1_clk", 273506391eddSTaniya Das .ops = &clk_branch2_ops, 273606391eddSTaniya Das }, 273706391eddSTaniya Das }, 273806391eddSTaniya Das }; 273906391eddSTaniya Das 274006391eddSTaniya Das static struct clk_branch gcc_ufs_phy_tx_symbol_0_clk = { 274106391eddSTaniya Das .halt_check = BRANCH_HALT_SKIP, 274206391eddSTaniya Das .clkr = { 274306391eddSTaniya Das .enable_reg = 0x77014, 274406391eddSTaniya Das .enable_mask = BIT(0), 274506391eddSTaniya Das .hw.init = &(struct clk_init_data){ 274606391eddSTaniya Das .name = "gcc_ufs_phy_tx_symbol_0_clk", 274706391eddSTaniya Das .ops = &clk_branch2_ops, 274806391eddSTaniya Das }, 274906391eddSTaniya Das }, 275006391eddSTaniya Das }; 275106391eddSTaniya Das 275206391eddSTaniya Das static struct clk_branch gcc_ufs_phy_unipro_core_clk = { 275306391eddSTaniya Das .halt_reg = 0x77054, 275406391eddSTaniya Das .halt_check = BRANCH_HALT, 275506391eddSTaniya Das .hwcg_reg = 0x77054, 275606391eddSTaniya Das .hwcg_bit = 1, 275706391eddSTaniya Das .clkr = { 275806391eddSTaniya Das .enable_reg = 0x77054, 275906391eddSTaniya Das .enable_mask = BIT(0), 276006391eddSTaniya Das .hw.init = &(struct clk_init_data){ 276106391eddSTaniya Das .name = "gcc_ufs_phy_unipro_core_clk", 276206391eddSTaniya Das .parent_names = (const char *[]){ 276306391eddSTaniya Das "gcc_ufs_phy_unipro_core_clk_src", 276406391eddSTaniya Das }, 276506391eddSTaniya Das .num_parents = 1, 276606391eddSTaniya Das .flags = CLK_SET_RATE_PARENT, 276706391eddSTaniya Das .ops = &clk_branch2_ops, 276806391eddSTaniya Das }, 276906391eddSTaniya Das }, 277006391eddSTaniya Das }; 277106391eddSTaniya Das 277206391eddSTaniya Das static struct clk_branch gcc_usb30_prim_master_clk = { 277306391eddSTaniya Das .halt_reg = 0xf00c, 277406391eddSTaniya Das .halt_check = BRANCH_HALT, 277506391eddSTaniya Das .clkr = { 277606391eddSTaniya Das .enable_reg = 0xf00c, 277706391eddSTaniya Das .enable_mask = BIT(0), 277806391eddSTaniya Das .hw.init = &(struct clk_init_data){ 277906391eddSTaniya Das .name = "gcc_usb30_prim_master_clk", 278006391eddSTaniya Das .parent_names = (const char *[]){ 278106391eddSTaniya Das "gcc_usb30_prim_master_clk_src", 278206391eddSTaniya Das }, 278306391eddSTaniya Das .num_parents = 1, 278406391eddSTaniya Das .flags = CLK_SET_RATE_PARENT, 278506391eddSTaniya Das .ops = &clk_branch2_ops, 278606391eddSTaniya Das }, 278706391eddSTaniya Das }, 278806391eddSTaniya Das }; 278906391eddSTaniya Das 279006391eddSTaniya Das static struct clk_branch gcc_usb30_prim_mock_utmi_clk = { 279106391eddSTaniya Das .halt_reg = 0xf014, 279206391eddSTaniya Das .halt_check = BRANCH_HALT, 279306391eddSTaniya Das .clkr = { 279406391eddSTaniya Das .enable_reg = 0xf014, 279506391eddSTaniya Das .enable_mask = BIT(0), 279606391eddSTaniya Das .hw.init = &(struct clk_init_data){ 279706391eddSTaniya Das .name = "gcc_usb30_prim_mock_utmi_clk", 279806391eddSTaniya Das .parent_names = (const char *[]){ 279906391eddSTaniya Das "gcc_usb30_prim_mock_utmi_clk_src", 280006391eddSTaniya Das }, 280106391eddSTaniya Das .num_parents = 1, 280206391eddSTaniya Das .flags = CLK_SET_RATE_PARENT, 280306391eddSTaniya Das .ops = &clk_branch2_ops, 280406391eddSTaniya Das }, 280506391eddSTaniya Das }, 280606391eddSTaniya Das }; 280706391eddSTaniya Das 280806391eddSTaniya Das static struct clk_branch gcc_usb30_prim_sleep_clk = { 280906391eddSTaniya Das .halt_reg = 0xf010, 281006391eddSTaniya Das .halt_check = BRANCH_HALT, 281106391eddSTaniya Das .clkr = { 281206391eddSTaniya Das .enable_reg = 0xf010, 281306391eddSTaniya Das .enable_mask = BIT(0), 281406391eddSTaniya Das .hw.init = &(struct clk_init_data){ 281506391eddSTaniya Das .name = "gcc_usb30_prim_sleep_clk", 281606391eddSTaniya Das .ops = &clk_branch2_ops, 281706391eddSTaniya Das }, 281806391eddSTaniya Das }, 281906391eddSTaniya Das }; 282006391eddSTaniya Das 282106391eddSTaniya Das static struct clk_branch gcc_usb30_sec_master_clk = { 282206391eddSTaniya Das .halt_reg = 0x1000c, 282306391eddSTaniya Das .halt_check = BRANCH_HALT, 282406391eddSTaniya Das .clkr = { 282506391eddSTaniya Das .enable_reg = 0x1000c, 282606391eddSTaniya Das .enable_mask = BIT(0), 282706391eddSTaniya Das .hw.init = &(struct clk_init_data){ 282806391eddSTaniya Das .name = "gcc_usb30_sec_master_clk", 282906391eddSTaniya Das .parent_names = (const char *[]){ 283006391eddSTaniya Das "gcc_usb30_sec_master_clk_src", 283106391eddSTaniya Das }, 283206391eddSTaniya Das .num_parents = 1, 283306391eddSTaniya Das .flags = CLK_SET_RATE_PARENT, 283406391eddSTaniya Das .ops = &clk_branch2_ops, 283506391eddSTaniya Das }, 283606391eddSTaniya Das }, 283706391eddSTaniya Das }; 283806391eddSTaniya Das 283906391eddSTaniya Das static struct clk_branch gcc_usb30_sec_mock_utmi_clk = { 284006391eddSTaniya Das .halt_reg = 0x10014, 284106391eddSTaniya Das .halt_check = BRANCH_HALT, 284206391eddSTaniya Das .clkr = { 284306391eddSTaniya Das .enable_reg = 0x10014, 284406391eddSTaniya Das .enable_mask = BIT(0), 284506391eddSTaniya Das .hw.init = &(struct clk_init_data){ 284606391eddSTaniya Das .name = "gcc_usb30_sec_mock_utmi_clk", 284706391eddSTaniya Das .parent_names = (const char *[]){ 284806391eddSTaniya Das "gcc_usb30_sec_mock_utmi_clk_src", 284906391eddSTaniya Das }, 285006391eddSTaniya Das .num_parents = 1, 285106391eddSTaniya Das .flags = CLK_SET_RATE_PARENT, 285206391eddSTaniya Das .ops = &clk_branch2_ops, 285306391eddSTaniya Das }, 285406391eddSTaniya Das }, 285506391eddSTaniya Das }; 285606391eddSTaniya Das 285706391eddSTaniya Das static struct clk_branch gcc_usb30_sec_sleep_clk = { 285806391eddSTaniya Das .halt_reg = 0x10010, 285906391eddSTaniya Das .halt_check = BRANCH_HALT, 286006391eddSTaniya Das .clkr = { 286106391eddSTaniya Das .enable_reg = 0x10010, 286206391eddSTaniya Das .enable_mask = BIT(0), 286306391eddSTaniya Das .hw.init = &(struct clk_init_data){ 286406391eddSTaniya Das .name = "gcc_usb30_sec_sleep_clk", 286506391eddSTaniya Das .ops = &clk_branch2_ops, 286606391eddSTaniya Das }, 286706391eddSTaniya Das }, 286806391eddSTaniya Das }; 286906391eddSTaniya Das 287006391eddSTaniya Das static struct clk_branch gcc_usb3_prim_clkref_clk = { 287106391eddSTaniya Das .halt_reg = 0x8c008, 287206391eddSTaniya Das .halt_check = BRANCH_HALT, 287306391eddSTaniya Das .clkr = { 287406391eddSTaniya Das .enable_reg = 0x8c008, 287506391eddSTaniya Das .enable_mask = BIT(0), 287606391eddSTaniya Das .hw.init = &(struct clk_init_data){ 287706391eddSTaniya Das .name = "gcc_usb3_prim_clkref_clk", 287806391eddSTaniya Das .ops = &clk_branch2_ops, 287906391eddSTaniya Das }, 288006391eddSTaniya Das }, 288106391eddSTaniya Das }; 288206391eddSTaniya Das 288306391eddSTaniya Das static struct clk_branch gcc_usb3_prim_phy_aux_clk = { 288406391eddSTaniya Das .halt_reg = 0xf04c, 288506391eddSTaniya Das .halt_check = BRANCH_HALT, 288606391eddSTaniya Das .clkr = { 288706391eddSTaniya Das .enable_reg = 0xf04c, 288806391eddSTaniya Das .enable_mask = BIT(0), 288906391eddSTaniya Das .hw.init = &(struct clk_init_data){ 289006391eddSTaniya Das .name = "gcc_usb3_prim_phy_aux_clk", 289106391eddSTaniya Das .parent_names = (const char *[]){ 289206391eddSTaniya Das "gcc_usb3_prim_phy_aux_clk_src", 289306391eddSTaniya Das }, 289406391eddSTaniya Das .num_parents = 1, 289506391eddSTaniya Das .flags = CLK_SET_RATE_PARENT, 289606391eddSTaniya Das .ops = &clk_branch2_ops, 289706391eddSTaniya Das }, 289806391eddSTaniya Das }, 289906391eddSTaniya Das }; 290006391eddSTaniya Das 290106391eddSTaniya Das static struct clk_branch gcc_usb3_prim_phy_com_aux_clk = { 290206391eddSTaniya Das .halt_reg = 0xf050, 290306391eddSTaniya Das .halt_check = BRANCH_HALT, 290406391eddSTaniya Das .clkr = { 290506391eddSTaniya Das .enable_reg = 0xf050, 290606391eddSTaniya Das .enable_mask = BIT(0), 290706391eddSTaniya Das .hw.init = &(struct clk_init_data){ 290806391eddSTaniya Das .name = "gcc_usb3_prim_phy_com_aux_clk", 290906391eddSTaniya Das .parent_names = (const char *[]){ 291006391eddSTaniya Das "gcc_usb3_prim_phy_aux_clk_src", 291106391eddSTaniya Das }, 291206391eddSTaniya Das .num_parents = 1, 291306391eddSTaniya Das .flags = CLK_SET_RATE_PARENT, 291406391eddSTaniya Das .ops = &clk_branch2_ops, 291506391eddSTaniya Das }, 291606391eddSTaniya Das }, 291706391eddSTaniya Das }; 291806391eddSTaniya Das 291906391eddSTaniya Das static struct clk_branch gcc_usb3_prim_phy_pipe_clk = { 292006391eddSTaniya Das .halt_check = BRANCH_HALT_SKIP, 292106391eddSTaniya Das .clkr = { 292206391eddSTaniya Das .enable_reg = 0xf054, 292306391eddSTaniya Das .enable_mask = BIT(0), 292406391eddSTaniya Das .hw.init = &(struct clk_init_data){ 292506391eddSTaniya Das .name = "gcc_usb3_prim_phy_pipe_clk", 292606391eddSTaniya Das .ops = &clk_branch2_ops, 292706391eddSTaniya Das }, 292806391eddSTaniya Das }, 292906391eddSTaniya Das }; 293006391eddSTaniya Das 293106391eddSTaniya Das static struct clk_branch gcc_usb3_sec_clkref_clk = { 293206391eddSTaniya Das .halt_reg = 0x8c028, 293306391eddSTaniya Das .halt_check = BRANCH_HALT, 293406391eddSTaniya Das .clkr = { 293506391eddSTaniya Das .enable_reg = 0x8c028, 293606391eddSTaniya Das .enable_mask = BIT(0), 293706391eddSTaniya Das .hw.init = &(struct clk_init_data){ 293806391eddSTaniya Das .name = "gcc_usb3_sec_clkref_clk", 293906391eddSTaniya Das .ops = &clk_branch2_ops, 294006391eddSTaniya Das }, 294106391eddSTaniya Das }, 294206391eddSTaniya Das }; 294306391eddSTaniya Das 294406391eddSTaniya Das static struct clk_branch gcc_usb3_sec_phy_aux_clk = { 294506391eddSTaniya Das .halt_reg = 0x1004c, 294606391eddSTaniya Das .halt_check = BRANCH_HALT, 294706391eddSTaniya Das .clkr = { 294806391eddSTaniya Das .enable_reg = 0x1004c, 294906391eddSTaniya Das .enable_mask = BIT(0), 295006391eddSTaniya Das .hw.init = &(struct clk_init_data){ 295106391eddSTaniya Das .name = "gcc_usb3_sec_phy_aux_clk", 295206391eddSTaniya Das .parent_names = (const char *[]){ 295306391eddSTaniya Das "gcc_usb3_sec_phy_aux_clk_src", 295406391eddSTaniya Das }, 295506391eddSTaniya Das .num_parents = 1, 295606391eddSTaniya Das .flags = CLK_SET_RATE_PARENT, 295706391eddSTaniya Das .ops = &clk_branch2_ops, 295806391eddSTaniya Das }, 295906391eddSTaniya Das }, 296006391eddSTaniya Das }; 296106391eddSTaniya Das 296206391eddSTaniya Das static struct clk_branch gcc_usb3_sec_phy_com_aux_clk = { 296306391eddSTaniya Das .halt_reg = 0x10050, 296406391eddSTaniya Das .halt_check = BRANCH_HALT, 296506391eddSTaniya Das .clkr = { 296606391eddSTaniya Das .enable_reg = 0x10050, 296706391eddSTaniya Das .enable_mask = BIT(0), 296806391eddSTaniya Das .hw.init = &(struct clk_init_data){ 296906391eddSTaniya Das .name = "gcc_usb3_sec_phy_com_aux_clk", 297006391eddSTaniya Das .parent_names = (const char *[]){ 297106391eddSTaniya Das "gcc_usb3_sec_phy_aux_clk_src", 297206391eddSTaniya Das }, 297306391eddSTaniya Das .num_parents = 1, 297406391eddSTaniya Das .flags = CLK_SET_RATE_PARENT, 297506391eddSTaniya Das .ops = &clk_branch2_ops, 297606391eddSTaniya Das }, 297706391eddSTaniya Das }, 297806391eddSTaniya Das }; 297906391eddSTaniya Das 298006391eddSTaniya Das static struct clk_branch gcc_usb3_sec_phy_pipe_clk = { 298106391eddSTaniya Das .halt_check = BRANCH_HALT_SKIP, 298206391eddSTaniya Das .clkr = { 298306391eddSTaniya Das .enable_reg = 0x10054, 298406391eddSTaniya Das .enable_mask = BIT(0), 298506391eddSTaniya Das .hw.init = &(struct clk_init_data){ 298606391eddSTaniya Das .name = "gcc_usb3_sec_phy_pipe_clk", 298706391eddSTaniya Das .ops = &clk_branch2_ops, 298806391eddSTaniya Das }, 298906391eddSTaniya Das }, 299006391eddSTaniya Das }; 299106391eddSTaniya Das 299206391eddSTaniya Das static struct clk_branch gcc_usb_phy_cfg_ahb2phy_clk = { 299306391eddSTaniya Das .halt_reg = 0x6a004, 299406391eddSTaniya Das .halt_check = BRANCH_HALT, 299506391eddSTaniya Das .hwcg_reg = 0x6a004, 299606391eddSTaniya Das .hwcg_bit = 1, 299706391eddSTaniya Das .clkr = { 299806391eddSTaniya Das .enable_reg = 0x6a004, 299906391eddSTaniya Das .enable_mask = BIT(0), 300006391eddSTaniya Das .hw.init = &(struct clk_init_data){ 300106391eddSTaniya Das .name = "gcc_usb_phy_cfg_ahb2phy_clk", 300206391eddSTaniya Das .ops = &clk_branch2_ops, 300306391eddSTaniya Das }, 300406391eddSTaniya Das }, 300506391eddSTaniya Das }; 300606391eddSTaniya Das 300706391eddSTaniya Das static struct clk_branch gcc_vdda_vs_clk = { 300806391eddSTaniya Das .halt_reg = 0x7a00c, 300906391eddSTaniya Das .halt_check = BRANCH_HALT, 301006391eddSTaniya Das .clkr = { 301106391eddSTaniya Das .enable_reg = 0x7a00c, 301206391eddSTaniya Das .enable_mask = BIT(0), 301306391eddSTaniya Das .hw.init = &(struct clk_init_data){ 301406391eddSTaniya Das .name = "gcc_vdda_vs_clk", 301506391eddSTaniya Das .parent_names = (const char *[]){ 301606391eddSTaniya Das "gcc_vsensor_clk_src", 301706391eddSTaniya Das }, 301806391eddSTaniya Das .num_parents = 1, 301906391eddSTaniya Das .flags = CLK_SET_RATE_PARENT, 302006391eddSTaniya Das .ops = &clk_branch2_ops, 302106391eddSTaniya Das }, 302206391eddSTaniya Das }, 302306391eddSTaniya Das }; 302406391eddSTaniya Das 302506391eddSTaniya Das static struct clk_branch gcc_vddcx_vs_clk = { 302606391eddSTaniya Das .halt_reg = 0x7a004, 302706391eddSTaniya Das .halt_check = BRANCH_HALT, 302806391eddSTaniya Das .clkr = { 302906391eddSTaniya Das .enable_reg = 0x7a004, 303006391eddSTaniya Das .enable_mask = BIT(0), 303106391eddSTaniya Das .hw.init = &(struct clk_init_data){ 303206391eddSTaniya Das .name = "gcc_vddcx_vs_clk", 303306391eddSTaniya Das .parent_names = (const char *[]){ 303406391eddSTaniya Das "gcc_vsensor_clk_src", 303506391eddSTaniya Das }, 303606391eddSTaniya Das .num_parents = 1, 303706391eddSTaniya Das .flags = CLK_SET_RATE_PARENT, 303806391eddSTaniya Das .ops = &clk_branch2_ops, 303906391eddSTaniya Das }, 304006391eddSTaniya Das }, 304106391eddSTaniya Das }; 304206391eddSTaniya Das 304306391eddSTaniya Das static struct clk_branch gcc_vddmx_vs_clk = { 304406391eddSTaniya Das .halt_reg = 0x7a008, 304506391eddSTaniya Das .halt_check = BRANCH_HALT, 304606391eddSTaniya Das .clkr = { 304706391eddSTaniya Das .enable_reg = 0x7a008, 304806391eddSTaniya Das .enable_mask = BIT(0), 304906391eddSTaniya Das .hw.init = &(struct clk_init_data){ 305006391eddSTaniya Das .name = "gcc_vddmx_vs_clk", 305106391eddSTaniya Das .parent_names = (const char *[]){ 305206391eddSTaniya Das "gcc_vsensor_clk_src", 305306391eddSTaniya Das }, 305406391eddSTaniya Das .num_parents = 1, 305506391eddSTaniya Das .flags = CLK_SET_RATE_PARENT, 305606391eddSTaniya Das .ops = &clk_branch2_ops, 305706391eddSTaniya Das }, 305806391eddSTaniya Das }, 305906391eddSTaniya Das }; 306006391eddSTaniya Das 306106391eddSTaniya Das static struct clk_branch gcc_video_ahb_clk = { 306206391eddSTaniya Das .halt_reg = 0xb004, 306306391eddSTaniya Das .halt_check = BRANCH_HALT, 306406391eddSTaniya Das .hwcg_reg = 0xb004, 306506391eddSTaniya Das .hwcg_bit = 1, 306606391eddSTaniya Das .clkr = { 306706391eddSTaniya Das .enable_reg = 0xb004, 306806391eddSTaniya Das .enable_mask = BIT(0), 306906391eddSTaniya Das .hw.init = &(struct clk_init_data){ 307006391eddSTaniya Das .name = "gcc_video_ahb_clk", 3071cfb8282eSAmit Nischal .flags = CLK_IS_CRITICAL, 307206391eddSTaniya Das .ops = &clk_branch2_ops, 307306391eddSTaniya Das }, 307406391eddSTaniya Das }, 307506391eddSTaniya Das }; 307606391eddSTaniya Das 307706391eddSTaniya Das static struct clk_branch gcc_video_axi_clk = { 307806391eddSTaniya Das .halt_reg = 0xb01c, 307906391eddSTaniya Das .halt_check = BRANCH_VOTED, 308006391eddSTaniya Das .clkr = { 308106391eddSTaniya Das .enable_reg = 0xb01c, 308206391eddSTaniya Das .enable_mask = BIT(0), 308306391eddSTaniya Das .hw.init = &(struct clk_init_data){ 308406391eddSTaniya Das .name = "gcc_video_axi_clk", 308506391eddSTaniya Das .ops = &clk_branch2_ops, 308606391eddSTaniya Das }, 308706391eddSTaniya Das }, 308806391eddSTaniya Das }; 308906391eddSTaniya Das 309006391eddSTaniya Das static struct clk_branch gcc_video_xo_clk = { 309106391eddSTaniya Das .halt_reg = 0xb028, 309206391eddSTaniya Das .halt_check = BRANCH_HALT, 309306391eddSTaniya Das .clkr = { 309406391eddSTaniya Das .enable_reg = 0xb028, 309506391eddSTaniya Das .enable_mask = BIT(0), 309606391eddSTaniya Das .hw.init = &(struct clk_init_data){ 309706391eddSTaniya Das .name = "gcc_video_xo_clk", 3098cfb8282eSAmit Nischal .flags = CLK_IS_CRITICAL, 309906391eddSTaniya Das .ops = &clk_branch2_ops, 310006391eddSTaniya Das }, 310106391eddSTaniya Das }, 310206391eddSTaniya Das }; 310306391eddSTaniya Das 310406391eddSTaniya Das static struct clk_branch gcc_vs_ctrl_ahb_clk = { 310506391eddSTaniya Das .halt_reg = 0x7a014, 310606391eddSTaniya Das .halt_check = BRANCH_HALT, 310706391eddSTaniya Das .hwcg_reg = 0x7a014, 310806391eddSTaniya Das .hwcg_bit = 1, 310906391eddSTaniya Das .clkr = { 311006391eddSTaniya Das .enable_reg = 0x7a014, 311106391eddSTaniya Das .enable_mask = BIT(0), 311206391eddSTaniya Das .hw.init = &(struct clk_init_data){ 311306391eddSTaniya Das .name = "gcc_vs_ctrl_ahb_clk", 311406391eddSTaniya Das .ops = &clk_branch2_ops, 311506391eddSTaniya Das }, 311606391eddSTaniya Das }, 311706391eddSTaniya Das }; 311806391eddSTaniya Das 311906391eddSTaniya Das static struct clk_branch gcc_vs_ctrl_clk = { 312006391eddSTaniya Das .halt_reg = 0x7a010, 312106391eddSTaniya Das .halt_check = BRANCH_HALT, 312206391eddSTaniya Das .clkr = { 312306391eddSTaniya Das .enable_reg = 0x7a010, 312406391eddSTaniya Das .enable_mask = BIT(0), 312506391eddSTaniya Das .hw.init = &(struct clk_init_data){ 312606391eddSTaniya Das .name = "gcc_vs_ctrl_clk", 312706391eddSTaniya Das .parent_names = (const char *[]){ 312806391eddSTaniya Das "gcc_vs_ctrl_clk_src", 312906391eddSTaniya Das }, 313006391eddSTaniya Das .num_parents = 1, 313106391eddSTaniya Das .flags = CLK_SET_RATE_PARENT, 313206391eddSTaniya Das .ops = &clk_branch2_ops, 313306391eddSTaniya Das }, 313406391eddSTaniya Das }, 313506391eddSTaniya Das }; 313606391eddSTaniya Das 3137cfb8282eSAmit Nischal static struct clk_branch gcc_cpuss_dvm_bus_clk = { 3138cfb8282eSAmit Nischal .halt_reg = 0x48190, 3139cfb8282eSAmit Nischal .halt_check = BRANCH_HALT, 3140cfb8282eSAmit Nischal .clkr = { 3141cfb8282eSAmit Nischal .enable_reg = 0x48190, 3142cfb8282eSAmit Nischal .enable_mask = BIT(0), 3143cfb8282eSAmit Nischal .hw.init = &(struct clk_init_data){ 3144cfb8282eSAmit Nischal .name = "gcc_cpuss_dvm_bus_clk", 3145cfb8282eSAmit Nischal .flags = CLK_IS_CRITICAL, 3146cfb8282eSAmit Nischal .ops = &clk_branch2_ops, 3147cfb8282eSAmit Nischal }, 3148cfb8282eSAmit Nischal }, 3149cfb8282eSAmit Nischal }; 3150cfb8282eSAmit Nischal 3151cfb8282eSAmit Nischal static struct clk_branch gcc_cpuss_gnoc_clk = { 3152cfb8282eSAmit Nischal .halt_reg = 0x48004, 3153cfb8282eSAmit Nischal .halt_check = BRANCH_HALT_VOTED, 3154cfb8282eSAmit Nischal .hwcg_reg = 0x48004, 3155cfb8282eSAmit Nischal .hwcg_bit = 1, 3156cfb8282eSAmit Nischal .clkr = { 3157cfb8282eSAmit Nischal .enable_reg = 0x52004, 3158cfb8282eSAmit Nischal .enable_mask = BIT(22), 3159cfb8282eSAmit Nischal .hw.init = &(struct clk_init_data){ 3160cfb8282eSAmit Nischal .name = "gcc_cpuss_gnoc_clk", 3161cfb8282eSAmit Nischal .flags = CLK_IS_CRITICAL, 3162cfb8282eSAmit Nischal .ops = &clk_branch2_ops, 3163cfb8282eSAmit Nischal }, 3164cfb8282eSAmit Nischal }, 3165cfb8282eSAmit Nischal }; 3166cfb8282eSAmit Nischal 31678d3e5b9cSTaniya Das /* TODO: Remove after DTS updated to protect these */ 31688d3e5b9cSTaniya Das #ifdef CONFIG_SDM_LPASSCC_845 31698d3e5b9cSTaniya Das static struct clk_branch gcc_lpass_q6_axi_clk = { 31708d3e5b9cSTaniya Das .halt_reg = 0x47000, 31718d3e5b9cSTaniya Das .halt_check = BRANCH_HALT, 31728d3e5b9cSTaniya Das .clkr = { 31738d3e5b9cSTaniya Das .enable_reg = 0x47000, 31748d3e5b9cSTaniya Das .enable_mask = BIT(0), 31758d3e5b9cSTaniya Das .hw.init = &(struct clk_init_data){ 31768d3e5b9cSTaniya Das .name = "gcc_lpass_q6_axi_clk", 31778d3e5b9cSTaniya Das .flags = CLK_IS_CRITICAL, 31788d3e5b9cSTaniya Das .ops = &clk_branch2_ops, 31798d3e5b9cSTaniya Das }, 31808d3e5b9cSTaniya Das }, 31818d3e5b9cSTaniya Das }; 31828d3e5b9cSTaniya Das 31838d3e5b9cSTaniya Das static struct clk_branch gcc_lpass_sway_clk = { 31848d3e5b9cSTaniya Das .halt_reg = 0x47008, 31858d3e5b9cSTaniya Das .halt_check = BRANCH_HALT, 31868d3e5b9cSTaniya Das .clkr = { 31878d3e5b9cSTaniya Das .enable_reg = 0x47008, 31888d3e5b9cSTaniya Das .enable_mask = BIT(0), 31898d3e5b9cSTaniya Das .hw.init = &(struct clk_init_data){ 31908d3e5b9cSTaniya Das .name = "gcc_lpass_sway_clk", 31918d3e5b9cSTaniya Das .flags = CLK_IS_CRITICAL, 31928d3e5b9cSTaniya Das .ops = &clk_branch2_ops, 31938d3e5b9cSTaniya Das }, 31948d3e5b9cSTaniya Das }, 31958d3e5b9cSTaniya Das }; 31968d3e5b9cSTaniya Das #endif 31978d3e5b9cSTaniya Das 319806391eddSTaniya Das static struct gdsc pcie_0_gdsc = { 319906391eddSTaniya Das .gdscr = 0x6b004, 320006391eddSTaniya Das .pd = { 320106391eddSTaniya Das .name = "pcie_0_gdsc", 320206391eddSTaniya Das }, 320306391eddSTaniya Das .pwrsts = PWRSTS_OFF_ON, 320406391eddSTaniya Das .flags = POLL_CFG_GDSCR, 320506391eddSTaniya Das }; 320606391eddSTaniya Das 320706391eddSTaniya Das static struct gdsc pcie_1_gdsc = { 320806391eddSTaniya Das .gdscr = 0x8d004, 320906391eddSTaniya Das .pd = { 321006391eddSTaniya Das .name = "pcie_1_gdsc", 321106391eddSTaniya Das }, 321206391eddSTaniya Das .pwrsts = PWRSTS_OFF_ON, 321306391eddSTaniya Das .flags = POLL_CFG_GDSCR, 321406391eddSTaniya Das }; 321506391eddSTaniya Das 321606391eddSTaniya Das static struct gdsc ufs_card_gdsc = { 321706391eddSTaniya Das .gdscr = 0x75004, 321806391eddSTaniya Das .pd = { 321906391eddSTaniya Das .name = "ufs_card_gdsc", 322006391eddSTaniya Das }, 322106391eddSTaniya Das .pwrsts = PWRSTS_OFF_ON, 322206391eddSTaniya Das .flags = POLL_CFG_GDSCR, 322306391eddSTaniya Das }; 322406391eddSTaniya Das 322506391eddSTaniya Das static struct gdsc ufs_phy_gdsc = { 322606391eddSTaniya Das .gdscr = 0x77004, 322706391eddSTaniya Das .pd = { 322806391eddSTaniya Das .name = "ufs_phy_gdsc", 322906391eddSTaniya Das }, 323006391eddSTaniya Das .pwrsts = PWRSTS_OFF_ON, 323106391eddSTaniya Das .flags = POLL_CFG_GDSCR, 323206391eddSTaniya Das }; 323306391eddSTaniya Das 323406391eddSTaniya Das static struct gdsc usb30_prim_gdsc = { 323506391eddSTaniya Das .gdscr = 0xf004, 323606391eddSTaniya Das .pd = { 323706391eddSTaniya Das .name = "usb30_prim_gdsc", 323806391eddSTaniya Das }, 323906391eddSTaniya Das .pwrsts = PWRSTS_OFF_ON, 324006391eddSTaniya Das .flags = POLL_CFG_GDSCR, 324106391eddSTaniya Das }; 324206391eddSTaniya Das 324306391eddSTaniya Das static struct gdsc usb30_sec_gdsc = { 324406391eddSTaniya Das .gdscr = 0x10004, 324506391eddSTaniya Das .pd = { 324606391eddSTaniya Das .name = "usb30_sec_gdsc", 324706391eddSTaniya Das }, 324806391eddSTaniya Das .pwrsts = PWRSTS_OFF_ON, 324906391eddSTaniya Das .flags = POLL_CFG_GDSCR, 325006391eddSTaniya Das }; 325106391eddSTaniya Das 325206391eddSTaniya Das static struct gdsc hlos1_vote_aggre_noc_mmu_audio_tbu_gdsc = { 325306391eddSTaniya Das .gdscr = 0x7d030, 325406391eddSTaniya Das .pd = { 325506391eddSTaniya Das .name = "hlos1_vote_aggre_noc_mmu_audio_tbu_gdsc", 325606391eddSTaniya Das }, 325706391eddSTaniya Das .pwrsts = PWRSTS_OFF_ON, 325806391eddSTaniya Das }; 325906391eddSTaniya Das 326006391eddSTaniya Das static struct gdsc hlos1_vote_aggre_noc_mmu_pcie_tbu_gdsc = { 326106391eddSTaniya Das .gdscr = 0x7d03c, 326206391eddSTaniya Das .pd = { 326306391eddSTaniya Das .name = "hlos1_vote_aggre_noc_mmu_pcie_tbu_gdsc", 326406391eddSTaniya Das }, 326506391eddSTaniya Das .pwrsts = PWRSTS_OFF_ON, 326606391eddSTaniya Das }; 326706391eddSTaniya Das 326806391eddSTaniya Das static struct gdsc hlos1_vote_aggre_noc_mmu_tbu1_gdsc = { 326906391eddSTaniya Das .gdscr = 0x7d034, 327006391eddSTaniya Das .pd = { 327106391eddSTaniya Das .name = "hlos1_vote_aggre_noc_mmu_tbu1_gdsc", 327206391eddSTaniya Das }, 327306391eddSTaniya Das .pwrsts = PWRSTS_OFF_ON, 327406391eddSTaniya Das }; 327506391eddSTaniya Das 327606391eddSTaniya Das static struct gdsc hlos1_vote_aggre_noc_mmu_tbu2_gdsc = { 327706391eddSTaniya Das .gdscr = 0x7d038, 327806391eddSTaniya Das .pd = { 327906391eddSTaniya Das .name = "hlos1_vote_aggre_noc_mmu_tbu2_gdsc", 328006391eddSTaniya Das }, 328106391eddSTaniya Das .pwrsts = PWRSTS_OFF_ON, 328206391eddSTaniya Das }; 328306391eddSTaniya Das 328406391eddSTaniya Das static struct gdsc hlos1_vote_mmnoc_mmu_tbu_hf0_gdsc = { 328506391eddSTaniya Das .gdscr = 0x7d040, 328606391eddSTaniya Das .pd = { 328706391eddSTaniya Das .name = "hlos1_vote_mmnoc_mmu_tbu_hf0_gdsc", 328806391eddSTaniya Das }, 328906391eddSTaniya Das .pwrsts = PWRSTS_OFF_ON, 329006391eddSTaniya Das }; 329106391eddSTaniya Das 329206391eddSTaniya Das static struct gdsc hlos1_vote_mmnoc_mmu_tbu_hf1_gdsc = { 329306391eddSTaniya Das .gdscr = 0x7d048, 329406391eddSTaniya Das .pd = { 329506391eddSTaniya Das .name = "hlos1_vote_mmnoc_mmu_tbu_hf1_gdsc", 329606391eddSTaniya Das }, 329706391eddSTaniya Das .pwrsts = PWRSTS_OFF_ON, 329806391eddSTaniya Das }; 329906391eddSTaniya Das 330006391eddSTaniya Das static struct gdsc hlos1_vote_mmnoc_mmu_tbu_sf_gdsc = { 330106391eddSTaniya Das .gdscr = 0x7d044, 330206391eddSTaniya Das .pd = { 330306391eddSTaniya Das .name = "hlos1_vote_mmnoc_mmu_tbu_sf_gdsc", 330406391eddSTaniya Das }, 330506391eddSTaniya Das .pwrsts = PWRSTS_OFF_ON, 330606391eddSTaniya Das }; 330706391eddSTaniya Das 330806391eddSTaniya Das static struct clk_regmap *gcc_sdm845_clocks[] = { 330906391eddSTaniya Das [GCC_AGGRE_NOC_PCIE_TBU_CLK] = &gcc_aggre_noc_pcie_tbu_clk.clkr, 331006391eddSTaniya Das [GCC_AGGRE_UFS_CARD_AXI_CLK] = &gcc_aggre_ufs_card_axi_clk.clkr, 331106391eddSTaniya Das [GCC_AGGRE_UFS_PHY_AXI_CLK] = &gcc_aggre_ufs_phy_axi_clk.clkr, 331206391eddSTaniya Das [GCC_AGGRE_USB3_PRIM_AXI_CLK] = &gcc_aggre_usb3_prim_axi_clk.clkr, 331306391eddSTaniya Das [GCC_AGGRE_USB3_SEC_AXI_CLK] = &gcc_aggre_usb3_sec_axi_clk.clkr, 331406391eddSTaniya Das [GCC_APC_VS_CLK] = &gcc_apc_vs_clk.clkr, 331506391eddSTaniya Das [GCC_BOOT_ROM_AHB_CLK] = &gcc_boot_rom_ahb_clk.clkr, 331606391eddSTaniya Das [GCC_CAMERA_AHB_CLK] = &gcc_camera_ahb_clk.clkr, 331706391eddSTaniya Das [GCC_CAMERA_AXI_CLK] = &gcc_camera_axi_clk.clkr, 331806391eddSTaniya Das [GCC_CAMERA_XO_CLK] = &gcc_camera_xo_clk.clkr, 331906391eddSTaniya Das [GCC_CE1_AHB_CLK] = &gcc_ce1_ahb_clk.clkr, 332006391eddSTaniya Das [GCC_CE1_AXI_CLK] = &gcc_ce1_axi_clk.clkr, 332106391eddSTaniya Das [GCC_CE1_CLK] = &gcc_ce1_clk.clkr, 332206391eddSTaniya Das [GCC_CFG_NOC_USB3_PRIM_AXI_CLK] = &gcc_cfg_noc_usb3_prim_axi_clk.clkr, 332306391eddSTaniya Das [GCC_CFG_NOC_USB3_SEC_AXI_CLK] = &gcc_cfg_noc_usb3_sec_axi_clk.clkr, 332406391eddSTaniya Das [GCC_CPUSS_AHB_CLK] = &gcc_cpuss_ahb_clk.clkr, 332506391eddSTaniya Das [GCC_CPUSS_AHB_CLK_SRC] = &gcc_cpuss_ahb_clk_src.clkr, 332606391eddSTaniya Das [GCC_CPUSS_RBCPR_CLK] = &gcc_cpuss_rbcpr_clk.clkr, 332706391eddSTaniya Das [GCC_CPUSS_RBCPR_CLK_SRC] = &gcc_cpuss_rbcpr_clk_src.clkr, 332806391eddSTaniya Das [GCC_DDRSS_GPU_AXI_CLK] = &gcc_ddrss_gpu_axi_clk.clkr, 332906391eddSTaniya Das [GCC_DISP_AHB_CLK] = &gcc_disp_ahb_clk.clkr, 333006391eddSTaniya Das [GCC_DISP_AXI_CLK] = &gcc_disp_axi_clk.clkr, 333106391eddSTaniya Das [GCC_DISP_GPLL0_CLK_SRC] = &gcc_disp_gpll0_clk_src.clkr, 333206391eddSTaniya Das [GCC_DISP_GPLL0_DIV_CLK_SRC] = &gcc_disp_gpll0_div_clk_src.clkr, 333306391eddSTaniya Das [GCC_DISP_XO_CLK] = &gcc_disp_xo_clk.clkr, 333406391eddSTaniya Das [GCC_GP1_CLK] = &gcc_gp1_clk.clkr, 333506391eddSTaniya Das [GCC_GP1_CLK_SRC] = &gcc_gp1_clk_src.clkr, 333606391eddSTaniya Das [GCC_GP2_CLK] = &gcc_gp2_clk.clkr, 333706391eddSTaniya Das [GCC_GP2_CLK_SRC] = &gcc_gp2_clk_src.clkr, 333806391eddSTaniya Das [GCC_GP3_CLK] = &gcc_gp3_clk.clkr, 333906391eddSTaniya Das [GCC_GP3_CLK_SRC] = &gcc_gp3_clk_src.clkr, 334006391eddSTaniya Das [GCC_GPU_CFG_AHB_CLK] = &gcc_gpu_cfg_ahb_clk.clkr, 334106391eddSTaniya Das [GCC_GPU_GPLL0_CLK_SRC] = &gcc_gpu_gpll0_clk_src.clkr, 334206391eddSTaniya Das [GCC_GPU_GPLL0_DIV_CLK_SRC] = &gcc_gpu_gpll0_div_clk_src.clkr, 334306391eddSTaniya Das [GCC_GPU_IREF_CLK] = &gcc_gpu_iref_clk.clkr, 334406391eddSTaniya Das [GCC_GPU_MEMNOC_GFX_CLK] = &gcc_gpu_memnoc_gfx_clk.clkr, 334506391eddSTaniya Das [GCC_GPU_SNOC_DVM_GFX_CLK] = &gcc_gpu_snoc_dvm_gfx_clk.clkr, 334606391eddSTaniya Das [GCC_GPU_VS_CLK] = &gcc_gpu_vs_clk.clkr, 334706391eddSTaniya Das [GCC_MSS_AXIS2_CLK] = &gcc_mss_axis2_clk.clkr, 334806391eddSTaniya Das [GCC_MSS_CFG_AHB_CLK] = &gcc_mss_cfg_ahb_clk.clkr, 334906391eddSTaniya Das [GCC_MSS_GPLL0_DIV_CLK_SRC] = &gcc_mss_gpll0_div_clk_src.clkr, 335006391eddSTaniya Das [GCC_MSS_MFAB_AXIS_CLK] = &gcc_mss_mfab_axis_clk.clkr, 335106391eddSTaniya Das [GCC_MSS_Q6_MEMNOC_AXI_CLK] = &gcc_mss_q6_memnoc_axi_clk.clkr, 335206391eddSTaniya Das [GCC_MSS_SNOC_AXI_CLK] = &gcc_mss_snoc_axi_clk.clkr, 335306391eddSTaniya Das [GCC_MSS_VS_CLK] = &gcc_mss_vs_clk.clkr, 335406391eddSTaniya Das [GCC_PCIE_0_AUX_CLK] = &gcc_pcie_0_aux_clk.clkr, 335506391eddSTaniya Das [GCC_PCIE_0_AUX_CLK_SRC] = &gcc_pcie_0_aux_clk_src.clkr, 335606391eddSTaniya Das [GCC_PCIE_0_CFG_AHB_CLK] = &gcc_pcie_0_cfg_ahb_clk.clkr, 335706391eddSTaniya Das [GCC_PCIE_0_CLKREF_CLK] = &gcc_pcie_0_clkref_clk.clkr, 335806391eddSTaniya Das [GCC_PCIE_0_MSTR_AXI_CLK] = &gcc_pcie_0_mstr_axi_clk.clkr, 335906391eddSTaniya Das [GCC_PCIE_0_PIPE_CLK] = &gcc_pcie_0_pipe_clk.clkr, 336006391eddSTaniya Das [GCC_PCIE_0_SLV_AXI_CLK] = &gcc_pcie_0_slv_axi_clk.clkr, 336106391eddSTaniya Das [GCC_PCIE_0_SLV_Q2A_AXI_CLK] = &gcc_pcie_0_slv_q2a_axi_clk.clkr, 336206391eddSTaniya Das [GCC_PCIE_1_AUX_CLK] = &gcc_pcie_1_aux_clk.clkr, 336306391eddSTaniya Das [GCC_PCIE_1_AUX_CLK_SRC] = &gcc_pcie_1_aux_clk_src.clkr, 336406391eddSTaniya Das [GCC_PCIE_1_CFG_AHB_CLK] = &gcc_pcie_1_cfg_ahb_clk.clkr, 336506391eddSTaniya Das [GCC_PCIE_1_CLKREF_CLK] = &gcc_pcie_1_clkref_clk.clkr, 336606391eddSTaniya Das [GCC_PCIE_1_MSTR_AXI_CLK] = &gcc_pcie_1_mstr_axi_clk.clkr, 336706391eddSTaniya Das [GCC_PCIE_1_PIPE_CLK] = &gcc_pcie_1_pipe_clk.clkr, 336806391eddSTaniya Das [GCC_PCIE_1_SLV_AXI_CLK] = &gcc_pcie_1_slv_axi_clk.clkr, 336906391eddSTaniya Das [GCC_PCIE_1_SLV_Q2A_AXI_CLK] = &gcc_pcie_1_slv_q2a_axi_clk.clkr, 337006391eddSTaniya Das [GCC_PCIE_PHY_AUX_CLK] = &gcc_pcie_phy_aux_clk.clkr, 337106391eddSTaniya Das [GCC_PCIE_PHY_REFGEN_CLK] = &gcc_pcie_phy_refgen_clk.clkr, 337206391eddSTaniya Das [GCC_PCIE_PHY_REFGEN_CLK_SRC] = &gcc_pcie_phy_refgen_clk_src.clkr, 337306391eddSTaniya Das [GCC_PDM2_CLK] = &gcc_pdm2_clk.clkr, 337406391eddSTaniya Das [GCC_PDM2_CLK_SRC] = &gcc_pdm2_clk_src.clkr, 337506391eddSTaniya Das [GCC_PDM_AHB_CLK] = &gcc_pdm_ahb_clk.clkr, 337606391eddSTaniya Das [GCC_PDM_XO4_CLK] = &gcc_pdm_xo4_clk.clkr, 337706391eddSTaniya Das [GCC_PRNG_AHB_CLK] = &gcc_prng_ahb_clk.clkr, 337806391eddSTaniya Das [GCC_QMIP_CAMERA_AHB_CLK] = &gcc_qmip_camera_ahb_clk.clkr, 337906391eddSTaniya Das [GCC_QMIP_DISP_AHB_CLK] = &gcc_qmip_disp_ahb_clk.clkr, 338006391eddSTaniya Das [GCC_QMIP_VIDEO_AHB_CLK] = &gcc_qmip_video_ahb_clk.clkr, 338106391eddSTaniya Das [GCC_QUPV3_WRAP0_S0_CLK] = &gcc_qupv3_wrap0_s0_clk.clkr, 338206391eddSTaniya Das [GCC_QUPV3_WRAP0_S0_CLK_SRC] = &gcc_qupv3_wrap0_s0_clk_src.clkr, 338306391eddSTaniya Das [GCC_QUPV3_WRAP0_S1_CLK] = &gcc_qupv3_wrap0_s1_clk.clkr, 338406391eddSTaniya Das [GCC_QUPV3_WRAP0_S1_CLK_SRC] = &gcc_qupv3_wrap0_s1_clk_src.clkr, 338506391eddSTaniya Das [GCC_QUPV3_WRAP0_S2_CLK] = &gcc_qupv3_wrap0_s2_clk.clkr, 338606391eddSTaniya Das [GCC_QUPV3_WRAP0_S2_CLK_SRC] = &gcc_qupv3_wrap0_s2_clk_src.clkr, 338706391eddSTaniya Das [GCC_QUPV3_WRAP0_S3_CLK] = &gcc_qupv3_wrap0_s3_clk.clkr, 338806391eddSTaniya Das [GCC_QUPV3_WRAP0_S3_CLK_SRC] = &gcc_qupv3_wrap0_s3_clk_src.clkr, 338906391eddSTaniya Das [GCC_QUPV3_WRAP0_S4_CLK] = &gcc_qupv3_wrap0_s4_clk.clkr, 339006391eddSTaniya Das [GCC_QUPV3_WRAP0_S4_CLK_SRC] = &gcc_qupv3_wrap0_s4_clk_src.clkr, 339106391eddSTaniya Das [GCC_QUPV3_WRAP0_S5_CLK] = &gcc_qupv3_wrap0_s5_clk.clkr, 339206391eddSTaniya Das [GCC_QUPV3_WRAP0_S5_CLK_SRC] = &gcc_qupv3_wrap0_s5_clk_src.clkr, 339306391eddSTaniya Das [GCC_QUPV3_WRAP0_S6_CLK] = &gcc_qupv3_wrap0_s6_clk.clkr, 339406391eddSTaniya Das [GCC_QUPV3_WRAP0_S6_CLK_SRC] = &gcc_qupv3_wrap0_s6_clk_src.clkr, 339506391eddSTaniya Das [GCC_QUPV3_WRAP0_S7_CLK] = &gcc_qupv3_wrap0_s7_clk.clkr, 339606391eddSTaniya Das [GCC_QUPV3_WRAP0_S7_CLK_SRC] = &gcc_qupv3_wrap0_s7_clk_src.clkr, 339706391eddSTaniya Das [GCC_QUPV3_WRAP1_S0_CLK] = &gcc_qupv3_wrap1_s0_clk.clkr, 339806391eddSTaniya Das [GCC_QUPV3_WRAP1_S0_CLK_SRC] = &gcc_qupv3_wrap1_s0_clk_src.clkr, 339906391eddSTaniya Das [GCC_QUPV3_WRAP1_S1_CLK] = &gcc_qupv3_wrap1_s1_clk.clkr, 340006391eddSTaniya Das [GCC_QUPV3_WRAP1_S1_CLK_SRC] = &gcc_qupv3_wrap1_s1_clk_src.clkr, 340106391eddSTaniya Das [GCC_QUPV3_WRAP1_S2_CLK] = &gcc_qupv3_wrap1_s2_clk.clkr, 340206391eddSTaniya Das [GCC_QUPV3_WRAP1_S2_CLK_SRC] = &gcc_qupv3_wrap1_s2_clk_src.clkr, 340306391eddSTaniya Das [GCC_QUPV3_WRAP1_S3_CLK] = &gcc_qupv3_wrap1_s3_clk.clkr, 340406391eddSTaniya Das [GCC_QUPV3_WRAP1_S3_CLK_SRC] = &gcc_qupv3_wrap1_s3_clk_src.clkr, 340506391eddSTaniya Das [GCC_QUPV3_WRAP1_S4_CLK] = &gcc_qupv3_wrap1_s4_clk.clkr, 340606391eddSTaniya Das [GCC_QUPV3_WRAP1_S4_CLK_SRC] = &gcc_qupv3_wrap1_s4_clk_src.clkr, 340706391eddSTaniya Das [GCC_QUPV3_WRAP1_S5_CLK] = &gcc_qupv3_wrap1_s5_clk.clkr, 340806391eddSTaniya Das [GCC_QUPV3_WRAP1_S5_CLK_SRC] = &gcc_qupv3_wrap1_s5_clk_src.clkr, 340906391eddSTaniya Das [GCC_QUPV3_WRAP1_S6_CLK] = &gcc_qupv3_wrap1_s6_clk.clkr, 341006391eddSTaniya Das [GCC_QUPV3_WRAP1_S6_CLK_SRC] = &gcc_qupv3_wrap1_s6_clk_src.clkr, 341106391eddSTaniya Das [GCC_QUPV3_WRAP1_S7_CLK] = &gcc_qupv3_wrap1_s7_clk.clkr, 341206391eddSTaniya Das [GCC_QUPV3_WRAP1_S7_CLK_SRC] = &gcc_qupv3_wrap1_s7_clk_src.clkr, 341306391eddSTaniya Das [GCC_QUPV3_WRAP_0_M_AHB_CLK] = &gcc_qupv3_wrap_0_m_ahb_clk.clkr, 341406391eddSTaniya Das [GCC_QUPV3_WRAP_0_S_AHB_CLK] = &gcc_qupv3_wrap_0_s_ahb_clk.clkr, 341506391eddSTaniya Das [GCC_QUPV3_WRAP_1_M_AHB_CLK] = &gcc_qupv3_wrap_1_m_ahb_clk.clkr, 341606391eddSTaniya Das [GCC_QUPV3_WRAP_1_S_AHB_CLK] = &gcc_qupv3_wrap_1_s_ahb_clk.clkr, 341706391eddSTaniya Das [GCC_SDCC2_AHB_CLK] = &gcc_sdcc2_ahb_clk.clkr, 341806391eddSTaniya Das [GCC_SDCC2_APPS_CLK] = &gcc_sdcc2_apps_clk.clkr, 341906391eddSTaniya Das [GCC_SDCC2_APPS_CLK_SRC] = &gcc_sdcc2_apps_clk_src.clkr, 342006391eddSTaniya Das [GCC_SDCC4_AHB_CLK] = &gcc_sdcc4_ahb_clk.clkr, 342106391eddSTaniya Das [GCC_SDCC4_APPS_CLK] = &gcc_sdcc4_apps_clk.clkr, 342206391eddSTaniya Das [GCC_SDCC4_APPS_CLK_SRC] = &gcc_sdcc4_apps_clk_src.clkr, 342306391eddSTaniya Das [GCC_SYS_NOC_CPUSS_AHB_CLK] = &gcc_sys_noc_cpuss_ahb_clk.clkr, 342406391eddSTaniya Das [GCC_TSIF_AHB_CLK] = &gcc_tsif_ahb_clk.clkr, 342506391eddSTaniya Das [GCC_TSIF_INACTIVITY_TIMERS_CLK] = 342606391eddSTaniya Das &gcc_tsif_inactivity_timers_clk.clkr, 342706391eddSTaniya Das [GCC_TSIF_REF_CLK] = &gcc_tsif_ref_clk.clkr, 342806391eddSTaniya Das [GCC_TSIF_REF_CLK_SRC] = &gcc_tsif_ref_clk_src.clkr, 342906391eddSTaniya Das [GCC_UFS_CARD_AHB_CLK] = &gcc_ufs_card_ahb_clk.clkr, 343006391eddSTaniya Das [GCC_UFS_CARD_AXI_CLK] = &gcc_ufs_card_axi_clk.clkr, 343106391eddSTaniya Das [GCC_UFS_CARD_AXI_CLK_SRC] = &gcc_ufs_card_axi_clk_src.clkr, 343206391eddSTaniya Das [GCC_UFS_CARD_CLKREF_CLK] = &gcc_ufs_card_clkref_clk.clkr, 343306391eddSTaniya Das [GCC_UFS_CARD_ICE_CORE_CLK] = &gcc_ufs_card_ice_core_clk.clkr, 343406391eddSTaniya Das [GCC_UFS_CARD_ICE_CORE_CLK_SRC] = &gcc_ufs_card_ice_core_clk_src.clkr, 343506391eddSTaniya Das [GCC_UFS_CARD_PHY_AUX_CLK] = &gcc_ufs_card_phy_aux_clk.clkr, 343606391eddSTaniya Das [GCC_UFS_CARD_PHY_AUX_CLK_SRC] = &gcc_ufs_card_phy_aux_clk_src.clkr, 343706391eddSTaniya Das [GCC_UFS_CARD_RX_SYMBOL_0_CLK] = &gcc_ufs_card_rx_symbol_0_clk.clkr, 343806391eddSTaniya Das [GCC_UFS_CARD_RX_SYMBOL_1_CLK] = &gcc_ufs_card_rx_symbol_1_clk.clkr, 343906391eddSTaniya Das [GCC_UFS_CARD_TX_SYMBOL_0_CLK] = &gcc_ufs_card_tx_symbol_0_clk.clkr, 344006391eddSTaniya Das [GCC_UFS_CARD_UNIPRO_CORE_CLK] = &gcc_ufs_card_unipro_core_clk.clkr, 344106391eddSTaniya Das [GCC_UFS_CARD_UNIPRO_CORE_CLK_SRC] = 344206391eddSTaniya Das &gcc_ufs_card_unipro_core_clk_src.clkr, 344306391eddSTaniya Das [GCC_UFS_MEM_CLKREF_CLK] = &gcc_ufs_mem_clkref_clk.clkr, 344406391eddSTaniya Das [GCC_UFS_PHY_AHB_CLK] = &gcc_ufs_phy_ahb_clk.clkr, 344506391eddSTaniya Das [GCC_UFS_PHY_AXI_CLK] = &gcc_ufs_phy_axi_clk.clkr, 344606391eddSTaniya Das [GCC_UFS_PHY_AXI_CLK_SRC] = &gcc_ufs_phy_axi_clk_src.clkr, 344706391eddSTaniya Das [GCC_UFS_PHY_ICE_CORE_CLK] = &gcc_ufs_phy_ice_core_clk.clkr, 344806391eddSTaniya Das [GCC_UFS_PHY_ICE_CORE_CLK_SRC] = &gcc_ufs_phy_ice_core_clk_src.clkr, 344906391eddSTaniya Das [GCC_UFS_PHY_PHY_AUX_CLK] = &gcc_ufs_phy_phy_aux_clk.clkr, 345006391eddSTaniya Das [GCC_UFS_PHY_PHY_AUX_CLK_SRC] = &gcc_ufs_phy_phy_aux_clk_src.clkr, 345106391eddSTaniya Das [GCC_UFS_PHY_RX_SYMBOL_0_CLK] = &gcc_ufs_phy_rx_symbol_0_clk.clkr, 345206391eddSTaniya Das [GCC_UFS_PHY_RX_SYMBOL_1_CLK] = &gcc_ufs_phy_rx_symbol_1_clk.clkr, 345306391eddSTaniya Das [GCC_UFS_PHY_TX_SYMBOL_0_CLK] = &gcc_ufs_phy_tx_symbol_0_clk.clkr, 345406391eddSTaniya Das [GCC_UFS_PHY_UNIPRO_CORE_CLK] = &gcc_ufs_phy_unipro_core_clk.clkr, 345506391eddSTaniya Das [GCC_UFS_PHY_UNIPRO_CORE_CLK_SRC] = 345606391eddSTaniya Das &gcc_ufs_phy_unipro_core_clk_src.clkr, 345706391eddSTaniya Das [GCC_USB30_PRIM_MASTER_CLK] = &gcc_usb30_prim_master_clk.clkr, 345806391eddSTaniya Das [GCC_USB30_PRIM_MASTER_CLK_SRC] = &gcc_usb30_prim_master_clk_src.clkr, 345906391eddSTaniya Das [GCC_USB30_PRIM_MOCK_UTMI_CLK] = &gcc_usb30_prim_mock_utmi_clk.clkr, 346006391eddSTaniya Das [GCC_USB30_PRIM_MOCK_UTMI_CLK_SRC] = 346106391eddSTaniya Das &gcc_usb30_prim_mock_utmi_clk_src.clkr, 346206391eddSTaniya Das [GCC_USB30_PRIM_SLEEP_CLK] = &gcc_usb30_prim_sleep_clk.clkr, 346306391eddSTaniya Das [GCC_USB30_SEC_MASTER_CLK] = &gcc_usb30_sec_master_clk.clkr, 346406391eddSTaniya Das [GCC_USB30_SEC_MASTER_CLK_SRC] = &gcc_usb30_sec_master_clk_src.clkr, 346506391eddSTaniya Das [GCC_USB30_SEC_MOCK_UTMI_CLK] = &gcc_usb30_sec_mock_utmi_clk.clkr, 346606391eddSTaniya Das [GCC_USB30_SEC_MOCK_UTMI_CLK_SRC] = 346706391eddSTaniya Das &gcc_usb30_sec_mock_utmi_clk_src.clkr, 346806391eddSTaniya Das [GCC_USB30_SEC_SLEEP_CLK] = &gcc_usb30_sec_sleep_clk.clkr, 346906391eddSTaniya Das [GCC_USB3_PRIM_CLKREF_CLK] = &gcc_usb3_prim_clkref_clk.clkr, 347006391eddSTaniya Das [GCC_USB3_PRIM_PHY_AUX_CLK] = &gcc_usb3_prim_phy_aux_clk.clkr, 347106391eddSTaniya Das [GCC_USB3_PRIM_PHY_AUX_CLK_SRC] = &gcc_usb3_prim_phy_aux_clk_src.clkr, 347206391eddSTaniya Das [GCC_USB3_PRIM_PHY_COM_AUX_CLK] = &gcc_usb3_prim_phy_com_aux_clk.clkr, 347306391eddSTaniya Das [GCC_USB3_PRIM_PHY_PIPE_CLK] = &gcc_usb3_prim_phy_pipe_clk.clkr, 347406391eddSTaniya Das [GCC_USB3_SEC_CLKREF_CLK] = &gcc_usb3_sec_clkref_clk.clkr, 347506391eddSTaniya Das [GCC_USB3_SEC_PHY_AUX_CLK] = &gcc_usb3_sec_phy_aux_clk.clkr, 347606391eddSTaniya Das [GCC_USB3_SEC_PHY_AUX_CLK_SRC] = &gcc_usb3_sec_phy_aux_clk_src.clkr, 347706391eddSTaniya Das [GCC_USB3_SEC_PHY_COM_AUX_CLK] = &gcc_usb3_sec_phy_com_aux_clk.clkr, 347806391eddSTaniya Das [GCC_USB3_SEC_PHY_PIPE_CLK] = &gcc_usb3_sec_phy_pipe_clk.clkr, 347906391eddSTaniya Das [GCC_USB_PHY_CFG_AHB2PHY_CLK] = &gcc_usb_phy_cfg_ahb2phy_clk.clkr, 348006391eddSTaniya Das [GCC_VDDA_VS_CLK] = &gcc_vdda_vs_clk.clkr, 348106391eddSTaniya Das [GCC_VDDCX_VS_CLK] = &gcc_vddcx_vs_clk.clkr, 348206391eddSTaniya Das [GCC_VDDMX_VS_CLK] = &gcc_vddmx_vs_clk.clkr, 348306391eddSTaniya Das [GCC_VIDEO_AHB_CLK] = &gcc_video_ahb_clk.clkr, 348406391eddSTaniya Das [GCC_VIDEO_AXI_CLK] = &gcc_video_axi_clk.clkr, 348506391eddSTaniya Das [GCC_VIDEO_XO_CLK] = &gcc_video_xo_clk.clkr, 348606391eddSTaniya Das [GCC_VS_CTRL_AHB_CLK] = &gcc_vs_ctrl_ahb_clk.clkr, 348706391eddSTaniya Das [GCC_VS_CTRL_CLK] = &gcc_vs_ctrl_clk.clkr, 348806391eddSTaniya Das [GCC_VS_CTRL_CLK_SRC] = &gcc_vs_ctrl_clk_src.clkr, 348906391eddSTaniya Das [GCC_VSENSOR_CLK_SRC] = &gcc_vsensor_clk_src.clkr, 349006391eddSTaniya Das [GPLL0] = &gpll0.clkr, 349106391eddSTaniya Das [GPLL0_OUT_EVEN] = &gpll0_out_even.clkr, 349206391eddSTaniya Das [GPLL4] = &gpll4.clkr, 3493cfb8282eSAmit Nischal [GCC_CPUSS_DVM_BUS_CLK] = &gcc_cpuss_dvm_bus_clk.clkr, 3494cfb8282eSAmit Nischal [GCC_CPUSS_GNOC_CLK] = &gcc_cpuss_gnoc_clk.clkr, 34954f83d9b8SDouglas Anderson [GCC_QSPI_CORE_CLK_SRC] = &gcc_qspi_core_clk_src.clkr, 34964f83d9b8SDouglas Anderson [GCC_QSPI_CORE_CLK] = &gcc_qspi_core_clk.clkr, 34974f83d9b8SDouglas Anderson [GCC_QSPI_CNOC_PERIPH_AHB_CLK] = &gcc_qspi_cnoc_periph_ahb_clk.clkr, 34988d3e5b9cSTaniya Das #ifdef CONFIG_SDM_LPASSCC_845 34998d3e5b9cSTaniya Das [GCC_LPASS_Q6_AXI_CLK] = &gcc_lpass_q6_axi_clk.clkr, 35008d3e5b9cSTaniya Das [GCC_LPASS_SWAY_CLK] = &gcc_lpass_sway_clk.clkr, 35018d3e5b9cSTaniya Das #endif 350206391eddSTaniya Das }; 350306391eddSTaniya Das 350406391eddSTaniya Das static const struct qcom_reset_map gcc_sdm845_resets[] = { 350506391eddSTaniya Das [GCC_MMSS_BCR] = { 0xb000 }, 350606391eddSTaniya Das [GCC_PCIE_0_BCR] = { 0x6b000 }, 350706391eddSTaniya Das [GCC_PCIE_1_BCR] = { 0x8d000 }, 350806391eddSTaniya Das [GCC_PCIE_PHY_BCR] = { 0x6f000 }, 350906391eddSTaniya Das [GCC_PDM_BCR] = { 0x33000 }, 351006391eddSTaniya Das [GCC_PRNG_BCR] = { 0x34000 }, 351106391eddSTaniya Das [GCC_QUPV3_WRAPPER_0_BCR] = { 0x17000 }, 351206391eddSTaniya Das [GCC_QUPV3_WRAPPER_1_BCR] = { 0x18000 }, 351306391eddSTaniya Das [GCC_QUSB2PHY_PRIM_BCR] = { 0x12000 }, 351406391eddSTaniya Das [GCC_QUSB2PHY_SEC_BCR] = { 0x12004 }, 351506391eddSTaniya Das [GCC_SDCC2_BCR] = { 0x14000 }, 351606391eddSTaniya Das [GCC_SDCC4_BCR] = { 0x16000 }, 351706391eddSTaniya Das [GCC_TSIF_BCR] = { 0x36000 }, 351806391eddSTaniya Das [GCC_UFS_CARD_BCR] = { 0x75000 }, 351906391eddSTaniya Das [GCC_UFS_PHY_BCR] = { 0x77000 }, 352006391eddSTaniya Das [GCC_USB30_PRIM_BCR] = { 0xf000 }, 352106391eddSTaniya Das [GCC_USB30_SEC_BCR] = { 0x10000 }, 352206391eddSTaniya Das [GCC_USB3_PHY_PRIM_BCR] = { 0x50000 }, 352306391eddSTaniya Das [GCC_USB3PHY_PHY_PRIM_BCR] = { 0x50004 }, 352406391eddSTaniya Das [GCC_USB3_DP_PHY_PRIM_BCR] = { 0x50008 }, 352506391eddSTaniya Das [GCC_USB3_PHY_SEC_BCR] = { 0x5000c }, 352606391eddSTaniya Das [GCC_USB3PHY_PHY_SEC_BCR] = { 0x50010 }, 352706391eddSTaniya Das [GCC_USB3_DP_PHY_SEC_BCR] = { 0x50014 }, 352806391eddSTaniya Das [GCC_USB_PHY_CFG_AHB2PHY_BCR] = { 0x6a000 }, 352906391eddSTaniya Das [GCC_PCIE_0_PHY_BCR] = { 0x6c01c }, 353006391eddSTaniya Das [GCC_PCIE_1_PHY_BCR] = { 0x8e01c }, 353106391eddSTaniya Das }; 353206391eddSTaniya Das 353306391eddSTaniya Das static struct gdsc *gcc_sdm845_gdscs[] = { 353406391eddSTaniya Das [PCIE_0_GDSC] = &pcie_0_gdsc, 353506391eddSTaniya Das [PCIE_1_GDSC] = &pcie_1_gdsc, 353606391eddSTaniya Das [UFS_CARD_GDSC] = &ufs_card_gdsc, 353706391eddSTaniya Das [UFS_PHY_GDSC] = &ufs_phy_gdsc, 353806391eddSTaniya Das [USB30_PRIM_GDSC] = &usb30_prim_gdsc, 353906391eddSTaniya Das [USB30_SEC_GDSC] = &usb30_sec_gdsc, 354006391eddSTaniya Das [HLOS1_VOTE_AGGRE_NOC_MMU_AUDIO_TBU_GDSC] = 354106391eddSTaniya Das &hlos1_vote_aggre_noc_mmu_audio_tbu_gdsc, 354206391eddSTaniya Das [HLOS1_VOTE_AGGRE_NOC_MMU_PCIE_TBU_GDSC] = 354306391eddSTaniya Das &hlos1_vote_aggre_noc_mmu_pcie_tbu_gdsc, 354406391eddSTaniya Das [HLOS1_VOTE_AGGRE_NOC_MMU_TBU1_GDSC] = 354506391eddSTaniya Das &hlos1_vote_aggre_noc_mmu_tbu1_gdsc, 354606391eddSTaniya Das [HLOS1_VOTE_AGGRE_NOC_MMU_TBU2_GDSC] = 354706391eddSTaniya Das &hlos1_vote_aggre_noc_mmu_tbu2_gdsc, 354806391eddSTaniya Das [HLOS1_VOTE_MMNOC_MMU_TBU_HF0_GDSC] = 354906391eddSTaniya Das &hlos1_vote_mmnoc_mmu_tbu_hf0_gdsc, 355006391eddSTaniya Das [HLOS1_VOTE_MMNOC_MMU_TBU_HF1_GDSC] = 355106391eddSTaniya Das &hlos1_vote_mmnoc_mmu_tbu_hf1_gdsc, 355206391eddSTaniya Das [HLOS1_VOTE_MMNOC_MMU_TBU_SF_GDSC] = &hlos1_vote_mmnoc_mmu_tbu_sf_gdsc, 355306391eddSTaniya Das }; 355406391eddSTaniya Das 355506391eddSTaniya Das static const struct regmap_config gcc_sdm845_regmap_config = { 355606391eddSTaniya Das .reg_bits = 32, 355706391eddSTaniya Das .reg_stride = 4, 355806391eddSTaniya Das .val_bits = 32, 355906391eddSTaniya Das .max_register = 0x182090, 356006391eddSTaniya Das .fast_io = true, 356106391eddSTaniya Das }; 356206391eddSTaniya Das 356306391eddSTaniya Das static const struct qcom_cc_desc gcc_sdm845_desc = { 356406391eddSTaniya Das .config = &gcc_sdm845_regmap_config, 356506391eddSTaniya Das .clks = gcc_sdm845_clocks, 356606391eddSTaniya Das .num_clks = ARRAY_SIZE(gcc_sdm845_clocks), 356706391eddSTaniya Das .resets = gcc_sdm845_resets, 356806391eddSTaniya Das .num_resets = ARRAY_SIZE(gcc_sdm845_resets), 356906391eddSTaniya Das .gdscs = gcc_sdm845_gdscs, 357006391eddSTaniya Das .num_gdscs = ARRAY_SIZE(gcc_sdm845_gdscs), 357106391eddSTaniya Das }; 357206391eddSTaniya Das 357306391eddSTaniya Das static const struct of_device_id gcc_sdm845_match_table[] = { 357406391eddSTaniya Das { .compatible = "qcom,gcc-sdm845" }, 357506391eddSTaniya Das { } 357606391eddSTaniya Das }; 357706391eddSTaniya Das MODULE_DEVICE_TABLE(of, gcc_sdm845_match_table); 357806391eddSTaniya Das 35798b69c6dbSTaniya Das static const struct clk_rcg_dfs_data gcc_dfs_clocks[] = { 35808b69c6dbSTaniya Das DEFINE_RCG_DFS(gcc_qupv3_wrap0_s0_clk), 35818b69c6dbSTaniya Das DEFINE_RCG_DFS(gcc_qupv3_wrap0_s1_clk), 35828b69c6dbSTaniya Das DEFINE_RCG_DFS(gcc_qupv3_wrap0_s2_clk), 35838b69c6dbSTaniya Das DEFINE_RCG_DFS(gcc_qupv3_wrap0_s3_clk), 35848b69c6dbSTaniya Das DEFINE_RCG_DFS(gcc_qupv3_wrap0_s4_clk), 35858b69c6dbSTaniya Das DEFINE_RCG_DFS(gcc_qupv3_wrap0_s5_clk), 35868b69c6dbSTaniya Das DEFINE_RCG_DFS(gcc_qupv3_wrap0_s6_clk), 35878b69c6dbSTaniya Das DEFINE_RCG_DFS(gcc_qupv3_wrap0_s7_clk), 35888b69c6dbSTaniya Das DEFINE_RCG_DFS(gcc_qupv3_wrap1_s0_clk), 35898b69c6dbSTaniya Das DEFINE_RCG_DFS(gcc_qupv3_wrap1_s1_clk), 35908b69c6dbSTaniya Das DEFINE_RCG_DFS(gcc_qupv3_wrap1_s2_clk), 35918b69c6dbSTaniya Das DEFINE_RCG_DFS(gcc_qupv3_wrap1_s3_clk), 35928b69c6dbSTaniya Das DEFINE_RCG_DFS(gcc_qupv3_wrap1_s4_clk), 35938b69c6dbSTaniya Das DEFINE_RCG_DFS(gcc_qupv3_wrap1_s5_clk), 35948b69c6dbSTaniya Das DEFINE_RCG_DFS(gcc_qupv3_wrap1_s6_clk), 35958b69c6dbSTaniya Das DEFINE_RCG_DFS(gcc_qupv3_wrap1_s7_clk), 35968b69c6dbSTaniya Das }; 35978b69c6dbSTaniya Das 359806391eddSTaniya Das static int gcc_sdm845_probe(struct platform_device *pdev) 359906391eddSTaniya Das { 360006391eddSTaniya Das struct regmap *regmap; 36018b69c6dbSTaniya Das int ret; 360206391eddSTaniya Das 360306391eddSTaniya Das regmap = qcom_cc_map(pdev, &gcc_sdm845_desc); 360406391eddSTaniya Das if (IS_ERR(regmap)) 360506391eddSTaniya Das return PTR_ERR(regmap); 360606391eddSTaniya Das 360706391eddSTaniya Das /* Disable the GPLL0 active input to MMSS and GPU via MISC registers */ 360806391eddSTaniya Das regmap_update_bits(regmap, 0x09ffc, 0x3, 0x3); 360906391eddSTaniya Das regmap_update_bits(regmap, 0x71028, 0x3, 0x3); 361006391eddSTaniya Das 36118b69c6dbSTaniya Das ret = qcom_cc_register_rcg_dfs(regmap, gcc_dfs_clocks, 36128b69c6dbSTaniya Das ARRAY_SIZE(gcc_dfs_clocks)); 36138b69c6dbSTaniya Das if (ret) 36148b69c6dbSTaniya Das return ret; 36158b69c6dbSTaniya Das 361606391eddSTaniya Das return qcom_cc_really_probe(pdev, &gcc_sdm845_desc, regmap); 361706391eddSTaniya Das } 361806391eddSTaniya Das 361906391eddSTaniya Das static struct platform_driver gcc_sdm845_driver = { 362006391eddSTaniya Das .probe = gcc_sdm845_probe, 362106391eddSTaniya Das .driver = { 362206391eddSTaniya Das .name = "gcc-sdm845", 362306391eddSTaniya Das .of_match_table = gcc_sdm845_match_table, 362406391eddSTaniya Das }, 362506391eddSTaniya Das }; 362606391eddSTaniya Das 362706391eddSTaniya Das static int __init gcc_sdm845_init(void) 362806391eddSTaniya Das { 362906391eddSTaniya Das return platform_driver_register(&gcc_sdm845_driver); 363006391eddSTaniya Das } 363106391eddSTaniya Das subsys_initcall(gcc_sdm845_init); 363206391eddSTaniya Das 363306391eddSTaniya Das static void __exit gcc_sdm845_exit(void) 363406391eddSTaniya Das { 363506391eddSTaniya Das platform_driver_unregister(&gcc_sdm845_driver); 363606391eddSTaniya Das } 363706391eddSTaniya Das module_exit(gcc_sdm845_exit); 363806391eddSTaniya Das 363906391eddSTaniya Das MODULE_DESCRIPTION("QTI GCC SDM845 Driver"); 364006391eddSTaniya Das MODULE_LICENSE("GPL v2"); 364106391eddSTaniya Das MODULE_ALIAS("platform:gcc-sdm845"); 3642