18c2ecf20Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0-only 28c2ecf20Sopenharmony_ci/* 38c2ecf20Sopenharmony_ci * Copyright (c) 2020, The Linux Foundation. All rights reserved. 48c2ecf20Sopenharmony_ci */ 58c2ecf20Sopenharmony_ci 68c2ecf20Sopenharmony_ci#include <linux/clk-provider.h> 78c2ecf20Sopenharmony_ci#include <linux/err.h> 88c2ecf20Sopenharmony_ci#include <linux/kernel.h> 98c2ecf20Sopenharmony_ci#include <linux/module.h> 108c2ecf20Sopenharmony_ci#include <linux/of_device.h> 118c2ecf20Sopenharmony_ci#include <linux/of.h> 128c2ecf20Sopenharmony_ci#include <linux/regmap.h> 138c2ecf20Sopenharmony_ci 148c2ecf20Sopenharmony_ci#include <dt-bindings/clock/qcom,gcc-sm8250.h> 158c2ecf20Sopenharmony_ci 168c2ecf20Sopenharmony_ci#include "clk-alpha-pll.h" 178c2ecf20Sopenharmony_ci#include "clk-branch.h" 188c2ecf20Sopenharmony_ci#include "clk-rcg.h" 198c2ecf20Sopenharmony_ci#include "clk-regmap.h" 208c2ecf20Sopenharmony_ci#include "clk-regmap-divider.h" 218c2ecf20Sopenharmony_ci#include "common.h" 228c2ecf20Sopenharmony_ci#include "gdsc.h" 238c2ecf20Sopenharmony_ci#include "reset.h" 248c2ecf20Sopenharmony_ci 258c2ecf20Sopenharmony_cienum { 268c2ecf20Sopenharmony_ci P_BI_TCXO, 278c2ecf20Sopenharmony_ci P_AUD_REF_CLK, 288c2ecf20Sopenharmony_ci P_CORE_BI_PLL_TEST_SE, 298c2ecf20Sopenharmony_ci P_GPLL0_OUT_EVEN, 308c2ecf20Sopenharmony_ci P_GPLL0_OUT_MAIN, 318c2ecf20Sopenharmony_ci P_GPLL4_OUT_MAIN, 328c2ecf20Sopenharmony_ci P_GPLL9_OUT_MAIN, 338c2ecf20Sopenharmony_ci P_SLEEP_CLK, 348c2ecf20Sopenharmony_ci}; 358c2ecf20Sopenharmony_ci 368c2ecf20Sopenharmony_cistatic struct clk_alpha_pll gpll0 = { 378c2ecf20Sopenharmony_ci .offset = 0x0, 388c2ecf20Sopenharmony_ci .regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_LUCID], 398c2ecf20Sopenharmony_ci .clkr = { 408c2ecf20Sopenharmony_ci .enable_reg = 0x52018, 418c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 428c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 438c2ecf20Sopenharmony_ci .name = "gpll0", 448c2ecf20Sopenharmony_ci .parent_data = &(const struct clk_parent_data){ 458c2ecf20Sopenharmony_ci .fw_name = "bi_tcxo", 468c2ecf20Sopenharmony_ci }, 478c2ecf20Sopenharmony_ci .num_parents = 1, 488c2ecf20Sopenharmony_ci .ops = &clk_alpha_pll_fixed_lucid_ops, 498c2ecf20Sopenharmony_ci }, 508c2ecf20Sopenharmony_ci }, 518c2ecf20Sopenharmony_ci}; 528c2ecf20Sopenharmony_ci 538c2ecf20Sopenharmony_cistatic const struct clk_div_table post_div_table_gpll0_out_even[] = { 548c2ecf20Sopenharmony_ci { 0x1, 2 }, 558c2ecf20Sopenharmony_ci { } 568c2ecf20Sopenharmony_ci}; 578c2ecf20Sopenharmony_ci 588c2ecf20Sopenharmony_cistatic struct clk_alpha_pll_postdiv gpll0_out_even = { 598c2ecf20Sopenharmony_ci .offset = 0x0, 608c2ecf20Sopenharmony_ci .post_div_shift = 8, 618c2ecf20Sopenharmony_ci .post_div_table = post_div_table_gpll0_out_even, 628c2ecf20Sopenharmony_ci .num_post_div = ARRAY_SIZE(post_div_table_gpll0_out_even), 638c2ecf20Sopenharmony_ci .width = 4, 648c2ecf20Sopenharmony_ci .regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_LUCID], 658c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 668c2ecf20Sopenharmony_ci .name = "gpll0_out_even", 678c2ecf20Sopenharmony_ci .parent_data = &(const struct clk_parent_data){ 688c2ecf20Sopenharmony_ci .hw = &gpll0.clkr.hw, 698c2ecf20Sopenharmony_ci }, 708c2ecf20Sopenharmony_ci .num_parents = 1, 718c2ecf20Sopenharmony_ci .ops = &clk_alpha_pll_postdiv_lucid_ops, 728c2ecf20Sopenharmony_ci }, 738c2ecf20Sopenharmony_ci}; 748c2ecf20Sopenharmony_ci 758c2ecf20Sopenharmony_cistatic struct clk_alpha_pll gpll4 = { 768c2ecf20Sopenharmony_ci .offset = 0x76000, 778c2ecf20Sopenharmony_ci .regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_LUCID], 788c2ecf20Sopenharmony_ci .clkr = { 798c2ecf20Sopenharmony_ci .enable_reg = 0x52018, 808c2ecf20Sopenharmony_ci .enable_mask = BIT(4), 818c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 828c2ecf20Sopenharmony_ci .name = "gpll4", 838c2ecf20Sopenharmony_ci .parent_data = &(const struct clk_parent_data){ 848c2ecf20Sopenharmony_ci .fw_name = "bi_tcxo", 858c2ecf20Sopenharmony_ci }, 868c2ecf20Sopenharmony_ci .num_parents = 1, 878c2ecf20Sopenharmony_ci .ops = &clk_alpha_pll_fixed_lucid_ops, 888c2ecf20Sopenharmony_ci }, 898c2ecf20Sopenharmony_ci }, 908c2ecf20Sopenharmony_ci}; 918c2ecf20Sopenharmony_ci 928c2ecf20Sopenharmony_cistatic struct clk_alpha_pll gpll9 = { 938c2ecf20Sopenharmony_ci .offset = 0x1c000, 948c2ecf20Sopenharmony_ci .regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_LUCID], 958c2ecf20Sopenharmony_ci .clkr = { 968c2ecf20Sopenharmony_ci .enable_reg = 0x52018, 978c2ecf20Sopenharmony_ci .enable_mask = BIT(9), 988c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 998c2ecf20Sopenharmony_ci .name = "gpll9", 1008c2ecf20Sopenharmony_ci .parent_data = &(const struct clk_parent_data){ 1018c2ecf20Sopenharmony_ci .fw_name = "bi_tcxo", 1028c2ecf20Sopenharmony_ci }, 1038c2ecf20Sopenharmony_ci .num_parents = 1, 1048c2ecf20Sopenharmony_ci .ops = &clk_alpha_pll_fixed_lucid_ops, 1058c2ecf20Sopenharmony_ci }, 1068c2ecf20Sopenharmony_ci }, 1078c2ecf20Sopenharmony_ci}; 1088c2ecf20Sopenharmony_ci 1098c2ecf20Sopenharmony_cistatic const struct parent_map gcc_parent_map_0[] = { 1108c2ecf20Sopenharmony_ci { P_BI_TCXO, 0 }, 1118c2ecf20Sopenharmony_ci { P_GPLL0_OUT_MAIN, 1 }, 1128c2ecf20Sopenharmony_ci { P_GPLL0_OUT_EVEN, 6 }, 1138c2ecf20Sopenharmony_ci}; 1148c2ecf20Sopenharmony_ci 1158c2ecf20Sopenharmony_cistatic const struct clk_parent_data gcc_parent_data_0[] = { 1168c2ecf20Sopenharmony_ci { .fw_name = "bi_tcxo" }, 1178c2ecf20Sopenharmony_ci { .hw = &gpll0.clkr.hw }, 1188c2ecf20Sopenharmony_ci { .hw = &gpll0_out_even.clkr.hw }, 1198c2ecf20Sopenharmony_ci}; 1208c2ecf20Sopenharmony_ci 1218c2ecf20Sopenharmony_cistatic const struct clk_parent_data gcc_parent_data_0_ao[] = { 1228c2ecf20Sopenharmony_ci { .fw_name = "bi_tcxo_ao" }, 1238c2ecf20Sopenharmony_ci { .hw = &gpll0.clkr.hw }, 1248c2ecf20Sopenharmony_ci { .hw = &gpll0_out_even.clkr.hw }, 1258c2ecf20Sopenharmony_ci}; 1268c2ecf20Sopenharmony_ci 1278c2ecf20Sopenharmony_cistatic const struct parent_map gcc_parent_map_1[] = { 1288c2ecf20Sopenharmony_ci { P_BI_TCXO, 0 }, 1298c2ecf20Sopenharmony_ci { P_GPLL0_OUT_MAIN, 1 }, 1308c2ecf20Sopenharmony_ci { P_SLEEP_CLK, 5 }, 1318c2ecf20Sopenharmony_ci { P_GPLL0_OUT_EVEN, 6 }, 1328c2ecf20Sopenharmony_ci}; 1338c2ecf20Sopenharmony_ci 1348c2ecf20Sopenharmony_cistatic const struct clk_parent_data gcc_parent_data_1[] = { 1358c2ecf20Sopenharmony_ci { .fw_name = "bi_tcxo" }, 1368c2ecf20Sopenharmony_ci { .hw = &gpll0.clkr.hw }, 1378c2ecf20Sopenharmony_ci { .fw_name = "sleep_clk" }, 1388c2ecf20Sopenharmony_ci { .hw = &gpll0_out_even.clkr.hw }, 1398c2ecf20Sopenharmony_ci}; 1408c2ecf20Sopenharmony_ci 1418c2ecf20Sopenharmony_cistatic const struct parent_map gcc_parent_map_2[] = { 1428c2ecf20Sopenharmony_ci { P_BI_TCXO, 0 }, 1438c2ecf20Sopenharmony_ci { P_SLEEP_CLK, 5 }, 1448c2ecf20Sopenharmony_ci}; 1458c2ecf20Sopenharmony_ci 1468c2ecf20Sopenharmony_cistatic const struct clk_parent_data gcc_parent_data_2[] = { 1478c2ecf20Sopenharmony_ci { .fw_name = "bi_tcxo" }, 1488c2ecf20Sopenharmony_ci { .fw_name = "sleep_clk" }, 1498c2ecf20Sopenharmony_ci}; 1508c2ecf20Sopenharmony_ci 1518c2ecf20Sopenharmony_cistatic const struct parent_map gcc_parent_map_3[] = { 1528c2ecf20Sopenharmony_ci { P_BI_TCXO, 0 }, 1538c2ecf20Sopenharmony_ci}; 1548c2ecf20Sopenharmony_ci 1558c2ecf20Sopenharmony_cistatic const struct clk_parent_data gcc_parent_data_3[] = { 1568c2ecf20Sopenharmony_ci { .fw_name = "bi_tcxo" }, 1578c2ecf20Sopenharmony_ci}; 1588c2ecf20Sopenharmony_ci 1598c2ecf20Sopenharmony_cistatic const struct parent_map gcc_parent_map_4[] = { 1608c2ecf20Sopenharmony_ci { P_BI_TCXO, 0 }, 1618c2ecf20Sopenharmony_ci { P_GPLL0_OUT_MAIN, 1 }, 1628c2ecf20Sopenharmony_ci { P_GPLL9_OUT_MAIN, 2 }, 1638c2ecf20Sopenharmony_ci { P_GPLL4_OUT_MAIN, 5 }, 1648c2ecf20Sopenharmony_ci { P_GPLL0_OUT_EVEN, 6 }, 1658c2ecf20Sopenharmony_ci}; 1668c2ecf20Sopenharmony_ci 1678c2ecf20Sopenharmony_cistatic const struct clk_parent_data gcc_parent_data_4[] = { 1688c2ecf20Sopenharmony_ci { .fw_name = "bi_tcxo" }, 1698c2ecf20Sopenharmony_ci { .hw = &gpll0.clkr.hw }, 1708c2ecf20Sopenharmony_ci { .hw = &gpll9.clkr.hw }, 1718c2ecf20Sopenharmony_ci { .hw = &gpll4.clkr.hw }, 1728c2ecf20Sopenharmony_ci { .hw = &gpll0_out_even.clkr.hw }, 1738c2ecf20Sopenharmony_ci}; 1748c2ecf20Sopenharmony_ci 1758c2ecf20Sopenharmony_cistatic const struct parent_map gcc_parent_map_5[] = { 1768c2ecf20Sopenharmony_ci { P_BI_TCXO, 0 }, 1778c2ecf20Sopenharmony_ci { P_GPLL0_OUT_MAIN, 1 }, 1788c2ecf20Sopenharmony_ci { P_AUD_REF_CLK, 2 }, 1798c2ecf20Sopenharmony_ci { P_GPLL0_OUT_EVEN, 6 }, 1808c2ecf20Sopenharmony_ci}; 1818c2ecf20Sopenharmony_ci 1828c2ecf20Sopenharmony_cistatic const struct clk_parent_data gcc_parent_data_5[] = { 1838c2ecf20Sopenharmony_ci { .fw_name = "bi_tcxo" }, 1848c2ecf20Sopenharmony_ci { .hw = &gpll0.clkr.hw }, 1858c2ecf20Sopenharmony_ci { .fw_name = "aud_ref_clk" }, 1868c2ecf20Sopenharmony_ci { .hw = &gpll0_out_even.clkr.hw }, 1878c2ecf20Sopenharmony_ci}; 1888c2ecf20Sopenharmony_ci 1898c2ecf20Sopenharmony_cistatic const struct freq_tbl ftbl_gcc_cpuss_ahb_clk_src[] = { 1908c2ecf20Sopenharmony_ci F(19200000, P_BI_TCXO, 1, 0, 0), 1918c2ecf20Sopenharmony_ci { } 1928c2ecf20Sopenharmony_ci}; 1938c2ecf20Sopenharmony_ci 1948c2ecf20Sopenharmony_cistatic struct clk_rcg2 gcc_cpuss_ahb_clk_src = { 1958c2ecf20Sopenharmony_ci .cmd_rcgr = 0x48010, 1968c2ecf20Sopenharmony_ci .mnd_width = 0, 1978c2ecf20Sopenharmony_ci .hid_width = 5, 1988c2ecf20Sopenharmony_ci .parent_map = gcc_parent_map_0, 1998c2ecf20Sopenharmony_ci .freq_tbl = ftbl_gcc_cpuss_ahb_clk_src, 2008c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 2018c2ecf20Sopenharmony_ci .name = "gcc_cpuss_ahb_clk_src", 2028c2ecf20Sopenharmony_ci .parent_data = gcc_parent_data_0_ao, 2038c2ecf20Sopenharmony_ci .num_parents = ARRAY_SIZE(gcc_parent_data_0_ao), 2048c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 2058c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 2068c2ecf20Sopenharmony_ci }, 2078c2ecf20Sopenharmony_ci}; 2088c2ecf20Sopenharmony_ci 2098c2ecf20Sopenharmony_cistatic const struct freq_tbl ftbl_gcc_gp1_clk_src[] = { 2108c2ecf20Sopenharmony_ci F(19200000, P_BI_TCXO, 1, 0, 0), 2118c2ecf20Sopenharmony_ci F(25000000, P_GPLL0_OUT_EVEN, 12, 0, 0), 2128c2ecf20Sopenharmony_ci F(50000000, P_GPLL0_OUT_EVEN, 6, 0, 0), 2138c2ecf20Sopenharmony_ci F(100000000, P_GPLL0_OUT_MAIN, 6, 0, 0), 2148c2ecf20Sopenharmony_ci F(200000000, P_GPLL0_OUT_MAIN, 3, 0, 0), 2158c2ecf20Sopenharmony_ci { } 2168c2ecf20Sopenharmony_ci}; 2178c2ecf20Sopenharmony_ci 2188c2ecf20Sopenharmony_cistatic struct clk_rcg2 gcc_gp1_clk_src = { 2198c2ecf20Sopenharmony_ci .cmd_rcgr = 0x64004, 2208c2ecf20Sopenharmony_ci .mnd_width = 8, 2218c2ecf20Sopenharmony_ci .hid_width = 5, 2228c2ecf20Sopenharmony_ci .parent_map = gcc_parent_map_1, 2238c2ecf20Sopenharmony_ci .freq_tbl = ftbl_gcc_gp1_clk_src, 2248c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 2258c2ecf20Sopenharmony_ci .name = "gcc_gp1_clk_src", 2268c2ecf20Sopenharmony_ci .parent_data = gcc_parent_data_1, 2278c2ecf20Sopenharmony_ci .num_parents = ARRAY_SIZE(gcc_parent_data_1), 2288c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 2298c2ecf20Sopenharmony_ci }, 2308c2ecf20Sopenharmony_ci}; 2318c2ecf20Sopenharmony_ci 2328c2ecf20Sopenharmony_cistatic struct clk_rcg2 gcc_gp2_clk_src = { 2338c2ecf20Sopenharmony_ci .cmd_rcgr = 0x65004, 2348c2ecf20Sopenharmony_ci .mnd_width = 8, 2358c2ecf20Sopenharmony_ci .hid_width = 5, 2368c2ecf20Sopenharmony_ci .parent_map = gcc_parent_map_1, 2378c2ecf20Sopenharmony_ci .freq_tbl = ftbl_gcc_gp1_clk_src, 2388c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 2398c2ecf20Sopenharmony_ci .name = "gcc_gp2_clk_src", 2408c2ecf20Sopenharmony_ci .parent_data = gcc_parent_data_1, 2418c2ecf20Sopenharmony_ci .num_parents = ARRAY_SIZE(gcc_parent_data_1), 2428c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 2438c2ecf20Sopenharmony_ci }, 2448c2ecf20Sopenharmony_ci}; 2458c2ecf20Sopenharmony_ci 2468c2ecf20Sopenharmony_cistatic struct clk_rcg2 gcc_gp3_clk_src = { 2478c2ecf20Sopenharmony_ci .cmd_rcgr = 0x66004, 2488c2ecf20Sopenharmony_ci .mnd_width = 8, 2498c2ecf20Sopenharmony_ci .hid_width = 5, 2508c2ecf20Sopenharmony_ci .parent_map = gcc_parent_map_1, 2518c2ecf20Sopenharmony_ci .freq_tbl = ftbl_gcc_gp1_clk_src, 2528c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 2538c2ecf20Sopenharmony_ci .name = "gcc_gp3_clk_src", 2548c2ecf20Sopenharmony_ci .parent_data = gcc_parent_data_1, 2558c2ecf20Sopenharmony_ci .num_parents = ARRAY_SIZE(gcc_parent_data_1), 2568c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 2578c2ecf20Sopenharmony_ci }, 2588c2ecf20Sopenharmony_ci}; 2598c2ecf20Sopenharmony_ci 2608c2ecf20Sopenharmony_cistatic const struct freq_tbl ftbl_gcc_pcie_0_aux_clk_src[] = { 2618c2ecf20Sopenharmony_ci F(9600000, P_BI_TCXO, 2, 0, 0), 2628c2ecf20Sopenharmony_ci F(19200000, P_BI_TCXO, 1, 0, 0), 2638c2ecf20Sopenharmony_ci { } 2648c2ecf20Sopenharmony_ci}; 2658c2ecf20Sopenharmony_ci 2668c2ecf20Sopenharmony_cistatic struct clk_rcg2 gcc_pcie_0_aux_clk_src = { 2678c2ecf20Sopenharmony_ci .cmd_rcgr = 0x6b038, 2688c2ecf20Sopenharmony_ci .mnd_width = 16, 2698c2ecf20Sopenharmony_ci .hid_width = 5, 2708c2ecf20Sopenharmony_ci .parent_map = gcc_parent_map_2, 2718c2ecf20Sopenharmony_ci .freq_tbl = ftbl_gcc_pcie_0_aux_clk_src, 2728c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 2738c2ecf20Sopenharmony_ci .name = "gcc_pcie_0_aux_clk_src", 2748c2ecf20Sopenharmony_ci .parent_data = gcc_parent_data_2, 2758c2ecf20Sopenharmony_ci .num_parents = ARRAY_SIZE(gcc_parent_data_2), 2768c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 2778c2ecf20Sopenharmony_ci }, 2788c2ecf20Sopenharmony_ci}; 2798c2ecf20Sopenharmony_ci 2808c2ecf20Sopenharmony_cistatic struct clk_rcg2 gcc_pcie_1_aux_clk_src = { 2818c2ecf20Sopenharmony_ci .cmd_rcgr = 0x8d038, 2828c2ecf20Sopenharmony_ci .mnd_width = 16, 2838c2ecf20Sopenharmony_ci .hid_width = 5, 2848c2ecf20Sopenharmony_ci .parent_map = gcc_parent_map_2, 2858c2ecf20Sopenharmony_ci .freq_tbl = ftbl_gcc_pcie_0_aux_clk_src, 2868c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 2878c2ecf20Sopenharmony_ci .name = "gcc_pcie_1_aux_clk_src", 2888c2ecf20Sopenharmony_ci .parent_data = gcc_parent_data_2, 2898c2ecf20Sopenharmony_ci .num_parents = ARRAY_SIZE(gcc_parent_data_2), 2908c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 2918c2ecf20Sopenharmony_ci }, 2928c2ecf20Sopenharmony_ci}; 2938c2ecf20Sopenharmony_ci 2948c2ecf20Sopenharmony_cistatic struct clk_rcg2 gcc_pcie_2_aux_clk_src = { 2958c2ecf20Sopenharmony_ci .cmd_rcgr = 0x6038, 2968c2ecf20Sopenharmony_ci .mnd_width = 16, 2978c2ecf20Sopenharmony_ci .hid_width = 5, 2988c2ecf20Sopenharmony_ci .parent_map = gcc_parent_map_2, 2998c2ecf20Sopenharmony_ci .freq_tbl = ftbl_gcc_pcie_0_aux_clk_src, 3008c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 3018c2ecf20Sopenharmony_ci .name = "gcc_pcie_2_aux_clk_src", 3028c2ecf20Sopenharmony_ci .parent_data = gcc_parent_data_2, 3038c2ecf20Sopenharmony_ci .num_parents = ARRAY_SIZE(gcc_parent_data_2), 3048c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 3058c2ecf20Sopenharmony_ci }, 3068c2ecf20Sopenharmony_ci}; 3078c2ecf20Sopenharmony_ci 3088c2ecf20Sopenharmony_cistatic const struct freq_tbl ftbl_gcc_pcie_phy_refgen_clk_src[] = { 3098c2ecf20Sopenharmony_ci F(19200000, P_BI_TCXO, 1, 0, 0), 3108c2ecf20Sopenharmony_ci F(100000000, P_GPLL0_OUT_MAIN, 6, 0, 0), 3118c2ecf20Sopenharmony_ci { } 3128c2ecf20Sopenharmony_ci}; 3138c2ecf20Sopenharmony_ci 3148c2ecf20Sopenharmony_cistatic struct clk_rcg2 gcc_pcie_phy_refgen_clk_src = { 3158c2ecf20Sopenharmony_ci .cmd_rcgr = 0x6f014, 3168c2ecf20Sopenharmony_ci .mnd_width = 0, 3178c2ecf20Sopenharmony_ci .hid_width = 5, 3188c2ecf20Sopenharmony_ci .parent_map = gcc_parent_map_0, 3198c2ecf20Sopenharmony_ci .freq_tbl = ftbl_gcc_pcie_phy_refgen_clk_src, 3208c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 3218c2ecf20Sopenharmony_ci .name = "gcc_pcie_phy_refgen_clk_src", 3228c2ecf20Sopenharmony_ci .parent_data = gcc_parent_data_0_ao, 3238c2ecf20Sopenharmony_ci .num_parents = ARRAY_SIZE(gcc_parent_data_0_ao), 3248c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 3258c2ecf20Sopenharmony_ci }, 3268c2ecf20Sopenharmony_ci}; 3278c2ecf20Sopenharmony_ci 3288c2ecf20Sopenharmony_cistatic const struct freq_tbl ftbl_gcc_pdm2_clk_src[] = { 3298c2ecf20Sopenharmony_ci F(9600000, P_BI_TCXO, 2, 0, 0), 3308c2ecf20Sopenharmony_ci F(19200000, P_BI_TCXO, 1, 0, 0), 3318c2ecf20Sopenharmony_ci F(60000000, P_GPLL0_OUT_MAIN, 10, 0, 0), 3328c2ecf20Sopenharmony_ci { } 3338c2ecf20Sopenharmony_ci}; 3348c2ecf20Sopenharmony_ci 3358c2ecf20Sopenharmony_cistatic struct clk_rcg2 gcc_pdm2_clk_src = { 3368c2ecf20Sopenharmony_ci .cmd_rcgr = 0x33010, 3378c2ecf20Sopenharmony_ci .mnd_width = 0, 3388c2ecf20Sopenharmony_ci .hid_width = 5, 3398c2ecf20Sopenharmony_ci .parent_map = gcc_parent_map_0, 3408c2ecf20Sopenharmony_ci .freq_tbl = ftbl_gcc_pdm2_clk_src, 3418c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 3428c2ecf20Sopenharmony_ci .name = "gcc_pdm2_clk_src", 3438c2ecf20Sopenharmony_ci .parent_data = gcc_parent_data_0, 3448c2ecf20Sopenharmony_ci .num_parents = ARRAY_SIZE(gcc_parent_data_0), 3458c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 3468c2ecf20Sopenharmony_ci }, 3478c2ecf20Sopenharmony_ci}; 3488c2ecf20Sopenharmony_ci 3498c2ecf20Sopenharmony_cistatic const struct freq_tbl ftbl_gcc_qupv3_wrap0_s0_clk_src[] = { 3508c2ecf20Sopenharmony_ci F(7372800, P_GPLL0_OUT_EVEN, 1, 384, 15625), 3518c2ecf20Sopenharmony_ci F(14745600, P_GPLL0_OUT_EVEN, 1, 768, 15625), 3528c2ecf20Sopenharmony_ci F(19200000, P_BI_TCXO, 1, 0, 0), 3538c2ecf20Sopenharmony_ci F(29491200, P_GPLL0_OUT_EVEN, 1, 1536, 15625), 3548c2ecf20Sopenharmony_ci F(32000000, P_GPLL0_OUT_EVEN, 1, 8, 75), 3558c2ecf20Sopenharmony_ci F(48000000, P_GPLL0_OUT_EVEN, 1, 4, 25), 3568c2ecf20Sopenharmony_ci F(50000000, P_GPLL0_OUT_EVEN, 6, 0, 0), 3578c2ecf20Sopenharmony_ci F(64000000, P_GPLL0_OUT_EVEN, 1, 16, 75), 3588c2ecf20Sopenharmony_ci F(75000000, P_GPLL0_OUT_EVEN, 4, 0, 0), 3598c2ecf20Sopenharmony_ci F(80000000, P_GPLL0_OUT_EVEN, 1, 4, 15), 3608c2ecf20Sopenharmony_ci F(96000000, P_GPLL0_OUT_EVEN, 1, 8, 25), 3618c2ecf20Sopenharmony_ci F(100000000, P_GPLL0_OUT_MAIN, 6, 0, 0), 3628c2ecf20Sopenharmony_ci F(102400000, P_GPLL0_OUT_EVEN, 1, 128, 375), 3638c2ecf20Sopenharmony_ci F(112000000, P_GPLL0_OUT_EVEN, 1, 28, 75), 3648c2ecf20Sopenharmony_ci F(117964800, P_GPLL0_OUT_EVEN, 1, 6144, 15625), 3658c2ecf20Sopenharmony_ci F(120000000, P_GPLL0_OUT_EVEN, 2.5, 0, 0), 3668c2ecf20Sopenharmony_ci { } 3678c2ecf20Sopenharmony_ci}; 3688c2ecf20Sopenharmony_ci 3698c2ecf20Sopenharmony_cistatic struct clk_init_data gcc_qupv3_wrap0_s0_clk_src_init = { 3708c2ecf20Sopenharmony_ci .name = "gcc_qupv3_wrap0_s0_clk_src", 3718c2ecf20Sopenharmony_ci .parent_data = gcc_parent_data_0, 3728c2ecf20Sopenharmony_ci .num_parents = ARRAY_SIZE(gcc_parent_data_0), 3738c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 3748c2ecf20Sopenharmony_ci}; 3758c2ecf20Sopenharmony_ci 3768c2ecf20Sopenharmony_cistatic struct clk_rcg2 gcc_qupv3_wrap0_s0_clk_src = { 3778c2ecf20Sopenharmony_ci .cmd_rcgr = 0x17010, 3788c2ecf20Sopenharmony_ci .mnd_width = 16, 3798c2ecf20Sopenharmony_ci .hid_width = 5, 3808c2ecf20Sopenharmony_ci .parent_map = gcc_parent_map_0, 3818c2ecf20Sopenharmony_ci .freq_tbl = ftbl_gcc_qupv3_wrap0_s0_clk_src, 3828c2ecf20Sopenharmony_ci .clkr.hw.init = &gcc_qupv3_wrap0_s0_clk_src_init, 3838c2ecf20Sopenharmony_ci}; 3848c2ecf20Sopenharmony_ci 3858c2ecf20Sopenharmony_cistatic struct clk_init_data gcc_qupv3_wrap0_s1_clk_src_init = { 3868c2ecf20Sopenharmony_ci .name = "gcc_qupv3_wrap0_s1_clk_src", 3878c2ecf20Sopenharmony_ci .parent_data = gcc_parent_data_0, 3888c2ecf20Sopenharmony_ci .num_parents = ARRAY_SIZE(gcc_parent_data_0), 3898c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 3908c2ecf20Sopenharmony_ci}; 3918c2ecf20Sopenharmony_ci 3928c2ecf20Sopenharmony_cistatic struct clk_rcg2 gcc_qupv3_wrap0_s1_clk_src = { 3938c2ecf20Sopenharmony_ci .cmd_rcgr = 0x17140, 3948c2ecf20Sopenharmony_ci .mnd_width = 16, 3958c2ecf20Sopenharmony_ci .hid_width = 5, 3968c2ecf20Sopenharmony_ci .parent_map = gcc_parent_map_0, 3978c2ecf20Sopenharmony_ci .freq_tbl = ftbl_gcc_qupv3_wrap0_s0_clk_src, 3988c2ecf20Sopenharmony_ci .clkr.hw.init = &gcc_qupv3_wrap0_s1_clk_src_init, 3998c2ecf20Sopenharmony_ci}; 4008c2ecf20Sopenharmony_ci 4018c2ecf20Sopenharmony_cistatic const struct freq_tbl ftbl_gcc_qupv3_wrap0_s2_clk_src[] = { 4028c2ecf20Sopenharmony_ci F(7372800, P_GPLL0_OUT_EVEN, 1, 384, 15625), 4038c2ecf20Sopenharmony_ci F(14745600, P_GPLL0_OUT_EVEN, 1, 768, 15625), 4048c2ecf20Sopenharmony_ci F(19200000, P_BI_TCXO, 1, 0, 0), 4058c2ecf20Sopenharmony_ci F(29491200, P_GPLL0_OUT_EVEN, 1, 1536, 15625), 4068c2ecf20Sopenharmony_ci F(32000000, P_GPLL0_OUT_EVEN, 1, 8, 75), 4078c2ecf20Sopenharmony_ci F(48000000, P_GPLL0_OUT_EVEN, 1, 4, 25), 4088c2ecf20Sopenharmony_ci F(50000000, P_GPLL0_OUT_EVEN, 6, 0, 0), 4098c2ecf20Sopenharmony_ci F(64000000, P_GPLL0_OUT_EVEN, 1, 16, 75), 4108c2ecf20Sopenharmony_ci F(75000000, P_GPLL0_OUT_EVEN, 4, 0, 0), 4118c2ecf20Sopenharmony_ci F(80000000, P_GPLL0_OUT_EVEN, 1, 4, 15), 4128c2ecf20Sopenharmony_ci F(96000000, P_GPLL0_OUT_EVEN, 1, 8, 25), 4138c2ecf20Sopenharmony_ci F(100000000, P_GPLL0_OUT_MAIN, 6, 0, 0), 4148c2ecf20Sopenharmony_ci { } 4158c2ecf20Sopenharmony_ci}; 4168c2ecf20Sopenharmony_ci 4178c2ecf20Sopenharmony_cistatic struct clk_init_data gcc_qupv3_wrap0_s2_clk_src_init = { 4188c2ecf20Sopenharmony_ci .name = "gcc_qupv3_wrap0_s2_clk_src", 4198c2ecf20Sopenharmony_ci .parent_data = gcc_parent_data_0, 4208c2ecf20Sopenharmony_ci .num_parents = ARRAY_SIZE(gcc_parent_data_0), 4218c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 4228c2ecf20Sopenharmony_ci}; 4238c2ecf20Sopenharmony_ci 4248c2ecf20Sopenharmony_cistatic struct clk_rcg2 gcc_qupv3_wrap0_s2_clk_src = { 4258c2ecf20Sopenharmony_ci .cmd_rcgr = 0x17270, 4268c2ecf20Sopenharmony_ci .mnd_width = 16, 4278c2ecf20Sopenharmony_ci .hid_width = 5, 4288c2ecf20Sopenharmony_ci .parent_map = gcc_parent_map_0, 4298c2ecf20Sopenharmony_ci .freq_tbl = ftbl_gcc_qupv3_wrap0_s2_clk_src, 4308c2ecf20Sopenharmony_ci .clkr.hw.init = &gcc_qupv3_wrap0_s2_clk_src_init, 4318c2ecf20Sopenharmony_ci}; 4328c2ecf20Sopenharmony_ci 4338c2ecf20Sopenharmony_cistatic struct clk_init_data gcc_qupv3_wrap0_s3_clk_src_init = { 4348c2ecf20Sopenharmony_ci .name = "gcc_qupv3_wrap0_s3_clk_src", 4358c2ecf20Sopenharmony_ci .parent_data = gcc_parent_data_0, 4368c2ecf20Sopenharmony_ci .num_parents = ARRAY_SIZE(gcc_parent_data_0), 4378c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 4388c2ecf20Sopenharmony_ci}; 4398c2ecf20Sopenharmony_ci 4408c2ecf20Sopenharmony_cistatic struct clk_rcg2 gcc_qupv3_wrap0_s3_clk_src = { 4418c2ecf20Sopenharmony_ci .cmd_rcgr = 0x173a0, 4428c2ecf20Sopenharmony_ci .mnd_width = 16, 4438c2ecf20Sopenharmony_ci .hid_width = 5, 4448c2ecf20Sopenharmony_ci .parent_map = gcc_parent_map_0, 4458c2ecf20Sopenharmony_ci .freq_tbl = ftbl_gcc_qupv3_wrap0_s2_clk_src, 4468c2ecf20Sopenharmony_ci .clkr.hw.init = &gcc_qupv3_wrap0_s3_clk_src_init, 4478c2ecf20Sopenharmony_ci}; 4488c2ecf20Sopenharmony_ci 4498c2ecf20Sopenharmony_cistatic struct clk_init_data gcc_qupv3_wrap0_s4_clk_src_init = { 4508c2ecf20Sopenharmony_ci .name = "gcc_qupv3_wrap0_s4_clk_src", 4518c2ecf20Sopenharmony_ci .parent_data = gcc_parent_data_0, 4528c2ecf20Sopenharmony_ci .num_parents = ARRAY_SIZE(gcc_parent_data_0), 4538c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 4548c2ecf20Sopenharmony_ci}; 4558c2ecf20Sopenharmony_ci 4568c2ecf20Sopenharmony_cistatic struct clk_rcg2 gcc_qupv3_wrap0_s4_clk_src = { 4578c2ecf20Sopenharmony_ci .cmd_rcgr = 0x174d0, 4588c2ecf20Sopenharmony_ci .mnd_width = 16, 4598c2ecf20Sopenharmony_ci .hid_width = 5, 4608c2ecf20Sopenharmony_ci .parent_map = gcc_parent_map_0, 4618c2ecf20Sopenharmony_ci .freq_tbl = ftbl_gcc_qupv3_wrap0_s2_clk_src, 4628c2ecf20Sopenharmony_ci .clkr.hw.init = &gcc_qupv3_wrap0_s4_clk_src_init, 4638c2ecf20Sopenharmony_ci}; 4648c2ecf20Sopenharmony_ci 4658c2ecf20Sopenharmony_cistatic struct clk_init_data gcc_qupv3_wrap0_s5_clk_src_init = { 4668c2ecf20Sopenharmony_ci .name = "gcc_qupv3_wrap0_s5_clk_src", 4678c2ecf20Sopenharmony_ci .parent_data = gcc_parent_data_0, 4688c2ecf20Sopenharmony_ci .num_parents = ARRAY_SIZE(gcc_parent_data_0), 4698c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 4708c2ecf20Sopenharmony_ci}; 4718c2ecf20Sopenharmony_ci 4728c2ecf20Sopenharmony_cistatic struct clk_rcg2 gcc_qupv3_wrap0_s5_clk_src = { 4738c2ecf20Sopenharmony_ci .cmd_rcgr = 0x17600, 4748c2ecf20Sopenharmony_ci .mnd_width = 16, 4758c2ecf20Sopenharmony_ci .hid_width = 5, 4768c2ecf20Sopenharmony_ci .parent_map = gcc_parent_map_0, 4778c2ecf20Sopenharmony_ci .freq_tbl = ftbl_gcc_qupv3_wrap0_s2_clk_src, 4788c2ecf20Sopenharmony_ci .clkr.hw.init = &gcc_qupv3_wrap0_s5_clk_src_init, 4798c2ecf20Sopenharmony_ci}; 4808c2ecf20Sopenharmony_ci 4818c2ecf20Sopenharmony_cistatic struct clk_init_data gcc_qupv3_wrap0_s6_clk_src_init = { 4828c2ecf20Sopenharmony_ci .name = "gcc_qupv3_wrap0_s6_clk_src", 4838c2ecf20Sopenharmony_ci .parent_data = gcc_parent_data_0, 4848c2ecf20Sopenharmony_ci .num_parents = ARRAY_SIZE(gcc_parent_data_0), 4858c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 4868c2ecf20Sopenharmony_ci}; 4878c2ecf20Sopenharmony_ci 4888c2ecf20Sopenharmony_cistatic struct clk_rcg2 gcc_qupv3_wrap0_s6_clk_src = { 4898c2ecf20Sopenharmony_ci .cmd_rcgr = 0x17730, 4908c2ecf20Sopenharmony_ci .mnd_width = 16, 4918c2ecf20Sopenharmony_ci .hid_width = 5, 4928c2ecf20Sopenharmony_ci .parent_map = gcc_parent_map_0, 4938c2ecf20Sopenharmony_ci .freq_tbl = ftbl_gcc_qupv3_wrap0_s2_clk_src, 4948c2ecf20Sopenharmony_ci .clkr.hw.init = &gcc_qupv3_wrap0_s6_clk_src_init, 4958c2ecf20Sopenharmony_ci}; 4968c2ecf20Sopenharmony_ci 4978c2ecf20Sopenharmony_cistatic struct clk_init_data gcc_qupv3_wrap0_s7_clk_src_init = { 4988c2ecf20Sopenharmony_ci .name = "gcc_qupv3_wrap0_s7_clk_src", 4998c2ecf20Sopenharmony_ci .parent_data = gcc_parent_data_0, 5008c2ecf20Sopenharmony_ci .num_parents = ARRAY_SIZE(gcc_parent_data_0), 5018c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 5028c2ecf20Sopenharmony_ci}; 5038c2ecf20Sopenharmony_ci 5048c2ecf20Sopenharmony_cistatic struct clk_rcg2 gcc_qupv3_wrap0_s7_clk_src = { 5058c2ecf20Sopenharmony_ci .cmd_rcgr = 0x17860, 5068c2ecf20Sopenharmony_ci .mnd_width = 16, 5078c2ecf20Sopenharmony_ci .hid_width = 5, 5088c2ecf20Sopenharmony_ci .parent_map = gcc_parent_map_0, 5098c2ecf20Sopenharmony_ci .freq_tbl = ftbl_gcc_qupv3_wrap0_s2_clk_src, 5108c2ecf20Sopenharmony_ci .clkr.hw.init = &gcc_qupv3_wrap0_s7_clk_src_init, 5118c2ecf20Sopenharmony_ci}; 5128c2ecf20Sopenharmony_ci 5138c2ecf20Sopenharmony_cistatic struct clk_init_data gcc_qupv3_wrap1_s0_clk_src_init = { 5148c2ecf20Sopenharmony_ci .name = "gcc_qupv3_wrap1_s0_clk_src", 5158c2ecf20Sopenharmony_ci .parent_data = gcc_parent_data_0, 5168c2ecf20Sopenharmony_ci .num_parents = ARRAY_SIZE(gcc_parent_data_0), 5178c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 5188c2ecf20Sopenharmony_ci}; 5198c2ecf20Sopenharmony_ci 5208c2ecf20Sopenharmony_cistatic struct clk_rcg2 gcc_qupv3_wrap1_s0_clk_src = { 5218c2ecf20Sopenharmony_ci .cmd_rcgr = 0x18010, 5228c2ecf20Sopenharmony_ci .mnd_width = 16, 5238c2ecf20Sopenharmony_ci .hid_width = 5, 5248c2ecf20Sopenharmony_ci .parent_map = gcc_parent_map_0, 5258c2ecf20Sopenharmony_ci .freq_tbl = ftbl_gcc_qupv3_wrap0_s0_clk_src, 5268c2ecf20Sopenharmony_ci .clkr.hw.init = &gcc_qupv3_wrap1_s0_clk_src_init, 5278c2ecf20Sopenharmony_ci}; 5288c2ecf20Sopenharmony_ci 5298c2ecf20Sopenharmony_cistatic struct clk_init_data gcc_qupv3_wrap1_s1_clk_src_init = { 5308c2ecf20Sopenharmony_ci .name = "gcc_qupv3_wrap1_s1_clk_src", 5318c2ecf20Sopenharmony_ci .parent_data = gcc_parent_data_0, 5328c2ecf20Sopenharmony_ci .num_parents = ARRAY_SIZE(gcc_parent_data_0), 5338c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 5348c2ecf20Sopenharmony_ci}; 5358c2ecf20Sopenharmony_ci 5368c2ecf20Sopenharmony_cistatic struct clk_rcg2 gcc_qupv3_wrap1_s1_clk_src = { 5378c2ecf20Sopenharmony_ci .cmd_rcgr = 0x18140, 5388c2ecf20Sopenharmony_ci .mnd_width = 16, 5398c2ecf20Sopenharmony_ci .hid_width = 5, 5408c2ecf20Sopenharmony_ci .parent_map = gcc_parent_map_0, 5418c2ecf20Sopenharmony_ci .freq_tbl = ftbl_gcc_qupv3_wrap0_s2_clk_src, 5428c2ecf20Sopenharmony_ci .clkr.hw.init = &gcc_qupv3_wrap1_s1_clk_src_init, 5438c2ecf20Sopenharmony_ci}; 5448c2ecf20Sopenharmony_ci 5458c2ecf20Sopenharmony_cistatic struct clk_init_data gcc_qupv3_wrap1_s2_clk_src_init = { 5468c2ecf20Sopenharmony_ci .name = "gcc_qupv3_wrap1_s2_clk_src", 5478c2ecf20Sopenharmony_ci .parent_data = gcc_parent_data_0, 5488c2ecf20Sopenharmony_ci .num_parents = ARRAY_SIZE(gcc_parent_data_0), 5498c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 5508c2ecf20Sopenharmony_ci}; 5518c2ecf20Sopenharmony_ci 5528c2ecf20Sopenharmony_cistatic struct clk_rcg2 gcc_qupv3_wrap1_s2_clk_src = { 5538c2ecf20Sopenharmony_ci .cmd_rcgr = 0x18270, 5548c2ecf20Sopenharmony_ci .mnd_width = 16, 5558c2ecf20Sopenharmony_ci .hid_width = 5, 5568c2ecf20Sopenharmony_ci .parent_map = gcc_parent_map_0, 5578c2ecf20Sopenharmony_ci .freq_tbl = ftbl_gcc_qupv3_wrap0_s2_clk_src, 5588c2ecf20Sopenharmony_ci .clkr.hw.init = &gcc_qupv3_wrap1_s2_clk_src_init, 5598c2ecf20Sopenharmony_ci}; 5608c2ecf20Sopenharmony_ci 5618c2ecf20Sopenharmony_cistatic struct clk_init_data gcc_qupv3_wrap1_s3_clk_src_init = { 5628c2ecf20Sopenharmony_ci .name = "gcc_qupv3_wrap1_s3_clk_src", 5638c2ecf20Sopenharmony_ci .parent_data = gcc_parent_data_0, 5648c2ecf20Sopenharmony_ci .num_parents = ARRAY_SIZE(gcc_parent_data_0), 5658c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 5668c2ecf20Sopenharmony_ci}; 5678c2ecf20Sopenharmony_ci 5688c2ecf20Sopenharmony_cistatic struct clk_rcg2 gcc_qupv3_wrap1_s3_clk_src = { 5698c2ecf20Sopenharmony_ci .cmd_rcgr = 0x183a0, 5708c2ecf20Sopenharmony_ci .mnd_width = 16, 5718c2ecf20Sopenharmony_ci .hid_width = 5, 5728c2ecf20Sopenharmony_ci .parent_map = gcc_parent_map_0, 5738c2ecf20Sopenharmony_ci .freq_tbl = ftbl_gcc_qupv3_wrap0_s2_clk_src, 5748c2ecf20Sopenharmony_ci .clkr.hw.init = &gcc_qupv3_wrap1_s3_clk_src_init, 5758c2ecf20Sopenharmony_ci}; 5768c2ecf20Sopenharmony_ci 5778c2ecf20Sopenharmony_cistatic struct clk_init_data gcc_qupv3_wrap1_s4_clk_src_init = { 5788c2ecf20Sopenharmony_ci .name = "gcc_qupv3_wrap1_s4_clk_src", 5798c2ecf20Sopenharmony_ci .parent_data = gcc_parent_data_0, 5808c2ecf20Sopenharmony_ci .num_parents = ARRAY_SIZE(gcc_parent_data_0), 5818c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 5828c2ecf20Sopenharmony_ci}; 5838c2ecf20Sopenharmony_ci 5848c2ecf20Sopenharmony_cistatic struct clk_rcg2 gcc_qupv3_wrap1_s4_clk_src = { 5858c2ecf20Sopenharmony_ci .cmd_rcgr = 0x184d0, 5868c2ecf20Sopenharmony_ci .mnd_width = 16, 5878c2ecf20Sopenharmony_ci .hid_width = 5, 5888c2ecf20Sopenharmony_ci .parent_map = gcc_parent_map_0, 5898c2ecf20Sopenharmony_ci .freq_tbl = ftbl_gcc_qupv3_wrap0_s2_clk_src, 5908c2ecf20Sopenharmony_ci .clkr.hw.init = &gcc_qupv3_wrap1_s4_clk_src_init, 5918c2ecf20Sopenharmony_ci}; 5928c2ecf20Sopenharmony_ci 5938c2ecf20Sopenharmony_cistatic struct clk_init_data gcc_qupv3_wrap1_s5_clk_src_init = { 5948c2ecf20Sopenharmony_ci .name = "gcc_qupv3_wrap1_s5_clk_src", 5958c2ecf20Sopenharmony_ci .parent_data = gcc_parent_data_0, 5968c2ecf20Sopenharmony_ci .num_parents = ARRAY_SIZE(gcc_parent_data_0), 5978c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 5988c2ecf20Sopenharmony_ci}; 5998c2ecf20Sopenharmony_ci 6008c2ecf20Sopenharmony_cistatic struct clk_rcg2 gcc_qupv3_wrap1_s5_clk_src = { 6018c2ecf20Sopenharmony_ci .cmd_rcgr = 0x18600, 6028c2ecf20Sopenharmony_ci .mnd_width = 16, 6038c2ecf20Sopenharmony_ci .hid_width = 5, 6048c2ecf20Sopenharmony_ci .parent_map = gcc_parent_map_0, 6058c2ecf20Sopenharmony_ci .freq_tbl = ftbl_gcc_qupv3_wrap0_s2_clk_src, 6068c2ecf20Sopenharmony_ci .clkr.hw.init = &gcc_qupv3_wrap1_s5_clk_src_init, 6078c2ecf20Sopenharmony_ci}; 6088c2ecf20Sopenharmony_ci 6098c2ecf20Sopenharmony_cistatic struct clk_init_data gcc_qupv3_wrap2_s0_clk_src_init = { 6108c2ecf20Sopenharmony_ci .name = "gcc_qupv3_wrap2_s0_clk_src", 6118c2ecf20Sopenharmony_ci .parent_data = gcc_parent_data_0, 6128c2ecf20Sopenharmony_ci .num_parents = ARRAY_SIZE(gcc_parent_data_0), 6138c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 6148c2ecf20Sopenharmony_ci}; 6158c2ecf20Sopenharmony_ci 6168c2ecf20Sopenharmony_cistatic struct clk_rcg2 gcc_qupv3_wrap2_s0_clk_src = { 6178c2ecf20Sopenharmony_ci .cmd_rcgr = 0x1e010, 6188c2ecf20Sopenharmony_ci .mnd_width = 16, 6198c2ecf20Sopenharmony_ci .hid_width = 5, 6208c2ecf20Sopenharmony_ci .parent_map = gcc_parent_map_0, 6218c2ecf20Sopenharmony_ci .freq_tbl = ftbl_gcc_qupv3_wrap0_s0_clk_src, 6228c2ecf20Sopenharmony_ci .clkr.hw.init = &gcc_qupv3_wrap2_s0_clk_src_init, 6238c2ecf20Sopenharmony_ci}; 6248c2ecf20Sopenharmony_ci 6258c2ecf20Sopenharmony_cistatic struct clk_init_data gcc_qupv3_wrap2_s1_clk_src_init = { 6268c2ecf20Sopenharmony_ci .name = "gcc_qupv3_wrap2_s1_clk_src", 6278c2ecf20Sopenharmony_ci .parent_data = gcc_parent_data_0, 6288c2ecf20Sopenharmony_ci .num_parents = ARRAY_SIZE(gcc_parent_data_0), 6298c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 6308c2ecf20Sopenharmony_ci}; 6318c2ecf20Sopenharmony_ci 6328c2ecf20Sopenharmony_cistatic struct clk_rcg2 gcc_qupv3_wrap2_s1_clk_src = { 6338c2ecf20Sopenharmony_ci .cmd_rcgr = 0x1e140, 6348c2ecf20Sopenharmony_ci .mnd_width = 16, 6358c2ecf20Sopenharmony_ci .hid_width = 5, 6368c2ecf20Sopenharmony_ci .parent_map = gcc_parent_map_0, 6378c2ecf20Sopenharmony_ci .freq_tbl = ftbl_gcc_qupv3_wrap0_s2_clk_src, 6388c2ecf20Sopenharmony_ci .clkr.hw.init = &gcc_qupv3_wrap2_s1_clk_src_init, 6398c2ecf20Sopenharmony_ci}; 6408c2ecf20Sopenharmony_ci 6418c2ecf20Sopenharmony_cistatic struct clk_init_data gcc_qupv3_wrap2_s2_clk_src_init = { 6428c2ecf20Sopenharmony_ci .name = "gcc_qupv3_wrap2_s2_clk_src", 6438c2ecf20Sopenharmony_ci .parent_data = gcc_parent_data_0, 6448c2ecf20Sopenharmony_ci .num_parents = ARRAY_SIZE(gcc_parent_data_0), 6458c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 6468c2ecf20Sopenharmony_ci}; 6478c2ecf20Sopenharmony_ci 6488c2ecf20Sopenharmony_cistatic struct clk_rcg2 gcc_qupv3_wrap2_s2_clk_src = { 6498c2ecf20Sopenharmony_ci .cmd_rcgr = 0x1e270, 6508c2ecf20Sopenharmony_ci .mnd_width = 16, 6518c2ecf20Sopenharmony_ci .hid_width = 5, 6528c2ecf20Sopenharmony_ci .parent_map = gcc_parent_map_0, 6538c2ecf20Sopenharmony_ci .freq_tbl = ftbl_gcc_qupv3_wrap0_s2_clk_src, 6548c2ecf20Sopenharmony_ci .clkr.hw.init = &gcc_qupv3_wrap2_s2_clk_src_init, 6558c2ecf20Sopenharmony_ci}; 6568c2ecf20Sopenharmony_ci 6578c2ecf20Sopenharmony_cistatic struct clk_init_data gcc_qupv3_wrap2_s3_clk_src_init = { 6588c2ecf20Sopenharmony_ci .name = "gcc_qupv3_wrap2_s3_clk_src", 6598c2ecf20Sopenharmony_ci .parent_data = gcc_parent_data_0, 6608c2ecf20Sopenharmony_ci .num_parents = ARRAY_SIZE(gcc_parent_data_0), 6618c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 6628c2ecf20Sopenharmony_ci}; 6638c2ecf20Sopenharmony_ci 6648c2ecf20Sopenharmony_cistatic struct clk_rcg2 gcc_qupv3_wrap2_s3_clk_src = { 6658c2ecf20Sopenharmony_ci .cmd_rcgr = 0x1e3a0, 6668c2ecf20Sopenharmony_ci .mnd_width = 16, 6678c2ecf20Sopenharmony_ci .hid_width = 5, 6688c2ecf20Sopenharmony_ci .parent_map = gcc_parent_map_0, 6698c2ecf20Sopenharmony_ci .freq_tbl = ftbl_gcc_qupv3_wrap0_s2_clk_src, 6708c2ecf20Sopenharmony_ci .clkr.hw.init = &gcc_qupv3_wrap2_s3_clk_src_init, 6718c2ecf20Sopenharmony_ci}; 6728c2ecf20Sopenharmony_ci 6738c2ecf20Sopenharmony_cistatic struct clk_init_data gcc_qupv3_wrap2_s4_clk_src_init = { 6748c2ecf20Sopenharmony_ci .name = "gcc_qupv3_wrap2_s4_clk_src", 6758c2ecf20Sopenharmony_ci .parent_data = gcc_parent_data_0, 6768c2ecf20Sopenharmony_ci .num_parents = ARRAY_SIZE(gcc_parent_data_0), 6778c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 6788c2ecf20Sopenharmony_ci}; 6798c2ecf20Sopenharmony_ci 6808c2ecf20Sopenharmony_cistatic struct clk_rcg2 gcc_qupv3_wrap2_s4_clk_src = { 6818c2ecf20Sopenharmony_ci .cmd_rcgr = 0x1e4d0, 6828c2ecf20Sopenharmony_ci .mnd_width = 16, 6838c2ecf20Sopenharmony_ci .hid_width = 5, 6848c2ecf20Sopenharmony_ci .parent_map = gcc_parent_map_0, 6858c2ecf20Sopenharmony_ci .freq_tbl = ftbl_gcc_qupv3_wrap0_s2_clk_src, 6868c2ecf20Sopenharmony_ci .clkr.hw.init = &gcc_qupv3_wrap2_s4_clk_src_init, 6878c2ecf20Sopenharmony_ci}; 6888c2ecf20Sopenharmony_ci 6898c2ecf20Sopenharmony_cistatic struct clk_init_data gcc_qupv3_wrap2_s5_clk_src_init = { 6908c2ecf20Sopenharmony_ci .name = "gcc_qupv3_wrap2_s5_clk_src", 6918c2ecf20Sopenharmony_ci .parent_data = gcc_parent_data_0, 6928c2ecf20Sopenharmony_ci .num_parents = ARRAY_SIZE(gcc_parent_data_0), 6938c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 6948c2ecf20Sopenharmony_ci}; 6958c2ecf20Sopenharmony_ci 6968c2ecf20Sopenharmony_cistatic struct clk_rcg2 gcc_qupv3_wrap2_s5_clk_src = { 6978c2ecf20Sopenharmony_ci .cmd_rcgr = 0x1e600, 6988c2ecf20Sopenharmony_ci .mnd_width = 16, 6998c2ecf20Sopenharmony_ci .hid_width = 5, 7008c2ecf20Sopenharmony_ci .parent_map = gcc_parent_map_0, 7018c2ecf20Sopenharmony_ci .freq_tbl = ftbl_gcc_qupv3_wrap0_s2_clk_src, 7028c2ecf20Sopenharmony_ci .clkr.hw.init = &gcc_qupv3_wrap2_s5_clk_src_init, 7038c2ecf20Sopenharmony_ci}; 7048c2ecf20Sopenharmony_ci 7058c2ecf20Sopenharmony_cistatic const struct freq_tbl ftbl_gcc_sdcc2_apps_clk_src[] = { 7068c2ecf20Sopenharmony_ci F(400000, P_BI_TCXO, 12, 1, 4), 7078c2ecf20Sopenharmony_ci F(19200000, P_BI_TCXO, 1, 0, 0), 7088c2ecf20Sopenharmony_ci F(25000000, P_GPLL0_OUT_EVEN, 12, 0, 0), 7098c2ecf20Sopenharmony_ci F(50000000, P_GPLL0_OUT_EVEN, 6, 0, 0), 7108c2ecf20Sopenharmony_ci F(100000000, P_GPLL0_OUT_MAIN, 6, 0, 0), 7118c2ecf20Sopenharmony_ci F(202000000, P_GPLL9_OUT_MAIN, 4, 0, 0), 7128c2ecf20Sopenharmony_ci { } 7138c2ecf20Sopenharmony_ci}; 7148c2ecf20Sopenharmony_ci 7158c2ecf20Sopenharmony_cistatic struct clk_rcg2 gcc_sdcc2_apps_clk_src = { 7168c2ecf20Sopenharmony_ci .cmd_rcgr = 0x1400c, 7178c2ecf20Sopenharmony_ci .mnd_width = 8, 7188c2ecf20Sopenharmony_ci .hid_width = 5, 7198c2ecf20Sopenharmony_ci .parent_map = gcc_parent_map_4, 7208c2ecf20Sopenharmony_ci .freq_tbl = ftbl_gcc_sdcc2_apps_clk_src, 7218c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 7228c2ecf20Sopenharmony_ci .name = "gcc_sdcc2_apps_clk_src", 7238c2ecf20Sopenharmony_ci .parent_data = gcc_parent_data_4, 7248c2ecf20Sopenharmony_ci .num_parents = ARRAY_SIZE(gcc_parent_data_4), 7258c2ecf20Sopenharmony_ci .flags = CLK_OPS_PARENT_ENABLE, 7268c2ecf20Sopenharmony_ci .ops = &clk_rcg2_floor_ops, 7278c2ecf20Sopenharmony_ci }, 7288c2ecf20Sopenharmony_ci}; 7298c2ecf20Sopenharmony_ci 7308c2ecf20Sopenharmony_cistatic const struct freq_tbl ftbl_gcc_sdcc4_apps_clk_src[] = { 7318c2ecf20Sopenharmony_ci F(400000, P_BI_TCXO, 12, 1, 4), 7328c2ecf20Sopenharmony_ci F(19200000, P_BI_TCXO, 1, 0, 0), 7338c2ecf20Sopenharmony_ci F(25000000, P_GPLL0_OUT_EVEN, 12, 0, 0), 7348c2ecf20Sopenharmony_ci F(50000000, P_GPLL0_OUT_EVEN, 6, 0, 0), 7358c2ecf20Sopenharmony_ci F(100000000, P_GPLL0_OUT_MAIN, 6, 0, 0), 7368c2ecf20Sopenharmony_ci { } 7378c2ecf20Sopenharmony_ci}; 7388c2ecf20Sopenharmony_ci 7398c2ecf20Sopenharmony_cistatic struct clk_rcg2 gcc_sdcc4_apps_clk_src = { 7408c2ecf20Sopenharmony_ci .cmd_rcgr = 0x1600c, 7418c2ecf20Sopenharmony_ci .mnd_width = 8, 7428c2ecf20Sopenharmony_ci .hid_width = 5, 7438c2ecf20Sopenharmony_ci .parent_map = gcc_parent_map_0, 7448c2ecf20Sopenharmony_ci .freq_tbl = ftbl_gcc_sdcc4_apps_clk_src, 7458c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 7468c2ecf20Sopenharmony_ci .name = "gcc_sdcc4_apps_clk_src", 7478c2ecf20Sopenharmony_ci .parent_data = gcc_parent_data_0, 7488c2ecf20Sopenharmony_ci .num_parents = ARRAY_SIZE(gcc_parent_data_0), 7498c2ecf20Sopenharmony_ci .ops = &clk_rcg2_floor_ops, 7508c2ecf20Sopenharmony_ci }, 7518c2ecf20Sopenharmony_ci}; 7528c2ecf20Sopenharmony_ci 7538c2ecf20Sopenharmony_cistatic const struct freq_tbl ftbl_gcc_tsif_ref_clk_src[] = { 7548c2ecf20Sopenharmony_ci F(105495, P_BI_TCXO, 2, 1, 91), 7558c2ecf20Sopenharmony_ci { } 7568c2ecf20Sopenharmony_ci}; 7578c2ecf20Sopenharmony_ci 7588c2ecf20Sopenharmony_cistatic struct clk_rcg2 gcc_tsif_ref_clk_src = { 7598c2ecf20Sopenharmony_ci .cmd_rcgr = 0x36010, 7608c2ecf20Sopenharmony_ci .mnd_width = 8, 7618c2ecf20Sopenharmony_ci .hid_width = 5, 7628c2ecf20Sopenharmony_ci .parent_map = gcc_parent_map_5, 7638c2ecf20Sopenharmony_ci .freq_tbl = ftbl_gcc_tsif_ref_clk_src, 7648c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 7658c2ecf20Sopenharmony_ci .name = "gcc_tsif_ref_clk_src", 7668c2ecf20Sopenharmony_ci .parent_data = gcc_parent_data_5, 7678c2ecf20Sopenharmony_ci .num_parents = ARRAY_SIZE(gcc_parent_data_5), 7688c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 7698c2ecf20Sopenharmony_ci }, 7708c2ecf20Sopenharmony_ci}; 7718c2ecf20Sopenharmony_ci 7728c2ecf20Sopenharmony_cistatic const struct freq_tbl ftbl_gcc_ufs_card_axi_clk_src[] = { 7738c2ecf20Sopenharmony_ci F(25000000, P_GPLL0_OUT_EVEN, 12, 0, 0), 7748c2ecf20Sopenharmony_ci F(50000000, P_GPLL0_OUT_EVEN, 6, 0, 0), 7758c2ecf20Sopenharmony_ci F(100000000, P_GPLL0_OUT_MAIN, 6, 0, 0), 7768c2ecf20Sopenharmony_ci F(200000000, P_GPLL0_OUT_MAIN, 3, 0, 0), 7778c2ecf20Sopenharmony_ci { } 7788c2ecf20Sopenharmony_ci}; 7798c2ecf20Sopenharmony_ci 7808c2ecf20Sopenharmony_cistatic struct clk_rcg2 gcc_ufs_card_axi_clk_src = { 7818c2ecf20Sopenharmony_ci .cmd_rcgr = 0x75024, 7828c2ecf20Sopenharmony_ci .mnd_width = 8, 7838c2ecf20Sopenharmony_ci .hid_width = 5, 7848c2ecf20Sopenharmony_ci .parent_map = gcc_parent_map_0, 7858c2ecf20Sopenharmony_ci .freq_tbl = ftbl_gcc_ufs_card_axi_clk_src, 7868c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 7878c2ecf20Sopenharmony_ci .name = "gcc_ufs_card_axi_clk_src", 7888c2ecf20Sopenharmony_ci .parent_data = gcc_parent_data_0, 7898c2ecf20Sopenharmony_ci .num_parents = ARRAY_SIZE(gcc_parent_data_0), 7908c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 7918c2ecf20Sopenharmony_ci }, 7928c2ecf20Sopenharmony_ci}; 7938c2ecf20Sopenharmony_ci 7948c2ecf20Sopenharmony_cistatic const struct freq_tbl ftbl_gcc_ufs_card_ice_core_clk_src[] = { 7958c2ecf20Sopenharmony_ci F(37500000, P_GPLL0_OUT_EVEN, 8, 0, 0), 7968c2ecf20Sopenharmony_ci F(75000000, P_GPLL0_OUT_EVEN, 4, 0, 0), 7978c2ecf20Sopenharmony_ci F(150000000, P_GPLL0_OUT_MAIN, 4, 0, 0), 7988c2ecf20Sopenharmony_ci F(300000000, P_GPLL0_OUT_MAIN, 2, 0, 0), 7998c2ecf20Sopenharmony_ci { } 8008c2ecf20Sopenharmony_ci}; 8018c2ecf20Sopenharmony_ci 8028c2ecf20Sopenharmony_cistatic struct clk_rcg2 gcc_ufs_card_ice_core_clk_src = { 8038c2ecf20Sopenharmony_ci .cmd_rcgr = 0x7506c, 8048c2ecf20Sopenharmony_ci .mnd_width = 0, 8058c2ecf20Sopenharmony_ci .hid_width = 5, 8068c2ecf20Sopenharmony_ci .parent_map = gcc_parent_map_0, 8078c2ecf20Sopenharmony_ci .freq_tbl = ftbl_gcc_ufs_card_ice_core_clk_src, 8088c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 8098c2ecf20Sopenharmony_ci .name = "gcc_ufs_card_ice_core_clk_src", 8108c2ecf20Sopenharmony_ci .parent_data = gcc_parent_data_0, 8118c2ecf20Sopenharmony_ci .num_parents = ARRAY_SIZE(gcc_parent_data_0), 8128c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 8138c2ecf20Sopenharmony_ci }, 8148c2ecf20Sopenharmony_ci}; 8158c2ecf20Sopenharmony_ci 8168c2ecf20Sopenharmony_cistatic const struct freq_tbl ftbl_gcc_ufs_card_phy_aux_clk_src[] = { 8178c2ecf20Sopenharmony_ci F(19200000, P_BI_TCXO, 1, 0, 0), 8188c2ecf20Sopenharmony_ci { } 8198c2ecf20Sopenharmony_ci}; 8208c2ecf20Sopenharmony_ci 8218c2ecf20Sopenharmony_cistatic struct clk_rcg2 gcc_ufs_card_phy_aux_clk_src = { 8228c2ecf20Sopenharmony_ci .cmd_rcgr = 0x750a0, 8238c2ecf20Sopenharmony_ci .mnd_width = 0, 8248c2ecf20Sopenharmony_ci .hid_width = 5, 8258c2ecf20Sopenharmony_ci .parent_map = gcc_parent_map_3, 8268c2ecf20Sopenharmony_ci .freq_tbl = ftbl_gcc_ufs_card_phy_aux_clk_src, 8278c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 8288c2ecf20Sopenharmony_ci .name = "gcc_ufs_card_phy_aux_clk_src", 8298c2ecf20Sopenharmony_ci .parent_data = gcc_parent_data_3, 8308c2ecf20Sopenharmony_ci .num_parents = ARRAY_SIZE(gcc_parent_data_3), 8318c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 8328c2ecf20Sopenharmony_ci }, 8338c2ecf20Sopenharmony_ci}; 8348c2ecf20Sopenharmony_ci 8358c2ecf20Sopenharmony_cistatic const struct freq_tbl ftbl_gcc_ufs_card_unipro_core_clk_src[] = { 8368c2ecf20Sopenharmony_ci F(37500000, P_GPLL0_OUT_EVEN, 8, 0, 0), 8378c2ecf20Sopenharmony_ci F(75000000, P_GPLL0_OUT_MAIN, 8, 0, 0), 8388c2ecf20Sopenharmony_ci F(150000000, P_GPLL0_OUT_MAIN, 4, 0, 0), 8398c2ecf20Sopenharmony_ci { } 8408c2ecf20Sopenharmony_ci}; 8418c2ecf20Sopenharmony_ci 8428c2ecf20Sopenharmony_cistatic struct clk_rcg2 gcc_ufs_card_unipro_core_clk_src = { 8438c2ecf20Sopenharmony_ci .cmd_rcgr = 0x75084, 8448c2ecf20Sopenharmony_ci .mnd_width = 0, 8458c2ecf20Sopenharmony_ci .hid_width = 5, 8468c2ecf20Sopenharmony_ci .parent_map = gcc_parent_map_0, 8478c2ecf20Sopenharmony_ci .freq_tbl = ftbl_gcc_ufs_card_unipro_core_clk_src, 8488c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 8498c2ecf20Sopenharmony_ci .name = "gcc_ufs_card_unipro_core_clk_src", 8508c2ecf20Sopenharmony_ci .parent_data = gcc_parent_data_0, 8518c2ecf20Sopenharmony_ci .num_parents = ARRAY_SIZE(gcc_parent_data_0), 8528c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 8538c2ecf20Sopenharmony_ci }, 8548c2ecf20Sopenharmony_ci}; 8558c2ecf20Sopenharmony_ci 8568c2ecf20Sopenharmony_cistatic const struct freq_tbl ftbl_gcc_ufs_phy_axi_clk_src[] = { 8578c2ecf20Sopenharmony_ci F(25000000, P_GPLL0_OUT_EVEN, 12, 0, 0), 8588c2ecf20Sopenharmony_ci F(37500000, P_GPLL0_OUT_EVEN, 8, 0, 0), 8598c2ecf20Sopenharmony_ci F(75000000, P_GPLL0_OUT_EVEN, 4, 0, 0), 8608c2ecf20Sopenharmony_ci F(150000000, P_GPLL0_OUT_MAIN, 4, 0, 0), 8618c2ecf20Sopenharmony_ci F(300000000, P_GPLL0_OUT_MAIN, 2, 0, 0), 8628c2ecf20Sopenharmony_ci { } 8638c2ecf20Sopenharmony_ci}; 8648c2ecf20Sopenharmony_ci 8658c2ecf20Sopenharmony_cistatic struct clk_rcg2 gcc_ufs_phy_axi_clk_src = { 8668c2ecf20Sopenharmony_ci .cmd_rcgr = 0x77024, 8678c2ecf20Sopenharmony_ci .mnd_width = 8, 8688c2ecf20Sopenharmony_ci .hid_width = 5, 8698c2ecf20Sopenharmony_ci .parent_map = gcc_parent_map_0, 8708c2ecf20Sopenharmony_ci .freq_tbl = ftbl_gcc_ufs_phy_axi_clk_src, 8718c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 8728c2ecf20Sopenharmony_ci .name = "gcc_ufs_phy_axi_clk_src", 8738c2ecf20Sopenharmony_ci .parent_data = gcc_parent_data_0, 8748c2ecf20Sopenharmony_ci .num_parents = ARRAY_SIZE(gcc_parent_data_0), 8758c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 8768c2ecf20Sopenharmony_ci }, 8778c2ecf20Sopenharmony_ci}; 8788c2ecf20Sopenharmony_ci 8798c2ecf20Sopenharmony_cistatic struct clk_rcg2 gcc_ufs_phy_ice_core_clk_src = { 8808c2ecf20Sopenharmony_ci .cmd_rcgr = 0x7706c, 8818c2ecf20Sopenharmony_ci .mnd_width = 0, 8828c2ecf20Sopenharmony_ci .hid_width = 5, 8838c2ecf20Sopenharmony_ci .parent_map = gcc_parent_map_0, 8848c2ecf20Sopenharmony_ci .freq_tbl = ftbl_gcc_ufs_card_ice_core_clk_src, 8858c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 8868c2ecf20Sopenharmony_ci .name = "gcc_ufs_phy_ice_core_clk_src", 8878c2ecf20Sopenharmony_ci .parent_data = gcc_parent_data_0, 8888c2ecf20Sopenharmony_ci .num_parents = ARRAY_SIZE(gcc_parent_data_0), 8898c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 8908c2ecf20Sopenharmony_ci }, 8918c2ecf20Sopenharmony_ci}; 8928c2ecf20Sopenharmony_ci 8938c2ecf20Sopenharmony_cistatic struct clk_rcg2 gcc_ufs_phy_phy_aux_clk_src = { 8948c2ecf20Sopenharmony_ci .cmd_rcgr = 0x770a0, 8958c2ecf20Sopenharmony_ci .mnd_width = 0, 8968c2ecf20Sopenharmony_ci .hid_width = 5, 8978c2ecf20Sopenharmony_ci .parent_map = gcc_parent_map_3, 8988c2ecf20Sopenharmony_ci .freq_tbl = ftbl_gcc_pcie_0_aux_clk_src, 8998c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 9008c2ecf20Sopenharmony_ci .name = "gcc_ufs_phy_phy_aux_clk_src", 9018c2ecf20Sopenharmony_ci .parent_data = gcc_parent_data_3, 9028c2ecf20Sopenharmony_ci .num_parents = ARRAY_SIZE(gcc_parent_data_3), 9038c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 9048c2ecf20Sopenharmony_ci }, 9058c2ecf20Sopenharmony_ci}; 9068c2ecf20Sopenharmony_ci 9078c2ecf20Sopenharmony_cistatic struct clk_rcg2 gcc_ufs_phy_unipro_core_clk_src = { 9088c2ecf20Sopenharmony_ci .cmd_rcgr = 0x77084, 9098c2ecf20Sopenharmony_ci .mnd_width = 0, 9108c2ecf20Sopenharmony_ci .hid_width = 5, 9118c2ecf20Sopenharmony_ci .parent_map = gcc_parent_map_0, 9128c2ecf20Sopenharmony_ci .freq_tbl = ftbl_gcc_ufs_card_ice_core_clk_src, 9138c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 9148c2ecf20Sopenharmony_ci .name = "gcc_ufs_phy_unipro_core_clk_src", 9158c2ecf20Sopenharmony_ci .parent_data = gcc_parent_data_0, 9168c2ecf20Sopenharmony_ci .num_parents = ARRAY_SIZE(gcc_parent_data_0), 9178c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 9188c2ecf20Sopenharmony_ci }, 9198c2ecf20Sopenharmony_ci}; 9208c2ecf20Sopenharmony_ci 9218c2ecf20Sopenharmony_cistatic const struct freq_tbl ftbl_gcc_usb30_prim_master_clk_src[] = { 9228c2ecf20Sopenharmony_ci F(33333333, P_GPLL0_OUT_EVEN, 9, 0, 0), 9238c2ecf20Sopenharmony_ci F(66666667, P_GPLL0_OUT_EVEN, 4.5, 0, 0), 9248c2ecf20Sopenharmony_ci F(133333333, P_GPLL0_OUT_MAIN, 4.5, 0, 0), 9258c2ecf20Sopenharmony_ci F(200000000, P_GPLL0_OUT_MAIN, 3, 0, 0), 9268c2ecf20Sopenharmony_ci F(240000000, P_GPLL0_OUT_MAIN, 2.5, 0, 0), 9278c2ecf20Sopenharmony_ci { } 9288c2ecf20Sopenharmony_ci}; 9298c2ecf20Sopenharmony_ci 9308c2ecf20Sopenharmony_cistatic struct clk_rcg2 gcc_usb30_prim_master_clk_src = { 9318c2ecf20Sopenharmony_ci .cmd_rcgr = 0xf020, 9328c2ecf20Sopenharmony_ci .mnd_width = 8, 9338c2ecf20Sopenharmony_ci .hid_width = 5, 9348c2ecf20Sopenharmony_ci .parent_map = gcc_parent_map_0, 9358c2ecf20Sopenharmony_ci .freq_tbl = ftbl_gcc_usb30_prim_master_clk_src, 9368c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 9378c2ecf20Sopenharmony_ci .name = "gcc_usb30_prim_master_clk_src", 9388c2ecf20Sopenharmony_ci .parent_data = gcc_parent_data_0, 9398c2ecf20Sopenharmony_ci .num_parents = ARRAY_SIZE(gcc_parent_data_0), 9408c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 9418c2ecf20Sopenharmony_ci }, 9428c2ecf20Sopenharmony_ci}; 9438c2ecf20Sopenharmony_ci 9448c2ecf20Sopenharmony_cistatic struct clk_rcg2 gcc_usb30_prim_mock_utmi_clk_src = { 9458c2ecf20Sopenharmony_ci .cmd_rcgr = 0xf038, 9468c2ecf20Sopenharmony_ci .mnd_width = 0, 9478c2ecf20Sopenharmony_ci .hid_width = 5, 9488c2ecf20Sopenharmony_ci .parent_map = gcc_parent_map_0, 9498c2ecf20Sopenharmony_ci .freq_tbl = ftbl_gcc_ufs_card_phy_aux_clk_src, 9508c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 9518c2ecf20Sopenharmony_ci .name = "gcc_usb30_prim_mock_utmi_clk_src", 9528c2ecf20Sopenharmony_ci .parent_data = gcc_parent_data_0, 9538c2ecf20Sopenharmony_ci .num_parents = ARRAY_SIZE(gcc_parent_data_0), 9548c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 9558c2ecf20Sopenharmony_ci }, 9568c2ecf20Sopenharmony_ci}; 9578c2ecf20Sopenharmony_ci 9588c2ecf20Sopenharmony_cistatic struct clk_rcg2 gcc_usb30_sec_master_clk_src = { 9598c2ecf20Sopenharmony_ci .cmd_rcgr = 0x10020, 9608c2ecf20Sopenharmony_ci .mnd_width = 8, 9618c2ecf20Sopenharmony_ci .hid_width = 5, 9628c2ecf20Sopenharmony_ci .parent_map = gcc_parent_map_0, 9638c2ecf20Sopenharmony_ci .freq_tbl = ftbl_gcc_usb30_prim_master_clk_src, 9648c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 9658c2ecf20Sopenharmony_ci .name = "gcc_usb30_sec_master_clk_src", 9668c2ecf20Sopenharmony_ci .parent_data = gcc_parent_data_0, 9678c2ecf20Sopenharmony_ci .num_parents = ARRAY_SIZE(gcc_parent_data_0), 9688c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 9698c2ecf20Sopenharmony_ci }, 9708c2ecf20Sopenharmony_ci}; 9718c2ecf20Sopenharmony_ci 9728c2ecf20Sopenharmony_cistatic struct clk_rcg2 gcc_usb30_sec_mock_utmi_clk_src = { 9738c2ecf20Sopenharmony_ci .cmd_rcgr = 0x10038, 9748c2ecf20Sopenharmony_ci .mnd_width = 0, 9758c2ecf20Sopenharmony_ci .hid_width = 5, 9768c2ecf20Sopenharmony_ci .parent_map = gcc_parent_map_0, 9778c2ecf20Sopenharmony_ci .freq_tbl = ftbl_gcc_ufs_card_phy_aux_clk_src, 9788c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 9798c2ecf20Sopenharmony_ci .name = "gcc_usb30_sec_mock_utmi_clk_src", 9808c2ecf20Sopenharmony_ci .parent_data = gcc_parent_data_0, 9818c2ecf20Sopenharmony_ci .num_parents = ARRAY_SIZE(gcc_parent_data_0), 9828c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 9838c2ecf20Sopenharmony_ci }, 9848c2ecf20Sopenharmony_ci}; 9858c2ecf20Sopenharmony_ci 9868c2ecf20Sopenharmony_cistatic struct clk_rcg2 gcc_usb3_prim_phy_aux_clk_src = { 9878c2ecf20Sopenharmony_ci .cmd_rcgr = 0xf064, 9888c2ecf20Sopenharmony_ci .mnd_width = 0, 9898c2ecf20Sopenharmony_ci .hid_width = 5, 9908c2ecf20Sopenharmony_ci .parent_map = gcc_parent_map_2, 9918c2ecf20Sopenharmony_ci .freq_tbl = ftbl_gcc_ufs_card_phy_aux_clk_src, 9928c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 9938c2ecf20Sopenharmony_ci .name = "gcc_usb3_prim_phy_aux_clk_src", 9948c2ecf20Sopenharmony_ci .parent_data = gcc_parent_data_2, 9958c2ecf20Sopenharmony_ci .num_parents = ARRAY_SIZE(gcc_parent_data_2), 9968c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 9978c2ecf20Sopenharmony_ci }, 9988c2ecf20Sopenharmony_ci}; 9998c2ecf20Sopenharmony_ci 10008c2ecf20Sopenharmony_cistatic struct clk_rcg2 gcc_usb3_sec_phy_aux_clk_src = { 10018c2ecf20Sopenharmony_ci .cmd_rcgr = 0x10064, 10028c2ecf20Sopenharmony_ci .mnd_width = 0, 10038c2ecf20Sopenharmony_ci .hid_width = 5, 10048c2ecf20Sopenharmony_ci .parent_map = gcc_parent_map_2, 10058c2ecf20Sopenharmony_ci .freq_tbl = ftbl_gcc_ufs_card_phy_aux_clk_src, 10068c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 10078c2ecf20Sopenharmony_ci .name = "gcc_usb3_sec_phy_aux_clk_src", 10088c2ecf20Sopenharmony_ci .parent_data = gcc_parent_data_2, 10098c2ecf20Sopenharmony_ci .num_parents = ARRAY_SIZE(gcc_parent_data_2), 10108c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 10118c2ecf20Sopenharmony_ci }, 10128c2ecf20Sopenharmony_ci}; 10138c2ecf20Sopenharmony_ci 10148c2ecf20Sopenharmony_cistatic struct clk_regmap_div gcc_cpuss_ahb_postdiv_clk_src = { 10158c2ecf20Sopenharmony_ci .reg = 0x48028, 10168c2ecf20Sopenharmony_ci .shift = 0, 10178c2ecf20Sopenharmony_ci .width = 4, 10188c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data) { 10198c2ecf20Sopenharmony_ci .name = "gcc_cpuss_ahb_postdiv_clk_src", 10208c2ecf20Sopenharmony_ci .parent_data = &(const struct clk_parent_data){ 10218c2ecf20Sopenharmony_ci .hw = &gcc_cpuss_ahb_clk_src.clkr.hw, 10228c2ecf20Sopenharmony_ci }, 10238c2ecf20Sopenharmony_ci .num_parents = 1, 10248c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 10258c2ecf20Sopenharmony_ci .ops = &clk_regmap_div_ro_ops, 10268c2ecf20Sopenharmony_ci }, 10278c2ecf20Sopenharmony_ci}; 10288c2ecf20Sopenharmony_ci 10298c2ecf20Sopenharmony_cistatic struct clk_regmap_div gcc_usb30_prim_mock_utmi_postdiv_clk_src = { 10308c2ecf20Sopenharmony_ci .reg = 0xf050, 10318c2ecf20Sopenharmony_ci .shift = 0, 10328c2ecf20Sopenharmony_ci .width = 2, 10338c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data) { 10348c2ecf20Sopenharmony_ci .name = "gcc_usb30_prim_mock_utmi_postdiv_clk_src", 10358c2ecf20Sopenharmony_ci .parent_data = &(const struct clk_parent_data){ 10368c2ecf20Sopenharmony_ci .hw = &gcc_usb30_prim_mock_utmi_clk_src.clkr.hw, 10378c2ecf20Sopenharmony_ci }, 10388c2ecf20Sopenharmony_ci .num_parents = 1, 10398c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 10408c2ecf20Sopenharmony_ci .ops = &clk_regmap_div_ro_ops, 10418c2ecf20Sopenharmony_ci }, 10428c2ecf20Sopenharmony_ci}; 10438c2ecf20Sopenharmony_ci 10448c2ecf20Sopenharmony_cistatic struct clk_regmap_div gcc_usb30_sec_mock_utmi_postdiv_clk_src = { 10458c2ecf20Sopenharmony_ci .reg = 0x10050, 10468c2ecf20Sopenharmony_ci .shift = 0, 10478c2ecf20Sopenharmony_ci .width = 2, 10488c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data) { 10498c2ecf20Sopenharmony_ci .name = "gcc_usb30_sec_mock_utmi_postdiv_clk_src", 10508c2ecf20Sopenharmony_ci .parent_data = &(const struct clk_parent_data){ 10518c2ecf20Sopenharmony_ci .hw = &gcc_usb30_sec_mock_utmi_clk_src.clkr.hw, 10528c2ecf20Sopenharmony_ci }, 10538c2ecf20Sopenharmony_ci .num_parents = 1, 10548c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 10558c2ecf20Sopenharmony_ci .ops = &clk_regmap_div_ro_ops, 10568c2ecf20Sopenharmony_ci }, 10578c2ecf20Sopenharmony_ci}; 10588c2ecf20Sopenharmony_ci 10598c2ecf20Sopenharmony_cistatic struct clk_branch gcc_aggre_noc_pcie_tbu_clk = { 10608c2ecf20Sopenharmony_ci .halt_reg = 0x9000c, 10618c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_VOTED, 10628c2ecf20Sopenharmony_ci .clkr = { 10638c2ecf20Sopenharmony_ci .enable_reg = 0x9000c, 10648c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 10658c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 10668c2ecf20Sopenharmony_ci .name = "gcc_aggre_noc_pcie_tbu_clk", 10678c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 10688c2ecf20Sopenharmony_ci }, 10698c2ecf20Sopenharmony_ci }, 10708c2ecf20Sopenharmony_ci}; 10718c2ecf20Sopenharmony_ci 10728c2ecf20Sopenharmony_cistatic struct clk_branch gcc_aggre_ufs_card_axi_clk = { 10738c2ecf20Sopenharmony_ci .halt_reg = 0x750cc, 10748c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_VOTED, 10758c2ecf20Sopenharmony_ci .hwcg_reg = 0x750cc, 10768c2ecf20Sopenharmony_ci .hwcg_bit = 1, 10778c2ecf20Sopenharmony_ci .clkr = { 10788c2ecf20Sopenharmony_ci .enable_reg = 0x750cc, 10798c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 10808c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 10818c2ecf20Sopenharmony_ci .name = "gcc_aggre_ufs_card_axi_clk", 10828c2ecf20Sopenharmony_ci .parent_data = &(const struct clk_parent_data){ 10838c2ecf20Sopenharmony_ci .hw = &gcc_ufs_card_axi_clk_src.clkr.hw, 10848c2ecf20Sopenharmony_ci }, 10858c2ecf20Sopenharmony_ci .num_parents = 1, 10868c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 10878c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 10888c2ecf20Sopenharmony_ci }, 10898c2ecf20Sopenharmony_ci }, 10908c2ecf20Sopenharmony_ci}; 10918c2ecf20Sopenharmony_ci 10928c2ecf20Sopenharmony_cistatic struct clk_branch gcc_aggre_ufs_phy_axi_clk = { 10938c2ecf20Sopenharmony_ci .halt_reg = 0x770cc, 10948c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_VOTED, 10958c2ecf20Sopenharmony_ci .hwcg_reg = 0x770cc, 10968c2ecf20Sopenharmony_ci .hwcg_bit = 1, 10978c2ecf20Sopenharmony_ci .clkr = { 10988c2ecf20Sopenharmony_ci .enable_reg = 0x770cc, 10998c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 11008c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 11018c2ecf20Sopenharmony_ci .name = "gcc_aggre_ufs_phy_axi_clk", 11028c2ecf20Sopenharmony_ci .parent_data = &(const struct clk_parent_data){ 11038c2ecf20Sopenharmony_ci .hw = &gcc_ufs_phy_axi_clk_src.clkr.hw, 11048c2ecf20Sopenharmony_ci }, 11058c2ecf20Sopenharmony_ci .num_parents = 1, 11068c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 11078c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 11088c2ecf20Sopenharmony_ci }, 11098c2ecf20Sopenharmony_ci }, 11108c2ecf20Sopenharmony_ci}; 11118c2ecf20Sopenharmony_ci 11128c2ecf20Sopenharmony_cistatic struct clk_branch gcc_aggre_usb3_prim_axi_clk = { 11138c2ecf20Sopenharmony_ci .halt_reg = 0xf080, 11148c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_VOTED, 11158c2ecf20Sopenharmony_ci .clkr = { 11168c2ecf20Sopenharmony_ci .enable_reg = 0xf080, 11178c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 11188c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 11198c2ecf20Sopenharmony_ci .name = "gcc_aggre_usb3_prim_axi_clk", 11208c2ecf20Sopenharmony_ci .parent_data = &(const struct clk_parent_data){ 11218c2ecf20Sopenharmony_ci .hw = &gcc_usb30_prim_master_clk_src.clkr.hw, 11228c2ecf20Sopenharmony_ci }, 11238c2ecf20Sopenharmony_ci .num_parents = 1, 11248c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 11258c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 11268c2ecf20Sopenharmony_ci }, 11278c2ecf20Sopenharmony_ci }, 11288c2ecf20Sopenharmony_ci}; 11298c2ecf20Sopenharmony_ci 11308c2ecf20Sopenharmony_cistatic struct clk_branch gcc_aggre_usb3_sec_axi_clk = { 11318c2ecf20Sopenharmony_ci .halt_reg = 0x10080, 11328c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_VOTED, 11338c2ecf20Sopenharmony_ci .clkr = { 11348c2ecf20Sopenharmony_ci .enable_reg = 0x10080, 11358c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 11368c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 11378c2ecf20Sopenharmony_ci .name = "gcc_aggre_usb3_sec_axi_clk", 11388c2ecf20Sopenharmony_ci .parent_data = &(const struct clk_parent_data){ 11398c2ecf20Sopenharmony_ci .hw = &gcc_usb30_sec_master_clk_src.clkr.hw, 11408c2ecf20Sopenharmony_ci }, 11418c2ecf20Sopenharmony_ci .num_parents = 1, 11428c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 11438c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 11448c2ecf20Sopenharmony_ci }, 11458c2ecf20Sopenharmony_ci }, 11468c2ecf20Sopenharmony_ci}; 11478c2ecf20Sopenharmony_ci 11488c2ecf20Sopenharmony_cistatic struct clk_branch gcc_boot_rom_ahb_clk = { 11498c2ecf20Sopenharmony_ci .halt_reg = 0x38004, 11508c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_VOTED, 11518c2ecf20Sopenharmony_ci .hwcg_reg = 0x38004, 11528c2ecf20Sopenharmony_ci .hwcg_bit = 1, 11538c2ecf20Sopenharmony_ci .clkr = { 11548c2ecf20Sopenharmony_ci .enable_reg = 0x52000, 11558c2ecf20Sopenharmony_ci .enable_mask = BIT(10), 11568c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 11578c2ecf20Sopenharmony_ci .name = "gcc_boot_rom_ahb_clk", 11588c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 11598c2ecf20Sopenharmony_ci }, 11608c2ecf20Sopenharmony_ci }, 11618c2ecf20Sopenharmony_ci}; 11628c2ecf20Sopenharmony_ci 11638c2ecf20Sopenharmony_cistatic struct clk_branch gcc_camera_hf_axi_clk = { 11648c2ecf20Sopenharmony_ci .halt_reg = 0xb02c, 11658c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_VOTED, 11668c2ecf20Sopenharmony_ci .clkr = { 11678c2ecf20Sopenharmony_ci .enable_reg = 0xb02c, 11688c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 11698c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 11708c2ecf20Sopenharmony_ci .name = "gcc_camera_hf_axi_clk", 11718c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 11728c2ecf20Sopenharmony_ci }, 11738c2ecf20Sopenharmony_ci }, 11748c2ecf20Sopenharmony_ci}; 11758c2ecf20Sopenharmony_ci 11768c2ecf20Sopenharmony_cistatic struct clk_branch gcc_camera_sf_axi_clk = { 11778c2ecf20Sopenharmony_ci .halt_reg = 0xb030, 11788c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_VOTED, 11798c2ecf20Sopenharmony_ci .clkr = { 11808c2ecf20Sopenharmony_ci .enable_reg = 0xb030, 11818c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 11828c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 11838c2ecf20Sopenharmony_ci .name = "gcc_camera_sf_axi_clk", 11848c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 11858c2ecf20Sopenharmony_ci }, 11868c2ecf20Sopenharmony_ci }, 11878c2ecf20Sopenharmony_ci}; 11888c2ecf20Sopenharmony_ci 11898c2ecf20Sopenharmony_cistatic struct clk_branch gcc_camera_xo_clk = { 11908c2ecf20Sopenharmony_ci .halt_reg = 0xb040, 11918c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT, 11928c2ecf20Sopenharmony_ci .clkr = { 11938c2ecf20Sopenharmony_ci .enable_reg = 0xb040, 11948c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 11958c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 11968c2ecf20Sopenharmony_ci .name = "gcc_camera_xo_clk", 11978c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 11988c2ecf20Sopenharmony_ci }, 11998c2ecf20Sopenharmony_ci }, 12008c2ecf20Sopenharmony_ci}; 12018c2ecf20Sopenharmony_ci 12028c2ecf20Sopenharmony_cistatic struct clk_branch gcc_cfg_noc_usb3_prim_axi_clk = { 12038c2ecf20Sopenharmony_ci .halt_reg = 0xf07c, 12048c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_VOTED, 12058c2ecf20Sopenharmony_ci .clkr = { 12068c2ecf20Sopenharmony_ci .enable_reg = 0xf07c, 12078c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 12088c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 12098c2ecf20Sopenharmony_ci .name = "gcc_cfg_noc_usb3_prim_axi_clk", 12108c2ecf20Sopenharmony_ci .parent_data = &(const struct clk_parent_data){ 12118c2ecf20Sopenharmony_ci .hw = &gcc_usb30_prim_master_clk_src.clkr.hw, 12128c2ecf20Sopenharmony_ci }, 12138c2ecf20Sopenharmony_ci .num_parents = 1, 12148c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 12158c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 12168c2ecf20Sopenharmony_ci }, 12178c2ecf20Sopenharmony_ci }, 12188c2ecf20Sopenharmony_ci}; 12198c2ecf20Sopenharmony_ci 12208c2ecf20Sopenharmony_cistatic struct clk_branch gcc_cfg_noc_usb3_sec_axi_clk = { 12218c2ecf20Sopenharmony_ci .halt_reg = 0x1007c, 12228c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_VOTED, 12238c2ecf20Sopenharmony_ci .clkr = { 12248c2ecf20Sopenharmony_ci .enable_reg = 0x1007c, 12258c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 12268c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 12278c2ecf20Sopenharmony_ci .name = "gcc_cfg_noc_usb3_sec_axi_clk", 12288c2ecf20Sopenharmony_ci .parent_data = &(const struct clk_parent_data){ 12298c2ecf20Sopenharmony_ci .hw = &gcc_usb30_sec_master_clk_src.clkr.hw, 12308c2ecf20Sopenharmony_ci }, 12318c2ecf20Sopenharmony_ci .num_parents = 1, 12328c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 12338c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 12348c2ecf20Sopenharmony_ci }, 12358c2ecf20Sopenharmony_ci }, 12368c2ecf20Sopenharmony_ci}; 12378c2ecf20Sopenharmony_ci 12388c2ecf20Sopenharmony_cistatic struct clk_branch gcc_cpuss_ahb_clk = { 12398c2ecf20Sopenharmony_ci .halt_reg = 0x48000, 12408c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_VOTED, 12418c2ecf20Sopenharmony_ci .clkr = { 12428c2ecf20Sopenharmony_ci .enable_reg = 0x52000, 12438c2ecf20Sopenharmony_ci .enable_mask = BIT(21), 12448c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 12458c2ecf20Sopenharmony_ci .name = "gcc_cpuss_ahb_clk", 12468c2ecf20Sopenharmony_ci .parent_data = &(const struct clk_parent_data){ 12478c2ecf20Sopenharmony_ci .hw = &gcc_cpuss_ahb_postdiv_clk_src.clkr.hw, 12488c2ecf20Sopenharmony_ci }, 12498c2ecf20Sopenharmony_ci .num_parents = 1, 12508c2ecf20Sopenharmony_ci .flags = CLK_IS_CRITICAL | CLK_SET_RATE_PARENT, 12518c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 12528c2ecf20Sopenharmony_ci }, 12538c2ecf20Sopenharmony_ci }, 12548c2ecf20Sopenharmony_ci}; 12558c2ecf20Sopenharmony_ci 12568c2ecf20Sopenharmony_cistatic struct clk_branch gcc_cpuss_rbcpr_clk = { 12578c2ecf20Sopenharmony_ci .halt_reg = 0x48004, 12588c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT, 12598c2ecf20Sopenharmony_ci .clkr = { 12608c2ecf20Sopenharmony_ci .enable_reg = 0x48004, 12618c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 12628c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 12638c2ecf20Sopenharmony_ci .name = "gcc_cpuss_rbcpr_clk", 12648c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 12658c2ecf20Sopenharmony_ci }, 12668c2ecf20Sopenharmony_ci }, 12678c2ecf20Sopenharmony_ci}; 12688c2ecf20Sopenharmony_ci 12698c2ecf20Sopenharmony_cistatic struct clk_branch gcc_ddrss_gpu_axi_clk = { 12708c2ecf20Sopenharmony_ci .halt_reg = 0x71154, 12718c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_VOTED, 12728c2ecf20Sopenharmony_ci .clkr = { 12738c2ecf20Sopenharmony_ci .enable_reg = 0x71154, 12748c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 12758c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 12768c2ecf20Sopenharmony_ci .name = "gcc_ddrss_gpu_axi_clk", 12778c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 12788c2ecf20Sopenharmony_ci }, 12798c2ecf20Sopenharmony_ci }, 12808c2ecf20Sopenharmony_ci}; 12818c2ecf20Sopenharmony_ci 12828c2ecf20Sopenharmony_cistatic struct clk_branch gcc_ddrss_pcie_sf_tbu_clk = { 12838c2ecf20Sopenharmony_ci .halt_reg = 0x8d058, 12848c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_VOTED, 12858c2ecf20Sopenharmony_ci .clkr = { 12868c2ecf20Sopenharmony_ci .enable_reg = 0x8d058, 12878c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 12888c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 12898c2ecf20Sopenharmony_ci .name = "gcc_ddrss_pcie_sf_tbu_clk", 12908c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 12918c2ecf20Sopenharmony_ci }, 12928c2ecf20Sopenharmony_ci }, 12938c2ecf20Sopenharmony_ci}; 12948c2ecf20Sopenharmony_ci 12958c2ecf20Sopenharmony_cistatic struct clk_branch gcc_disp_hf_axi_clk = { 12968c2ecf20Sopenharmony_ci .halt_reg = 0xb034, 12978c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_VOTED, 12988c2ecf20Sopenharmony_ci .clkr = { 12998c2ecf20Sopenharmony_ci .enable_reg = 0xb034, 13008c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 13018c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 13028c2ecf20Sopenharmony_ci .name = "gcc_disp_hf_axi_clk", 13038c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 13048c2ecf20Sopenharmony_ci }, 13058c2ecf20Sopenharmony_ci }, 13068c2ecf20Sopenharmony_ci}; 13078c2ecf20Sopenharmony_ci 13088c2ecf20Sopenharmony_cistatic struct clk_branch gcc_disp_sf_axi_clk = { 13098c2ecf20Sopenharmony_ci .halt_reg = 0xb038, 13108c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_VOTED, 13118c2ecf20Sopenharmony_ci .clkr = { 13128c2ecf20Sopenharmony_ci .enable_reg = 0xb038, 13138c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 13148c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 13158c2ecf20Sopenharmony_ci .name = "gcc_disp_sf_axi_clk", 13168c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 13178c2ecf20Sopenharmony_ci }, 13188c2ecf20Sopenharmony_ci }, 13198c2ecf20Sopenharmony_ci}; 13208c2ecf20Sopenharmony_ci 13218c2ecf20Sopenharmony_cistatic struct clk_branch gcc_disp_xo_clk = { 13228c2ecf20Sopenharmony_ci .halt_reg = 0xb044, 13238c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT, 13248c2ecf20Sopenharmony_ci .clkr = { 13258c2ecf20Sopenharmony_ci .enable_reg = 0xb044, 13268c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 13278c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 13288c2ecf20Sopenharmony_ci .name = "gcc_disp_xo_clk", 13298c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 13308c2ecf20Sopenharmony_ci }, 13318c2ecf20Sopenharmony_ci }, 13328c2ecf20Sopenharmony_ci}; 13338c2ecf20Sopenharmony_ci 13348c2ecf20Sopenharmony_cistatic struct clk_branch gcc_gp1_clk = { 13358c2ecf20Sopenharmony_ci .halt_reg = 0x64000, 13368c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT, 13378c2ecf20Sopenharmony_ci .clkr = { 13388c2ecf20Sopenharmony_ci .enable_reg = 0x64000, 13398c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 13408c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 13418c2ecf20Sopenharmony_ci .name = "gcc_gp1_clk", 13428c2ecf20Sopenharmony_ci .parent_data = &(const struct clk_parent_data){ 13438c2ecf20Sopenharmony_ci .hw = &gcc_gp1_clk_src.clkr.hw, 13448c2ecf20Sopenharmony_ci }, 13458c2ecf20Sopenharmony_ci .num_parents = 1, 13468c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 13478c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 13488c2ecf20Sopenharmony_ci }, 13498c2ecf20Sopenharmony_ci }, 13508c2ecf20Sopenharmony_ci}; 13518c2ecf20Sopenharmony_ci 13528c2ecf20Sopenharmony_cistatic struct clk_branch gcc_gp2_clk = { 13538c2ecf20Sopenharmony_ci .halt_reg = 0x65000, 13548c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT, 13558c2ecf20Sopenharmony_ci .clkr = { 13568c2ecf20Sopenharmony_ci .enable_reg = 0x65000, 13578c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 13588c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 13598c2ecf20Sopenharmony_ci .name = "gcc_gp2_clk", 13608c2ecf20Sopenharmony_ci .parent_data = &(const struct clk_parent_data){ 13618c2ecf20Sopenharmony_ci .hw = &gcc_gp2_clk_src.clkr.hw, 13628c2ecf20Sopenharmony_ci }, 13638c2ecf20Sopenharmony_ci .num_parents = 1, 13648c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 13658c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 13668c2ecf20Sopenharmony_ci }, 13678c2ecf20Sopenharmony_ci }, 13688c2ecf20Sopenharmony_ci}; 13698c2ecf20Sopenharmony_ci 13708c2ecf20Sopenharmony_cistatic struct clk_branch gcc_gp3_clk = { 13718c2ecf20Sopenharmony_ci .halt_reg = 0x66000, 13728c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT, 13738c2ecf20Sopenharmony_ci .clkr = { 13748c2ecf20Sopenharmony_ci .enable_reg = 0x66000, 13758c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 13768c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 13778c2ecf20Sopenharmony_ci .name = "gcc_gp3_clk", 13788c2ecf20Sopenharmony_ci .parent_data = &(const struct clk_parent_data){ 13798c2ecf20Sopenharmony_ci .hw = &gcc_gp3_clk_src.clkr.hw, 13808c2ecf20Sopenharmony_ci }, 13818c2ecf20Sopenharmony_ci .num_parents = 1, 13828c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 13838c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 13848c2ecf20Sopenharmony_ci }, 13858c2ecf20Sopenharmony_ci }, 13868c2ecf20Sopenharmony_ci}; 13878c2ecf20Sopenharmony_ci 13888c2ecf20Sopenharmony_cistatic struct clk_branch gcc_gpu_gpll0_clk_src = { 13898c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_DELAY, 13908c2ecf20Sopenharmony_ci .clkr = { 13918c2ecf20Sopenharmony_ci .enable_reg = 0x52000, 13928c2ecf20Sopenharmony_ci .enable_mask = BIT(15), 13938c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 13948c2ecf20Sopenharmony_ci .name = "gcc_gpu_gpll0_clk_src", 13958c2ecf20Sopenharmony_ci .parent_data = &(const struct clk_parent_data){ 13968c2ecf20Sopenharmony_ci .hw = &gpll0.clkr.hw, 13978c2ecf20Sopenharmony_ci }, 13988c2ecf20Sopenharmony_ci .num_parents = 1, 13998c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 14008c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 14018c2ecf20Sopenharmony_ci }, 14028c2ecf20Sopenharmony_ci }, 14038c2ecf20Sopenharmony_ci}; 14048c2ecf20Sopenharmony_ci 14058c2ecf20Sopenharmony_cistatic struct clk_branch gcc_gpu_gpll0_div_clk_src = { 14068c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_DELAY, 14078c2ecf20Sopenharmony_ci .clkr = { 14088c2ecf20Sopenharmony_ci .enable_reg = 0x52000, 14098c2ecf20Sopenharmony_ci .enable_mask = BIT(16), 14108c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 14118c2ecf20Sopenharmony_ci .name = "gcc_gpu_gpll0_div_clk_src", 14128c2ecf20Sopenharmony_ci .parent_data = &(const struct clk_parent_data){ 14138c2ecf20Sopenharmony_ci .hw = &gpll0_out_even.clkr.hw, 14148c2ecf20Sopenharmony_ci }, 14158c2ecf20Sopenharmony_ci .num_parents = 1, 14168c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 14178c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 14188c2ecf20Sopenharmony_ci }, 14198c2ecf20Sopenharmony_ci }, 14208c2ecf20Sopenharmony_ci}; 14218c2ecf20Sopenharmony_ci 14228c2ecf20Sopenharmony_cistatic struct clk_branch gcc_gpu_iref_en = { 14238c2ecf20Sopenharmony_ci .halt_reg = 0x8c014, 14248c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT, 14258c2ecf20Sopenharmony_ci .clkr = { 14268c2ecf20Sopenharmony_ci .enable_reg = 0x8c014, 14278c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 14288c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 14298c2ecf20Sopenharmony_ci .name = "gcc_gpu_iref_en", 14308c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 14318c2ecf20Sopenharmony_ci }, 14328c2ecf20Sopenharmony_ci }, 14338c2ecf20Sopenharmony_ci}; 14348c2ecf20Sopenharmony_ci 14358c2ecf20Sopenharmony_cistatic struct clk_branch gcc_gpu_memnoc_gfx_clk = { 14368c2ecf20Sopenharmony_ci .halt_reg = 0x7100c, 14378c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_VOTED, 14388c2ecf20Sopenharmony_ci .clkr = { 14398c2ecf20Sopenharmony_ci .enable_reg = 0x7100c, 14408c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 14418c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 14428c2ecf20Sopenharmony_ci .name = "gcc_gpu_memnoc_gfx_clk", 14438c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 14448c2ecf20Sopenharmony_ci }, 14458c2ecf20Sopenharmony_ci }, 14468c2ecf20Sopenharmony_ci}; 14478c2ecf20Sopenharmony_ci 14488c2ecf20Sopenharmony_cistatic struct clk_branch gcc_gpu_snoc_dvm_gfx_clk = { 14498c2ecf20Sopenharmony_ci .halt_reg = 0x71018, 14508c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT, 14518c2ecf20Sopenharmony_ci .clkr = { 14528c2ecf20Sopenharmony_ci .enable_reg = 0x71018, 14538c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 14548c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 14558c2ecf20Sopenharmony_ci .name = "gcc_gpu_snoc_dvm_gfx_clk", 14568c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 14578c2ecf20Sopenharmony_ci }, 14588c2ecf20Sopenharmony_ci }, 14598c2ecf20Sopenharmony_ci}; 14608c2ecf20Sopenharmony_ci 14618c2ecf20Sopenharmony_cistatic struct clk_branch gcc_npu_axi_clk = { 14628c2ecf20Sopenharmony_ci .halt_reg = 0x4d008, 14638c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_VOTED, 14648c2ecf20Sopenharmony_ci .clkr = { 14658c2ecf20Sopenharmony_ci .enable_reg = 0x4d008, 14668c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 14678c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 14688c2ecf20Sopenharmony_ci .name = "gcc_npu_axi_clk", 14698c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 14708c2ecf20Sopenharmony_ci }, 14718c2ecf20Sopenharmony_ci }, 14728c2ecf20Sopenharmony_ci}; 14738c2ecf20Sopenharmony_ci 14748c2ecf20Sopenharmony_cistatic struct clk_branch gcc_npu_bwmon_axi_clk = { 14758c2ecf20Sopenharmony_ci .halt_reg = 0x73008, 14768c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_VOTED, 14778c2ecf20Sopenharmony_ci .clkr = { 14788c2ecf20Sopenharmony_ci .enable_reg = 0x73008, 14798c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 14808c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 14818c2ecf20Sopenharmony_ci .name = "gcc_npu_bwmon_axi_clk", 14828c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 14838c2ecf20Sopenharmony_ci }, 14848c2ecf20Sopenharmony_ci }, 14858c2ecf20Sopenharmony_ci}; 14868c2ecf20Sopenharmony_ci 14878c2ecf20Sopenharmony_cistatic struct clk_branch gcc_npu_bwmon_cfg_ahb_clk = { 14888c2ecf20Sopenharmony_ci .halt_reg = 0x73004, 14898c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT, 14908c2ecf20Sopenharmony_ci .clkr = { 14918c2ecf20Sopenharmony_ci .enable_reg = 0x73004, 14928c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 14938c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 14948c2ecf20Sopenharmony_ci .name = "gcc_npu_bwmon_cfg_ahb_clk", 14958c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 14968c2ecf20Sopenharmony_ci }, 14978c2ecf20Sopenharmony_ci }, 14988c2ecf20Sopenharmony_ci}; 14998c2ecf20Sopenharmony_ci 15008c2ecf20Sopenharmony_cistatic struct clk_branch gcc_npu_cfg_ahb_clk = { 15018c2ecf20Sopenharmony_ci .halt_reg = 0x4d004, 15028c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT, 15038c2ecf20Sopenharmony_ci .hwcg_reg = 0x4d004, 15048c2ecf20Sopenharmony_ci .hwcg_bit = 1, 15058c2ecf20Sopenharmony_ci .clkr = { 15068c2ecf20Sopenharmony_ci .enable_reg = 0x4d004, 15078c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 15088c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 15098c2ecf20Sopenharmony_ci .name = "gcc_npu_cfg_ahb_clk", 15108c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 15118c2ecf20Sopenharmony_ci }, 15128c2ecf20Sopenharmony_ci }, 15138c2ecf20Sopenharmony_ci}; 15148c2ecf20Sopenharmony_ci 15158c2ecf20Sopenharmony_cistatic struct clk_branch gcc_npu_dma_clk = { 15168c2ecf20Sopenharmony_ci .halt_reg = 0x4d00c, 15178c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_VOTED, 15188c2ecf20Sopenharmony_ci .clkr = { 15198c2ecf20Sopenharmony_ci .enable_reg = 0x4d00c, 15208c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 15218c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 15228c2ecf20Sopenharmony_ci .name = "gcc_npu_dma_clk", 15238c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 15248c2ecf20Sopenharmony_ci }, 15258c2ecf20Sopenharmony_ci }, 15268c2ecf20Sopenharmony_ci}; 15278c2ecf20Sopenharmony_ci 15288c2ecf20Sopenharmony_cistatic struct clk_branch gcc_npu_gpll0_clk_src = { 15298c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_DELAY, 15308c2ecf20Sopenharmony_ci .clkr = { 15318c2ecf20Sopenharmony_ci .enable_reg = 0x52000, 15328c2ecf20Sopenharmony_ci .enable_mask = BIT(18), 15338c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 15348c2ecf20Sopenharmony_ci .name = "gcc_npu_gpll0_clk_src", 15358c2ecf20Sopenharmony_ci .parent_data = &(const struct clk_parent_data){ 15368c2ecf20Sopenharmony_ci .hw = &gpll0.clkr.hw, 15378c2ecf20Sopenharmony_ci }, 15388c2ecf20Sopenharmony_ci .num_parents = 1, 15398c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 15408c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 15418c2ecf20Sopenharmony_ci }, 15428c2ecf20Sopenharmony_ci }, 15438c2ecf20Sopenharmony_ci}; 15448c2ecf20Sopenharmony_ci 15458c2ecf20Sopenharmony_cistatic struct clk_branch gcc_npu_gpll0_div_clk_src = { 15468c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_DELAY, 15478c2ecf20Sopenharmony_ci .clkr = { 15488c2ecf20Sopenharmony_ci .enable_reg = 0x52000, 15498c2ecf20Sopenharmony_ci .enable_mask = BIT(19), 15508c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 15518c2ecf20Sopenharmony_ci .name = "gcc_npu_gpll0_div_clk_src", 15528c2ecf20Sopenharmony_ci .parent_data = &(const struct clk_parent_data){ 15538c2ecf20Sopenharmony_ci .hw = &gpll0_out_even.clkr.hw, 15548c2ecf20Sopenharmony_ci }, 15558c2ecf20Sopenharmony_ci .num_parents = 1, 15568c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 15578c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 15588c2ecf20Sopenharmony_ci }, 15598c2ecf20Sopenharmony_ci }, 15608c2ecf20Sopenharmony_ci}; 15618c2ecf20Sopenharmony_ci 15628c2ecf20Sopenharmony_cistatic struct clk_branch gcc_pcie0_phy_refgen_clk = { 15638c2ecf20Sopenharmony_ci .halt_reg = 0x6f02c, 15648c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT, 15658c2ecf20Sopenharmony_ci .clkr = { 15668c2ecf20Sopenharmony_ci .enable_reg = 0x6f02c, 15678c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 15688c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 15698c2ecf20Sopenharmony_ci .name = "gcc_pcie0_phy_refgen_clk", 15708c2ecf20Sopenharmony_ci .parent_data = &(const struct clk_parent_data){ 15718c2ecf20Sopenharmony_ci .hw = &gcc_pcie_phy_refgen_clk_src.clkr.hw, 15728c2ecf20Sopenharmony_ci }, 15738c2ecf20Sopenharmony_ci .num_parents = 1, 15748c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 15758c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 15768c2ecf20Sopenharmony_ci }, 15778c2ecf20Sopenharmony_ci }, 15788c2ecf20Sopenharmony_ci}; 15798c2ecf20Sopenharmony_ci 15808c2ecf20Sopenharmony_cistatic struct clk_branch gcc_pcie1_phy_refgen_clk = { 15818c2ecf20Sopenharmony_ci .halt_reg = 0x6f030, 15828c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT, 15838c2ecf20Sopenharmony_ci .clkr = { 15848c2ecf20Sopenharmony_ci .enable_reg = 0x6f030, 15858c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 15868c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 15878c2ecf20Sopenharmony_ci .name = "gcc_pcie1_phy_refgen_clk", 15888c2ecf20Sopenharmony_ci .parent_data = &(const struct clk_parent_data){ 15898c2ecf20Sopenharmony_ci .hw = &gcc_pcie_phy_refgen_clk_src.clkr.hw, 15908c2ecf20Sopenharmony_ci }, 15918c2ecf20Sopenharmony_ci .num_parents = 1, 15928c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 15938c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 15948c2ecf20Sopenharmony_ci }, 15958c2ecf20Sopenharmony_ci }, 15968c2ecf20Sopenharmony_ci}; 15978c2ecf20Sopenharmony_ci 15988c2ecf20Sopenharmony_cistatic struct clk_branch gcc_pcie2_phy_refgen_clk = { 15998c2ecf20Sopenharmony_ci .halt_reg = 0x6f034, 16008c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT, 16018c2ecf20Sopenharmony_ci .clkr = { 16028c2ecf20Sopenharmony_ci .enable_reg = 0x6f034, 16038c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 16048c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 16058c2ecf20Sopenharmony_ci .name = "gcc_pcie2_phy_refgen_clk", 16068c2ecf20Sopenharmony_ci .parent_data = &(const struct clk_parent_data){ 16078c2ecf20Sopenharmony_ci .hw = &gcc_pcie_phy_refgen_clk_src.clkr.hw, 16088c2ecf20Sopenharmony_ci }, 16098c2ecf20Sopenharmony_ci .num_parents = 1, 16108c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 16118c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 16128c2ecf20Sopenharmony_ci }, 16138c2ecf20Sopenharmony_ci }, 16148c2ecf20Sopenharmony_ci}; 16158c2ecf20Sopenharmony_ci 16168c2ecf20Sopenharmony_cistatic struct clk_branch gcc_pcie_0_aux_clk = { 16178c2ecf20Sopenharmony_ci .halt_reg = 0x6b028, 16188c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_VOTED, 16198c2ecf20Sopenharmony_ci .clkr = { 16208c2ecf20Sopenharmony_ci .enable_reg = 0x52008, 16218c2ecf20Sopenharmony_ci .enable_mask = BIT(3), 16228c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 16238c2ecf20Sopenharmony_ci .name = "gcc_pcie_0_aux_clk", 16248c2ecf20Sopenharmony_ci .parent_data = &(const struct clk_parent_data){ 16258c2ecf20Sopenharmony_ci .hw = &gcc_pcie_0_aux_clk_src.clkr.hw, 16268c2ecf20Sopenharmony_ci }, 16278c2ecf20Sopenharmony_ci .num_parents = 1, 16288c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 16298c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 16308c2ecf20Sopenharmony_ci }, 16318c2ecf20Sopenharmony_ci }, 16328c2ecf20Sopenharmony_ci}; 16338c2ecf20Sopenharmony_ci 16348c2ecf20Sopenharmony_cistatic struct clk_branch gcc_pcie_0_cfg_ahb_clk = { 16358c2ecf20Sopenharmony_ci .halt_reg = 0x6b024, 16368c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_VOTED, 16378c2ecf20Sopenharmony_ci .hwcg_reg = 0x6b024, 16388c2ecf20Sopenharmony_ci .hwcg_bit = 1, 16398c2ecf20Sopenharmony_ci .clkr = { 16408c2ecf20Sopenharmony_ci .enable_reg = 0x52008, 16418c2ecf20Sopenharmony_ci .enable_mask = BIT(2), 16428c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 16438c2ecf20Sopenharmony_ci .name = "gcc_pcie_0_cfg_ahb_clk", 16448c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 16458c2ecf20Sopenharmony_ci }, 16468c2ecf20Sopenharmony_ci }, 16478c2ecf20Sopenharmony_ci}; 16488c2ecf20Sopenharmony_ci 16498c2ecf20Sopenharmony_cistatic struct clk_branch gcc_pcie_0_mstr_axi_clk = { 16508c2ecf20Sopenharmony_ci .halt_reg = 0x6b01c, 16518c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_VOTED, 16528c2ecf20Sopenharmony_ci .clkr = { 16538c2ecf20Sopenharmony_ci .enable_reg = 0x52008, 16548c2ecf20Sopenharmony_ci .enable_mask = BIT(1), 16558c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 16568c2ecf20Sopenharmony_ci .name = "gcc_pcie_0_mstr_axi_clk", 16578c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 16588c2ecf20Sopenharmony_ci }, 16598c2ecf20Sopenharmony_ci }, 16608c2ecf20Sopenharmony_ci}; 16618c2ecf20Sopenharmony_ci 16628c2ecf20Sopenharmony_cistatic struct clk_branch gcc_pcie_0_pipe_clk = { 16638c2ecf20Sopenharmony_ci .halt_reg = 0x6b02c, 16648c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_SKIP, 16658c2ecf20Sopenharmony_ci .clkr = { 16668c2ecf20Sopenharmony_ci .enable_reg = 0x52008, 16678c2ecf20Sopenharmony_ci .enable_mask = BIT(4), 16688c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 16698c2ecf20Sopenharmony_ci .name = "gcc_pcie_0_pipe_clk", 16708c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 16718c2ecf20Sopenharmony_ci }, 16728c2ecf20Sopenharmony_ci }, 16738c2ecf20Sopenharmony_ci}; 16748c2ecf20Sopenharmony_ci 16758c2ecf20Sopenharmony_cistatic struct clk_branch gcc_pcie_0_slv_axi_clk = { 16768c2ecf20Sopenharmony_ci .halt_reg = 0x6b014, 16778c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_VOTED, 16788c2ecf20Sopenharmony_ci .hwcg_reg = 0x6b014, 16798c2ecf20Sopenharmony_ci .hwcg_bit = 1, 16808c2ecf20Sopenharmony_ci .clkr = { 16818c2ecf20Sopenharmony_ci .enable_reg = 0x52008, 16828c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 16838c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 16848c2ecf20Sopenharmony_ci .name = "gcc_pcie_0_slv_axi_clk", 16858c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 16868c2ecf20Sopenharmony_ci }, 16878c2ecf20Sopenharmony_ci }, 16888c2ecf20Sopenharmony_ci}; 16898c2ecf20Sopenharmony_ci 16908c2ecf20Sopenharmony_cistatic struct clk_branch gcc_pcie_0_slv_q2a_axi_clk = { 16918c2ecf20Sopenharmony_ci .halt_reg = 0x6b010, 16928c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_VOTED, 16938c2ecf20Sopenharmony_ci .clkr = { 16948c2ecf20Sopenharmony_ci .enable_reg = 0x52008, 16958c2ecf20Sopenharmony_ci .enable_mask = BIT(5), 16968c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 16978c2ecf20Sopenharmony_ci .name = "gcc_pcie_0_slv_q2a_axi_clk", 16988c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 16998c2ecf20Sopenharmony_ci }, 17008c2ecf20Sopenharmony_ci }, 17018c2ecf20Sopenharmony_ci}; 17028c2ecf20Sopenharmony_ci 17038c2ecf20Sopenharmony_cistatic struct clk_branch gcc_pcie_1_aux_clk = { 17048c2ecf20Sopenharmony_ci .halt_reg = 0x8d028, 17058c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_VOTED, 17068c2ecf20Sopenharmony_ci .clkr = { 17078c2ecf20Sopenharmony_ci .enable_reg = 0x52000, 17088c2ecf20Sopenharmony_ci .enable_mask = BIT(29), 17098c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 17108c2ecf20Sopenharmony_ci .name = "gcc_pcie_1_aux_clk", 17118c2ecf20Sopenharmony_ci .parent_data = &(const struct clk_parent_data){ 17128c2ecf20Sopenharmony_ci .hw = &gcc_pcie_1_aux_clk_src.clkr.hw, 17138c2ecf20Sopenharmony_ci }, 17148c2ecf20Sopenharmony_ci .num_parents = 1, 17158c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 17168c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 17178c2ecf20Sopenharmony_ci }, 17188c2ecf20Sopenharmony_ci }, 17198c2ecf20Sopenharmony_ci}; 17208c2ecf20Sopenharmony_ci 17218c2ecf20Sopenharmony_cistatic struct clk_branch gcc_pcie_1_cfg_ahb_clk = { 17228c2ecf20Sopenharmony_ci .halt_reg = 0x8d024, 17238c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_VOTED, 17248c2ecf20Sopenharmony_ci .hwcg_reg = 0x8d024, 17258c2ecf20Sopenharmony_ci .hwcg_bit = 1, 17268c2ecf20Sopenharmony_ci .clkr = { 17278c2ecf20Sopenharmony_ci .enable_reg = 0x52000, 17288c2ecf20Sopenharmony_ci .enable_mask = BIT(28), 17298c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 17308c2ecf20Sopenharmony_ci .name = "gcc_pcie_1_cfg_ahb_clk", 17318c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 17328c2ecf20Sopenharmony_ci }, 17338c2ecf20Sopenharmony_ci }, 17348c2ecf20Sopenharmony_ci}; 17358c2ecf20Sopenharmony_ci 17368c2ecf20Sopenharmony_cistatic struct clk_branch gcc_pcie_1_mstr_axi_clk = { 17378c2ecf20Sopenharmony_ci .halt_reg = 0x8d01c, 17388c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_VOTED, 17398c2ecf20Sopenharmony_ci .clkr = { 17408c2ecf20Sopenharmony_ci .enable_reg = 0x52000, 17418c2ecf20Sopenharmony_ci .enable_mask = BIT(27), 17428c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 17438c2ecf20Sopenharmony_ci .name = "gcc_pcie_1_mstr_axi_clk", 17448c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 17458c2ecf20Sopenharmony_ci }, 17468c2ecf20Sopenharmony_ci }, 17478c2ecf20Sopenharmony_ci}; 17488c2ecf20Sopenharmony_ci 17498c2ecf20Sopenharmony_cistatic struct clk_branch gcc_pcie_1_pipe_clk = { 17508c2ecf20Sopenharmony_ci .halt_reg = 0x8d02c, 17518c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_SKIP, 17528c2ecf20Sopenharmony_ci .clkr = { 17538c2ecf20Sopenharmony_ci .enable_reg = 0x52000, 17548c2ecf20Sopenharmony_ci .enable_mask = BIT(30), 17558c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 17568c2ecf20Sopenharmony_ci .name = "gcc_pcie_1_pipe_clk", 17578c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 17588c2ecf20Sopenharmony_ci }, 17598c2ecf20Sopenharmony_ci }, 17608c2ecf20Sopenharmony_ci}; 17618c2ecf20Sopenharmony_ci 17628c2ecf20Sopenharmony_cistatic struct clk_branch gcc_pcie_1_slv_axi_clk = { 17638c2ecf20Sopenharmony_ci .halt_reg = 0x8d014, 17648c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_VOTED, 17658c2ecf20Sopenharmony_ci .hwcg_reg = 0x8d014, 17668c2ecf20Sopenharmony_ci .hwcg_bit = 1, 17678c2ecf20Sopenharmony_ci .clkr = { 17688c2ecf20Sopenharmony_ci .enable_reg = 0x52000, 17698c2ecf20Sopenharmony_ci .enable_mask = BIT(26), 17708c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 17718c2ecf20Sopenharmony_ci .name = "gcc_pcie_1_slv_axi_clk", 17728c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 17738c2ecf20Sopenharmony_ci }, 17748c2ecf20Sopenharmony_ci }, 17758c2ecf20Sopenharmony_ci}; 17768c2ecf20Sopenharmony_ci 17778c2ecf20Sopenharmony_cistatic struct clk_branch gcc_pcie_1_slv_q2a_axi_clk = { 17788c2ecf20Sopenharmony_ci .halt_reg = 0x8d010, 17798c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_VOTED, 17808c2ecf20Sopenharmony_ci .clkr = { 17818c2ecf20Sopenharmony_ci .enable_reg = 0x52000, 17828c2ecf20Sopenharmony_ci .enable_mask = BIT(25), 17838c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 17848c2ecf20Sopenharmony_ci .name = "gcc_pcie_1_slv_q2a_axi_clk", 17858c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 17868c2ecf20Sopenharmony_ci }, 17878c2ecf20Sopenharmony_ci }, 17888c2ecf20Sopenharmony_ci}; 17898c2ecf20Sopenharmony_ci 17908c2ecf20Sopenharmony_cistatic struct clk_branch gcc_pcie_2_aux_clk = { 17918c2ecf20Sopenharmony_ci .halt_reg = 0x6028, 17928c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_VOTED, 17938c2ecf20Sopenharmony_ci .clkr = { 17948c2ecf20Sopenharmony_ci .enable_reg = 0x52010, 17958c2ecf20Sopenharmony_ci .enable_mask = BIT(14), 17968c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 17978c2ecf20Sopenharmony_ci .name = "gcc_pcie_2_aux_clk", 17988c2ecf20Sopenharmony_ci .parent_data = &(const struct clk_parent_data){ 17998c2ecf20Sopenharmony_ci .hw = &gcc_pcie_2_aux_clk_src.clkr.hw, 18008c2ecf20Sopenharmony_ci }, 18018c2ecf20Sopenharmony_ci .num_parents = 1, 18028c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 18038c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 18048c2ecf20Sopenharmony_ci }, 18058c2ecf20Sopenharmony_ci }, 18068c2ecf20Sopenharmony_ci}; 18078c2ecf20Sopenharmony_ci 18088c2ecf20Sopenharmony_cistatic struct clk_branch gcc_pcie_2_cfg_ahb_clk = { 18098c2ecf20Sopenharmony_ci .halt_reg = 0x6024, 18108c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_VOTED, 18118c2ecf20Sopenharmony_ci .hwcg_reg = 0x6024, 18128c2ecf20Sopenharmony_ci .hwcg_bit = 1, 18138c2ecf20Sopenharmony_ci .clkr = { 18148c2ecf20Sopenharmony_ci .enable_reg = 0x52010, 18158c2ecf20Sopenharmony_ci .enable_mask = BIT(13), 18168c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 18178c2ecf20Sopenharmony_ci .name = "gcc_pcie_2_cfg_ahb_clk", 18188c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 18198c2ecf20Sopenharmony_ci }, 18208c2ecf20Sopenharmony_ci }, 18218c2ecf20Sopenharmony_ci}; 18228c2ecf20Sopenharmony_ci 18238c2ecf20Sopenharmony_cistatic struct clk_branch gcc_pcie_2_mstr_axi_clk = { 18248c2ecf20Sopenharmony_ci .halt_reg = 0x601c, 18258c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_VOTED, 18268c2ecf20Sopenharmony_ci .clkr = { 18278c2ecf20Sopenharmony_ci .enable_reg = 0x52010, 18288c2ecf20Sopenharmony_ci .enable_mask = BIT(12), 18298c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 18308c2ecf20Sopenharmony_ci .name = "gcc_pcie_2_mstr_axi_clk", 18318c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 18328c2ecf20Sopenharmony_ci }, 18338c2ecf20Sopenharmony_ci }, 18348c2ecf20Sopenharmony_ci}; 18358c2ecf20Sopenharmony_ci 18368c2ecf20Sopenharmony_cistatic struct clk_branch gcc_pcie_2_pipe_clk = { 18378c2ecf20Sopenharmony_ci .halt_reg = 0x602c, 18388c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_SKIP, 18398c2ecf20Sopenharmony_ci .clkr = { 18408c2ecf20Sopenharmony_ci .enable_reg = 0x52010, 18418c2ecf20Sopenharmony_ci .enable_mask = BIT(15), 18428c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 18438c2ecf20Sopenharmony_ci .name = "gcc_pcie_2_pipe_clk", 18448c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 18458c2ecf20Sopenharmony_ci }, 18468c2ecf20Sopenharmony_ci }, 18478c2ecf20Sopenharmony_ci}; 18488c2ecf20Sopenharmony_ci 18498c2ecf20Sopenharmony_cistatic struct clk_branch gcc_pcie_2_slv_axi_clk = { 18508c2ecf20Sopenharmony_ci .halt_reg = 0x6014, 18518c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_VOTED, 18528c2ecf20Sopenharmony_ci .hwcg_reg = 0x6014, 18538c2ecf20Sopenharmony_ci .hwcg_bit = 1, 18548c2ecf20Sopenharmony_ci .clkr = { 18558c2ecf20Sopenharmony_ci .enable_reg = 0x52010, 18568c2ecf20Sopenharmony_ci .enable_mask = BIT(11), 18578c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 18588c2ecf20Sopenharmony_ci .name = "gcc_pcie_2_slv_axi_clk", 18598c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 18608c2ecf20Sopenharmony_ci }, 18618c2ecf20Sopenharmony_ci }, 18628c2ecf20Sopenharmony_ci}; 18638c2ecf20Sopenharmony_ci 18648c2ecf20Sopenharmony_cistatic struct clk_branch gcc_pcie_2_slv_q2a_axi_clk = { 18658c2ecf20Sopenharmony_ci .halt_reg = 0x6010, 18668c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_VOTED, 18678c2ecf20Sopenharmony_ci .clkr = { 18688c2ecf20Sopenharmony_ci .enable_reg = 0x52010, 18698c2ecf20Sopenharmony_ci .enable_mask = BIT(10), 18708c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 18718c2ecf20Sopenharmony_ci .name = "gcc_pcie_2_slv_q2a_axi_clk", 18728c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 18738c2ecf20Sopenharmony_ci }, 18748c2ecf20Sopenharmony_ci }, 18758c2ecf20Sopenharmony_ci}; 18768c2ecf20Sopenharmony_ci 18778c2ecf20Sopenharmony_cistatic struct clk_branch gcc_pcie_mdm_clkref_en = { 18788c2ecf20Sopenharmony_ci .halt_reg = 0x8c00c, 18798c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT, 18808c2ecf20Sopenharmony_ci .clkr = { 18818c2ecf20Sopenharmony_ci .enable_reg = 0x8c00c, 18828c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 18838c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 18848c2ecf20Sopenharmony_ci .name = "gcc_pcie_mdm_clkref_en", 18858c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 18868c2ecf20Sopenharmony_ci }, 18878c2ecf20Sopenharmony_ci }, 18888c2ecf20Sopenharmony_ci}; 18898c2ecf20Sopenharmony_ci 18908c2ecf20Sopenharmony_cistatic struct clk_branch gcc_pcie_phy_aux_clk = { 18918c2ecf20Sopenharmony_ci .halt_reg = 0x6f004, 18928c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT, 18938c2ecf20Sopenharmony_ci .clkr = { 18948c2ecf20Sopenharmony_ci .enable_reg = 0x6f004, 18958c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 18968c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 18978c2ecf20Sopenharmony_ci .name = "gcc_pcie_phy_aux_clk", 18988c2ecf20Sopenharmony_ci .parent_data = &(const struct clk_parent_data){ 18998c2ecf20Sopenharmony_ci .hw = &gcc_pcie_0_aux_clk_src.clkr.hw, 19008c2ecf20Sopenharmony_ci }, 19018c2ecf20Sopenharmony_ci .num_parents = 1, 19028c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 19038c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 19048c2ecf20Sopenharmony_ci }, 19058c2ecf20Sopenharmony_ci }, 19068c2ecf20Sopenharmony_ci}; 19078c2ecf20Sopenharmony_ci 19088c2ecf20Sopenharmony_cistatic struct clk_branch gcc_pcie_wifi_clkref_en = { 19098c2ecf20Sopenharmony_ci .halt_reg = 0x8c004, 19108c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT, 19118c2ecf20Sopenharmony_ci .clkr = { 19128c2ecf20Sopenharmony_ci .enable_reg = 0x8c004, 19138c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 19148c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 19158c2ecf20Sopenharmony_ci .name = "gcc_pcie_wifi_clkref_en", 19168c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 19178c2ecf20Sopenharmony_ci }, 19188c2ecf20Sopenharmony_ci }, 19198c2ecf20Sopenharmony_ci}; 19208c2ecf20Sopenharmony_ci 19218c2ecf20Sopenharmony_cistatic struct clk_branch gcc_pcie_wigig_clkref_en = { 19228c2ecf20Sopenharmony_ci .halt_reg = 0x8c008, 19238c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT, 19248c2ecf20Sopenharmony_ci .clkr = { 19258c2ecf20Sopenharmony_ci .enable_reg = 0x8c008, 19268c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 19278c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 19288c2ecf20Sopenharmony_ci .name = "gcc_pcie_wigig_clkref_en", 19298c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 19308c2ecf20Sopenharmony_ci }, 19318c2ecf20Sopenharmony_ci }, 19328c2ecf20Sopenharmony_ci}; 19338c2ecf20Sopenharmony_ci 19348c2ecf20Sopenharmony_cistatic struct clk_branch gcc_pdm2_clk = { 19358c2ecf20Sopenharmony_ci .halt_reg = 0x3300c, 19368c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT, 19378c2ecf20Sopenharmony_ci .clkr = { 19388c2ecf20Sopenharmony_ci .enable_reg = 0x3300c, 19398c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 19408c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 19418c2ecf20Sopenharmony_ci .name = "gcc_pdm2_clk", 19428c2ecf20Sopenharmony_ci .parent_data = &(const struct clk_parent_data){ 19438c2ecf20Sopenharmony_ci .hw = &gcc_pdm2_clk_src.clkr.hw, 19448c2ecf20Sopenharmony_ci }, 19458c2ecf20Sopenharmony_ci .num_parents = 1, 19468c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 19478c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 19488c2ecf20Sopenharmony_ci }, 19498c2ecf20Sopenharmony_ci }, 19508c2ecf20Sopenharmony_ci}; 19518c2ecf20Sopenharmony_ci 19528c2ecf20Sopenharmony_cistatic struct clk_branch gcc_pdm_ahb_clk = { 19538c2ecf20Sopenharmony_ci .halt_reg = 0x33004, 19548c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT, 19558c2ecf20Sopenharmony_ci .hwcg_reg = 0x33004, 19568c2ecf20Sopenharmony_ci .hwcg_bit = 1, 19578c2ecf20Sopenharmony_ci .clkr = { 19588c2ecf20Sopenharmony_ci .enable_reg = 0x33004, 19598c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 19608c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 19618c2ecf20Sopenharmony_ci .name = "gcc_pdm_ahb_clk", 19628c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 19638c2ecf20Sopenharmony_ci }, 19648c2ecf20Sopenharmony_ci }, 19658c2ecf20Sopenharmony_ci}; 19668c2ecf20Sopenharmony_ci 19678c2ecf20Sopenharmony_cistatic struct clk_branch gcc_pdm_xo4_clk = { 19688c2ecf20Sopenharmony_ci .halt_reg = 0x33008, 19698c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT, 19708c2ecf20Sopenharmony_ci .clkr = { 19718c2ecf20Sopenharmony_ci .enable_reg = 0x33008, 19728c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 19738c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 19748c2ecf20Sopenharmony_ci .name = "gcc_pdm_xo4_clk", 19758c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 19768c2ecf20Sopenharmony_ci }, 19778c2ecf20Sopenharmony_ci }, 19788c2ecf20Sopenharmony_ci}; 19798c2ecf20Sopenharmony_ci 19808c2ecf20Sopenharmony_cistatic struct clk_branch gcc_prng_ahb_clk = { 19818c2ecf20Sopenharmony_ci .halt_reg = 0x34004, 19828c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_VOTED, 19838c2ecf20Sopenharmony_ci .clkr = { 19848c2ecf20Sopenharmony_ci .enable_reg = 0x52000, 19858c2ecf20Sopenharmony_ci .enable_mask = BIT(13), 19868c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 19878c2ecf20Sopenharmony_ci .name = "gcc_prng_ahb_clk", 19888c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 19898c2ecf20Sopenharmony_ci }, 19908c2ecf20Sopenharmony_ci }, 19918c2ecf20Sopenharmony_ci}; 19928c2ecf20Sopenharmony_ci 19938c2ecf20Sopenharmony_cistatic struct clk_branch gcc_qmip_camera_nrt_ahb_clk = { 19948c2ecf20Sopenharmony_ci .halt_reg = 0xb018, 19958c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_VOTED, 19968c2ecf20Sopenharmony_ci .hwcg_reg = 0xb018, 19978c2ecf20Sopenharmony_ci .hwcg_bit = 1, 19988c2ecf20Sopenharmony_ci .clkr = { 19998c2ecf20Sopenharmony_ci .enable_reg = 0xb018, 20008c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 20018c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 20028c2ecf20Sopenharmony_ci .name = "gcc_qmip_camera_nrt_ahb_clk", 20038c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 20048c2ecf20Sopenharmony_ci }, 20058c2ecf20Sopenharmony_ci }, 20068c2ecf20Sopenharmony_ci}; 20078c2ecf20Sopenharmony_ci 20088c2ecf20Sopenharmony_cistatic struct clk_branch gcc_qmip_camera_rt_ahb_clk = { 20098c2ecf20Sopenharmony_ci .halt_reg = 0xb01c, 20108c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_VOTED, 20118c2ecf20Sopenharmony_ci .hwcg_reg = 0xb01c, 20128c2ecf20Sopenharmony_ci .hwcg_bit = 1, 20138c2ecf20Sopenharmony_ci .clkr = { 20148c2ecf20Sopenharmony_ci .enable_reg = 0xb01c, 20158c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 20168c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 20178c2ecf20Sopenharmony_ci .name = "gcc_qmip_camera_rt_ahb_clk", 20188c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 20198c2ecf20Sopenharmony_ci }, 20208c2ecf20Sopenharmony_ci }, 20218c2ecf20Sopenharmony_ci}; 20228c2ecf20Sopenharmony_ci 20238c2ecf20Sopenharmony_cistatic struct clk_branch gcc_qmip_disp_ahb_clk = { 20248c2ecf20Sopenharmony_ci .halt_reg = 0xb020, 20258c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_VOTED, 20268c2ecf20Sopenharmony_ci .hwcg_reg = 0xb020, 20278c2ecf20Sopenharmony_ci .hwcg_bit = 1, 20288c2ecf20Sopenharmony_ci .clkr = { 20298c2ecf20Sopenharmony_ci .enable_reg = 0xb020, 20308c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 20318c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 20328c2ecf20Sopenharmony_ci .name = "gcc_qmip_disp_ahb_clk", 20338c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 20348c2ecf20Sopenharmony_ci }, 20358c2ecf20Sopenharmony_ci }, 20368c2ecf20Sopenharmony_ci}; 20378c2ecf20Sopenharmony_ci 20388c2ecf20Sopenharmony_cistatic struct clk_branch gcc_qmip_video_cvp_ahb_clk = { 20398c2ecf20Sopenharmony_ci .halt_reg = 0xb010, 20408c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_VOTED, 20418c2ecf20Sopenharmony_ci .hwcg_reg = 0xb010, 20428c2ecf20Sopenharmony_ci .hwcg_bit = 1, 20438c2ecf20Sopenharmony_ci .clkr = { 20448c2ecf20Sopenharmony_ci .enable_reg = 0xb010, 20458c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 20468c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 20478c2ecf20Sopenharmony_ci .name = "gcc_qmip_video_cvp_ahb_clk", 20488c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 20498c2ecf20Sopenharmony_ci }, 20508c2ecf20Sopenharmony_ci }, 20518c2ecf20Sopenharmony_ci}; 20528c2ecf20Sopenharmony_ci 20538c2ecf20Sopenharmony_cistatic struct clk_branch gcc_qmip_video_vcodec_ahb_clk = { 20548c2ecf20Sopenharmony_ci .halt_reg = 0xb014, 20558c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_VOTED, 20568c2ecf20Sopenharmony_ci .hwcg_reg = 0xb014, 20578c2ecf20Sopenharmony_ci .hwcg_bit = 1, 20588c2ecf20Sopenharmony_ci .clkr = { 20598c2ecf20Sopenharmony_ci .enable_reg = 0xb014, 20608c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 20618c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 20628c2ecf20Sopenharmony_ci .name = "gcc_qmip_video_vcodec_ahb_clk", 20638c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 20648c2ecf20Sopenharmony_ci }, 20658c2ecf20Sopenharmony_ci }, 20668c2ecf20Sopenharmony_ci}; 20678c2ecf20Sopenharmony_ci 20688c2ecf20Sopenharmony_cistatic struct clk_branch gcc_qupv3_wrap0_core_2x_clk = { 20698c2ecf20Sopenharmony_ci .halt_reg = 0x23008, 20708c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_VOTED, 20718c2ecf20Sopenharmony_ci .clkr = { 20728c2ecf20Sopenharmony_ci .enable_reg = 0x52008, 20738c2ecf20Sopenharmony_ci .enable_mask = BIT(9), 20748c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 20758c2ecf20Sopenharmony_ci .name = "gcc_qupv3_wrap0_core_2x_clk", 20768c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 20778c2ecf20Sopenharmony_ci }, 20788c2ecf20Sopenharmony_ci }, 20798c2ecf20Sopenharmony_ci}; 20808c2ecf20Sopenharmony_ci 20818c2ecf20Sopenharmony_cistatic struct clk_branch gcc_qupv3_wrap0_core_clk = { 20828c2ecf20Sopenharmony_ci .halt_reg = 0x23000, 20838c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_VOTED, 20848c2ecf20Sopenharmony_ci .clkr = { 20858c2ecf20Sopenharmony_ci .enable_reg = 0x52008, 20868c2ecf20Sopenharmony_ci .enable_mask = BIT(8), 20878c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 20888c2ecf20Sopenharmony_ci .name = "gcc_qupv3_wrap0_core_clk", 20898c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 20908c2ecf20Sopenharmony_ci }, 20918c2ecf20Sopenharmony_ci }, 20928c2ecf20Sopenharmony_ci}; 20938c2ecf20Sopenharmony_ci 20948c2ecf20Sopenharmony_cistatic struct clk_branch gcc_qupv3_wrap0_s0_clk = { 20958c2ecf20Sopenharmony_ci .halt_reg = 0x1700c, 20968c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_VOTED, 20978c2ecf20Sopenharmony_ci .clkr = { 20988c2ecf20Sopenharmony_ci .enable_reg = 0x52008, 20998c2ecf20Sopenharmony_ci .enable_mask = BIT(10), 21008c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 21018c2ecf20Sopenharmony_ci .name = "gcc_qupv3_wrap0_s0_clk", 21028c2ecf20Sopenharmony_ci .parent_data = &(const struct clk_parent_data){ 21038c2ecf20Sopenharmony_ci .hw = &gcc_qupv3_wrap0_s0_clk_src.clkr.hw, 21048c2ecf20Sopenharmony_ci }, 21058c2ecf20Sopenharmony_ci .num_parents = 1, 21068c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 21078c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 21088c2ecf20Sopenharmony_ci }, 21098c2ecf20Sopenharmony_ci }, 21108c2ecf20Sopenharmony_ci}; 21118c2ecf20Sopenharmony_ci 21128c2ecf20Sopenharmony_cistatic struct clk_branch gcc_qupv3_wrap0_s1_clk = { 21138c2ecf20Sopenharmony_ci .halt_reg = 0x1713c, 21148c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_VOTED, 21158c2ecf20Sopenharmony_ci .clkr = { 21168c2ecf20Sopenharmony_ci .enable_reg = 0x52008, 21178c2ecf20Sopenharmony_ci .enable_mask = BIT(11), 21188c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 21198c2ecf20Sopenharmony_ci .name = "gcc_qupv3_wrap0_s1_clk", 21208c2ecf20Sopenharmony_ci .parent_data = &(const struct clk_parent_data){ 21218c2ecf20Sopenharmony_ci .hw = &gcc_qupv3_wrap0_s1_clk_src.clkr.hw, 21228c2ecf20Sopenharmony_ci }, 21238c2ecf20Sopenharmony_ci .num_parents = 1, 21248c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 21258c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 21268c2ecf20Sopenharmony_ci }, 21278c2ecf20Sopenharmony_ci }, 21288c2ecf20Sopenharmony_ci}; 21298c2ecf20Sopenharmony_ci 21308c2ecf20Sopenharmony_cistatic struct clk_branch gcc_qupv3_wrap0_s2_clk = { 21318c2ecf20Sopenharmony_ci .halt_reg = 0x1726c, 21328c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_VOTED, 21338c2ecf20Sopenharmony_ci .clkr = { 21348c2ecf20Sopenharmony_ci .enable_reg = 0x52008, 21358c2ecf20Sopenharmony_ci .enable_mask = BIT(12), 21368c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 21378c2ecf20Sopenharmony_ci .name = "gcc_qupv3_wrap0_s2_clk", 21388c2ecf20Sopenharmony_ci .parent_data = &(const struct clk_parent_data){ 21398c2ecf20Sopenharmony_ci .hw = &gcc_qupv3_wrap0_s2_clk_src.clkr.hw, 21408c2ecf20Sopenharmony_ci }, 21418c2ecf20Sopenharmony_ci .num_parents = 1, 21428c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 21438c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 21448c2ecf20Sopenharmony_ci }, 21458c2ecf20Sopenharmony_ci }, 21468c2ecf20Sopenharmony_ci}; 21478c2ecf20Sopenharmony_ci 21488c2ecf20Sopenharmony_cistatic struct clk_branch gcc_qupv3_wrap0_s3_clk = { 21498c2ecf20Sopenharmony_ci .halt_reg = 0x1739c, 21508c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_VOTED, 21518c2ecf20Sopenharmony_ci .clkr = { 21528c2ecf20Sopenharmony_ci .enable_reg = 0x52008, 21538c2ecf20Sopenharmony_ci .enable_mask = BIT(13), 21548c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 21558c2ecf20Sopenharmony_ci .name = "gcc_qupv3_wrap0_s3_clk", 21568c2ecf20Sopenharmony_ci .parent_data = &(const struct clk_parent_data){ 21578c2ecf20Sopenharmony_ci .hw = &gcc_qupv3_wrap0_s3_clk_src.clkr.hw, 21588c2ecf20Sopenharmony_ci }, 21598c2ecf20Sopenharmony_ci .num_parents = 1, 21608c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 21618c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 21628c2ecf20Sopenharmony_ci }, 21638c2ecf20Sopenharmony_ci }, 21648c2ecf20Sopenharmony_ci}; 21658c2ecf20Sopenharmony_ci 21668c2ecf20Sopenharmony_cistatic struct clk_branch gcc_qupv3_wrap0_s4_clk = { 21678c2ecf20Sopenharmony_ci .halt_reg = 0x174cc, 21688c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_VOTED, 21698c2ecf20Sopenharmony_ci .clkr = { 21708c2ecf20Sopenharmony_ci .enable_reg = 0x52008, 21718c2ecf20Sopenharmony_ci .enable_mask = BIT(14), 21728c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 21738c2ecf20Sopenharmony_ci .name = "gcc_qupv3_wrap0_s4_clk", 21748c2ecf20Sopenharmony_ci .parent_data = &(const struct clk_parent_data){ 21758c2ecf20Sopenharmony_ci .hw = &gcc_qupv3_wrap0_s4_clk_src.clkr.hw, 21768c2ecf20Sopenharmony_ci }, 21778c2ecf20Sopenharmony_ci .num_parents = 1, 21788c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 21798c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 21808c2ecf20Sopenharmony_ci }, 21818c2ecf20Sopenharmony_ci }, 21828c2ecf20Sopenharmony_ci}; 21838c2ecf20Sopenharmony_ci 21848c2ecf20Sopenharmony_cistatic struct clk_branch gcc_qupv3_wrap0_s5_clk = { 21858c2ecf20Sopenharmony_ci .halt_reg = 0x175fc, 21868c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_VOTED, 21878c2ecf20Sopenharmony_ci .clkr = { 21888c2ecf20Sopenharmony_ci .enable_reg = 0x52008, 21898c2ecf20Sopenharmony_ci .enable_mask = BIT(15), 21908c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 21918c2ecf20Sopenharmony_ci .name = "gcc_qupv3_wrap0_s5_clk", 21928c2ecf20Sopenharmony_ci .parent_data = &(const struct clk_parent_data){ 21938c2ecf20Sopenharmony_ci .hw = &gcc_qupv3_wrap0_s5_clk_src.clkr.hw, 21948c2ecf20Sopenharmony_ci }, 21958c2ecf20Sopenharmony_ci .num_parents = 1, 21968c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 21978c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 21988c2ecf20Sopenharmony_ci }, 21998c2ecf20Sopenharmony_ci }, 22008c2ecf20Sopenharmony_ci}; 22018c2ecf20Sopenharmony_ci 22028c2ecf20Sopenharmony_cistatic struct clk_branch gcc_qupv3_wrap0_s6_clk = { 22038c2ecf20Sopenharmony_ci .halt_reg = 0x1772c, 22048c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_VOTED, 22058c2ecf20Sopenharmony_ci .clkr = { 22068c2ecf20Sopenharmony_ci .enable_reg = 0x52008, 22078c2ecf20Sopenharmony_ci .enable_mask = BIT(16), 22088c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 22098c2ecf20Sopenharmony_ci .name = "gcc_qupv3_wrap0_s6_clk", 22108c2ecf20Sopenharmony_ci .parent_data = &(const struct clk_parent_data){ 22118c2ecf20Sopenharmony_ci .hw = &gcc_qupv3_wrap0_s6_clk_src.clkr.hw, 22128c2ecf20Sopenharmony_ci }, 22138c2ecf20Sopenharmony_ci .num_parents = 1, 22148c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 22158c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 22168c2ecf20Sopenharmony_ci }, 22178c2ecf20Sopenharmony_ci }, 22188c2ecf20Sopenharmony_ci}; 22198c2ecf20Sopenharmony_ci 22208c2ecf20Sopenharmony_cistatic struct clk_branch gcc_qupv3_wrap0_s7_clk = { 22218c2ecf20Sopenharmony_ci .halt_reg = 0x1785c, 22228c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_VOTED, 22238c2ecf20Sopenharmony_ci .clkr = { 22248c2ecf20Sopenharmony_ci .enable_reg = 0x52008, 22258c2ecf20Sopenharmony_ci .enable_mask = BIT(17), 22268c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 22278c2ecf20Sopenharmony_ci .name = "gcc_qupv3_wrap0_s7_clk", 22288c2ecf20Sopenharmony_ci .parent_data = &(const struct clk_parent_data){ 22298c2ecf20Sopenharmony_ci .hw = &gcc_qupv3_wrap0_s7_clk_src.clkr.hw, 22308c2ecf20Sopenharmony_ci }, 22318c2ecf20Sopenharmony_ci .num_parents = 1, 22328c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 22338c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 22348c2ecf20Sopenharmony_ci }, 22358c2ecf20Sopenharmony_ci }, 22368c2ecf20Sopenharmony_ci}; 22378c2ecf20Sopenharmony_ci 22388c2ecf20Sopenharmony_cistatic struct clk_branch gcc_qupv3_wrap1_core_2x_clk = { 22398c2ecf20Sopenharmony_ci .halt_reg = 0x23140, 22408c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_VOTED, 22418c2ecf20Sopenharmony_ci .clkr = { 22428c2ecf20Sopenharmony_ci .enable_reg = 0x52008, 22438c2ecf20Sopenharmony_ci .enable_mask = BIT(18), 22448c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 22458c2ecf20Sopenharmony_ci .name = "gcc_qupv3_wrap1_core_2x_clk", 22468c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 22478c2ecf20Sopenharmony_ci }, 22488c2ecf20Sopenharmony_ci }, 22498c2ecf20Sopenharmony_ci}; 22508c2ecf20Sopenharmony_ci 22518c2ecf20Sopenharmony_cistatic struct clk_branch gcc_qupv3_wrap1_core_clk = { 22528c2ecf20Sopenharmony_ci .halt_reg = 0x23138, 22538c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_VOTED, 22548c2ecf20Sopenharmony_ci .clkr = { 22558c2ecf20Sopenharmony_ci .enable_reg = 0x52008, 22568c2ecf20Sopenharmony_ci .enable_mask = BIT(19), 22578c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 22588c2ecf20Sopenharmony_ci .name = "gcc_qupv3_wrap1_core_clk", 22598c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 22608c2ecf20Sopenharmony_ci }, 22618c2ecf20Sopenharmony_ci }, 22628c2ecf20Sopenharmony_ci}; 22638c2ecf20Sopenharmony_ci 22648c2ecf20Sopenharmony_cistatic struct clk_branch gcc_qupv3_wrap1_s0_clk = { 22658c2ecf20Sopenharmony_ci .halt_reg = 0x1800c, 22668c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_VOTED, 22678c2ecf20Sopenharmony_ci .clkr = { 22688c2ecf20Sopenharmony_ci .enable_reg = 0x52008, 22698c2ecf20Sopenharmony_ci .enable_mask = BIT(22), 22708c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 22718c2ecf20Sopenharmony_ci .name = "gcc_qupv3_wrap1_s0_clk", 22728c2ecf20Sopenharmony_ci .parent_data = &(const struct clk_parent_data){ 22738c2ecf20Sopenharmony_ci .hw = &gcc_qupv3_wrap1_s0_clk_src.clkr.hw, 22748c2ecf20Sopenharmony_ci }, 22758c2ecf20Sopenharmony_ci .num_parents = 1, 22768c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 22778c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 22788c2ecf20Sopenharmony_ci }, 22798c2ecf20Sopenharmony_ci }, 22808c2ecf20Sopenharmony_ci}; 22818c2ecf20Sopenharmony_ci 22828c2ecf20Sopenharmony_cistatic struct clk_branch gcc_qupv3_wrap1_s1_clk = { 22838c2ecf20Sopenharmony_ci .halt_reg = 0x1813c, 22848c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_VOTED, 22858c2ecf20Sopenharmony_ci .clkr = { 22868c2ecf20Sopenharmony_ci .enable_reg = 0x52008, 22878c2ecf20Sopenharmony_ci .enable_mask = BIT(23), 22888c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 22898c2ecf20Sopenharmony_ci .name = "gcc_qupv3_wrap1_s1_clk", 22908c2ecf20Sopenharmony_ci .parent_data = &(const struct clk_parent_data){ 22918c2ecf20Sopenharmony_ci .hw = &gcc_qupv3_wrap1_s1_clk_src.clkr.hw, 22928c2ecf20Sopenharmony_ci }, 22938c2ecf20Sopenharmony_ci .num_parents = 1, 22948c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 22958c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 22968c2ecf20Sopenharmony_ci }, 22978c2ecf20Sopenharmony_ci }, 22988c2ecf20Sopenharmony_ci}; 22998c2ecf20Sopenharmony_ci 23008c2ecf20Sopenharmony_cistatic struct clk_branch gcc_qupv3_wrap1_s2_clk = { 23018c2ecf20Sopenharmony_ci .halt_reg = 0x1826c, 23028c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_VOTED, 23038c2ecf20Sopenharmony_ci .clkr = { 23048c2ecf20Sopenharmony_ci .enable_reg = 0x52008, 23058c2ecf20Sopenharmony_ci .enable_mask = BIT(24), 23068c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 23078c2ecf20Sopenharmony_ci .name = "gcc_qupv3_wrap1_s2_clk", 23088c2ecf20Sopenharmony_ci .parent_data = &(const struct clk_parent_data){ 23098c2ecf20Sopenharmony_ci .hw = &gcc_qupv3_wrap1_s2_clk_src.clkr.hw, 23108c2ecf20Sopenharmony_ci }, 23118c2ecf20Sopenharmony_ci .num_parents = 1, 23128c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 23138c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 23148c2ecf20Sopenharmony_ci }, 23158c2ecf20Sopenharmony_ci }, 23168c2ecf20Sopenharmony_ci}; 23178c2ecf20Sopenharmony_ci 23188c2ecf20Sopenharmony_cistatic struct clk_branch gcc_qupv3_wrap1_s3_clk = { 23198c2ecf20Sopenharmony_ci .halt_reg = 0x1839c, 23208c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_VOTED, 23218c2ecf20Sopenharmony_ci .clkr = { 23228c2ecf20Sopenharmony_ci .enable_reg = 0x52008, 23238c2ecf20Sopenharmony_ci .enable_mask = BIT(25), 23248c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 23258c2ecf20Sopenharmony_ci .name = "gcc_qupv3_wrap1_s3_clk", 23268c2ecf20Sopenharmony_ci .parent_data = &(const struct clk_parent_data){ 23278c2ecf20Sopenharmony_ci .hw = &gcc_qupv3_wrap1_s3_clk_src.clkr.hw, 23288c2ecf20Sopenharmony_ci }, 23298c2ecf20Sopenharmony_ci .num_parents = 1, 23308c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 23318c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 23328c2ecf20Sopenharmony_ci }, 23338c2ecf20Sopenharmony_ci }, 23348c2ecf20Sopenharmony_ci}; 23358c2ecf20Sopenharmony_ci 23368c2ecf20Sopenharmony_cistatic struct clk_branch gcc_qupv3_wrap1_s4_clk = { 23378c2ecf20Sopenharmony_ci .halt_reg = 0x184cc, 23388c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_VOTED, 23398c2ecf20Sopenharmony_ci .clkr = { 23408c2ecf20Sopenharmony_ci .enable_reg = 0x52008, 23418c2ecf20Sopenharmony_ci .enable_mask = BIT(26), 23428c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 23438c2ecf20Sopenharmony_ci .name = "gcc_qupv3_wrap1_s4_clk", 23448c2ecf20Sopenharmony_ci .parent_data = &(const struct clk_parent_data){ 23458c2ecf20Sopenharmony_ci .hw = &gcc_qupv3_wrap1_s4_clk_src.clkr.hw, 23468c2ecf20Sopenharmony_ci }, 23478c2ecf20Sopenharmony_ci .num_parents = 1, 23488c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 23498c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 23508c2ecf20Sopenharmony_ci }, 23518c2ecf20Sopenharmony_ci }, 23528c2ecf20Sopenharmony_ci}; 23538c2ecf20Sopenharmony_ci 23548c2ecf20Sopenharmony_cistatic struct clk_branch gcc_qupv3_wrap1_s5_clk = { 23558c2ecf20Sopenharmony_ci .halt_reg = 0x185fc, 23568c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_VOTED, 23578c2ecf20Sopenharmony_ci .clkr = { 23588c2ecf20Sopenharmony_ci .enable_reg = 0x52008, 23598c2ecf20Sopenharmony_ci .enable_mask = BIT(27), 23608c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 23618c2ecf20Sopenharmony_ci .name = "gcc_qupv3_wrap1_s5_clk", 23628c2ecf20Sopenharmony_ci .parent_data = &(const struct clk_parent_data){ 23638c2ecf20Sopenharmony_ci .hw = &gcc_qupv3_wrap1_s5_clk_src.clkr.hw, 23648c2ecf20Sopenharmony_ci }, 23658c2ecf20Sopenharmony_ci .num_parents = 1, 23668c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 23678c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 23688c2ecf20Sopenharmony_ci }, 23698c2ecf20Sopenharmony_ci }, 23708c2ecf20Sopenharmony_ci}; 23718c2ecf20Sopenharmony_ci 23728c2ecf20Sopenharmony_cistatic struct clk_branch gcc_qupv3_wrap2_core_2x_clk = { 23738c2ecf20Sopenharmony_ci .halt_reg = 0x23278, 23748c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_VOTED, 23758c2ecf20Sopenharmony_ci .clkr = { 23768c2ecf20Sopenharmony_ci .enable_reg = 0x52010, 23778c2ecf20Sopenharmony_ci .enable_mask = BIT(3), 23788c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 23798c2ecf20Sopenharmony_ci .name = "gcc_qupv3_wrap2_core_2x_clk", 23808c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 23818c2ecf20Sopenharmony_ci }, 23828c2ecf20Sopenharmony_ci }, 23838c2ecf20Sopenharmony_ci}; 23848c2ecf20Sopenharmony_ci 23858c2ecf20Sopenharmony_cistatic struct clk_branch gcc_qupv3_wrap2_core_clk = { 23868c2ecf20Sopenharmony_ci .halt_reg = 0x23270, 23878c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_VOTED, 23888c2ecf20Sopenharmony_ci .clkr = { 23898c2ecf20Sopenharmony_ci .enable_reg = 0x52010, 23908c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 23918c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 23928c2ecf20Sopenharmony_ci .name = "gcc_qupv3_wrap2_core_clk", 23938c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 23948c2ecf20Sopenharmony_ci }, 23958c2ecf20Sopenharmony_ci }, 23968c2ecf20Sopenharmony_ci}; 23978c2ecf20Sopenharmony_ci 23988c2ecf20Sopenharmony_cistatic struct clk_branch gcc_qupv3_wrap2_s0_clk = { 23998c2ecf20Sopenharmony_ci .halt_reg = 0x1e00c, 24008c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_VOTED, 24018c2ecf20Sopenharmony_ci .clkr = { 24028c2ecf20Sopenharmony_ci .enable_reg = 0x52010, 24038c2ecf20Sopenharmony_ci .enable_mask = BIT(4), 24048c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 24058c2ecf20Sopenharmony_ci .name = "gcc_qupv3_wrap2_s0_clk", 24068c2ecf20Sopenharmony_ci .parent_data = &(const struct clk_parent_data){ 24078c2ecf20Sopenharmony_ci .hw = &gcc_qupv3_wrap2_s0_clk_src.clkr.hw, 24088c2ecf20Sopenharmony_ci }, 24098c2ecf20Sopenharmony_ci .num_parents = 1, 24108c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 24118c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 24128c2ecf20Sopenharmony_ci }, 24138c2ecf20Sopenharmony_ci }, 24148c2ecf20Sopenharmony_ci}; 24158c2ecf20Sopenharmony_ci 24168c2ecf20Sopenharmony_cistatic struct clk_branch gcc_qupv3_wrap2_s1_clk = { 24178c2ecf20Sopenharmony_ci .halt_reg = 0x1e13c, 24188c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_VOTED, 24198c2ecf20Sopenharmony_ci .clkr = { 24208c2ecf20Sopenharmony_ci .enable_reg = 0x52010, 24218c2ecf20Sopenharmony_ci .enable_mask = BIT(5), 24228c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 24238c2ecf20Sopenharmony_ci .name = "gcc_qupv3_wrap2_s1_clk", 24248c2ecf20Sopenharmony_ci .parent_data = &(const struct clk_parent_data){ 24258c2ecf20Sopenharmony_ci .hw = &gcc_qupv3_wrap2_s1_clk_src.clkr.hw, 24268c2ecf20Sopenharmony_ci }, 24278c2ecf20Sopenharmony_ci .num_parents = 1, 24288c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 24298c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 24308c2ecf20Sopenharmony_ci }, 24318c2ecf20Sopenharmony_ci }, 24328c2ecf20Sopenharmony_ci}; 24338c2ecf20Sopenharmony_ci 24348c2ecf20Sopenharmony_cistatic struct clk_branch gcc_qupv3_wrap2_s2_clk = { 24358c2ecf20Sopenharmony_ci .halt_reg = 0x1e26c, 24368c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_VOTED, 24378c2ecf20Sopenharmony_ci .clkr = { 24388c2ecf20Sopenharmony_ci .enable_reg = 0x52010, 24398c2ecf20Sopenharmony_ci .enable_mask = BIT(6), 24408c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 24418c2ecf20Sopenharmony_ci .name = "gcc_qupv3_wrap2_s2_clk", 24428c2ecf20Sopenharmony_ci .parent_data = &(const struct clk_parent_data){ 24438c2ecf20Sopenharmony_ci .hw = &gcc_qupv3_wrap2_s2_clk_src.clkr.hw, 24448c2ecf20Sopenharmony_ci }, 24458c2ecf20Sopenharmony_ci .num_parents = 1, 24468c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 24478c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 24488c2ecf20Sopenharmony_ci }, 24498c2ecf20Sopenharmony_ci }, 24508c2ecf20Sopenharmony_ci}; 24518c2ecf20Sopenharmony_ci 24528c2ecf20Sopenharmony_cistatic struct clk_branch gcc_qupv3_wrap2_s3_clk = { 24538c2ecf20Sopenharmony_ci .halt_reg = 0x1e39c, 24548c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_VOTED, 24558c2ecf20Sopenharmony_ci .clkr = { 24568c2ecf20Sopenharmony_ci .enable_reg = 0x52010, 24578c2ecf20Sopenharmony_ci .enable_mask = BIT(7), 24588c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 24598c2ecf20Sopenharmony_ci .name = "gcc_qupv3_wrap2_s3_clk", 24608c2ecf20Sopenharmony_ci .parent_data = &(const struct clk_parent_data){ 24618c2ecf20Sopenharmony_ci .hw = &gcc_qupv3_wrap2_s3_clk_src.clkr.hw, 24628c2ecf20Sopenharmony_ci }, 24638c2ecf20Sopenharmony_ci .num_parents = 1, 24648c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 24658c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 24668c2ecf20Sopenharmony_ci }, 24678c2ecf20Sopenharmony_ci }, 24688c2ecf20Sopenharmony_ci}; 24698c2ecf20Sopenharmony_ci 24708c2ecf20Sopenharmony_cistatic struct clk_branch gcc_qupv3_wrap2_s4_clk = { 24718c2ecf20Sopenharmony_ci .halt_reg = 0x1e4cc, 24728c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_VOTED, 24738c2ecf20Sopenharmony_ci .clkr = { 24748c2ecf20Sopenharmony_ci .enable_reg = 0x52010, 24758c2ecf20Sopenharmony_ci .enable_mask = BIT(8), 24768c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 24778c2ecf20Sopenharmony_ci .name = "gcc_qupv3_wrap2_s4_clk", 24788c2ecf20Sopenharmony_ci .parent_data = &(const struct clk_parent_data){ 24798c2ecf20Sopenharmony_ci .hw = &gcc_qupv3_wrap2_s4_clk_src.clkr.hw, 24808c2ecf20Sopenharmony_ci }, 24818c2ecf20Sopenharmony_ci .num_parents = 1, 24828c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 24838c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 24848c2ecf20Sopenharmony_ci }, 24858c2ecf20Sopenharmony_ci }, 24868c2ecf20Sopenharmony_ci}; 24878c2ecf20Sopenharmony_ci 24888c2ecf20Sopenharmony_cistatic struct clk_branch gcc_qupv3_wrap2_s5_clk = { 24898c2ecf20Sopenharmony_ci .halt_reg = 0x1e5fc, 24908c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_VOTED, 24918c2ecf20Sopenharmony_ci .clkr = { 24928c2ecf20Sopenharmony_ci .enable_reg = 0x52010, 24938c2ecf20Sopenharmony_ci .enable_mask = BIT(9), 24948c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 24958c2ecf20Sopenharmony_ci .name = "gcc_qupv3_wrap2_s5_clk", 24968c2ecf20Sopenharmony_ci .parent_data = &(const struct clk_parent_data){ 24978c2ecf20Sopenharmony_ci .hw = &gcc_qupv3_wrap2_s5_clk_src.clkr.hw, 24988c2ecf20Sopenharmony_ci }, 24998c2ecf20Sopenharmony_ci .num_parents = 1, 25008c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 25018c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 25028c2ecf20Sopenharmony_ci }, 25038c2ecf20Sopenharmony_ci }, 25048c2ecf20Sopenharmony_ci}; 25058c2ecf20Sopenharmony_ci 25068c2ecf20Sopenharmony_cistatic struct clk_branch gcc_qupv3_wrap_0_m_ahb_clk = { 25078c2ecf20Sopenharmony_ci .halt_reg = 0x17004, 25088c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_VOTED, 25098c2ecf20Sopenharmony_ci .clkr = { 25108c2ecf20Sopenharmony_ci .enable_reg = 0x52008, 25118c2ecf20Sopenharmony_ci .enable_mask = BIT(6), 25128c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 25138c2ecf20Sopenharmony_ci .name = "gcc_qupv3_wrap_0_m_ahb_clk", 25148c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 25158c2ecf20Sopenharmony_ci }, 25168c2ecf20Sopenharmony_ci }, 25178c2ecf20Sopenharmony_ci}; 25188c2ecf20Sopenharmony_ci 25198c2ecf20Sopenharmony_cistatic struct clk_branch gcc_qupv3_wrap_0_s_ahb_clk = { 25208c2ecf20Sopenharmony_ci .halt_reg = 0x17008, 25218c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_VOTED, 25228c2ecf20Sopenharmony_ci .hwcg_reg = 0x17008, 25238c2ecf20Sopenharmony_ci .hwcg_bit = 1, 25248c2ecf20Sopenharmony_ci .clkr = { 25258c2ecf20Sopenharmony_ci .enable_reg = 0x52008, 25268c2ecf20Sopenharmony_ci .enable_mask = BIT(7), 25278c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 25288c2ecf20Sopenharmony_ci .name = "gcc_qupv3_wrap_0_s_ahb_clk", 25298c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 25308c2ecf20Sopenharmony_ci }, 25318c2ecf20Sopenharmony_ci }, 25328c2ecf20Sopenharmony_ci}; 25338c2ecf20Sopenharmony_ci 25348c2ecf20Sopenharmony_cistatic struct clk_branch gcc_qupv3_wrap_1_m_ahb_clk = { 25358c2ecf20Sopenharmony_ci .halt_reg = 0x18004, 25368c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_VOTED, 25378c2ecf20Sopenharmony_ci .clkr = { 25388c2ecf20Sopenharmony_ci .enable_reg = 0x52008, 25398c2ecf20Sopenharmony_ci .enable_mask = BIT(20), 25408c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 25418c2ecf20Sopenharmony_ci .name = "gcc_qupv3_wrap_1_m_ahb_clk", 25428c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 25438c2ecf20Sopenharmony_ci }, 25448c2ecf20Sopenharmony_ci }, 25458c2ecf20Sopenharmony_ci}; 25468c2ecf20Sopenharmony_ci 25478c2ecf20Sopenharmony_cistatic struct clk_branch gcc_qupv3_wrap_1_s_ahb_clk = { 25488c2ecf20Sopenharmony_ci .halt_reg = 0x18008, 25498c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_VOTED, 25508c2ecf20Sopenharmony_ci .hwcg_reg = 0x18008, 25518c2ecf20Sopenharmony_ci .hwcg_bit = 1, 25528c2ecf20Sopenharmony_ci .clkr = { 25538c2ecf20Sopenharmony_ci .enable_reg = 0x52008, 25548c2ecf20Sopenharmony_ci .enable_mask = BIT(21), 25558c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 25568c2ecf20Sopenharmony_ci .name = "gcc_qupv3_wrap_1_s_ahb_clk", 25578c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 25588c2ecf20Sopenharmony_ci }, 25598c2ecf20Sopenharmony_ci }, 25608c2ecf20Sopenharmony_ci}; 25618c2ecf20Sopenharmony_ci 25628c2ecf20Sopenharmony_cistatic struct clk_branch gcc_qupv3_wrap_2_m_ahb_clk = { 25638c2ecf20Sopenharmony_ci .halt_reg = 0x1e004, 25648c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_VOTED, 25658c2ecf20Sopenharmony_ci .clkr = { 25668c2ecf20Sopenharmony_ci .enable_reg = 0x52010, 25678c2ecf20Sopenharmony_ci .enable_mask = BIT(2), 25688c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 25698c2ecf20Sopenharmony_ci .name = "gcc_qupv3_wrap_2_m_ahb_clk", 25708c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 25718c2ecf20Sopenharmony_ci }, 25728c2ecf20Sopenharmony_ci }, 25738c2ecf20Sopenharmony_ci}; 25748c2ecf20Sopenharmony_ci 25758c2ecf20Sopenharmony_cistatic struct clk_branch gcc_qupv3_wrap_2_s_ahb_clk = { 25768c2ecf20Sopenharmony_ci .halt_reg = 0x1e008, 25778c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_VOTED, 25788c2ecf20Sopenharmony_ci .hwcg_reg = 0x1e008, 25798c2ecf20Sopenharmony_ci .hwcg_bit = 1, 25808c2ecf20Sopenharmony_ci .clkr = { 25818c2ecf20Sopenharmony_ci .enable_reg = 0x52010, 25828c2ecf20Sopenharmony_ci .enable_mask = BIT(1), 25838c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 25848c2ecf20Sopenharmony_ci .name = "gcc_qupv3_wrap_2_s_ahb_clk", 25858c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 25868c2ecf20Sopenharmony_ci }, 25878c2ecf20Sopenharmony_ci }, 25888c2ecf20Sopenharmony_ci}; 25898c2ecf20Sopenharmony_ci 25908c2ecf20Sopenharmony_cistatic struct clk_branch gcc_sdcc2_ahb_clk = { 25918c2ecf20Sopenharmony_ci .halt_reg = 0x14008, 25928c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT, 25938c2ecf20Sopenharmony_ci .clkr = { 25948c2ecf20Sopenharmony_ci .enable_reg = 0x14008, 25958c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 25968c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 25978c2ecf20Sopenharmony_ci .name = "gcc_sdcc2_ahb_clk", 25988c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 25998c2ecf20Sopenharmony_ci }, 26008c2ecf20Sopenharmony_ci }, 26018c2ecf20Sopenharmony_ci}; 26028c2ecf20Sopenharmony_ci 26038c2ecf20Sopenharmony_cistatic struct clk_branch gcc_sdcc2_apps_clk = { 26048c2ecf20Sopenharmony_ci .halt_reg = 0x14004, 26058c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT, 26068c2ecf20Sopenharmony_ci .clkr = { 26078c2ecf20Sopenharmony_ci .enable_reg = 0x14004, 26088c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 26098c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 26108c2ecf20Sopenharmony_ci .name = "gcc_sdcc2_apps_clk", 26118c2ecf20Sopenharmony_ci .parent_data = &(const struct clk_parent_data){ 26128c2ecf20Sopenharmony_ci .hw = &gcc_sdcc2_apps_clk_src.clkr.hw, 26138c2ecf20Sopenharmony_ci }, 26148c2ecf20Sopenharmony_ci .num_parents = 1, 26158c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 26168c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 26178c2ecf20Sopenharmony_ci }, 26188c2ecf20Sopenharmony_ci }, 26198c2ecf20Sopenharmony_ci}; 26208c2ecf20Sopenharmony_ci 26218c2ecf20Sopenharmony_cistatic struct clk_branch gcc_sdcc4_ahb_clk = { 26228c2ecf20Sopenharmony_ci .halt_reg = 0x16008, 26238c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT, 26248c2ecf20Sopenharmony_ci .clkr = { 26258c2ecf20Sopenharmony_ci .enable_reg = 0x16008, 26268c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 26278c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 26288c2ecf20Sopenharmony_ci .name = "gcc_sdcc4_ahb_clk", 26298c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 26308c2ecf20Sopenharmony_ci }, 26318c2ecf20Sopenharmony_ci }, 26328c2ecf20Sopenharmony_ci}; 26338c2ecf20Sopenharmony_ci 26348c2ecf20Sopenharmony_cistatic struct clk_branch gcc_sdcc4_apps_clk = { 26358c2ecf20Sopenharmony_ci .halt_reg = 0x16004, 26368c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT, 26378c2ecf20Sopenharmony_ci .clkr = { 26388c2ecf20Sopenharmony_ci .enable_reg = 0x16004, 26398c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 26408c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 26418c2ecf20Sopenharmony_ci .name = "gcc_sdcc4_apps_clk", 26428c2ecf20Sopenharmony_ci .parent_data = &(const struct clk_parent_data){ 26438c2ecf20Sopenharmony_ci .hw = &gcc_sdcc4_apps_clk_src.clkr.hw, 26448c2ecf20Sopenharmony_ci }, 26458c2ecf20Sopenharmony_ci .num_parents = 1, 26468c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 26478c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 26488c2ecf20Sopenharmony_ci }, 26498c2ecf20Sopenharmony_ci }, 26508c2ecf20Sopenharmony_ci}; 26518c2ecf20Sopenharmony_ci 26528c2ecf20Sopenharmony_cistatic struct clk_branch gcc_tsif_ahb_clk = { 26538c2ecf20Sopenharmony_ci .halt_reg = 0x36004, 26548c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_VOTED, 26558c2ecf20Sopenharmony_ci .clkr = { 26568c2ecf20Sopenharmony_ci .enable_reg = 0x36004, 26578c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 26588c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 26598c2ecf20Sopenharmony_ci .name = "gcc_tsif_ahb_clk", 26608c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 26618c2ecf20Sopenharmony_ci }, 26628c2ecf20Sopenharmony_ci }, 26638c2ecf20Sopenharmony_ci}; 26648c2ecf20Sopenharmony_ci 26658c2ecf20Sopenharmony_cistatic struct clk_branch gcc_tsif_inactivity_timers_clk = { 26668c2ecf20Sopenharmony_ci .halt_reg = 0x3600c, 26678c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT, 26688c2ecf20Sopenharmony_ci .clkr = { 26698c2ecf20Sopenharmony_ci .enable_reg = 0x3600c, 26708c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 26718c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 26728c2ecf20Sopenharmony_ci .name = "gcc_tsif_inactivity_timers_clk", 26738c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 26748c2ecf20Sopenharmony_ci }, 26758c2ecf20Sopenharmony_ci }, 26768c2ecf20Sopenharmony_ci}; 26778c2ecf20Sopenharmony_ci 26788c2ecf20Sopenharmony_cistatic struct clk_branch gcc_tsif_ref_clk = { 26798c2ecf20Sopenharmony_ci .halt_reg = 0x36008, 26808c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT, 26818c2ecf20Sopenharmony_ci .clkr = { 26828c2ecf20Sopenharmony_ci .enable_reg = 0x36008, 26838c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 26848c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 26858c2ecf20Sopenharmony_ci .name = "gcc_tsif_ref_clk", 26868c2ecf20Sopenharmony_ci .parent_data = &(const struct clk_parent_data){ 26878c2ecf20Sopenharmony_ci .hw = &gcc_tsif_ref_clk_src.clkr.hw, 26888c2ecf20Sopenharmony_ci }, 26898c2ecf20Sopenharmony_ci .num_parents = 1, 26908c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 26918c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 26928c2ecf20Sopenharmony_ci }, 26938c2ecf20Sopenharmony_ci }, 26948c2ecf20Sopenharmony_ci}; 26958c2ecf20Sopenharmony_ci 26968c2ecf20Sopenharmony_cistatic struct clk_branch gcc_ufs_1x_clkref_en = { 26978c2ecf20Sopenharmony_ci .halt_reg = 0x8c000, 26988c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT, 26998c2ecf20Sopenharmony_ci .clkr = { 27008c2ecf20Sopenharmony_ci .enable_reg = 0x8c000, 27018c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 27028c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 27038c2ecf20Sopenharmony_ci .name = "gcc_ufs_1x_clkref_en", 27048c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 27058c2ecf20Sopenharmony_ci }, 27068c2ecf20Sopenharmony_ci }, 27078c2ecf20Sopenharmony_ci}; 27088c2ecf20Sopenharmony_ci 27098c2ecf20Sopenharmony_cistatic struct clk_branch gcc_ufs_card_ahb_clk = { 27108c2ecf20Sopenharmony_ci .halt_reg = 0x75018, 27118c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_VOTED, 27128c2ecf20Sopenharmony_ci .hwcg_reg = 0x75018, 27138c2ecf20Sopenharmony_ci .hwcg_bit = 1, 27148c2ecf20Sopenharmony_ci .clkr = { 27158c2ecf20Sopenharmony_ci .enable_reg = 0x75018, 27168c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 27178c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 27188c2ecf20Sopenharmony_ci .name = "gcc_ufs_card_ahb_clk", 27198c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 27208c2ecf20Sopenharmony_ci }, 27218c2ecf20Sopenharmony_ci }, 27228c2ecf20Sopenharmony_ci}; 27238c2ecf20Sopenharmony_ci 27248c2ecf20Sopenharmony_cistatic struct clk_branch gcc_ufs_card_axi_clk = { 27258c2ecf20Sopenharmony_ci .halt_reg = 0x75010, 27268c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT, 27278c2ecf20Sopenharmony_ci .hwcg_reg = 0x75010, 27288c2ecf20Sopenharmony_ci .hwcg_bit = 1, 27298c2ecf20Sopenharmony_ci .clkr = { 27308c2ecf20Sopenharmony_ci .enable_reg = 0x75010, 27318c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 27328c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 27338c2ecf20Sopenharmony_ci .name = "gcc_ufs_card_axi_clk", 27348c2ecf20Sopenharmony_ci .parent_data = &(const struct clk_parent_data){ 27358c2ecf20Sopenharmony_ci .hw = &gcc_ufs_card_axi_clk_src.clkr.hw, 27368c2ecf20Sopenharmony_ci }, 27378c2ecf20Sopenharmony_ci .num_parents = 1, 27388c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 27398c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 27408c2ecf20Sopenharmony_ci }, 27418c2ecf20Sopenharmony_ci }, 27428c2ecf20Sopenharmony_ci}; 27438c2ecf20Sopenharmony_ci 27448c2ecf20Sopenharmony_cistatic struct clk_branch gcc_ufs_card_ice_core_clk = { 27458c2ecf20Sopenharmony_ci .halt_reg = 0x75064, 27468c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_VOTED, 27478c2ecf20Sopenharmony_ci .hwcg_reg = 0x75064, 27488c2ecf20Sopenharmony_ci .hwcg_bit = 1, 27498c2ecf20Sopenharmony_ci .clkr = { 27508c2ecf20Sopenharmony_ci .enable_reg = 0x75064, 27518c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 27528c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 27538c2ecf20Sopenharmony_ci .name = "gcc_ufs_card_ice_core_clk", 27548c2ecf20Sopenharmony_ci .parent_data = &(const struct clk_parent_data){ 27558c2ecf20Sopenharmony_ci .hw = &gcc_ufs_card_ice_core_clk_src.clkr.hw, 27568c2ecf20Sopenharmony_ci }, 27578c2ecf20Sopenharmony_ci .num_parents = 1, 27588c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 27598c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 27608c2ecf20Sopenharmony_ci }, 27618c2ecf20Sopenharmony_ci }, 27628c2ecf20Sopenharmony_ci}; 27638c2ecf20Sopenharmony_ci 27648c2ecf20Sopenharmony_cistatic struct clk_branch gcc_ufs_card_phy_aux_clk = { 27658c2ecf20Sopenharmony_ci .halt_reg = 0x7509c, 27668c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT, 27678c2ecf20Sopenharmony_ci .hwcg_reg = 0x7509c, 27688c2ecf20Sopenharmony_ci .hwcg_bit = 1, 27698c2ecf20Sopenharmony_ci .clkr = { 27708c2ecf20Sopenharmony_ci .enable_reg = 0x7509c, 27718c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 27728c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 27738c2ecf20Sopenharmony_ci .name = "gcc_ufs_card_phy_aux_clk", 27748c2ecf20Sopenharmony_ci .parent_data = &(const struct clk_parent_data){ 27758c2ecf20Sopenharmony_ci .hw = &gcc_ufs_card_phy_aux_clk_src.clkr.hw, 27768c2ecf20Sopenharmony_ci }, 27778c2ecf20Sopenharmony_ci .num_parents = 1, 27788c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 27798c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 27808c2ecf20Sopenharmony_ci }, 27818c2ecf20Sopenharmony_ci }, 27828c2ecf20Sopenharmony_ci}; 27838c2ecf20Sopenharmony_ci 27848c2ecf20Sopenharmony_cistatic struct clk_branch gcc_ufs_card_rx_symbol_0_clk = { 27858c2ecf20Sopenharmony_ci .halt_reg = 0x75020, 27868c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_DELAY, 27878c2ecf20Sopenharmony_ci .clkr = { 27888c2ecf20Sopenharmony_ci .enable_reg = 0x75020, 27898c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 27908c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 27918c2ecf20Sopenharmony_ci .name = "gcc_ufs_card_rx_symbol_0_clk", 27928c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 27938c2ecf20Sopenharmony_ci }, 27948c2ecf20Sopenharmony_ci }, 27958c2ecf20Sopenharmony_ci}; 27968c2ecf20Sopenharmony_ci 27978c2ecf20Sopenharmony_cistatic struct clk_branch gcc_ufs_card_rx_symbol_1_clk = { 27988c2ecf20Sopenharmony_ci .halt_reg = 0x750b8, 27998c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_DELAY, 28008c2ecf20Sopenharmony_ci .clkr = { 28018c2ecf20Sopenharmony_ci .enable_reg = 0x750b8, 28028c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 28038c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 28048c2ecf20Sopenharmony_ci .name = "gcc_ufs_card_rx_symbol_1_clk", 28058c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 28068c2ecf20Sopenharmony_ci }, 28078c2ecf20Sopenharmony_ci }, 28088c2ecf20Sopenharmony_ci}; 28098c2ecf20Sopenharmony_ci 28108c2ecf20Sopenharmony_cistatic struct clk_branch gcc_ufs_card_tx_symbol_0_clk = { 28118c2ecf20Sopenharmony_ci .halt_reg = 0x7501c, 28128c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_DELAY, 28138c2ecf20Sopenharmony_ci .clkr = { 28148c2ecf20Sopenharmony_ci .enable_reg = 0x7501c, 28158c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 28168c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 28178c2ecf20Sopenharmony_ci .name = "gcc_ufs_card_tx_symbol_0_clk", 28188c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 28198c2ecf20Sopenharmony_ci }, 28208c2ecf20Sopenharmony_ci }, 28218c2ecf20Sopenharmony_ci}; 28228c2ecf20Sopenharmony_ci 28238c2ecf20Sopenharmony_cistatic struct clk_branch gcc_ufs_card_unipro_core_clk = { 28248c2ecf20Sopenharmony_ci .halt_reg = 0x7505c, 28258c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT, 28268c2ecf20Sopenharmony_ci .hwcg_reg = 0x7505c, 28278c2ecf20Sopenharmony_ci .hwcg_bit = 1, 28288c2ecf20Sopenharmony_ci .clkr = { 28298c2ecf20Sopenharmony_ci .enable_reg = 0x7505c, 28308c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 28318c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 28328c2ecf20Sopenharmony_ci .name = "gcc_ufs_card_unipro_core_clk", 28338c2ecf20Sopenharmony_ci .parent_data = &(const struct clk_parent_data){ 28348c2ecf20Sopenharmony_ci .hw = &gcc_ufs_card_unipro_core_clk_src.clkr.hw, 28358c2ecf20Sopenharmony_ci }, 28368c2ecf20Sopenharmony_ci .num_parents = 1, 28378c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 28388c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 28398c2ecf20Sopenharmony_ci }, 28408c2ecf20Sopenharmony_ci }, 28418c2ecf20Sopenharmony_ci}; 28428c2ecf20Sopenharmony_ci 28438c2ecf20Sopenharmony_cistatic struct clk_branch gcc_ufs_phy_ahb_clk = { 28448c2ecf20Sopenharmony_ci .halt_reg = 0x77018, 28458c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_VOTED, 28468c2ecf20Sopenharmony_ci .hwcg_reg = 0x77018, 28478c2ecf20Sopenharmony_ci .hwcg_bit = 1, 28488c2ecf20Sopenharmony_ci .clkr = { 28498c2ecf20Sopenharmony_ci .enable_reg = 0x77018, 28508c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 28518c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 28528c2ecf20Sopenharmony_ci .name = "gcc_ufs_phy_ahb_clk", 28538c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 28548c2ecf20Sopenharmony_ci }, 28558c2ecf20Sopenharmony_ci }, 28568c2ecf20Sopenharmony_ci}; 28578c2ecf20Sopenharmony_ci 28588c2ecf20Sopenharmony_cistatic struct clk_branch gcc_ufs_phy_axi_clk = { 28598c2ecf20Sopenharmony_ci .halt_reg = 0x77010, 28608c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT, 28618c2ecf20Sopenharmony_ci .hwcg_reg = 0x77010, 28628c2ecf20Sopenharmony_ci .hwcg_bit = 1, 28638c2ecf20Sopenharmony_ci .clkr = { 28648c2ecf20Sopenharmony_ci .enable_reg = 0x77010, 28658c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 28668c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 28678c2ecf20Sopenharmony_ci .name = "gcc_ufs_phy_axi_clk", 28688c2ecf20Sopenharmony_ci .parent_data = &(const struct clk_parent_data){ 28698c2ecf20Sopenharmony_ci .hw = &gcc_ufs_phy_axi_clk_src.clkr.hw, 28708c2ecf20Sopenharmony_ci }, 28718c2ecf20Sopenharmony_ci .num_parents = 1, 28728c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 28738c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 28748c2ecf20Sopenharmony_ci }, 28758c2ecf20Sopenharmony_ci }, 28768c2ecf20Sopenharmony_ci}; 28778c2ecf20Sopenharmony_ci 28788c2ecf20Sopenharmony_cistatic struct clk_branch gcc_ufs_phy_ice_core_clk = { 28798c2ecf20Sopenharmony_ci .halt_reg = 0x77064, 28808c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_VOTED, 28818c2ecf20Sopenharmony_ci .hwcg_reg = 0x77064, 28828c2ecf20Sopenharmony_ci .hwcg_bit = 1, 28838c2ecf20Sopenharmony_ci .clkr = { 28848c2ecf20Sopenharmony_ci .enable_reg = 0x77064, 28858c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 28868c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 28878c2ecf20Sopenharmony_ci .name = "gcc_ufs_phy_ice_core_clk", 28888c2ecf20Sopenharmony_ci .parent_data = &(const struct clk_parent_data){ 28898c2ecf20Sopenharmony_ci .hw = &gcc_ufs_phy_ice_core_clk_src.clkr.hw, 28908c2ecf20Sopenharmony_ci }, 28918c2ecf20Sopenharmony_ci .num_parents = 1, 28928c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 28938c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 28948c2ecf20Sopenharmony_ci }, 28958c2ecf20Sopenharmony_ci }, 28968c2ecf20Sopenharmony_ci}; 28978c2ecf20Sopenharmony_ci 28988c2ecf20Sopenharmony_cistatic struct clk_branch gcc_ufs_phy_phy_aux_clk = { 28998c2ecf20Sopenharmony_ci .halt_reg = 0x7709c, 29008c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT, 29018c2ecf20Sopenharmony_ci .hwcg_reg = 0x7709c, 29028c2ecf20Sopenharmony_ci .hwcg_bit = 1, 29038c2ecf20Sopenharmony_ci .clkr = { 29048c2ecf20Sopenharmony_ci .enable_reg = 0x7709c, 29058c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 29068c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 29078c2ecf20Sopenharmony_ci .name = "gcc_ufs_phy_phy_aux_clk", 29088c2ecf20Sopenharmony_ci .parent_data = &(const struct clk_parent_data){ 29098c2ecf20Sopenharmony_ci .hw = &gcc_ufs_phy_phy_aux_clk_src.clkr.hw, 29108c2ecf20Sopenharmony_ci }, 29118c2ecf20Sopenharmony_ci .num_parents = 1, 29128c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 29138c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 29148c2ecf20Sopenharmony_ci }, 29158c2ecf20Sopenharmony_ci }, 29168c2ecf20Sopenharmony_ci}; 29178c2ecf20Sopenharmony_ci 29188c2ecf20Sopenharmony_cistatic struct clk_branch gcc_ufs_phy_rx_symbol_0_clk = { 29198c2ecf20Sopenharmony_ci .halt_reg = 0x77020, 29208c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_DELAY, 29218c2ecf20Sopenharmony_ci .clkr = { 29228c2ecf20Sopenharmony_ci .enable_reg = 0x77020, 29238c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 29248c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 29258c2ecf20Sopenharmony_ci .name = "gcc_ufs_phy_rx_symbol_0_clk", 29268c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 29278c2ecf20Sopenharmony_ci }, 29288c2ecf20Sopenharmony_ci }, 29298c2ecf20Sopenharmony_ci}; 29308c2ecf20Sopenharmony_ci 29318c2ecf20Sopenharmony_cistatic struct clk_branch gcc_ufs_phy_rx_symbol_1_clk = { 29328c2ecf20Sopenharmony_ci .halt_reg = 0x770b8, 29338c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_DELAY, 29348c2ecf20Sopenharmony_ci .clkr = { 29358c2ecf20Sopenharmony_ci .enable_reg = 0x770b8, 29368c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 29378c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 29388c2ecf20Sopenharmony_ci .name = "gcc_ufs_phy_rx_symbol_1_clk", 29398c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 29408c2ecf20Sopenharmony_ci }, 29418c2ecf20Sopenharmony_ci }, 29428c2ecf20Sopenharmony_ci}; 29438c2ecf20Sopenharmony_ci 29448c2ecf20Sopenharmony_cistatic struct clk_branch gcc_ufs_phy_tx_symbol_0_clk = { 29458c2ecf20Sopenharmony_ci .halt_reg = 0x7701c, 29468c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_DELAY, 29478c2ecf20Sopenharmony_ci .clkr = { 29488c2ecf20Sopenharmony_ci .enable_reg = 0x7701c, 29498c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 29508c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 29518c2ecf20Sopenharmony_ci .name = "gcc_ufs_phy_tx_symbol_0_clk", 29528c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 29538c2ecf20Sopenharmony_ci }, 29548c2ecf20Sopenharmony_ci }, 29558c2ecf20Sopenharmony_ci}; 29568c2ecf20Sopenharmony_ci 29578c2ecf20Sopenharmony_cistatic struct clk_branch gcc_ufs_phy_unipro_core_clk = { 29588c2ecf20Sopenharmony_ci .halt_reg = 0x7705c, 29598c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT, 29608c2ecf20Sopenharmony_ci .hwcg_reg = 0x7705c, 29618c2ecf20Sopenharmony_ci .hwcg_bit = 1, 29628c2ecf20Sopenharmony_ci .clkr = { 29638c2ecf20Sopenharmony_ci .enable_reg = 0x7705c, 29648c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 29658c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 29668c2ecf20Sopenharmony_ci .name = "gcc_ufs_phy_unipro_core_clk", 29678c2ecf20Sopenharmony_ci .parent_data = &(const struct clk_parent_data){ 29688c2ecf20Sopenharmony_ci .hw = &gcc_ufs_phy_unipro_core_clk_src.clkr.hw, 29698c2ecf20Sopenharmony_ci }, 29708c2ecf20Sopenharmony_ci .num_parents = 1, 29718c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 29728c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 29738c2ecf20Sopenharmony_ci }, 29748c2ecf20Sopenharmony_ci }, 29758c2ecf20Sopenharmony_ci}; 29768c2ecf20Sopenharmony_ci 29778c2ecf20Sopenharmony_cistatic struct clk_branch gcc_usb30_prim_master_clk = { 29788c2ecf20Sopenharmony_ci .halt_reg = 0xf010, 29798c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_VOTED, 29808c2ecf20Sopenharmony_ci .clkr = { 29818c2ecf20Sopenharmony_ci .enable_reg = 0xf010, 29828c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 29838c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 29848c2ecf20Sopenharmony_ci .name = "gcc_usb30_prim_master_clk", 29858c2ecf20Sopenharmony_ci .parent_data = &(const struct clk_parent_data){ 29868c2ecf20Sopenharmony_ci .hw = &gcc_usb30_prim_master_clk_src.clkr.hw, 29878c2ecf20Sopenharmony_ci }, 29888c2ecf20Sopenharmony_ci .num_parents = 1, 29898c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 29908c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 29918c2ecf20Sopenharmony_ci }, 29928c2ecf20Sopenharmony_ci }, 29938c2ecf20Sopenharmony_ci}; 29948c2ecf20Sopenharmony_ci 29958c2ecf20Sopenharmony_cistatic struct clk_branch gcc_usb30_prim_mock_utmi_clk = { 29968c2ecf20Sopenharmony_ci .halt_reg = 0xf01c, 29978c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT, 29988c2ecf20Sopenharmony_ci .clkr = { 29998c2ecf20Sopenharmony_ci .enable_reg = 0xf01c, 30008c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 30018c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 30028c2ecf20Sopenharmony_ci .name = "gcc_usb30_prim_mock_utmi_clk", 30038c2ecf20Sopenharmony_ci .parent_data = &(const struct clk_parent_data){ 30048c2ecf20Sopenharmony_ci .hw = 30058c2ecf20Sopenharmony_ci &gcc_usb30_prim_mock_utmi_postdiv_clk_src.clkr.hw, 30068c2ecf20Sopenharmony_ci }, 30078c2ecf20Sopenharmony_ci .num_parents = 1, 30088c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 30098c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 30108c2ecf20Sopenharmony_ci }, 30118c2ecf20Sopenharmony_ci }, 30128c2ecf20Sopenharmony_ci}; 30138c2ecf20Sopenharmony_ci 30148c2ecf20Sopenharmony_cistatic struct clk_branch gcc_usb30_prim_sleep_clk = { 30158c2ecf20Sopenharmony_ci .halt_reg = 0xf018, 30168c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT, 30178c2ecf20Sopenharmony_ci .clkr = { 30188c2ecf20Sopenharmony_ci .enable_reg = 0xf018, 30198c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 30208c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 30218c2ecf20Sopenharmony_ci .name = "gcc_usb30_prim_sleep_clk", 30228c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 30238c2ecf20Sopenharmony_ci }, 30248c2ecf20Sopenharmony_ci }, 30258c2ecf20Sopenharmony_ci}; 30268c2ecf20Sopenharmony_ci 30278c2ecf20Sopenharmony_cistatic struct clk_branch gcc_usb30_sec_master_clk = { 30288c2ecf20Sopenharmony_ci .halt_reg = 0x10010, 30298c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_VOTED, 30308c2ecf20Sopenharmony_ci .clkr = { 30318c2ecf20Sopenharmony_ci .enable_reg = 0x10010, 30328c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 30338c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 30348c2ecf20Sopenharmony_ci .name = "gcc_usb30_sec_master_clk", 30358c2ecf20Sopenharmony_ci .parent_data = &(const struct clk_parent_data){ 30368c2ecf20Sopenharmony_ci .hw = &gcc_usb30_sec_master_clk_src.clkr.hw, 30378c2ecf20Sopenharmony_ci }, 30388c2ecf20Sopenharmony_ci .num_parents = 1, 30398c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 30408c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 30418c2ecf20Sopenharmony_ci }, 30428c2ecf20Sopenharmony_ci }, 30438c2ecf20Sopenharmony_ci}; 30448c2ecf20Sopenharmony_ci 30458c2ecf20Sopenharmony_cistatic struct clk_branch gcc_usb30_sec_mock_utmi_clk = { 30468c2ecf20Sopenharmony_ci .halt_reg = 0x1001c, 30478c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT, 30488c2ecf20Sopenharmony_ci .clkr = { 30498c2ecf20Sopenharmony_ci .enable_reg = 0x1001c, 30508c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 30518c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 30528c2ecf20Sopenharmony_ci .name = "gcc_usb30_sec_mock_utmi_clk", 30538c2ecf20Sopenharmony_ci .parent_data = &(const struct clk_parent_data){ 30548c2ecf20Sopenharmony_ci .hw = 30558c2ecf20Sopenharmony_ci &gcc_usb30_sec_mock_utmi_postdiv_clk_src.clkr.hw, 30568c2ecf20Sopenharmony_ci }, 30578c2ecf20Sopenharmony_ci .num_parents = 1, 30588c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 30598c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 30608c2ecf20Sopenharmony_ci }, 30618c2ecf20Sopenharmony_ci }, 30628c2ecf20Sopenharmony_ci}; 30638c2ecf20Sopenharmony_ci 30648c2ecf20Sopenharmony_cistatic struct clk_branch gcc_usb30_sec_sleep_clk = { 30658c2ecf20Sopenharmony_ci .halt_reg = 0x10018, 30668c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT, 30678c2ecf20Sopenharmony_ci .clkr = { 30688c2ecf20Sopenharmony_ci .enable_reg = 0x10018, 30698c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 30708c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 30718c2ecf20Sopenharmony_ci .name = "gcc_usb30_sec_sleep_clk", 30728c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 30738c2ecf20Sopenharmony_ci }, 30748c2ecf20Sopenharmony_ci }, 30758c2ecf20Sopenharmony_ci}; 30768c2ecf20Sopenharmony_ci 30778c2ecf20Sopenharmony_cistatic struct clk_branch gcc_usb3_prim_phy_aux_clk = { 30788c2ecf20Sopenharmony_ci .halt_reg = 0xf054, 30798c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT, 30808c2ecf20Sopenharmony_ci .clkr = { 30818c2ecf20Sopenharmony_ci .enable_reg = 0xf054, 30828c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 30838c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 30848c2ecf20Sopenharmony_ci .name = "gcc_usb3_prim_phy_aux_clk", 30858c2ecf20Sopenharmony_ci .parent_data = &(const struct clk_parent_data){ 30868c2ecf20Sopenharmony_ci .hw = &gcc_usb3_prim_phy_aux_clk_src.clkr.hw, 30878c2ecf20Sopenharmony_ci }, 30888c2ecf20Sopenharmony_ci .num_parents = 1, 30898c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 30908c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 30918c2ecf20Sopenharmony_ci }, 30928c2ecf20Sopenharmony_ci }, 30938c2ecf20Sopenharmony_ci}; 30948c2ecf20Sopenharmony_ci 30958c2ecf20Sopenharmony_cistatic struct clk_branch gcc_usb3_prim_phy_com_aux_clk = { 30968c2ecf20Sopenharmony_ci .halt_reg = 0xf058, 30978c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT, 30988c2ecf20Sopenharmony_ci .clkr = { 30998c2ecf20Sopenharmony_ci .enable_reg = 0xf058, 31008c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 31018c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 31028c2ecf20Sopenharmony_ci .name = "gcc_usb3_prim_phy_com_aux_clk", 31038c2ecf20Sopenharmony_ci .parent_data = &(const struct clk_parent_data){ 31048c2ecf20Sopenharmony_ci .hw = &gcc_usb3_prim_phy_aux_clk_src.clkr.hw, 31058c2ecf20Sopenharmony_ci }, 31068c2ecf20Sopenharmony_ci .num_parents = 1, 31078c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 31088c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 31098c2ecf20Sopenharmony_ci }, 31108c2ecf20Sopenharmony_ci }, 31118c2ecf20Sopenharmony_ci}; 31128c2ecf20Sopenharmony_ci 31138c2ecf20Sopenharmony_cistatic struct clk_branch gcc_usb3_prim_phy_pipe_clk = { 31148c2ecf20Sopenharmony_ci .halt_reg = 0xf05c, 31158c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_DELAY, 31168c2ecf20Sopenharmony_ci .clkr = { 31178c2ecf20Sopenharmony_ci .enable_reg = 0xf05c, 31188c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 31198c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 31208c2ecf20Sopenharmony_ci .name = "gcc_usb3_prim_phy_pipe_clk", 31218c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 31228c2ecf20Sopenharmony_ci }, 31238c2ecf20Sopenharmony_ci }, 31248c2ecf20Sopenharmony_ci}; 31258c2ecf20Sopenharmony_ci 31268c2ecf20Sopenharmony_cistatic struct clk_branch gcc_usb3_sec_clkref_en = { 31278c2ecf20Sopenharmony_ci .halt_reg = 0x8c010, 31288c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT, 31298c2ecf20Sopenharmony_ci .clkr = { 31308c2ecf20Sopenharmony_ci .enable_reg = 0x8c010, 31318c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 31328c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 31338c2ecf20Sopenharmony_ci .name = "gcc_usb3_sec_clkref_en", 31348c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 31358c2ecf20Sopenharmony_ci }, 31368c2ecf20Sopenharmony_ci }, 31378c2ecf20Sopenharmony_ci}; 31388c2ecf20Sopenharmony_ci 31398c2ecf20Sopenharmony_cistatic struct clk_branch gcc_usb3_sec_phy_aux_clk = { 31408c2ecf20Sopenharmony_ci .halt_reg = 0x10054, 31418c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT, 31428c2ecf20Sopenharmony_ci .clkr = { 31438c2ecf20Sopenharmony_ci .enable_reg = 0x10054, 31448c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 31458c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 31468c2ecf20Sopenharmony_ci .name = "gcc_usb3_sec_phy_aux_clk", 31478c2ecf20Sopenharmony_ci .parent_data = &(const struct clk_parent_data){ 31488c2ecf20Sopenharmony_ci .hw = &gcc_usb3_sec_phy_aux_clk_src.clkr.hw, 31498c2ecf20Sopenharmony_ci }, 31508c2ecf20Sopenharmony_ci .num_parents = 1, 31518c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 31528c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 31538c2ecf20Sopenharmony_ci }, 31548c2ecf20Sopenharmony_ci }, 31558c2ecf20Sopenharmony_ci}; 31568c2ecf20Sopenharmony_ci 31578c2ecf20Sopenharmony_cistatic struct clk_branch gcc_usb3_sec_phy_com_aux_clk = { 31588c2ecf20Sopenharmony_ci .halt_reg = 0x10058, 31598c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT, 31608c2ecf20Sopenharmony_ci .clkr = { 31618c2ecf20Sopenharmony_ci .enable_reg = 0x10058, 31628c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 31638c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 31648c2ecf20Sopenharmony_ci .name = "gcc_usb3_sec_phy_com_aux_clk", 31658c2ecf20Sopenharmony_ci .parent_data = &(const struct clk_parent_data){ 31668c2ecf20Sopenharmony_ci .hw = &gcc_usb3_sec_phy_aux_clk_src.clkr.hw, 31678c2ecf20Sopenharmony_ci }, 31688c2ecf20Sopenharmony_ci .num_parents = 1, 31698c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 31708c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 31718c2ecf20Sopenharmony_ci }, 31728c2ecf20Sopenharmony_ci }, 31738c2ecf20Sopenharmony_ci}; 31748c2ecf20Sopenharmony_ci 31758c2ecf20Sopenharmony_cistatic struct clk_branch gcc_usb3_sec_phy_pipe_clk = { 31768c2ecf20Sopenharmony_ci .halt_reg = 0x1005c, 31778c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_DELAY, 31788c2ecf20Sopenharmony_ci .clkr = { 31798c2ecf20Sopenharmony_ci .enable_reg = 0x1005c, 31808c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 31818c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 31828c2ecf20Sopenharmony_ci .name = "gcc_usb3_sec_phy_pipe_clk", 31838c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 31848c2ecf20Sopenharmony_ci }, 31858c2ecf20Sopenharmony_ci }, 31868c2ecf20Sopenharmony_ci}; 31878c2ecf20Sopenharmony_ci 31888c2ecf20Sopenharmony_cistatic struct clk_branch gcc_video_axi0_clk = { 31898c2ecf20Sopenharmony_ci .halt_reg = 0xb024, 31908c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_VOTED, 31918c2ecf20Sopenharmony_ci .clkr = { 31928c2ecf20Sopenharmony_ci .enable_reg = 0xb024, 31938c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 31948c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 31958c2ecf20Sopenharmony_ci .name = "gcc_video_axi0_clk", 31968c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 31978c2ecf20Sopenharmony_ci }, 31988c2ecf20Sopenharmony_ci }, 31998c2ecf20Sopenharmony_ci}; 32008c2ecf20Sopenharmony_ci 32018c2ecf20Sopenharmony_cistatic struct clk_branch gcc_video_axi1_clk = { 32028c2ecf20Sopenharmony_ci .halt_reg = 0xb028, 32038c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_VOTED, 32048c2ecf20Sopenharmony_ci .clkr = { 32058c2ecf20Sopenharmony_ci .enable_reg = 0xb028, 32068c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 32078c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 32088c2ecf20Sopenharmony_ci .name = "gcc_video_axi1_clk", 32098c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 32108c2ecf20Sopenharmony_ci }, 32118c2ecf20Sopenharmony_ci }, 32128c2ecf20Sopenharmony_ci}; 32138c2ecf20Sopenharmony_ci 32148c2ecf20Sopenharmony_cistatic struct clk_branch gcc_video_xo_clk = { 32158c2ecf20Sopenharmony_ci .halt_reg = 0xb03c, 32168c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT, 32178c2ecf20Sopenharmony_ci .clkr = { 32188c2ecf20Sopenharmony_ci .enable_reg = 0xb03c, 32198c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 32208c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 32218c2ecf20Sopenharmony_ci .name = "gcc_video_xo_clk", 32228c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 32238c2ecf20Sopenharmony_ci }, 32248c2ecf20Sopenharmony_ci }, 32258c2ecf20Sopenharmony_ci}; 32268c2ecf20Sopenharmony_ci 32278c2ecf20Sopenharmony_cistatic struct gdsc pcie_0_gdsc = { 32288c2ecf20Sopenharmony_ci .gdscr = 0x6b004, 32298c2ecf20Sopenharmony_ci .pd = { 32308c2ecf20Sopenharmony_ci .name = "pcie_0_gdsc", 32318c2ecf20Sopenharmony_ci }, 32328c2ecf20Sopenharmony_ci .pwrsts = PWRSTS_OFF_ON, 32338c2ecf20Sopenharmony_ci}; 32348c2ecf20Sopenharmony_ci 32358c2ecf20Sopenharmony_cistatic struct gdsc pcie_1_gdsc = { 32368c2ecf20Sopenharmony_ci .gdscr = 0x8d004, 32378c2ecf20Sopenharmony_ci .pd = { 32388c2ecf20Sopenharmony_ci .name = "pcie_1_gdsc", 32398c2ecf20Sopenharmony_ci }, 32408c2ecf20Sopenharmony_ci .pwrsts = PWRSTS_OFF_ON, 32418c2ecf20Sopenharmony_ci}; 32428c2ecf20Sopenharmony_ci 32438c2ecf20Sopenharmony_cistatic struct gdsc pcie_2_gdsc = { 32448c2ecf20Sopenharmony_ci .gdscr = 0x6004, 32458c2ecf20Sopenharmony_ci .pd = { 32468c2ecf20Sopenharmony_ci .name = "pcie_2_gdsc", 32478c2ecf20Sopenharmony_ci }, 32488c2ecf20Sopenharmony_ci .pwrsts = PWRSTS_OFF_ON, 32498c2ecf20Sopenharmony_ci}; 32508c2ecf20Sopenharmony_ci 32518c2ecf20Sopenharmony_cistatic struct gdsc ufs_card_gdsc = { 32528c2ecf20Sopenharmony_ci .gdscr = 0x75004, 32538c2ecf20Sopenharmony_ci .pd = { 32548c2ecf20Sopenharmony_ci .name = "ufs_card_gdsc", 32558c2ecf20Sopenharmony_ci }, 32568c2ecf20Sopenharmony_ci .pwrsts = PWRSTS_OFF_ON, 32578c2ecf20Sopenharmony_ci}; 32588c2ecf20Sopenharmony_ci 32598c2ecf20Sopenharmony_cistatic struct gdsc ufs_phy_gdsc = { 32608c2ecf20Sopenharmony_ci .gdscr = 0x77004, 32618c2ecf20Sopenharmony_ci .pd = { 32628c2ecf20Sopenharmony_ci .name = "ufs_phy_gdsc", 32638c2ecf20Sopenharmony_ci }, 32648c2ecf20Sopenharmony_ci .pwrsts = PWRSTS_OFF_ON, 32658c2ecf20Sopenharmony_ci}; 32668c2ecf20Sopenharmony_ci 32678c2ecf20Sopenharmony_cistatic struct gdsc usb30_prim_gdsc = { 32688c2ecf20Sopenharmony_ci .gdscr = 0xf004, 32698c2ecf20Sopenharmony_ci .pd = { 32708c2ecf20Sopenharmony_ci .name = "usb30_prim_gdsc", 32718c2ecf20Sopenharmony_ci }, 32728c2ecf20Sopenharmony_ci .pwrsts = PWRSTS_RET_ON, 32738c2ecf20Sopenharmony_ci}; 32748c2ecf20Sopenharmony_ci 32758c2ecf20Sopenharmony_cistatic struct gdsc usb30_sec_gdsc = { 32768c2ecf20Sopenharmony_ci .gdscr = 0x10004, 32778c2ecf20Sopenharmony_ci .pd = { 32788c2ecf20Sopenharmony_ci .name = "usb30_sec_gdsc", 32798c2ecf20Sopenharmony_ci }, 32808c2ecf20Sopenharmony_ci .pwrsts = PWRSTS_RET_ON, 32818c2ecf20Sopenharmony_ci}; 32828c2ecf20Sopenharmony_ci 32838c2ecf20Sopenharmony_cistatic struct gdsc hlos1_vote_mmnoc_mmu_tbu_hf0_gdsc = { 32848c2ecf20Sopenharmony_ci .gdscr = 0x7d050, 32858c2ecf20Sopenharmony_ci .pd = { 32868c2ecf20Sopenharmony_ci .name = "hlos1_vote_mmnoc_mmu_tbu_hf0_gdsc", 32878c2ecf20Sopenharmony_ci }, 32888c2ecf20Sopenharmony_ci .pwrsts = PWRSTS_OFF_ON, 32898c2ecf20Sopenharmony_ci .flags = VOTABLE, 32908c2ecf20Sopenharmony_ci}; 32918c2ecf20Sopenharmony_ci 32928c2ecf20Sopenharmony_cistatic struct gdsc hlos1_vote_mmnoc_mmu_tbu_hf1_gdsc = { 32938c2ecf20Sopenharmony_ci .gdscr = 0x7d058, 32948c2ecf20Sopenharmony_ci .pd = { 32958c2ecf20Sopenharmony_ci .name = "hlos1_vote_mmnoc_mmu_tbu_hf1_gdsc", 32968c2ecf20Sopenharmony_ci }, 32978c2ecf20Sopenharmony_ci .pwrsts = PWRSTS_OFF_ON, 32988c2ecf20Sopenharmony_ci .flags = VOTABLE, 32998c2ecf20Sopenharmony_ci}; 33008c2ecf20Sopenharmony_ci 33018c2ecf20Sopenharmony_cistatic struct gdsc hlos1_vote_mmnoc_mmu_tbu_sf0_gdsc = { 33028c2ecf20Sopenharmony_ci .gdscr = 0x7d054, 33038c2ecf20Sopenharmony_ci .pd = { 33048c2ecf20Sopenharmony_ci .name = "hlos1_vote_mmnoc_mmu_tbu_sf0_gdsc", 33058c2ecf20Sopenharmony_ci }, 33068c2ecf20Sopenharmony_ci .pwrsts = PWRSTS_OFF_ON, 33078c2ecf20Sopenharmony_ci .flags = VOTABLE, 33088c2ecf20Sopenharmony_ci}; 33098c2ecf20Sopenharmony_ci 33108c2ecf20Sopenharmony_cistatic struct gdsc hlos1_vote_mmnoc_mmu_tbu_sf1_gdsc = { 33118c2ecf20Sopenharmony_ci .gdscr = 0x7d06c, 33128c2ecf20Sopenharmony_ci .pd = { 33138c2ecf20Sopenharmony_ci .name = "hlos1_vote_mmnoc_mmu_tbu_sf1_gdsc", 33148c2ecf20Sopenharmony_ci }, 33158c2ecf20Sopenharmony_ci .pwrsts = PWRSTS_OFF_ON, 33168c2ecf20Sopenharmony_ci .flags = VOTABLE, 33178c2ecf20Sopenharmony_ci}; 33188c2ecf20Sopenharmony_ci 33198c2ecf20Sopenharmony_cistatic struct clk_regmap *gcc_sm8250_clocks[] = { 33208c2ecf20Sopenharmony_ci [GCC_AGGRE_NOC_PCIE_TBU_CLK] = &gcc_aggre_noc_pcie_tbu_clk.clkr, 33218c2ecf20Sopenharmony_ci [GCC_AGGRE_UFS_CARD_AXI_CLK] = &gcc_aggre_ufs_card_axi_clk.clkr, 33228c2ecf20Sopenharmony_ci [GCC_AGGRE_UFS_PHY_AXI_CLK] = &gcc_aggre_ufs_phy_axi_clk.clkr, 33238c2ecf20Sopenharmony_ci [GCC_AGGRE_USB3_PRIM_AXI_CLK] = &gcc_aggre_usb3_prim_axi_clk.clkr, 33248c2ecf20Sopenharmony_ci [GCC_AGGRE_USB3_SEC_AXI_CLK] = &gcc_aggre_usb3_sec_axi_clk.clkr, 33258c2ecf20Sopenharmony_ci [GCC_BOOT_ROM_AHB_CLK] = &gcc_boot_rom_ahb_clk.clkr, 33268c2ecf20Sopenharmony_ci [GCC_CAMERA_HF_AXI_CLK] = &gcc_camera_hf_axi_clk.clkr, 33278c2ecf20Sopenharmony_ci [GCC_CAMERA_SF_AXI_CLK] = &gcc_camera_sf_axi_clk.clkr, 33288c2ecf20Sopenharmony_ci [GCC_CAMERA_XO_CLK] = &gcc_camera_xo_clk.clkr, 33298c2ecf20Sopenharmony_ci [GCC_CFG_NOC_USB3_PRIM_AXI_CLK] = &gcc_cfg_noc_usb3_prim_axi_clk.clkr, 33308c2ecf20Sopenharmony_ci [GCC_CFG_NOC_USB3_SEC_AXI_CLK] = &gcc_cfg_noc_usb3_sec_axi_clk.clkr, 33318c2ecf20Sopenharmony_ci [GCC_CPUSS_AHB_CLK] = &gcc_cpuss_ahb_clk.clkr, 33328c2ecf20Sopenharmony_ci [GCC_CPUSS_AHB_CLK_SRC] = &gcc_cpuss_ahb_clk_src.clkr, 33338c2ecf20Sopenharmony_ci [GCC_CPUSS_AHB_POSTDIV_CLK_SRC] = &gcc_cpuss_ahb_postdiv_clk_src.clkr, 33348c2ecf20Sopenharmony_ci [GCC_CPUSS_RBCPR_CLK] = &gcc_cpuss_rbcpr_clk.clkr, 33358c2ecf20Sopenharmony_ci [GCC_DDRSS_GPU_AXI_CLK] = &gcc_ddrss_gpu_axi_clk.clkr, 33368c2ecf20Sopenharmony_ci [GCC_DDRSS_PCIE_SF_TBU_CLK] = &gcc_ddrss_pcie_sf_tbu_clk.clkr, 33378c2ecf20Sopenharmony_ci [GCC_DISP_HF_AXI_CLK] = &gcc_disp_hf_axi_clk.clkr, 33388c2ecf20Sopenharmony_ci [GCC_DISP_SF_AXI_CLK] = &gcc_disp_sf_axi_clk.clkr, 33398c2ecf20Sopenharmony_ci [GCC_DISP_XO_CLK] = &gcc_disp_xo_clk.clkr, 33408c2ecf20Sopenharmony_ci [GCC_GP1_CLK] = &gcc_gp1_clk.clkr, 33418c2ecf20Sopenharmony_ci [GCC_GP1_CLK_SRC] = &gcc_gp1_clk_src.clkr, 33428c2ecf20Sopenharmony_ci [GCC_GP2_CLK] = &gcc_gp2_clk.clkr, 33438c2ecf20Sopenharmony_ci [GCC_GP2_CLK_SRC] = &gcc_gp2_clk_src.clkr, 33448c2ecf20Sopenharmony_ci [GCC_GP3_CLK] = &gcc_gp3_clk.clkr, 33458c2ecf20Sopenharmony_ci [GCC_GP3_CLK_SRC] = &gcc_gp3_clk_src.clkr, 33468c2ecf20Sopenharmony_ci [GCC_GPU_GPLL0_CLK_SRC] = &gcc_gpu_gpll0_clk_src.clkr, 33478c2ecf20Sopenharmony_ci [GCC_GPU_GPLL0_DIV_CLK_SRC] = &gcc_gpu_gpll0_div_clk_src.clkr, 33488c2ecf20Sopenharmony_ci [GCC_GPU_IREF_EN] = &gcc_gpu_iref_en.clkr, 33498c2ecf20Sopenharmony_ci [GCC_GPU_MEMNOC_GFX_CLK] = &gcc_gpu_memnoc_gfx_clk.clkr, 33508c2ecf20Sopenharmony_ci [GCC_GPU_SNOC_DVM_GFX_CLK] = &gcc_gpu_snoc_dvm_gfx_clk.clkr, 33518c2ecf20Sopenharmony_ci [GCC_NPU_AXI_CLK] = &gcc_npu_axi_clk.clkr, 33528c2ecf20Sopenharmony_ci [GCC_NPU_BWMON_AXI_CLK] = &gcc_npu_bwmon_axi_clk.clkr, 33538c2ecf20Sopenharmony_ci [GCC_NPU_BWMON_CFG_AHB_CLK] = &gcc_npu_bwmon_cfg_ahb_clk.clkr, 33548c2ecf20Sopenharmony_ci [GCC_NPU_CFG_AHB_CLK] = &gcc_npu_cfg_ahb_clk.clkr, 33558c2ecf20Sopenharmony_ci [GCC_NPU_DMA_CLK] = &gcc_npu_dma_clk.clkr, 33568c2ecf20Sopenharmony_ci [GCC_NPU_GPLL0_CLK_SRC] = &gcc_npu_gpll0_clk_src.clkr, 33578c2ecf20Sopenharmony_ci [GCC_NPU_GPLL0_DIV_CLK_SRC] = &gcc_npu_gpll0_div_clk_src.clkr, 33588c2ecf20Sopenharmony_ci [GCC_PCIE0_PHY_REFGEN_CLK] = &gcc_pcie0_phy_refgen_clk.clkr, 33598c2ecf20Sopenharmony_ci [GCC_PCIE1_PHY_REFGEN_CLK] = &gcc_pcie1_phy_refgen_clk.clkr, 33608c2ecf20Sopenharmony_ci [GCC_PCIE2_PHY_REFGEN_CLK] = &gcc_pcie2_phy_refgen_clk.clkr, 33618c2ecf20Sopenharmony_ci [GCC_PCIE_0_AUX_CLK] = &gcc_pcie_0_aux_clk.clkr, 33628c2ecf20Sopenharmony_ci [GCC_PCIE_0_AUX_CLK_SRC] = &gcc_pcie_0_aux_clk_src.clkr, 33638c2ecf20Sopenharmony_ci [GCC_PCIE_0_CFG_AHB_CLK] = &gcc_pcie_0_cfg_ahb_clk.clkr, 33648c2ecf20Sopenharmony_ci [GCC_PCIE_0_MSTR_AXI_CLK] = &gcc_pcie_0_mstr_axi_clk.clkr, 33658c2ecf20Sopenharmony_ci [GCC_PCIE_0_PIPE_CLK] = &gcc_pcie_0_pipe_clk.clkr, 33668c2ecf20Sopenharmony_ci [GCC_PCIE_0_SLV_AXI_CLK] = &gcc_pcie_0_slv_axi_clk.clkr, 33678c2ecf20Sopenharmony_ci [GCC_PCIE_0_SLV_Q2A_AXI_CLK] = &gcc_pcie_0_slv_q2a_axi_clk.clkr, 33688c2ecf20Sopenharmony_ci [GCC_PCIE_1_AUX_CLK] = &gcc_pcie_1_aux_clk.clkr, 33698c2ecf20Sopenharmony_ci [GCC_PCIE_1_AUX_CLK_SRC] = &gcc_pcie_1_aux_clk_src.clkr, 33708c2ecf20Sopenharmony_ci [GCC_PCIE_1_CFG_AHB_CLK] = &gcc_pcie_1_cfg_ahb_clk.clkr, 33718c2ecf20Sopenharmony_ci [GCC_PCIE_1_MSTR_AXI_CLK] = &gcc_pcie_1_mstr_axi_clk.clkr, 33728c2ecf20Sopenharmony_ci [GCC_PCIE_1_PIPE_CLK] = &gcc_pcie_1_pipe_clk.clkr, 33738c2ecf20Sopenharmony_ci [GCC_PCIE_1_SLV_AXI_CLK] = &gcc_pcie_1_slv_axi_clk.clkr, 33748c2ecf20Sopenharmony_ci [GCC_PCIE_1_SLV_Q2A_AXI_CLK] = &gcc_pcie_1_slv_q2a_axi_clk.clkr, 33758c2ecf20Sopenharmony_ci [GCC_PCIE_2_AUX_CLK] = &gcc_pcie_2_aux_clk.clkr, 33768c2ecf20Sopenharmony_ci [GCC_PCIE_2_AUX_CLK_SRC] = &gcc_pcie_2_aux_clk_src.clkr, 33778c2ecf20Sopenharmony_ci [GCC_PCIE_2_CFG_AHB_CLK] = &gcc_pcie_2_cfg_ahb_clk.clkr, 33788c2ecf20Sopenharmony_ci [GCC_PCIE_2_MSTR_AXI_CLK] = &gcc_pcie_2_mstr_axi_clk.clkr, 33798c2ecf20Sopenharmony_ci [GCC_PCIE_2_PIPE_CLK] = &gcc_pcie_2_pipe_clk.clkr, 33808c2ecf20Sopenharmony_ci [GCC_PCIE_2_SLV_AXI_CLK] = &gcc_pcie_2_slv_axi_clk.clkr, 33818c2ecf20Sopenharmony_ci [GCC_PCIE_2_SLV_Q2A_AXI_CLK] = &gcc_pcie_2_slv_q2a_axi_clk.clkr, 33828c2ecf20Sopenharmony_ci [GCC_PCIE_MDM_CLKREF_EN] = &gcc_pcie_mdm_clkref_en.clkr, 33838c2ecf20Sopenharmony_ci [GCC_PCIE_PHY_AUX_CLK] = &gcc_pcie_phy_aux_clk.clkr, 33848c2ecf20Sopenharmony_ci [GCC_PCIE_PHY_REFGEN_CLK_SRC] = &gcc_pcie_phy_refgen_clk_src.clkr, 33858c2ecf20Sopenharmony_ci [GCC_PCIE_WIFI_CLKREF_EN] = &gcc_pcie_wifi_clkref_en.clkr, 33868c2ecf20Sopenharmony_ci [GCC_PCIE_WIGIG_CLKREF_EN] = &gcc_pcie_wigig_clkref_en.clkr, 33878c2ecf20Sopenharmony_ci [GCC_PDM2_CLK] = &gcc_pdm2_clk.clkr, 33888c2ecf20Sopenharmony_ci [GCC_PDM2_CLK_SRC] = &gcc_pdm2_clk_src.clkr, 33898c2ecf20Sopenharmony_ci [GCC_PDM_AHB_CLK] = &gcc_pdm_ahb_clk.clkr, 33908c2ecf20Sopenharmony_ci [GCC_PDM_XO4_CLK] = &gcc_pdm_xo4_clk.clkr, 33918c2ecf20Sopenharmony_ci [GCC_PRNG_AHB_CLK] = &gcc_prng_ahb_clk.clkr, 33928c2ecf20Sopenharmony_ci [GCC_QMIP_CAMERA_NRT_AHB_CLK] = &gcc_qmip_camera_nrt_ahb_clk.clkr, 33938c2ecf20Sopenharmony_ci [GCC_QMIP_CAMERA_RT_AHB_CLK] = &gcc_qmip_camera_rt_ahb_clk.clkr, 33948c2ecf20Sopenharmony_ci [GCC_QMIP_DISP_AHB_CLK] = &gcc_qmip_disp_ahb_clk.clkr, 33958c2ecf20Sopenharmony_ci [GCC_QMIP_VIDEO_CVP_AHB_CLK] = &gcc_qmip_video_cvp_ahb_clk.clkr, 33968c2ecf20Sopenharmony_ci [GCC_QMIP_VIDEO_VCODEC_AHB_CLK] = &gcc_qmip_video_vcodec_ahb_clk.clkr, 33978c2ecf20Sopenharmony_ci [GCC_QUPV3_WRAP0_CORE_2X_CLK] = &gcc_qupv3_wrap0_core_2x_clk.clkr, 33988c2ecf20Sopenharmony_ci [GCC_QUPV3_WRAP0_CORE_CLK] = &gcc_qupv3_wrap0_core_clk.clkr, 33998c2ecf20Sopenharmony_ci [GCC_QUPV3_WRAP0_S0_CLK] = &gcc_qupv3_wrap0_s0_clk.clkr, 34008c2ecf20Sopenharmony_ci [GCC_QUPV3_WRAP0_S0_CLK_SRC] = &gcc_qupv3_wrap0_s0_clk_src.clkr, 34018c2ecf20Sopenharmony_ci [GCC_QUPV3_WRAP0_S1_CLK] = &gcc_qupv3_wrap0_s1_clk.clkr, 34028c2ecf20Sopenharmony_ci [GCC_QUPV3_WRAP0_S1_CLK_SRC] = &gcc_qupv3_wrap0_s1_clk_src.clkr, 34038c2ecf20Sopenharmony_ci [GCC_QUPV3_WRAP0_S2_CLK] = &gcc_qupv3_wrap0_s2_clk.clkr, 34048c2ecf20Sopenharmony_ci [GCC_QUPV3_WRAP0_S2_CLK_SRC] = &gcc_qupv3_wrap0_s2_clk_src.clkr, 34058c2ecf20Sopenharmony_ci [GCC_QUPV3_WRAP0_S3_CLK] = &gcc_qupv3_wrap0_s3_clk.clkr, 34068c2ecf20Sopenharmony_ci [GCC_QUPV3_WRAP0_S3_CLK_SRC] = &gcc_qupv3_wrap0_s3_clk_src.clkr, 34078c2ecf20Sopenharmony_ci [GCC_QUPV3_WRAP0_S4_CLK] = &gcc_qupv3_wrap0_s4_clk.clkr, 34088c2ecf20Sopenharmony_ci [GCC_QUPV3_WRAP0_S4_CLK_SRC] = &gcc_qupv3_wrap0_s4_clk_src.clkr, 34098c2ecf20Sopenharmony_ci [GCC_QUPV3_WRAP0_S5_CLK] = &gcc_qupv3_wrap0_s5_clk.clkr, 34108c2ecf20Sopenharmony_ci [GCC_QUPV3_WRAP0_S5_CLK_SRC] = &gcc_qupv3_wrap0_s5_clk_src.clkr, 34118c2ecf20Sopenharmony_ci [GCC_QUPV3_WRAP0_S6_CLK] = &gcc_qupv3_wrap0_s6_clk.clkr, 34128c2ecf20Sopenharmony_ci [GCC_QUPV3_WRAP0_S6_CLK_SRC] = &gcc_qupv3_wrap0_s6_clk_src.clkr, 34138c2ecf20Sopenharmony_ci [GCC_QUPV3_WRAP0_S7_CLK] = &gcc_qupv3_wrap0_s7_clk.clkr, 34148c2ecf20Sopenharmony_ci [GCC_QUPV3_WRAP0_S7_CLK_SRC] = &gcc_qupv3_wrap0_s7_clk_src.clkr, 34158c2ecf20Sopenharmony_ci [GCC_QUPV3_WRAP1_CORE_2X_CLK] = &gcc_qupv3_wrap1_core_2x_clk.clkr, 34168c2ecf20Sopenharmony_ci [GCC_QUPV3_WRAP1_CORE_CLK] = &gcc_qupv3_wrap1_core_clk.clkr, 34178c2ecf20Sopenharmony_ci [GCC_QUPV3_WRAP1_S0_CLK] = &gcc_qupv3_wrap1_s0_clk.clkr, 34188c2ecf20Sopenharmony_ci [GCC_QUPV3_WRAP1_S0_CLK_SRC] = &gcc_qupv3_wrap1_s0_clk_src.clkr, 34198c2ecf20Sopenharmony_ci [GCC_QUPV3_WRAP1_S1_CLK] = &gcc_qupv3_wrap1_s1_clk.clkr, 34208c2ecf20Sopenharmony_ci [GCC_QUPV3_WRAP1_S1_CLK_SRC] = &gcc_qupv3_wrap1_s1_clk_src.clkr, 34218c2ecf20Sopenharmony_ci [GCC_QUPV3_WRAP1_S2_CLK] = &gcc_qupv3_wrap1_s2_clk.clkr, 34228c2ecf20Sopenharmony_ci [GCC_QUPV3_WRAP1_S2_CLK_SRC] = &gcc_qupv3_wrap1_s2_clk_src.clkr, 34238c2ecf20Sopenharmony_ci [GCC_QUPV3_WRAP1_S3_CLK] = &gcc_qupv3_wrap1_s3_clk.clkr, 34248c2ecf20Sopenharmony_ci [GCC_QUPV3_WRAP1_S3_CLK_SRC] = &gcc_qupv3_wrap1_s3_clk_src.clkr, 34258c2ecf20Sopenharmony_ci [GCC_QUPV3_WRAP1_S4_CLK] = &gcc_qupv3_wrap1_s4_clk.clkr, 34268c2ecf20Sopenharmony_ci [GCC_QUPV3_WRAP1_S4_CLK_SRC] = &gcc_qupv3_wrap1_s4_clk_src.clkr, 34278c2ecf20Sopenharmony_ci [GCC_QUPV3_WRAP1_S5_CLK] = &gcc_qupv3_wrap1_s5_clk.clkr, 34288c2ecf20Sopenharmony_ci [GCC_QUPV3_WRAP1_S5_CLK_SRC] = &gcc_qupv3_wrap1_s5_clk_src.clkr, 34298c2ecf20Sopenharmony_ci [GCC_QUPV3_WRAP2_CORE_2X_CLK] = &gcc_qupv3_wrap2_core_2x_clk.clkr, 34308c2ecf20Sopenharmony_ci [GCC_QUPV3_WRAP2_CORE_CLK] = &gcc_qupv3_wrap2_core_clk.clkr, 34318c2ecf20Sopenharmony_ci [GCC_QUPV3_WRAP2_S0_CLK] = &gcc_qupv3_wrap2_s0_clk.clkr, 34328c2ecf20Sopenharmony_ci [GCC_QUPV3_WRAP2_S0_CLK_SRC] = &gcc_qupv3_wrap2_s0_clk_src.clkr, 34338c2ecf20Sopenharmony_ci [GCC_QUPV3_WRAP2_S1_CLK] = &gcc_qupv3_wrap2_s1_clk.clkr, 34348c2ecf20Sopenharmony_ci [GCC_QUPV3_WRAP2_S1_CLK_SRC] = &gcc_qupv3_wrap2_s1_clk_src.clkr, 34358c2ecf20Sopenharmony_ci [GCC_QUPV3_WRAP2_S2_CLK] = &gcc_qupv3_wrap2_s2_clk.clkr, 34368c2ecf20Sopenharmony_ci [GCC_QUPV3_WRAP2_S2_CLK_SRC] = &gcc_qupv3_wrap2_s2_clk_src.clkr, 34378c2ecf20Sopenharmony_ci [GCC_QUPV3_WRAP2_S3_CLK] = &gcc_qupv3_wrap2_s3_clk.clkr, 34388c2ecf20Sopenharmony_ci [GCC_QUPV3_WRAP2_S3_CLK_SRC] = &gcc_qupv3_wrap2_s3_clk_src.clkr, 34398c2ecf20Sopenharmony_ci [GCC_QUPV3_WRAP2_S4_CLK] = &gcc_qupv3_wrap2_s4_clk.clkr, 34408c2ecf20Sopenharmony_ci [GCC_QUPV3_WRAP2_S4_CLK_SRC] = &gcc_qupv3_wrap2_s4_clk_src.clkr, 34418c2ecf20Sopenharmony_ci [GCC_QUPV3_WRAP2_S5_CLK] = &gcc_qupv3_wrap2_s5_clk.clkr, 34428c2ecf20Sopenharmony_ci [GCC_QUPV3_WRAP2_S5_CLK_SRC] = &gcc_qupv3_wrap2_s5_clk_src.clkr, 34438c2ecf20Sopenharmony_ci [GCC_QUPV3_WRAP_0_M_AHB_CLK] = &gcc_qupv3_wrap_0_m_ahb_clk.clkr, 34448c2ecf20Sopenharmony_ci [GCC_QUPV3_WRAP_0_S_AHB_CLK] = &gcc_qupv3_wrap_0_s_ahb_clk.clkr, 34458c2ecf20Sopenharmony_ci [GCC_QUPV3_WRAP_1_M_AHB_CLK] = &gcc_qupv3_wrap_1_m_ahb_clk.clkr, 34468c2ecf20Sopenharmony_ci [GCC_QUPV3_WRAP_1_S_AHB_CLK] = &gcc_qupv3_wrap_1_s_ahb_clk.clkr, 34478c2ecf20Sopenharmony_ci [GCC_QUPV3_WRAP_2_M_AHB_CLK] = &gcc_qupv3_wrap_2_m_ahb_clk.clkr, 34488c2ecf20Sopenharmony_ci [GCC_QUPV3_WRAP_2_S_AHB_CLK] = &gcc_qupv3_wrap_2_s_ahb_clk.clkr, 34498c2ecf20Sopenharmony_ci [GCC_SDCC2_AHB_CLK] = &gcc_sdcc2_ahb_clk.clkr, 34508c2ecf20Sopenharmony_ci [GCC_SDCC2_APPS_CLK] = &gcc_sdcc2_apps_clk.clkr, 34518c2ecf20Sopenharmony_ci [GCC_SDCC2_APPS_CLK_SRC] = &gcc_sdcc2_apps_clk_src.clkr, 34528c2ecf20Sopenharmony_ci [GCC_SDCC4_AHB_CLK] = &gcc_sdcc4_ahb_clk.clkr, 34538c2ecf20Sopenharmony_ci [GCC_SDCC4_APPS_CLK] = &gcc_sdcc4_apps_clk.clkr, 34548c2ecf20Sopenharmony_ci [GCC_SDCC4_APPS_CLK_SRC] = &gcc_sdcc4_apps_clk_src.clkr, 34558c2ecf20Sopenharmony_ci [GCC_TSIF_AHB_CLK] = &gcc_tsif_ahb_clk.clkr, 34568c2ecf20Sopenharmony_ci [GCC_TSIF_INACTIVITY_TIMERS_CLK] = &gcc_tsif_inactivity_timers_clk.clkr, 34578c2ecf20Sopenharmony_ci [GCC_TSIF_REF_CLK] = &gcc_tsif_ref_clk.clkr, 34588c2ecf20Sopenharmony_ci [GCC_TSIF_REF_CLK_SRC] = &gcc_tsif_ref_clk_src.clkr, 34598c2ecf20Sopenharmony_ci [GCC_UFS_1X_CLKREF_EN] = &gcc_ufs_1x_clkref_en.clkr, 34608c2ecf20Sopenharmony_ci [GCC_UFS_CARD_AHB_CLK] = &gcc_ufs_card_ahb_clk.clkr, 34618c2ecf20Sopenharmony_ci [GCC_UFS_CARD_AXI_CLK] = &gcc_ufs_card_axi_clk.clkr, 34628c2ecf20Sopenharmony_ci [GCC_UFS_CARD_AXI_CLK_SRC] = &gcc_ufs_card_axi_clk_src.clkr, 34638c2ecf20Sopenharmony_ci [GCC_UFS_CARD_ICE_CORE_CLK] = &gcc_ufs_card_ice_core_clk.clkr, 34648c2ecf20Sopenharmony_ci [GCC_UFS_CARD_ICE_CORE_CLK_SRC] = &gcc_ufs_card_ice_core_clk_src.clkr, 34658c2ecf20Sopenharmony_ci [GCC_UFS_CARD_PHY_AUX_CLK] = &gcc_ufs_card_phy_aux_clk.clkr, 34668c2ecf20Sopenharmony_ci [GCC_UFS_CARD_PHY_AUX_CLK_SRC] = &gcc_ufs_card_phy_aux_clk_src.clkr, 34678c2ecf20Sopenharmony_ci [GCC_UFS_CARD_RX_SYMBOL_0_CLK] = &gcc_ufs_card_rx_symbol_0_clk.clkr, 34688c2ecf20Sopenharmony_ci [GCC_UFS_CARD_RX_SYMBOL_1_CLK] = &gcc_ufs_card_rx_symbol_1_clk.clkr, 34698c2ecf20Sopenharmony_ci [GCC_UFS_CARD_TX_SYMBOL_0_CLK] = &gcc_ufs_card_tx_symbol_0_clk.clkr, 34708c2ecf20Sopenharmony_ci [GCC_UFS_CARD_UNIPRO_CORE_CLK] = &gcc_ufs_card_unipro_core_clk.clkr, 34718c2ecf20Sopenharmony_ci [GCC_UFS_CARD_UNIPRO_CORE_CLK_SRC] = 34728c2ecf20Sopenharmony_ci &gcc_ufs_card_unipro_core_clk_src.clkr, 34738c2ecf20Sopenharmony_ci [GCC_UFS_PHY_AHB_CLK] = &gcc_ufs_phy_ahb_clk.clkr, 34748c2ecf20Sopenharmony_ci [GCC_UFS_PHY_AXI_CLK] = &gcc_ufs_phy_axi_clk.clkr, 34758c2ecf20Sopenharmony_ci [GCC_UFS_PHY_AXI_CLK_SRC] = &gcc_ufs_phy_axi_clk_src.clkr, 34768c2ecf20Sopenharmony_ci [GCC_UFS_PHY_ICE_CORE_CLK] = &gcc_ufs_phy_ice_core_clk.clkr, 34778c2ecf20Sopenharmony_ci [GCC_UFS_PHY_ICE_CORE_CLK_SRC] = &gcc_ufs_phy_ice_core_clk_src.clkr, 34788c2ecf20Sopenharmony_ci [GCC_UFS_PHY_PHY_AUX_CLK] = &gcc_ufs_phy_phy_aux_clk.clkr, 34798c2ecf20Sopenharmony_ci [GCC_UFS_PHY_PHY_AUX_CLK_SRC] = &gcc_ufs_phy_phy_aux_clk_src.clkr, 34808c2ecf20Sopenharmony_ci [GCC_UFS_PHY_RX_SYMBOL_0_CLK] = &gcc_ufs_phy_rx_symbol_0_clk.clkr, 34818c2ecf20Sopenharmony_ci [GCC_UFS_PHY_RX_SYMBOL_1_CLK] = &gcc_ufs_phy_rx_symbol_1_clk.clkr, 34828c2ecf20Sopenharmony_ci [GCC_UFS_PHY_TX_SYMBOL_0_CLK] = &gcc_ufs_phy_tx_symbol_0_clk.clkr, 34838c2ecf20Sopenharmony_ci [GCC_UFS_PHY_UNIPRO_CORE_CLK] = &gcc_ufs_phy_unipro_core_clk.clkr, 34848c2ecf20Sopenharmony_ci [GCC_UFS_PHY_UNIPRO_CORE_CLK_SRC] = 34858c2ecf20Sopenharmony_ci &gcc_ufs_phy_unipro_core_clk_src.clkr, 34868c2ecf20Sopenharmony_ci [GCC_USB30_PRIM_MASTER_CLK] = &gcc_usb30_prim_master_clk.clkr, 34878c2ecf20Sopenharmony_ci [GCC_USB30_PRIM_MASTER_CLK_SRC] = &gcc_usb30_prim_master_clk_src.clkr, 34888c2ecf20Sopenharmony_ci [GCC_USB30_PRIM_MOCK_UTMI_CLK] = &gcc_usb30_prim_mock_utmi_clk.clkr, 34898c2ecf20Sopenharmony_ci [GCC_USB30_PRIM_MOCK_UTMI_CLK_SRC] = 34908c2ecf20Sopenharmony_ci &gcc_usb30_prim_mock_utmi_clk_src.clkr, 34918c2ecf20Sopenharmony_ci [GCC_USB30_PRIM_MOCK_UTMI_POSTDIV_CLK_SRC] = 34928c2ecf20Sopenharmony_ci &gcc_usb30_prim_mock_utmi_postdiv_clk_src.clkr, 34938c2ecf20Sopenharmony_ci [GCC_USB30_PRIM_SLEEP_CLK] = &gcc_usb30_prim_sleep_clk.clkr, 34948c2ecf20Sopenharmony_ci [GCC_USB30_SEC_MASTER_CLK] = &gcc_usb30_sec_master_clk.clkr, 34958c2ecf20Sopenharmony_ci [GCC_USB30_SEC_MASTER_CLK_SRC] = &gcc_usb30_sec_master_clk_src.clkr, 34968c2ecf20Sopenharmony_ci [GCC_USB30_SEC_MOCK_UTMI_CLK] = &gcc_usb30_sec_mock_utmi_clk.clkr, 34978c2ecf20Sopenharmony_ci [GCC_USB30_SEC_MOCK_UTMI_CLK_SRC] = 34988c2ecf20Sopenharmony_ci &gcc_usb30_sec_mock_utmi_clk_src.clkr, 34998c2ecf20Sopenharmony_ci [GCC_USB30_SEC_MOCK_UTMI_POSTDIV_CLK_SRC] = 35008c2ecf20Sopenharmony_ci &gcc_usb30_sec_mock_utmi_postdiv_clk_src.clkr, 35018c2ecf20Sopenharmony_ci [GCC_USB30_SEC_SLEEP_CLK] = &gcc_usb30_sec_sleep_clk.clkr, 35028c2ecf20Sopenharmony_ci [GCC_USB3_PRIM_PHY_AUX_CLK] = &gcc_usb3_prim_phy_aux_clk.clkr, 35038c2ecf20Sopenharmony_ci [GCC_USB3_PRIM_PHY_AUX_CLK_SRC] = &gcc_usb3_prim_phy_aux_clk_src.clkr, 35048c2ecf20Sopenharmony_ci [GCC_USB3_PRIM_PHY_COM_AUX_CLK] = &gcc_usb3_prim_phy_com_aux_clk.clkr, 35058c2ecf20Sopenharmony_ci [GCC_USB3_PRIM_PHY_PIPE_CLK] = &gcc_usb3_prim_phy_pipe_clk.clkr, 35068c2ecf20Sopenharmony_ci [GCC_USB3_SEC_CLKREF_EN] = &gcc_usb3_sec_clkref_en.clkr, 35078c2ecf20Sopenharmony_ci [GCC_USB3_SEC_PHY_AUX_CLK] = &gcc_usb3_sec_phy_aux_clk.clkr, 35088c2ecf20Sopenharmony_ci [GCC_USB3_SEC_PHY_AUX_CLK_SRC] = &gcc_usb3_sec_phy_aux_clk_src.clkr, 35098c2ecf20Sopenharmony_ci [GCC_USB3_SEC_PHY_COM_AUX_CLK] = &gcc_usb3_sec_phy_com_aux_clk.clkr, 35108c2ecf20Sopenharmony_ci [GCC_USB3_SEC_PHY_PIPE_CLK] = &gcc_usb3_sec_phy_pipe_clk.clkr, 35118c2ecf20Sopenharmony_ci [GCC_VIDEO_AXI0_CLK] = &gcc_video_axi0_clk.clkr, 35128c2ecf20Sopenharmony_ci [GCC_VIDEO_AXI1_CLK] = &gcc_video_axi1_clk.clkr, 35138c2ecf20Sopenharmony_ci [GCC_VIDEO_XO_CLK] = &gcc_video_xo_clk.clkr, 35148c2ecf20Sopenharmony_ci [GPLL0] = &gpll0.clkr, 35158c2ecf20Sopenharmony_ci [GPLL0_OUT_EVEN] = &gpll0_out_even.clkr, 35168c2ecf20Sopenharmony_ci [GPLL4] = &gpll4.clkr, 35178c2ecf20Sopenharmony_ci [GPLL9] = &gpll9.clkr, 35188c2ecf20Sopenharmony_ci}; 35198c2ecf20Sopenharmony_ci 35208c2ecf20Sopenharmony_cistatic struct gdsc *gcc_sm8250_gdscs[] = { 35218c2ecf20Sopenharmony_ci [PCIE_0_GDSC] = &pcie_0_gdsc, 35228c2ecf20Sopenharmony_ci [PCIE_1_GDSC] = &pcie_1_gdsc, 35238c2ecf20Sopenharmony_ci [PCIE_2_GDSC] = &pcie_2_gdsc, 35248c2ecf20Sopenharmony_ci [UFS_CARD_GDSC] = &ufs_card_gdsc, 35258c2ecf20Sopenharmony_ci [UFS_PHY_GDSC] = &ufs_phy_gdsc, 35268c2ecf20Sopenharmony_ci [USB30_PRIM_GDSC] = &usb30_prim_gdsc, 35278c2ecf20Sopenharmony_ci [USB30_SEC_GDSC] = &usb30_sec_gdsc, 35288c2ecf20Sopenharmony_ci [HLOS1_VOTE_MMNOC_MMU_TBU_HF0_GDSC] = 35298c2ecf20Sopenharmony_ci &hlos1_vote_mmnoc_mmu_tbu_hf0_gdsc, 35308c2ecf20Sopenharmony_ci [HLOS1_VOTE_MMNOC_MMU_TBU_HF1_GDSC] = 35318c2ecf20Sopenharmony_ci &hlos1_vote_mmnoc_mmu_tbu_hf1_gdsc, 35328c2ecf20Sopenharmony_ci [HLOS1_VOTE_MMNOC_MMU_TBU_SF0_GDSC] = 35338c2ecf20Sopenharmony_ci &hlos1_vote_mmnoc_mmu_tbu_sf0_gdsc, 35348c2ecf20Sopenharmony_ci [HLOS1_VOTE_MMNOC_MMU_TBU_SF1_GDSC] = 35358c2ecf20Sopenharmony_ci &hlos1_vote_mmnoc_mmu_tbu_sf1_gdsc, 35368c2ecf20Sopenharmony_ci}; 35378c2ecf20Sopenharmony_ci 35388c2ecf20Sopenharmony_cistatic const struct qcom_reset_map gcc_sm8250_resets[] = { 35398c2ecf20Sopenharmony_ci [GCC_GPU_BCR] = { 0x71000 }, 35408c2ecf20Sopenharmony_ci [GCC_MMSS_BCR] = { 0xb000 }, 35418c2ecf20Sopenharmony_ci [GCC_NPU_BWMON_BCR] = { 0x73000 }, 35428c2ecf20Sopenharmony_ci [GCC_NPU_BCR] = { 0x4d000 }, 35438c2ecf20Sopenharmony_ci [GCC_PCIE_0_BCR] = { 0x6b000 }, 35448c2ecf20Sopenharmony_ci [GCC_PCIE_0_LINK_DOWN_BCR] = { 0x6c014 }, 35458c2ecf20Sopenharmony_ci [GCC_PCIE_0_NOCSR_COM_PHY_BCR] = { 0x6c020 }, 35468c2ecf20Sopenharmony_ci [GCC_PCIE_0_PHY_BCR] = { 0x6c01c }, 35478c2ecf20Sopenharmony_ci [GCC_PCIE_0_PHY_NOCSR_COM_PHY_BCR] = { 0x6c028 }, 35488c2ecf20Sopenharmony_ci [GCC_PCIE_1_BCR] = { 0x8d000 }, 35498c2ecf20Sopenharmony_ci [GCC_PCIE_1_LINK_DOWN_BCR] = { 0x8e014 }, 35508c2ecf20Sopenharmony_ci [GCC_PCIE_1_NOCSR_COM_PHY_BCR] = { 0x8e020 }, 35518c2ecf20Sopenharmony_ci [GCC_PCIE_1_PHY_BCR] = { 0x8e01c }, 35528c2ecf20Sopenharmony_ci [GCC_PCIE_1_PHY_NOCSR_COM_PHY_BCR] = { 0x8e000 }, 35538c2ecf20Sopenharmony_ci [GCC_PCIE_2_BCR] = { 0x6000 }, 35548c2ecf20Sopenharmony_ci [GCC_PCIE_2_LINK_DOWN_BCR] = { 0x1f014 }, 35558c2ecf20Sopenharmony_ci [GCC_PCIE_2_NOCSR_COM_PHY_BCR] = { 0x1f020 }, 35568c2ecf20Sopenharmony_ci [GCC_PCIE_2_PHY_BCR] = { 0x1f01c }, 35578c2ecf20Sopenharmony_ci [GCC_PCIE_2_PHY_NOCSR_COM_PHY_BCR] = { 0x1f028 }, 35588c2ecf20Sopenharmony_ci [GCC_PCIE_PHY_BCR] = { 0x6f000 }, 35598c2ecf20Sopenharmony_ci [GCC_PCIE_PHY_CFG_AHB_BCR] = { 0x6f00c }, 35608c2ecf20Sopenharmony_ci [GCC_PCIE_PHY_COM_BCR] = { 0x6f010 }, 35618c2ecf20Sopenharmony_ci [GCC_PDM_BCR] = { 0x33000 }, 35628c2ecf20Sopenharmony_ci [GCC_PRNG_BCR] = { 0x34000 }, 35638c2ecf20Sopenharmony_ci [GCC_QUPV3_WRAPPER_0_BCR] = { 0x17000 }, 35648c2ecf20Sopenharmony_ci [GCC_QUPV3_WRAPPER_1_BCR] = { 0x18000 }, 35658c2ecf20Sopenharmony_ci [GCC_QUPV3_WRAPPER_2_BCR] = { 0x1e000 }, 35668c2ecf20Sopenharmony_ci [GCC_QUSB2PHY_PRIM_BCR] = { 0x12000 }, 35678c2ecf20Sopenharmony_ci [GCC_QUSB2PHY_SEC_BCR] = { 0x12004 }, 35688c2ecf20Sopenharmony_ci [GCC_SDCC2_BCR] = { 0x14000 }, 35698c2ecf20Sopenharmony_ci [GCC_SDCC4_BCR] = { 0x16000 }, 35708c2ecf20Sopenharmony_ci [GCC_TSIF_BCR] = { 0x36000 }, 35718c2ecf20Sopenharmony_ci [GCC_UFS_CARD_BCR] = { 0x75000 }, 35728c2ecf20Sopenharmony_ci [GCC_UFS_PHY_BCR] = { 0x77000 }, 35738c2ecf20Sopenharmony_ci [GCC_USB30_PRIM_BCR] = { 0xf000 }, 35748c2ecf20Sopenharmony_ci [GCC_USB30_SEC_BCR] = { 0x10000 }, 35758c2ecf20Sopenharmony_ci [GCC_USB3_DP_PHY_PRIM_BCR] = { 0x50008 }, 35768c2ecf20Sopenharmony_ci [GCC_USB3_DP_PHY_SEC_BCR] = { 0x50014 }, 35778c2ecf20Sopenharmony_ci [GCC_USB3_PHY_PRIM_BCR] = { 0x50000 }, 35788c2ecf20Sopenharmony_ci [GCC_USB3_PHY_SEC_BCR] = { 0x5000c }, 35798c2ecf20Sopenharmony_ci [GCC_USB3PHY_PHY_PRIM_BCR] = { 0x50004 }, 35808c2ecf20Sopenharmony_ci [GCC_USB3PHY_PHY_SEC_BCR] = { 0x50010 }, 35818c2ecf20Sopenharmony_ci [GCC_USB_PHY_CFG_AHB2PHY_BCR] = { 0x6a000 }, 35828c2ecf20Sopenharmony_ci [GCC_VIDEO_AXI0_CLK_ARES] = { 0xb024, 2 }, 35838c2ecf20Sopenharmony_ci [GCC_VIDEO_AXI1_CLK_ARES] = { 0xb028, 2 }, 35848c2ecf20Sopenharmony_ci}; 35858c2ecf20Sopenharmony_ci 35868c2ecf20Sopenharmony_cistatic const struct clk_rcg_dfs_data gcc_dfs_clocks[] = { 35878c2ecf20Sopenharmony_ci DEFINE_RCG_DFS(gcc_qupv3_wrap0_s0_clk_src), 35888c2ecf20Sopenharmony_ci DEFINE_RCG_DFS(gcc_qupv3_wrap0_s1_clk_src), 35898c2ecf20Sopenharmony_ci DEFINE_RCG_DFS(gcc_qupv3_wrap0_s2_clk_src), 35908c2ecf20Sopenharmony_ci DEFINE_RCG_DFS(gcc_qupv3_wrap0_s3_clk_src), 35918c2ecf20Sopenharmony_ci DEFINE_RCG_DFS(gcc_qupv3_wrap0_s4_clk_src), 35928c2ecf20Sopenharmony_ci DEFINE_RCG_DFS(gcc_qupv3_wrap0_s5_clk_src), 35938c2ecf20Sopenharmony_ci DEFINE_RCG_DFS(gcc_qupv3_wrap0_s6_clk_src), 35948c2ecf20Sopenharmony_ci DEFINE_RCG_DFS(gcc_qupv3_wrap0_s7_clk_src), 35958c2ecf20Sopenharmony_ci DEFINE_RCG_DFS(gcc_qupv3_wrap1_s0_clk_src), 35968c2ecf20Sopenharmony_ci DEFINE_RCG_DFS(gcc_qupv3_wrap1_s1_clk_src), 35978c2ecf20Sopenharmony_ci DEFINE_RCG_DFS(gcc_qupv3_wrap1_s2_clk_src), 35988c2ecf20Sopenharmony_ci DEFINE_RCG_DFS(gcc_qupv3_wrap1_s3_clk_src), 35998c2ecf20Sopenharmony_ci DEFINE_RCG_DFS(gcc_qupv3_wrap1_s4_clk_src), 36008c2ecf20Sopenharmony_ci DEFINE_RCG_DFS(gcc_qupv3_wrap1_s5_clk_src), 36018c2ecf20Sopenharmony_ci DEFINE_RCG_DFS(gcc_qupv3_wrap2_s0_clk_src), 36028c2ecf20Sopenharmony_ci DEFINE_RCG_DFS(gcc_qupv3_wrap2_s1_clk_src), 36038c2ecf20Sopenharmony_ci DEFINE_RCG_DFS(gcc_qupv3_wrap2_s2_clk_src), 36048c2ecf20Sopenharmony_ci DEFINE_RCG_DFS(gcc_qupv3_wrap2_s3_clk_src), 36058c2ecf20Sopenharmony_ci DEFINE_RCG_DFS(gcc_qupv3_wrap2_s4_clk_src), 36068c2ecf20Sopenharmony_ci DEFINE_RCG_DFS(gcc_qupv3_wrap2_s5_clk_src), 36078c2ecf20Sopenharmony_ci}; 36088c2ecf20Sopenharmony_ci 36098c2ecf20Sopenharmony_cistatic const struct regmap_config gcc_sm8250_regmap_config = { 36108c2ecf20Sopenharmony_ci .reg_bits = 32, 36118c2ecf20Sopenharmony_ci .reg_stride = 4, 36128c2ecf20Sopenharmony_ci .val_bits = 32, 36138c2ecf20Sopenharmony_ci .max_register = 0x9c100, 36148c2ecf20Sopenharmony_ci .fast_io = true, 36158c2ecf20Sopenharmony_ci}; 36168c2ecf20Sopenharmony_ci 36178c2ecf20Sopenharmony_cistatic const struct qcom_cc_desc gcc_sm8250_desc = { 36188c2ecf20Sopenharmony_ci .config = &gcc_sm8250_regmap_config, 36198c2ecf20Sopenharmony_ci .clks = gcc_sm8250_clocks, 36208c2ecf20Sopenharmony_ci .num_clks = ARRAY_SIZE(gcc_sm8250_clocks), 36218c2ecf20Sopenharmony_ci .resets = gcc_sm8250_resets, 36228c2ecf20Sopenharmony_ci .num_resets = ARRAY_SIZE(gcc_sm8250_resets), 36238c2ecf20Sopenharmony_ci .gdscs = gcc_sm8250_gdscs, 36248c2ecf20Sopenharmony_ci .num_gdscs = ARRAY_SIZE(gcc_sm8250_gdscs), 36258c2ecf20Sopenharmony_ci}; 36268c2ecf20Sopenharmony_ci 36278c2ecf20Sopenharmony_cistatic const struct of_device_id gcc_sm8250_match_table[] = { 36288c2ecf20Sopenharmony_ci { .compatible = "qcom,gcc-sm8250" }, 36298c2ecf20Sopenharmony_ci { } 36308c2ecf20Sopenharmony_ci}; 36318c2ecf20Sopenharmony_ciMODULE_DEVICE_TABLE(of, gcc_sm8250_match_table); 36328c2ecf20Sopenharmony_ci 36338c2ecf20Sopenharmony_cistatic int gcc_sm8250_probe(struct platform_device *pdev) 36348c2ecf20Sopenharmony_ci{ 36358c2ecf20Sopenharmony_ci struct regmap *regmap; 36368c2ecf20Sopenharmony_ci int ret; 36378c2ecf20Sopenharmony_ci 36388c2ecf20Sopenharmony_ci regmap = qcom_cc_map(pdev, &gcc_sm8250_desc); 36398c2ecf20Sopenharmony_ci if (IS_ERR(regmap)) 36408c2ecf20Sopenharmony_ci return PTR_ERR(regmap); 36418c2ecf20Sopenharmony_ci 36428c2ecf20Sopenharmony_ci /* 36438c2ecf20Sopenharmony_ci * Disable the GPLL0 active input to NPU and GPU 36448c2ecf20Sopenharmony_ci * via MISC registers. 36458c2ecf20Sopenharmony_ci */ 36468c2ecf20Sopenharmony_ci regmap_update_bits(regmap, 0x4d110, 0x3, 0x3); 36478c2ecf20Sopenharmony_ci regmap_update_bits(regmap, 0x71028, 0x3, 0x3); 36488c2ecf20Sopenharmony_ci 36498c2ecf20Sopenharmony_ci /* 36508c2ecf20Sopenharmony_ci * Keep the clocks always-ON 36518c2ecf20Sopenharmony_ci * GCC_VIDEO_AHB_CLK, GCC_CAMERA_AHB_CLK, GCC_DISP_AHB_CLK, 36528c2ecf20Sopenharmony_ci * GCC_CPUSS_DVM_BUS_CLK, GCC_GPU_CFG_AHB_CLK, 36538c2ecf20Sopenharmony_ci * GCC_SYS_NOC_CPUSS_AHB_CLK 36548c2ecf20Sopenharmony_ci */ 36558c2ecf20Sopenharmony_ci regmap_update_bits(regmap, 0x0b004, BIT(0), BIT(0)); 36568c2ecf20Sopenharmony_ci regmap_update_bits(regmap, 0x0b008, BIT(0), BIT(0)); 36578c2ecf20Sopenharmony_ci regmap_update_bits(regmap, 0x0b00c, BIT(0), BIT(0)); 36588c2ecf20Sopenharmony_ci regmap_update_bits(regmap, 0x4818c, BIT(0), BIT(0)); 36598c2ecf20Sopenharmony_ci regmap_update_bits(regmap, 0x71004, BIT(0), BIT(0)); 36608c2ecf20Sopenharmony_ci regmap_update_bits(regmap, 0x52000, BIT(0), BIT(0)); 36618c2ecf20Sopenharmony_ci 36628c2ecf20Sopenharmony_ci ret = qcom_cc_register_rcg_dfs(regmap, gcc_dfs_clocks, 36638c2ecf20Sopenharmony_ci ARRAY_SIZE(gcc_dfs_clocks)); 36648c2ecf20Sopenharmony_ci if (ret) 36658c2ecf20Sopenharmony_ci return ret; 36668c2ecf20Sopenharmony_ci 36678c2ecf20Sopenharmony_ci return qcom_cc_really_probe(pdev, &gcc_sm8250_desc, regmap); 36688c2ecf20Sopenharmony_ci} 36698c2ecf20Sopenharmony_ci 36708c2ecf20Sopenharmony_cistatic struct platform_driver gcc_sm8250_driver = { 36718c2ecf20Sopenharmony_ci .probe = gcc_sm8250_probe, 36728c2ecf20Sopenharmony_ci .driver = { 36738c2ecf20Sopenharmony_ci .name = "gcc-sm8250", 36748c2ecf20Sopenharmony_ci .of_match_table = gcc_sm8250_match_table, 36758c2ecf20Sopenharmony_ci }, 36768c2ecf20Sopenharmony_ci}; 36778c2ecf20Sopenharmony_ci 36788c2ecf20Sopenharmony_cistatic int __init gcc_sm8250_init(void) 36798c2ecf20Sopenharmony_ci{ 36808c2ecf20Sopenharmony_ci return platform_driver_register(&gcc_sm8250_driver); 36818c2ecf20Sopenharmony_ci} 36828c2ecf20Sopenharmony_cisubsys_initcall(gcc_sm8250_init); 36838c2ecf20Sopenharmony_ci 36848c2ecf20Sopenharmony_cistatic void __exit gcc_sm8250_exit(void) 36858c2ecf20Sopenharmony_ci{ 36868c2ecf20Sopenharmony_ci platform_driver_unregister(&gcc_sm8250_driver); 36878c2ecf20Sopenharmony_ci} 36888c2ecf20Sopenharmony_cimodule_exit(gcc_sm8250_exit); 36898c2ecf20Sopenharmony_ci 36908c2ecf20Sopenharmony_ciMODULE_DESCRIPTION("QTI GCC SM8250 Driver"); 36918c2ecf20Sopenharmony_ciMODULE_LICENSE("GPL v2"); 3692