18c2ecf20Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0-only 28c2ecf20Sopenharmony_ci/* 38c2ecf20Sopenharmony_ci * Copyright (c) 2015, The Linux Foundation. All rights reserved. 48c2ecf20Sopenharmony_ci */ 58c2ecf20Sopenharmony_ci 68c2ecf20Sopenharmony_ci#include <linux/kernel.h> 78c2ecf20Sopenharmony_ci#include <linux/bitops.h> 88c2ecf20Sopenharmony_ci#include <linux/err.h> 98c2ecf20Sopenharmony_ci#include <linux/platform_device.h> 108c2ecf20Sopenharmony_ci#include <linux/module.h> 118c2ecf20Sopenharmony_ci#include <linux/of.h> 128c2ecf20Sopenharmony_ci#include <linux/of_device.h> 138c2ecf20Sopenharmony_ci#include <linux/clk-provider.h> 148c2ecf20Sopenharmony_ci#include <linux/regmap.h> 158c2ecf20Sopenharmony_ci#include <linux/reset-controller.h> 168c2ecf20Sopenharmony_ci 178c2ecf20Sopenharmony_ci#include <dt-bindings/clock/qcom,gcc-msm8996.h> 188c2ecf20Sopenharmony_ci 198c2ecf20Sopenharmony_ci#include "common.h" 208c2ecf20Sopenharmony_ci#include "clk-regmap.h" 218c2ecf20Sopenharmony_ci#include "clk-alpha-pll.h" 228c2ecf20Sopenharmony_ci#include "clk-rcg.h" 238c2ecf20Sopenharmony_ci#include "clk-branch.h" 248c2ecf20Sopenharmony_ci#include "reset.h" 258c2ecf20Sopenharmony_ci#include "gdsc.h" 268c2ecf20Sopenharmony_ci 278c2ecf20Sopenharmony_cienum { 288c2ecf20Sopenharmony_ci P_XO, 298c2ecf20Sopenharmony_ci P_GPLL0, 308c2ecf20Sopenharmony_ci P_GPLL2, 318c2ecf20Sopenharmony_ci P_GPLL3, 328c2ecf20Sopenharmony_ci P_GPLL1, 338c2ecf20Sopenharmony_ci P_GPLL2_EARLY, 348c2ecf20Sopenharmony_ci P_GPLL0_EARLY_DIV, 358c2ecf20Sopenharmony_ci P_SLEEP_CLK, 368c2ecf20Sopenharmony_ci P_GPLL4, 378c2ecf20Sopenharmony_ci P_AUD_REF_CLK, 388c2ecf20Sopenharmony_ci P_GPLL1_EARLY_DIV 398c2ecf20Sopenharmony_ci}; 408c2ecf20Sopenharmony_ci 418c2ecf20Sopenharmony_cistatic const struct parent_map gcc_sleep_clk_map[] = { 428c2ecf20Sopenharmony_ci { P_SLEEP_CLK, 5 } 438c2ecf20Sopenharmony_ci}; 448c2ecf20Sopenharmony_ci 458c2ecf20Sopenharmony_cistatic const char * const gcc_sleep_clk[] = { 468c2ecf20Sopenharmony_ci "sleep_clk" 478c2ecf20Sopenharmony_ci}; 488c2ecf20Sopenharmony_ci 498c2ecf20Sopenharmony_cistatic const struct parent_map gcc_xo_gpll0_map[] = { 508c2ecf20Sopenharmony_ci { P_XO, 0 }, 518c2ecf20Sopenharmony_ci { P_GPLL0, 1 } 528c2ecf20Sopenharmony_ci}; 538c2ecf20Sopenharmony_ci 548c2ecf20Sopenharmony_cistatic const char * const gcc_xo_gpll0[] = { 558c2ecf20Sopenharmony_ci "xo", 568c2ecf20Sopenharmony_ci "gpll0" 578c2ecf20Sopenharmony_ci}; 588c2ecf20Sopenharmony_ci 598c2ecf20Sopenharmony_cistatic const struct parent_map gcc_xo_sleep_clk_map[] = { 608c2ecf20Sopenharmony_ci { P_XO, 0 }, 618c2ecf20Sopenharmony_ci { P_SLEEP_CLK, 5 } 628c2ecf20Sopenharmony_ci}; 638c2ecf20Sopenharmony_ci 648c2ecf20Sopenharmony_cistatic const char * const gcc_xo_sleep_clk[] = { 658c2ecf20Sopenharmony_ci "xo", 668c2ecf20Sopenharmony_ci "sleep_clk" 678c2ecf20Sopenharmony_ci}; 688c2ecf20Sopenharmony_ci 698c2ecf20Sopenharmony_cistatic const struct parent_map gcc_xo_gpll0_gpll0_early_div_map[] = { 708c2ecf20Sopenharmony_ci { P_XO, 0 }, 718c2ecf20Sopenharmony_ci { P_GPLL0, 1 }, 728c2ecf20Sopenharmony_ci { P_GPLL0_EARLY_DIV, 6 } 738c2ecf20Sopenharmony_ci}; 748c2ecf20Sopenharmony_ci 758c2ecf20Sopenharmony_cistatic const char * const gcc_xo_gpll0_gpll0_early_div[] = { 768c2ecf20Sopenharmony_ci "xo", 778c2ecf20Sopenharmony_ci "gpll0", 788c2ecf20Sopenharmony_ci "gpll0_early_div" 798c2ecf20Sopenharmony_ci}; 808c2ecf20Sopenharmony_ci 818c2ecf20Sopenharmony_cistatic const struct parent_map gcc_xo_gpll0_gpll4_map[] = { 828c2ecf20Sopenharmony_ci { P_XO, 0 }, 838c2ecf20Sopenharmony_ci { P_GPLL0, 1 }, 848c2ecf20Sopenharmony_ci { P_GPLL4, 5 } 858c2ecf20Sopenharmony_ci}; 868c2ecf20Sopenharmony_ci 878c2ecf20Sopenharmony_cistatic const char * const gcc_xo_gpll0_gpll4[] = { 888c2ecf20Sopenharmony_ci "xo", 898c2ecf20Sopenharmony_ci "gpll0", 908c2ecf20Sopenharmony_ci "gpll4" 918c2ecf20Sopenharmony_ci}; 928c2ecf20Sopenharmony_ci 938c2ecf20Sopenharmony_cistatic const struct parent_map gcc_xo_gpll0_aud_ref_clk_map[] = { 948c2ecf20Sopenharmony_ci { P_XO, 0 }, 958c2ecf20Sopenharmony_ci { P_GPLL0, 1 }, 968c2ecf20Sopenharmony_ci { P_AUD_REF_CLK, 2 } 978c2ecf20Sopenharmony_ci}; 988c2ecf20Sopenharmony_ci 998c2ecf20Sopenharmony_cistatic const char * const gcc_xo_gpll0_aud_ref_clk[] = { 1008c2ecf20Sopenharmony_ci "xo", 1018c2ecf20Sopenharmony_ci "gpll0", 1028c2ecf20Sopenharmony_ci "aud_ref_clk" 1038c2ecf20Sopenharmony_ci}; 1048c2ecf20Sopenharmony_ci 1058c2ecf20Sopenharmony_cistatic const struct parent_map gcc_xo_gpll0_sleep_clk_gpll0_early_div_map[] = { 1068c2ecf20Sopenharmony_ci { P_XO, 0 }, 1078c2ecf20Sopenharmony_ci { P_GPLL0, 1 }, 1088c2ecf20Sopenharmony_ci { P_SLEEP_CLK, 5 }, 1098c2ecf20Sopenharmony_ci { P_GPLL0_EARLY_DIV, 6 } 1108c2ecf20Sopenharmony_ci}; 1118c2ecf20Sopenharmony_ci 1128c2ecf20Sopenharmony_cistatic const char * const gcc_xo_gpll0_sleep_clk_gpll0_early_div[] = { 1138c2ecf20Sopenharmony_ci "xo", 1148c2ecf20Sopenharmony_ci "gpll0", 1158c2ecf20Sopenharmony_ci "sleep_clk", 1168c2ecf20Sopenharmony_ci "gpll0_early_div" 1178c2ecf20Sopenharmony_ci}; 1188c2ecf20Sopenharmony_ci 1198c2ecf20Sopenharmony_cistatic const struct parent_map gcc_xo_gpll0_gpll4_gpll0_early_div_map[] = { 1208c2ecf20Sopenharmony_ci { P_XO, 0 }, 1218c2ecf20Sopenharmony_ci { P_GPLL0, 1 }, 1228c2ecf20Sopenharmony_ci { P_GPLL4, 5 }, 1238c2ecf20Sopenharmony_ci { P_GPLL0_EARLY_DIV, 6 } 1248c2ecf20Sopenharmony_ci}; 1258c2ecf20Sopenharmony_ci 1268c2ecf20Sopenharmony_cistatic const char * const gcc_xo_gpll0_gpll4_gpll0_early_div[] = { 1278c2ecf20Sopenharmony_ci "xo", 1288c2ecf20Sopenharmony_ci "gpll0", 1298c2ecf20Sopenharmony_ci "gpll4", 1308c2ecf20Sopenharmony_ci "gpll0_early_div" 1318c2ecf20Sopenharmony_ci}; 1328c2ecf20Sopenharmony_ci 1338c2ecf20Sopenharmony_cistatic const struct parent_map gcc_xo_gpll0_gpll1_early_div_gpll1_gpll4_gpll0_early_div_map[] = { 1348c2ecf20Sopenharmony_ci { P_XO, 0 }, 1358c2ecf20Sopenharmony_ci { P_GPLL0, 1 }, 1368c2ecf20Sopenharmony_ci { P_GPLL1_EARLY_DIV, 3 }, 1378c2ecf20Sopenharmony_ci { P_GPLL1, 4 }, 1388c2ecf20Sopenharmony_ci { P_GPLL4, 5 }, 1398c2ecf20Sopenharmony_ci { P_GPLL0_EARLY_DIV, 6 } 1408c2ecf20Sopenharmony_ci}; 1418c2ecf20Sopenharmony_ci 1428c2ecf20Sopenharmony_cistatic const char * const gcc_xo_gpll0_gpll1_early_div_gpll1_gpll4_gpll0_early_div[] = { 1438c2ecf20Sopenharmony_ci "xo", 1448c2ecf20Sopenharmony_ci "gpll0", 1458c2ecf20Sopenharmony_ci "gpll1_early_div", 1468c2ecf20Sopenharmony_ci "gpll1", 1478c2ecf20Sopenharmony_ci "gpll4", 1488c2ecf20Sopenharmony_ci "gpll0_early_div" 1498c2ecf20Sopenharmony_ci}; 1508c2ecf20Sopenharmony_ci 1518c2ecf20Sopenharmony_cistatic const struct parent_map gcc_xo_gpll0_gpll2_gpll3_gpll1_gpll2_early_gpll0_early_div_map[] = { 1528c2ecf20Sopenharmony_ci { P_XO, 0 }, 1538c2ecf20Sopenharmony_ci { P_GPLL0, 1 }, 1548c2ecf20Sopenharmony_ci { P_GPLL2, 2 }, 1558c2ecf20Sopenharmony_ci { P_GPLL3, 3 }, 1568c2ecf20Sopenharmony_ci { P_GPLL1, 4 }, 1578c2ecf20Sopenharmony_ci { P_GPLL2_EARLY, 5 }, 1588c2ecf20Sopenharmony_ci { P_GPLL0_EARLY_DIV, 6 } 1598c2ecf20Sopenharmony_ci}; 1608c2ecf20Sopenharmony_ci 1618c2ecf20Sopenharmony_cistatic const char * const gcc_xo_gpll0_gpll2_gpll3_gpll1_gpll2_early_gpll0_early_div[] = { 1628c2ecf20Sopenharmony_ci "xo", 1638c2ecf20Sopenharmony_ci "gpll0", 1648c2ecf20Sopenharmony_ci "gpll2", 1658c2ecf20Sopenharmony_ci "gpll3", 1668c2ecf20Sopenharmony_ci "gpll1", 1678c2ecf20Sopenharmony_ci "gpll2_early", 1688c2ecf20Sopenharmony_ci "gpll0_early_div" 1698c2ecf20Sopenharmony_ci}; 1708c2ecf20Sopenharmony_ci 1718c2ecf20Sopenharmony_cistatic struct clk_fixed_factor xo = { 1728c2ecf20Sopenharmony_ci .mult = 1, 1738c2ecf20Sopenharmony_ci .div = 1, 1748c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 1758c2ecf20Sopenharmony_ci .name = "xo", 1768c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "xo_board" }, 1778c2ecf20Sopenharmony_ci .num_parents = 1, 1788c2ecf20Sopenharmony_ci .ops = &clk_fixed_factor_ops, 1798c2ecf20Sopenharmony_ci }, 1808c2ecf20Sopenharmony_ci}; 1818c2ecf20Sopenharmony_ci 1828c2ecf20Sopenharmony_cistatic struct clk_alpha_pll gpll0_early = { 1838c2ecf20Sopenharmony_ci .offset = 0x00000, 1848c2ecf20Sopenharmony_ci .regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_DEFAULT], 1858c2ecf20Sopenharmony_ci .clkr = { 1868c2ecf20Sopenharmony_ci .enable_reg = 0x52000, 1878c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 1888c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 1898c2ecf20Sopenharmony_ci .name = "gpll0_early", 1908c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "xo" }, 1918c2ecf20Sopenharmony_ci .num_parents = 1, 1928c2ecf20Sopenharmony_ci .ops = &clk_alpha_pll_ops, 1938c2ecf20Sopenharmony_ci }, 1948c2ecf20Sopenharmony_ci }, 1958c2ecf20Sopenharmony_ci}; 1968c2ecf20Sopenharmony_ci 1978c2ecf20Sopenharmony_cistatic struct clk_fixed_factor gpll0_early_div = { 1988c2ecf20Sopenharmony_ci .mult = 1, 1998c2ecf20Sopenharmony_ci .div = 2, 2008c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 2018c2ecf20Sopenharmony_ci .name = "gpll0_early_div", 2028c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "gpll0_early" }, 2038c2ecf20Sopenharmony_ci .num_parents = 1, 2048c2ecf20Sopenharmony_ci .ops = &clk_fixed_factor_ops, 2058c2ecf20Sopenharmony_ci }, 2068c2ecf20Sopenharmony_ci}; 2078c2ecf20Sopenharmony_ci 2088c2ecf20Sopenharmony_cistatic struct clk_alpha_pll_postdiv gpll0 = { 2098c2ecf20Sopenharmony_ci .offset = 0x00000, 2108c2ecf20Sopenharmony_ci .regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_DEFAULT], 2118c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 2128c2ecf20Sopenharmony_ci .name = "gpll0", 2138c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "gpll0_early" }, 2148c2ecf20Sopenharmony_ci .num_parents = 1, 2158c2ecf20Sopenharmony_ci .ops = &clk_alpha_pll_postdiv_ops, 2168c2ecf20Sopenharmony_ci }, 2178c2ecf20Sopenharmony_ci}; 2188c2ecf20Sopenharmony_ci 2198c2ecf20Sopenharmony_cistatic struct clk_branch gcc_mmss_gpll0_div_clk = { 2208c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_DELAY, 2218c2ecf20Sopenharmony_ci .clkr = { 2228c2ecf20Sopenharmony_ci .enable_reg = 0x5200c, 2238c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 2248c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 2258c2ecf20Sopenharmony_ci .name = "gcc_mmss_gpll0_div_clk", 2268c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "gpll0" }, 2278c2ecf20Sopenharmony_ci .num_parents = 1, 2288c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 2298c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 2308c2ecf20Sopenharmony_ci }, 2318c2ecf20Sopenharmony_ci }, 2328c2ecf20Sopenharmony_ci}; 2338c2ecf20Sopenharmony_ci 2348c2ecf20Sopenharmony_cistatic struct clk_branch gcc_mss_gpll0_div_clk = { 2358c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_DELAY, 2368c2ecf20Sopenharmony_ci .clkr = { 2378c2ecf20Sopenharmony_ci .enable_reg = 0x5200c, 2388c2ecf20Sopenharmony_ci .enable_mask = BIT(2), 2398c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 2408c2ecf20Sopenharmony_ci .name = "gcc_mss_gpll0_div_clk", 2418c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "gpll0" }, 2428c2ecf20Sopenharmony_ci .num_parents = 1, 2438c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 2448c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops 2458c2ecf20Sopenharmony_ci }, 2468c2ecf20Sopenharmony_ci }, 2478c2ecf20Sopenharmony_ci}; 2488c2ecf20Sopenharmony_ci 2498c2ecf20Sopenharmony_cistatic struct clk_alpha_pll gpll4_early = { 2508c2ecf20Sopenharmony_ci .offset = 0x77000, 2518c2ecf20Sopenharmony_ci .regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_DEFAULT], 2528c2ecf20Sopenharmony_ci .clkr = { 2538c2ecf20Sopenharmony_ci .enable_reg = 0x52000, 2548c2ecf20Sopenharmony_ci .enable_mask = BIT(4), 2558c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 2568c2ecf20Sopenharmony_ci .name = "gpll4_early", 2578c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "xo" }, 2588c2ecf20Sopenharmony_ci .num_parents = 1, 2598c2ecf20Sopenharmony_ci .ops = &clk_alpha_pll_ops, 2608c2ecf20Sopenharmony_ci }, 2618c2ecf20Sopenharmony_ci }, 2628c2ecf20Sopenharmony_ci}; 2638c2ecf20Sopenharmony_ci 2648c2ecf20Sopenharmony_cistatic struct clk_alpha_pll_postdiv gpll4 = { 2658c2ecf20Sopenharmony_ci .offset = 0x77000, 2668c2ecf20Sopenharmony_ci .regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_DEFAULT], 2678c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 2688c2ecf20Sopenharmony_ci .name = "gpll4", 2698c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "gpll4_early" }, 2708c2ecf20Sopenharmony_ci .num_parents = 1, 2718c2ecf20Sopenharmony_ci .ops = &clk_alpha_pll_postdiv_ops, 2728c2ecf20Sopenharmony_ci }, 2738c2ecf20Sopenharmony_ci}; 2748c2ecf20Sopenharmony_ci 2758c2ecf20Sopenharmony_cistatic const struct freq_tbl ftbl_system_noc_clk_src[] = { 2768c2ecf20Sopenharmony_ci F(19200000, P_XO, 1, 0, 0), 2778c2ecf20Sopenharmony_ci F(50000000, P_GPLL0_EARLY_DIV, 6, 0, 0), 2788c2ecf20Sopenharmony_ci F(100000000, P_GPLL0, 6, 0, 0), 2798c2ecf20Sopenharmony_ci F(150000000, P_GPLL0, 4, 0, 0), 2808c2ecf20Sopenharmony_ci F(200000000, P_GPLL0, 3, 0, 0), 2818c2ecf20Sopenharmony_ci F(240000000, P_GPLL0, 2.5, 0, 0), 2828c2ecf20Sopenharmony_ci { } 2838c2ecf20Sopenharmony_ci}; 2848c2ecf20Sopenharmony_ci 2858c2ecf20Sopenharmony_cistatic struct clk_rcg2 system_noc_clk_src = { 2868c2ecf20Sopenharmony_ci .cmd_rcgr = 0x0401c, 2878c2ecf20Sopenharmony_ci .hid_width = 5, 2888c2ecf20Sopenharmony_ci .parent_map = gcc_xo_gpll0_gpll2_gpll3_gpll1_gpll2_early_gpll0_early_div_map, 2898c2ecf20Sopenharmony_ci .freq_tbl = ftbl_system_noc_clk_src, 2908c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 2918c2ecf20Sopenharmony_ci .name = "system_noc_clk_src", 2928c2ecf20Sopenharmony_ci .parent_names = gcc_xo_gpll0_gpll2_gpll3_gpll1_gpll2_early_gpll0_early_div, 2938c2ecf20Sopenharmony_ci .num_parents = 7, 2948c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 2958c2ecf20Sopenharmony_ci }, 2968c2ecf20Sopenharmony_ci}; 2978c2ecf20Sopenharmony_ci 2988c2ecf20Sopenharmony_cistatic const struct freq_tbl ftbl_config_noc_clk_src[] = { 2998c2ecf20Sopenharmony_ci F(19200000, P_XO, 1, 0, 0), 3008c2ecf20Sopenharmony_ci F(37500000, P_GPLL0, 16, 0, 0), 3018c2ecf20Sopenharmony_ci F(75000000, P_GPLL0, 8, 0, 0), 3028c2ecf20Sopenharmony_ci { } 3038c2ecf20Sopenharmony_ci}; 3048c2ecf20Sopenharmony_ci 3058c2ecf20Sopenharmony_cistatic struct clk_rcg2 config_noc_clk_src = { 3068c2ecf20Sopenharmony_ci .cmd_rcgr = 0x0500c, 3078c2ecf20Sopenharmony_ci .hid_width = 5, 3088c2ecf20Sopenharmony_ci .parent_map = gcc_xo_gpll0_map, 3098c2ecf20Sopenharmony_ci .freq_tbl = ftbl_config_noc_clk_src, 3108c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 3118c2ecf20Sopenharmony_ci .name = "config_noc_clk_src", 3128c2ecf20Sopenharmony_ci .parent_names = gcc_xo_gpll0, 3138c2ecf20Sopenharmony_ci .num_parents = 2, 3148c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 3158c2ecf20Sopenharmony_ci }, 3168c2ecf20Sopenharmony_ci}; 3178c2ecf20Sopenharmony_ci 3188c2ecf20Sopenharmony_cistatic const struct freq_tbl ftbl_periph_noc_clk_src[] = { 3198c2ecf20Sopenharmony_ci F(19200000, P_XO, 1, 0, 0), 3208c2ecf20Sopenharmony_ci F(37500000, P_GPLL0, 16, 0, 0), 3218c2ecf20Sopenharmony_ci F(50000000, P_GPLL0, 12, 0, 0), 3228c2ecf20Sopenharmony_ci F(75000000, P_GPLL0, 8, 0, 0), 3238c2ecf20Sopenharmony_ci F(100000000, P_GPLL0, 6, 0, 0), 3248c2ecf20Sopenharmony_ci { } 3258c2ecf20Sopenharmony_ci}; 3268c2ecf20Sopenharmony_ci 3278c2ecf20Sopenharmony_cistatic struct clk_rcg2 periph_noc_clk_src = { 3288c2ecf20Sopenharmony_ci .cmd_rcgr = 0x06014, 3298c2ecf20Sopenharmony_ci .hid_width = 5, 3308c2ecf20Sopenharmony_ci .parent_map = gcc_xo_gpll0_map, 3318c2ecf20Sopenharmony_ci .freq_tbl = ftbl_periph_noc_clk_src, 3328c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 3338c2ecf20Sopenharmony_ci .name = "periph_noc_clk_src", 3348c2ecf20Sopenharmony_ci .parent_names = gcc_xo_gpll0, 3358c2ecf20Sopenharmony_ci .num_parents = 2, 3368c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 3378c2ecf20Sopenharmony_ci }, 3388c2ecf20Sopenharmony_ci}; 3398c2ecf20Sopenharmony_ci 3408c2ecf20Sopenharmony_cistatic const struct freq_tbl ftbl_usb30_master_clk_src[] = { 3418c2ecf20Sopenharmony_ci F(19200000, P_XO, 1, 0, 0), 3428c2ecf20Sopenharmony_ci F(120000000, P_GPLL0, 5, 0, 0), 3438c2ecf20Sopenharmony_ci F(150000000, P_GPLL0, 4, 0, 0), 3448c2ecf20Sopenharmony_ci { } 3458c2ecf20Sopenharmony_ci}; 3468c2ecf20Sopenharmony_ci 3478c2ecf20Sopenharmony_cistatic struct clk_rcg2 usb30_master_clk_src = { 3488c2ecf20Sopenharmony_ci .cmd_rcgr = 0x0f014, 3498c2ecf20Sopenharmony_ci .mnd_width = 8, 3508c2ecf20Sopenharmony_ci .hid_width = 5, 3518c2ecf20Sopenharmony_ci .parent_map = gcc_xo_gpll0_gpll0_early_div_map, 3528c2ecf20Sopenharmony_ci .freq_tbl = ftbl_usb30_master_clk_src, 3538c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 3548c2ecf20Sopenharmony_ci .name = "usb30_master_clk_src", 3558c2ecf20Sopenharmony_ci .parent_names = gcc_xo_gpll0_gpll0_early_div, 3568c2ecf20Sopenharmony_ci .num_parents = 3, 3578c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 3588c2ecf20Sopenharmony_ci }, 3598c2ecf20Sopenharmony_ci}; 3608c2ecf20Sopenharmony_ci 3618c2ecf20Sopenharmony_cistatic const struct freq_tbl ftbl_usb30_mock_utmi_clk_src[] = { 3628c2ecf20Sopenharmony_ci F(19200000, P_XO, 1, 0, 0), 3638c2ecf20Sopenharmony_ci { } 3648c2ecf20Sopenharmony_ci}; 3658c2ecf20Sopenharmony_ci 3668c2ecf20Sopenharmony_cistatic struct clk_rcg2 usb30_mock_utmi_clk_src = { 3678c2ecf20Sopenharmony_ci .cmd_rcgr = 0x0f028, 3688c2ecf20Sopenharmony_ci .hid_width = 5, 3698c2ecf20Sopenharmony_ci .parent_map = gcc_xo_gpll0_gpll0_early_div_map, 3708c2ecf20Sopenharmony_ci .freq_tbl = ftbl_usb30_mock_utmi_clk_src, 3718c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 3728c2ecf20Sopenharmony_ci .name = "usb30_mock_utmi_clk_src", 3738c2ecf20Sopenharmony_ci .parent_names = gcc_xo_gpll0_gpll0_early_div, 3748c2ecf20Sopenharmony_ci .num_parents = 3, 3758c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 3768c2ecf20Sopenharmony_ci }, 3778c2ecf20Sopenharmony_ci}; 3788c2ecf20Sopenharmony_ci 3798c2ecf20Sopenharmony_cistatic const struct freq_tbl ftbl_usb3_phy_aux_clk_src[] = { 3808c2ecf20Sopenharmony_ci F(1200000, P_XO, 16, 0, 0), 3818c2ecf20Sopenharmony_ci { } 3828c2ecf20Sopenharmony_ci}; 3838c2ecf20Sopenharmony_ci 3848c2ecf20Sopenharmony_cistatic struct clk_rcg2 usb3_phy_aux_clk_src = { 3858c2ecf20Sopenharmony_ci .cmd_rcgr = 0x5000c, 3868c2ecf20Sopenharmony_ci .hid_width = 5, 3878c2ecf20Sopenharmony_ci .parent_map = gcc_xo_sleep_clk_map, 3888c2ecf20Sopenharmony_ci .freq_tbl = ftbl_usb3_phy_aux_clk_src, 3898c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 3908c2ecf20Sopenharmony_ci .name = "usb3_phy_aux_clk_src", 3918c2ecf20Sopenharmony_ci .parent_names = gcc_xo_sleep_clk, 3928c2ecf20Sopenharmony_ci .num_parents = 2, 3938c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 3948c2ecf20Sopenharmony_ci }, 3958c2ecf20Sopenharmony_ci}; 3968c2ecf20Sopenharmony_ci 3978c2ecf20Sopenharmony_cistatic const struct freq_tbl ftbl_usb20_master_clk_src[] = { 3988c2ecf20Sopenharmony_ci F(120000000, P_GPLL0, 5, 0, 0), 3998c2ecf20Sopenharmony_ci { } 4008c2ecf20Sopenharmony_ci}; 4018c2ecf20Sopenharmony_ci 4028c2ecf20Sopenharmony_cistatic struct clk_rcg2 usb20_master_clk_src = { 4038c2ecf20Sopenharmony_ci .cmd_rcgr = 0x12010, 4048c2ecf20Sopenharmony_ci .mnd_width = 8, 4058c2ecf20Sopenharmony_ci .hid_width = 5, 4068c2ecf20Sopenharmony_ci .parent_map = gcc_xo_gpll0_gpll0_early_div_map, 4078c2ecf20Sopenharmony_ci .freq_tbl = ftbl_usb20_master_clk_src, 4088c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 4098c2ecf20Sopenharmony_ci .name = "usb20_master_clk_src", 4108c2ecf20Sopenharmony_ci .parent_names = gcc_xo_gpll0_gpll0_early_div, 4118c2ecf20Sopenharmony_ci .num_parents = 3, 4128c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 4138c2ecf20Sopenharmony_ci }, 4148c2ecf20Sopenharmony_ci}; 4158c2ecf20Sopenharmony_ci 4168c2ecf20Sopenharmony_cistatic struct clk_rcg2 usb20_mock_utmi_clk_src = { 4178c2ecf20Sopenharmony_ci .cmd_rcgr = 0x12024, 4188c2ecf20Sopenharmony_ci .hid_width = 5, 4198c2ecf20Sopenharmony_ci .parent_map = gcc_xo_gpll0_gpll0_early_div_map, 4208c2ecf20Sopenharmony_ci .freq_tbl = ftbl_usb30_mock_utmi_clk_src, 4218c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 4228c2ecf20Sopenharmony_ci .name = "usb20_mock_utmi_clk_src", 4238c2ecf20Sopenharmony_ci .parent_names = gcc_xo_gpll0_gpll0_early_div, 4248c2ecf20Sopenharmony_ci .num_parents = 3, 4258c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 4268c2ecf20Sopenharmony_ci }, 4278c2ecf20Sopenharmony_ci}; 4288c2ecf20Sopenharmony_ci 4298c2ecf20Sopenharmony_cistatic const struct freq_tbl ftbl_sdcc1_apps_clk_src[] = { 4308c2ecf20Sopenharmony_ci F(144000, P_XO, 16, 3, 25), 4318c2ecf20Sopenharmony_ci F(400000, P_XO, 12, 1, 4), 4328c2ecf20Sopenharmony_ci F(20000000, P_GPLL0, 15, 1, 2), 4338c2ecf20Sopenharmony_ci F(25000000, P_GPLL0, 12, 1, 2), 4348c2ecf20Sopenharmony_ci F(50000000, P_GPLL0, 12, 0, 0), 4358c2ecf20Sopenharmony_ci F(96000000, P_GPLL4, 4, 0, 0), 4368c2ecf20Sopenharmony_ci F(192000000, P_GPLL4, 2, 0, 0), 4378c2ecf20Sopenharmony_ci F(384000000, P_GPLL4, 1, 0, 0), 4388c2ecf20Sopenharmony_ci { } 4398c2ecf20Sopenharmony_ci}; 4408c2ecf20Sopenharmony_ci 4418c2ecf20Sopenharmony_cistatic struct clk_rcg2 sdcc1_apps_clk_src = { 4428c2ecf20Sopenharmony_ci .cmd_rcgr = 0x13010, 4438c2ecf20Sopenharmony_ci .mnd_width = 8, 4448c2ecf20Sopenharmony_ci .hid_width = 5, 4458c2ecf20Sopenharmony_ci .parent_map = gcc_xo_gpll0_gpll4_gpll0_early_div_map, 4468c2ecf20Sopenharmony_ci .freq_tbl = ftbl_sdcc1_apps_clk_src, 4478c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 4488c2ecf20Sopenharmony_ci .name = "sdcc1_apps_clk_src", 4498c2ecf20Sopenharmony_ci .parent_names = gcc_xo_gpll0_gpll4_gpll0_early_div, 4508c2ecf20Sopenharmony_ci .num_parents = 4, 4518c2ecf20Sopenharmony_ci .ops = &clk_rcg2_floor_ops, 4528c2ecf20Sopenharmony_ci }, 4538c2ecf20Sopenharmony_ci}; 4548c2ecf20Sopenharmony_ci 4558c2ecf20Sopenharmony_cistatic struct freq_tbl ftbl_sdcc1_ice_core_clk_src[] = { 4568c2ecf20Sopenharmony_ci F(19200000, P_XO, 1, 0, 0), 4578c2ecf20Sopenharmony_ci F(150000000, P_GPLL0, 4, 0, 0), 4588c2ecf20Sopenharmony_ci F(300000000, P_GPLL0, 2, 0, 0), 4598c2ecf20Sopenharmony_ci { } 4608c2ecf20Sopenharmony_ci}; 4618c2ecf20Sopenharmony_ci 4628c2ecf20Sopenharmony_cistatic struct clk_rcg2 sdcc1_ice_core_clk_src = { 4638c2ecf20Sopenharmony_ci .cmd_rcgr = 0x13024, 4648c2ecf20Sopenharmony_ci .hid_width = 5, 4658c2ecf20Sopenharmony_ci .parent_map = gcc_xo_gpll0_gpll4_gpll0_early_div_map, 4668c2ecf20Sopenharmony_ci .freq_tbl = ftbl_sdcc1_ice_core_clk_src, 4678c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 4688c2ecf20Sopenharmony_ci .name = "sdcc1_ice_core_clk_src", 4698c2ecf20Sopenharmony_ci .parent_names = gcc_xo_gpll0_gpll4_gpll0_early_div, 4708c2ecf20Sopenharmony_ci .num_parents = 4, 4718c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 4728c2ecf20Sopenharmony_ci }, 4738c2ecf20Sopenharmony_ci}; 4748c2ecf20Sopenharmony_ci 4758c2ecf20Sopenharmony_cistatic const struct freq_tbl ftbl_sdcc2_apps_clk_src[] = { 4768c2ecf20Sopenharmony_ci F(144000, P_XO, 16, 3, 25), 4778c2ecf20Sopenharmony_ci F(400000, P_XO, 12, 1, 4), 4788c2ecf20Sopenharmony_ci F(20000000, P_GPLL0, 15, 1, 2), 4798c2ecf20Sopenharmony_ci F(25000000, P_GPLL0, 12, 1, 2), 4808c2ecf20Sopenharmony_ci F(50000000, P_GPLL0, 12, 0, 0), 4818c2ecf20Sopenharmony_ci F(100000000, P_GPLL0, 6, 0, 0), 4828c2ecf20Sopenharmony_ci F(200000000, P_GPLL0, 3, 0, 0), 4838c2ecf20Sopenharmony_ci { } 4848c2ecf20Sopenharmony_ci}; 4858c2ecf20Sopenharmony_ci 4868c2ecf20Sopenharmony_cistatic struct clk_rcg2 sdcc2_apps_clk_src = { 4878c2ecf20Sopenharmony_ci .cmd_rcgr = 0x14010, 4888c2ecf20Sopenharmony_ci .mnd_width = 8, 4898c2ecf20Sopenharmony_ci .hid_width = 5, 4908c2ecf20Sopenharmony_ci .parent_map = gcc_xo_gpll0_gpll4_map, 4918c2ecf20Sopenharmony_ci .freq_tbl = ftbl_sdcc2_apps_clk_src, 4928c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 4938c2ecf20Sopenharmony_ci .name = "sdcc2_apps_clk_src", 4948c2ecf20Sopenharmony_ci .parent_names = gcc_xo_gpll0_gpll4, 4958c2ecf20Sopenharmony_ci .num_parents = 3, 4968c2ecf20Sopenharmony_ci .ops = &clk_rcg2_floor_ops, 4978c2ecf20Sopenharmony_ci }, 4988c2ecf20Sopenharmony_ci}; 4998c2ecf20Sopenharmony_ci 5008c2ecf20Sopenharmony_cistatic struct clk_rcg2 sdcc3_apps_clk_src = { 5018c2ecf20Sopenharmony_ci .cmd_rcgr = 0x15010, 5028c2ecf20Sopenharmony_ci .mnd_width = 8, 5038c2ecf20Sopenharmony_ci .hid_width = 5, 5048c2ecf20Sopenharmony_ci .parent_map = gcc_xo_gpll0_gpll4_map, 5058c2ecf20Sopenharmony_ci .freq_tbl = ftbl_sdcc2_apps_clk_src, 5068c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 5078c2ecf20Sopenharmony_ci .name = "sdcc3_apps_clk_src", 5088c2ecf20Sopenharmony_ci .parent_names = gcc_xo_gpll0_gpll4, 5098c2ecf20Sopenharmony_ci .num_parents = 3, 5108c2ecf20Sopenharmony_ci .ops = &clk_rcg2_floor_ops, 5118c2ecf20Sopenharmony_ci }, 5128c2ecf20Sopenharmony_ci}; 5138c2ecf20Sopenharmony_ci 5148c2ecf20Sopenharmony_cistatic const struct freq_tbl ftbl_sdcc4_apps_clk_src[] = { 5158c2ecf20Sopenharmony_ci F(144000, P_XO, 16, 3, 25), 5168c2ecf20Sopenharmony_ci F(400000, P_XO, 12, 1, 4), 5178c2ecf20Sopenharmony_ci F(20000000, P_GPLL0, 15, 1, 2), 5188c2ecf20Sopenharmony_ci F(25000000, P_GPLL0, 12, 1, 2), 5198c2ecf20Sopenharmony_ci F(50000000, P_GPLL0, 12, 0, 0), 5208c2ecf20Sopenharmony_ci F(100000000, P_GPLL0, 6, 0, 0), 5218c2ecf20Sopenharmony_ci { } 5228c2ecf20Sopenharmony_ci}; 5238c2ecf20Sopenharmony_ci 5248c2ecf20Sopenharmony_cistatic struct clk_rcg2 sdcc4_apps_clk_src = { 5258c2ecf20Sopenharmony_ci .cmd_rcgr = 0x16010, 5268c2ecf20Sopenharmony_ci .mnd_width = 8, 5278c2ecf20Sopenharmony_ci .hid_width = 5, 5288c2ecf20Sopenharmony_ci .parent_map = gcc_xo_gpll0_map, 5298c2ecf20Sopenharmony_ci .freq_tbl = ftbl_sdcc4_apps_clk_src, 5308c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 5318c2ecf20Sopenharmony_ci .name = "sdcc4_apps_clk_src", 5328c2ecf20Sopenharmony_ci .parent_names = gcc_xo_gpll0, 5338c2ecf20Sopenharmony_ci .num_parents = 2, 5348c2ecf20Sopenharmony_ci .ops = &clk_rcg2_floor_ops, 5358c2ecf20Sopenharmony_ci }, 5368c2ecf20Sopenharmony_ci}; 5378c2ecf20Sopenharmony_ci 5388c2ecf20Sopenharmony_cistatic const struct freq_tbl ftbl_blsp1_qup1_spi_apps_clk_src[] = { 5398c2ecf20Sopenharmony_ci F(960000, P_XO, 10, 1, 2), 5408c2ecf20Sopenharmony_ci F(4800000, P_XO, 4, 0, 0), 5418c2ecf20Sopenharmony_ci F(9600000, P_XO, 2, 0, 0), 5428c2ecf20Sopenharmony_ci F(15000000, P_GPLL0, 10, 1, 4), 5438c2ecf20Sopenharmony_ci F(19200000, P_XO, 1, 0, 0), 5448c2ecf20Sopenharmony_ci F(25000000, P_GPLL0, 12, 1, 2), 5458c2ecf20Sopenharmony_ci F(50000000, P_GPLL0, 12, 0, 0), 5468c2ecf20Sopenharmony_ci { } 5478c2ecf20Sopenharmony_ci}; 5488c2ecf20Sopenharmony_ci 5498c2ecf20Sopenharmony_cistatic struct clk_rcg2 blsp1_qup1_spi_apps_clk_src = { 5508c2ecf20Sopenharmony_ci .cmd_rcgr = 0x1900c, 5518c2ecf20Sopenharmony_ci .mnd_width = 8, 5528c2ecf20Sopenharmony_ci .hid_width = 5, 5538c2ecf20Sopenharmony_ci .parent_map = gcc_xo_gpll0_map, 5548c2ecf20Sopenharmony_ci .freq_tbl = ftbl_blsp1_qup1_spi_apps_clk_src, 5558c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 5568c2ecf20Sopenharmony_ci .name = "blsp1_qup1_spi_apps_clk_src", 5578c2ecf20Sopenharmony_ci .parent_names = gcc_xo_gpll0, 5588c2ecf20Sopenharmony_ci .num_parents = 2, 5598c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 5608c2ecf20Sopenharmony_ci }, 5618c2ecf20Sopenharmony_ci}; 5628c2ecf20Sopenharmony_ci 5638c2ecf20Sopenharmony_cistatic const struct freq_tbl ftbl_blsp1_qup1_i2c_apps_clk_src[] = { 5648c2ecf20Sopenharmony_ci F(19200000, P_XO, 1, 0, 0), 5658c2ecf20Sopenharmony_ci F(50000000, P_GPLL0, 12, 0, 0), 5668c2ecf20Sopenharmony_ci { } 5678c2ecf20Sopenharmony_ci}; 5688c2ecf20Sopenharmony_ci 5698c2ecf20Sopenharmony_cistatic struct clk_rcg2 blsp1_qup1_i2c_apps_clk_src = { 5708c2ecf20Sopenharmony_ci .cmd_rcgr = 0x19020, 5718c2ecf20Sopenharmony_ci .hid_width = 5, 5728c2ecf20Sopenharmony_ci .parent_map = gcc_xo_gpll0_map, 5738c2ecf20Sopenharmony_ci .freq_tbl = ftbl_blsp1_qup1_i2c_apps_clk_src, 5748c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 5758c2ecf20Sopenharmony_ci .name = "blsp1_qup1_i2c_apps_clk_src", 5768c2ecf20Sopenharmony_ci .parent_names = gcc_xo_gpll0, 5778c2ecf20Sopenharmony_ci .num_parents = 2, 5788c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 5798c2ecf20Sopenharmony_ci }, 5808c2ecf20Sopenharmony_ci}; 5818c2ecf20Sopenharmony_ci 5828c2ecf20Sopenharmony_cistatic const struct freq_tbl ftbl_blsp1_uart1_apps_clk_src[] = { 5838c2ecf20Sopenharmony_ci F(3686400, P_GPLL0, 1, 96, 15625), 5848c2ecf20Sopenharmony_ci F(7372800, P_GPLL0, 1, 192, 15625), 5858c2ecf20Sopenharmony_ci F(14745600, P_GPLL0, 1, 384, 15625), 5868c2ecf20Sopenharmony_ci F(16000000, P_GPLL0, 5, 2, 15), 5878c2ecf20Sopenharmony_ci F(19200000, P_XO, 1, 0, 0), 5888c2ecf20Sopenharmony_ci F(24000000, P_GPLL0, 5, 1, 5), 5898c2ecf20Sopenharmony_ci F(32000000, P_GPLL0, 1, 4, 75), 5908c2ecf20Sopenharmony_ci F(40000000, P_GPLL0, 15, 0, 0), 5918c2ecf20Sopenharmony_ci F(46400000, P_GPLL0, 1, 29, 375), 5928c2ecf20Sopenharmony_ci F(48000000, P_GPLL0, 12.5, 0, 0), 5938c2ecf20Sopenharmony_ci F(51200000, P_GPLL0, 1, 32, 375), 5948c2ecf20Sopenharmony_ci F(56000000, P_GPLL0, 1, 7, 75), 5958c2ecf20Sopenharmony_ci F(58982400, P_GPLL0, 1, 1536, 15625), 5968c2ecf20Sopenharmony_ci F(60000000, P_GPLL0, 10, 0, 0), 5978c2ecf20Sopenharmony_ci F(63157895, P_GPLL0, 9.5, 0, 0), 5988c2ecf20Sopenharmony_ci { } 5998c2ecf20Sopenharmony_ci}; 6008c2ecf20Sopenharmony_ci 6018c2ecf20Sopenharmony_cistatic struct clk_rcg2 blsp1_uart1_apps_clk_src = { 6028c2ecf20Sopenharmony_ci .cmd_rcgr = 0x1a00c, 6038c2ecf20Sopenharmony_ci .mnd_width = 16, 6048c2ecf20Sopenharmony_ci .hid_width = 5, 6058c2ecf20Sopenharmony_ci .parent_map = gcc_xo_gpll0_map, 6068c2ecf20Sopenharmony_ci .freq_tbl = ftbl_blsp1_uart1_apps_clk_src, 6078c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 6088c2ecf20Sopenharmony_ci .name = "blsp1_uart1_apps_clk_src", 6098c2ecf20Sopenharmony_ci .parent_names = gcc_xo_gpll0, 6108c2ecf20Sopenharmony_ci .num_parents = 2, 6118c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 6128c2ecf20Sopenharmony_ci }, 6138c2ecf20Sopenharmony_ci}; 6148c2ecf20Sopenharmony_ci 6158c2ecf20Sopenharmony_cistatic struct clk_rcg2 blsp1_qup2_spi_apps_clk_src = { 6168c2ecf20Sopenharmony_ci .cmd_rcgr = 0x1b00c, 6178c2ecf20Sopenharmony_ci .mnd_width = 8, 6188c2ecf20Sopenharmony_ci .hid_width = 5, 6198c2ecf20Sopenharmony_ci .parent_map = gcc_xo_gpll0_map, 6208c2ecf20Sopenharmony_ci .freq_tbl = ftbl_blsp1_qup1_spi_apps_clk_src, 6218c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 6228c2ecf20Sopenharmony_ci .name = "blsp1_qup2_spi_apps_clk_src", 6238c2ecf20Sopenharmony_ci .parent_names = gcc_xo_gpll0, 6248c2ecf20Sopenharmony_ci .num_parents = 2, 6258c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 6268c2ecf20Sopenharmony_ci }, 6278c2ecf20Sopenharmony_ci}; 6288c2ecf20Sopenharmony_ci 6298c2ecf20Sopenharmony_cistatic struct clk_rcg2 blsp1_qup2_i2c_apps_clk_src = { 6308c2ecf20Sopenharmony_ci .cmd_rcgr = 0x1b020, 6318c2ecf20Sopenharmony_ci .hid_width = 5, 6328c2ecf20Sopenharmony_ci .parent_map = gcc_xo_gpll0_map, 6338c2ecf20Sopenharmony_ci .freq_tbl = ftbl_blsp1_qup1_i2c_apps_clk_src, 6348c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 6358c2ecf20Sopenharmony_ci .name = "blsp1_qup2_i2c_apps_clk_src", 6368c2ecf20Sopenharmony_ci .parent_names = gcc_xo_gpll0, 6378c2ecf20Sopenharmony_ci .num_parents = 2, 6388c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 6398c2ecf20Sopenharmony_ci }, 6408c2ecf20Sopenharmony_ci}; 6418c2ecf20Sopenharmony_ci 6428c2ecf20Sopenharmony_cistatic struct clk_rcg2 blsp1_uart2_apps_clk_src = { 6438c2ecf20Sopenharmony_ci .cmd_rcgr = 0x1c00c, 6448c2ecf20Sopenharmony_ci .mnd_width = 16, 6458c2ecf20Sopenharmony_ci .hid_width = 5, 6468c2ecf20Sopenharmony_ci .parent_map = gcc_xo_gpll0_map, 6478c2ecf20Sopenharmony_ci .freq_tbl = ftbl_blsp1_uart1_apps_clk_src, 6488c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 6498c2ecf20Sopenharmony_ci .name = "blsp1_uart2_apps_clk_src", 6508c2ecf20Sopenharmony_ci .parent_names = gcc_xo_gpll0, 6518c2ecf20Sopenharmony_ci .num_parents = 2, 6528c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 6538c2ecf20Sopenharmony_ci }, 6548c2ecf20Sopenharmony_ci}; 6558c2ecf20Sopenharmony_ci 6568c2ecf20Sopenharmony_cistatic struct clk_rcg2 blsp1_qup3_spi_apps_clk_src = { 6578c2ecf20Sopenharmony_ci .cmd_rcgr = 0x1d00c, 6588c2ecf20Sopenharmony_ci .mnd_width = 8, 6598c2ecf20Sopenharmony_ci .hid_width = 5, 6608c2ecf20Sopenharmony_ci .parent_map = gcc_xo_gpll0_map, 6618c2ecf20Sopenharmony_ci .freq_tbl = ftbl_blsp1_qup1_spi_apps_clk_src, 6628c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 6638c2ecf20Sopenharmony_ci .name = "blsp1_qup3_spi_apps_clk_src", 6648c2ecf20Sopenharmony_ci .parent_names = gcc_xo_gpll0, 6658c2ecf20Sopenharmony_ci .num_parents = 2, 6668c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 6678c2ecf20Sopenharmony_ci }, 6688c2ecf20Sopenharmony_ci}; 6698c2ecf20Sopenharmony_ci 6708c2ecf20Sopenharmony_cistatic struct clk_rcg2 blsp1_qup3_i2c_apps_clk_src = { 6718c2ecf20Sopenharmony_ci .cmd_rcgr = 0x1d020, 6728c2ecf20Sopenharmony_ci .hid_width = 5, 6738c2ecf20Sopenharmony_ci .parent_map = gcc_xo_gpll0_map, 6748c2ecf20Sopenharmony_ci .freq_tbl = ftbl_blsp1_qup1_i2c_apps_clk_src, 6758c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 6768c2ecf20Sopenharmony_ci .name = "blsp1_qup3_i2c_apps_clk_src", 6778c2ecf20Sopenharmony_ci .parent_names = gcc_xo_gpll0, 6788c2ecf20Sopenharmony_ci .num_parents = 2, 6798c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 6808c2ecf20Sopenharmony_ci }, 6818c2ecf20Sopenharmony_ci}; 6828c2ecf20Sopenharmony_ci 6838c2ecf20Sopenharmony_cistatic struct clk_rcg2 blsp1_uart3_apps_clk_src = { 6848c2ecf20Sopenharmony_ci .cmd_rcgr = 0x1e00c, 6858c2ecf20Sopenharmony_ci .mnd_width = 16, 6868c2ecf20Sopenharmony_ci .hid_width = 5, 6878c2ecf20Sopenharmony_ci .parent_map = gcc_xo_gpll0_map, 6888c2ecf20Sopenharmony_ci .freq_tbl = ftbl_blsp1_uart1_apps_clk_src, 6898c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 6908c2ecf20Sopenharmony_ci .name = "blsp1_uart3_apps_clk_src", 6918c2ecf20Sopenharmony_ci .parent_names = gcc_xo_gpll0, 6928c2ecf20Sopenharmony_ci .num_parents = 2, 6938c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 6948c2ecf20Sopenharmony_ci }, 6958c2ecf20Sopenharmony_ci}; 6968c2ecf20Sopenharmony_ci 6978c2ecf20Sopenharmony_cistatic struct clk_rcg2 blsp1_qup4_spi_apps_clk_src = { 6988c2ecf20Sopenharmony_ci .cmd_rcgr = 0x1f00c, 6998c2ecf20Sopenharmony_ci .mnd_width = 8, 7008c2ecf20Sopenharmony_ci .hid_width = 5, 7018c2ecf20Sopenharmony_ci .parent_map = gcc_xo_gpll0_map, 7028c2ecf20Sopenharmony_ci .freq_tbl = ftbl_blsp1_qup1_spi_apps_clk_src, 7038c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 7048c2ecf20Sopenharmony_ci .name = "blsp1_qup4_spi_apps_clk_src", 7058c2ecf20Sopenharmony_ci .parent_names = gcc_xo_gpll0, 7068c2ecf20Sopenharmony_ci .num_parents = 2, 7078c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 7088c2ecf20Sopenharmony_ci }, 7098c2ecf20Sopenharmony_ci}; 7108c2ecf20Sopenharmony_ci 7118c2ecf20Sopenharmony_cistatic struct clk_rcg2 blsp1_qup4_i2c_apps_clk_src = { 7128c2ecf20Sopenharmony_ci .cmd_rcgr = 0x1f020, 7138c2ecf20Sopenharmony_ci .hid_width = 5, 7148c2ecf20Sopenharmony_ci .parent_map = gcc_xo_gpll0_map, 7158c2ecf20Sopenharmony_ci .freq_tbl = ftbl_blsp1_qup1_i2c_apps_clk_src, 7168c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 7178c2ecf20Sopenharmony_ci .name = "blsp1_qup4_i2c_apps_clk_src", 7188c2ecf20Sopenharmony_ci .parent_names = gcc_xo_gpll0, 7198c2ecf20Sopenharmony_ci .num_parents = 2, 7208c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 7218c2ecf20Sopenharmony_ci }, 7228c2ecf20Sopenharmony_ci}; 7238c2ecf20Sopenharmony_ci 7248c2ecf20Sopenharmony_cistatic struct clk_rcg2 blsp1_uart4_apps_clk_src = { 7258c2ecf20Sopenharmony_ci .cmd_rcgr = 0x2000c, 7268c2ecf20Sopenharmony_ci .mnd_width = 16, 7278c2ecf20Sopenharmony_ci .hid_width = 5, 7288c2ecf20Sopenharmony_ci .parent_map = gcc_xo_gpll0_map, 7298c2ecf20Sopenharmony_ci .freq_tbl = ftbl_blsp1_uart1_apps_clk_src, 7308c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 7318c2ecf20Sopenharmony_ci .name = "blsp1_uart4_apps_clk_src", 7328c2ecf20Sopenharmony_ci .parent_names = gcc_xo_gpll0, 7338c2ecf20Sopenharmony_ci .num_parents = 2, 7348c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 7358c2ecf20Sopenharmony_ci }, 7368c2ecf20Sopenharmony_ci}; 7378c2ecf20Sopenharmony_ci 7388c2ecf20Sopenharmony_cistatic struct clk_rcg2 blsp1_qup5_spi_apps_clk_src = { 7398c2ecf20Sopenharmony_ci .cmd_rcgr = 0x2100c, 7408c2ecf20Sopenharmony_ci .mnd_width = 8, 7418c2ecf20Sopenharmony_ci .hid_width = 5, 7428c2ecf20Sopenharmony_ci .parent_map = gcc_xo_gpll0_map, 7438c2ecf20Sopenharmony_ci .freq_tbl = ftbl_blsp1_qup1_spi_apps_clk_src, 7448c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 7458c2ecf20Sopenharmony_ci .name = "blsp1_qup5_spi_apps_clk_src", 7468c2ecf20Sopenharmony_ci .parent_names = gcc_xo_gpll0, 7478c2ecf20Sopenharmony_ci .num_parents = 2, 7488c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 7498c2ecf20Sopenharmony_ci }, 7508c2ecf20Sopenharmony_ci}; 7518c2ecf20Sopenharmony_ci 7528c2ecf20Sopenharmony_cistatic struct clk_rcg2 blsp1_qup5_i2c_apps_clk_src = { 7538c2ecf20Sopenharmony_ci .cmd_rcgr = 0x21020, 7548c2ecf20Sopenharmony_ci .hid_width = 5, 7558c2ecf20Sopenharmony_ci .parent_map = gcc_xo_gpll0_map, 7568c2ecf20Sopenharmony_ci .freq_tbl = ftbl_blsp1_qup1_i2c_apps_clk_src, 7578c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 7588c2ecf20Sopenharmony_ci .name = "blsp1_qup5_i2c_apps_clk_src", 7598c2ecf20Sopenharmony_ci .parent_names = gcc_xo_gpll0, 7608c2ecf20Sopenharmony_ci .num_parents = 2, 7618c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 7628c2ecf20Sopenharmony_ci }, 7638c2ecf20Sopenharmony_ci}; 7648c2ecf20Sopenharmony_ci 7658c2ecf20Sopenharmony_cistatic struct clk_rcg2 blsp1_uart5_apps_clk_src = { 7668c2ecf20Sopenharmony_ci .cmd_rcgr = 0x2200c, 7678c2ecf20Sopenharmony_ci .mnd_width = 16, 7688c2ecf20Sopenharmony_ci .hid_width = 5, 7698c2ecf20Sopenharmony_ci .parent_map = gcc_xo_gpll0_map, 7708c2ecf20Sopenharmony_ci .freq_tbl = ftbl_blsp1_uart1_apps_clk_src, 7718c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 7728c2ecf20Sopenharmony_ci .name = "blsp1_uart5_apps_clk_src", 7738c2ecf20Sopenharmony_ci .parent_names = gcc_xo_gpll0, 7748c2ecf20Sopenharmony_ci .num_parents = 2, 7758c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 7768c2ecf20Sopenharmony_ci }, 7778c2ecf20Sopenharmony_ci}; 7788c2ecf20Sopenharmony_ci 7798c2ecf20Sopenharmony_cistatic struct clk_rcg2 blsp1_qup6_spi_apps_clk_src = { 7808c2ecf20Sopenharmony_ci .cmd_rcgr = 0x2300c, 7818c2ecf20Sopenharmony_ci .mnd_width = 8, 7828c2ecf20Sopenharmony_ci .hid_width = 5, 7838c2ecf20Sopenharmony_ci .parent_map = gcc_xo_gpll0_map, 7848c2ecf20Sopenharmony_ci .freq_tbl = ftbl_blsp1_qup1_spi_apps_clk_src, 7858c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 7868c2ecf20Sopenharmony_ci .name = "blsp1_qup6_spi_apps_clk_src", 7878c2ecf20Sopenharmony_ci .parent_names = gcc_xo_gpll0, 7888c2ecf20Sopenharmony_ci .num_parents = 2, 7898c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 7908c2ecf20Sopenharmony_ci }, 7918c2ecf20Sopenharmony_ci}; 7928c2ecf20Sopenharmony_ci 7938c2ecf20Sopenharmony_cistatic struct clk_rcg2 blsp1_qup6_i2c_apps_clk_src = { 7948c2ecf20Sopenharmony_ci .cmd_rcgr = 0x23020, 7958c2ecf20Sopenharmony_ci .hid_width = 5, 7968c2ecf20Sopenharmony_ci .parent_map = gcc_xo_gpll0_map, 7978c2ecf20Sopenharmony_ci .freq_tbl = ftbl_blsp1_qup1_i2c_apps_clk_src, 7988c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 7998c2ecf20Sopenharmony_ci .name = "blsp1_qup6_i2c_apps_clk_src", 8008c2ecf20Sopenharmony_ci .parent_names = gcc_xo_gpll0, 8018c2ecf20Sopenharmony_ci .num_parents = 2, 8028c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 8038c2ecf20Sopenharmony_ci }, 8048c2ecf20Sopenharmony_ci}; 8058c2ecf20Sopenharmony_ci 8068c2ecf20Sopenharmony_cistatic struct clk_rcg2 blsp1_uart6_apps_clk_src = { 8078c2ecf20Sopenharmony_ci .cmd_rcgr = 0x2400c, 8088c2ecf20Sopenharmony_ci .mnd_width = 16, 8098c2ecf20Sopenharmony_ci .hid_width = 5, 8108c2ecf20Sopenharmony_ci .parent_map = gcc_xo_gpll0_map, 8118c2ecf20Sopenharmony_ci .freq_tbl = ftbl_blsp1_uart1_apps_clk_src, 8128c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 8138c2ecf20Sopenharmony_ci .name = "blsp1_uart6_apps_clk_src", 8148c2ecf20Sopenharmony_ci .parent_names = gcc_xo_gpll0, 8158c2ecf20Sopenharmony_ci .num_parents = 2, 8168c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 8178c2ecf20Sopenharmony_ci }, 8188c2ecf20Sopenharmony_ci}; 8198c2ecf20Sopenharmony_ci 8208c2ecf20Sopenharmony_cistatic struct clk_rcg2 blsp2_qup1_spi_apps_clk_src = { 8218c2ecf20Sopenharmony_ci .cmd_rcgr = 0x2600c, 8228c2ecf20Sopenharmony_ci .mnd_width = 8, 8238c2ecf20Sopenharmony_ci .hid_width = 5, 8248c2ecf20Sopenharmony_ci .parent_map = gcc_xo_gpll0_map, 8258c2ecf20Sopenharmony_ci .freq_tbl = ftbl_blsp1_qup1_spi_apps_clk_src, 8268c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 8278c2ecf20Sopenharmony_ci .name = "blsp2_qup1_spi_apps_clk_src", 8288c2ecf20Sopenharmony_ci .parent_names = gcc_xo_gpll0, 8298c2ecf20Sopenharmony_ci .num_parents = 2, 8308c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 8318c2ecf20Sopenharmony_ci }, 8328c2ecf20Sopenharmony_ci}; 8338c2ecf20Sopenharmony_ci 8348c2ecf20Sopenharmony_cistatic struct clk_rcg2 blsp2_qup1_i2c_apps_clk_src = { 8358c2ecf20Sopenharmony_ci .cmd_rcgr = 0x26020, 8368c2ecf20Sopenharmony_ci .hid_width = 5, 8378c2ecf20Sopenharmony_ci .parent_map = gcc_xo_gpll0_map, 8388c2ecf20Sopenharmony_ci .freq_tbl = ftbl_blsp1_qup1_i2c_apps_clk_src, 8398c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 8408c2ecf20Sopenharmony_ci .name = "blsp2_qup1_i2c_apps_clk_src", 8418c2ecf20Sopenharmony_ci .parent_names = gcc_xo_gpll0, 8428c2ecf20Sopenharmony_ci .num_parents = 2, 8438c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 8448c2ecf20Sopenharmony_ci }, 8458c2ecf20Sopenharmony_ci}; 8468c2ecf20Sopenharmony_ci 8478c2ecf20Sopenharmony_cistatic struct clk_rcg2 blsp2_uart1_apps_clk_src = { 8488c2ecf20Sopenharmony_ci .cmd_rcgr = 0x2700c, 8498c2ecf20Sopenharmony_ci .mnd_width = 16, 8508c2ecf20Sopenharmony_ci .hid_width = 5, 8518c2ecf20Sopenharmony_ci .parent_map = gcc_xo_gpll0_map, 8528c2ecf20Sopenharmony_ci .freq_tbl = ftbl_blsp1_uart1_apps_clk_src, 8538c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 8548c2ecf20Sopenharmony_ci .name = "blsp2_uart1_apps_clk_src", 8558c2ecf20Sopenharmony_ci .parent_names = gcc_xo_gpll0, 8568c2ecf20Sopenharmony_ci .num_parents = 2, 8578c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 8588c2ecf20Sopenharmony_ci }, 8598c2ecf20Sopenharmony_ci}; 8608c2ecf20Sopenharmony_ci 8618c2ecf20Sopenharmony_cistatic struct clk_rcg2 blsp2_qup2_spi_apps_clk_src = { 8628c2ecf20Sopenharmony_ci .cmd_rcgr = 0x2800c, 8638c2ecf20Sopenharmony_ci .mnd_width = 8, 8648c2ecf20Sopenharmony_ci .hid_width = 5, 8658c2ecf20Sopenharmony_ci .parent_map = gcc_xo_gpll0_map, 8668c2ecf20Sopenharmony_ci .freq_tbl = ftbl_blsp1_qup1_spi_apps_clk_src, 8678c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 8688c2ecf20Sopenharmony_ci .name = "blsp2_qup2_spi_apps_clk_src", 8698c2ecf20Sopenharmony_ci .parent_names = gcc_xo_gpll0, 8708c2ecf20Sopenharmony_ci .num_parents = 2, 8718c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 8728c2ecf20Sopenharmony_ci }, 8738c2ecf20Sopenharmony_ci}; 8748c2ecf20Sopenharmony_ci 8758c2ecf20Sopenharmony_cistatic struct clk_rcg2 blsp2_qup2_i2c_apps_clk_src = { 8768c2ecf20Sopenharmony_ci .cmd_rcgr = 0x28020, 8778c2ecf20Sopenharmony_ci .hid_width = 5, 8788c2ecf20Sopenharmony_ci .parent_map = gcc_xo_gpll0_map, 8798c2ecf20Sopenharmony_ci .freq_tbl = ftbl_blsp1_qup1_i2c_apps_clk_src, 8808c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 8818c2ecf20Sopenharmony_ci .name = "blsp2_qup2_i2c_apps_clk_src", 8828c2ecf20Sopenharmony_ci .parent_names = gcc_xo_gpll0, 8838c2ecf20Sopenharmony_ci .num_parents = 2, 8848c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 8858c2ecf20Sopenharmony_ci }, 8868c2ecf20Sopenharmony_ci}; 8878c2ecf20Sopenharmony_ci 8888c2ecf20Sopenharmony_cistatic struct clk_rcg2 blsp2_uart2_apps_clk_src = { 8898c2ecf20Sopenharmony_ci .cmd_rcgr = 0x2900c, 8908c2ecf20Sopenharmony_ci .mnd_width = 16, 8918c2ecf20Sopenharmony_ci .hid_width = 5, 8928c2ecf20Sopenharmony_ci .parent_map = gcc_xo_gpll0_map, 8938c2ecf20Sopenharmony_ci .freq_tbl = ftbl_blsp1_uart1_apps_clk_src, 8948c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 8958c2ecf20Sopenharmony_ci .name = "blsp2_uart2_apps_clk_src", 8968c2ecf20Sopenharmony_ci .parent_names = gcc_xo_gpll0, 8978c2ecf20Sopenharmony_ci .num_parents = 2, 8988c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 8998c2ecf20Sopenharmony_ci }, 9008c2ecf20Sopenharmony_ci}; 9018c2ecf20Sopenharmony_ci 9028c2ecf20Sopenharmony_cistatic struct clk_rcg2 blsp2_qup3_spi_apps_clk_src = { 9038c2ecf20Sopenharmony_ci .cmd_rcgr = 0x2a00c, 9048c2ecf20Sopenharmony_ci .mnd_width = 8, 9058c2ecf20Sopenharmony_ci .hid_width = 5, 9068c2ecf20Sopenharmony_ci .parent_map = gcc_xo_gpll0_map, 9078c2ecf20Sopenharmony_ci .freq_tbl = ftbl_blsp1_qup1_spi_apps_clk_src, 9088c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 9098c2ecf20Sopenharmony_ci .name = "blsp2_qup3_spi_apps_clk_src", 9108c2ecf20Sopenharmony_ci .parent_names = gcc_xo_gpll0, 9118c2ecf20Sopenharmony_ci .num_parents = 2, 9128c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 9138c2ecf20Sopenharmony_ci }, 9148c2ecf20Sopenharmony_ci}; 9158c2ecf20Sopenharmony_ci 9168c2ecf20Sopenharmony_cistatic struct clk_rcg2 blsp2_qup3_i2c_apps_clk_src = { 9178c2ecf20Sopenharmony_ci .cmd_rcgr = 0x2a020, 9188c2ecf20Sopenharmony_ci .hid_width = 5, 9198c2ecf20Sopenharmony_ci .parent_map = gcc_xo_gpll0_map, 9208c2ecf20Sopenharmony_ci .freq_tbl = ftbl_blsp1_qup1_i2c_apps_clk_src, 9218c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 9228c2ecf20Sopenharmony_ci .name = "blsp2_qup3_i2c_apps_clk_src", 9238c2ecf20Sopenharmony_ci .parent_names = gcc_xo_gpll0, 9248c2ecf20Sopenharmony_ci .num_parents = 2, 9258c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 9268c2ecf20Sopenharmony_ci }, 9278c2ecf20Sopenharmony_ci}; 9288c2ecf20Sopenharmony_ci 9298c2ecf20Sopenharmony_cistatic struct clk_rcg2 blsp2_uart3_apps_clk_src = { 9308c2ecf20Sopenharmony_ci .cmd_rcgr = 0x2b00c, 9318c2ecf20Sopenharmony_ci .mnd_width = 16, 9328c2ecf20Sopenharmony_ci .hid_width = 5, 9338c2ecf20Sopenharmony_ci .parent_map = gcc_xo_gpll0_map, 9348c2ecf20Sopenharmony_ci .freq_tbl = ftbl_blsp1_uart1_apps_clk_src, 9358c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 9368c2ecf20Sopenharmony_ci .name = "blsp2_uart3_apps_clk_src", 9378c2ecf20Sopenharmony_ci .parent_names = gcc_xo_gpll0, 9388c2ecf20Sopenharmony_ci .num_parents = 2, 9398c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 9408c2ecf20Sopenharmony_ci }, 9418c2ecf20Sopenharmony_ci}; 9428c2ecf20Sopenharmony_ci 9438c2ecf20Sopenharmony_cistatic struct clk_rcg2 blsp2_qup4_spi_apps_clk_src = { 9448c2ecf20Sopenharmony_ci .cmd_rcgr = 0x2c00c, 9458c2ecf20Sopenharmony_ci .mnd_width = 8, 9468c2ecf20Sopenharmony_ci .hid_width = 5, 9478c2ecf20Sopenharmony_ci .parent_map = gcc_xo_gpll0_map, 9488c2ecf20Sopenharmony_ci .freq_tbl = ftbl_blsp1_qup1_spi_apps_clk_src, 9498c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 9508c2ecf20Sopenharmony_ci .name = "blsp2_qup4_spi_apps_clk_src", 9518c2ecf20Sopenharmony_ci .parent_names = gcc_xo_gpll0, 9528c2ecf20Sopenharmony_ci .num_parents = 2, 9538c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 9548c2ecf20Sopenharmony_ci }, 9558c2ecf20Sopenharmony_ci}; 9568c2ecf20Sopenharmony_ci 9578c2ecf20Sopenharmony_cistatic struct clk_rcg2 blsp2_qup4_i2c_apps_clk_src = { 9588c2ecf20Sopenharmony_ci .cmd_rcgr = 0x2c020, 9598c2ecf20Sopenharmony_ci .hid_width = 5, 9608c2ecf20Sopenharmony_ci .parent_map = gcc_xo_gpll0_map, 9618c2ecf20Sopenharmony_ci .freq_tbl = ftbl_blsp1_qup1_i2c_apps_clk_src, 9628c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 9638c2ecf20Sopenharmony_ci .name = "blsp2_qup4_i2c_apps_clk_src", 9648c2ecf20Sopenharmony_ci .parent_names = gcc_xo_gpll0, 9658c2ecf20Sopenharmony_ci .num_parents = 2, 9668c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 9678c2ecf20Sopenharmony_ci }, 9688c2ecf20Sopenharmony_ci}; 9698c2ecf20Sopenharmony_ci 9708c2ecf20Sopenharmony_cistatic struct clk_rcg2 blsp2_uart4_apps_clk_src = { 9718c2ecf20Sopenharmony_ci .cmd_rcgr = 0x2d00c, 9728c2ecf20Sopenharmony_ci .mnd_width = 16, 9738c2ecf20Sopenharmony_ci .hid_width = 5, 9748c2ecf20Sopenharmony_ci .parent_map = gcc_xo_gpll0_map, 9758c2ecf20Sopenharmony_ci .freq_tbl = ftbl_blsp1_uart1_apps_clk_src, 9768c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 9778c2ecf20Sopenharmony_ci .name = "blsp2_uart4_apps_clk_src", 9788c2ecf20Sopenharmony_ci .parent_names = gcc_xo_gpll0, 9798c2ecf20Sopenharmony_ci .num_parents = 2, 9808c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 9818c2ecf20Sopenharmony_ci }, 9828c2ecf20Sopenharmony_ci}; 9838c2ecf20Sopenharmony_ci 9848c2ecf20Sopenharmony_cistatic struct clk_rcg2 blsp2_qup5_spi_apps_clk_src = { 9858c2ecf20Sopenharmony_ci .cmd_rcgr = 0x2e00c, 9868c2ecf20Sopenharmony_ci .mnd_width = 8, 9878c2ecf20Sopenharmony_ci .hid_width = 5, 9888c2ecf20Sopenharmony_ci .parent_map = gcc_xo_gpll0_map, 9898c2ecf20Sopenharmony_ci .freq_tbl = ftbl_blsp1_qup1_spi_apps_clk_src, 9908c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 9918c2ecf20Sopenharmony_ci .name = "blsp2_qup5_spi_apps_clk_src", 9928c2ecf20Sopenharmony_ci .parent_names = gcc_xo_gpll0, 9938c2ecf20Sopenharmony_ci .num_parents = 2, 9948c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 9958c2ecf20Sopenharmony_ci }, 9968c2ecf20Sopenharmony_ci}; 9978c2ecf20Sopenharmony_ci 9988c2ecf20Sopenharmony_cistatic struct clk_rcg2 blsp2_qup5_i2c_apps_clk_src = { 9998c2ecf20Sopenharmony_ci .cmd_rcgr = 0x2e020, 10008c2ecf20Sopenharmony_ci .hid_width = 5, 10018c2ecf20Sopenharmony_ci .parent_map = gcc_xo_gpll0_map, 10028c2ecf20Sopenharmony_ci .freq_tbl = ftbl_blsp1_qup1_i2c_apps_clk_src, 10038c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 10048c2ecf20Sopenharmony_ci .name = "blsp2_qup5_i2c_apps_clk_src", 10058c2ecf20Sopenharmony_ci .parent_names = gcc_xo_gpll0, 10068c2ecf20Sopenharmony_ci .num_parents = 2, 10078c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 10088c2ecf20Sopenharmony_ci }, 10098c2ecf20Sopenharmony_ci}; 10108c2ecf20Sopenharmony_ci 10118c2ecf20Sopenharmony_cistatic struct clk_rcg2 blsp2_uart5_apps_clk_src = { 10128c2ecf20Sopenharmony_ci .cmd_rcgr = 0x2f00c, 10138c2ecf20Sopenharmony_ci .mnd_width = 16, 10148c2ecf20Sopenharmony_ci .hid_width = 5, 10158c2ecf20Sopenharmony_ci .parent_map = gcc_xo_gpll0_map, 10168c2ecf20Sopenharmony_ci .freq_tbl = ftbl_blsp1_uart1_apps_clk_src, 10178c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 10188c2ecf20Sopenharmony_ci .name = "blsp2_uart5_apps_clk_src", 10198c2ecf20Sopenharmony_ci .parent_names = gcc_xo_gpll0, 10208c2ecf20Sopenharmony_ci .num_parents = 2, 10218c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 10228c2ecf20Sopenharmony_ci }, 10238c2ecf20Sopenharmony_ci}; 10248c2ecf20Sopenharmony_ci 10258c2ecf20Sopenharmony_cistatic struct clk_rcg2 blsp2_qup6_spi_apps_clk_src = { 10268c2ecf20Sopenharmony_ci .cmd_rcgr = 0x3000c, 10278c2ecf20Sopenharmony_ci .mnd_width = 8, 10288c2ecf20Sopenharmony_ci .hid_width = 5, 10298c2ecf20Sopenharmony_ci .parent_map = gcc_xo_gpll0_map, 10308c2ecf20Sopenharmony_ci .freq_tbl = ftbl_blsp1_qup1_spi_apps_clk_src, 10318c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 10328c2ecf20Sopenharmony_ci .name = "blsp2_qup6_spi_apps_clk_src", 10338c2ecf20Sopenharmony_ci .parent_names = gcc_xo_gpll0, 10348c2ecf20Sopenharmony_ci .num_parents = 2, 10358c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 10368c2ecf20Sopenharmony_ci }, 10378c2ecf20Sopenharmony_ci}; 10388c2ecf20Sopenharmony_ci 10398c2ecf20Sopenharmony_cistatic struct clk_rcg2 blsp2_qup6_i2c_apps_clk_src = { 10408c2ecf20Sopenharmony_ci .cmd_rcgr = 0x30020, 10418c2ecf20Sopenharmony_ci .hid_width = 5, 10428c2ecf20Sopenharmony_ci .parent_map = gcc_xo_gpll0_map, 10438c2ecf20Sopenharmony_ci .freq_tbl = ftbl_blsp1_qup1_i2c_apps_clk_src, 10448c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 10458c2ecf20Sopenharmony_ci .name = "blsp2_qup6_i2c_apps_clk_src", 10468c2ecf20Sopenharmony_ci .parent_names = gcc_xo_gpll0, 10478c2ecf20Sopenharmony_ci .num_parents = 2, 10488c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 10498c2ecf20Sopenharmony_ci }, 10508c2ecf20Sopenharmony_ci}; 10518c2ecf20Sopenharmony_ci 10528c2ecf20Sopenharmony_cistatic struct clk_rcg2 blsp2_uart6_apps_clk_src = { 10538c2ecf20Sopenharmony_ci .cmd_rcgr = 0x3100c, 10548c2ecf20Sopenharmony_ci .mnd_width = 16, 10558c2ecf20Sopenharmony_ci .hid_width = 5, 10568c2ecf20Sopenharmony_ci .parent_map = gcc_xo_gpll0_map, 10578c2ecf20Sopenharmony_ci .freq_tbl = ftbl_blsp1_uart1_apps_clk_src, 10588c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 10598c2ecf20Sopenharmony_ci .name = "blsp2_uart6_apps_clk_src", 10608c2ecf20Sopenharmony_ci .parent_names = gcc_xo_gpll0, 10618c2ecf20Sopenharmony_ci .num_parents = 2, 10628c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 10638c2ecf20Sopenharmony_ci }, 10648c2ecf20Sopenharmony_ci}; 10658c2ecf20Sopenharmony_ci 10668c2ecf20Sopenharmony_cistatic const struct freq_tbl ftbl_pdm2_clk_src[] = { 10678c2ecf20Sopenharmony_ci F(60000000, P_GPLL0, 10, 0, 0), 10688c2ecf20Sopenharmony_ci { } 10698c2ecf20Sopenharmony_ci}; 10708c2ecf20Sopenharmony_ci 10718c2ecf20Sopenharmony_cistatic struct clk_rcg2 pdm2_clk_src = { 10728c2ecf20Sopenharmony_ci .cmd_rcgr = 0x33010, 10738c2ecf20Sopenharmony_ci .hid_width = 5, 10748c2ecf20Sopenharmony_ci .parent_map = gcc_xo_gpll0_map, 10758c2ecf20Sopenharmony_ci .freq_tbl = ftbl_pdm2_clk_src, 10768c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 10778c2ecf20Sopenharmony_ci .name = "pdm2_clk_src", 10788c2ecf20Sopenharmony_ci .parent_names = gcc_xo_gpll0, 10798c2ecf20Sopenharmony_ci .num_parents = 2, 10808c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 10818c2ecf20Sopenharmony_ci }, 10828c2ecf20Sopenharmony_ci}; 10838c2ecf20Sopenharmony_ci 10848c2ecf20Sopenharmony_cistatic const struct freq_tbl ftbl_tsif_ref_clk_src[] = { 10858c2ecf20Sopenharmony_ci F(105495, P_XO, 1, 1, 182), 10868c2ecf20Sopenharmony_ci { } 10878c2ecf20Sopenharmony_ci}; 10888c2ecf20Sopenharmony_ci 10898c2ecf20Sopenharmony_cistatic struct clk_rcg2 tsif_ref_clk_src = { 10908c2ecf20Sopenharmony_ci .cmd_rcgr = 0x36010, 10918c2ecf20Sopenharmony_ci .mnd_width = 8, 10928c2ecf20Sopenharmony_ci .hid_width = 5, 10938c2ecf20Sopenharmony_ci .parent_map = gcc_xo_gpll0_aud_ref_clk_map, 10948c2ecf20Sopenharmony_ci .freq_tbl = ftbl_tsif_ref_clk_src, 10958c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 10968c2ecf20Sopenharmony_ci .name = "tsif_ref_clk_src", 10978c2ecf20Sopenharmony_ci .parent_names = gcc_xo_gpll0_aud_ref_clk, 10988c2ecf20Sopenharmony_ci .num_parents = 3, 10998c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 11008c2ecf20Sopenharmony_ci }, 11018c2ecf20Sopenharmony_ci}; 11028c2ecf20Sopenharmony_ci 11038c2ecf20Sopenharmony_cistatic struct clk_rcg2 gcc_sleep_clk_src = { 11048c2ecf20Sopenharmony_ci .cmd_rcgr = 0x43014, 11058c2ecf20Sopenharmony_ci .hid_width = 5, 11068c2ecf20Sopenharmony_ci .parent_map = gcc_sleep_clk_map, 11078c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 11088c2ecf20Sopenharmony_ci .name = "gcc_sleep_clk_src", 11098c2ecf20Sopenharmony_ci .parent_names = gcc_sleep_clk, 11108c2ecf20Sopenharmony_ci .num_parents = 1, 11118c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 11128c2ecf20Sopenharmony_ci }, 11138c2ecf20Sopenharmony_ci}; 11148c2ecf20Sopenharmony_ci 11158c2ecf20Sopenharmony_cistatic struct clk_rcg2 hmss_rbcpr_clk_src = { 11168c2ecf20Sopenharmony_ci .cmd_rcgr = 0x48040, 11178c2ecf20Sopenharmony_ci .hid_width = 5, 11188c2ecf20Sopenharmony_ci .parent_map = gcc_xo_gpll0_map, 11198c2ecf20Sopenharmony_ci .freq_tbl = ftbl_usb30_mock_utmi_clk_src, 11208c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 11218c2ecf20Sopenharmony_ci .name = "hmss_rbcpr_clk_src", 11228c2ecf20Sopenharmony_ci .parent_names = gcc_xo_gpll0, 11238c2ecf20Sopenharmony_ci .num_parents = 2, 11248c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 11258c2ecf20Sopenharmony_ci }, 11268c2ecf20Sopenharmony_ci}; 11278c2ecf20Sopenharmony_ci 11288c2ecf20Sopenharmony_cistatic struct clk_rcg2 hmss_gpll0_clk_src = { 11298c2ecf20Sopenharmony_ci .cmd_rcgr = 0x48058, 11308c2ecf20Sopenharmony_ci .hid_width = 5, 11318c2ecf20Sopenharmony_ci .parent_map = gcc_xo_gpll0_map, 11328c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 11338c2ecf20Sopenharmony_ci .name = "hmss_gpll0_clk_src", 11348c2ecf20Sopenharmony_ci .parent_names = gcc_xo_gpll0, 11358c2ecf20Sopenharmony_ci .num_parents = 2, 11368c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 11378c2ecf20Sopenharmony_ci }, 11388c2ecf20Sopenharmony_ci}; 11398c2ecf20Sopenharmony_ci 11408c2ecf20Sopenharmony_cistatic const struct freq_tbl ftbl_gp1_clk_src[] = { 11418c2ecf20Sopenharmony_ci F(19200000, P_XO, 1, 0, 0), 11428c2ecf20Sopenharmony_ci F(100000000, P_GPLL0, 6, 0, 0), 11438c2ecf20Sopenharmony_ci F(200000000, P_GPLL0, 3, 0, 0), 11448c2ecf20Sopenharmony_ci { } 11458c2ecf20Sopenharmony_ci}; 11468c2ecf20Sopenharmony_ci 11478c2ecf20Sopenharmony_cistatic struct clk_rcg2 gp1_clk_src = { 11488c2ecf20Sopenharmony_ci .cmd_rcgr = 0x64004, 11498c2ecf20Sopenharmony_ci .mnd_width = 8, 11508c2ecf20Sopenharmony_ci .hid_width = 5, 11518c2ecf20Sopenharmony_ci .parent_map = gcc_xo_gpll0_sleep_clk_gpll0_early_div_map, 11528c2ecf20Sopenharmony_ci .freq_tbl = ftbl_gp1_clk_src, 11538c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 11548c2ecf20Sopenharmony_ci .name = "gp1_clk_src", 11558c2ecf20Sopenharmony_ci .parent_names = gcc_xo_gpll0_sleep_clk_gpll0_early_div, 11568c2ecf20Sopenharmony_ci .num_parents = 4, 11578c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 11588c2ecf20Sopenharmony_ci }, 11598c2ecf20Sopenharmony_ci}; 11608c2ecf20Sopenharmony_ci 11618c2ecf20Sopenharmony_cistatic struct clk_rcg2 gp2_clk_src = { 11628c2ecf20Sopenharmony_ci .cmd_rcgr = 0x65004, 11638c2ecf20Sopenharmony_ci .mnd_width = 8, 11648c2ecf20Sopenharmony_ci .hid_width = 5, 11658c2ecf20Sopenharmony_ci .parent_map = gcc_xo_gpll0_sleep_clk_gpll0_early_div_map, 11668c2ecf20Sopenharmony_ci .freq_tbl = ftbl_gp1_clk_src, 11678c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 11688c2ecf20Sopenharmony_ci .name = "gp2_clk_src", 11698c2ecf20Sopenharmony_ci .parent_names = gcc_xo_gpll0_sleep_clk_gpll0_early_div, 11708c2ecf20Sopenharmony_ci .num_parents = 4, 11718c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 11728c2ecf20Sopenharmony_ci }, 11738c2ecf20Sopenharmony_ci}; 11748c2ecf20Sopenharmony_ci 11758c2ecf20Sopenharmony_cistatic struct clk_rcg2 gp3_clk_src = { 11768c2ecf20Sopenharmony_ci .cmd_rcgr = 0x66004, 11778c2ecf20Sopenharmony_ci .mnd_width = 8, 11788c2ecf20Sopenharmony_ci .hid_width = 5, 11798c2ecf20Sopenharmony_ci .parent_map = gcc_xo_gpll0_sleep_clk_gpll0_early_div_map, 11808c2ecf20Sopenharmony_ci .freq_tbl = ftbl_gp1_clk_src, 11818c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 11828c2ecf20Sopenharmony_ci .name = "gp3_clk_src", 11838c2ecf20Sopenharmony_ci .parent_names = gcc_xo_gpll0_sleep_clk_gpll0_early_div, 11848c2ecf20Sopenharmony_ci .num_parents = 4, 11858c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 11868c2ecf20Sopenharmony_ci }, 11878c2ecf20Sopenharmony_ci}; 11888c2ecf20Sopenharmony_ci 11898c2ecf20Sopenharmony_cistatic const struct freq_tbl ftbl_pcie_aux_clk_src[] = { 11908c2ecf20Sopenharmony_ci F(1010526, P_XO, 1, 1, 19), 11918c2ecf20Sopenharmony_ci { } 11928c2ecf20Sopenharmony_ci}; 11938c2ecf20Sopenharmony_ci 11948c2ecf20Sopenharmony_cistatic struct clk_rcg2 pcie_aux_clk_src = { 11958c2ecf20Sopenharmony_ci .cmd_rcgr = 0x6c000, 11968c2ecf20Sopenharmony_ci .mnd_width = 16, 11978c2ecf20Sopenharmony_ci .hid_width = 5, 11988c2ecf20Sopenharmony_ci .parent_map = gcc_xo_sleep_clk_map, 11998c2ecf20Sopenharmony_ci .freq_tbl = ftbl_pcie_aux_clk_src, 12008c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 12018c2ecf20Sopenharmony_ci .name = "pcie_aux_clk_src", 12028c2ecf20Sopenharmony_ci .parent_names = gcc_xo_sleep_clk, 12038c2ecf20Sopenharmony_ci .num_parents = 2, 12048c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 12058c2ecf20Sopenharmony_ci }, 12068c2ecf20Sopenharmony_ci}; 12078c2ecf20Sopenharmony_ci 12088c2ecf20Sopenharmony_cistatic const struct freq_tbl ftbl_ufs_axi_clk_src[] = { 12098c2ecf20Sopenharmony_ci F(100000000, P_GPLL0, 6, 0, 0), 12108c2ecf20Sopenharmony_ci F(200000000, P_GPLL0, 3, 0, 0), 12118c2ecf20Sopenharmony_ci F(240000000, P_GPLL0, 2.5, 0, 0), 12128c2ecf20Sopenharmony_ci { } 12138c2ecf20Sopenharmony_ci}; 12148c2ecf20Sopenharmony_ci 12158c2ecf20Sopenharmony_cistatic struct clk_rcg2 ufs_axi_clk_src = { 12168c2ecf20Sopenharmony_ci .cmd_rcgr = 0x75024, 12178c2ecf20Sopenharmony_ci .mnd_width = 8, 12188c2ecf20Sopenharmony_ci .hid_width = 5, 12198c2ecf20Sopenharmony_ci .parent_map = gcc_xo_gpll0_map, 12208c2ecf20Sopenharmony_ci .freq_tbl = ftbl_ufs_axi_clk_src, 12218c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 12228c2ecf20Sopenharmony_ci .name = "ufs_axi_clk_src", 12238c2ecf20Sopenharmony_ci .parent_names = gcc_xo_gpll0, 12248c2ecf20Sopenharmony_ci .num_parents = 2, 12258c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 12268c2ecf20Sopenharmony_ci }, 12278c2ecf20Sopenharmony_ci}; 12288c2ecf20Sopenharmony_ci 12298c2ecf20Sopenharmony_cistatic const struct freq_tbl ftbl_ufs_ice_core_clk_src[] = { 12308c2ecf20Sopenharmony_ci F(19200000, P_XO, 1, 0, 0), 12318c2ecf20Sopenharmony_ci F(150000000, P_GPLL0, 4, 0, 0), 12328c2ecf20Sopenharmony_ci F(300000000, P_GPLL0, 2, 0, 0), 12338c2ecf20Sopenharmony_ci { } 12348c2ecf20Sopenharmony_ci}; 12358c2ecf20Sopenharmony_ci 12368c2ecf20Sopenharmony_cistatic struct clk_rcg2 ufs_ice_core_clk_src = { 12378c2ecf20Sopenharmony_ci .cmd_rcgr = 0x76014, 12388c2ecf20Sopenharmony_ci .hid_width = 5, 12398c2ecf20Sopenharmony_ci .parent_map = gcc_xo_gpll0_map, 12408c2ecf20Sopenharmony_ci .freq_tbl = ftbl_ufs_ice_core_clk_src, 12418c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 12428c2ecf20Sopenharmony_ci .name = "ufs_ice_core_clk_src", 12438c2ecf20Sopenharmony_ci .parent_names = gcc_xo_gpll0, 12448c2ecf20Sopenharmony_ci .num_parents = 2, 12458c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 12468c2ecf20Sopenharmony_ci }, 12478c2ecf20Sopenharmony_ci}; 12488c2ecf20Sopenharmony_ci 12498c2ecf20Sopenharmony_cistatic const struct freq_tbl ftbl_qspi_ser_clk_src[] = { 12508c2ecf20Sopenharmony_ci F(75000000, P_GPLL0, 8, 0, 0), 12518c2ecf20Sopenharmony_ci F(150000000, P_GPLL0, 4, 0, 0), 12528c2ecf20Sopenharmony_ci F(256000000, P_GPLL4, 1.5, 0, 0), 12538c2ecf20Sopenharmony_ci F(300000000, P_GPLL0, 2, 0, 0), 12548c2ecf20Sopenharmony_ci { } 12558c2ecf20Sopenharmony_ci}; 12568c2ecf20Sopenharmony_ci 12578c2ecf20Sopenharmony_cistatic struct clk_rcg2 qspi_ser_clk_src = { 12588c2ecf20Sopenharmony_ci .cmd_rcgr = 0x8b00c, 12598c2ecf20Sopenharmony_ci .hid_width = 5, 12608c2ecf20Sopenharmony_ci .parent_map = gcc_xo_gpll0_gpll1_early_div_gpll1_gpll4_gpll0_early_div_map, 12618c2ecf20Sopenharmony_ci .freq_tbl = ftbl_qspi_ser_clk_src, 12628c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 12638c2ecf20Sopenharmony_ci .name = "qspi_ser_clk_src", 12648c2ecf20Sopenharmony_ci .parent_names = gcc_xo_gpll0_gpll1_early_div_gpll1_gpll4_gpll0_early_div, 12658c2ecf20Sopenharmony_ci .num_parents = 6, 12668c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 12678c2ecf20Sopenharmony_ci }, 12688c2ecf20Sopenharmony_ci}; 12698c2ecf20Sopenharmony_ci 12708c2ecf20Sopenharmony_cistatic struct clk_branch gcc_sys_noc_usb3_axi_clk = { 12718c2ecf20Sopenharmony_ci .halt_reg = 0x0f03c, 12728c2ecf20Sopenharmony_ci .clkr = { 12738c2ecf20Sopenharmony_ci .enable_reg = 0x0f03c, 12748c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 12758c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 12768c2ecf20Sopenharmony_ci .name = "gcc_sys_noc_usb3_axi_clk", 12778c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "usb30_master_clk_src" }, 12788c2ecf20Sopenharmony_ci .num_parents = 1, 12798c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 12808c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 12818c2ecf20Sopenharmony_ci }, 12828c2ecf20Sopenharmony_ci }, 12838c2ecf20Sopenharmony_ci}; 12848c2ecf20Sopenharmony_ci 12858c2ecf20Sopenharmony_cistatic struct clk_branch gcc_sys_noc_ufs_axi_clk = { 12868c2ecf20Sopenharmony_ci .halt_reg = 0x75038, 12878c2ecf20Sopenharmony_ci .clkr = { 12888c2ecf20Sopenharmony_ci .enable_reg = 0x75038, 12898c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 12908c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 12918c2ecf20Sopenharmony_ci .name = "gcc_sys_noc_ufs_axi_clk", 12928c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "ufs_axi_clk_src" }, 12938c2ecf20Sopenharmony_ci .num_parents = 1, 12948c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 12958c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 12968c2ecf20Sopenharmony_ci }, 12978c2ecf20Sopenharmony_ci }, 12988c2ecf20Sopenharmony_ci}; 12998c2ecf20Sopenharmony_ci 13008c2ecf20Sopenharmony_cistatic struct clk_branch gcc_periph_noc_usb20_ahb_clk = { 13018c2ecf20Sopenharmony_ci .halt_reg = 0x6010, 13028c2ecf20Sopenharmony_ci .clkr = { 13038c2ecf20Sopenharmony_ci .enable_reg = 0x6010, 13048c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 13058c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 13068c2ecf20Sopenharmony_ci .name = "gcc_periph_noc_usb20_ahb_clk", 13078c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "usb20_master_clk_src" }, 13088c2ecf20Sopenharmony_ci .num_parents = 1, 13098c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 13108c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 13118c2ecf20Sopenharmony_ci }, 13128c2ecf20Sopenharmony_ci }, 13138c2ecf20Sopenharmony_ci}; 13148c2ecf20Sopenharmony_ci 13158c2ecf20Sopenharmony_cistatic struct clk_branch gcc_mmss_noc_cfg_ahb_clk = { 13168c2ecf20Sopenharmony_ci .halt_reg = 0x9008, 13178c2ecf20Sopenharmony_ci .clkr = { 13188c2ecf20Sopenharmony_ci .enable_reg = 0x9008, 13198c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 13208c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 13218c2ecf20Sopenharmony_ci .name = "gcc_mmss_noc_cfg_ahb_clk", 13228c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "config_noc_clk_src" }, 13238c2ecf20Sopenharmony_ci .num_parents = 1, 13248c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT | CLK_IGNORE_UNUSED, 13258c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 13268c2ecf20Sopenharmony_ci }, 13278c2ecf20Sopenharmony_ci }, 13288c2ecf20Sopenharmony_ci}; 13298c2ecf20Sopenharmony_ci 13308c2ecf20Sopenharmony_cistatic struct clk_branch gcc_mmss_bimc_gfx_clk = { 13318c2ecf20Sopenharmony_ci .halt_reg = 0x9010, 13328c2ecf20Sopenharmony_ci .clkr = { 13338c2ecf20Sopenharmony_ci .enable_reg = 0x9010, 13348c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 13358c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 13368c2ecf20Sopenharmony_ci .name = "gcc_mmss_bimc_gfx_clk", 13378c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 13388c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 13398c2ecf20Sopenharmony_ci }, 13408c2ecf20Sopenharmony_ci }, 13418c2ecf20Sopenharmony_ci}; 13428c2ecf20Sopenharmony_ci 13438c2ecf20Sopenharmony_cistatic struct clk_branch gcc_usb30_master_clk = { 13448c2ecf20Sopenharmony_ci .halt_reg = 0x0f008, 13458c2ecf20Sopenharmony_ci .clkr = { 13468c2ecf20Sopenharmony_ci .enable_reg = 0x0f008, 13478c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 13488c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 13498c2ecf20Sopenharmony_ci .name = "gcc_usb30_master_clk", 13508c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "usb30_master_clk_src" }, 13518c2ecf20Sopenharmony_ci .num_parents = 1, 13528c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 13538c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 13548c2ecf20Sopenharmony_ci }, 13558c2ecf20Sopenharmony_ci }, 13568c2ecf20Sopenharmony_ci}; 13578c2ecf20Sopenharmony_ci 13588c2ecf20Sopenharmony_cistatic struct clk_branch gcc_usb30_sleep_clk = { 13598c2ecf20Sopenharmony_ci .halt_reg = 0x0f00c, 13608c2ecf20Sopenharmony_ci .clkr = { 13618c2ecf20Sopenharmony_ci .enable_reg = 0x0f00c, 13628c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 13638c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 13648c2ecf20Sopenharmony_ci .name = "gcc_usb30_sleep_clk", 13658c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "gcc_sleep_clk_src" }, 13668c2ecf20Sopenharmony_ci .num_parents = 1, 13678c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 13688c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 13698c2ecf20Sopenharmony_ci }, 13708c2ecf20Sopenharmony_ci }, 13718c2ecf20Sopenharmony_ci}; 13728c2ecf20Sopenharmony_ci 13738c2ecf20Sopenharmony_cistatic struct clk_branch gcc_usb30_mock_utmi_clk = { 13748c2ecf20Sopenharmony_ci .halt_reg = 0x0f010, 13758c2ecf20Sopenharmony_ci .clkr = { 13768c2ecf20Sopenharmony_ci .enable_reg = 0x0f010, 13778c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 13788c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 13798c2ecf20Sopenharmony_ci .name = "gcc_usb30_mock_utmi_clk", 13808c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "usb30_mock_utmi_clk_src" }, 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_usb3_phy_aux_clk = { 13898c2ecf20Sopenharmony_ci .halt_reg = 0x50000, 13908c2ecf20Sopenharmony_ci .clkr = { 13918c2ecf20Sopenharmony_ci .enable_reg = 0x50000, 13928c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 13938c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 13948c2ecf20Sopenharmony_ci .name = "gcc_usb3_phy_aux_clk", 13958c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "usb3_phy_aux_clk_src" }, 13968c2ecf20Sopenharmony_ci .num_parents = 1, 13978c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 13988c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 13998c2ecf20Sopenharmony_ci }, 14008c2ecf20Sopenharmony_ci }, 14018c2ecf20Sopenharmony_ci}; 14028c2ecf20Sopenharmony_ci 14038c2ecf20Sopenharmony_cistatic struct clk_branch gcc_usb3_phy_pipe_clk = { 14048c2ecf20Sopenharmony_ci .halt_reg = 0x50004, 14058c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_SKIP, 14068c2ecf20Sopenharmony_ci .clkr = { 14078c2ecf20Sopenharmony_ci .enable_reg = 0x50004, 14088c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 14098c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 14108c2ecf20Sopenharmony_ci .name = "gcc_usb3_phy_pipe_clk", 14118c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "usb3_phy_pipe_clk_src" }, 14128c2ecf20Sopenharmony_ci .num_parents = 1, 14138c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 14148c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 14158c2ecf20Sopenharmony_ci }, 14168c2ecf20Sopenharmony_ci }, 14178c2ecf20Sopenharmony_ci}; 14188c2ecf20Sopenharmony_ci 14198c2ecf20Sopenharmony_cistatic struct clk_branch gcc_usb20_master_clk = { 14208c2ecf20Sopenharmony_ci .halt_reg = 0x12004, 14218c2ecf20Sopenharmony_ci .clkr = { 14228c2ecf20Sopenharmony_ci .enable_reg = 0x12004, 14238c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 14248c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 14258c2ecf20Sopenharmony_ci .name = "gcc_usb20_master_clk", 14268c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "usb20_master_clk_src" }, 14278c2ecf20Sopenharmony_ci .num_parents = 1, 14288c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 14298c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 14308c2ecf20Sopenharmony_ci }, 14318c2ecf20Sopenharmony_ci }, 14328c2ecf20Sopenharmony_ci}; 14338c2ecf20Sopenharmony_ci 14348c2ecf20Sopenharmony_cistatic struct clk_branch gcc_usb20_sleep_clk = { 14358c2ecf20Sopenharmony_ci .halt_reg = 0x12008, 14368c2ecf20Sopenharmony_ci .clkr = { 14378c2ecf20Sopenharmony_ci .enable_reg = 0x12008, 14388c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 14398c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 14408c2ecf20Sopenharmony_ci .name = "gcc_usb20_sleep_clk", 14418c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "gcc_sleep_clk_src" }, 14428c2ecf20Sopenharmony_ci .num_parents = 1, 14438c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 14448c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 14458c2ecf20Sopenharmony_ci }, 14468c2ecf20Sopenharmony_ci }, 14478c2ecf20Sopenharmony_ci}; 14488c2ecf20Sopenharmony_ci 14498c2ecf20Sopenharmony_cistatic struct clk_branch gcc_usb20_mock_utmi_clk = { 14508c2ecf20Sopenharmony_ci .halt_reg = 0x1200c, 14518c2ecf20Sopenharmony_ci .clkr = { 14528c2ecf20Sopenharmony_ci .enable_reg = 0x1200c, 14538c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 14548c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 14558c2ecf20Sopenharmony_ci .name = "gcc_usb20_mock_utmi_clk", 14568c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "usb20_mock_utmi_clk_src" }, 14578c2ecf20Sopenharmony_ci .num_parents = 1, 14588c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 14598c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 14608c2ecf20Sopenharmony_ci }, 14618c2ecf20Sopenharmony_ci }, 14628c2ecf20Sopenharmony_ci}; 14638c2ecf20Sopenharmony_ci 14648c2ecf20Sopenharmony_cistatic struct clk_branch gcc_usb_phy_cfg_ahb2phy_clk = { 14658c2ecf20Sopenharmony_ci .halt_reg = 0x6a004, 14668c2ecf20Sopenharmony_ci .clkr = { 14678c2ecf20Sopenharmony_ci .enable_reg = 0x6a004, 14688c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 14698c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 14708c2ecf20Sopenharmony_ci .name = "gcc_usb_phy_cfg_ahb2phy_clk", 14718c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "periph_noc_clk_src" }, 14728c2ecf20Sopenharmony_ci .num_parents = 1, 14738c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 14748c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 14758c2ecf20Sopenharmony_ci }, 14768c2ecf20Sopenharmony_ci }, 14778c2ecf20Sopenharmony_ci}; 14788c2ecf20Sopenharmony_ci 14798c2ecf20Sopenharmony_cistatic struct clk_branch gcc_sdcc1_apps_clk = { 14808c2ecf20Sopenharmony_ci .halt_reg = 0x13004, 14818c2ecf20Sopenharmony_ci .clkr = { 14828c2ecf20Sopenharmony_ci .enable_reg = 0x13004, 14838c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 14848c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 14858c2ecf20Sopenharmony_ci .name = "gcc_sdcc1_apps_clk", 14868c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "sdcc1_apps_clk_src" }, 14878c2ecf20Sopenharmony_ci .num_parents = 1, 14888c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 14898c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 14908c2ecf20Sopenharmony_ci }, 14918c2ecf20Sopenharmony_ci }, 14928c2ecf20Sopenharmony_ci}; 14938c2ecf20Sopenharmony_ci 14948c2ecf20Sopenharmony_cistatic struct clk_branch gcc_sdcc1_ahb_clk = { 14958c2ecf20Sopenharmony_ci .halt_reg = 0x13008, 14968c2ecf20Sopenharmony_ci .clkr = { 14978c2ecf20Sopenharmony_ci .enable_reg = 0x13008, 14988c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 14998c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 15008c2ecf20Sopenharmony_ci .name = "gcc_sdcc1_ahb_clk", 15018c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "periph_noc_clk_src" }, 15028c2ecf20Sopenharmony_ci .num_parents = 1, 15038c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 15048c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 15058c2ecf20Sopenharmony_ci }, 15068c2ecf20Sopenharmony_ci }, 15078c2ecf20Sopenharmony_ci}; 15088c2ecf20Sopenharmony_ci 15098c2ecf20Sopenharmony_cistatic struct clk_branch gcc_sdcc1_ice_core_clk = { 15108c2ecf20Sopenharmony_ci .halt_reg = 0x13038, 15118c2ecf20Sopenharmony_ci .clkr = { 15128c2ecf20Sopenharmony_ci .enable_reg = 0x13038, 15138c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 15148c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 15158c2ecf20Sopenharmony_ci .name = "gcc_sdcc1_ice_core_clk", 15168c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "sdcc1_ice_core_clk_src" }, 15178c2ecf20Sopenharmony_ci .num_parents = 1, 15188c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 15198c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 15208c2ecf20Sopenharmony_ci }, 15218c2ecf20Sopenharmony_ci }, 15228c2ecf20Sopenharmony_ci}; 15238c2ecf20Sopenharmony_ci 15248c2ecf20Sopenharmony_cistatic struct clk_branch gcc_sdcc2_apps_clk = { 15258c2ecf20Sopenharmony_ci .halt_reg = 0x14004, 15268c2ecf20Sopenharmony_ci .clkr = { 15278c2ecf20Sopenharmony_ci .enable_reg = 0x14004, 15288c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 15298c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 15308c2ecf20Sopenharmony_ci .name = "gcc_sdcc2_apps_clk", 15318c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "sdcc2_apps_clk_src" }, 15328c2ecf20Sopenharmony_ci .num_parents = 1, 15338c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 15348c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 15358c2ecf20Sopenharmony_ci }, 15368c2ecf20Sopenharmony_ci }, 15378c2ecf20Sopenharmony_ci}; 15388c2ecf20Sopenharmony_ci 15398c2ecf20Sopenharmony_cistatic struct clk_branch gcc_sdcc2_ahb_clk = { 15408c2ecf20Sopenharmony_ci .halt_reg = 0x14008, 15418c2ecf20Sopenharmony_ci .clkr = { 15428c2ecf20Sopenharmony_ci .enable_reg = 0x14008, 15438c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 15448c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 15458c2ecf20Sopenharmony_ci .name = "gcc_sdcc2_ahb_clk", 15468c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "periph_noc_clk_src" }, 15478c2ecf20Sopenharmony_ci .num_parents = 1, 15488c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 15498c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 15508c2ecf20Sopenharmony_ci }, 15518c2ecf20Sopenharmony_ci }, 15528c2ecf20Sopenharmony_ci}; 15538c2ecf20Sopenharmony_ci 15548c2ecf20Sopenharmony_cistatic struct clk_branch gcc_sdcc3_apps_clk = { 15558c2ecf20Sopenharmony_ci .halt_reg = 0x15004, 15568c2ecf20Sopenharmony_ci .clkr = { 15578c2ecf20Sopenharmony_ci .enable_reg = 0x15004, 15588c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 15598c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 15608c2ecf20Sopenharmony_ci .name = "gcc_sdcc3_apps_clk", 15618c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "sdcc3_apps_clk_src" }, 15628c2ecf20Sopenharmony_ci .num_parents = 1, 15638c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 15648c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 15658c2ecf20Sopenharmony_ci }, 15668c2ecf20Sopenharmony_ci }, 15678c2ecf20Sopenharmony_ci}; 15688c2ecf20Sopenharmony_ci 15698c2ecf20Sopenharmony_cistatic struct clk_branch gcc_sdcc3_ahb_clk = { 15708c2ecf20Sopenharmony_ci .halt_reg = 0x15008, 15718c2ecf20Sopenharmony_ci .clkr = { 15728c2ecf20Sopenharmony_ci .enable_reg = 0x15008, 15738c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 15748c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 15758c2ecf20Sopenharmony_ci .name = "gcc_sdcc3_ahb_clk", 15768c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "periph_noc_clk_src" }, 15778c2ecf20Sopenharmony_ci .num_parents = 1, 15788c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 15798c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 15808c2ecf20Sopenharmony_ci }, 15818c2ecf20Sopenharmony_ci }, 15828c2ecf20Sopenharmony_ci}; 15838c2ecf20Sopenharmony_ci 15848c2ecf20Sopenharmony_cistatic struct clk_branch gcc_sdcc4_apps_clk = { 15858c2ecf20Sopenharmony_ci .halt_reg = 0x16004, 15868c2ecf20Sopenharmony_ci .clkr = { 15878c2ecf20Sopenharmony_ci .enable_reg = 0x16004, 15888c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 15898c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 15908c2ecf20Sopenharmony_ci .name = "gcc_sdcc4_apps_clk", 15918c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "sdcc4_apps_clk_src" }, 15928c2ecf20Sopenharmony_ci .num_parents = 1, 15938c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 15948c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 15958c2ecf20Sopenharmony_ci }, 15968c2ecf20Sopenharmony_ci }, 15978c2ecf20Sopenharmony_ci}; 15988c2ecf20Sopenharmony_ci 15998c2ecf20Sopenharmony_cistatic struct clk_branch gcc_sdcc4_ahb_clk = { 16008c2ecf20Sopenharmony_ci .halt_reg = 0x16008, 16018c2ecf20Sopenharmony_ci .clkr = { 16028c2ecf20Sopenharmony_ci .enable_reg = 0x16008, 16038c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 16048c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 16058c2ecf20Sopenharmony_ci .name = "gcc_sdcc4_ahb_clk", 16068c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "periph_noc_clk_src" }, 16078c2ecf20Sopenharmony_ci .num_parents = 1, 16088c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 16098c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 16108c2ecf20Sopenharmony_ci }, 16118c2ecf20Sopenharmony_ci }, 16128c2ecf20Sopenharmony_ci}; 16138c2ecf20Sopenharmony_ci 16148c2ecf20Sopenharmony_cistatic struct clk_branch gcc_blsp1_ahb_clk = { 16158c2ecf20Sopenharmony_ci .halt_reg = 0x17004, 16168c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_VOTED, 16178c2ecf20Sopenharmony_ci .clkr = { 16188c2ecf20Sopenharmony_ci .enable_reg = 0x52004, 16198c2ecf20Sopenharmony_ci .enable_mask = BIT(17), 16208c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 16218c2ecf20Sopenharmony_ci .name = "gcc_blsp1_ahb_clk", 16228c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "periph_noc_clk_src" }, 16238c2ecf20Sopenharmony_ci .num_parents = 1, 16248c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 16258c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 16268c2ecf20Sopenharmony_ci }, 16278c2ecf20Sopenharmony_ci }, 16288c2ecf20Sopenharmony_ci}; 16298c2ecf20Sopenharmony_ci 16308c2ecf20Sopenharmony_cistatic struct clk_branch gcc_blsp1_sleep_clk = { 16318c2ecf20Sopenharmony_ci .halt_reg = 0x17008, 16328c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_VOTED, 16338c2ecf20Sopenharmony_ci .clkr = { 16348c2ecf20Sopenharmony_ci .enable_reg = 0x52004, 16358c2ecf20Sopenharmony_ci .enable_mask = BIT(16), 16368c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 16378c2ecf20Sopenharmony_ci .name = "gcc_blsp1_sleep_clk", 16388c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "gcc_sleep_clk_src" }, 16398c2ecf20Sopenharmony_ci .num_parents = 1, 16408c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 16418c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 16428c2ecf20Sopenharmony_ci }, 16438c2ecf20Sopenharmony_ci }, 16448c2ecf20Sopenharmony_ci}; 16458c2ecf20Sopenharmony_ci 16468c2ecf20Sopenharmony_cistatic struct clk_branch gcc_blsp1_qup1_spi_apps_clk = { 16478c2ecf20Sopenharmony_ci .halt_reg = 0x19004, 16488c2ecf20Sopenharmony_ci .clkr = { 16498c2ecf20Sopenharmony_ci .enable_reg = 0x19004, 16508c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 16518c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 16528c2ecf20Sopenharmony_ci .name = "gcc_blsp1_qup1_spi_apps_clk", 16538c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "blsp1_qup1_spi_apps_clk_src" }, 16548c2ecf20Sopenharmony_ci .num_parents = 1, 16558c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 16568c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 16578c2ecf20Sopenharmony_ci }, 16588c2ecf20Sopenharmony_ci }, 16598c2ecf20Sopenharmony_ci}; 16608c2ecf20Sopenharmony_ci 16618c2ecf20Sopenharmony_cistatic struct clk_branch gcc_blsp1_qup1_i2c_apps_clk = { 16628c2ecf20Sopenharmony_ci .halt_reg = 0x19008, 16638c2ecf20Sopenharmony_ci .clkr = { 16648c2ecf20Sopenharmony_ci .enable_reg = 0x19008, 16658c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 16668c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 16678c2ecf20Sopenharmony_ci .name = "gcc_blsp1_qup1_i2c_apps_clk", 16688c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "blsp1_qup1_i2c_apps_clk_src" }, 16698c2ecf20Sopenharmony_ci .num_parents = 1, 16708c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 16718c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 16728c2ecf20Sopenharmony_ci }, 16738c2ecf20Sopenharmony_ci }, 16748c2ecf20Sopenharmony_ci}; 16758c2ecf20Sopenharmony_ci 16768c2ecf20Sopenharmony_cistatic struct clk_branch gcc_blsp1_uart1_apps_clk = { 16778c2ecf20Sopenharmony_ci .halt_reg = 0x1a004, 16788c2ecf20Sopenharmony_ci .clkr = { 16798c2ecf20Sopenharmony_ci .enable_reg = 0x1a004, 16808c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 16818c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 16828c2ecf20Sopenharmony_ci .name = "gcc_blsp1_uart1_apps_clk", 16838c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "blsp1_uart1_apps_clk_src" }, 16848c2ecf20Sopenharmony_ci .num_parents = 1, 16858c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 16868c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 16878c2ecf20Sopenharmony_ci }, 16888c2ecf20Sopenharmony_ci }, 16898c2ecf20Sopenharmony_ci}; 16908c2ecf20Sopenharmony_ci 16918c2ecf20Sopenharmony_cistatic struct clk_branch gcc_blsp1_qup2_spi_apps_clk = { 16928c2ecf20Sopenharmony_ci .halt_reg = 0x1b004, 16938c2ecf20Sopenharmony_ci .clkr = { 16948c2ecf20Sopenharmony_ci .enable_reg = 0x1b004, 16958c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 16968c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 16978c2ecf20Sopenharmony_ci .name = "gcc_blsp1_qup2_spi_apps_clk", 16988c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "blsp1_qup2_spi_apps_clk_src" }, 16998c2ecf20Sopenharmony_ci .num_parents = 1, 17008c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 17018c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 17028c2ecf20Sopenharmony_ci }, 17038c2ecf20Sopenharmony_ci }, 17048c2ecf20Sopenharmony_ci}; 17058c2ecf20Sopenharmony_ci 17068c2ecf20Sopenharmony_cistatic struct clk_branch gcc_blsp1_qup2_i2c_apps_clk = { 17078c2ecf20Sopenharmony_ci .halt_reg = 0x1b008, 17088c2ecf20Sopenharmony_ci .clkr = { 17098c2ecf20Sopenharmony_ci .enable_reg = 0x1b008, 17108c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 17118c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 17128c2ecf20Sopenharmony_ci .name = "gcc_blsp1_qup2_i2c_apps_clk", 17138c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "blsp1_qup2_i2c_apps_clk_src" }, 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_blsp1_uart2_apps_clk = { 17228c2ecf20Sopenharmony_ci .halt_reg = 0x1c004, 17238c2ecf20Sopenharmony_ci .clkr = { 17248c2ecf20Sopenharmony_ci .enable_reg = 0x1c004, 17258c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 17268c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 17278c2ecf20Sopenharmony_ci .name = "gcc_blsp1_uart2_apps_clk", 17288c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "blsp1_uart2_apps_clk_src" }, 17298c2ecf20Sopenharmony_ci .num_parents = 1, 17308c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 17318c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 17328c2ecf20Sopenharmony_ci }, 17338c2ecf20Sopenharmony_ci }, 17348c2ecf20Sopenharmony_ci}; 17358c2ecf20Sopenharmony_ci 17368c2ecf20Sopenharmony_cistatic struct clk_branch gcc_blsp1_qup3_spi_apps_clk = { 17378c2ecf20Sopenharmony_ci .halt_reg = 0x1d004, 17388c2ecf20Sopenharmony_ci .clkr = { 17398c2ecf20Sopenharmony_ci .enable_reg = 0x1d004, 17408c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 17418c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 17428c2ecf20Sopenharmony_ci .name = "gcc_blsp1_qup3_spi_apps_clk", 17438c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "blsp1_qup3_spi_apps_clk_src" }, 17448c2ecf20Sopenharmony_ci .num_parents = 1, 17458c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 17468c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 17478c2ecf20Sopenharmony_ci }, 17488c2ecf20Sopenharmony_ci }, 17498c2ecf20Sopenharmony_ci}; 17508c2ecf20Sopenharmony_ci 17518c2ecf20Sopenharmony_cistatic struct clk_branch gcc_blsp1_qup3_i2c_apps_clk = { 17528c2ecf20Sopenharmony_ci .halt_reg = 0x1d008, 17538c2ecf20Sopenharmony_ci .clkr = { 17548c2ecf20Sopenharmony_ci .enable_reg = 0x1d008, 17558c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 17568c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 17578c2ecf20Sopenharmony_ci .name = "gcc_blsp1_qup3_i2c_apps_clk", 17588c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "blsp1_qup3_i2c_apps_clk_src" }, 17598c2ecf20Sopenharmony_ci .num_parents = 1, 17608c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 17618c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 17628c2ecf20Sopenharmony_ci }, 17638c2ecf20Sopenharmony_ci }, 17648c2ecf20Sopenharmony_ci}; 17658c2ecf20Sopenharmony_ci 17668c2ecf20Sopenharmony_cistatic struct clk_branch gcc_blsp1_uart3_apps_clk = { 17678c2ecf20Sopenharmony_ci .halt_reg = 0x1e004, 17688c2ecf20Sopenharmony_ci .clkr = { 17698c2ecf20Sopenharmony_ci .enable_reg = 0x1e004, 17708c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 17718c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 17728c2ecf20Sopenharmony_ci .name = "gcc_blsp1_uart3_apps_clk", 17738c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "blsp1_uart3_apps_clk_src" }, 17748c2ecf20Sopenharmony_ci .num_parents = 1, 17758c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 17768c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 17778c2ecf20Sopenharmony_ci }, 17788c2ecf20Sopenharmony_ci }, 17798c2ecf20Sopenharmony_ci}; 17808c2ecf20Sopenharmony_ci 17818c2ecf20Sopenharmony_cistatic struct clk_branch gcc_blsp1_qup4_spi_apps_clk = { 17828c2ecf20Sopenharmony_ci .halt_reg = 0x1f004, 17838c2ecf20Sopenharmony_ci .clkr = { 17848c2ecf20Sopenharmony_ci .enable_reg = 0x1f004, 17858c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 17868c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 17878c2ecf20Sopenharmony_ci .name = "gcc_blsp1_qup4_spi_apps_clk", 17888c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "blsp1_qup4_spi_apps_clk_src" }, 17898c2ecf20Sopenharmony_ci .num_parents = 1, 17908c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 17918c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 17928c2ecf20Sopenharmony_ci }, 17938c2ecf20Sopenharmony_ci }, 17948c2ecf20Sopenharmony_ci}; 17958c2ecf20Sopenharmony_ci 17968c2ecf20Sopenharmony_cistatic struct clk_branch gcc_blsp1_qup4_i2c_apps_clk = { 17978c2ecf20Sopenharmony_ci .halt_reg = 0x1f008, 17988c2ecf20Sopenharmony_ci .clkr = { 17998c2ecf20Sopenharmony_ci .enable_reg = 0x1f008, 18008c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 18018c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 18028c2ecf20Sopenharmony_ci .name = "gcc_blsp1_qup4_i2c_apps_clk", 18038c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "blsp1_qup4_i2c_apps_clk_src" }, 18048c2ecf20Sopenharmony_ci .num_parents = 1, 18058c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 18068c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 18078c2ecf20Sopenharmony_ci }, 18088c2ecf20Sopenharmony_ci }, 18098c2ecf20Sopenharmony_ci}; 18108c2ecf20Sopenharmony_ci 18118c2ecf20Sopenharmony_cistatic struct clk_branch gcc_blsp1_uart4_apps_clk = { 18128c2ecf20Sopenharmony_ci .halt_reg = 0x20004, 18138c2ecf20Sopenharmony_ci .clkr = { 18148c2ecf20Sopenharmony_ci .enable_reg = 0x20004, 18158c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 18168c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 18178c2ecf20Sopenharmony_ci .name = "gcc_blsp1_uart4_apps_clk", 18188c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "blsp1_uart4_apps_clk_src" }, 18198c2ecf20Sopenharmony_ci .num_parents = 1, 18208c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 18218c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 18228c2ecf20Sopenharmony_ci }, 18238c2ecf20Sopenharmony_ci }, 18248c2ecf20Sopenharmony_ci}; 18258c2ecf20Sopenharmony_ci 18268c2ecf20Sopenharmony_cistatic struct clk_branch gcc_blsp1_qup5_spi_apps_clk = { 18278c2ecf20Sopenharmony_ci .halt_reg = 0x21004, 18288c2ecf20Sopenharmony_ci .clkr = { 18298c2ecf20Sopenharmony_ci .enable_reg = 0x21004, 18308c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 18318c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 18328c2ecf20Sopenharmony_ci .name = "gcc_blsp1_qup5_spi_apps_clk", 18338c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "blsp1_qup5_spi_apps_clk_src" }, 18348c2ecf20Sopenharmony_ci .num_parents = 1, 18358c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 18368c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 18378c2ecf20Sopenharmony_ci }, 18388c2ecf20Sopenharmony_ci }, 18398c2ecf20Sopenharmony_ci}; 18408c2ecf20Sopenharmony_ci 18418c2ecf20Sopenharmony_cistatic struct clk_branch gcc_blsp1_qup5_i2c_apps_clk = { 18428c2ecf20Sopenharmony_ci .halt_reg = 0x21008, 18438c2ecf20Sopenharmony_ci .clkr = { 18448c2ecf20Sopenharmony_ci .enable_reg = 0x21008, 18458c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 18468c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 18478c2ecf20Sopenharmony_ci .name = "gcc_blsp1_qup5_i2c_apps_clk", 18488c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "blsp1_qup5_i2c_apps_clk_src" }, 18498c2ecf20Sopenharmony_ci .num_parents = 1, 18508c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 18518c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 18528c2ecf20Sopenharmony_ci }, 18538c2ecf20Sopenharmony_ci }, 18548c2ecf20Sopenharmony_ci}; 18558c2ecf20Sopenharmony_ci 18568c2ecf20Sopenharmony_cistatic struct clk_branch gcc_blsp1_uart5_apps_clk = { 18578c2ecf20Sopenharmony_ci .halt_reg = 0x22004, 18588c2ecf20Sopenharmony_ci .clkr = { 18598c2ecf20Sopenharmony_ci .enable_reg = 0x22004, 18608c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 18618c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 18628c2ecf20Sopenharmony_ci .name = "gcc_blsp1_uart5_apps_clk", 18638c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "blsp1_uart5_apps_clk_src" }, 18648c2ecf20Sopenharmony_ci .num_parents = 1, 18658c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 18668c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 18678c2ecf20Sopenharmony_ci }, 18688c2ecf20Sopenharmony_ci }, 18698c2ecf20Sopenharmony_ci}; 18708c2ecf20Sopenharmony_ci 18718c2ecf20Sopenharmony_cistatic struct clk_branch gcc_blsp1_qup6_spi_apps_clk = { 18728c2ecf20Sopenharmony_ci .halt_reg = 0x23004, 18738c2ecf20Sopenharmony_ci .clkr = { 18748c2ecf20Sopenharmony_ci .enable_reg = 0x23004, 18758c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 18768c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 18778c2ecf20Sopenharmony_ci .name = "gcc_blsp1_qup6_spi_apps_clk", 18788c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "blsp1_qup6_spi_apps_clk_src" }, 18798c2ecf20Sopenharmony_ci .num_parents = 1, 18808c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 18818c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 18828c2ecf20Sopenharmony_ci }, 18838c2ecf20Sopenharmony_ci }, 18848c2ecf20Sopenharmony_ci}; 18858c2ecf20Sopenharmony_ci 18868c2ecf20Sopenharmony_cistatic struct clk_branch gcc_blsp1_qup6_i2c_apps_clk = { 18878c2ecf20Sopenharmony_ci .halt_reg = 0x23008, 18888c2ecf20Sopenharmony_ci .clkr = { 18898c2ecf20Sopenharmony_ci .enable_reg = 0x23008, 18908c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 18918c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 18928c2ecf20Sopenharmony_ci .name = "gcc_blsp1_qup6_i2c_apps_clk", 18938c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "blsp1_qup6_i2c_apps_clk_src" }, 18948c2ecf20Sopenharmony_ci .num_parents = 1, 18958c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 18968c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 18978c2ecf20Sopenharmony_ci }, 18988c2ecf20Sopenharmony_ci }, 18998c2ecf20Sopenharmony_ci}; 19008c2ecf20Sopenharmony_ci 19018c2ecf20Sopenharmony_cistatic struct clk_branch gcc_blsp1_uart6_apps_clk = { 19028c2ecf20Sopenharmony_ci .halt_reg = 0x24004, 19038c2ecf20Sopenharmony_ci .clkr = { 19048c2ecf20Sopenharmony_ci .enable_reg = 0x24004, 19058c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 19068c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 19078c2ecf20Sopenharmony_ci .name = "gcc_blsp1_uart6_apps_clk", 19088c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "blsp1_uart6_apps_clk_src" }, 19098c2ecf20Sopenharmony_ci .num_parents = 1, 19108c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 19118c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 19128c2ecf20Sopenharmony_ci }, 19138c2ecf20Sopenharmony_ci }, 19148c2ecf20Sopenharmony_ci}; 19158c2ecf20Sopenharmony_ci 19168c2ecf20Sopenharmony_cistatic struct clk_branch gcc_blsp2_ahb_clk = { 19178c2ecf20Sopenharmony_ci .halt_reg = 0x25004, 19188c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_VOTED, 19198c2ecf20Sopenharmony_ci .clkr = { 19208c2ecf20Sopenharmony_ci .enable_reg = 0x52004, 19218c2ecf20Sopenharmony_ci .enable_mask = BIT(15), 19228c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 19238c2ecf20Sopenharmony_ci .name = "gcc_blsp2_ahb_clk", 19248c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "periph_noc_clk_src" }, 19258c2ecf20Sopenharmony_ci .num_parents = 1, 19268c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 19278c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 19288c2ecf20Sopenharmony_ci }, 19298c2ecf20Sopenharmony_ci }, 19308c2ecf20Sopenharmony_ci}; 19318c2ecf20Sopenharmony_ci 19328c2ecf20Sopenharmony_cistatic struct clk_branch gcc_blsp2_sleep_clk = { 19338c2ecf20Sopenharmony_ci .halt_reg = 0x25008, 19348c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_VOTED, 19358c2ecf20Sopenharmony_ci .clkr = { 19368c2ecf20Sopenharmony_ci .enable_reg = 0x52004, 19378c2ecf20Sopenharmony_ci .enable_mask = BIT(14), 19388c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 19398c2ecf20Sopenharmony_ci .name = "gcc_blsp2_sleep_clk", 19408c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "gcc_sleep_clk_src" }, 19418c2ecf20Sopenharmony_ci .num_parents = 1, 19428c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 19438c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 19448c2ecf20Sopenharmony_ci }, 19458c2ecf20Sopenharmony_ci }, 19468c2ecf20Sopenharmony_ci}; 19478c2ecf20Sopenharmony_ci 19488c2ecf20Sopenharmony_cistatic struct clk_branch gcc_blsp2_qup1_spi_apps_clk = { 19498c2ecf20Sopenharmony_ci .halt_reg = 0x26004, 19508c2ecf20Sopenharmony_ci .clkr = { 19518c2ecf20Sopenharmony_ci .enable_reg = 0x26004, 19528c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 19538c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 19548c2ecf20Sopenharmony_ci .name = "gcc_blsp2_qup1_spi_apps_clk", 19558c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "blsp2_qup1_spi_apps_clk_src" }, 19568c2ecf20Sopenharmony_ci .num_parents = 1, 19578c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 19588c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 19598c2ecf20Sopenharmony_ci }, 19608c2ecf20Sopenharmony_ci }, 19618c2ecf20Sopenharmony_ci}; 19628c2ecf20Sopenharmony_ci 19638c2ecf20Sopenharmony_cistatic struct clk_branch gcc_blsp2_qup1_i2c_apps_clk = { 19648c2ecf20Sopenharmony_ci .halt_reg = 0x26008, 19658c2ecf20Sopenharmony_ci .clkr = { 19668c2ecf20Sopenharmony_ci .enable_reg = 0x26008, 19678c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 19688c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 19698c2ecf20Sopenharmony_ci .name = "gcc_blsp2_qup1_i2c_apps_clk", 19708c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "blsp2_qup1_i2c_apps_clk_src" }, 19718c2ecf20Sopenharmony_ci .num_parents = 1, 19728c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 19738c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 19748c2ecf20Sopenharmony_ci }, 19758c2ecf20Sopenharmony_ci }, 19768c2ecf20Sopenharmony_ci}; 19778c2ecf20Sopenharmony_ci 19788c2ecf20Sopenharmony_cistatic struct clk_branch gcc_blsp2_uart1_apps_clk = { 19798c2ecf20Sopenharmony_ci .halt_reg = 0x27004, 19808c2ecf20Sopenharmony_ci .clkr = { 19818c2ecf20Sopenharmony_ci .enable_reg = 0x27004, 19828c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 19838c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 19848c2ecf20Sopenharmony_ci .name = "gcc_blsp2_uart1_apps_clk", 19858c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "blsp2_uart1_apps_clk_src" }, 19868c2ecf20Sopenharmony_ci .num_parents = 1, 19878c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 19888c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 19898c2ecf20Sopenharmony_ci }, 19908c2ecf20Sopenharmony_ci }, 19918c2ecf20Sopenharmony_ci}; 19928c2ecf20Sopenharmony_ci 19938c2ecf20Sopenharmony_cistatic struct clk_branch gcc_blsp2_qup2_spi_apps_clk = { 19948c2ecf20Sopenharmony_ci .halt_reg = 0x28004, 19958c2ecf20Sopenharmony_ci .clkr = { 19968c2ecf20Sopenharmony_ci .enable_reg = 0x28004, 19978c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 19988c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 19998c2ecf20Sopenharmony_ci .name = "gcc_blsp2_qup2_spi_apps_clk", 20008c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "blsp2_qup2_spi_apps_clk_src" }, 20018c2ecf20Sopenharmony_ci .num_parents = 1, 20028c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 20038c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 20048c2ecf20Sopenharmony_ci }, 20058c2ecf20Sopenharmony_ci }, 20068c2ecf20Sopenharmony_ci}; 20078c2ecf20Sopenharmony_ci 20088c2ecf20Sopenharmony_cistatic struct clk_branch gcc_blsp2_qup2_i2c_apps_clk = { 20098c2ecf20Sopenharmony_ci .halt_reg = 0x28008, 20108c2ecf20Sopenharmony_ci .clkr = { 20118c2ecf20Sopenharmony_ci .enable_reg = 0x28008, 20128c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 20138c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 20148c2ecf20Sopenharmony_ci .name = "gcc_blsp2_qup2_i2c_apps_clk", 20158c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "blsp2_qup2_i2c_apps_clk_src" }, 20168c2ecf20Sopenharmony_ci .num_parents = 1, 20178c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 20188c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 20198c2ecf20Sopenharmony_ci }, 20208c2ecf20Sopenharmony_ci }, 20218c2ecf20Sopenharmony_ci}; 20228c2ecf20Sopenharmony_ci 20238c2ecf20Sopenharmony_cistatic struct clk_branch gcc_blsp2_uart2_apps_clk = { 20248c2ecf20Sopenharmony_ci .halt_reg = 0x29004, 20258c2ecf20Sopenharmony_ci .clkr = { 20268c2ecf20Sopenharmony_ci .enable_reg = 0x29004, 20278c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 20288c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 20298c2ecf20Sopenharmony_ci .name = "gcc_blsp2_uart2_apps_clk", 20308c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "blsp2_uart2_apps_clk_src" }, 20318c2ecf20Sopenharmony_ci .num_parents = 1, 20328c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 20338c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 20348c2ecf20Sopenharmony_ci }, 20358c2ecf20Sopenharmony_ci }, 20368c2ecf20Sopenharmony_ci}; 20378c2ecf20Sopenharmony_ci 20388c2ecf20Sopenharmony_cistatic struct clk_branch gcc_blsp2_qup3_spi_apps_clk = { 20398c2ecf20Sopenharmony_ci .halt_reg = 0x2a004, 20408c2ecf20Sopenharmony_ci .clkr = { 20418c2ecf20Sopenharmony_ci .enable_reg = 0x2a004, 20428c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 20438c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 20448c2ecf20Sopenharmony_ci .name = "gcc_blsp2_qup3_spi_apps_clk", 20458c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "blsp2_qup3_spi_apps_clk_src" }, 20468c2ecf20Sopenharmony_ci .num_parents = 1, 20478c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 20488c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 20498c2ecf20Sopenharmony_ci }, 20508c2ecf20Sopenharmony_ci }, 20518c2ecf20Sopenharmony_ci}; 20528c2ecf20Sopenharmony_ci 20538c2ecf20Sopenharmony_cistatic struct clk_branch gcc_blsp2_qup3_i2c_apps_clk = { 20548c2ecf20Sopenharmony_ci .halt_reg = 0x2a008, 20558c2ecf20Sopenharmony_ci .clkr = { 20568c2ecf20Sopenharmony_ci .enable_reg = 0x2a008, 20578c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 20588c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 20598c2ecf20Sopenharmony_ci .name = "gcc_blsp2_qup3_i2c_apps_clk", 20608c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "blsp2_qup3_i2c_apps_clk_src" }, 20618c2ecf20Sopenharmony_ci .num_parents = 1, 20628c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 20638c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 20648c2ecf20Sopenharmony_ci }, 20658c2ecf20Sopenharmony_ci }, 20668c2ecf20Sopenharmony_ci}; 20678c2ecf20Sopenharmony_ci 20688c2ecf20Sopenharmony_cistatic struct clk_branch gcc_blsp2_uart3_apps_clk = { 20698c2ecf20Sopenharmony_ci .halt_reg = 0x2b004, 20708c2ecf20Sopenharmony_ci .clkr = { 20718c2ecf20Sopenharmony_ci .enable_reg = 0x2b004, 20728c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 20738c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 20748c2ecf20Sopenharmony_ci .name = "gcc_blsp2_uart3_apps_clk", 20758c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "blsp2_uart3_apps_clk_src" }, 20768c2ecf20Sopenharmony_ci .num_parents = 1, 20778c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 20788c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 20798c2ecf20Sopenharmony_ci }, 20808c2ecf20Sopenharmony_ci }, 20818c2ecf20Sopenharmony_ci}; 20828c2ecf20Sopenharmony_ci 20838c2ecf20Sopenharmony_cistatic struct clk_branch gcc_blsp2_qup4_spi_apps_clk = { 20848c2ecf20Sopenharmony_ci .halt_reg = 0x2c004, 20858c2ecf20Sopenharmony_ci .clkr = { 20868c2ecf20Sopenharmony_ci .enable_reg = 0x2c004, 20878c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 20888c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 20898c2ecf20Sopenharmony_ci .name = "gcc_blsp2_qup4_spi_apps_clk", 20908c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "blsp2_qup4_spi_apps_clk_src" }, 20918c2ecf20Sopenharmony_ci .num_parents = 1, 20928c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 20938c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 20948c2ecf20Sopenharmony_ci }, 20958c2ecf20Sopenharmony_ci }, 20968c2ecf20Sopenharmony_ci}; 20978c2ecf20Sopenharmony_ci 20988c2ecf20Sopenharmony_cistatic struct clk_branch gcc_blsp2_qup4_i2c_apps_clk = { 20998c2ecf20Sopenharmony_ci .halt_reg = 0x2c008, 21008c2ecf20Sopenharmony_ci .clkr = { 21018c2ecf20Sopenharmony_ci .enable_reg = 0x2c008, 21028c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 21038c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 21048c2ecf20Sopenharmony_ci .name = "gcc_blsp2_qup4_i2c_apps_clk", 21058c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "blsp2_qup4_i2c_apps_clk_src" }, 21068c2ecf20Sopenharmony_ci .num_parents = 1, 21078c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 21088c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 21098c2ecf20Sopenharmony_ci }, 21108c2ecf20Sopenharmony_ci }, 21118c2ecf20Sopenharmony_ci}; 21128c2ecf20Sopenharmony_ci 21138c2ecf20Sopenharmony_cistatic struct clk_branch gcc_blsp2_uart4_apps_clk = { 21148c2ecf20Sopenharmony_ci .halt_reg = 0x2d004, 21158c2ecf20Sopenharmony_ci .clkr = { 21168c2ecf20Sopenharmony_ci .enable_reg = 0x2d004, 21178c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 21188c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 21198c2ecf20Sopenharmony_ci .name = "gcc_blsp2_uart4_apps_clk", 21208c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "blsp2_uart4_apps_clk_src" }, 21218c2ecf20Sopenharmony_ci .num_parents = 1, 21228c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 21238c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 21248c2ecf20Sopenharmony_ci }, 21258c2ecf20Sopenharmony_ci }, 21268c2ecf20Sopenharmony_ci}; 21278c2ecf20Sopenharmony_ci 21288c2ecf20Sopenharmony_cistatic struct clk_branch gcc_blsp2_qup5_spi_apps_clk = { 21298c2ecf20Sopenharmony_ci .halt_reg = 0x2e004, 21308c2ecf20Sopenharmony_ci .clkr = { 21318c2ecf20Sopenharmony_ci .enable_reg = 0x2e004, 21328c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 21338c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 21348c2ecf20Sopenharmony_ci .name = "gcc_blsp2_qup5_spi_apps_clk", 21358c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "blsp2_qup5_spi_apps_clk_src" }, 21368c2ecf20Sopenharmony_ci .num_parents = 1, 21378c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 21388c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 21398c2ecf20Sopenharmony_ci }, 21408c2ecf20Sopenharmony_ci }, 21418c2ecf20Sopenharmony_ci}; 21428c2ecf20Sopenharmony_ci 21438c2ecf20Sopenharmony_cistatic struct clk_branch gcc_blsp2_qup5_i2c_apps_clk = { 21448c2ecf20Sopenharmony_ci .halt_reg = 0x2e008, 21458c2ecf20Sopenharmony_ci .clkr = { 21468c2ecf20Sopenharmony_ci .enable_reg = 0x2e008, 21478c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 21488c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 21498c2ecf20Sopenharmony_ci .name = "gcc_blsp2_qup5_i2c_apps_clk", 21508c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "blsp2_qup5_i2c_apps_clk_src" }, 21518c2ecf20Sopenharmony_ci .num_parents = 1, 21528c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 21538c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 21548c2ecf20Sopenharmony_ci }, 21558c2ecf20Sopenharmony_ci }, 21568c2ecf20Sopenharmony_ci}; 21578c2ecf20Sopenharmony_ci 21588c2ecf20Sopenharmony_cistatic struct clk_branch gcc_blsp2_uart5_apps_clk = { 21598c2ecf20Sopenharmony_ci .halt_reg = 0x2f004, 21608c2ecf20Sopenharmony_ci .clkr = { 21618c2ecf20Sopenharmony_ci .enable_reg = 0x2f004, 21628c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 21638c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 21648c2ecf20Sopenharmony_ci .name = "gcc_blsp2_uart5_apps_clk", 21658c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "blsp2_uart5_apps_clk_src" }, 21668c2ecf20Sopenharmony_ci .num_parents = 1, 21678c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 21688c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 21698c2ecf20Sopenharmony_ci }, 21708c2ecf20Sopenharmony_ci }, 21718c2ecf20Sopenharmony_ci}; 21728c2ecf20Sopenharmony_ci 21738c2ecf20Sopenharmony_cistatic struct clk_branch gcc_blsp2_qup6_spi_apps_clk = { 21748c2ecf20Sopenharmony_ci .halt_reg = 0x30004, 21758c2ecf20Sopenharmony_ci .clkr = { 21768c2ecf20Sopenharmony_ci .enable_reg = 0x30004, 21778c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 21788c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 21798c2ecf20Sopenharmony_ci .name = "gcc_blsp2_qup6_spi_apps_clk", 21808c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "blsp2_qup6_spi_apps_clk_src" }, 21818c2ecf20Sopenharmony_ci .num_parents = 1, 21828c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 21838c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 21848c2ecf20Sopenharmony_ci }, 21858c2ecf20Sopenharmony_ci }, 21868c2ecf20Sopenharmony_ci}; 21878c2ecf20Sopenharmony_ci 21888c2ecf20Sopenharmony_cistatic struct clk_branch gcc_blsp2_qup6_i2c_apps_clk = { 21898c2ecf20Sopenharmony_ci .halt_reg = 0x30008, 21908c2ecf20Sopenharmony_ci .clkr = { 21918c2ecf20Sopenharmony_ci .enable_reg = 0x30008, 21928c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 21938c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 21948c2ecf20Sopenharmony_ci .name = "gcc_blsp2_qup6_i2c_apps_clk", 21958c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "blsp2_qup6_i2c_apps_clk_src" }, 21968c2ecf20Sopenharmony_ci .num_parents = 1, 21978c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 21988c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 21998c2ecf20Sopenharmony_ci }, 22008c2ecf20Sopenharmony_ci }, 22018c2ecf20Sopenharmony_ci}; 22028c2ecf20Sopenharmony_ci 22038c2ecf20Sopenharmony_cistatic struct clk_branch gcc_blsp2_uart6_apps_clk = { 22048c2ecf20Sopenharmony_ci .halt_reg = 0x31004, 22058c2ecf20Sopenharmony_ci .clkr = { 22068c2ecf20Sopenharmony_ci .enable_reg = 0x31004, 22078c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 22088c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 22098c2ecf20Sopenharmony_ci .name = "gcc_blsp2_uart6_apps_clk", 22108c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "blsp2_uart6_apps_clk_src" }, 22118c2ecf20Sopenharmony_ci .num_parents = 1, 22128c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 22138c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 22148c2ecf20Sopenharmony_ci }, 22158c2ecf20Sopenharmony_ci }, 22168c2ecf20Sopenharmony_ci}; 22178c2ecf20Sopenharmony_ci 22188c2ecf20Sopenharmony_cistatic struct clk_branch gcc_pdm_ahb_clk = { 22198c2ecf20Sopenharmony_ci .halt_reg = 0x33004, 22208c2ecf20Sopenharmony_ci .clkr = { 22218c2ecf20Sopenharmony_ci .enable_reg = 0x33004, 22228c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 22238c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 22248c2ecf20Sopenharmony_ci .name = "gcc_pdm_ahb_clk", 22258c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "periph_noc_clk_src" }, 22268c2ecf20Sopenharmony_ci .num_parents = 1, 22278c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 22288c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 22298c2ecf20Sopenharmony_ci }, 22308c2ecf20Sopenharmony_ci }, 22318c2ecf20Sopenharmony_ci}; 22328c2ecf20Sopenharmony_ci 22338c2ecf20Sopenharmony_cistatic struct clk_branch gcc_pdm2_clk = { 22348c2ecf20Sopenharmony_ci .halt_reg = 0x3300c, 22358c2ecf20Sopenharmony_ci .clkr = { 22368c2ecf20Sopenharmony_ci .enable_reg = 0x3300c, 22378c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 22388c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 22398c2ecf20Sopenharmony_ci .name = "gcc_pdm2_clk", 22408c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "pdm2_clk_src" }, 22418c2ecf20Sopenharmony_ci .num_parents = 1, 22428c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 22438c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 22448c2ecf20Sopenharmony_ci }, 22458c2ecf20Sopenharmony_ci }, 22468c2ecf20Sopenharmony_ci}; 22478c2ecf20Sopenharmony_ci 22488c2ecf20Sopenharmony_cistatic struct clk_branch gcc_prng_ahb_clk = { 22498c2ecf20Sopenharmony_ci .halt_reg = 0x34004, 22508c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_VOTED, 22518c2ecf20Sopenharmony_ci .clkr = { 22528c2ecf20Sopenharmony_ci .enable_reg = 0x52004, 22538c2ecf20Sopenharmony_ci .enable_mask = BIT(13), 22548c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 22558c2ecf20Sopenharmony_ci .name = "gcc_prng_ahb_clk", 22568c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "config_noc_clk_src" }, 22578c2ecf20Sopenharmony_ci .num_parents = 1, 22588c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 22598c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 22608c2ecf20Sopenharmony_ci }, 22618c2ecf20Sopenharmony_ci }, 22628c2ecf20Sopenharmony_ci}; 22638c2ecf20Sopenharmony_ci 22648c2ecf20Sopenharmony_cistatic struct clk_branch gcc_tsif_ahb_clk = { 22658c2ecf20Sopenharmony_ci .halt_reg = 0x36004, 22668c2ecf20Sopenharmony_ci .clkr = { 22678c2ecf20Sopenharmony_ci .enable_reg = 0x36004, 22688c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 22698c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 22708c2ecf20Sopenharmony_ci .name = "gcc_tsif_ahb_clk", 22718c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "periph_noc_clk_src" }, 22728c2ecf20Sopenharmony_ci .num_parents = 1, 22738c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 22748c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 22758c2ecf20Sopenharmony_ci }, 22768c2ecf20Sopenharmony_ci }, 22778c2ecf20Sopenharmony_ci}; 22788c2ecf20Sopenharmony_ci 22798c2ecf20Sopenharmony_cistatic struct clk_branch gcc_tsif_ref_clk = { 22808c2ecf20Sopenharmony_ci .halt_reg = 0x36008, 22818c2ecf20Sopenharmony_ci .clkr = { 22828c2ecf20Sopenharmony_ci .enable_reg = 0x36008, 22838c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 22848c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 22858c2ecf20Sopenharmony_ci .name = "gcc_tsif_ref_clk", 22868c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "tsif_ref_clk_src" }, 22878c2ecf20Sopenharmony_ci .num_parents = 1, 22888c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 22898c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 22908c2ecf20Sopenharmony_ci }, 22918c2ecf20Sopenharmony_ci }, 22928c2ecf20Sopenharmony_ci}; 22938c2ecf20Sopenharmony_ci 22948c2ecf20Sopenharmony_cistatic struct clk_branch gcc_tsif_inactivity_timers_clk = { 22958c2ecf20Sopenharmony_ci .halt_reg = 0x3600c, 22968c2ecf20Sopenharmony_ci .clkr = { 22978c2ecf20Sopenharmony_ci .enable_reg = 0x3600c, 22988c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 22998c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 23008c2ecf20Sopenharmony_ci .name = "gcc_tsif_inactivity_timers_clk", 23018c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "gcc_sleep_clk_src" }, 23028c2ecf20Sopenharmony_ci .num_parents = 1, 23038c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 23048c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 23058c2ecf20Sopenharmony_ci }, 23068c2ecf20Sopenharmony_ci }, 23078c2ecf20Sopenharmony_ci}; 23088c2ecf20Sopenharmony_ci 23098c2ecf20Sopenharmony_cistatic struct clk_branch gcc_boot_rom_ahb_clk = { 23108c2ecf20Sopenharmony_ci .halt_reg = 0x38004, 23118c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_VOTED, 23128c2ecf20Sopenharmony_ci .clkr = { 23138c2ecf20Sopenharmony_ci .enable_reg = 0x52004, 23148c2ecf20Sopenharmony_ci .enable_mask = BIT(10), 23158c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 23168c2ecf20Sopenharmony_ci .name = "gcc_boot_rom_ahb_clk", 23178c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "config_noc_clk_src" }, 23188c2ecf20Sopenharmony_ci .num_parents = 1, 23198c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 23208c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 23218c2ecf20Sopenharmony_ci }, 23228c2ecf20Sopenharmony_ci }, 23238c2ecf20Sopenharmony_ci}; 23248c2ecf20Sopenharmony_ci 23258c2ecf20Sopenharmony_cistatic struct clk_branch gcc_bimc_gfx_clk = { 23268c2ecf20Sopenharmony_ci .halt_reg = 0x46018, 23278c2ecf20Sopenharmony_ci .clkr = { 23288c2ecf20Sopenharmony_ci .enable_reg = 0x46018, 23298c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 23308c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 23318c2ecf20Sopenharmony_ci .name = "gcc_bimc_gfx_clk", 23328c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 23338c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 23348c2ecf20Sopenharmony_ci }, 23358c2ecf20Sopenharmony_ci }, 23368c2ecf20Sopenharmony_ci}; 23378c2ecf20Sopenharmony_ci 23388c2ecf20Sopenharmony_cistatic struct clk_branch gcc_hmss_rbcpr_clk = { 23398c2ecf20Sopenharmony_ci .halt_reg = 0x4800c, 23408c2ecf20Sopenharmony_ci .clkr = { 23418c2ecf20Sopenharmony_ci .enable_reg = 0x4800c, 23428c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 23438c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 23448c2ecf20Sopenharmony_ci .name = "gcc_hmss_rbcpr_clk", 23458c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "hmss_rbcpr_clk_src" }, 23468c2ecf20Sopenharmony_ci .num_parents = 1, 23478c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 23488c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 23498c2ecf20Sopenharmony_ci }, 23508c2ecf20Sopenharmony_ci }, 23518c2ecf20Sopenharmony_ci}; 23528c2ecf20Sopenharmony_ci 23538c2ecf20Sopenharmony_cistatic struct clk_branch gcc_gp1_clk = { 23548c2ecf20Sopenharmony_ci .halt_reg = 0x64000, 23558c2ecf20Sopenharmony_ci .clkr = { 23568c2ecf20Sopenharmony_ci .enable_reg = 0x64000, 23578c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 23588c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 23598c2ecf20Sopenharmony_ci .name = "gcc_gp1_clk", 23608c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "gp1_clk_src" }, 23618c2ecf20Sopenharmony_ci .num_parents = 1, 23628c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 23638c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 23648c2ecf20Sopenharmony_ci }, 23658c2ecf20Sopenharmony_ci }, 23668c2ecf20Sopenharmony_ci}; 23678c2ecf20Sopenharmony_ci 23688c2ecf20Sopenharmony_cistatic struct clk_branch gcc_gp2_clk = { 23698c2ecf20Sopenharmony_ci .halt_reg = 0x65000, 23708c2ecf20Sopenharmony_ci .clkr = { 23718c2ecf20Sopenharmony_ci .enable_reg = 0x65000, 23728c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 23738c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 23748c2ecf20Sopenharmony_ci .name = "gcc_gp2_clk", 23758c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "gp2_clk_src" }, 23768c2ecf20Sopenharmony_ci .num_parents = 1, 23778c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 23788c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 23798c2ecf20Sopenharmony_ci }, 23808c2ecf20Sopenharmony_ci }, 23818c2ecf20Sopenharmony_ci}; 23828c2ecf20Sopenharmony_ci 23838c2ecf20Sopenharmony_cistatic struct clk_branch gcc_gp3_clk = { 23848c2ecf20Sopenharmony_ci .halt_reg = 0x66000, 23858c2ecf20Sopenharmony_ci .clkr = { 23868c2ecf20Sopenharmony_ci .enable_reg = 0x66000, 23878c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 23888c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 23898c2ecf20Sopenharmony_ci .name = "gcc_gp3_clk", 23908c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "gp3_clk_src" }, 23918c2ecf20Sopenharmony_ci .num_parents = 1, 23928c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 23938c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 23948c2ecf20Sopenharmony_ci }, 23958c2ecf20Sopenharmony_ci }, 23968c2ecf20Sopenharmony_ci}; 23978c2ecf20Sopenharmony_ci 23988c2ecf20Sopenharmony_cistatic struct clk_branch gcc_pcie_0_slv_axi_clk = { 23998c2ecf20Sopenharmony_ci .halt_reg = 0x6b008, 24008c2ecf20Sopenharmony_ci .clkr = { 24018c2ecf20Sopenharmony_ci .enable_reg = 0x6b008, 24028c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 24038c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 24048c2ecf20Sopenharmony_ci .name = "gcc_pcie_0_slv_axi_clk", 24058c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "system_noc_clk_src" }, 24068c2ecf20Sopenharmony_ci .num_parents = 1, 24078c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 24088c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 24098c2ecf20Sopenharmony_ci }, 24108c2ecf20Sopenharmony_ci }, 24118c2ecf20Sopenharmony_ci}; 24128c2ecf20Sopenharmony_ci 24138c2ecf20Sopenharmony_cistatic struct clk_branch gcc_pcie_0_mstr_axi_clk = { 24148c2ecf20Sopenharmony_ci .halt_reg = 0x6b00c, 24158c2ecf20Sopenharmony_ci .clkr = { 24168c2ecf20Sopenharmony_ci .enable_reg = 0x6b00c, 24178c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 24188c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 24198c2ecf20Sopenharmony_ci .name = "gcc_pcie_0_mstr_axi_clk", 24208c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "system_noc_clk_src" }, 24218c2ecf20Sopenharmony_ci .num_parents = 1, 24228c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 24238c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 24248c2ecf20Sopenharmony_ci }, 24258c2ecf20Sopenharmony_ci }, 24268c2ecf20Sopenharmony_ci}; 24278c2ecf20Sopenharmony_ci 24288c2ecf20Sopenharmony_cistatic struct clk_branch gcc_pcie_0_cfg_ahb_clk = { 24298c2ecf20Sopenharmony_ci .halt_reg = 0x6b010, 24308c2ecf20Sopenharmony_ci .clkr = { 24318c2ecf20Sopenharmony_ci .enable_reg = 0x6b010, 24328c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 24338c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 24348c2ecf20Sopenharmony_ci .name = "gcc_pcie_0_cfg_ahb_clk", 24358c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "config_noc_clk_src" }, 24368c2ecf20Sopenharmony_ci .num_parents = 1, 24378c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 24388c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 24398c2ecf20Sopenharmony_ci }, 24408c2ecf20Sopenharmony_ci }, 24418c2ecf20Sopenharmony_ci}; 24428c2ecf20Sopenharmony_ci 24438c2ecf20Sopenharmony_cistatic struct clk_branch gcc_pcie_0_aux_clk = { 24448c2ecf20Sopenharmony_ci .halt_reg = 0x6b014, 24458c2ecf20Sopenharmony_ci .clkr = { 24468c2ecf20Sopenharmony_ci .enable_reg = 0x6b014, 24478c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 24488c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 24498c2ecf20Sopenharmony_ci .name = "gcc_pcie_0_aux_clk", 24508c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "pcie_aux_clk_src" }, 24518c2ecf20Sopenharmony_ci .num_parents = 1, 24528c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 24538c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 24548c2ecf20Sopenharmony_ci }, 24558c2ecf20Sopenharmony_ci }, 24568c2ecf20Sopenharmony_ci}; 24578c2ecf20Sopenharmony_ci 24588c2ecf20Sopenharmony_cistatic struct clk_branch gcc_pcie_0_pipe_clk = { 24598c2ecf20Sopenharmony_ci .halt_reg = 0x6b018, 24608c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_SKIP, 24618c2ecf20Sopenharmony_ci .clkr = { 24628c2ecf20Sopenharmony_ci .enable_reg = 0x6b018, 24638c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 24648c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 24658c2ecf20Sopenharmony_ci .name = "gcc_pcie_0_pipe_clk", 24668c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "pcie_0_pipe_clk_src" }, 24678c2ecf20Sopenharmony_ci .num_parents = 1, 24688c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 24698c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 24708c2ecf20Sopenharmony_ci }, 24718c2ecf20Sopenharmony_ci }, 24728c2ecf20Sopenharmony_ci}; 24738c2ecf20Sopenharmony_ci 24748c2ecf20Sopenharmony_cistatic struct clk_branch gcc_pcie_1_slv_axi_clk = { 24758c2ecf20Sopenharmony_ci .halt_reg = 0x6d008, 24768c2ecf20Sopenharmony_ci .clkr = { 24778c2ecf20Sopenharmony_ci .enable_reg = 0x6d008, 24788c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 24798c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 24808c2ecf20Sopenharmony_ci .name = "gcc_pcie_1_slv_axi_clk", 24818c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "system_noc_clk_src" }, 24828c2ecf20Sopenharmony_ci .num_parents = 1, 24838c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 24848c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 24858c2ecf20Sopenharmony_ci }, 24868c2ecf20Sopenharmony_ci }, 24878c2ecf20Sopenharmony_ci}; 24888c2ecf20Sopenharmony_ci 24898c2ecf20Sopenharmony_cistatic struct clk_branch gcc_pcie_1_mstr_axi_clk = { 24908c2ecf20Sopenharmony_ci .halt_reg = 0x6d00c, 24918c2ecf20Sopenharmony_ci .clkr = { 24928c2ecf20Sopenharmony_ci .enable_reg = 0x6d00c, 24938c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 24948c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 24958c2ecf20Sopenharmony_ci .name = "gcc_pcie_1_mstr_axi_clk", 24968c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "system_noc_clk_src" }, 24978c2ecf20Sopenharmony_ci .num_parents = 1, 24988c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 24998c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 25008c2ecf20Sopenharmony_ci }, 25018c2ecf20Sopenharmony_ci }, 25028c2ecf20Sopenharmony_ci}; 25038c2ecf20Sopenharmony_ci 25048c2ecf20Sopenharmony_cistatic struct clk_branch gcc_pcie_1_cfg_ahb_clk = { 25058c2ecf20Sopenharmony_ci .halt_reg = 0x6d010, 25068c2ecf20Sopenharmony_ci .clkr = { 25078c2ecf20Sopenharmony_ci .enable_reg = 0x6d010, 25088c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 25098c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 25108c2ecf20Sopenharmony_ci .name = "gcc_pcie_1_cfg_ahb_clk", 25118c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "config_noc_clk_src" }, 25128c2ecf20Sopenharmony_ci .num_parents = 1, 25138c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 25148c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 25158c2ecf20Sopenharmony_ci }, 25168c2ecf20Sopenharmony_ci }, 25178c2ecf20Sopenharmony_ci}; 25188c2ecf20Sopenharmony_ci 25198c2ecf20Sopenharmony_cistatic struct clk_branch gcc_pcie_1_aux_clk = { 25208c2ecf20Sopenharmony_ci .halt_reg = 0x6d014, 25218c2ecf20Sopenharmony_ci .clkr = { 25228c2ecf20Sopenharmony_ci .enable_reg = 0x6d014, 25238c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 25248c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 25258c2ecf20Sopenharmony_ci .name = "gcc_pcie_1_aux_clk", 25268c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "pcie_aux_clk_src" }, 25278c2ecf20Sopenharmony_ci .num_parents = 1, 25288c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 25298c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 25308c2ecf20Sopenharmony_ci }, 25318c2ecf20Sopenharmony_ci }, 25328c2ecf20Sopenharmony_ci}; 25338c2ecf20Sopenharmony_ci 25348c2ecf20Sopenharmony_cistatic struct clk_branch gcc_pcie_1_pipe_clk = { 25358c2ecf20Sopenharmony_ci .halt_reg = 0x6d018, 25368c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_SKIP, 25378c2ecf20Sopenharmony_ci .clkr = { 25388c2ecf20Sopenharmony_ci .enable_reg = 0x6d018, 25398c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 25408c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 25418c2ecf20Sopenharmony_ci .name = "gcc_pcie_1_pipe_clk", 25428c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "pcie_1_pipe_clk_src" }, 25438c2ecf20Sopenharmony_ci .num_parents = 1, 25448c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 25458c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 25468c2ecf20Sopenharmony_ci }, 25478c2ecf20Sopenharmony_ci }, 25488c2ecf20Sopenharmony_ci}; 25498c2ecf20Sopenharmony_ci 25508c2ecf20Sopenharmony_cistatic struct clk_branch gcc_pcie_2_slv_axi_clk = { 25518c2ecf20Sopenharmony_ci .halt_reg = 0x6e008, 25528c2ecf20Sopenharmony_ci .clkr = { 25538c2ecf20Sopenharmony_ci .enable_reg = 0x6e008, 25548c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 25558c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 25568c2ecf20Sopenharmony_ci .name = "gcc_pcie_2_slv_axi_clk", 25578c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "system_noc_clk_src" }, 25588c2ecf20Sopenharmony_ci .num_parents = 1, 25598c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 25608c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 25618c2ecf20Sopenharmony_ci }, 25628c2ecf20Sopenharmony_ci }, 25638c2ecf20Sopenharmony_ci}; 25648c2ecf20Sopenharmony_ci 25658c2ecf20Sopenharmony_cistatic struct clk_branch gcc_pcie_2_mstr_axi_clk = { 25668c2ecf20Sopenharmony_ci .halt_reg = 0x6e00c, 25678c2ecf20Sopenharmony_ci .clkr = { 25688c2ecf20Sopenharmony_ci .enable_reg = 0x6e00c, 25698c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 25708c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 25718c2ecf20Sopenharmony_ci .name = "gcc_pcie_2_mstr_axi_clk", 25728c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "system_noc_clk_src" }, 25738c2ecf20Sopenharmony_ci .num_parents = 1, 25748c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 25758c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 25768c2ecf20Sopenharmony_ci }, 25778c2ecf20Sopenharmony_ci }, 25788c2ecf20Sopenharmony_ci}; 25798c2ecf20Sopenharmony_ci 25808c2ecf20Sopenharmony_cistatic struct clk_branch gcc_pcie_2_cfg_ahb_clk = { 25818c2ecf20Sopenharmony_ci .halt_reg = 0x6e010, 25828c2ecf20Sopenharmony_ci .clkr = { 25838c2ecf20Sopenharmony_ci .enable_reg = 0x6e010, 25848c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 25858c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 25868c2ecf20Sopenharmony_ci .name = "gcc_pcie_2_cfg_ahb_clk", 25878c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "config_noc_clk_src" }, 25888c2ecf20Sopenharmony_ci .num_parents = 1, 25898c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 25908c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 25918c2ecf20Sopenharmony_ci }, 25928c2ecf20Sopenharmony_ci }, 25938c2ecf20Sopenharmony_ci}; 25948c2ecf20Sopenharmony_ci 25958c2ecf20Sopenharmony_cistatic struct clk_branch gcc_pcie_2_aux_clk = { 25968c2ecf20Sopenharmony_ci .halt_reg = 0x6e014, 25978c2ecf20Sopenharmony_ci .clkr = { 25988c2ecf20Sopenharmony_ci .enable_reg = 0x6e014, 25998c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 26008c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 26018c2ecf20Sopenharmony_ci .name = "gcc_pcie_2_aux_clk", 26028c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "pcie_aux_clk_src" }, 26038c2ecf20Sopenharmony_ci .num_parents = 1, 26048c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 26058c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 26068c2ecf20Sopenharmony_ci }, 26078c2ecf20Sopenharmony_ci }, 26088c2ecf20Sopenharmony_ci}; 26098c2ecf20Sopenharmony_ci 26108c2ecf20Sopenharmony_cistatic struct clk_branch gcc_pcie_2_pipe_clk = { 26118c2ecf20Sopenharmony_ci .halt_reg = 0x6e018, 26128c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_SKIP, 26138c2ecf20Sopenharmony_ci .clkr = { 26148c2ecf20Sopenharmony_ci .enable_reg = 0x6e018, 26158c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 26168c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 26178c2ecf20Sopenharmony_ci .name = "gcc_pcie_2_pipe_clk", 26188c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "pcie_2_pipe_clk_src" }, 26198c2ecf20Sopenharmony_ci .num_parents = 1, 26208c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 26218c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 26228c2ecf20Sopenharmony_ci }, 26238c2ecf20Sopenharmony_ci }, 26248c2ecf20Sopenharmony_ci}; 26258c2ecf20Sopenharmony_ci 26268c2ecf20Sopenharmony_cistatic struct clk_branch gcc_pcie_phy_cfg_ahb_clk = { 26278c2ecf20Sopenharmony_ci .halt_reg = 0x6f004, 26288c2ecf20Sopenharmony_ci .clkr = { 26298c2ecf20Sopenharmony_ci .enable_reg = 0x6f004, 26308c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 26318c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 26328c2ecf20Sopenharmony_ci .name = "gcc_pcie_phy_cfg_ahb_clk", 26338c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "config_noc_clk_src" }, 26348c2ecf20Sopenharmony_ci .num_parents = 1, 26358c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 26368c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 26378c2ecf20Sopenharmony_ci }, 26388c2ecf20Sopenharmony_ci }, 26398c2ecf20Sopenharmony_ci}; 26408c2ecf20Sopenharmony_ci 26418c2ecf20Sopenharmony_cistatic struct clk_branch gcc_pcie_phy_aux_clk = { 26428c2ecf20Sopenharmony_ci .halt_reg = 0x6f008, 26438c2ecf20Sopenharmony_ci .clkr = { 26448c2ecf20Sopenharmony_ci .enable_reg = 0x6f008, 26458c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 26468c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 26478c2ecf20Sopenharmony_ci .name = "gcc_pcie_phy_aux_clk", 26488c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "pcie_aux_clk_src" }, 26498c2ecf20Sopenharmony_ci .num_parents = 1, 26508c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 26518c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 26528c2ecf20Sopenharmony_ci }, 26538c2ecf20Sopenharmony_ci }, 26548c2ecf20Sopenharmony_ci}; 26558c2ecf20Sopenharmony_ci 26568c2ecf20Sopenharmony_cistatic struct clk_branch gcc_ufs_axi_clk = { 26578c2ecf20Sopenharmony_ci .halt_reg = 0x75008, 26588c2ecf20Sopenharmony_ci .clkr = { 26598c2ecf20Sopenharmony_ci .enable_reg = 0x75008, 26608c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 26618c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 26628c2ecf20Sopenharmony_ci .name = "gcc_ufs_axi_clk", 26638c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "ufs_axi_clk_src" }, 26648c2ecf20Sopenharmony_ci .num_parents = 1, 26658c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 26668c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 26678c2ecf20Sopenharmony_ci }, 26688c2ecf20Sopenharmony_ci }, 26698c2ecf20Sopenharmony_ci}; 26708c2ecf20Sopenharmony_ci 26718c2ecf20Sopenharmony_cistatic struct clk_branch gcc_ufs_ahb_clk = { 26728c2ecf20Sopenharmony_ci .halt_reg = 0x7500c, 26738c2ecf20Sopenharmony_ci .clkr = { 26748c2ecf20Sopenharmony_ci .enable_reg = 0x7500c, 26758c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 26768c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 26778c2ecf20Sopenharmony_ci .name = "gcc_ufs_ahb_clk", 26788c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "config_noc_clk_src" }, 26798c2ecf20Sopenharmony_ci .num_parents = 1, 26808c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 26818c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 26828c2ecf20Sopenharmony_ci }, 26838c2ecf20Sopenharmony_ci }, 26848c2ecf20Sopenharmony_ci}; 26858c2ecf20Sopenharmony_ci 26868c2ecf20Sopenharmony_cistatic struct clk_fixed_factor ufs_tx_cfg_clk_src = { 26878c2ecf20Sopenharmony_ci .mult = 1, 26888c2ecf20Sopenharmony_ci .div = 16, 26898c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 26908c2ecf20Sopenharmony_ci .name = "ufs_tx_cfg_clk_src", 26918c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "ufs_axi_clk_src" }, 26928c2ecf20Sopenharmony_ci .num_parents = 1, 26938c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 26948c2ecf20Sopenharmony_ci .ops = &clk_fixed_factor_ops, 26958c2ecf20Sopenharmony_ci }, 26968c2ecf20Sopenharmony_ci}; 26978c2ecf20Sopenharmony_ci 26988c2ecf20Sopenharmony_cistatic struct clk_branch gcc_ufs_tx_cfg_clk = { 26998c2ecf20Sopenharmony_ci .halt_reg = 0x75010, 27008c2ecf20Sopenharmony_ci .clkr = { 27018c2ecf20Sopenharmony_ci .enable_reg = 0x75010, 27028c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 27038c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 27048c2ecf20Sopenharmony_ci .name = "gcc_ufs_tx_cfg_clk", 27058c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "ufs_tx_cfg_clk_src" }, 27068c2ecf20Sopenharmony_ci .num_parents = 1, 27078c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 27088c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 27098c2ecf20Sopenharmony_ci }, 27108c2ecf20Sopenharmony_ci }, 27118c2ecf20Sopenharmony_ci}; 27128c2ecf20Sopenharmony_ci 27138c2ecf20Sopenharmony_cistatic struct clk_fixed_factor ufs_rx_cfg_clk_src = { 27148c2ecf20Sopenharmony_ci .mult = 1, 27158c2ecf20Sopenharmony_ci .div = 16, 27168c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 27178c2ecf20Sopenharmony_ci .name = "ufs_rx_cfg_clk_src", 27188c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "ufs_axi_clk_src" }, 27198c2ecf20Sopenharmony_ci .num_parents = 1, 27208c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 27218c2ecf20Sopenharmony_ci .ops = &clk_fixed_factor_ops, 27228c2ecf20Sopenharmony_ci }, 27238c2ecf20Sopenharmony_ci}; 27248c2ecf20Sopenharmony_ci 27258c2ecf20Sopenharmony_cistatic struct clk_branch gcc_hlos1_vote_lpass_core_smmu_clk = { 27268c2ecf20Sopenharmony_ci .halt_reg = 0x7d010, 27278c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_VOTED, 27288c2ecf20Sopenharmony_ci .clkr = { 27298c2ecf20Sopenharmony_ci .enable_reg = 0x7d010, 27308c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 27318c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 27328c2ecf20Sopenharmony_ci .name = "hlos1_vote_lpass_core_smmu_clk", 27338c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 27348c2ecf20Sopenharmony_ci }, 27358c2ecf20Sopenharmony_ci }, 27368c2ecf20Sopenharmony_ci}; 27378c2ecf20Sopenharmony_ci 27388c2ecf20Sopenharmony_cistatic struct clk_branch gcc_hlos1_vote_lpass_adsp_smmu_clk = { 27398c2ecf20Sopenharmony_ci .halt_reg = 0x7d014, 27408c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_VOTED, 27418c2ecf20Sopenharmony_ci .clkr = { 27428c2ecf20Sopenharmony_ci .enable_reg = 0x7d014, 27438c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 27448c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 27458c2ecf20Sopenharmony_ci .name = "hlos1_vote_lpass_adsp_smmu_clk", 27468c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 27478c2ecf20Sopenharmony_ci }, 27488c2ecf20Sopenharmony_ci }, 27498c2ecf20Sopenharmony_ci}; 27508c2ecf20Sopenharmony_ci 27518c2ecf20Sopenharmony_cistatic struct clk_branch gcc_ufs_rx_cfg_clk = { 27528c2ecf20Sopenharmony_ci .halt_reg = 0x75014, 27538c2ecf20Sopenharmony_ci .clkr = { 27548c2ecf20Sopenharmony_ci .enable_reg = 0x75014, 27558c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 27568c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 27578c2ecf20Sopenharmony_ci .name = "gcc_ufs_rx_cfg_clk", 27588c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "ufs_rx_cfg_clk_src" }, 27598c2ecf20Sopenharmony_ci .num_parents = 1, 27608c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 27618c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 27628c2ecf20Sopenharmony_ci }, 27638c2ecf20Sopenharmony_ci }, 27648c2ecf20Sopenharmony_ci}; 27658c2ecf20Sopenharmony_ci 27668c2ecf20Sopenharmony_cistatic struct clk_branch gcc_ufs_tx_symbol_0_clk = { 27678c2ecf20Sopenharmony_ci .halt_reg = 0x75018, 27688c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_SKIP, 27698c2ecf20Sopenharmony_ci .clkr = { 27708c2ecf20Sopenharmony_ci .enable_reg = 0x75018, 27718c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 27728c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 27738c2ecf20Sopenharmony_ci .name = "gcc_ufs_tx_symbol_0_clk", 27748c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "ufs_tx_symbol_0_clk_src" }, 27758c2ecf20Sopenharmony_ci .num_parents = 1, 27768c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 27778c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 27788c2ecf20Sopenharmony_ci }, 27798c2ecf20Sopenharmony_ci }, 27808c2ecf20Sopenharmony_ci}; 27818c2ecf20Sopenharmony_ci 27828c2ecf20Sopenharmony_cistatic struct clk_branch gcc_ufs_rx_symbol_0_clk = { 27838c2ecf20Sopenharmony_ci .halt_reg = 0x7501c, 27848c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_SKIP, 27858c2ecf20Sopenharmony_ci .clkr = { 27868c2ecf20Sopenharmony_ci .enable_reg = 0x7501c, 27878c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 27888c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 27898c2ecf20Sopenharmony_ci .name = "gcc_ufs_rx_symbol_0_clk", 27908c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "ufs_rx_symbol_0_clk_src" }, 27918c2ecf20Sopenharmony_ci .num_parents = 1, 27928c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 27938c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 27948c2ecf20Sopenharmony_ci }, 27958c2ecf20Sopenharmony_ci }, 27968c2ecf20Sopenharmony_ci}; 27978c2ecf20Sopenharmony_ci 27988c2ecf20Sopenharmony_cistatic struct clk_branch gcc_ufs_rx_symbol_1_clk = { 27998c2ecf20Sopenharmony_ci .halt_reg = 0x75020, 28008c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_SKIP, 28018c2ecf20Sopenharmony_ci .clkr = { 28028c2ecf20Sopenharmony_ci .enable_reg = 0x75020, 28038c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 28048c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 28058c2ecf20Sopenharmony_ci .name = "gcc_ufs_rx_symbol_1_clk", 28068c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "ufs_rx_symbol_1_clk_src" }, 28078c2ecf20Sopenharmony_ci .num_parents = 1, 28088c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 28098c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 28108c2ecf20Sopenharmony_ci }, 28118c2ecf20Sopenharmony_ci }, 28128c2ecf20Sopenharmony_ci}; 28138c2ecf20Sopenharmony_ci 28148c2ecf20Sopenharmony_cistatic struct clk_fixed_factor ufs_ice_core_postdiv_clk_src = { 28158c2ecf20Sopenharmony_ci .mult = 1, 28168c2ecf20Sopenharmony_ci .div = 2, 28178c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 28188c2ecf20Sopenharmony_ci .name = "ufs_ice_core_postdiv_clk_src", 28198c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "ufs_ice_core_clk_src" }, 28208c2ecf20Sopenharmony_ci .num_parents = 1, 28218c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 28228c2ecf20Sopenharmony_ci .ops = &clk_fixed_factor_ops, 28238c2ecf20Sopenharmony_ci }, 28248c2ecf20Sopenharmony_ci}; 28258c2ecf20Sopenharmony_ci 28268c2ecf20Sopenharmony_cistatic struct clk_branch gcc_ufs_unipro_core_clk = { 28278c2ecf20Sopenharmony_ci .halt_reg = 0x7600c, 28288c2ecf20Sopenharmony_ci .clkr = { 28298c2ecf20Sopenharmony_ci .enable_reg = 0x7600c, 28308c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 28318c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 28328c2ecf20Sopenharmony_ci .name = "gcc_ufs_unipro_core_clk", 28338c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "ufs_ice_core_postdiv_clk_src" }, 28348c2ecf20Sopenharmony_ci .num_parents = 1, 28358c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 28368c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 28378c2ecf20Sopenharmony_ci }, 28388c2ecf20Sopenharmony_ci }, 28398c2ecf20Sopenharmony_ci}; 28408c2ecf20Sopenharmony_ci 28418c2ecf20Sopenharmony_cistatic struct clk_branch gcc_ufs_ice_core_clk = { 28428c2ecf20Sopenharmony_ci .halt_reg = 0x76010, 28438c2ecf20Sopenharmony_ci .clkr = { 28448c2ecf20Sopenharmony_ci .enable_reg = 0x76010, 28458c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 28468c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 28478c2ecf20Sopenharmony_ci .name = "gcc_ufs_ice_core_clk", 28488c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "ufs_ice_core_clk_src" }, 28498c2ecf20Sopenharmony_ci .num_parents = 1, 28508c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 28518c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 28528c2ecf20Sopenharmony_ci }, 28538c2ecf20Sopenharmony_ci }, 28548c2ecf20Sopenharmony_ci}; 28558c2ecf20Sopenharmony_ci 28568c2ecf20Sopenharmony_cistatic struct clk_branch gcc_ufs_sys_clk_core_clk = { 28578c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_DELAY, 28588c2ecf20Sopenharmony_ci .clkr = { 28598c2ecf20Sopenharmony_ci .enable_reg = 0x76030, 28608c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 28618c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 28628c2ecf20Sopenharmony_ci .name = "gcc_ufs_sys_clk_core_clk", 28638c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 28648c2ecf20Sopenharmony_ci }, 28658c2ecf20Sopenharmony_ci }, 28668c2ecf20Sopenharmony_ci}; 28678c2ecf20Sopenharmony_ci 28688c2ecf20Sopenharmony_cistatic struct clk_branch gcc_ufs_tx_symbol_clk_core_clk = { 28698c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_DELAY, 28708c2ecf20Sopenharmony_ci .clkr = { 28718c2ecf20Sopenharmony_ci .enable_reg = 0x76034, 28728c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 28738c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 28748c2ecf20Sopenharmony_ci .name = "gcc_ufs_tx_symbol_clk_core_clk", 28758c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 28768c2ecf20Sopenharmony_ci }, 28778c2ecf20Sopenharmony_ci }, 28788c2ecf20Sopenharmony_ci}; 28798c2ecf20Sopenharmony_ci 28808c2ecf20Sopenharmony_cistatic struct clk_branch gcc_aggre0_snoc_axi_clk = { 28818c2ecf20Sopenharmony_ci .halt_reg = 0x81008, 28828c2ecf20Sopenharmony_ci .clkr = { 28838c2ecf20Sopenharmony_ci .enable_reg = 0x81008, 28848c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 28858c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 28868c2ecf20Sopenharmony_ci .name = "gcc_aggre0_snoc_axi_clk", 28878c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "system_noc_clk_src" }, 28888c2ecf20Sopenharmony_ci .num_parents = 1, 28898c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT | CLK_IS_CRITICAL, 28908c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 28918c2ecf20Sopenharmony_ci }, 28928c2ecf20Sopenharmony_ci }, 28938c2ecf20Sopenharmony_ci}; 28948c2ecf20Sopenharmony_ci 28958c2ecf20Sopenharmony_cistatic struct clk_branch gcc_aggre0_cnoc_ahb_clk = { 28968c2ecf20Sopenharmony_ci .halt_reg = 0x8100c, 28978c2ecf20Sopenharmony_ci .clkr = { 28988c2ecf20Sopenharmony_ci .enable_reg = 0x8100c, 28998c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 29008c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 29018c2ecf20Sopenharmony_ci .name = "gcc_aggre0_cnoc_ahb_clk", 29028c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "config_noc_clk_src" }, 29038c2ecf20Sopenharmony_ci .num_parents = 1, 29048c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT | CLK_IS_CRITICAL, 29058c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 29068c2ecf20Sopenharmony_ci }, 29078c2ecf20Sopenharmony_ci }, 29088c2ecf20Sopenharmony_ci}; 29098c2ecf20Sopenharmony_ci 29108c2ecf20Sopenharmony_cistatic struct clk_branch gcc_smmu_aggre0_axi_clk = { 29118c2ecf20Sopenharmony_ci .halt_reg = 0x81014, 29128c2ecf20Sopenharmony_ci .clkr = { 29138c2ecf20Sopenharmony_ci .enable_reg = 0x81014, 29148c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 29158c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 29168c2ecf20Sopenharmony_ci .name = "gcc_smmu_aggre0_axi_clk", 29178c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "system_noc_clk_src" }, 29188c2ecf20Sopenharmony_ci .num_parents = 1, 29198c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT | CLK_IS_CRITICAL, 29208c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 29218c2ecf20Sopenharmony_ci }, 29228c2ecf20Sopenharmony_ci }, 29238c2ecf20Sopenharmony_ci}; 29248c2ecf20Sopenharmony_ci 29258c2ecf20Sopenharmony_cistatic struct clk_branch gcc_smmu_aggre0_ahb_clk = { 29268c2ecf20Sopenharmony_ci .halt_reg = 0x81018, 29278c2ecf20Sopenharmony_ci .clkr = { 29288c2ecf20Sopenharmony_ci .enable_reg = 0x81018, 29298c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 29308c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 29318c2ecf20Sopenharmony_ci .name = "gcc_smmu_aggre0_ahb_clk", 29328c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "config_noc_clk_src" }, 29338c2ecf20Sopenharmony_ci .num_parents = 1, 29348c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT | CLK_IS_CRITICAL, 29358c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 29368c2ecf20Sopenharmony_ci }, 29378c2ecf20Sopenharmony_ci }, 29388c2ecf20Sopenharmony_ci}; 29398c2ecf20Sopenharmony_ci 29408c2ecf20Sopenharmony_cistatic struct clk_branch gcc_aggre2_ufs_axi_clk = { 29418c2ecf20Sopenharmony_ci .halt_reg = 0x83014, 29428c2ecf20Sopenharmony_ci .clkr = { 29438c2ecf20Sopenharmony_ci .enable_reg = 0x83014, 29448c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 29458c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 29468c2ecf20Sopenharmony_ci .name = "gcc_aggre2_ufs_axi_clk", 29478c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "ufs_axi_clk_src" }, 29488c2ecf20Sopenharmony_ci .num_parents = 1, 29498c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 29508c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 29518c2ecf20Sopenharmony_ci }, 29528c2ecf20Sopenharmony_ci }, 29538c2ecf20Sopenharmony_ci}; 29548c2ecf20Sopenharmony_ci 29558c2ecf20Sopenharmony_cistatic struct clk_branch gcc_aggre2_usb3_axi_clk = { 29568c2ecf20Sopenharmony_ci .halt_reg = 0x83018, 29578c2ecf20Sopenharmony_ci .clkr = { 29588c2ecf20Sopenharmony_ci .enable_reg = 0x83018, 29598c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 29608c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 29618c2ecf20Sopenharmony_ci .name = "gcc_aggre2_usb3_axi_clk", 29628c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "usb30_master_clk_src" }, 29638c2ecf20Sopenharmony_ci .num_parents = 1, 29648c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 29658c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 29668c2ecf20Sopenharmony_ci }, 29678c2ecf20Sopenharmony_ci }, 29688c2ecf20Sopenharmony_ci}; 29698c2ecf20Sopenharmony_ci 29708c2ecf20Sopenharmony_cistatic struct clk_branch gcc_dcc_ahb_clk = { 29718c2ecf20Sopenharmony_ci .halt_reg = 0x84004, 29728c2ecf20Sopenharmony_ci .clkr = { 29738c2ecf20Sopenharmony_ci .enable_reg = 0x84004, 29748c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 29758c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 29768c2ecf20Sopenharmony_ci .name = "gcc_dcc_ahb_clk", 29778c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "config_noc_clk_src" }, 29788c2ecf20Sopenharmony_ci .num_parents = 1, 29798c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 29808c2ecf20Sopenharmony_ci }, 29818c2ecf20Sopenharmony_ci }, 29828c2ecf20Sopenharmony_ci}; 29838c2ecf20Sopenharmony_ci 29848c2ecf20Sopenharmony_cistatic struct clk_branch gcc_aggre0_noc_mpu_cfg_ahb_clk = { 29858c2ecf20Sopenharmony_ci .halt_reg = 0x85000, 29868c2ecf20Sopenharmony_ci .clkr = { 29878c2ecf20Sopenharmony_ci .enable_reg = 0x85000, 29888c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 29898c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 29908c2ecf20Sopenharmony_ci .name = "gcc_aggre0_noc_mpu_cfg_ahb_clk", 29918c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "config_noc_clk_src" }, 29928c2ecf20Sopenharmony_ci .num_parents = 1, 29938c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 29948c2ecf20Sopenharmony_ci }, 29958c2ecf20Sopenharmony_ci }, 29968c2ecf20Sopenharmony_ci}; 29978c2ecf20Sopenharmony_ci 29988c2ecf20Sopenharmony_cistatic struct clk_branch gcc_qspi_ahb_clk = { 29998c2ecf20Sopenharmony_ci .halt_reg = 0x8b004, 30008c2ecf20Sopenharmony_ci .clkr = { 30018c2ecf20Sopenharmony_ci .enable_reg = 0x8b004, 30028c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 30038c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 30048c2ecf20Sopenharmony_ci .name = "gcc_qspi_ahb_clk", 30058c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "periph_noc_clk_src" }, 30068c2ecf20Sopenharmony_ci .num_parents = 1, 30078c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 30088c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 30098c2ecf20Sopenharmony_ci }, 30108c2ecf20Sopenharmony_ci }, 30118c2ecf20Sopenharmony_ci}; 30128c2ecf20Sopenharmony_ci 30138c2ecf20Sopenharmony_cistatic struct clk_branch gcc_qspi_ser_clk = { 30148c2ecf20Sopenharmony_ci .halt_reg = 0x8b008, 30158c2ecf20Sopenharmony_ci .clkr = { 30168c2ecf20Sopenharmony_ci .enable_reg = 0x8b008, 30178c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 30188c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 30198c2ecf20Sopenharmony_ci .name = "gcc_qspi_ser_clk", 30208c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "qspi_ser_clk_src" }, 30218c2ecf20Sopenharmony_ci .num_parents = 1, 30228c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 30238c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 30248c2ecf20Sopenharmony_ci }, 30258c2ecf20Sopenharmony_ci }, 30268c2ecf20Sopenharmony_ci}; 30278c2ecf20Sopenharmony_ci 30288c2ecf20Sopenharmony_cistatic struct clk_branch gcc_usb3_clkref_clk = { 30298c2ecf20Sopenharmony_ci .halt_reg = 0x8800C, 30308c2ecf20Sopenharmony_ci .clkr = { 30318c2ecf20Sopenharmony_ci .enable_reg = 0x8800C, 30328c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 30338c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 30348c2ecf20Sopenharmony_ci .name = "gcc_usb3_clkref_clk", 30358c2ecf20Sopenharmony_ci .parent_data = &(const struct clk_parent_data){ 30368c2ecf20Sopenharmony_ci .fw_name = "cxo2", 30378c2ecf20Sopenharmony_ci .name = "xo", 30388c2ecf20Sopenharmony_ci }, 30398c2ecf20Sopenharmony_ci .num_parents = 1, 30408c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 30418c2ecf20Sopenharmony_ci }, 30428c2ecf20Sopenharmony_ci }, 30438c2ecf20Sopenharmony_ci}; 30448c2ecf20Sopenharmony_ci 30458c2ecf20Sopenharmony_cistatic struct clk_branch gcc_hdmi_clkref_clk = { 30468c2ecf20Sopenharmony_ci .halt_reg = 0x88000, 30478c2ecf20Sopenharmony_ci .clkr = { 30488c2ecf20Sopenharmony_ci .enable_reg = 0x88000, 30498c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 30508c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 30518c2ecf20Sopenharmony_ci .name = "gcc_hdmi_clkref_clk", 30528c2ecf20Sopenharmony_ci .parent_data = &(const struct clk_parent_data){ 30538c2ecf20Sopenharmony_ci .fw_name = "cxo2", 30548c2ecf20Sopenharmony_ci .name = "xo", 30558c2ecf20Sopenharmony_ci }, 30568c2ecf20Sopenharmony_ci .num_parents = 1, 30578c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 30588c2ecf20Sopenharmony_ci }, 30598c2ecf20Sopenharmony_ci }, 30608c2ecf20Sopenharmony_ci}; 30618c2ecf20Sopenharmony_ci 30628c2ecf20Sopenharmony_cistatic struct clk_branch gcc_edp_clkref_clk = { 30638c2ecf20Sopenharmony_ci .halt_reg = 0x88004, 30648c2ecf20Sopenharmony_ci .clkr = { 30658c2ecf20Sopenharmony_ci .enable_reg = 0x88004, 30668c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 30678c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 30688c2ecf20Sopenharmony_ci .name = "gcc_edp_clkref_clk", 30698c2ecf20Sopenharmony_ci .parent_data = &(const struct clk_parent_data){ 30708c2ecf20Sopenharmony_ci .fw_name = "cxo2", 30718c2ecf20Sopenharmony_ci .name = "xo", 30728c2ecf20Sopenharmony_ci }, 30738c2ecf20Sopenharmony_ci .num_parents = 1, 30748c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 30758c2ecf20Sopenharmony_ci }, 30768c2ecf20Sopenharmony_ci }, 30778c2ecf20Sopenharmony_ci}; 30788c2ecf20Sopenharmony_ci 30798c2ecf20Sopenharmony_cistatic struct clk_branch gcc_ufs_clkref_clk = { 30808c2ecf20Sopenharmony_ci .halt_reg = 0x88008, 30818c2ecf20Sopenharmony_ci .clkr = { 30828c2ecf20Sopenharmony_ci .enable_reg = 0x88008, 30838c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 30848c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 30858c2ecf20Sopenharmony_ci .name = "gcc_ufs_clkref_clk", 30868c2ecf20Sopenharmony_ci .parent_data = &(const struct clk_parent_data){ 30878c2ecf20Sopenharmony_ci .fw_name = "cxo2", 30888c2ecf20Sopenharmony_ci .name = "xo", 30898c2ecf20Sopenharmony_ci }, 30908c2ecf20Sopenharmony_ci .num_parents = 1, 30918c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 30928c2ecf20Sopenharmony_ci }, 30938c2ecf20Sopenharmony_ci }, 30948c2ecf20Sopenharmony_ci}; 30958c2ecf20Sopenharmony_ci 30968c2ecf20Sopenharmony_cistatic struct clk_branch gcc_pcie_clkref_clk = { 30978c2ecf20Sopenharmony_ci .halt_reg = 0x88010, 30988c2ecf20Sopenharmony_ci .clkr = { 30998c2ecf20Sopenharmony_ci .enable_reg = 0x88010, 31008c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 31018c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 31028c2ecf20Sopenharmony_ci .name = "gcc_pcie_clkref_clk", 31038c2ecf20Sopenharmony_ci .parent_data = &(const struct clk_parent_data){ 31048c2ecf20Sopenharmony_ci .fw_name = "cxo2", 31058c2ecf20Sopenharmony_ci .name = "xo", 31068c2ecf20Sopenharmony_ci }, 31078c2ecf20Sopenharmony_ci .num_parents = 1, 31088c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 31098c2ecf20Sopenharmony_ci }, 31108c2ecf20Sopenharmony_ci }, 31118c2ecf20Sopenharmony_ci}; 31128c2ecf20Sopenharmony_ci 31138c2ecf20Sopenharmony_cistatic struct clk_branch gcc_rx2_usb2_clkref_clk = { 31148c2ecf20Sopenharmony_ci .halt_reg = 0x88014, 31158c2ecf20Sopenharmony_ci .clkr = { 31168c2ecf20Sopenharmony_ci .enable_reg = 0x88014, 31178c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 31188c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 31198c2ecf20Sopenharmony_ci .name = "gcc_rx2_usb2_clkref_clk", 31208c2ecf20Sopenharmony_ci .parent_data = &(const struct clk_parent_data){ 31218c2ecf20Sopenharmony_ci .fw_name = "cxo2", 31228c2ecf20Sopenharmony_ci .name = "xo", 31238c2ecf20Sopenharmony_ci }, 31248c2ecf20Sopenharmony_ci .num_parents = 1, 31258c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 31268c2ecf20Sopenharmony_ci }, 31278c2ecf20Sopenharmony_ci }, 31288c2ecf20Sopenharmony_ci}; 31298c2ecf20Sopenharmony_ci 31308c2ecf20Sopenharmony_cistatic struct clk_branch gcc_rx1_usb2_clkref_clk = { 31318c2ecf20Sopenharmony_ci .halt_reg = 0x88018, 31328c2ecf20Sopenharmony_ci .clkr = { 31338c2ecf20Sopenharmony_ci .enable_reg = 0x88018, 31348c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 31358c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 31368c2ecf20Sopenharmony_ci .name = "gcc_rx1_usb2_clkref_clk", 31378c2ecf20Sopenharmony_ci .parent_data = &(const struct clk_parent_data){ 31388c2ecf20Sopenharmony_ci .fw_name = "cxo2", 31398c2ecf20Sopenharmony_ci .name = "xo", 31408c2ecf20Sopenharmony_ci }, 31418c2ecf20Sopenharmony_ci .num_parents = 1, 31428c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 31438c2ecf20Sopenharmony_ci }, 31448c2ecf20Sopenharmony_ci }, 31458c2ecf20Sopenharmony_ci}; 31468c2ecf20Sopenharmony_ci 31478c2ecf20Sopenharmony_cistatic struct clk_branch gcc_mss_cfg_ahb_clk = { 31488c2ecf20Sopenharmony_ci .halt_reg = 0x8a000, 31498c2ecf20Sopenharmony_ci .clkr = { 31508c2ecf20Sopenharmony_ci .enable_reg = 0x8a000, 31518c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 31528c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 31538c2ecf20Sopenharmony_ci .name = "gcc_mss_cfg_ahb_clk", 31548c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "config_noc_clk_src" }, 31558c2ecf20Sopenharmony_ci .num_parents = 1, 31568c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 31578c2ecf20Sopenharmony_ci }, 31588c2ecf20Sopenharmony_ci }, 31598c2ecf20Sopenharmony_ci}; 31608c2ecf20Sopenharmony_ci 31618c2ecf20Sopenharmony_cistatic struct clk_branch gcc_mss_mnoc_bimc_axi_clk = { 31628c2ecf20Sopenharmony_ci .halt_reg = 0x8a004, 31638c2ecf20Sopenharmony_ci .clkr = { 31648c2ecf20Sopenharmony_ci .enable_reg = 0x8a004, 31658c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 31668c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 31678c2ecf20Sopenharmony_ci .name = "gcc_mss_mnoc_bimc_axi_clk", 31688c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "system_noc_clk_src" }, 31698c2ecf20Sopenharmony_ci .num_parents = 1, 31708c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 31718c2ecf20Sopenharmony_ci }, 31728c2ecf20Sopenharmony_ci }, 31738c2ecf20Sopenharmony_ci}; 31748c2ecf20Sopenharmony_ci 31758c2ecf20Sopenharmony_cistatic struct clk_branch gcc_mss_snoc_axi_clk = { 31768c2ecf20Sopenharmony_ci .halt_reg = 0x8a024, 31778c2ecf20Sopenharmony_ci .clkr = { 31788c2ecf20Sopenharmony_ci .enable_reg = 0x8a024, 31798c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 31808c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 31818c2ecf20Sopenharmony_ci .name = "gcc_mss_snoc_axi_clk", 31828c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "system_noc_clk_src" }, 31838c2ecf20Sopenharmony_ci .num_parents = 1, 31848c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 31858c2ecf20Sopenharmony_ci }, 31868c2ecf20Sopenharmony_ci }, 31878c2ecf20Sopenharmony_ci}; 31888c2ecf20Sopenharmony_ci 31898c2ecf20Sopenharmony_cistatic struct clk_branch gcc_mss_q6_bimc_axi_clk = { 31908c2ecf20Sopenharmony_ci .halt_reg = 0x8a028, 31918c2ecf20Sopenharmony_ci .clkr = { 31928c2ecf20Sopenharmony_ci .enable_reg = 0x8a028, 31938c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 31948c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 31958c2ecf20Sopenharmony_ci .name = "gcc_mss_q6_bimc_axi_clk", 31968c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "system_noc_clk_src" }, 31978c2ecf20Sopenharmony_ci .num_parents = 1, 31988c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 31998c2ecf20Sopenharmony_ci }, 32008c2ecf20Sopenharmony_ci }, 32018c2ecf20Sopenharmony_ci}; 32028c2ecf20Sopenharmony_ci 32038c2ecf20Sopenharmony_cistatic struct clk_hw *gcc_msm8996_hws[] = { 32048c2ecf20Sopenharmony_ci &xo.hw, 32058c2ecf20Sopenharmony_ci &gpll0_early_div.hw, 32068c2ecf20Sopenharmony_ci &ufs_tx_cfg_clk_src.hw, 32078c2ecf20Sopenharmony_ci &ufs_rx_cfg_clk_src.hw, 32088c2ecf20Sopenharmony_ci &ufs_ice_core_postdiv_clk_src.hw, 32098c2ecf20Sopenharmony_ci}; 32108c2ecf20Sopenharmony_ci 32118c2ecf20Sopenharmony_cistatic struct gdsc aggre0_noc_gdsc = { 32128c2ecf20Sopenharmony_ci .gdscr = 0x81004, 32138c2ecf20Sopenharmony_ci .gds_hw_ctrl = 0x81028, 32148c2ecf20Sopenharmony_ci .pd = { 32158c2ecf20Sopenharmony_ci .name = "aggre0_noc", 32168c2ecf20Sopenharmony_ci }, 32178c2ecf20Sopenharmony_ci .pwrsts = PWRSTS_OFF_ON, 32188c2ecf20Sopenharmony_ci .flags = VOTABLE | ALWAYS_ON, 32198c2ecf20Sopenharmony_ci}; 32208c2ecf20Sopenharmony_ci 32218c2ecf20Sopenharmony_cistatic struct gdsc hlos1_vote_aggre0_noc_gdsc = { 32228c2ecf20Sopenharmony_ci .gdscr = 0x7d024, 32238c2ecf20Sopenharmony_ci .pd = { 32248c2ecf20Sopenharmony_ci .name = "hlos1_vote_aggre0_noc", 32258c2ecf20Sopenharmony_ci }, 32268c2ecf20Sopenharmony_ci .pwrsts = PWRSTS_OFF_ON, 32278c2ecf20Sopenharmony_ci .flags = VOTABLE, 32288c2ecf20Sopenharmony_ci}; 32298c2ecf20Sopenharmony_ci 32308c2ecf20Sopenharmony_cistatic struct gdsc hlos1_vote_lpass_adsp_gdsc = { 32318c2ecf20Sopenharmony_ci .gdscr = 0x7d034, 32328c2ecf20Sopenharmony_ci .pd = { 32338c2ecf20Sopenharmony_ci .name = "hlos1_vote_lpass_adsp", 32348c2ecf20Sopenharmony_ci }, 32358c2ecf20Sopenharmony_ci .pwrsts = PWRSTS_OFF_ON, 32368c2ecf20Sopenharmony_ci .flags = VOTABLE, 32378c2ecf20Sopenharmony_ci}; 32388c2ecf20Sopenharmony_ci 32398c2ecf20Sopenharmony_cistatic struct gdsc hlos1_vote_lpass_core_gdsc = { 32408c2ecf20Sopenharmony_ci .gdscr = 0x7d038, 32418c2ecf20Sopenharmony_ci .pd = { 32428c2ecf20Sopenharmony_ci .name = "hlos1_vote_lpass_core", 32438c2ecf20Sopenharmony_ci }, 32448c2ecf20Sopenharmony_ci .pwrsts = PWRSTS_OFF_ON, 32458c2ecf20Sopenharmony_ci .flags = VOTABLE, 32468c2ecf20Sopenharmony_ci}; 32478c2ecf20Sopenharmony_ci 32488c2ecf20Sopenharmony_cistatic struct gdsc usb30_gdsc = { 32498c2ecf20Sopenharmony_ci .gdscr = 0xf004, 32508c2ecf20Sopenharmony_ci .pd = { 32518c2ecf20Sopenharmony_ci .name = "usb30", 32528c2ecf20Sopenharmony_ci }, 32538c2ecf20Sopenharmony_ci .pwrsts = PWRSTS_OFF_ON, 32548c2ecf20Sopenharmony_ci}; 32558c2ecf20Sopenharmony_ci 32568c2ecf20Sopenharmony_cistatic struct gdsc pcie0_gdsc = { 32578c2ecf20Sopenharmony_ci .gdscr = 0x6b004, 32588c2ecf20Sopenharmony_ci .pd = { 32598c2ecf20Sopenharmony_ci .name = "pcie0", 32608c2ecf20Sopenharmony_ci }, 32618c2ecf20Sopenharmony_ci .pwrsts = PWRSTS_OFF_ON, 32628c2ecf20Sopenharmony_ci}; 32638c2ecf20Sopenharmony_ci 32648c2ecf20Sopenharmony_cistatic struct gdsc pcie1_gdsc = { 32658c2ecf20Sopenharmony_ci .gdscr = 0x6d004, 32668c2ecf20Sopenharmony_ci .pd = { 32678c2ecf20Sopenharmony_ci .name = "pcie1", 32688c2ecf20Sopenharmony_ci }, 32698c2ecf20Sopenharmony_ci .pwrsts = PWRSTS_OFF_ON, 32708c2ecf20Sopenharmony_ci}; 32718c2ecf20Sopenharmony_ci 32728c2ecf20Sopenharmony_cistatic struct gdsc pcie2_gdsc = { 32738c2ecf20Sopenharmony_ci .gdscr = 0x6e004, 32748c2ecf20Sopenharmony_ci .pd = { 32758c2ecf20Sopenharmony_ci .name = "pcie2", 32768c2ecf20Sopenharmony_ci }, 32778c2ecf20Sopenharmony_ci .pwrsts = PWRSTS_OFF_ON, 32788c2ecf20Sopenharmony_ci}; 32798c2ecf20Sopenharmony_ci 32808c2ecf20Sopenharmony_cistatic struct gdsc ufs_gdsc = { 32818c2ecf20Sopenharmony_ci .gdscr = 0x75004, 32828c2ecf20Sopenharmony_ci .pd = { 32838c2ecf20Sopenharmony_ci .name = "ufs", 32848c2ecf20Sopenharmony_ci }, 32858c2ecf20Sopenharmony_ci .pwrsts = PWRSTS_OFF_ON, 32868c2ecf20Sopenharmony_ci}; 32878c2ecf20Sopenharmony_ci 32888c2ecf20Sopenharmony_cistatic struct clk_regmap *gcc_msm8996_clocks[] = { 32898c2ecf20Sopenharmony_ci [GPLL0_EARLY] = &gpll0_early.clkr, 32908c2ecf20Sopenharmony_ci [GPLL0] = &gpll0.clkr, 32918c2ecf20Sopenharmony_ci [GPLL4_EARLY] = &gpll4_early.clkr, 32928c2ecf20Sopenharmony_ci [GPLL4] = &gpll4.clkr, 32938c2ecf20Sopenharmony_ci [SYSTEM_NOC_CLK_SRC] = &system_noc_clk_src.clkr, 32948c2ecf20Sopenharmony_ci [CONFIG_NOC_CLK_SRC] = &config_noc_clk_src.clkr, 32958c2ecf20Sopenharmony_ci [PERIPH_NOC_CLK_SRC] = &periph_noc_clk_src.clkr, 32968c2ecf20Sopenharmony_ci [USB30_MASTER_CLK_SRC] = &usb30_master_clk_src.clkr, 32978c2ecf20Sopenharmony_ci [USB30_MOCK_UTMI_CLK_SRC] = &usb30_mock_utmi_clk_src.clkr, 32988c2ecf20Sopenharmony_ci [USB3_PHY_AUX_CLK_SRC] = &usb3_phy_aux_clk_src.clkr, 32998c2ecf20Sopenharmony_ci [USB20_MASTER_CLK_SRC] = &usb20_master_clk_src.clkr, 33008c2ecf20Sopenharmony_ci [USB20_MOCK_UTMI_CLK_SRC] = &usb20_mock_utmi_clk_src.clkr, 33018c2ecf20Sopenharmony_ci [SDCC1_APPS_CLK_SRC] = &sdcc1_apps_clk_src.clkr, 33028c2ecf20Sopenharmony_ci [SDCC1_ICE_CORE_CLK_SRC] = &sdcc1_ice_core_clk_src.clkr, 33038c2ecf20Sopenharmony_ci [SDCC2_APPS_CLK_SRC] = &sdcc2_apps_clk_src.clkr, 33048c2ecf20Sopenharmony_ci [SDCC3_APPS_CLK_SRC] = &sdcc3_apps_clk_src.clkr, 33058c2ecf20Sopenharmony_ci [SDCC4_APPS_CLK_SRC] = &sdcc4_apps_clk_src.clkr, 33068c2ecf20Sopenharmony_ci [BLSP1_QUP1_SPI_APPS_CLK_SRC] = &blsp1_qup1_spi_apps_clk_src.clkr, 33078c2ecf20Sopenharmony_ci [BLSP1_QUP1_I2C_APPS_CLK_SRC] = &blsp1_qup1_i2c_apps_clk_src.clkr, 33088c2ecf20Sopenharmony_ci [BLSP1_UART1_APPS_CLK_SRC] = &blsp1_uart1_apps_clk_src.clkr, 33098c2ecf20Sopenharmony_ci [BLSP1_QUP2_SPI_APPS_CLK_SRC] = &blsp1_qup2_spi_apps_clk_src.clkr, 33108c2ecf20Sopenharmony_ci [BLSP1_QUP2_I2C_APPS_CLK_SRC] = &blsp1_qup2_i2c_apps_clk_src.clkr, 33118c2ecf20Sopenharmony_ci [BLSP1_UART2_APPS_CLK_SRC] = &blsp1_uart2_apps_clk_src.clkr, 33128c2ecf20Sopenharmony_ci [BLSP1_QUP3_SPI_APPS_CLK_SRC] = &blsp1_qup3_spi_apps_clk_src.clkr, 33138c2ecf20Sopenharmony_ci [BLSP1_QUP3_I2C_APPS_CLK_SRC] = &blsp1_qup3_i2c_apps_clk_src.clkr, 33148c2ecf20Sopenharmony_ci [BLSP1_UART3_APPS_CLK_SRC] = &blsp1_uart3_apps_clk_src.clkr, 33158c2ecf20Sopenharmony_ci [BLSP1_QUP4_SPI_APPS_CLK_SRC] = &blsp1_qup4_spi_apps_clk_src.clkr, 33168c2ecf20Sopenharmony_ci [BLSP1_QUP4_I2C_APPS_CLK_SRC] = &blsp1_qup4_i2c_apps_clk_src.clkr, 33178c2ecf20Sopenharmony_ci [BLSP1_UART4_APPS_CLK_SRC] = &blsp1_uart4_apps_clk_src.clkr, 33188c2ecf20Sopenharmony_ci [BLSP1_QUP5_SPI_APPS_CLK_SRC] = &blsp1_qup5_spi_apps_clk_src.clkr, 33198c2ecf20Sopenharmony_ci [BLSP1_QUP5_I2C_APPS_CLK_SRC] = &blsp1_qup5_i2c_apps_clk_src.clkr, 33208c2ecf20Sopenharmony_ci [BLSP1_UART5_APPS_CLK_SRC] = &blsp1_uart5_apps_clk_src.clkr, 33218c2ecf20Sopenharmony_ci [BLSP1_QUP6_SPI_APPS_CLK_SRC] = &blsp1_qup6_spi_apps_clk_src.clkr, 33228c2ecf20Sopenharmony_ci [BLSP1_QUP6_I2C_APPS_CLK_SRC] = &blsp1_qup6_i2c_apps_clk_src.clkr, 33238c2ecf20Sopenharmony_ci [BLSP1_UART6_APPS_CLK_SRC] = &blsp1_uart6_apps_clk_src.clkr, 33248c2ecf20Sopenharmony_ci [BLSP2_QUP1_SPI_APPS_CLK_SRC] = &blsp2_qup1_spi_apps_clk_src.clkr, 33258c2ecf20Sopenharmony_ci [BLSP2_QUP1_I2C_APPS_CLK_SRC] = &blsp2_qup1_i2c_apps_clk_src.clkr, 33268c2ecf20Sopenharmony_ci [BLSP2_UART1_APPS_CLK_SRC] = &blsp2_uart1_apps_clk_src.clkr, 33278c2ecf20Sopenharmony_ci [BLSP2_QUP2_SPI_APPS_CLK_SRC] = &blsp2_qup2_spi_apps_clk_src.clkr, 33288c2ecf20Sopenharmony_ci [BLSP2_QUP2_I2C_APPS_CLK_SRC] = &blsp2_qup2_i2c_apps_clk_src.clkr, 33298c2ecf20Sopenharmony_ci [BLSP2_UART2_APPS_CLK_SRC] = &blsp2_uart2_apps_clk_src.clkr, 33308c2ecf20Sopenharmony_ci [BLSP2_QUP3_SPI_APPS_CLK_SRC] = &blsp2_qup3_spi_apps_clk_src.clkr, 33318c2ecf20Sopenharmony_ci [BLSP2_QUP3_I2C_APPS_CLK_SRC] = &blsp2_qup3_i2c_apps_clk_src.clkr, 33328c2ecf20Sopenharmony_ci [BLSP2_UART3_APPS_CLK_SRC] = &blsp2_uart3_apps_clk_src.clkr, 33338c2ecf20Sopenharmony_ci [BLSP2_QUP4_SPI_APPS_CLK_SRC] = &blsp2_qup4_spi_apps_clk_src.clkr, 33348c2ecf20Sopenharmony_ci [BLSP2_QUP4_I2C_APPS_CLK_SRC] = &blsp2_qup4_i2c_apps_clk_src.clkr, 33358c2ecf20Sopenharmony_ci [BLSP2_UART4_APPS_CLK_SRC] = &blsp2_uart4_apps_clk_src.clkr, 33368c2ecf20Sopenharmony_ci [BLSP2_QUP5_SPI_APPS_CLK_SRC] = &blsp2_qup5_spi_apps_clk_src.clkr, 33378c2ecf20Sopenharmony_ci [BLSP2_QUP5_I2C_APPS_CLK_SRC] = &blsp2_qup5_i2c_apps_clk_src.clkr, 33388c2ecf20Sopenharmony_ci [BLSP2_UART5_APPS_CLK_SRC] = &blsp2_uart5_apps_clk_src.clkr, 33398c2ecf20Sopenharmony_ci [BLSP2_QUP6_SPI_APPS_CLK_SRC] = &blsp2_qup6_spi_apps_clk_src.clkr, 33408c2ecf20Sopenharmony_ci [BLSP2_QUP6_I2C_APPS_CLK_SRC] = &blsp2_qup6_i2c_apps_clk_src.clkr, 33418c2ecf20Sopenharmony_ci [BLSP2_UART6_APPS_CLK_SRC] = &blsp2_uart6_apps_clk_src.clkr, 33428c2ecf20Sopenharmony_ci [PDM2_CLK_SRC] = &pdm2_clk_src.clkr, 33438c2ecf20Sopenharmony_ci [TSIF_REF_CLK_SRC] = &tsif_ref_clk_src.clkr, 33448c2ecf20Sopenharmony_ci [GCC_SLEEP_CLK_SRC] = &gcc_sleep_clk_src.clkr, 33458c2ecf20Sopenharmony_ci [HMSS_RBCPR_CLK_SRC] = &hmss_rbcpr_clk_src.clkr, 33468c2ecf20Sopenharmony_ci [HMSS_GPLL0_CLK_SRC] = &hmss_gpll0_clk_src.clkr, 33478c2ecf20Sopenharmony_ci [GP1_CLK_SRC] = &gp1_clk_src.clkr, 33488c2ecf20Sopenharmony_ci [GP2_CLK_SRC] = &gp2_clk_src.clkr, 33498c2ecf20Sopenharmony_ci [GP3_CLK_SRC] = &gp3_clk_src.clkr, 33508c2ecf20Sopenharmony_ci [PCIE_AUX_CLK_SRC] = &pcie_aux_clk_src.clkr, 33518c2ecf20Sopenharmony_ci [UFS_AXI_CLK_SRC] = &ufs_axi_clk_src.clkr, 33528c2ecf20Sopenharmony_ci [UFS_ICE_CORE_CLK_SRC] = &ufs_ice_core_clk_src.clkr, 33538c2ecf20Sopenharmony_ci [QSPI_SER_CLK_SRC] = &qspi_ser_clk_src.clkr, 33548c2ecf20Sopenharmony_ci [GCC_SYS_NOC_USB3_AXI_CLK] = &gcc_sys_noc_usb3_axi_clk.clkr, 33558c2ecf20Sopenharmony_ci [GCC_SYS_NOC_UFS_AXI_CLK] = &gcc_sys_noc_ufs_axi_clk.clkr, 33568c2ecf20Sopenharmony_ci [GCC_PERIPH_NOC_USB20_AHB_CLK] = &gcc_periph_noc_usb20_ahb_clk.clkr, 33578c2ecf20Sopenharmony_ci [GCC_MMSS_NOC_CFG_AHB_CLK] = &gcc_mmss_noc_cfg_ahb_clk.clkr, 33588c2ecf20Sopenharmony_ci [GCC_MMSS_BIMC_GFX_CLK] = &gcc_mmss_bimc_gfx_clk.clkr, 33598c2ecf20Sopenharmony_ci [GCC_USB30_MASTER_CLK] = &gcc_usb30_master_clk.clkr, 33608c2ecf20Sopenharmony_ci [GCC_USB30_SLEEP_CLK] = &gcc_usb30_sleep_clk.clkr, 33618c2ecf20Sopenharmony_ci [GCC_USB30_MOCK_UTMI_CLK] = &gcc_usb30_mock_utmi_clk.clkr, 33628c2ecf20Sopenharmony_ci [GCC_USB3_PHY_AUX_CLK] = &gcc_usb3_phy_aux_clk.clkr, 33638c2ecf20Sopenharmony_ci [GCC_USB3_PHY_PIPE_CLK] = &gcc_usb3_phy_pipe_clk.clkr, 33648c2ecf20Sopenharmony_ci [GCC_USB20_MASTER_CLK] = &gcc_usb20_master_clk.clkr, 33658c2ecf20Sopenharmony_ci [GCC_USB20_SLEEP_CLK] = &gcc_usb20_sleep_clk.clkr, 33668c2ecf20Sopenharmony_ci [GCC_USB20_MOCK_UTMI_CLK] = &gcc_usb20_mock_utmi_clk.clkr, 33678c2ecf20Sopenharmony_ci [GCC_USB_PHY_CFG_AHB2PHY_CLK] = &gcc_usb_phy_cfg_ahb2phy_clk.clkr, 33688c2ecf20Sopenharmony_ci [GCC_SDCC1_APPS_CLK] = &gcc_sdcc1_apps_clk.clkr, 33698c2ecf20Sopenharmony_ci [GCC_SDCC1_AHB_CLK] = &gcc_sdcc1_ahb_clk.clkr, 33708c2ecf20Sopenharmony_ci [GCC_SDCC1_ICE_CORE_CLK] = &gcc_sdcc1_ice_core_clk.clkr, 33718c2ecf20Sopenharmony_ci [GCC_SDCC2_APPS_CLK] = &gcc_sdcc2_apps_clk.clkr, 33728c2ecf20Sopenharmony_ci [GCC_SDCC2_AHB_CLK] = &gcc_sdcc2_ahb_clk.clkr, 33738c2ecf20Sopenharmony_ci [GCC_SDCC3_APPS_CLK] = &gcc_sdcc3_apps_clk.clkr, 33748c2ecf20Sopenharmony_ci [GCC_SDCC3_AHB_CLK] = &gcc_sdcc3_ahb_clk.clkr, 33758c2ecf20Sopenharmony_ci [GCC_SDCC4_APPS_CLK] = &gcc_sdcc4_apps_clk.clkr, 33768c2ecf20Sopenharmony_ci [GCC_SDCC4_AHB_CLK] = &gcc_sdcc4_ahb_clk.clkr, 33778c2ecf20Sopenharmony_ci [GCC_BLSP1_AHB_CLK] = &gcc_blsp1_ahb_clk.clkr, 33788c2ecf20Sopenharmony_ci [GCC_BLSP1_SLEEP_CLK] = &gcc_blsp1_sleep_clk.clkr, 33798c2ecf20Sopenharmony_ci [GCC_BLSP1_QUP1_SPI_APPS_CLK] = &gcc_blsp1_qup1_spi_apps_clk.clkr, 33808c2ecf20Sopenharmony_ci [GCC_BLSP1_QUP1_I2C_APPS_CLK] = &gcc_blsp1_qup1_i2c_apps_clk.clkr, 33818c2ecf20Sopenharmony_ci [GCC_BLSP1_UART1_APPS_CLK] = &gcc_blsp1_uart1_apps_clk.clkr, 33828c2ecf20Sopenharmony_ci [GCC_BLSP1_QUP2_SPI_APPS_CLK] = &gcc_blsp1_qup2_spi_apps_clk.clkr, 33838c2ecf20Sopenharmony_ci [GCC_BLSP1_QUP2_I2C_APPS_CLK] = &gcc_blsp1_qup2_i2c_apps_clk.clkr, 33848c2ecf20Sopenharmony_ci [GCC_BLSP1_UART2_APPS_CLK] = &gcc_blsp1_uart2_apps_clk.clkr, 33858c2ecf20Sopenharmony_ci [GCC_BLSP1_QUP3_SPI_APPS_CLK] = &gcc_blsp1_qup3_spi_apps_clk.clkr, 33868c2ecf20Sopenharmony_ci [GCC_BLSP1_QUP3_I2C_APPS_CLK] = &gcc_blsp1_qup3_i2c_apps_clk.clkr, 33878c2ecf20Sopenharmony_ci [GCC_BLSP1_UART3_APPS_CLK] = &gcc_blsp1_uart3_apps_clk.clkr, 33888c2ecf20Sopenharmony_ci [GCC_BLSP1_QUP4_SPI_APPS_CLK] = &gcc_blsp1_qup4_spi_apps_clk.clkr, 33898c2ecf20Sopenharmony_ci [GCC_BLSP1_QUP4_I2C_APPS_CLK] = &gcc_blsp1_qup4_i2c_apps_clk.clkr, 33908c2ecf20Sopenharmony_ci [GCC_BLSP1_UART4_APPS_CLK] = &gcc_blsp1_uart4_apps_clk.clkr, 33918c2ecf20Sopenharmony_ci [GCC_BLSP1_QUP5_SPI_APPS_CLK] = &gcc_blsp1_qup5_spi_apps_clk.clkr, 33928c2ecf20Sopenharmony_ci [GCC_BLSP1_QUP5_I2C_APPS_CLK] = &gcc_blsp1_qup5_i2c_apps_clk.clkr, 33938c2ecf20Sopenharmony_ci [GCC_BLSP1_UART5_APPS_CLK] = &gcc_blsp1_uart5_apps_clk.clkr, 33948c2ecf20Sopenharmony_ci [GCC_BLSP1_QUP6_SPI_APPS_CLK] = &gcc_blsp1_qup6_spi_apps_clk.clkr, 33958c2ecf20Sopenharmony_ci [GCC_BLSP1_QUP6_I2C_APPS_CLK] = &gcc_blsp1_qup6_i2c_apps_clk.clkr, 33968c2ecf20Sopenharmony_ci [GCC_BLSP1_UART6_APPS_CLK] = &gcc_blsp1_uart6_apps_clk.clkr, 33978c2ecf20Sopenharmony_ci [GCC_BLSP2_AHB_CLK] = &gcc_blsp2_ahb_clk.clkr, 33988c2ecf20Sopenharmony_ci [GCC_BLSP2_SLEEP_CLK] = &gcc_blsp2_sleep_clk.clkr, 33998c2ecf20Sopenharmony_ci [GCC_BLSP2_QUP1_SPI_APPS_CLK] = &gcc_blsp2_qup1_spi_apps_clk.clkr, 34008c2ecf20Sopenharmony_ci [GCC_BLSP2_QUP1_I2C_APPS_CLK] = &gcc_blsp2_qup1_i2c_apps_clk.clkr, 34018c2ecf20Sopenharmony_ci [GCC_BLSP2_UART1_APPS_CLK] = &gcc_blsp2_uart1_apps_clk.clkr, 34028c2ecf20Sopenharmony_ci [GCC_BLSP2_QUP2_SPI_APPS_CLK] = &gcc_blsp2_qup2_spi_apps_clk.clkr, 34038c2ecf20Sopenharmony_ci [GCC_BLSP2_QUP2_I2C_APPS_CLK] = &gcc_blsp2_qup2_i2c_apps_clk.clkr, 34048c2ecf20Sopenharmony_ci [GCC_BLSP2_UART2_APPS_CLK] = &gcc_blsp2_uart2_apps_clk.clkr, 34058c2ecf20Sopenharmony_ci [GCC_BLSP2_QUP3_SPI_APPS_CLK] = &gcc_blsp2_qup3_spi_apps_clk.clkr, 34068c2ecf20Sopenharmony_ci [GCC_BLSP2_QUP3_I2C_APPS_CLK] = &gcc_blsp2_qup3_i2c_apps_clk.clkr, 34078c2ecf20Sopenharmony_ci [GCC_BLSP2_UART3_APPS_CLK] = &gcc_blsp2_uart3_apps_clk.clkr, 34088c2ecf20Sopenharmony_ci [GCC_BLSP2_QUP4_SPI_APPS_CLK] = &gcc_blsp2_qup4_spi_apps_clk.clkr, 34098c2ecf20Sopenharmony_ci [GCC_BLSP2_QUP4_I2C_APPS_CLK] = &gcc_blsp2_qup4_i2c_apps_clk.clkr, 34108c2ecf20Sopenharmony_ci [GCC_BLSP2_UART4_APPS_CLK] = &gcc_blsp2_uart4_apps_clk.clkr, 34118c2ecf20Sopenharmony_ci [GCC_BLSP2_QUP5_SPI_APPS_CLK] = &gcc_blsp2_qup5_spi_apps_clk.clkr, 34128c2ecf20Sopenharmony_ci [GCC_BLSP2_QUP5_I2C_APPS_CLK] = &gcc_blsp2_qup5_i2c_apps_clk.clkr, 34138c2ecf20Sopenharmony_ci [GCC_BLSP2_UART5_APPS_CLK] = &gcc_blsp2_uart5_apps_clk.clkr, 34148c2ecf20Sopenharmony_ci [GCC_BLSP2_QUP6_SPI_APPS_CLK] = &gcc_blsp2_qup6_spi_apps_clk.clkr, 34158c2ecf20Sopenharmony_ci [GCC_BLSP2_QUP6_I2C_APPS_CLK] = &gcc_blsp2_qup6_i2c_apps_clk.clkr, 34168c2ecf20Sopenharmony_ci [GCC_BLSP2_UART6_APPS_CLK] = &gcc_blsp2_uart6_apps_clk.clkr, 34178c2ecf20Sopenharmony_ci [GCC_PDM_AHB_CLK] = &gcc_pdm_ahb_clk.clkr, 34188c2ecf20Sopenharmony_ci [GCC_PDM2_CLK] = &gcc_pdm2_clk.clkr, 34198c2ecf20Sopenharmony_ci [GCC_PRNG_AHB_CLK] = &gcc_prng_ahb_clk.clkr, 34208c2ecf20Sopenharmony_ci [GCC_TSIF_AHB_CLK] = &gcc_tsif_ahb_clk.clkr, 34218c2ecf20Sopenharmony_ci [GCC_TSIF_REF_CLK] = &gcc_tsif_ref_clk.clkr, 34228c2ecf20Sopenharmony_ci [GCC_TSIF_INACTIVITY_TIMERS_CLK] = &gcc_tsif_inactivity_timers_clk.clkr, 34238c2ecf20Sopenharmony_ci [GCC_BOOT_ROM_AHB_CLK] = &gcc_boot_rom_ahb_clk.clkr, 34248c2ecf20Sopenharmony_ci [GCC_BIMC_GFX_CLK] = &gcc_bimc_gfx_clk.clkr, 34258c2ecf20Sopenharmony_ci [GCC_HMSS_RBCPR_CLK] = &gcc_hmss_rbcpr_clk.clkr, 34268c2ecf20Sopenharmony_ci [GCC_GP1_CLK] = &gcc_gp1_clk.clkr, 34278c2ecf20Sopenharmony_ci [GCC_GP2_CLK] = &gcc_gp2_clk.clkr, 34288c2ecf20Sopenharmony_ci [GCC_GP3_CLK] = &gcc_gp3_clk.clkr, 34298c2ecf20Sopenharmony_ci [GCC_PCIE_0_SLV_AXI_CLK] = &gcc_pcie_0_slv_axi_clk.clkr, 34308c2ecf20Sopenharmony_ci [GCC_PCIE_0_MSTR_AXI_CLK] = &gcc_pcie_0_mstr_axi_clk.clkr, 34318c2ecf20Sopenharmony_ci [GCC_PCIE_0_CFG_AHB_CLK] = &gcc_pcie_0_cfg_ahb_clk.clkr, 34328c2ecf20Sopenharmony_ci [GCC_PCIE_0_AUX_CLK] = &gcc_pcie_0_aux_clk.clkr, 34338c2ecf20Sopenharmony_ci [GCC_PCIE_0_PIPE_CLK] = &gcc_pcie_0_pipe_clk.clkr, 34348c2ecf20Sopenharmony_ci [GCC_PCIE_1_SLV_AXI_CLK] = &gcc_pcie_1_slv_axi_clk.clkr, 34358c2ecf20Sopenharmony_ci [GCC_PCIE_1_MSTR_AXI_CLK] = &gcc_pcie_1_mstr_axi_clk.clkr, 34368c2ecf20Sopenharmony_ci [GCC_PCIE_1_CFG_AHB_CLK] = &gcc_pcie_1_cfg_ahb_clk.clkr, 34378c2ecf20Sopenharmony_ci [GCC_PCIE_1_AUX_CLK] = &gcc_pcie_1_aux_clk.clkr, 34388c2ecf20Sopenharmony_ci [GCC_PCIE_1_PIPE_CLK] = &gcc_pcie_1_pipe_clk.clkr, 34398c2ecf20Sopenharmony_ci [GCC_PCIE_2_SLV_AXI_CLK] = &gcc_pcie_2_slv_axi_clk.clkr, 34408c2ecf20Sopenharmony_ci [GCC_PCIE_2_MSTR_AXI_CLK] = &gcc_pcie_2_mstr_axi_clk.clkr, 34418c2ecf20Sopenharmony_ci [GCC_PCIE_2_CFG_AHB_CLK] = &gcc_pcie_2_cfg_ahb_clk.clkr, 34428c2ecf20Sopenharmony_ci [GCC_PCIE_2_AUX_CLK] = &gcc_pcie_2_aux_clk.clkr, 34438c2ecf20Sopenharmony_ci [GCC_PCIE_2_PIPE_CLK] = &gcc_pcie_2_pipe_clk.clkr, 34448c2ecf20Sopenharmony_ci [GCC_PCIE_PHY_CFG_AHB_CLK] = &gcc_pcie_phy_cfg_ahb_clk.clkr, 34458c2ecf20Sopenharmony_ci [GCC_PCIE_PHY_AUX_CLK] = &gcc_pcie_phy_aux_clk.clkr, 34468c2ecf20Sopenharmony_ci [GCC_UFS_AXI_CLK] = &gcc_ufs_axi_clk.clkr, 34478c2ecf20Sopenharmony_ci [GCC_UFS_AHB_CLK] = &gcc_ufs_ahb_clk.clkr, 34488c2ecf20Sopenharmony_ci [GCC_UFS_TX_CFG_CLK] = &gcc_ufs_tx_cfg_clk.clkr, 34498c2ecf20Sopenharmony_ci [GCC_UFS_RX_CFG_CLK] = &gcc_ufs_rx_cfg_clk.clkr, 34508c2ecf20Sopenharmony_ci [GCC_HLOS1_VOTE_LPASS_CORE_SMMU_CLK] = &gcc_hlos1_vote_lpass_core_smmu_clk.clkr, 34518c2ecf20Sopenharmony_ci [GCC_HLOS1_VOTE_LPASS_ADSP_SMMU_CLK] = &gcc_hlos1_vote_lpass_adsp_smmu_clk.clkr, 34528c2ecf20Sopenharmony_ci [GCC_UFS_TX_SYMBOL_0_CLK] = &gcc_ufs_tx_symbol_0_clk.clkr, 34538c2ecf20Sopenharmony_ci [GCC_UFS_RX_SYMBOL_0_CLK] = &gcc_ufs_rx_symbol_0_clk.clkr, 34548c2ecf20Sopenharmony_ci [GCC_UFS_RX_SYMBOL_1_CLK] = &gcc_ufs_rx_symbol_1_clk.clkr, 34558c2ecf20Sopenharmony_ci [GCC_UFS_UNIPRO_CORE_CLK] = &gcc_ufs_unipro_core_clk.clkr, 34568c2ecf20Sopenharmony_ci [GCC_UFS_ICE_CORE_CLK] = &gcc_ufs_ice_core_clk.clkr, 34578c2ecf20Sopenharmony_ci [GCC_UFS_SYS_CLK_CORE_CLK] = &gcc_ufs_sys_clk_core_clk.clkr, 34588c2ecf20Sopenharmony_ci [GCC_UFS_TX_SYMBOL_CLK_CORE_CLK] = &gcc_ufs_tx_symbol_clk_core_clk.clkr, 34598c2ecf20Sopenharmony_ci [GCC_AGGRE0_SNOC_AXI_CLK] = &gcc_aggre0_snoc_axi_clk.clkr, 34608c2ecf20Sopenharmony_ci [GCC_AGGRE0_CNOC_AHB_CLK] = &gcc_aggre0_cnoc_ahb_clk.clkr, 34618c2ecf20Sopenharmony_ci [GCC_SMMU_AGGRE0_AXI_CLK] = &gcc_smmu_aggre0_axi_clk.clkr, 34628c2ecf20Sopenharmony_ci [GCC_SMMU_AGGRE0_AHB_CLK] = &gcc_smmu_aggre0_ahb_clk.clkr, 34638c2ecf20Sopenharmony_ci [GCC_AGGRE2_UFS_AXI_CLK] = &gcc_aggre2_ufs_axi_clk.clkr, 34648c2ecf20Sopenharmony_ci [GCC_AGGRE2_USB3_AXI_CLK] = &gcc_aggre2_usb3_axi_clk.clkr, 34658c2ecf20Sopenharmony_ci [GCC_QSPI_AHB_CLK] = &gcc_qspi_ahb_clk.clkr, 34668c2ecf20Sopenharmony_ci [GCC_QSPI_SER_CLK] = &gcc_qspi_ser_clk.clkr, 34678c2ecf20Sopenharmony_ci [GCC_USB3_CLKREF_CLK] = &gcc_usb3_clkref_clk.clkr, 34688c2ecf20Sopenharmony_ci [GCC_HDMI_CLKREF_CLK] = &gcc_hdmi_clkref_clk.clkr, 34698c2ecf20Sopenharmony_ci [GCC_UFS_CLKREF_CLK] = &gcc_ufs_clkref_clk.clkr, 34708c2ecf20Sopenharmony_ci [GCC_PCIE_CLKREF_CLK] = &gcc_pcie_clkref_clk.clkr, 34718c2ecf20Sopenharmony_ci [GCC_RX2_USB2_CLKREF_CLK] = &gcc_rx2_usb2_clkref_clk.clkr, 34728c2ecf20Sopenharmony_ci [GCC_RX1_USB2_CLKREF_CLK] = &gcc_rx1_usb2_clkref_clk.clkr, 34738c2ecf20Sopenharmony_ci [GCC_EDP_CLKREF_CLK] = &gcc_edp_clkref_clk.clkr, 34748c2ecf20Sopenharmony_ci [GCC_MSS_CFG_AHB_CLK] = &gcc_mss_cfg_ahb_clk.clkr, 34758c2ecf20Sopenharmony_ci [GCC_MSS_Q6_BIMC_AXI_CLK] = &gcc_mss_q6_bimc_axi_clk.clkr, 34768c2ecf20Sopenharmony_ci [GCC_MSS_SNOC_AXI_CLK] = &gcc_mss_snoc_axi_clk.clkr, 34778c2ecf20Sopenharmony_ci [GCC_MSS_MNOC_BIMC_AXI_CLK] = &gcc_mss_mnoc_bimc_axi_clk.clkr, 34788c2ecf20Sopenharmony_ci [GCC_DCC_AHB_CLK] = &gcc_dcc_ahb_clk.clkr, 34798c2ecf20Sopenharmony_ci [GCC_AGGRE0_NOC_MPU_CFG_AHB_CLK] = &gcc_aggre0_noc_mpu_cfg_ahb_clk.clkr, 34808c2ecf20Sopenharmony_ci [GCC_MMSS_GPLL0_DIV_CLK] = &gcc_mmss_gpll0_div_clk.clkr, 34818c2ecf20Sopenharmony_ci [GCC_MSS_GPLL0_DIV_CLK] = &gcc_mss_gpll0_div_clk.clkr, 34828c2ecf20Sopenharmony_ci}; 34838c2ecf20Sopenharmony_ci 34848c2ecf20Sopenharmony_cistatic struct gdsc *gcc_msm8996_gdscs[] = { 34858c2ecf20Sopenharmony_ci [AGGRE0_NOC_GDSC] = &aggre0_noc_gdsc, 34868c2ecf20Sopenharmony_ci [HLOS1_VOTE_AGGRE0_NOC_GDSC] = &hlos1_vote_aggre0_noc_gdsc, 34878c2ecf20Sopenharmony_ci [HLOS1_VOTE_LPASS_ADSP_GDSC] = &hlos1_vote_lpass_adsp_gdsc, 34888c2ecf20Sopenharmony_ci [HLOS1_VOTE_LPASS_CORE_GDSC] = &hlos1_vote_lpass_core_gdsc, 34898c2ecf20Sopenharmony_ci [USB30_GDSC] = &usb30_gdsc, 34908c2ecf20Sopenharmony_ci [PCIE0_GDSC] = &pcie0_gdsc, 34918c2ecf20Sopenharmony_ci [PCIE1_GDSC] = &pcie1_gdsc, 34928c2ecf20Sopenharmony_ci [PCIE2_GDSC] = &pcie2_gdsc, 34938c2ecf20Sopenharmony_ci [UFS_GDSC] = &ufs_gdsc, 34948c2ecf20Sopenharmony_ci}; 34958c2ecf20Sopenharmony_ci 34968c2ecf20Sopenharmony_cistatic const struct qcom_reset_map gcc_msm8996_resets[] = { 34978c2ecf20Sopenharmony_ci [GCC_SYSTEM_NOC_BCR] = { 0x4000 }, 34988c2ecf20Sopenharmony_ci [GCC_CONFIG_NOC_BCR] = { 0x5000 }, 34998c2ecf20Sopenharmony_ci [GCC_PERIPH_NOC_BCR] = { 0x6000 }, 35008c2ecf20Sopenharmony_ci [GCC_IMEM_BCR] = { 0x8000 }, 35018c2ecf20Sopenharmony_ci [GCC_MMSS_BCR] = { 0x9000 }, 35028c2ecf20Sopenharmony_ci [GCC_PIMEM_BCR] = { 0x0a000 }, 35038c2ecf20Sopenharmony_ci [GCC_QDSS_BCR] = { 0x0c000 }, 35048c2ecf20Sopenharmony_ci [GCC_USB_30_BCR] = { 0x0f000 }, 35058c2ecf20Sopenharmony_ci [GCC_USB_20_BCR] = { 0x12000 }, 35068c2ecf20Sopenharmony_ci [GCC_QUSB2PHY_PRIM_BCR] = { 0x12038 }, 35078c2ecf20Sopenharmony_ci [GCC_QUSB2PHY_SEC_BCR] = { 0x1203c }, 35088c2ecf20Sopenharmony_ci [GCC_USB3_PHY_BCR] = { 0x50020 }, 35098c2ecf20Sopenharmony_ci [GCC_USB3PHY_PHY_BCR] = { 0x50024 }, 35108c2ecf20Sopenharmony_ci [GCC_USB_PHY_CFG_AHB2PHY_BCR] = { 0x6a000 }, 35118c2ecf20Sopenharmony_ci [GCC_SDCC1_BCR] = { 0x13000 }, 35128c2ecf20Sopenharmony_ci [GCC_SDCC2_BCR] = { 0x14000 }, 35138c2ecf20Sopenharmony_ci [GCC_SDCC3_BCR] = { 0x15000 }, 35148c2ecf20Sopenharmony_ci [GCC_SDCC4_BCR] = { 0x16000 }, 35158c2ecf20Sopenharmony_ci [GCC_BLSP1_BCR] = { 0x17000 }, 35168c2ecf20Sopenharmony_ci [GCC_BLSP1_QUP1_BCR] = { 0x19000 }, 35178c2ecf20Sopenharmony_ci [GCC_BLSP1_UART1_BCR] = { 0x1a000 }, 35188c2ecf20Sopenharmony_ci [GCC_BLSP1_QUP2_BCR] = { 0x1b000 }, 35198c2ecf20Sopenharmony_ci [GCC_BLSP1_UART2_BCR] = { 0x1c000 }, 35208c2ecf20Sopenharmony_ci [GCC_BLSP1_QUP3_BCR] = { 0x1d000 }, 35218c2ecf20Sopenharmony_ci [GCC_BLSP1_UART3_BCR] = { 0x1e000 }, 35228c2ecf20Sopenharmony_ci [GCC_BLSP1_QUP4_BCR] = { 0x1f000 }, 35238c2ecf20Sopenharmony_ci [GCC_BLSP1_UART4_BCR] = { 0x20000 }, 35248c2ecf20Sopenharmony_ci [GCC_BLSP1_QUP5_BCR] = { 0x21000 }, 35258c2ecf20Sopenharmony_ci [GCC_BLSP1_UART5_BCR] = { 0x22000 }, 35268c2ecf20Sopenharmony_ci [GCC_BLSP1_QUP6_BCR] = { 0x23000 }, 35278c2ecf20Sopenharmony_ci [GCC_BLSP1_UART6_BCR] = { 0x24000 }, 35288c2ecf20Sopenharmony_ci [GCC_BLSP2_BCR] = { 0x25000 }, 35298c2ecf20Sopenharmony_ci [GCC_BLSP2_QUP1_BCR] = { 0x26000 }, 35308c2ecf20Sopenharmony_ci [GCC_BLSP2_UART1_BCR] = { 0x27000 }, 35318c2ecf20Sopenharmony_ci [GCC_BLSP2_QUP2_BCR] = { 0x28000 }, 35328c2ecf20Sopenharmony_ci [GCC_BLSP2_UART2_BCR] = { 0x29000 }, 35338c2ecf20Sopenharmony_ci [GCC_BLSP2_QUP3_BCR] = { 0x2a000 }, 35348c2ecf20Sopenharmony_ci [GCC_BLSP2_UART3_BCR] = { 0x2b000 }, 35358c2ecf20Sopenharmony_ci [GCC_BLSP2_QUP4_BCR] = { 0x2c000 }, 35368c2ecf20Sopenharmony_ci [GCC_BLSP2_UART4_BCR] = { 0x2d000 }, 35378c2ecf20Sopenharmony_ci [GCC_BLSP2_QUP5_BCR] = { 0x2e000 }, 35388c2ecf20Sopenharmony_ci [GCC_BLSP2_UART5_BCR] = { 0x2f000 }, 35398c2ecf20Sopenharmony_ci [GCC_BLSP2_QUP6_BCR] = { 0x30000 }, 35408c2ecf20Sopenharmony_ci [GCC_BLSP2_UART6_BCR] = { 0x31000 }, 35418c2ecf20Sopenharmony_ci [GCC_PDM_BCR] = { 0x33000 }, 35428c2ecf20Sopenharmony_ci [GCC_PRNG_BCR] = { 0x34000 }, 35438c2ecf20Sopenharmony_ci [GCC_TSIF_BCR] = { 0x36000 }, 35448c2ecf20Sopenharmony_ci [GCC_TCSR_BCR] = { 0x37000 }, 35458c2ecf20Sopenharmony_ci [GCC_BOOT_ROM_BCR] = { 0x38000 }, 35468c2ecf20Sopenharmony_ci [GCC_MSG_RAM_BCR] = { 0x39000 }, 35478c2ecf20Sopenharmony_ci [GCC_TLMM_BCR] = { 0x3a000 }, 35488c2ecf20Sopenharmony_ci [GCC_MPM_BCR] = { 0x3b000 }, 35498c2ecf20Sopenharmony_ci [GCC_SEC_CTRL_BCR] = { 0x3d000 }, 35508c2ecf20Sopenharmony_ci [GCC_SPMI_BCR] = { 0x3f000 }, 35518c2ecf20Sopenharmony_ci [GCC_SPDM_BCR] = { 0x40000 }, 35528c2ecf20Sopenharmony_ci [GCC_CE1_BCR] = { 0x41000 }, 35538c2ecf20Sopenharmony_ci [GCC_BIMC_BCR] = { 0x44000 }, 35548c2ecf20Sopenharmony_ci [GCC_SNOC_BUS_TIMEOUT0_BCR] = { 0x49000 }, 35558c2ecf20Sopenharmony_ci [GCC_SNOC_BUS_TIMEOUT2_BCR] = { 0x49008 }, 35568c2ecf20Sopenharmony_ci [GCC_SNOC_BUS_TIMEOUT1_BCR] = { 0x49010 }, 35578c2ecf20Sopenharmony_ci [GCC_SNOC_BUS_TIMEOUT3_BCR] = { 0x49018 }, 35588c2ecf20Sopenharmony_ci [GCC_SNOC_BUS_TIMEOUT_EXTREF_BCR] = { 0x49020 }, 35598c2ecf20Sopenharmony_ci [GCC_PNOC_BUS_TIMEOUT0_BCR] = { 0x4a000 }, 35608c2ecf20Sopenharmony_ci [GCC_PNOC_BUS_TIMEOUT1_BCR] = { 0x4a008 }, 35618c2ecf20Sopenharmony_ci [GCC_PNOC_BUS_TIMEOUT2_BCR] = { 0x4a010 }, 35628c2ecf20Sopenharmony_ci [GCC_PNOC_BUS_TIMEOUT3_BCR] = { 0x4a018 }, 35638c2ecf20Sopenharmony_ci [GCC_PNOC_BUS_TIMEOUT4_BCR] = { 0x4a020 }, 35648c2ecf20Sopenharmony_ci [GCC_CNOC_BUS_TIMEOUT0_BCR] = { 0x4b000 }, 35658c2ecf20Sopenharmony_ci [GCC_CNOC_BUS_TIMEOUT1_BCR] = { 0x4b008 }, 35668c2ecf20Sopenharmony_ci [GCC_CNOC_BUS_TIMEOUT2_BCR] = { 0x4b010 }, 35678c2ecf20Sopenharmony_ci [GCC_CNOC_BUS_TIMEOUT3_BCR] = { 0x4b018 }, 35688c2ecf20Sopenharmony_ci [GCC_CNOC_BUS_TIMEOUT4_BCR] = { 0x4b020 }, 35698c2ecf20Sopenharmony_ci [GCC_CNOC_BUS_TIMEOUT5_BCR] = { 0x4b028 }, 35708c2ecf20Sopenharmony_ci [GCC_CNOC_BUS_TIMEOUT6_BCR] = { 0x4b030 }, 35718c2ecf20Sopenharmony_ci [GCC_CNOC_BUS_TIMEOUT7_BCR] = { 0x4b038 }, 35728c2ecf20Sopenharmony_ci [GCC_CNOC_BUS_TIMEOUT8_BCR] = { 0x80000 }, 35738c2ecf20Sopenharmony_ci [GCC_CNOC_BUS_TIMEOUT9_BCR] = { 0x80008 }, 35748c2ecf20Sopenharmony_ci [GCC_CNOC_BUS_TIMEOUT_EXTREF_BCR] = { 0x80010 }, 35758c2ecf20Sopenharmony_ci [GCC_APB2JTAG_BCR] = { 0x4c000 }, 35768c2ecf20Sopenharmony_ci [GCC_RBCPR_CX_BCR] = { 0x4e000 }, 35778c2ecf20Sopenharmony_ci [GCC_RBCPR_MX_BCR] = { 0x4f000 }, 35788c2ecf20Sopenharmony_ci [GCC_PCIE_0_BCR] = { 0x6b000 }, 35798c2ecf20Sopenharmony_ci [GCC_PCIE_0_PHY_BCR] = { 0x6c01c }, 35808c2ecf20Sopenharmony_ci [GCC_PCIE_1_BCR] = { 0x6d000 }, 35818c2ecf20Sopenharmony_ci [GCC_PCIE_1_PHY_BCR] = { 0x6d038 }, 35828c2ecf20Sopenharmony_ci [GCC_PCIE_2_BCR] = { 0x6e000 }, 35838c2ecf20Sopenharmony_ci [GCC_PCIE_2_PHY_BCR] = { 0x6e038 }, 35848c2ecf20Sopenharmony_ci [GCC_PCIE_PHY_BCR] = { 0x6f000 }, 35858c2ecf20Sopenharmony_ci [GCC_PCIE_PHY_COM_BCR] = { 0x6f014 }, 35868c2ecf20Sopenharmony_ci [GCC_PCIE_PHY_COM_NOCSR_BCR] = { 0x6f00c }, 35878c2ecf20Sopenharmony_ci [GCC_DCD_BCR] = { 0x70000 }, 35888c2ecf20Sopenharmony_ci [GCC_OBT_ODT_BCR] = { 0x73000 }, 35898c2ecf20Sopenharmony_ci [GCC_UFS_BCR] = { 0x75000 }, 35908c2ecf20Sopenharmony_ci [GCC_SSC_BCR] = { 0x63000 }, 35918c2ecf20Sopenharmony_ci [GCC_VS_BCR] = { 0x7a000 }, 35928c2ecf20Sopenharmony_ci [GCC_AGGRE0_NOC_BCR] = { 0x81000 }, 35938c2ecf20Sopenharmony_ci [GCC_AGGRE1_NOC_BCR] = { 0x82000 }, 35948c2ecf20Sopenharmony_ci [GCC_AGGRE2_NOC_BCR] = { 0x83000 }, 35958c2ecf20Sopenharmony_ci [GCC_DCC_BCR] = { 0x84000 }, 35968c2ecf20Sopenharmony_ci [GCC_IPA_BCR] = { 0x89000 }, 35978c2ecf20Sopenharmony_ci [GCC_QSPI_BCR] = { 0x8b000 }, 35988c2ecf20Sopenharmony_ci [GCC_SKL_BCR] = { 0x8c000 }, 35998c2ecf20Sopenharmony_ci [GCC_MSMPU_BCR] = { 0x8d000 }, 36008c2ecf20Sopenharmony_ci [GCC_MSS_Q6_BCR] = { 0x8e000 }, 36018c2ecf20Sopenharmony_ci [GCC_QREFS_VBG_CAL_BCR] = { 0x88020 }, 36028c2ecf20Sopenharmony_ci [GCC_MSS_RESTART] = { 0x8f008 }, 36038c2ecf20Sopenharmony_ci}; 36048c2ecf20Sopenharmony_ci 36058c2ecf20Sopenharmony_cistatic const struct regmap_config gcc_msm8996_regmap_config = { 36068c2ecf20Sopenharmony_ci .reg_bits = 32, 36078c2ecf20Sopenharmony_ci .reg_stride = 4, 36088c2ecf20Sopenharmony_ci .val_bits = 32, 36098c2ecf20Sopenharmony_ci .max_register = 0x8f010, 36108c2ecf20Sopenharmony_ci .fast_io = true, 36118c2ecf20Sopenharmony_ci}; 36128c2ecf20Sopenharmony_ci 36138c2ecf20Sopenharmony_cistatic const struct qcom_cc_desc gcc_msm8996_desc = { 36148c2ecf20Sopenharmony_ci .config = &gcc_msm8996_regmap_config, 36158c2ecf20Sopenharmony_ci .clks = gcc_msm8996_clocks, 36168c2ecf20Sopenharmony_ci .num_clks = ARRAY_SIZE(gcc_msm8996_clocks), 36178c2ecf20Sopenharmony_ci .resets = gcc_msm8996_resets, 36188c2ecf20Sopenharmony_ci .num_resets = ARRAY_SIZE(gcc_msm8996_resets), 36198c2ecf20Sopenharmony_ci .gdscs = gcc_msm8996_gdscs, 36208c2ecf20Sopenharmony_ci .num_gdscs = ARRAY_SIZE(gcc_msm8996_gdscs), 36218c2ecf20Sopenharmony_ci .clk_hws = gcc_msm8996_hws, 36228c2ecf20Sopenharmony_ci .num_clk_hws = ARRAY_SIZE(gcc_msm8996_hws), 36238c2ecf20Sopenharmony_ci}; 36248c2ecf20Sopenharmony_ci 36258c2ecf20Sopenharmony_cistatic const struct of_device_id gcc_msm8996_match_table[] = { 36268c2ecf20Sopenharmony_ci { .compatible = "qcom,gcc-msm8996" }, 36278c2ecf20Sopenharmony_ci { } 36288c2ecf20Sopenharmony_ci}; 36298c2ecf20Sopenharmony_ciMODULE_DEVICE_TABLE(of, gcc_msm8996_match_table); 36308c2ecf20Sopenharmony_ci 36318c2ecf20Sopenharmony_cistatic int gcc_msm8996_probe(struct platform_device *pdev) 36328c2ecf20Sopenharmony_ci{ 36338c2ecf20Sopenharmony_ci struct regmap *regmap; 36348c2ecf20Sopenharmony_ci 36358c2ecf20Sopenharmony_ci regmap = qcom_cc_map(pdev, &gcc_msm8996_desc); 36368c2ecf20Sopenharmony_ci if (IS_ERR(regmap)) 36378c2ecf20Sopenharmony_ci return PTR_ERR(regmap); 36388c2ecf20Sopenharmony_ci 36398c2ecf20Sopenharmony_ci /* 36408c2ecf20Sopenharmony_ci * Set the HMSS_AHB_CLK_SLEEP_ENA bit to allow the hmss_ahb_clk to be 36418c2ecf20Sopenharmony_ci * turned off by hardware during certain apps low power modes. 36428c2ecf20Sopenharmony_ci */ 36438c2ecf20Sopenharmony_ci regmap_update_bits(regmap, 0x52008, BIT(21), BIT(21)); 36448c2ecf20Sopenharmony_ci 36458c2ecf20Sopenharmony_ci return qcom_cc_really_probe(pdev, &gcc_msm8996_desc, regmap); 36468c2ecf20Sopenharmony_ci} 36478c2ecf20Sopenharmony_ci 36488c2ecf20Sopenharmony_cistatic struct platform_driver gcc_msm8996_driver = { 36498c2ecf20Sopenharmony_ci .probe = gcc_msm8996_probe, 36508c2ecf20Sopenharmony_ci .driver = { 36518c2ecf20Sopenharmony_ci .name = "gcc-msm8996", 36528c2ecf20Sopenharmony_ci .of_match_table = gcc_msm8996_match_table, 36538c2ecf20Sopenharmony_ci }, 36548c2ecf20Sopenharmony_ci}; 36558c2ecf20Sopenharmony_ci 36568c2ecf20Sopenharmony_cistatic int __init gcc_msm8996_init(void) 36578c2ecf20Sopenharmony_ci{ 36588c2ecf20Sopenharmony_ci return platform_driver_register(&gcc_msm8996_driver); 36598c2ecf20Sopenharmony_ci} 36608c2ecf20Sopenharmony_cicore_initcall(gcc_msm8996_init); 36618c2ecf20Sopenharmony_ci 36628c2ecf20Sopenharmony_cistatic void __exit gcc_msm8996_exit(void) 36638c2ecf20Sopenharmony_ci{ 36648c2ecf20Sopenharmony_ci platform_driver_unregister(&gcc_msm8996_driver); 36658c2ecf20Sopenharmony_ci} 36668c2ecf20Sopenharmony_cimodule_exit(gcc_msm8996_exit); 36678c2ecf20Sopenharmony_ci 36688c2ecf20Sopenharmony_ciMODULE_DESCRIPTION("QCOM GCC MSM8996 Driver"); 36698c2ecf20Sopenharmony_ciMODULE_LICENSE("GPL v2"); 36708c2ecf20Sopenharmony_ciMODULE_ALIAS("platform:gcc-msm8996"); 3671