18c2ecf20Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0-only 28c2ecf20Sopenharmony_ci/* 38c2ecf20Sopenharmony_ci * Copyright (c) 2014, 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-apq8084.h> 188c2ecf20Sopenharmony_ci#include <dt-bindings/reset/qcom,gcc-apq8084.h> 198c2ecf20Sopenharmony_ci 208c2ecf20Sopenharmony_ci#include "common.h" 218c2ecf20Sopenharmony_ci#include "clk-regmap.h" 228c2ecf20Sopenharmony_ci#include "clk-pll.h" 238c2ecf20Sopenharmony_ci#include "clk-rcg.h" 248c2ecf20Sopenharmony_ci#include "clk-branch.h" 258c2ecf20Sopenharmony_ci#include "reset.h" 268c2ecf20Sopenharmony_ci#include "gdsc.h" 278c2ecf20Sopenharmony_ci 288c2ecf20Sopenharmony_cienum { 298c2ecf20Sopenharmony_ci P_XO, 308c2ecf20Sopenharmony_ci P_GPLL0, 318c2ecf20Sopenharmony_ci P_GPLL1, 328c2ecf20Sopenharmony_ci P_GPLL4, 338c2ecf20Sopenharmony_ci P_PCIE_0_1_PIPE_CLK, 348c2ecf20Sopenharmony_ci P_SATA_ASIC0_CLK, 358c2ecf20Sopenharmony_ci P_SATA_RX_CLK, 368c2ecf20Sopenharmony_ci P_SLEEP_CLK, 378c2ecf20Sopenharmony_ci}; 388c2ecf20Sopenharmony_ci 398c2ecf20Sopenharmony_cistatic const struct parent_map gcc_xo_gpll0_map[] = { 408c2ecf20Sopenharmony_ci { P_XO, 0 }, 418c2ecf20Sopenharmony_ci { P_GPLL0, 1 } 428c2ecf20Sopenharmony_ci}; 438c2ecf20Sopenharmony_ci 448c2ecf20Sopenharmony_cistatic const char * const gcc_xo_gpll0[] = { 458c2ecf20Sopenharmony_ci "xo", 468c2ecf20Sopenharmony_ci "gpll0_vote", 478c2ecf20Sopenharmony_ci}; 488c2ecf20Sopenharmony_ci 498c2ecf20Sopenharmony_cistatic const struct parent_map gcc_xo_gpll0_gpll4_map[] = { 508c2ecf20Sopenharmony_ci { P_XO, 0 }, 518c2ecf20Sopenharmony_ci { P_GPLL0, 1 }, 528c2ecf20Sopenharmony_ci { P_GPLL4, 5 } 538c2ecf20Sopenharmony_ci}; 548c2ecf20Sopenharmony_ci 558c2ecf20Sopenharmony_cistatic const char * const gcc_xo_gpll0_gpll4[] = { 568c2ecf20Sopenharmony_ci "xo", 578c2ecf20Sopenharmony_ci "gpll0_vote", 588c2ecf20Sopenharmony_ci "gpll4_vote", 598c2ecf20Sopenharmony_ci}; 608c2ecf20Sopenharmony_ci 618c2ecf20Sopenharmony_cistatic const struct parent_map gcc_xo_sata_asic0_map[] = { 628c2ecf20Sopenharmony_ci { P_XO, 0 }, 638c2ecf20Sopenharmony_ci { P_SATA_ASIC0_CLK, 2 } 648c2ecf20Sopenharmony_ci}; 658c2ecf20Sopenharmony_ci 668c2ecf20Sopenharmony_cistatic const char * const gcc_xo_sata_asic0[] = { 678c2ecf20Sopenharmony_ci "xo", 688c2ecf20Sopenharmony_ci "sata_asic0_clk", 698c2ecf20Sopenharmony_ci}; 708c2ecf20Sopenharmony_ci 718c2ecf20Sopenharmony_cistatic const struct parent_map gcc_xo_sata_rx_map[] = { 728c2ecf20Sopenharmony_ci { P_XO, 0 }, 738c2ecf20Sopenharmony_ci { P_SATA_RX_CLK, 2} 748c2ecf20Sopenharmony_ci}; 758c2ecf20Sopenharmony_ci 768c2ecf20Sopenharmony_cistatic const char * const gcc_xo_sata_rx[] = { 778c2ecf20Sopenharmony_ci "xo", 788c2ecf20Sopenharmony_ci "sata_rx_clk", 798c2ecf20Sopenharmony_ci}; 808c2ecf20Sopenharmony_ci 818c2ecf20Sopenharmony_cistatic const struct parent_map gcc_xo_pcie_map[] = { 828c2ecf20Sopenharmony_ci { P_XO, 0 }, 838c2ecf20Sopenharmony_ci { P_PCIE_0_1_PIPE_CLK, 2 } 848c2ecf20Sopenharmony_ci}; 858c2ecf20Sopenharmony_ci 868c2ecf20Sopenharmony_cistatic const char * const gcc_xo_pcie[] = { 878c2ecf20Sopenharmony_ci "xo", 888c2ecf20Sopenharmony_ci "pcie_pipe", 898c2ecf20Sopenharmony_ci}; 908c2ecf20Sopenharmony_ci 918c2ecf20Sopenharmony_cistatic const struct parent_map gcc_xo_pcie_sleep_map[] = { 928c2ecf20Sopenharmony_ci { P_XO, 0 }, 938c2ecf20Sopenharmony_ci { P_SLEEP_CLK, 6 } 948c2ecf20Sopenharmony_ci}; 958c2ecf20Sopenharmony_ci 968c2ecf20Sopenharmony_cistatic const char * const gcc_xo_pcie_sleep[] = { 978c2ecf20Sopenharmony_ci "xo", 988c2ecf20Sopenharmony_ci "sleep_clk_src", 998c2ecf20Sopenharmony_ci}; 1008c2ecf20Sopenharmony_ci 1018c2ecf20Sopenharmony_cistatic struct clk_pll gpll0 = { 1028c2ecf20Sopenharmony_ci .l_reg = 0x0004, 1038c2ecf20Sopenharmony_ci .m_reg = 0x0008, 1048c2ecf20Sopenharmony_ci .n_reg = 0x000c, 1058c2ecf20Sopenharmony_ci .config_reg = 0x0014, 1068c2ecf20Sopenharmony_ci .mode_reg = 0x0000, 1078c2ecf20Sopenharmony_ci .status_reg = 0x001c, 1088c2ecf20Sopenharmony_ci .status_bit = 17, 1098c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 1108c2ecf20Sopenharmony_ci .name = "gpll0", 1118c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "xo" }, 1128c2ecf20Sopenharmony_ci .num_parents = 1, 1138c2ecf20Sopenharmony_ci .ops = &clk_pll_ops, 1148c2ecf20Sopenharmony_ci }, 1158c2ecf20Sopenharmony_ci}; 1168c2ecf20Sopenharmony_ci 1178c2ecf20Sopenharmony_cistatic struct clk_regmap gpll0_vote = { 1188c2ecf20Sopenharmony_ci .enable_reg = 0x1480, 1198c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 1208c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 1218c2ecf20Sopenharmony_ci .name = "gpll0_vote", 1228c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "gpll0" }, 1238c2ecf20Sopenharmony_ci .num_parents = 1, 1248c2ecf20Sopenharmony_ci .ops = &clk_pll_vote_ops, 1258c2ecf20Sopenharmony_ci }, 1268c2ecf20Sopenharmony_ci}; 1278c2ecf20Sopenharmony_ci 1288c2ecf20Sopenharmony_cistatic struct clk_rcg2 config_noc_clk_src = { 1298c2ecf20Sopenharmony_ci .cmd_rcgr = 0x0150, 1308c2ecf20Sopenharmony_ci .hid_width = 5, 1318c2ecf20Sopenharmony_ci .parent_map = gcc_xo_gpll0_map, 1328c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 1338c2ecf20Sopenharmony_ci .name = "config_noc_clk_src", 1348c2ecf20Sopenharmony_ci .parent_names = gcc_xo_gpll0, 1358c2ecf20Sopenharmony_ci .num_parents = 2, 1368c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 1378c2ecf20Sopenharmony_ci }, 1388c2ecf20Sopenharmony_ci}; 1398c2ecf20Sopenharmony_ci 1408c2ecf20Sopenharmony_cistatic struct clk_rcg2 periph_noc_clk_src = { 1418c2ecf20Sopenharmony_ci .cmd_rcgr = 0x0190, 1428c2ecf20Sopenharmony_ci .hid_width = 5, 1438c2ecf20Sopenharmony_ci .parent_map = gcc_xo_gpll0_map, 1448c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 1458c2ecf20Sopenharmony_ci .name = "periph_noc_clk_src", 1468c2ecf20Sopenharmony_ci .parent_names = gcc_xo_gpll0, 1478c2ecf20Sopenharmony_ci .num_parents = 2, 1488c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 1498c2ecf20Sopenharmony_ci }, 1508c2ecf20Sopenharmony_ci}; 1518c2ecf20Sopenharmony_ci 1528c2ecf20Sopenharmony_cistatic struct clk_rcg2 system_noc_clk_src = { 1538c2ecf20Sopenharmony_ci .cmd_rcgr = 0x0120, 1548c2ecf20Sopenharmony_ci .hid_width = 5, 1558c2ecf20Sopenharmony_ci .parent_map = gcc_xo_gpll0_map, 1568c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 1578c2ecf20Sopenharmony_ci .name = "system_noc_clk_src", 1588c2ecf20Sopenharmony_ci .parent_names = gcc_xo_gpll0, 1598c2ecf20Sopenharmony_ci .num_parents = 2, 1608c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 1618c2ecf20Sopenharmony_ci }, 1628c2ecf20Sopenharmony_ci}; 1638c2ecf20Sopenharmony_ci 1648c2ecf20Sopenharmony_cistatic struct clk_pll gpll1 = { 1658c2ecf20Sopenharmony_ci .l_reg = 0x0044, 1668c2ecf20Sopenharmony_ci .m_reg = 0x0048, 1678c2ecf20Sopenharmony_ci .n_reg = 0x004c, 1688c2ecf20Sopenharmony_ci .config_reg = 0x0054, 1698c2ecf20Sopenharmony_ci .mode_reg = 0x0040, 1708c2ecf20Sopenharmony_ci .status_reg = 0x005c, 1718c2ecf20Sopenharmony_ci .status_bit = 17, 1728c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 1738c2ecf20Sopenharmony_ci .name = "gpll1", 1748c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "xo" }, 1758c2ecf20Sopenharmony_ci .num_parents = 1, 1768c2ecf20Sopenharmony_ci .ops = &clk_pll_ops, 1778c2ecf20Sopenharmony_ci }, 1788c2ecf20Sopenharmony_ci}; 1798c2ecf20Sopenharmony_ci 1808c2ecf20Sopenharmony_cistatic struct clk_regmap gpll1_vote = { 1818c2ecf20Sopenharmony_ci .enable_reg = 0x1480, 1828c2ecf20Sopenharmony_ci .enable_mask = BIT(1), 1838c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 1848c2ecf20Sopenharmony_ci .name = "gpll1_vote", 1858c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "gpll1" }, 1868c2ecf20Sopenharmony_ci .num_parents = 1, 1878c2ecf20Sopenharmony_ci .ops = &clk_pll_vote_ops, 1888c2ecf20Sopenharmony_ci }, 1898c2ecf20Sopenharmony_ci}; 1908c2ecf20Sopenharmony_ci 1918c2ecf20Sopenharmony_cistatic struct clk_pll gpll4 = { 1928c2ecf20Sopenharmony_ci .l_reg = 0x1dc4, 1938c2ecf20Sopenharmony_ci .m_reg = 0x1dc8, 1948c2ecf20Sopenharmony_ci .n_reg = 0x1dcc, 1958c2ecf20Sopenharmony_ci .config_reg = 0x1dd4, 1968c2ecf20Sopenharmony_ci .mode_reg = 0x1dc0, 1978c2ecf20Sopenharmony_ci .status_reg = 0x1ddc, 1988c2ecf20Sopenharmony_ci .status_bit = 17, 1998c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 2008c2ecf20Sopenharmony_ci .name = "gpll4", 2018c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "xo" }, 2028c2ecf20Sopenharmony_ci .num_parents = 1, 2038c2ecf20Sopenharmony_ci .ops = &clk_pll_ops, 2048c2ecf20Sopenharmony_ci }, 2058c2ecf20Sopenharmony_ci}; 2068c2ecf20Sopenharmony_ci 2078c2ecf20Sopenharmony_cistatic struct clk_regmap gpll4_vote = { 2088c2ecf20Sopenharmony_ci .enable_reg = 0x1480, 2098c2ecf20Sopenharmony_ci .enable_mask = BIT(4), 2108c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 2118c2ecf20Sopenharmony_ci .name = "gpll4_vote", 2128c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ "gpll4" }, 2138c2ecf20Sopenharmony_ci .num_parents = 1, 2148c2ecf20Sopenharmony_ci .ops = &clk_pll_vote_ops, 2158c2ecf20Sopenharmony_ci }, 2168c2ecf20Sopenharmony_ci}; 2178c2ecf20Sopenharmony_ci 2188c2ecf20Sopenharmony_cistatic const struct freq_tbl ftbl_gcc_ufs_axi_clk[] = { 2198c2ecf20Sopenharmony_ci F(100000000, P_GPLL0, 6, 0, 0), 2208c2ecf20Sopenharmony_ci F(200000000, P_GPLL0, 3, 0, 0), 2218c2ecf20Sopenharmony_ci F(240000000, P_GPLL0, 2.5, 0, 0), 2228c2ecf20Sopenharmony_ci { } 2238c2ecf20Sopenharmony_ci}; 2248c2ecf20Sopenharmony_ci 2258c2ecf20Sopenharmony_cistatic struct clk_rcg2 ufs_axi_clk_src = { 2268c2ecf20Sopenharmony_ci .cmd_rcgr = 0x1d64, 2278c2ecf20Sopenharmony_ci .mnd_width = 8, 2288c2ecf20Sopenharmony_ci .hid_width = 5, 2298c2ecf20Sopenharmony_ci .parent_map = gcc_xo_gpll0_map, 2308c2ecf20Sopenharmony_ci .freq_tbl = ftbl_gcc_ufs_axi_clk, 2318c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 2328c2ecf20Sopenharmony_ci .name = "ufs_axi_clk_src", 2338c2ecf20Sopenharmony_ci .parent_names = gcc_xo_gpll0, 2348c2ecf20Sopenharmony_ci .num_parents = 2, 2358c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 2368c2ecf20Sopenharmony_ci }, 2378c2ecf20Sopenharmony_ci}; 2388c2ecf20Sopenharmony_ci 2398c2ecf20Sopenharmony_cistatic const struct freq_tbl ftbl_gcc_usb30_master_clk[] = { 2408c2ecf20Sopenharmony_ci F(125000000, P_GPLL0, 1, 5, 24), 2418c2ecf20Sopenharmony_ci { } 2428c2ecf20Sopenharmony_ci}; 2438c2ecf20Sopenharmony_ci 2448c2ecf20Sopenharmony_cistatic struct clk_rcg2 usb30_master_clk_src = { 2458c2ecf20Sopenharmony_ci .cmd_rcgr = 0x03d4, 2468c2ecf20Sopenharmony_ci .mnd_width = 8, 2478c2ecf20Sopenharmony_ci .hid_width = 5, 2488c2ecf20Sopenharmony_ci .parent_map = gcc_xo_gpll0_map, 2498c2ecf20Sopenharmony_ci .freq_tbl = ftbl_gcc_usb30_master_clk, 2508c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 2518c2ecf20Sopenharmony_ci .name = "usb30_master_clk_src", 2528c2ecf20Sopenharmony_ci .parent_names = gcc_xo_gpll0, 2538c2ecf20Sopenharmony_ci .num_parents = 2, 2548c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 2558c2ecf20Sopenharmony_ci }, 2568c2ecf20Sopenharmony_ci}; 2578c2ecf20Sopenharmony_ci 2588c2ecf20Sopenharmony_cistatic const struct freq_tbl ftbl_gcc_usb30_sec_master_clk[] = { 2598c2ecf20Sopenharmony_ci F(125000000, P_GPLL0, 1, 5, 24), 2608c2ecf20Sopenharmony_ci { } 2618c2ecf20Sopenharmony_ci}; 2628c2ecf20Sopenharmony_ci 2638c2ecf20Sopenharmony_cistatic struct clk_rcg2 usb30_sec_master_clk_src = { 2648c2ecf20Sopenharmony_ci .cmd_rcgr = 0x1bd4, 2658c2ecf20Sopenharmony_ci .mnd_width = 8, 2668c2ecf20Sopenharmony_ci .hid_width = 5, 2678c2ecf20Sopenharmony_ci .parent_map = gcc_xo_gpll0_map, 2688c2ecf20Sopenharmony_ci .freq_tbl = ftbl_gcc_usb30_sec_master_clk, 2698c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 2708c2ecf20Sopenharmony_ci .name = "usb30_sec_master_clk_src", 2718c2ecf20Sopenharmony_ci .parent_names = gcc_xo_gpll0, 2728c2ecf20Sopenharmony_ci .num_parents = 2, 2738c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 2748c2ecf20Sopenharmony_ci }, 2758c2ecf20Sopenharmony_ci}; 2768c2ecf20Sopenharmony_ci 2778c2ecf20Sopenharmony_cistatic struct clk_branch gcc_usb30_sec_mock_utmi_clk = { 2788c2ecf20Sopenharmony_ci .halt_reg = 0x1bd0, 2798c2ecf20Sopenharmony_ci .clkr = { 2808c2ecf20Sopenharmony_ci .enable_reg = 0x1bd0, 2818c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 2828c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 2838c2ecf20Sopenharmony_ci .name = "gcc_usb30_sec_mock_utmi_clk", 2848c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ 2858c2ecf20Sopenharmony_ci "usb30_sec_mock_utmi_clk_src", 2868c2ecf20Sopenharmony_ci }, 2878c2ecf20Sopenharmony_ci .num_parents = 1, 2888c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 2898c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 2908c2ecf20Sopenharmony_ci }, 2918c2ecf20Sopenharmony_ci }, 2928c2ecf20Sopenharmony_ci}; 2938c2ecf20Sopenharmony_ci 2948c2ecf20Sopenharmony_cistatic struct clk_branch gcc_usb30_sec_sleep_clk = { 2958c2ecf20Sopenharmony_ci .halt_reg = 0x1bcc, 2968c2ecf20Sopenharmony_ci .clkr = { 2978c2ecf20Sopenharmony_ci .enable_reg = 0x1bcc, 2988c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 2998c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 3008c2ecf20Sopenharmony_ci .name = "gcc_usb30_sec_sleep_clk", 3018c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ 3028c2ecf20Sopenharmony_ci "sleep_clk_src", 3038c2ecf20Sopenharmony_ci }, 3048c2ecf20Sopenharmony_ci .num_parents = 1, 3058c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 3068c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 3078c2ecf20Sopenharmony_ci }, 3088c2ecf20Sopenharmony_ci }, 3098c2ecf20Sopenharmony_ci}; 3108c2ecf20Sopenharmony_ci 3118c2ecf20Sopenharmony_cistatic const struct freq_tbl ftbl_gcc_blsp1_2_qup1_6_i2c_apps_clk[] = { 3128c2ecf20Sopenharmony_ci F(19200000, P_XO, 1, 0, 0), 3138c2ecf20Sopenharmony_ci F(50000000, P_GPLL0, 12, 0, 0), 3148c2ecf20Sopenharmony_ci { } 3158c2ecf20Sopenharmony_ci}; 3168c2ecf20Sopenharmony_ci 3178c2ecf20Sopenharmony_cistatic struct clk_rcg2 blsp1_qup1_i2c_apps_clk_src = { 3188c2ecf20Sopenharmony_ci .cmd_rcgr = 0x0660, 3198c2ecf20Sopenharmony_ci .hid_width = 5, 3208c2ecf20Sopenharmony_ci .parent_map = gcc_xo_gpll0_map, 3218c2ecf20Sopenharmony_ci .freq_tbl = ftbl_gcc_blsp1_2_qup1_6_i2c_apps_clk, 3228c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 3238c2ecf20Sopenharmony_ci .name = "blsp1_qup1_i2c_apps_clk_src", 3248c2ecf20Sopenharmony_ci .parent_names = gcc_xo_gpll0, 3258c2ecf20Sopenharmony_ci .num_parents = 2, 3268c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 3278c2ecf20Sopenharmony_ci }, 3288c2ecf20Sopenharmony_ci}; 3298c2ecf20Sopenharmony_ci 3308c2ecf20Sopenharmony_cistatic const struct freq_tbl ftbl_gcc_blsp1_2_qup1_6_spi_apps_clk[] = { 3318c2ecf20Sopenharmony_ci F(960000, P_XO, 10, 1, 2), 3328c2ecf20Sopenharmony_ci F(4800000, P_XO, 4, 0, 0), 3338c2ecf20Sopenharmony_ci F(9600000, P_XO, 2, 0, 0), 3348c2ecf20Sopenharmony_ci F(15000000, P_GPLL0, 10, 1, 4), 3358c2ecf20Sopenharmony_ci F(19200000, P_XO, 1, 0, 0), 3368c2ecf20Sopenharmony_ci F(25000000, P_GPLL0, 12, 1, 2), 3378c2ecf20Sopenharmony_ci F(50000000, P_GPLL0, 12, 0, 0), 3388c2ecf20Sopenharmony_ci { } 3398c2ecf20Sopenharmony_ci}; 3408c2ecf20Sopenharmony_ci 3418c2ecf20Sopenharmony_cistatic struct clk_rcg2 blsp1_qup1_spi_apps_clk_src = { 3428c2ecf20Sopenharmony_ci .cmd_rcgr = 0x064c, 3438c2ecf20Sopenharmony_ci .mnd_width = 8, 3448c2ecf20Sopenharmony_ci .hid_width = 5, 3458c2ecf20Sopenharmony_ci .parent_map = gcc_xo_gpll0_map, 3468c2ecf20Sopenharmony_ci .freq_tbl = ftbl_gcc_blsp1_2_qup1_6_spi_apps_clk, 3478c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 3488c2ecf20Sopenharmony_ci .name = "blsp1_qup1_spi_apps_clk_src", 3498c2ecf20Sopenharmony_ci .parent_names = gcc_xo_gpll0, 3508c2ecf20Sopenharmony_ci .num_parents = 2, 3518c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 3528c2ecf20Sopenharmony_ci }, 3538c2ecf20Sopenharmony_ci}; 3548c2ecf20Sopenharmony_ci 3558c2ecf20Sopenharmony_cistatic struct clk_rcg2 blsp1_qup2_i2c_apps_clk_src = { 3568c2ecf20Sopenharmony_ci .cmd_rcgr = 0x06e0, 3578c2ecf20Sopenharmony_ci .hid_width = 5, 3588c2ecf20Sopenharmony_ci .parent_map = gcc_xo_gpll0_map, 3598c2ecf20Sopenharmony_ci .freq_tbl = ftbl_gcc_blsp1_2_qup1_6_i2c_apps_clk, 3608c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 3618c2ecf20Sopenharmony_ci .name = "blsp1_qup2_i2c_apps_clk_src", 3628c2ecf20Sopenharmony_ci .parent_names = gcc_xo_gpll0, 3638c2ecf20Sopenharmony_ci .num_parents = 2, 3648c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 3658c2ecf20Sopenharmony_ci }, 3668c2ecf20Sopenharmony_ci}; 3678c2ecf20Sopenharmony_ci 3688c2ecf20Sopenharmony_cistatic struct clk_rcg2 blsp1_qup2_spi_apps_clk_src = { 3698c2ecf20Sopenharmony_ci .cmd_rcgr = 0x06cc, 3708c2ecf20Sopenharmony_ci .mnd_width = 8, 3718c2ecf20Sopenharmony_ci .hid_width = 5, 3728c2ecf20Sopenharmony_ci .parent_map = gcc_xo_gpll0_map, 3738c2ecf20Sopenharmony_ci .freq_tbl = ftbl_gcc_blsp1_2_qup1_6_spi_apps_clk, 3748c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 3758c2ecf20Sopenharmony_ci .name = "blsp1_qup2_spi_apps_clk_src", 3768c2ecf20Sopenharmony_ci .parent_names = gcc_xo_gpll0, 3778c2ecf20Sopenharmony_ci .num_parents = 2, 3788c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 3798c2ecf20Sopenharmony_ci }, 3808c2ecf20Sopenharmony_ci}; 3818c2ecf20Sopenharmony_ci 3828c2ecf20Sopenharmony_cistatic struct clk_rcg2 blsp1_qup3_i2c_apps_clk_src = { 3838c2ecf20Sopenharmony_ci .cmd_rcgr = 0x0760, 3848c2ecf20Sopenharmony_ci .hid_width = 5, 3858c2ecf20Sopenharmony_ci .parent_map = gcc_xo_gpll0_map, 3868c2ecf20Sopenharmony_ci .freq_tbl = ftbl_gcc_blsp1_2_qup1_6_i2c_apps_clk, 3878c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 3888c2ecf20Sopenharmony_ci .name = "blsp1_qup3_i2c_apps_clk_src", 3898c2ecf20Sopenharmony_ci .parent_names = gcc_xo_gpll0, 3908c2ecf20Sopenharmony_ci .num_parents = 2, 3918c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 3928c2ecf20Sopenharmony_ci }, 3938c2ecf20Sopenharmony_ci}; 3948c2ecf20Sopenharmony_ci 3958c2ecf20Sopenharmony_cistatic struct clk_rcg2 blsp1_qup3_spi_apps_clk_src = { 3968c2ecf20Sopenharmony_ci .cmd_rcgr = 0x074c, 3978c2ecf20Sopenharmony_ci .mnd_width = 8, 3988c2ecf20Sopenharmony_ci .hid_width = 5, 3998c2ecf20Sopenharmony_ci .parent_map = gcc_xo_gpll0_map, 4008c2ecf20Sopenharmony_ci .freq_tbl = ftbl_gcc_blsp1_2_qup1_6_spi_apps_clk, 4018c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 4028c2ecf20Sopenharmony_ci .name = "blsp1_qup3_spi_apps_clk_src", 4038c2ecf20Sopenharmony_ci .parent_names = gcc_xo_gpll0, 4048c2ecf20Sopenharmony_ci .num_parents = 2, 4058c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 4068c2ecf20Sopenharmony_ci }, 4078c2ecf20Sopenharmony_ci}; 4088c2ecf20Sopenharmony_ci 4098c2ecf20Sopenharmony_cistatic struct clk_rcg2 blsp1_qup4_i2c_apps_clk_src = { 4108c2ecf20Sopenharmony_ci .cmd_rcgr = 0x07e0, 4118c2ecf20Sopenharmony_ci .hid_width = 5, 4128c2ecf20Sopenharmony_ci .parent_map = gcc_xo_gpll0_map, 4138c2ecf20Sopenharmony_ci .freq_tbl = ftbl_gcc_blsp1_2_qup1_6_i2c_apps_clk, 4148c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 4158c2ecf20Sopenharmony_ci .name = "blsp1_qup4_i2c_apps_clk_src", 4168c2ecf20Sopenharmony_ci .parent_names = gcc_xo_gpll0, 4178c2ecf20Sopenharmony_ci .num_parents = 2, 4188c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 4198c2ecf20Sopenharmony_ci }, 4208c2ecf20Sopenharmony_ci}; 4218c2ecf20Sopenharmony_ci 4228c2ecf20Sopenharmony_cistatic struct clk_rcg2 blsp1_qup4_spi_apps_clk_src = { 4238c2ecf20Sopenharmony_ci .cmd_rcgr = 0x07cc, 4248c2ecf20Sopenharmony_ci .mnd_width = 8, 4258c2ecf20Sopenharmony_ci .hid_width = 5, 4268c2ecf20Sopenharmony_ci .parent_map = gcc_xo_gpll0_map, 4278c2ecf20Sopenharmony_ci .freq_tbl = ftbl_gcc_blsp1_2_qup1_6_spi_apps_clk, 4288c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 4298c2ecf20Sopenharmony_ci .name = "blsp1_qup4_spi_apps_clk_src", 4308c2ecf20Sopenharmony_ci .parent_names = gcc_xo_gpll0, 4318c2ecf20Sopenharmony_ci .num_parents = 2, 4328c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 4338c2ecf20Sopenharmony_ci }, 4348c2ecf20Sopenharmony_ci}; 4358c2ecf20Sopenharmony_ci 4368c2ecf20Sopenharmony_cistatic struct clk_rcg2 blsp1_qup5_i2c_apps_clk_src = { 4378c2ecf20Sopenharmony_ci .cmd_rcgr = 0x0860, 4388c2ecf20Sopenharmony_ci .hid_width = 5, 4398c2ecf20Sopenharmony_ci .parent_map = gcc_xo_gpll0_map, 4408c2ecf20Sopenharmony_ci .freq_tbl = ftbl_gcc_blsp1_2_qup1_6_i2c_apps_clk, 4418c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 4428c2ecf20Sopenharmony_ci .name = "blsp1_qup5_i2c_apps_clk_src", 4438c2ecf20Sopenharmony_ci .parent_names = gcc_xo_gpll0, 4448c2ecf20Sopenharmony_ci .num_parents = 2, 4458c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 4468c2ecf20Sopenharmony_ci }, 4478c2ecf20Sopenharmony_ci}; 4488c2ecf20Sopenharmony_ci 4498c2ecf20Sopenharmony_cistatic struct clk_rcg2 blsp1_qup5_spi_apps_clk_src = { 4508c2ecf20Sopenharmony_ci .cmd_rcgr = 0x084c, 4518c2ecf20Sopenharmony_ci .mnd_width = 8, 4528c2ecf20Sopenharmony_ci .hid_width = 5, 4538c2ecf20Sopenharmony_ci .parent_map = gcc_xo_gpll0_map, 4548c2ecf20Sopenharmony_ci .freq_tbl = ftbl_gcc_blsp1_2_qup1_6_spi_apps_clk, 4558c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 4568c2ecf20Sopenharmony_ci .name = "blsp1_qup5_spi_apps_clk_src", 4578c2ecf20Sopenharmony_ci .parent_names = gcc_xo_gpll0, 4588c2ecf20Sopenharmony_ci .num_parents = 2, 4598c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 4608c2ecf20Sopenharmony_ci }, 4618c2ecf20Sopenharmony_ci}; 4628c2ecf20Sopenharmony_ci 4638c2ecf20Sopenharmony_cistatic struct clk_rcg2 blsp1_qup6_i2c_apps_clk_src = { 4648c2ecf20Sopenharmony_ci .cmd_rcgr = 0x08e0, 4658c2ecf20Sopenharmony_ci .hid_width = 5, 4668c2ecf20Sopenharmony_ci .parent_map = gcc_xo_gpll0_map, 4678c2ecf20Sopenharmony_ci .freq_tbl = ftbl_gcc_blsp1_2_qup1_6_i2c_apps_clk, 4688c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 4698c2ecf20Sopenharmony_ci .name = "blsp1_qup6_i2c_apps_clk_src", 4708c2ecf20Sopenharmony_ci .parent_names = gcc_xo_gpll0, 4718c2ecf20Sopenharmony_ci .num_parents = 2, 4728c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 4738c2ecf20Sopenharmony_ci }, 4748c2ecf20Sopenharmony_ci}; 4758c2ecf20Sopenharmony_ci 4768c2ecf20Sopenharmony_cistatic struct clk_rcg2 blsp1_qup6_spi_apps_clk_src = { 4778c2ecf20Sopenharmony_ci .cmd_rcgr = 0x08cc, 4788c2ecf20Sopenharmony_ci .mnd_width = 8, 4798c2ecf20Sopenharmony_ci .hid_width = 5, 4808c2ecf20Sopenharmony_ci .parent_map = gcc_xo_gpll0_map, 4818c2ecf20Sopenharmony_ci .freq_tbl = ftbl_gcc_blsp1_2_qup1_6_spi_apps_clk, 4828c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 4838c2ecf20Sopenharmony_ci .name = "blsp1_qup6_spi_apps_clk_src", 4848c2ecf20Sopenharmony_ci .parent_names = gcc_xo_gpll0, 4858c2ecf20Sopenharmony_ci .num_parents = 2, 4868c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 4878c2ecf20Sopenharmony_ci }, 4888c2ecf20Sopenharmony_ci}; 4898c2ecf20Sopenharmony_ci 4908c2ecf20Sopenharmony_cistatic const struct freq_tbl ftbl_gcc_blsp1_2_uart1_6_apps_clk[] = { 4918c2ecf20Sopenharmony_ci F(3686400, P_GPLL0, 1, 96, 15625), 4928c2ecf20Sopenharmony_ci F(7372800, P_GPLL0, 1, 192, 15625), 4938c2ecf20Sopenharmony_ci F(14745600, P_GPLL0, 1, 384, 15625), 4948c2ecf20Sopenharmony_ci F(16000000, P_GPLL0, 5, 2, 15), 4958c2ecf20Sopenharmony_ci F(19200000, P_XO, 1, 0, 0), 4968c2ecf20Sopenharmony_ci F(24000000, P_GPLL0, 5, 1, 5), 4978c2ecf20Sopenharmony_ci F(32000000, P_GPLL0, 1, 4, 75), 4988c2ecf20Sopenharmony_ci F(40000000, P_GPLL0, 15, 0, 0), 4998c2ecf20Sopenharmony_ci F(46400000, P_GPLL0, 1, 29, 375), 5008c2ecf20Sopenharmony_ci F(48000000, P_GPLL0, 12.5, 0, 0), 5018c2ecf20Sopenharmony_ci F(51200000, P_GPLL0, 1, 32, 375), 5028c2ecf20Sopenharmony_ci F(56000000, P_GPLL0, 1, 7, 75), 5038c2ecf20Sopenharmony_ci F(58982400, P_GPLL0, 1, 1536, 15625), 5048c2ecf20Sopenharmony_ci F(60000000, P_GPLL0, 10, 0, 0), 5058c2ecf20Sopenharmony_ci F(63160000, P_GPLL0, 9.5, 0, 0), 5068c2ecf20Sopenharmony_ci { } 5078c2ecf20Sopenharmony_ci}; 5088c2ecf20Sopenharmony_ci 5098c2ecf20Sopenharmony_cistatic struct clk_rcg2 blsp1_uart1_apps_clk_src = { 5108c2ecf20Sopenharmony_ci .cmd_rcgr = 0x068c, 5118c2ecf20Sopenharmony_ci .mnd_width = 16, 5128c2ecf20Sopenharmony_ci .hid_width = 5, 5138c2ecf20Sopenharmony_ci .parent_map = gcc_xo_gpll0_map, 5148c2ecf20Sopenharmony_ci .freq_tbl = ftbl_gcc_blsp1_2_uart1_6_apps_clk, 5158c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 5168c2ecf20Sopenharmony_ci .name = "blsp1_uart1_apps_clk_src", 5178c2ecf20Sopenharmony_ci .parent_names = gcc_xo_gpll0, 5188c2ecf20Sopenharmony_ci .num_parents = 2, 5198c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 5208c2ecf20Sopenharmony_ci }, 5218c2ecf20Sopenharmony_ci}; 5228c2ecf20Sopenharmony_ci 5238c2ecf20Sopenharmony_cistatic struct clk_rcg2 blsp1_uart2_apps_clk_src = { 5248c2ecf20Sopenharmony_ci .cmd_rcgr = 0x070c, 5258c2ecf20Sopenharmony_ci .mnd_width = 16, 5268c2ecf20Sopenharmony_ci .hid_width = 5, 5278c2ecf20Sopenharmony_ci .parent_map = gcc_xo_gpll0_map, 5288c2ecf20Sopenharmony_ci .freq_tbl = ftbl_gcc_blsp1_2_uart1_6_apps_clk, 5298c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 5308c2ecf20Sopenharmony_ci .name = "blsp1_uart2_apps_clk_src", 5318c2ecf20Sopenharmony_ci .parent_names = gcc_xo_gpll0, 5328c2ecf20Sopenharmony_ci .num_parents = 2, 5338c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 5348c2ecf20Sopenharmony_ci }, 5358c2ecf20Sopenharmony_ci}; 5368c2ecf20Sopenharmony_ci 5378c2ecf20Sopenharmony_cistatic struct clk_rcg2 blsp1_uart3_apps_clk_src = { 5388c2ecf20Sopenharmony_ci .cmd_rcgr = 0x078c, 5398c2ecf20Sopenharmony_ci .mnd_width = 16, 5408c2ecf20Sopenharmony_ci .hid_width = 5, 5418c2ecf20Sopenharmony_ci .parent_map = gcc_xo_gpll0_map, 5428c2ecf20Sopenharmony_ci .freq_tbl = ftbl_gcc_blsp1_2_uart1_6_apps_clk, 5438c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 5448c2ecf20Sopenharmony_ci .name = "blsp1_uart3_apps_clk_src", 5458c2ecf20Sopenharmony_ci .parent_names = gcc_xo_gpll0, 5468c2ecf20Sopenharmony_ci .num_parents = 2, 5478c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 5488c2ecf20Sopenharmony_ci }, 5498c2ecf20Sopenharmony_ci}; 5508c2ecf20Sopenharmony_ci 5518c2ecf20Sopenharmony_cistatic struct clk_rcg2 blsp1_uart4_apps_clk_src = { 5528c2ecf20Sopenharmony_ci .cmd_rcgr = 0x080c, 5538c2ecf20Sopenharmony_ci .mnd_width = 16, 5548c2ecf20Sopenharmony_ci .hid_width = 5, 5558c2ecf20Sopenharmony_ci .parent_map = gcc_xo_gpll0_map, 5568c2ecf20Sopenharmony_ci .freq_tbl = ftbl_gcc_blsp1_2_uart1_6_apps_clk, 5578c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 5588c2ecf20Sopenharmony_ci .name = "blsp1_uart4_apps_clk_src", 5598c2ecf20Sopenharmony_ci .parent_names = gcc_xo_gpll0, 5608c2ecf20Sopenharmony_ci .num_parents = 2, 5618c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 5628c2ecf20Sopenharmony_ci }, 5638c2ecf20Sopenharmony_ci}; 5648c2ecf20Sopenharmony_ci 5658c2ecf20Sopenharmony_cistatic struct clk_rcg2 blsp1_uart5_apps_clk_src = { 5668c2ecf20Sopenharmony_ci .cmd_rcgr = 0x088c, 5678c2ecf20Sopenharmony_ci .mnd_width = 16, 5688c2ecf20Sopenharmony_ci .hid_width = 5, 5698c2ecf20Sopenharmony_ci .parent_map = gcc_xo_gpll0_map, 5708c2ecf20Sopenharmony_ci .freq_tbl = ftbl_gcc_blsp1_2_uart1_6_apps_clk, 5718c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 5728c2ecf20Sopenharmony_ci .name = "blsp1_uart5_apps_clk_src", 5738c2ecf20Sopenharmony_ci .parent_names = gcc_xo_gpll0, 5748c2ecf20Sopenharmony_ci .num_parents = 2, 5758c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 5768c2ecf20Sopenharmony_ci }, 5778c2ecf20Sopenharmony_ci}; 5788c2ecf20Sopenharmony_ci 5798c2ecf20Sopenharmony_cistatic struct clk_rcg2 blsp1_uart6_apps_clk_src = { 5808c2ecf20Sopenharmony_ci .cmd_rcgr = 0x090c, 5818c2ecf20Sopenharmony_ci .mnd_width = 16, 5828c2ecf20Sopenharmony_ci .hid_width = 5, 5838c2ecf20Sopenharmony_ci .parent_map = gcc_xo_gpll0_map, 5848c2ecf20Sopenharmony_ci .freq_tbl = ftbl_gcc_blsp1_2_uart1_6_apps_clk, 5858c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 5868c2ecf20Sopenharmony_ci .name = "blsp1_uart6_apps_clk_src", 5878c2ecf20Sopenharmony_ci .parent_names = gcc_xo_gpll0, 5888c2ecf20Sopenharmony_ci .num_parents = 2, 5898c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 5908c2ecf20Sopenharmony_ci }, 5918c2ecf20Sopenharmony_ci}; 5928c2ecf20Sopenharmony_ci 5938c2ecf20Sopenharmony_cistatic struct clk_rcg2 blsp2_qup1_i2c_apps_clk_src = { 5948c2ecf20Sopenharmony_ci .cmd_rcgr = 0x09a0, 5958c2ecf20Sopenharmony_ci .hid_width = 5, 5968c2ecf20Sopenharmony_ci .parent_map = gcc_xo_gpll0_map, 5978c2ecf20Sopenharmony_ci .freq_tbl = ftbl_gcc_blsp1_2_qup1_6_i2c_apps_clk, 5988c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 5998c2ecf20Sopenharmony_ci .name = "blsp2_qup1_i2c_apps_clk_src", 6008c2ecf20Sopenharmony_ci .parent_names = gcc_xo_gpll0, 6018c2ecf20Sopenharmony_ci .num_parents = 2, 6028c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 6038c2ecf20Sopenharmony_ci }, 6048c2ecf20Sopenharmony_ci}; 6058c2ecf20Sopenharmony_ci 6068c2ecf20Sopenharmony_cistatic struct clk_rcg2 blsp2_qup1_spi_apps_clk_src = { 6078c2ecf20Sopenharmony_ci .cmd_rcgr = 0x098c, 6088c2ecf20Sopenharmony_ci .mnd_width = 8, 6098c2ecf20Sopenharmony_ci .hid_width = 5, 6108c2ecf20Sopenharmony_ci .parent_map = gcc_xo_gpll0_map, 6118c2ecf20Sopenharmony_ci .freq_tbl = ftbl_gcc_blsp1_2_qup1_6_spi_apps_clk, 6128c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 6138c2ecf20Sopenharmony_ci .name = "blsp2_qup1_spi_apps_clk_src", 6148c2ecf20Sopenharmony_ci .parent_names = gcc_xo_gpll0, 6158c2ecf20Sopenharmony_ci .num_parents = 2, 6168c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 6178c2ecf20Sopenharmony_ci }, 6188c2ecf20Sopenharmony_ci}; 6198c2ecf20Sopenharmony_ci 6208c2ecf20Sopenharmony_cistatic struct clk_rcg2 blsp2_qup2_i2c_apps_clk_src = { 6218c2ecf20Sopenharmony_ci .cmd_rcgr = 0x0a20, 6228c2ecf20Sopenharmony_ci .hid_width = 5, 6238c2ecf20Sopenharmony_ci .parent_map = gcc_xo_gpll0_map, 6248c2ecf20Sopenharmony_ci .freq_tbl = ftbl_gcc_blsp1_2_qup1_6_i2c_apps_clk, 6258c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 6268c2ecf20Sopenharmony_ci .name = "blsp2_qup2_i2c_apps_clk_src", 6278c2ecf20Sopenharmony_ci .parent_names = gcc_xo_gpll0, 6288c2ecf20Sopenharmony_ci .num_parents = 2, 6298c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 6308c2ecf20Sopenharmony_ci }, 6318c2ecf20Sopenharmony_ci}; 6328c2ecf20Sopenharmony_ci 6338c2ecf20Sopenharmony_cistatic struct clk_rcg2 blsp2_qup2_spi_apps_clk_src = { 6348c2ecf20Sopenharmony_ci .cmd_rcgr = 0x0a0c, 6358c2ecf20Sopenharmony_ci .mnd_width = 8, 6368c2ecf20Sopenharmony_ci .hid_width = 5, 6378c2ecf20Sopenharmony_ci .parent_map = gcc_xo_gpll0_map, 6388c2ecf20Sopenharmony_ci .freq_tbl = ftbl_gcc_blsp1_2_qup1_6_spi_apps_clk, 6398c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 6408c2ecf20Sopenharmony_ci .name = "blsp2_qup2_spi_apps_clk_src", 6418c2ecf20Sopenharmony_ci .parent_names = gcc_xo_gpll0, 6428c2ecf20Sopenharmony_ci .num_parents = 2, 6438c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 6448c2ecf20Sopenharmony_ci }, 6458c2ecf20Sopenharmony_ci}; 6468c2ecf20Sopenharmony_ci 6478c2ecf20Sopenharmony_cistatic struct clk_rcg2 blsp2_qup3_i2c_apps_clk_src = { 6488c2ecf20Sopenharmony_ci .cmd_rcgr = 0x0aa0, 6498c2ecf20Sopenharmony_ci .hid_width = 5, 6508c2ecf20Sopenharmony_ci .parent_map = gcc_xo_gpll0_map, 6518c2ecf20Sopenharmony_ci .freq_tbl = ftbl_gcc_blsp1_2_qup1_6_i2c_apps_clk, 6528c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 6538c2ecf20Sopenharmony_ci .name = "blsp2_qup3_i2c_apps_clk_src", 6548c2ecf20Sopenharmony_ci .parent_names = gcc_xo_gpll0, 6558c2ecf20Sopenharmony_ci .num_parents = 2, 6568c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 6578c2ecf20Sopenharmony_ci }, 6588c2ecf20Sopenharmony_ci}; 6598c2ecf20Sopenharmony_ci 6608c2ecf20Sopenharmony_cistatic struct clk_rcg2 blsp2_qup3_spi_apps_clk_src = { 6618c2ecf20Sopenharmony_ci .cmd_rcgr = 0x0a8c, 6628c2ecf20Sopenharmony_ci .mnd_width = 8, 6638c2ecf20Sopenharmony_ci .hid_width = 5, 6648c2ecf20Sopenharmony_ci .parent_map = gcc_xo_gpll0_map, 6658c2ecf20Sopenharmony_ci .freq_tbl = ftbl_gcc_blsp1_2_qup1_6_spi_apps_clk, 6668c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 6678c2ecf20Sopenharmony_ci .name = "blsp2_qup3_spi_apps_clk_src", 6688c2ecf20Sopenharmony_ci .parent_names = gcc_xo_gpll0, 6698c2ecf20Sopenharmony_ci .num_parents = 2, 6708c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 6718c2ecf20Sopenharmony_ci }, 6728c2ecf20Sopenharmony_ci}; 6738c2ecf20Sopenharmony_ci 6748c2ecf20Sopenharmony_cistatic struct clk_rcg2 blsp2_qup4_i2c_apps_clk_src = { 6758c2ecf20Sopenharmony_ci .cmd_rcgr = 0x0b20, 6768c2ecf20Sopenharmony_ci .hid_width = 5, 6778c2ecf20Sopenharmony_ci .parent_map = gcc_xo_gpll0_map, 6788c2ecf20Sopenharmony_ci .freq_tbl = ftbl_gcc_blsp1_2_qup1_6_i2c_apps_clk, 6798c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 6808c2ecf20Sopenharmony_ci .name = "blsp2_qup4_i2c_apps_clk_src", 6818c2ecf20Sopenharmony_ci .parent_names = gcc_xo_gpll0, 6828c2ecf20Sopenharmony_ci .num_parents = 2, 6838c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 6848c2ecf20Sopenharmony_ci }, 6858c2ecf20Sopenharmony_ci}; 6868c2ecf20Sopenharmony_ci 6878c2ecf20Sopenharmony_cistatic struct clk_rcg2 blsp2_qup4_spi_apps_clk_src = { 6888c2ecf20Sopenharmony_ci .cmd_rcgr = 0x0b0c, 6898c2ecf20Sopenharmony_ci .mnd_width = 8, 6908c2ecf20Sopenharmony_ci .hid_width = 5, 6918c2ecf20Sopenharmony_ci .parent_map = gcc_xo_gpll0_map, 6928c2ecf20Sopenharmony_ci .freq_tbl = ftbl_gcc_blsp1_2_qup1_6_spi_apps_clk, 6938c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 6948c2ecf20Sopenharmony_ci .name = "blsp2_qup4_spi_apps_clk_src", 6958c2ecf20Sopenharmony_ci .parent_names = gcc_xo_gpll0, 6968c2ecf20Sopenharmony_ci .num_parents = 2, 6978c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 6988c2ecf20Sopenharmony_ci }, 6998c2ecf20Sopenharmony_ci}; 7008c2ecf20Sopenharmony_ci 7018c2ecf20Sopenharmony_cistatic struct clk_rcg2 blsp2_qup5_i2c_apps_clk_src = { 7028c2ecf20Sopenharmony_ci .cmd_rcgr = 0x0ba0, 7038c2ecf20Sopenharmony_ci .hid_width = 5, 7048c2ecf20Sopenharmony_ci .parent_map = gcc_xo_gpll0_map, 7058c2ecf20Sopenharmony_ci .freq_tbl = ftbl_gcc_blsp1_2_qup1_6_i2c_apps_clk, 7068c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 7078c2ecf20Sopenharmony_ci .name = "blsp2_qup5_i2c_apps_clk_src", 7088c2ecf20Sopenharmony_ci .parent_names = gcc_xo_gpll0, 7098c2ecf20Sopenharmony_ci .num_parents = 2, 7108c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 7118c2ecf20Sopenharmony_ci }, 7128c2ecf20Sopenharmony_ci}; 7138c2ecf20Sopenharmony_ci 7148c2ecf20Sopenharmony_cistatic struct clk_rcg2 blsp2_qup5_spi_apps_clk_src = { 7158c2ecf20Sopenharmony_ci .cmd_rcgr = 0x0b8c, 7168c2ecf20Sopenharmony_ci .mnd_width = 8, 7178c2ecf20Sopenharmony_ci .hid_width = 5, 7188c2ecf20Sopenharmony_ci .parent_map = gcc_xo_gpll0_map, 7198c2ecf20Sopenharmony_ci .freq_tbl = ftbl_gcc_blsp1_2_qup1_6_spi_apps_clk, 7208c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 7218c2ecf20Sopenharmony_ci .name = "blsp2_qup5_spi_apps_clk_src", 7228c2ecf20Sopenharmony_ci .parent_names = gcc_xo_gpll0, 7238c2ecf20Sopenharmony_ci .num_parents = 2, 7248c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 7258c2ecf20Sopenharmony_ci }, 7268c2ecf20Sopenharmony_ci}; 7278c2ecf20Sopenharmony_ci 7288c2ecf20Sopenharmony_cistatic struct clk_rcg2 blsp2_qup6_i2c_apps_clk_src = { 7298c2ecf20Sopenharmony_ci .cmd_rcgr = 0x0c20, 7308c2ecf20Sopenharmony_ci .hid_width = 5, 7318c2ecf20Sopenharmony_ci .parent_map = gcc_xo_gpll0_map, 7328c2ecf20Sopenharmony_ci .freq_tbl = ftbl_gcc_blsp1_2_qup1_6_i2c_apps_clk, 7338c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 7348c2ecf20Sopenharmony_ci .name = "blsp2_qup6_i2c_apps_clk_src", 7358c2ecf20Sopenharmony_ci .parent_names = gcc_xo_gpll0, 7368c2ecf20Sopenharmony_ci .num_parents = 2, 7378c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 7388c2ecf20Sopenharmony_ci }, 7398c2ecf20Sopenharmony_ci}; 7408c2ecf20Sopenharmony_ci 7418c2ecf20Sopenharmony_cistatic struct clk_rcg2 blsp2_qup6_spi_apps_clk_src = { 7428c2ecf20Sopenharmony_ci .cmd_rcgr = 0x0c0c, 7438c2ecf20Sopenharmony_ci .mnd_width = 8, 7448c2ecf20Sopenharmony_ci .hid_width = 5, 7458c2ecf20Sopenharmony_ci .parent_map = gcc_xo_gpll0_map, 7468c2ecf20Sopenharmony_ci .freq_tbl = ftbl_gcc_blsp1_2_qup1_6_spi_apps_clk, 7478c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 7488c2ecf20Sopenharmony_ci .name = "blsp2_qup6_spi_apps_clk_src", 7498c2ecf20Sopenharmony_ci .parent_names = gcc_xo_gpll0, 7508c2ecf20Sopenharmony_ci .num_parents = 2, 7518c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 7528c2ecf20Sopenharmony_ci }, 7538c2ecf20Sopenharmony_ci}; 7548c2ecf20Sopenharmony_ci 7558c2ecf20Sopenharmony_cistatic struct clk_rcg2 blsp2_uart1_apps_clk_src = { 7568c2ecf20Sopenharmony_ci .cmd_rcgr = 0x09cc, 7578c2ecf20Sopenharmony_ci .mnd_width = 16, 7588c2ecf20Sopenharmony_ci .hid_width = 5, 7598c2ecf20Sopenharmony_ci .parent_map = gcc_xo_gpll0_map, 7608c2ecf20Sopenharmony_ci .freq_tbl = ftbl_gcc_blsp1_2_uart1_6_apps_clk, 7618c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 7628c2ecf20Sopenharmony_ci .name = "blsp2_uart1_apps_clk_src", 7638c2ecf20Sopenharmony_ci .parent_names = gcc_xo_gpll0, 7648c2ecf20Sopenharmony_ci .num_parents = 2, 7658c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 7668c2ecf20Sopenharmony_ci }, 7678c2ecf20Sopenharmony_ci}; 7688c2ecf20Sopenharmony_ci 7698c2ecf20Sopenharmony_cistatic struct clk_rcg2 blsp2_uart2_apps_clk_src = { 7708c2ecf20Sopenharmony_ci .cmd_rcgr = 0x0a4c, 7718c2ecf20Sopenharmony_ci .mnd_width = 16, 7728c2ecf20Sopenharmony_ci .hid_width = 5, 7738c2ecf20Sopenharmony_ci .parent_map = gcc_xo_gpll0_map, 7748c2ecf20Sopenharmony_ci .freq_tbl = ftbl_gcc_blsp1_2_uart1_6_apps_clk, 7758c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 7768c2ecf20Sopenharmony_ci .name = "blsp2_uart2_apps_clk_src", 7778c2ecf20Sopenharmony_ci .parent_names = gcc_xo_gpll0, 7788c2ecf20Sopenharmony_ci .num_parents = 2, 7798c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 7808c2ecf20Sopenharmony_ci }, 7818c2ecf20Sopenharmony_ci}; 7828c2ecf20Sopenharmony_ci 7838c2ecf20Sopenharmony_cistatic struct clk_rcg2 blsp2_uart3_apps_clk_src = { 7848c2ecf20Sopenharmony_ci .cmd_rcgr = 0x0acc, 7858c2ecf20Sopenharmony_ci .mnd_width = 16, 7868c2ecf20Sopenharmony_ci .hid_width = 5, 7878c2ecf20Sopenharmony_ci .parent_map = gcc_xo_gpll0_map, 7888c2ecf20Sopenharmony_ci .freq_tbl = ftbl_gcc_blsp1_2_uart1_6_apps_clk, 7898c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 7908c2ecf20Sopenharmony_ci .name = "blsp2_uart3_apps_clk_src", 7918c2ecf20Sopenharmony_ci .parent_names = gcc_xo_gpll0, 7928c2ecf20Sopenharmony_ci .num_parents = 2, 7938c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 7948c2ecf20Sopenharmony_ci }, 7958c2ecf20Sopenharmony_ci}; 7968c2ecf20Sopenharmony_ci 7978c2ecf20Sopenharmony_cistatic struct clk_rcg2 blsp2_uart4_apps_clk_src = { 7988c2ecf20Sopenharmony_ci .cmd_rcgr = 0x0b4c, 7998c2ecf20Sopenharmony_ci .mnd_width = 16, 8008c2ecf20Sopenharmony_ci .hid_width = 5, 8018c2ecf20Sopenharmony_ci .parent_map = gcc_xo_gpll0_map, 8028c2ecf20Sopenharmony_ci .freq_tbl = ftbl_gcc_blsp1_2_uart1_6_apps_clk, 8038c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 8048c2ecf20Sopenharmony_ci .name = "blsp2_uart4_apps_clk_src", 8058c2ecf20Sopenharmony_ci .parent_names = gcc_xo_gpll0, 8068c2ecf20Sopenharmony_ci .num_parents = 2, 8078c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 8088c2ecf20Sopenharmony_ci }, 8098c2ecf20Sopenharmony_ci}; 8108c2ecf20Sopenharmony_ci 8118c2ecf20Sopenharmony_cistatic struct clk_rcg2 blsp2_uart5_apps_clk_src = { 8128c2ecf20Sopenharmony_ci .cmd_rcgr = 0x0bcc, 8138c2ecf20Sopenharmony_ci .mnd_width = 16, 8148c2ecf20Sopenharmony_ci .hid_width = 5, 8158c2ecf20Sopenharmony_ci .parent_map = gcc_xo_gpll0_map, 8168c2ecf20Sopenharmony_ci .freq_tbl = ftbl_gcc_blsp1_2_uart1_6_apps_clk, 8178c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 8188c2ecf20Sopenharmony_ci .name = "blsp2_uart5_apps_clk_src", 8198c2ecf20Sopenharmony_ci .parent_names = gcc_xo_gpll0, 8208c2ecf20Sopenharmony_ci .num_parents = 2, 8218c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 8228c2ecf20Sopenharmony_ci }, 8238c2ecf20Sopenharmony_ci}; 8248c2ecf20Sopenharmony_ci 8258c2ecf20Sopenharmony_cistatic struct clk_rcg2 blsp2_uart6_apps_clk_src = { 8268c2ecf20Sopenharmony_ci .cmd_rcgr = 0x0c4c, 8278c2ecf20Sopenharmony_ci .mnd_width = 16, 8288c2ecf20Sopenharmony_ci .hid_width = 5, 8298c2ecf20Sopenharmony_ci .parent_map = gcc_xo_gpll0_map, 8308c2ecf20Sopenharmony_ci .freq_tbl = ftbl_gcc_blsp1_2_uart1_6_apps_clk, 8318c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 8328c2ecf20Sopenharmony_ci .name = "blsp2_uart6_apps_clk_src", 8338c2ecf20Sopenharmony_ci .parent_names = gcc_xo_gpll0, 8348c2ecf20Sopenharmony_ci .num_parents = 2, 8358c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 8368c2ecf20Sopenharmony_ci }, 8378c2ecf20Sopenharmony_ci}; 8388c2ecf20Sopenharmony_ci 8398c2ecf20Sopenharmony_cistatic const struct freq_tbl ftbl_gcc_ce1_clk[] = { 8408c2ecf20Sopenharmony_ci F(50000000, P_GPLL0, 12, 0, 0), 8418c2ecf20Sopenharmony_ci F(85710000, P_GPLL0, 7, 0, 0), 8428c2ecf20Sopenharmony_ci F(100000000, P_GPLL0, 6, 0, 0), 8438c2ecf20Sopenharmony_ci F(171430000, P_GPLL0, 3.5, 0, 0), 8448c2ecf20Sopenharmony_ci { } 8458c2ecf20Sopenharmony_ci}; 8468c2ecf20Sopenharmony_ci 8478c2ecf20Sopenharmony_cistatic struct clk_rcg2 ce1_clk_src = { 8488c2ecf20Sopenharmony_ci .cmd_rcgr = 0x1050, 8498c2ecf20Sopenharmony_ci .hid_width = 5, 8508c2ecf20Sopenharmony_ci .parent_map = gcc_xo_gpll0_map, 8518c2ecf20Sopenharmony_ci .freq_tbl = ftbl_gcc_ce1_clk, 8528c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 8538c2ecf20Sopenharmony_ci .name = "ce1_clk_src", 8548c2ecf20Sopenharmony_ci .parent_names = gcc_xo_gpll0, 8558c2ecf20Sopenharmony_ci .num_parents = 2, 8568c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 8578c2ecf20Sopenharmony_ci }, 8588c2ecf20Sopenharmony_ci}; 8598c2ecf20Sopenharmony_ci 8608c2ecf20Sopenharmony_cistatic const struct freq_tbl ftbl_gcc_ce2_clk[] = { 8618c2ecf20Sopenharmony_ci F(50000000, P_GPLL0, 12, 0, 0), 8628c2ecf20Sopenharmony_ci F(85710000, P_GPLL0, 7, 0, 0), 8638c2ecf20Sopenharmony_ci F(100000000, P_GPLL0, 6, 0, 0), 8648c2ecf20Sopenharmony_ci F(171430000, P_GPLL0, 3.5, 0, 0), 8658c2ecf20Sopenharmony_ci { } 8668c2ecf20Sopenharmony_ci}; 8678c2ecf20Sopenharmony_ci 8688c2ecf20Sopenharmony_cistatic struct clk_rcg2 ce2_clk_src = { 8698c2ecf20Sopenharmony_ci .cmd_rcgr = 0x1090, 8708c2ecf20Sopenharmony_ci .hid_width = 5, 8718c2ecf20Sopenharmony_ci .parent_map = gcc_xo_gpll0_map, 8728c2ecf20Sopenharmony_ci .freq_tbl = ftbl_gcc_ce2_clk, 8738c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 8748c2ecf20Sopenharmony_ci .name = "ce2_clk_src", 8758c2ecf20Sopenharmony_ci .parent_names = gcc_xo_gpll0, 8768c2ecf20Sopenharmony_ci .num_parents = 2, 8778c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 8788c2ecf20Sopenharmony_ci }, 8798c2ecf20Sopenharmony_ci}; 8808c2ecf20Sopenharmony_ci 8818c2ecf20Sopenharmony_cistatic const struct freq_tbl ftbl_gcc_ce3_clk[] = { 8828c2ecf20Sopenharmony_ci F(50000000, P_GPLL0, 12, 0, 0), 8838c2ecf20Sopenharmony_ci F(85710000, P_GPLL0, 7, 0, 0), 8848c2ecf20Sopenharmony_ci F(100000000, P_GPLL0, 6, 0, 0), 8858c2ecf20Sopenharmony_ci F(171430000, P_GPLL0, 3.5, 0, 0), 8868c2ecf20Sopenharmony_ci { } 8878c2ecf20Sopenharmony_ci}; 8888c2ecf20Sopenharmony_ci 8898c2ecf20Sopenharmony_cistatic struct clk_rcg2 ce3_clk_src = { 8908c2ecf20Sopenharmony_ci .cmd_rcgr = 0x1d10, 8918c2ecf20Sopenharmony_ci .hid_width = 5, 8928c2ecf20Sopenharmony_ci .parent_map = gcc_xo_gpll0_map, 8938c2ecf20Sopenharmony_ci .freq_tbl = ftbl_gcc_ce3_clk, 8948c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 8958c2ecf20Sopenharmony_ci .name = "ce3_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 const struct freq_tbl ftbl_gcc_gp_clk[] = { 9038c2ecf20Sopenharmony_ci F(19200000, P_XO, 1, 0, 0), 9048c2ecf20Sopenharmony_ci F(100000000, P_GPLL0, 6, 0, 0), 9058c2ecf20Sopenharmony_ci F(200000000, P_GPLL0, 3, 0, 0), 9068c2ecf20Sopenharmony_ci { } 9078c2ecf20Sopenharmony_ci}; 9088c2ecf20Sopenharmony_ci 9098c2ecf20Sopenharmony_cistatic struct clk_rcg2 gp1_clk_src = { 9108c2ecf20Sopenharmony_ci .cmd_rcgr = 0x1904, 9118c2ecf20Sopenharmony_ci .mnd_width = 8, 9128c2ecf20Sopenharmony_ci .hid_width = 5, 9138c2ecf20Sopenharmony_ci .parent_map = gcc_xo_gpll0_map, 9148c2ecf20Sopenharmony_ci .freq_tbl = ftbl_gcc_gp_clk, 9158c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 9168c2ecf20Sopenharmony_ci .name = "gp1_clk_src", 9178c2ecf20Sopenharmony_ci .parent_names = gcc_xo_gpll0, 9188c2ecf20Sopenharmony_ci .num_parents = 2, 9198c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 9208c2ecf20Sopenharmony_ci }, 9218c2ecf20Sopenharmony_ci}; 9228c2ecf20Sopenharmony_ci 9238c2ecf20Sopenharmony_cistatic struct clk_rcg2 gp2_clk_src = { 9248c2ecf20Sopenharmony_ci .cmd_rcgr = 0x1944, 9258c2ecf20Sopenharmony_ci .mnd_width = 8, 9268c2ecf20Sopenharmony_ci .hid_width = 5, 9278c2ecf20Sopenharmony_ci .parent_map = gcc_xo_gpll0_map, 9288c2ecf20Sopenharmony_ci .freq_tbl = ftbl_gcc_gp_clk, 9298c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 9308c2ecf20Sopenharmony_ci .name = "gp2_clk_src", 9318c2ecf20Sopenharmony_ci .parent_names = gcc_xo_gpll0, 9328c2ecf20Sopenharmony_ci .num_parents = 2, 9338c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 9348c2ecf20Sopenharmony_ci }, 9358c2ecf20Sopenharmony_ci}; 9368c2ecf20Sopenharmony_ci 9378c2ecf20Sopenharmony_cistatic struct clk_rcg2 gp3_clk_src = { 9388c2ecf20Sopenharmony_ci .cmd_rcgr = 0x1984, 9398c2ecf20Sopenharmony_ci .mnd_width = 8, 9408c2ecf20Sopenharmony_ci .hid_width = 5, 9418c2ecf20Sopenharmony_ci .parent_map = gcc_xo_gpll0_map, 9428c2ecf20Sopenharmony_ci .freq_tbl = ftbl_gcc_gp_clk, 9438c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 9448c2ecf20Sopenharmony_ci .name = "gp3_clk_src", 9458c2ecf20Sopenharmony_ci .parent_names = gcc_xo_gpll0, 9468c2ecf20Sopenharmony_ci .num_parents = 2, 9478c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 9488c2ecf20Sopenharmony_ci }, 9498c2ecf20Sopenharmony_ci}; 9508c2ecf20Sopenharmony_ci 9518c2ecf20Sopenharmony_cistatic const struct freq_tbl ftbl_gcc_pcie_0_1_aux_clk[] = { 9528c2ecf20Sopenharmony_ci F(1010000, P_XO, 1, 1, 19), 9538c2ecf20Sopenharmony_ci { } 9548c2ecf20Sopenharmony_ci}; 9558c2ecf20Sopenharmony_ci 9568c2ecf20Sopenharmony_cistatic struct clk_rcg2 pcie_0_aux_clk_src = { 9578c2ecf20Sopenharmony_ci .cmd_rcgr = 0x1b2c, 9588c2ecf20Sopenharmony_ci .mnd_width = 16, 9598c2ecf20Sopenharmony_ci .hid_width = 5, 9608c2ecf20Sopenharmony_ci .parent_map = gcc_xo_pcie_sleep_map, 9618c2ecf20Sopenharmony_ci .freq_tbl = ftbl_gcc_pcie_0_1_aux_clk, 9628c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 9638c2ecf20Sopenharmony_ci .name = "pcie_0_aux_clk_src", 9648c2ecf20Sopenharmony_ci .parent_names = gcc_xo_pcie_sleep, 9658c2ecf20Sopenharmony_ci .num_parents = 2, 9668c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 9678c2ecf20Sopenharmony_ci }, 9688c2ecf20Sopenharmony_ci}; 9698c2ecf20Sopenharmony_ci 9708c2ecf20Sopenharmony_cistatic struct clk_rcg2 pcie_1_aux_clk_src = { 9718c2ecf20Sopenharmony_ci .cmd_rcgr = 0x1bac, 9728c2ecf20Sopenharmony_ci .mnd_width = 16, 9738c2ecf20Sopenharmony_ci .hid_width = 5, 9748c2ecf20Sopenharmony_ci .parent_map = gcc_xo_pcie_sleep_map, 9758c2ecf20Sopenharmony_ci .freq_tbl = ftbl_gcc_pcie_0_1_aux_clk, 9768c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 9778c2ecf20Sopenharmony_ci .name = "pcie_1_aux_clk_src", 9788c2ecf20Sopenharmony_ci .parent_names = gcc_xo_pcie_sleep, 9798c2ecf20Sopenharmony_ci .num_parents = 2, 9808c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 9818c2ecf20Sopenharmony_ci }, 9828c2ecf20Sopenharmony_ci}; 9838c2ecf20Sopenharmony_ci 9848c2ecf20Sopenharmony_cistatic const struct freq_tbl ftbl_gcc_pcie_0_1_pipe_clk[] = { 9858c2ecf20Sopenharmony_ci F(125000000, P_PCIE_0_1_PIPE_CLK, 1, 0, 0), 9868c2ecf20Sopenharmony_ci F(250000000, P_PCIE_0_1_PIPE_CLK, 1, 0, 0), 9878c2ecf20Sopenharmony_ci { } 9888c2ecf20Sopenharmony_ci}; 9898c2ecf20Sopenharmony_ci 9908c2ecf20Sopenharmony_cistatic struct clk_rcg2 pcie_0_pipe_clk_src = { 9918c2ecf20Sopenharmony_ci .cmd_rcgr = 0x1b18, 9928c2ecf20Sopenharmony_ci .hid_width = 5, 9938c2ecf20Sopenharmony_ci .parent_map = gcc_xo_pcie_map, 9948c2ecf20Sopenharmony_ci .freq_tbl = ftbl_gcc_pcie_0_1_pipe_clk, 9958c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 9968c2ecf20Sopenharmony_ci .name = "pcie_0_pipe_clk_src", 9978c2ecf20Sopenharmony_ci .parent_names = gcc_xo_pcie, 9988c2ecf20Sopenharmony_ci .num_parents = 2, 9998c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 10008c2ecf20Sopenharmony_ci }, 10018c2ecf20Sopenharmony_ci}; 10028c2ecf20Sopenharmony_ci 10038c2ecf20Sopenharmony_cistatic struct clk_rcg2 pcie_1_pipe_clk_src = { 10048c2ecf20Sopenharmony_ci .cmd_rcgr = 0x1b98, 10058c2ecf20Sopenharmony_ci .hid_width = 5, 10068c2ecf20Sopenharmony_ci .parent_map = gcc_xo_pcie_map, 10078c2ecf20Sopenharmony_ci .freq_tbl = ftbl_gcc_pcie_0_1_pipe_clk, 10088c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 10098c2ecf20Sopenharmony_ci .name = "pcie_1_pipe_clk_src", 10108c2ecf20Sopenharmony_ci .parent_names = gcc_xo_pcie, 10118c2ecf20Sopenharmony_ci .num_parents = 2, 10128c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 10138c2ecf20Sopenharmony_ci }, 10148c2ecf20Sopenharmony_ci}; 10158c2ecf20Sopenharmony_ci 10168c2ecf20Sopenharmony_cistatic const struct freq_tbl ftbl_gcc_pdm2_clk[] = { 10178c2ecf20Sopenharmony_ci F(60000000, P_GPLL0, 10, 0, 0), 10188c2ecf20Sopenharmony_ci { } 10198c2ecf20Sopenharmony_ci}; 10208c2ecf20Sopenharmony_ci 10218c2ecf20Sopenharmony_cistatic struct clk_rcg2 pdm2_clk_src = { 10228c2ecf20Sopenharmony_ci .cmd_rcgr = 0x0cd0, 10238c2ecf20Sopenharmony_ci .hid_width = 5, 10248c2ecf20Sopenharmony_ci .parent_map = gcc_xo_gpll0_map, 10258c2ecf20Sopenharmony_ci .freq_tbl = ftbl_gcc_pdm2_clk, 10268c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 10278c2ecf20Sopenharmony_ci .name = "pdm2_clk_src", 10288c2ecf20Sopenharmony_ci .parent_names = gcc_xo_gpll0, 10298c2ecf20Sopenharmony_ci .num_parents = 2, 10308c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 10318c2ecf20Sopenharmony_ci }, 10328c2ecf20Sopenharmony_ci}; 10338c2ecf20Sopenharmony_ci 10348c2ecf20Sopenharmony_cistatic const struct freq_tbl ftbl_gcc_sata_asic0_clk[] = { 10358c2ecf20Sopenharmony_ci F(75000000, P_SATA_ASIC0_CLK, 1, 0, 0), 10368c2ecf20Sopenharmony_ci F(150000000, P_SATA_ASIC0_CLK, 1, 0, 0), 10378c2ecf20Sopenharmony_ci F(300000000, P_SATA_ASIC0_CLK, 1, 0, 0), 10388c2ecf20Sopenharmony_ci { } 10398c2ecf20Sopenharmony_ci}; 10408c2ecf20Sopenharmony_ci 10418c2ecf20Sopenharmony_cistatic struct clk_rcg2 sata_asic0_clk_src = { 10428c2ecf20Sopenharmony_ci .cmd_rcgr = 0x1c94, 10438c2ecf20Sopenharmony_ci .hid_width = 5, 10448c2ecf20Sopenharmony_ci .parent_map = gcc_xo_sata_asic0_map, 10458c2ecf20Sopenharmony_ci .freq_tbl = ftbl_gcc_sata_asic0_clk, 10468c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 10478c2ecf20Sopenharmony_ci .name = "sata_asic0_clk_src", 10488c2ecf20Sopenharmony_ci .parent_names = gcc_xo_sata_asic0, 10498c2ecf20Sopenharmony_ci .num_parents = 2, 10508c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 10518c2ecf20Sopenharmony_ci }, 10528c2ecf20Sopenharmony_ci}; 10538c2ecf20Sopenharmony_ci 10548c2ecf20Sopenharmony_cistatic const struct freq_tbl ftbl_gcc_sata_pmalive_clk[] = { 10558c2ecf20Sopenharmony_ci F(19200000, P_XO, 1, 0, 0), 10568c2ecf20Sopenharmony_ci F(50000000, P_GPLL0, 12, 0, 0), 10578c2ecf20Sopenharmony_ci F(100000000, P_GPLL0, 6, 0, 0), 10588c2ecf20Sopenharmony_ci { } 10598c2ecf20Sopenharmony_ci}; 10608c2ecf20Sopenharmony_ci 10618c2ecf20Sopenharmony_cistatic struct clk_rcg2 sata_pmalive_clk_src = { 10628c2ecf20Sopenharmony_ci .cmd_rcgr = 0x1c80, 10638c2ecf20Sopenharmony_ci .hid_width = 5, 10648c2ecf20Sopenharmony_ci .parent_map = gcc_xo_gpll0_map, 10658c2ecf20Sopenharmony_ci .freq_tbl = ftbl_gcc_sata_pmalive_clk, 10668c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 10678c2ecf20Sopenharmony_ci .name = "sata_pmalive_clk_src", 10688c2ecf20Sopenharmony_ci .parent_names = gcc_xo_gpll0, 10698c2ecf20Sopenharmony_ci .num_parents = 2, 10708c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 10718c2ecf20Sopenharmony_ci }, 10728c2ecf20Sopenharmony_ci}; 10738c2ecf20Sopenharmony_ci 10748c2ecf20Sopenharmony_cistatic const struct freq_tbl ftbl_gcc_sata_rx_clk[] = { 10758c2ecf20Sopenharmony_ci F(75000000, P_SATA_RX_CLK, 1, 0, 0), 10768c2ecf20Sopenharmony_ci F(150000000, P_SATA_RX_CLK, 1, 0, 0), 10778c2ecf20Sopenharmony_ci F(300000000, P_SATA_RX_CLK, 1, 0, 0), 10788c2ecf20Sopenharmony_ci { } 10798c2ecf20Sopenharmony_ci}; 10808c2ecf20Sopenharmony_ci 10818c2ecf20Sopenharmony_cistatic struct clk_rcg2 sata_rx_clk_src = { 10828c2ecf20Sopenharmony_ci .cmd_rcgr = 0x1ca8, 10838c2ecf20Sopenharmony_ci .hid_width = 5, 10848c2ecf20Sopenharmony_ci .parent_map = gcc_xo_sata_rx_map, 10858c2ecf20Sopenharmony_ci .freq_tbl = ftbl_gcc_sata_rx_clk, 10868c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 10878c2ecf20Sopenharmony_ci .name = "sata_rx_clk_src", 10888c2ecf20Sopenharmony_ci .parent_names = gcc_xo_sata_rx, 10898c2ecf20Sopenharmony_ci .num_parents = 2, 10908c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 10918c2ecf20Sopenharmony_ci }, 10928c2ecf20Sopenharmony_ci}; 10938c2ecf20Sopenharmony_ci 10948c2ecf20Sopenharmony_cistatic const struct freq_tbl ftbl_gcc_sata_rx_oob_clk[] = { 10958c2ecf20Sopenharmony_ci F(100000000, P_GPLL0, 6, 0, 0), 10968c2ecf20Sopenharmony_ci { } 10978c2ecf20Sopenharmony_ci}; 10988c2ecf20Sopenharmony_ci 10998c2ecf20Sopenharmony_cistatic struct clk_rcg2 sata_rx_oob_clk_src = { 11008c2ecf20Sopenharmony_ci .cmd_rcgr = 0x1c5c, 11018c2ecf20Sopenharmony_ci .hid_width = 5, 11028c2ecf20Sopenharmony_ci .parent_map = gcc_xo_gpll0_map, 11038c2ecf20Sopenharmony_ci .freq_tbl = ftbl_gcc_sata_rx_oob_clk, 11048c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 11058c2ecf20Sopenharmony_ci .name = "sata_rx_oob_clk_src", 11068c2ecf20Sopenharmony_ci .parent_names = gcc_xo_gpll0, 11078c2ecf20Sopenharmony_ci .num_parents = 2, 11088c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 11098c2ecf20Sopenharmony_ci }, 11108c2ecf20Sopenharmony_ci}; 11118c2ecf20Sopenharmony_ci 11128c2ecf20Sopenharmony_cistatic const struct freq_tbl ftbl_gcc_sdcc1_4_apps_clk[] = { 11138c2ecf20Sopenharmony_ci F(144000, P_XO, 16, 3, 25), 11148c2ecf20Sopenharmony_ci F(400000, P_XO, 12, 1, 4), 11158c2ecf20Sopenharmony_ci F(20000000, P_GPLL0, 15, 1, 2), 11168c2ecf20Sopenharmony_ci F(25000000, P_GPLL0, 12, 1, 2), 11178c2ecf20Sopenharmony_ci F(50000000, P_GPLL0, 12, 0, 0), 11188c2ecf20Sopenharmony_ci F(100000000, P_GPLL0, 6, 0, 0), 11198c2ecf20Sopenharmony_ci F(192000000, P_GPLL4, 4, 0, 0), 11208c2ecf20Sopenharmony_ci F(200000000, P_GPLL0, 3, 0, 0), 11218c2ecf20Sopenharmony_ci F(384000000, P_GPLL4, 2, 0, 0), 11228c2ecf20Sopenharmony_ci { } 11238c2ecf20Sopenharmony_ci}; 11248c2ecf20Sopenharmony_ci 11258c2ecf20Sopenharmony_cistatic struct clk_rcg2 sdcc1_apps_clk_src = { 11268c2ecf20Sopenharmony_ci .cmd_rcgr = 0x04d0, 11278c2ecf20Sopenharmony_ci .mnd_width = 8, 11288c2ecf20Sopenharmony_ci .hid_width = 5, 11298c2ecf20Sopenharmony_ci .parent_map = gcc_xo_gpll0_gpll4_map, 11308c2ecf20Sopenharmony_ci .freq_tbl = ftbl_gcc_sdcc1_4_apps_clk, 11318c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 11328c2ecf20Sopenharmony_ci .name = "sdcc1_apps_clk_src", 11338c2ecf20Sopenharmony_ci .parent_names = gcc_xo_gpll0_gpll4, 11348c2ecf20Sopenharmony_ci .num_parents = 3, 11358c2ecf20Sopenharmony_ci .ops = &clk_rcg2_floor_ops, 11368c2ecf20Sopenharmony_ci }, 11378c2ecf20Sopenharmony_ci}; 11388c2ecf20Sopenharmony_ci 11398c2ecf20Sopenharmony_cistatic struct clk_rcg2 sdcc2_apps_clk_src = { 11408c2ecf20Sopenharmony_ci .cmd_rcgr = 0x0510, 11418c2ecf20Sopenharmony_ci .mnd_width = 8, 11428c2ecf20Sopenharmony_ci .hid_width = 5, 11438c2ecf20Sopenharmony_ci .parent_map = gcc_xo_gpll0_map, 11448c2ecf20Sopenharmony_ci .freq_tbl = ftbl_gcc_sdcc1_4_apps_clk, 11458c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 11468c2ecf20Sopenharmony_ci .name = "sdcc2_apps_clk_src", 11478c2ecf20Sopenharmony_ci .parent_names = gcc_xo_gpll0, 11488c2ecf20Sopenharmony_ci .num_parents = 2, 11498c2ecf20Sopenharmony_ci .ops = &clk_rcg2_floor_ops, 11508c2ecf20Sopenharmony_ci }, 11518c2ecf20Sopenharmony_ci}; 11528c2ecf20Sopenharmony_ci 11538c2ecf20Sopenharmony_cistatic struct clk_rcg2 sdcc3_apps_clk_src = { 11548c2ecf20Sopenharmony_ci .cmd_rcgr = 0x0550, 11558c2ecf20Sopenharmony_ci .mnd_width = 8, 11568c2ecf20Sopenharmony_ci .hid_width = 5, 11578c2ecf20Sopenharmony_ci .parent_map = gcc_xo_gpll0_map, 11588c2ecf20Sopenharmony_ci .freq_tbl = ftbl_gcc_sdcc1_4_apps_clk, 11598c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 11608c2ecf20Sopenharmony_ci .name = "sdcc3_apps_clk_src", 11618c2ecf20Sopenharmony_ci .parent_names = gcc_xo_gpll0, 11628c2ecf20Sopenharmony_ci .num_parents = 2, 11638c2ecf20Sopenharmony_ci .ops = &clk_rcg2_floor_ops, 11648c2ecf20Sopenharmony_ci }, 11658c2ecf20Sopenharmony_ci}; 11668c2ecf20Sopenharmony_ci 11678c2ecf20Sopenharmony_cistatic struct clk_rcg2 sdcc4_apps_clk_src = { 11688c2ecf20Sopenharmony_ci .cmd_rcgr = 0x0590, 11698c2ecf20Sopenharmony_ci .mnd_width = 8, 11708c2ecf20Sopenharmony_ci .hid_width = 5, 11718c2ecf20Sopenharmony_ci .parent_map = gcc_xo_gpll0_map, 11728c2ecf20Sopenharmony_ci .freq_tbl = ftbl_gcc_sdcc1_4_apps_clk, 11738c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 11748c2ecf20Sopenharmony_ci .name = "sdcc4_apps_clk_src", 11758c2ecf20Sopenharmony_ci .parent_names = gcc_xo_gpll0, 11768c2ecf20Sopenharmony_ci .num_parents = 2, 11778c2ecf20Sopenharmony_ci .ops = &clk_rcg2_floor_ops, 11788c2ecf20Sopenharmony_ci }, 11798c2ecf20Sopenharmony_ci}; 11808c2ecf20Sopenharmony_ci 11818c2ecf20Sopenharmony_cistatic const struct freq_tbl ftbl_gcc_tsif_ref_clk[] = { 11828c2ecf20Sopenharmony_ci F(105000, P_XO, 2, 1, 91), 11838c2ecf20Sopenharmony_ci { } 11848c2ecf20Sopenharmony_ci}; 11858c2ecf20Sopenharmony_ci 11868c2ecf20Sopenharmony_cistatic struct clk_rcg2 tsif_ref_clk_src = { 11878c2ecf20Sopenharmony_ci .cmd_rcgr = 0x0d90, 11888c2ecf20Sopenharmony_ci .mnd_width = 8, 11898c2ecf20Sopenharmony_ci .hid_width = 5, 11908c2ecf20Sopenharmony_ci .parent_map = gcc_xo_gpll0_map, 11918c2ecf20Sopenharmony_ci .freq_tbl = ftbl_gcc_tsif_ref_clk, 11928c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 11938c2ecf20Sopenharmony_ci .name = "tsif_ref_clk_src", 11948c2ecf20Sopenharmony_ci .parent_names = gcc_xo_gpll0, 11958c2ecf20Sopenharmony_ci .num_parents = 2, 11968c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 11978c2ecf20Sopenharmony_ci }, 11988c2ecf20Sopenharmony_ci}; 11998c2ecf20Sopenharmony_ci 12008c2ecf20Sopenharmony_cistatic const struct freq_tbl ftbl_gcc_usb30_mock_utmi_clk[] = { 12018c2ecf20Sopenharmony_ci F(60000000, P_GPLL0, 10, 0, 0), 12028c2ecf20Sopenharmony_ci { } 12038c2ecf20Sopenharmony_ci}; 12048c2ecf20Sopenharmony_ci 12058c2ecf20Sopenharmony_cistatic struct clk_rcg2 usb30_mock_utmi_clk_src = { 12068c2ecf20Sopenharmony_ci .cmd_rcgr = 0x03e8, 12078c2ecf20Sopenharmony_ci .hid_width = 5, 12088c2ecf20Sopenharmony_ci .parent_map = gcc_xo_gpll0_map, 12098c2ecf20Sopenharmony_ci .freq_tbl = ftbl_gcc_usb30_mock_utmi_clk, 12108c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 12118c2ecf20Sopenharmony_ci .name = "usb30_mock_utmi_clk_src", 12128c2ecf20Sopenharmony_ci .parent_names = gcc_xo_gpll0, 12138c2ecf20Sopenharmony_ci .num_parents = 2, 12148c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 12158c2ecf20Sopenharmony_ci }, 12168c2ecf20Sopenharmony_ci}; 12178c2ecf20Sopenharmony_ci 12188c2ecf20Sopenharmony_cistatic const struct freq_tbl ftbl_gcc_usb30_sec_mock_utmi_clk[] = { 12198c2ecf20Sopenharmony_ci F(125000000, P_GPLL0, 1, 5, 24), 12208c2ecf20Sopenharmony_ci { } 12218c2ecf20Sopenharmony_ci}; 12228c2ecf20Sopenharmony_ci 12238c2ecf20Sopenharmony_cistatic struct clk_rcg2 usb30_sec_mock_utmi_clk_src = { 12248c2ecf20Sopenharmony_ci .cmd_rcgr = 0x1be8, 12258c2ecf20Sopenharmony_ci .hid_width = 5, 12268c2ecf20Sopenharmony_ci .parent_map = gcc_xo_gpll0_map, 12278c2ecf20Sopenharmony_ci .freq_tbl = ftbl_gcc_usb30_sec_mock_utmi_clk, 12288c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 12298c2ecf20Sopenharmony_ci .name = "usb30_sec_mock_utmi_clk_src", 12308c2ecf20Sopenharmony_ci .parent_names = gcc_xo_gpll0, 12318c2ecf20Sopenharmony_ci .num_parents = 2, 12328c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 12338c2ecf20Sopenharmony_ci }, 12348c2ecf20Sopenharmony_ci}; 12358c2ecf20Sopenharmony_ci 12368c2ecf20Sopenharmony_cistatic const struct freq_tbl ftbl_gcc_usb_hs_system_clk[] = { 12378c2ecf20Sopenharmony_ci F(75000000, P_GPLL0, 8, 0, 0), 12388c2ecf20Sopenharmony_ci { } 12398c2ecf20Sopenharmony_ci}; 12408c2ecf20Sopenharmony_ci 12418c2ecf20Sopenharmony_cistatic struct clk_rcg2 usb_hs_system_clk_src = { 12428c2ecf20Sopenharmony_ci .cmd_rcgr = 0x0490, 12438c2ecf20Sopenharmony_ci .hid_width = 5, 12448c2ecf20Sopenharmony_ci .parent_map = gcc_xo_gpll0_map, 12458c2ecf20Sopenharmony_ci .freq_tbl = ftbl_gcc_usb_hs_system_clk, 12468c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 12478c2ecf20Sopenharmony_ci .name = "usb_hs_system_clk_src", 12488c2ecf20Sopenharmony_ci .parent_names = gcc_xo_gpll0, 12498c2ecf20Sopenharmony_ci .num_parents = 2, 12508c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 12518c2ecf20Sopenharmony_ci }, 12528c2ecf20Sopenharmony_ci}; 12538c2ecf20Sopenharmony_ci 12548c2ecf20Sopenharmony_cistatic const struct freq_tbl ftbl_gcc_usb_hsic_clk[] = { 12558c2ecf20Sopenharmony_ci F(480000000, P_GPLL1, 1, 0, 0), 12568c2ecf20Sopenharmony_ci { } 12578c2ecf20Sopenharmony_ci}; 12588c2ecf20Sopenharmony_ci 12598c2ecf20Sopenharmony_cistatic const struct parent_map usb_hsic_clk_src_map[] = { 12608c2ecf20Sopenharmony_ci { P_XO, 0 }, 12618c2ecf20Sopenharmony_ci { P_GPLL1, 4 } 12628c2ecf20Sopenharmony_ci}; 12638c2ecf20Sopenharmony_ci 12648c2ecf20Sopenharmony_cistatic struct clk_rcg2 usb_hsic_clk_src = { 12658c2ecf20Sopenharmony_ci .cmd_rcgr = 0x0440, 12668c2ecf20Sopenharmony_ci .hid_width = 5, 12678c2ecf20Sopenharmony_ci .parent_map = usb_hsic_clk_src_map, 12688c2ecf20Sopenharmony_ci .freq_tbl = ftbl_gcc_usb_hsic_clk, 12698c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 12708c2ecf20Sopenharmony_ci .name = "usb_hsic_clk_src", 12718c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ 12728c2ecf20Sopenharmony_ci "xo", 12738c2ecf20Sopenharmony_ci "gpll1_vote", 12748c2ecf20Sopenharmony_ci }, 12758c2ecf20Sopenharmony_ci .num_parents = 2, 12768c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 12778c2ecf20Sopenharmony_ci }, 12788c2ecf20Sopenharmony_ci}; 12798c2ecf20Sopenharmony_ci 12808c2ecf20Sopenharmony_cistatic const struct freq_tbl ftbl_gcc_usb_hsic_ahb_clk_src[] = { 12818c2ecf20Sopenharmony_ci F(60000000, P_GPLL1, 8, 0, 0), 12828c2ecf20Sopenharmony_ci { } 12838c2ecf20Sopenharmony_ci}; 12848c2ecf20Sopenharmony_ci 12858c2ecf20Sopenharmony_cistatic struct clk_rcg2 usb_hsic_ahb_clk_src = { 12868c2ecf20Sopenharmony_ci .cmd_rcgr = 0x046c, 12878c2ecf20Sopenharmony_ci .mnd_width = 8, 12888c2ecf20Sopenharmony_ci .hid_width = 5, 12898c2ecf20Sopenharmony_ci .parent_map = usb_hsic_clk_src_map, 12908c2ecf20Sopenharmony_ci .freq_tbl = ftbl_gcc_usb_hsic_ahb_clk_src, 12918c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 12928c2ecf20Sopenharmony_ci .name = "usb_hsic_ahb_clk_src", 12938c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ 12948c2ecf20Sopenharmony_ci "xo", 12958c2ecf20Sopenharmony_ci "gpll1_vote", 12968c2ecf20Sopenharmony_ci }, 12978c2ecf20Sopenharmony_ci .num_parents = 2, 12988c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 12998c2ecf20Sopenharmony_ci }, 13008c2ecf20Sopenharmony_ci}; 13018c2ecf20Sopenharmony_ci 13028c2ecf20Sopenharmony_cistatic const struct freq_tbl ftbl_gcc_usb_hsic_io_cal_clk[] = { 13038c2ecf20Sopenharmony_ci F(9600000, P_XO, 2, 0, 0), 13048c2ecf20Sopenharmony_ci { } 13058c2ecf20Sopenharmony_ci}; 13068c2ecf20Sopenharmony_ci 13078c2ecf20Sopenharmony_cistatic struct clk_rcg2 usb_hsic_io_cal_clk_src = { 13088c2ecf20Sopenharmony_ci .cmd_rcgr = 0x0458, 13098c2ecf20Sopenharmony_ci .hid_width = 5, 13108c2ecf20Sopenharmony_ci .parent_map = gcc_xo_gpll0_map, 13118c2ecf20Sopenharmony_ci .freq_tbl = ftbl_gcc_usb_hsic_io_cal_clk, 13128c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 13138c2ecf20Sopenharmony_ci .name = "usb_hsic_io_cal_clk_src", 13148c2ecf20Sopenharmony_ci .parent_names = gcc_xo_gpll0, 13158c2ecf20Sopenharmony_ci .num_parents = 1, 13168c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 13178c2ecf20Sopenharmony_ci }, 13188c2ecf20Sopenharmony_ci}; 13198c2ecf20Sopenharmony_ci 13208c2ecf20Sopenharmony_cistatic struct clk_branch gcc_usb_hsic_mock_utmi_clk = { 13218c2ecf20Sopenharmony_ci .halt_reg = 0x1f14, 13228c2ecf20Sopenharmony_ci .clkr = { 13238c2ecf20Sopenharmony_ci .enable_reg = 0x1f14, 13248c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 13258c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 13268c2ecf20Sopenharmony_ci .name = "gcc_usb_hsic_mock_utmi_clk", 13278c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ 13288c2ecf20Sopenharmony_ci "usb_hsic_mock_utmi_clk_src", 13298c2ecf20Sopenharmony_ci }, 13308c2ecf20Sopenharmony_ci .num_parents = 1, 13318c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 13328c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 13338c2ecf20Sopenharmony_ci }, 13348c2ecf20Sopenharmony_ci }, 13358c2ecf20Sopenharmony_ci}; 13368c2ecf20Sopenharmony_ci 13378c2ecf20Sopenharmony_cistatic const struct freq_tbl ftbl_gcc_usb_hsic_mock_utmi_clk[] = { 13388c2ecf20Sopenharmony_ci F(60000000, P_GPLL0, 10, 0, 0), 13398c2ecf20Sopenharmony_ci { } 13408c2ecf20Sopenharmony_ci}; 13418c2ecf20Sopenharmony_ci 13428c2ecf20Sopenharmony_cistatic struct clk_rcg2 usb_hsic_mock_utmi_clk_src = { 13438c2ecf20Sopenharmony_ci .cmd_rcgr = 0x1f00, 13448c2ecf20Sopenharmony_ci .hid_width = 5, 13458c2ecf20Sopenharmony_ci .parent_map = gcc_xo_gpll0_map, 13468c2ecf20Sopenharmony_ci .freq_tbl = ftbl_gcc_usb_hsic_mock_utmi_clk, 13478c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 13488c2ecf20Sopenharmony_ci .name = "usb_hsic_mock_utmi_clk_src", 13498c2ecf20Sopenharmony_ci .parent_names = gcc_xo_gpll0, 13508c2ecf20Sopenharmony_ci .num_parents = 1, 13518c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 13528c2ecf20Sopenharmony_ci }, 13538c2ecf20Sopenharmony_ci}; 13548c2ecf20Sopenharmony_ci 13558c2ecf20Sopenharmony_cistatic const struct freq_tbl ftbl_gcc_usb_hsic_system_clk[] = { 13568c2ecf20Sopenharmony_ci F(75000000, P_GPLL0, 8, 0, 0), 13578c2ecf20Sopenharmony_ci { } 13588c2ecf20Sopenharmony_ci}; 13598c2ecf20Sopenharmony_ci 13608c2ecf20Sopenharmony_cistatic struct clk_rcg2 usb_hsic_system_clk_src = { 13618c2ecf20Sopenharmony_ci .cmd_rcgr = 0x041c, 13628c2ecf20Sopenharmony_ci .hid_width = 5, 13638c2ecf20Sopenharmony_ci .parent_map = gcc_xo_gpll0_map, 13648c2ecf20Sopenharmony_ci .freq_tbl = ftbl_gcc_usb_hsic_system_clk, 13658c2ecf20Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 13668c2ecf20Sopenharmony_ci .name = "usb_hsic_system_clk_src", 13678c2ecf20Sopenharmony_ci .parent_names = gcc_xo_gpll0, 13688c2ecf20Sopenharmony_ci .num_parents = 2, 13698c2ecf20Sopenharmony_ci .ops = &clk_rcg2_ops, 13708c2ecf20Sopenharmony_ci }, 13718c2ecf20Sopenharmony_ci}; 13728c2ecf20Sopenharmony_ci 13738c2ecf20Sopenharmony_cistatic struct clk_branch gcc_bam_dma_ahb_clk = { 13748c2ecf20Sopenharmony_ci .halt_reg = 0x0d44, 13758c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_VOTED, 13768c2ecf20Sopenharmony_ci .clkr = { 13778c2ecf20Sopenharmony_ci .enable_reg = 0x1484, 13788c2ecf20Sopenharmony_ci .enable_mask = BIT(12), 13798c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 13808c2ecf20Sopenharmony_ci .name = "gcc_bam_dma_ahb_clk", 13818c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ 13828c2ecf20Sopenharmony_ci "periph_noc_clk_src", 13838c2ecf20Sopenharmony_ci }, 13848c2ecf20Sopenharmony_ci .num_parents = 1, 13858c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 13868c2ecf20Sopenharmony_ci }, 13878c2ecf20Sopenharmony_ci }, 13888c2ecf20Sopenharmony_ci}; 13898c2ecf20Sopenharmony_ci 13908c2ecf20Sopenharmony_cistatic struct clk_branch gcc_blsp1_ahb_clk = { 13918c2ecf20Sopenharmony_ci .halt_reg = 0x05c4, 13928c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_VOTED, 13938c2ecf20Sopenharmony_ci .clkr = { 13948c2ecf20Sopenharmony_ci .enable_reg = 0x1484, 13958c2ecf20Sopenharmony_ci .enable_mask = BIT(17), 13968c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 13978c2ecf20Sopenharmony_ci .name = "gcc_blsp1_ahb_clk", 13988c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ 13998c2ecf20Sopenharmony_ci "periph_noc_clk_src", 14008c2ecf20Sopenharmony_ci }, 14018c2ecf20Sopenharmony_ci .num_parents = 1, 14028c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 14038c2ecf20Sopenharmony_ci }, 14048c2ecf20Sopenharmony_ci }, 14058c2ecf20Sopenharmony_ci}; 14068c2ecf20Sopenharmony_ci 14078c2ecf20Sopenharmony_cistatic struct clk_branch gcc_blsp1_qup1_i2c_apps_clk = { 14088c2ecf20Sopenharmony_ci .halt_reg = 0x0648, 14098c2ecf20Sopenharmony_ci .clkr = { 14108c2ecf20Sopenharmony_ci .enable_reg = 0x0648, 14118c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 14128c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 14138c2ecf20Sopenharmony_ci .name = "gcc_blsp1_qup1_i2c_apps_clk", 14148c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ 14158c2ecf20Sopenharmony_ci "blsp1_qup1_i2c_apps_clk_src", 14168c2ecf20Sopenharmony_ci }, 14178c2ecf20Sopenharmony_ci .num_parents = 1, 14188c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 14198c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 14208c2ecf20Sopenharmony_ci }, 14218c2ecf20Sopenharmony_ci }, 14228c2ecf20Sopenharmony_ci}; 14238c2ecf20Sopenharmony_ci 14248c2ecf20Sopenharmony_cistatic struct clk_branch gcc_blsp1_qup1_spi_apps_clk = { 14258c2ecf20Sopenharmony_ci .halt_reg = 0x0644, 14268c2ecf20Sopenharmony_ci .clkr = { 14278c2ecf20Sopenharmony_ci .enable_reg = 0x0644, 14288c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 14298c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 14308c2ecf20Sopenharmony_ci .name = "gcc_blsp1_qup1_spi_apps_clk", 14318c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ 14328c2ecf20Sopenharmony_ci "blsp1_qup1_spi_apps_clk_src", 14338c2ecf20Sopenharmony_ci }, 14348c2ecf20Sopenharmony_ci .num_parents = 1, 14358c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 14368c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 14378c2ecf20Sopenharmony_ci }, 14388c2ecf20Sopenharmony_ci }, 14398c2ecf20Sopenharmony_ci}; 14408c2ecf20Sopenharmony_ci 14418c2ecf20Sopenharmony_cistatic struct clk_branch gcc_blsp1_qup2_i2c_apps_clk = { 14428c2ecf20Sopenharmony_ci .halt_reg = 0x06c8, 14438c2ecf20Sopenharmony_ci .clkr = { 14448c2ecf20Sopenharmony_ci .enable_reg = 0x06c8, 14458c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 14468c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 14478c2ecf20Sopenharmony_ci .name = "gcc_blsp1_qup2_i2c_apps_clk", 14488c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ 14498c2ecf20Sopenharmony_ci "blsp1_qup2_i2c_apps_clk_src", 14508c2ecf20Sopenharmony_ci }, 14518c2ecf20Sopenharmony_ci .num_parents = 1, 14528c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 14538c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 14548c2ecf20Sopenharmony_ci }, 14558c2ecf20Sopenharmony_ci }, 14568c2ecf20Sopenharmony_ci}; 14578c2ecf20Sopenharmony_ci 14588c2ecf20Sopenharmony_cistatic struct clk_branch gcc_blsp1_qup2_spi_apps_clk = { 14598c2ecf20Sopenharmony_ci .halt_reg = 0x06c4, 14608c2ecf20Sopenharmony_ci .clkr = { 14618c2ecf20Sopenharmony_ci .enable_reg = 0x06c4, 14628c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 14638c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 14648c2ecf20Sopenharmony_ci .name = "gcc_blsp1_qup2_spi_apps_clk", 14658c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ 14668c2ecf20Sopenharmony_ci "blsp1_qup2_spi_apps_clk_src", 14678c2ecf20Sopenharmony_ci }, 14688c2ecf20Sopenharmony_ci .num_parents = 1, 14698c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 14708c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 14718c2ecf20Sopenharmony_ci }, 14728c2ecf20Sopenharmony_ci }, 14738c2ecf20Sopenharmony_ci}; 14748c2ecf20Sopenharmony_ci 14758c2ecf20Sopenharmony_cistatic struct clk_branch gcc_blsp1_qup3_i2c_apps_clk = { 14768c2ecf20Sopenharmony_ci .halt_reg = 0x0748, 14778c2ecf20Sopenharmony_ci .clkr = { 14788c2ecf20Sopenharmony_ci .enable_reg = 0x0748, 14798c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 14808c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 14818c2ecf20Sopenharmony_ci .name = "gcc_blsp1_qup3_i2c_apps_clk", 14828c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ 14838c2ecf20Sopenharmony_ci "blsp1_qup3_i2c_apps_clk_src", 14848c2ecf20Sopenharmony_ci }, 14858c2ecf20Sopenharmony_ci .num_parents = 1, 14868c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 14878c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 14888c2ecf20Sopenharmony_ci }, 14898c2ecf20Sopenharmony_ci }, 14908c2ecf20Sopenharmony_ci}; 14918c2ecf20Sopenharmony_ci 14928c2ecf20Sopenharmony_cistatic struct clk_branch gcc_blsp1_qup3_spi_apps_clk = { 14938c2ecf20Sopenharmony_ci .halt_reg = 0x0744, 14948c2ecf20Sopenharmony_ci .clkr = { 14958c2ecf20Sopenharmony_ci .enable_reg = 0x0744, 14968c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 14978c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 14988c2ecf20Sopenharmony_ci .name = "gcc_blsp1_qup3_spi_apps_clk", 14998c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ 15008c2ecf20Sopenharmony_ci "blsp1_qup3_spi_apps_clk_src", 15018c2ecf20Sopenharmony_ci }, 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_blsp1_qup4_i2c_apps_clk = { 15108c2ecf20Sopenharmony_ci .halt_reg = 0x07c8, 15118c2ecf20Sopenharmony_ci .clkr = { 15128c2ecf20Sopenharmony_ci .enable_reg = 0x07c8, 15138c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 15148c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 15158c2ecf20Sopenharmony_ci .name = "gcc_blsp1_qup4_i2c_apps_clk", 15168c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ 15178c2ecf20Sopenharmony_ci "blsp1_qup4_i2c_apps_clk_src", 15188c2ecf20Sopenharmony_ci }, 15198c2ecf20Sopenharmony_ci .num_parents = 1, 15208c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 15218c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 15228c2ecf20Sopenharmony_ci }, 15238c2ecf20Sopenharmony_ci }, 15248c2ecf20Sopenharmony_ci}; 15258c2ecf20Sopenharmony_ci 15268c2ecf20Sopenharmony_cistatic struct clk_branch gcc_blsp1_qup4_spi_apps_clk = { 15278c2ecf20Sopenharmony_ci .halt_reg = 0x07c4, 15288c2ecf20Sopenharmony_ci .clkr = { 15298c2ecf20Sopenharmony_ci .enable_reg = 0x07c4, 15308c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 15318c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 15328c2ecf20Sopenharmony_ci .name = "gcc_blsp1_qup4_spi_apps_clk", 15338c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ 15348c2ecf20Sopenharmony_ci "blsp1_qup4_spi_apps_clk_src", 15358c2ecf20Sopenharmony_ci }, 15368c2ecf20Sopenharmony_ci .num_parents = 1, 15378c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 15388c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 15398c2ecf20Sopenharmony_ci }, 15408c2ecf20Sopenharmony_ci }, 15418c2ecf20Sopenharmony_ci}; 15428c2ecf20Sopenharmony_ci 15438c2ecf20Sopenharmony_cistatic struct clk_branch gcc_blsp1_qup5_i2c_apps_clk = { 15448c2ecf20Sopenharmony_ci .halt_reg = 0x0848, 15458c2ecf20Sopenharmony_ci .clkr = { 15468c2ecf20Sopenharmony_ci .enable_reg = 0x0848, 15478c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 15488c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 15498c2ecf20Sopenharmony_ci .name = "gcc_blsp1_qup5_i2c_apps_clk", 15508c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ 15518c2ecf20Sopenharmony_ci "blsp1_qup5_i2c_apps_clk_src", 15528c2ecf20Sopenharmony_ci }, 15538c2ecf20Sopenharmony_ci .num_parents = 1, 15548c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 15558c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 15568c2ecf20Sopenharmony_ci }, 15578c2ecf20Sopenharmony_ci }, 15588c2ecf20Sopenharmony_ci}; 15598c2ecf20Sopenharmony_ci 15608c2ecf20Sopenharmony_cistatic struct clk_branch gcc_blsp1_qup5_spi_apps_clk = { 15618c2ecf20Sopenharmony_ci .halt_reg = 0x0844, 15628c2ecf20Sopenharmony_ci .clkr = { 15638c2ecf20Sopenharmony_ci .enable_reg = 0x0844, 15648c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 15658c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 15668c2ecf20Sopenharmony_ci .name = "gcc_blsp1_qup5_spi_apps_clk", 15678c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ 15688c2ecf20Sopenharmony_ci "blsp1_qup5_spi_apps_clk_src", 15698c2ecf20Sopenharmony_ci }, 15708c2ecf20Sopenharmony_ci .num_parents = 1, 15718c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 15728c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 15738c2ecf20Sopenharmony_ci }, 15748c2ecf20Sopenharmony_ci }, 15758c2ecf20Sopenharmony_ci}; 15768c2ecf20Sopenharmony_ci 15778c2ecf20Sopenharmony_cistatic struct clk_branch gcc_blsp1_qup6_i2c_apps_clk = { 15788c2ecf20Sopenharmony_ci .halt_reg = 0x08c8, 15798c2ecf20Sopenharmony_ci .clkr = { 15808c2ecf20Sopenharmony_ci .enable_reg = 0x08c8, 15818c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 15828c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 15838c2ecf20Sopenharmony_ci .name = "gcc_blsp1_qup6_i2c_apps_clk", 15848c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ 15858c2ecf20Sopenharmony_ci "blsp1_qup6_i2c_apps_clk_src", 15868c2ecf20Sopenharmony_ci }, 15878c2ecf20Sopenharmony_ci .num_parents = 1, 15888c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 15898c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 15908c2ecf20Sopenharmony_ci }, 15918c2ecf20Sopenharmony_ci }, 15928c2ecf20Sopenharmony_ci}; 15938c2ecf20Sopenharmony_ci 15948c2ecf20Sopenharmony_cistatic struct clk_branch gcc_blsp1_qup6_spi_apps_clk = { 15958c2ecf20Sopenharmony_ci .halt_reg = 0x08c4, 15968c2ecf20Sopenharmony_ci .clkr = { 15978c2ecf20Sopenharmony_ci .enable_reg = 0x08c4, 15988c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 15998c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 16008c2ecf20Sopenharmony_ci .name = "gcc_blsp1_qup6_spi_apps_clk", 16018c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ 16028c2ecf20Sopenharmony_ci "blsp1_qup6_spi_apps_clk_src", 16038c2ecf20Sopenharmony_ci }, 16048c2ecf20Sopenharmony_ci .num_parents = 1, 16058c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 16068c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 16078c2ecf20Sopenharmony_ci }, 16088c2ecf20Sopenharmony_ci }, 16098c2ecf20Sopenharmony_ci}; 16108c2ecf20Sopenharmony_ci 16118c2ecf20Sopenharmony_cistatic struct clk_branch gcc_blsp1_uart1_apps_clk = { 16128c2ecf20Sopenharmony_ci .halt_reg = 0x0684, 16138c2ecf20Sopenharmony_ci .clkr = { 16148c2ecf20Sopenharmony_ci .enable_reg = 0x0684, 16158c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 16168c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 16178c2ecf20Sopenharmony_ci .name = "gcc_blsp1_uart1_apps_clk", 16188c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ 16198c2ecf20Sopenharmony_ci "blsp1_uart1_apps_clk_src", 16208c2ecf20Sopenharmony_ci }, 16218c2ecf20Sopenharmony_ci .num_parents = 1, 16228c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 16238c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 16248c2ecf20Sopenharmony_ci }, 16258c2ecf20Sopenharmony_ci }, 16268c2ecf20Sopenharmony_ci}; 16278c2ecf20Sopenharmony_ci 16288c2ecf20Sopenharmony_cistatic struct clk_branch gcc_blsp1_uart2_apps_clk = { 16298c2ecf20Sopenharmony_ci .halt_reg = 0x0704, 16308c2ecf20Sopenharmony_ci .clkr = { 16318c2ecf20Sopenharmony_ci .enable_reg = 0x0704, 16328c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 16338c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 16348c2ecf20Sopenharmony_ci .name = "gcc_blsp1_uart2_apps_clk", 16358c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ 16368c2ecf20Sopenharmony_ci "blsp1_uart2_apps_clk_src", 16378c2ecf20Sopenharmony_ci }, 16388c2ecf20Sopenharmony_ci .num_parents = 1, 16398c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 16408c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 16418c2ecf20Sopenharmony_ci }, 16428c2ecf20Sopenharmony_ci }, 16438c2ecf20Sopenharmony_ci}; 16448c2ecf20Sopenharmony_ci 16458c2ecf20Sopenharmony_cistatic struct clk_branch gcc_blsp1_uart3_apps_clk = { 16468c2ecf20Sopenharmony_ci .halt_reg = 0x0784, 16478c2ecf20Sopenharmony_ci .clkr = { 16488c2ecf20Sopenharmony_ci .enable_reg = 0x0784, 16498c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 16508c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 16518c2ecf20Sopenharmony_ci .name = "gcc_blsp1_uart3_apps_clk", 16528c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ 16538c2ecf20Sopenharmony_ci "blsp1_uart3_apps_clk_src", 16548c2ecf20Sopenharmony_ci }, 16558c2ecf20Sopenharmony_ci .num_parents = 1, 16568c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 16578c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 16588c2ecf20Sopenharmony_ci }, 16598c2ecf20Sopenharmony_ci }, 16608c2ecf20Sopenharmony_ci}; 16618c2ecf20Sopenharmony_ci 16628c2ecf20Sopenharmony_cistatic struct clk_branch gcc_blsp1_uart4_apps_clk = { 16638c2ecf20Sopenharmony_ci .halt_reg = 0x0804, 16648c2ecf20Sopenharmony_ci .clkr = { 16658c2ecf20Sopenharmony_ci .enable_reg = 0x0804, 16668c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 16678c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 16688c2ecf20Sopenharmony_ci .name = "gcc_blsp1_uart4_apps_clk", 16698c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ 16708c2ecf20Sopenharmony_ci "blsp1_uart4_apps_clk_src", 16718c2ecf20Sopenharmony_ci }, 16728c2ecf20Sopenharmony_ci .num_parents = 1, 16738c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 16748c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 16758c2ecf20Sopenharmony_ci }, 16768c2ecf20Sopenharmony_ci }, 16778c2ecf20Sopenharmony_ci}; 16788c2ecf20Sopenharmony_ci 16798c2ecf20Sopenharmony_cistatic struct clk_branch gcc_blsp1_uart5_apps_clk = { 16808c2ecf20Sopenharmony_ci .halt_reg = 0x0884, 16818c2ecf20Sopenharmony_ci .clkr = { 16828c2ecf20Sopenharmony_ci .enable_reg = 0x0884, 16838c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 16848c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 16858c2ecf20Sopenharmony_ci .name = "gcc_blsp1_uart5_apps_clk", 16868c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ 16878c2ecf20Sopenharmony_ci "blsp1_uart5_apps_clk_src", 16888c2ecf20Sopenharmony_ci }, 16898c2ecf20Sopenharmony_ci .num_parents = 1, 16908c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 16918c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 16928c2ecf20Sopenharmony_ci }, 16938c2ecf20Sopenharmony_ci }, 16948c2ecf20Sopenharmony_ci}; 16958c2ecf20Sopenharmony_ci 16968c2ecf20Sopenharmony_cistatic struct clk_branch gcc_blsp1_uart6_apps_clk = { 16978c2ecf20Sopenharmony_ci .halt_reg = 0x0904, 16988c2ecf20Sopenharmony_ci .clkr = { 16998c2ecf20Sopenharmony_ci .enable_reg = 0x0904, 17008c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 17018c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 17028c2ecf20Sopenharmony_ci .name = "gcc_blsp1_uart6_apps_clk", 17038c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ 17048c2ecf20Sopenharmony_ci "blsp1_uart6_apps_clk_src", 17058c2ecf20Sopenharmony_ci }, 17068c2ecf20Sopenharmony_ci .num_parents = 1, 17078c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 17088c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 17098c2ecf20Sopenharmony_ci }, 17108c2ecf20Sopenharmony_ci }, 17118c2ecf20Sopenharmony_ci}; 17128c2ecf20Sopenharmony_ci 17138c2ecf20Sopenharmony_cistatic struct clk_branch gcc_blsp2_ahb_clk = { 17148c2ecf20Sopenharmony_ci .halt_reg = 0x0944, 17158c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_VOTED, 17168c2ecf20Sopenharmony_ci .clkr = { 17178c2ecf20Sopenharmony_ci .enable_reg = 0x1484, 17188c2ecf20Sopenharmony_ci .enable_mask = BIT(15), 17198c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 17208c2ecf20Sopenharmony_ci .name = "gcc_blsp2_ahb_clk", 17218c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ 17228c2ecf20Sopenharmony_ci "periph_noc_clk_src", 17238c2ecf20Sopenharmony_ci }, 17248c2ecf20Sopenharmony_ci .num_parents = 1, 17258c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 17268c2ecf20Sopenharmony_ci }, 17278c2ecf20Sopenharmony_ci }, 17288c2ecf20Sopenharmony_ci}; 17298c2ecf20Sopenharmony_ci 17308c2ecf20Sopenharmony_cistatic struct clk_branch gcc_blsp2_qup1_i2c_apps_clk = { 17318c2ecf20Sopenharmony_ci .halt_reg = 0x0988, 17328c2ecf20Sopenharmony_ci .clkr = { 17338c2ecf20Sopenharmony_ci .enable_reg = 0x0988, 17348c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 17358c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 17368c2ecf20Sopenharmony_ci .name = "gcc_blsp2_qup1_i2c_apps_clk", 17378c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ 17388c2ecf20Sopenharmony_ci "blsp2_qup1_i2c_apps_clk_src", 17398c2ecf20Sopenharmony_ci }, 17408c2ecf20Sopenharmony_ci .num_parents = 1, 17418c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 17428c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 17438c2ecf20Sopenharmony_ci }, 17448c2ecf20Sopenharmony_ci }, 17458c2ecf20Sopenharmony_ci}; 17468c2ecf20Sopenharmony_ci 17478c2ecf20Sopenharmony_cistatic struct clk_branch gcc_blsp2_qup1_spi_apps_clk = { 17488c2ecf20Sopenharmony_ci .halt_reg = 0x0984, 17498c2ecf20Sopenharmony_ci .clkr = { 17508c2ecf20Sopenharmony_ci .enable_reg = 0x0984, 17518c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 17528c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 17538c2ecf20Sopenharmony_ci .name = "gcc_blsp2_qup1_spi_apps_clk", 17548c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ 17558c2ecf20Sopenharmony_ci "blsp2_qup1_spi_apps_clk_src", 17568c2ecf20Sopenharmony_ci }, 17578c2ecf20Sopenharmony_ci .num_parents = 1, 17588c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 17598c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 17608c2ecf20Sopenharmony_ci }, 17618c2ecf20Sopenharmony_ci }, 17628c2ecf20Sopenharmony_ci}; 17638c2ecf20Sopenharmony_ci 17648c2ecf20Sopenharmony_cistatic struct clk_branch gcc_blsp2_qup2_i2c_apps_clk = { 17658c2ecf20Sopenharmony_ci .halt_reg = 0x0a08, 17668c2ecf20Sopenharmony_ci .clkr = { 17678c2ecf20Sopenharmony_ci .enable_reg = 0x0a08, 17688c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 17698c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 17708c2ecf20Sopenharmony_ci .name = "gcc_blsp2_qup2_i2c_apps_clk", 17718c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ 17728c2ecf20Sopenharmony_ci "blsp2_qup2_i2c_apps_clk_src", 17738c2ecf20Sopenharmony_ci }, 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_blsp2_qup2_spi_apps_clk = { 17828c2ecf20Sopenharmony_ci .halt_reg = 0x0a04, 17838c2ecf20Sopenharmony_ci .clkr = { 17848c2ecf20Sopenharmony_ci .enable_reg = 0x0a04, 17858c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 17868c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 17878c2ecf20Sopenharmony_ci .name = "gcc_blsp2_qup2_spi_apps_clk", 17888c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ 17898c2ecf20Sopenharmony_ci "blsp2_qup2_spi_apps_clk_src", 17908c2ecf20Sopenharmony_ci }, 17918c2ecf20Sopenharmony_ci .num_parents = 1, 17928c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 17938c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 17948c2ecf20Sopenharmony_ci }, 17958c2ecf20Sopenharmony_ci }, 17968c2ecf20Sopenharmony_ci}; 17978c2ecf20Sopenharmony_ci 17988c2ecf20Sopenharmony_cistatic struct clk_branch gcc_blsp2_qup3_i2c_apps_clk = { 17998c2ecf20Sopenharmony_ci .halt_reg = 0x0a88, 18008c2ecf20Sopenharmony_ci .clkr = { 18018c2ecf20Sopenharmony_ci .enable_reg = 0x0a88, 18028c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 18038c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 18048c2ecf20Sopenharmony_ci .name = "gcc_blsp2_qup3_i2c_apps_clk", 18058c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ 18068c2ecf20Sopenharmony_ci "blsp2_qup3_i2c_apps_clk_src", 18078c2ecf20Sopenharmony_ci }, 18088c2ecf20Sopenharmony_ci .num_parents = 1, 18098c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 18108c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 18118c2ecf20Sopenharmony_ci }, 18128c2ecf20Sopenharmony_ci }, 18138c2ecf20Sopenharmony_ci}; 18148c2ecf20Sopenharmony_ci 18158c2ecf20Sopenharmony_cistatic struct clk_branch gcc_blsp2_qup3_spi_apps_clk = { 18168c2ecf20Sopenharmony_ci .halt_reg = 0x0a84, 18178c2ecf20Sopenharmony_ci .clkr = { 18188c2ecf20Sopenharmony_ci .enable_reg = 0x0a84, 18198c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 18208c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 18218c2ecf20Sopenharmony_ci .name = "gcc_blsp2_qup3_spi_apps_clk", 18228c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ 18238c2ecf20Sopenharmony_ci "blsp2_qup3_spi_apps_clk_src", 18248c2ecf20Sopenharmony_ci }, 18258c2ecf20Sopenharmony_ci .num_parents = 1, 18268c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 18278c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 18288c2ecf20Sopenharmony_ci }, 18298c2ecf20Sopenharmony_ci }, 18308c2ecf20Sopenharmony_ci}; 18318c2ecf20Sopenharmony_ci 18328c2ecf20Sopenharmony_cistatic struct clk_branch gcc_blsp2_qup4_i2c_apps_clk = { 18338c2ecf20Sopenharmony_ci .halt_reg = 0x0b08, 18348c2ecf20Sopenharmony_ci .clkr = { 18358c2ecf20Sopenharmony_ci .enable_reg = 0x0b08, 18368c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 18378c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 18388c2ecf20Sopenharmony_ci .name = "gcc_blsp2_qup4_i2c_apps_clk", 18398c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ 18408c2ecf20Sopenharmony_ci "blsp2_qup4_i2c_apps_clk_src", 18418c2ecf20Sopenharmony_ci }, 18428c2ecf20Sopenharmony_ci .num_parents = 1, 18438c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 18448c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 18458c2ecf20Sopenharmony_ci }, 18468c2ecf20Sopenharmony_ci }, 18478c2ecf20Sopenharmony_ci}; 18488c2ecf20Sopenharmony_ci 18498c2ecf20Sopenharmony_cistatic struct clk_branch gcc_blsp2_qup4_spi_apps_clk = { 18508c2ecf20Sopenharmony_ci .halt_reg = 0x0b04, 18518c2ecf20Sopenharmony_ci .clkr = { 18528c2ecf20Sopenharmony_ci .enable_reg = 0x0b04, 18538c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 18548c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 18558c2ecf20Sopenharmony_ci .name = "gcc_blsp2_qup4_spi_apps_clk", 18568c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ 18578c2ecf20Sopenharmony_ci "blsp2_qup4_spi_apps_clk_src", 18588c2ecf20Sopenharmony_ci }, 18598c2ecf20Sopenharmony_ci .num_parents = 1, 18608c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 18618c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 18628c2ecf20Sopenharmony_ci }, 18638c2ecf20Sopenharmony_ci }, 18648c2ecf20Sopenharmony_ci}; 18658c2ecf20Sopenharmony_ci 18668c2ecf20Sopenharmony_cistatic struct clk_branch gcc_blsp2_qup5_i2c_apps_clk = { 18678c2ecf20Sopenharmony_ci .halt_reg = 0x0b88, 18688c2ecf20Sopenharmony_ci .clkr = { 18698c2ecf20Sopenharmony_ci .enable_reg = 0x0b88, 18708c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 18718c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 18728c2ecf20Sopenharmony_ci .name = "gcc_blsp2_qup5_i2c_apps_clk", 18738c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ 18748c2ecf20Sopenharmony_ci "blsp2_qup5_i2c_apps_clk_src", 18758c2ecf20Sopenharmony_ci }, 18768c2ecf20Sopenharmony_ci .num_parents = 1, 18778c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 18788c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 18798c2ecf20Sopenharmony_ci }, 18808c2ecf20Sopenharmony_ci }, 18818c2ecf20Sopenharmony_ci}; 18828c2ecf20Sopenharmony_ci 18838c2ecf20Sopenharmony_cistatic struct clk_branch gcc_blsp2_qup5_spi_apps_clk = { 18848c2ecf20Sopenharmony_ci .halt_reg = 0x0b84, 18858c2ecf20Sopenharmony_ci .clkr = { 18868c2ecf20Sopenharmony_ci .enable_reg = 0x0b84, 18878c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 18888c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 18898c2ecf20Sopenharmony_ci .name = "gcc_blsp2_qup5_spi_apps_clk", 18908c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ 18918c2ecf20Sopenharmony_ci "blsp2_qup5_spi_apps_clk_src", 18928c2ecf20Sopenharmony_ci }, 18938c2ecf20Sopenharmony_ci .num_parents = 1, 18948c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 18958c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 18968c2ecf20Sopenharmony_ci }, 18978c2ecf20Sopenharmony_ci }, 18988c2ecf20Sopenharmony_ci}; 18998c2ecf20Sopenharmony_ci 19008c2ecf20Sopenharmony_cistatic struct clk_branch gcc_blsp2_qup6_i2c_apps_clk = { 19018c2ecf20Sopenharmony_ci .halt_reg = 0x0c08, 19028c2ecf20Sopenharmony_ci .clkr = { 19038c2ecf20Sopenharmony_ci .enable_reg = 0x0c08, 19048c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 19058c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 19068c2ecf20Sopenharmony_ci .name = "gcc_blsp2_qup6_i2c_apps_clk", 19078c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ 19088c2ecf20Sopenharmony_ci "blsp2_qup6_i2c_apps_clk_src", 19098c2ecf20Sopenharmony_ci }, 19108c2ecf20Sopenharmony_ci .num_parents = 1, 19118c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 19128c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 19138c2ecf20Sopenharmony_ci }, 19148c2ecf20Sopenharmony_ci }, 19158c2ecf20Sopenharmony_ci}; 19168c2ecf20Sopenharmony_ci 19178c2ecf20Sopenharmony_cistatic struct clk_branch gcc_blsp2_qup6_spi_apps_clk = { 19188c2ecf20Sopenharmony_ci .halt_reg = 0x0c04, 19198c2ecf20Sopenharmony_ci .clkr = { 19208c2ecf20Sopenharmony_ci .enable_reg = 0x0c04, 19218c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 19228c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 19238c2ecf20Sopenharmony_ci .name = "gcc_blsp2_qup6_spi_apps_clk", 19248c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ 19258c2ecf20Sopenharmony_ci "blsp2_qup6_spi_apps_clk_src", 19268c2ecf20Sopenharmony_ci }, 19278c2ecf20Sopenharmony_ci .num_parents = 1, 19288c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 19298c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 19308c2ecf20Sopenharmony_ci }, 19318c2ecf20Sopenharmony_ci }, 19328c2ecf20Sopenharmony_ci}; 19338c2ecf20Sopenharmony_ci 19348c2ecf20Sopenharmony_cistatic struct clk_branch gcc_blsp2_uart1_apps_clk = { 19358c2ecf20Sopenharmony_ci .halt_reg = 0x09c4, 19368c2ecf20Sopenharmony_ci .clkr = { 19378c2ecf20Sopenharmony_ci .enable_reg = 0x09c4, 19388c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 19398c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 19408c2ecf20Sopenharmony_ci .name = "gcc_blsp2_uart1_apps_clk", 19418c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ 19428c2ecf20Sopenharmony_ci "blsp2_uart1_apps_clk_src", 19438c2ecf20Sopenharmony_ci }, 19448c2ecf20Sopenharmony_ci .num_parents = 1, 19458c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 19468c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 19478c2ecf20Sopenharmony_ci }, 19488c2ecf20Sopenharmony_ci }, 19498c2ecf20Sopenharmony_ci}; 19508c2ecf20Sopenharmony_ci 19518c2ecf20Sopenharmony_cistatic struct clk_branch gcc_blsp2_uart2_apps_clk = { 19528c2ecf20Sopenharmony_ci .halt_reg = 0x0a44, 19538c2ecf20Sopenharmony_ci .clkr = { 19548c2ecf20Sopenharmony_ci .enable_reg = 0x0a44, 19558c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 19568c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 19578c2ecf20Sopenharmony_ci .name = "gcc_blsp2_uart2_apps_clk", 19588c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ 19598c2ecf20Sopenharmony_ci "blsp2_uart2_apps_clk_src", 19608c2ecf20Sopenharmony_ci }, 19618c2ecf20Sopenharmony_ci .num_parents = 1, 19628c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 19638c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 19648c2ecf20Sopenharmony_ci }, 19658c2ecf20Sopenharmony_ci }, 19668c2ecf20Sopenharmony_ci}; 19678c2ecf20Sopenharmony_ci 19688c2ecf20Sopenharmony_cistatic struct clk_branch gcc_blsp2_uart3_apps_clk = { 19698c2ecf20Sopenharmony_ci .halt_reg = 0x0ac4, 19708c2ecf20Sopenharmony_ci .clkr = { 19718c2ecf20Sopenharmony_ci .enable_reg = 0x0ac4, 19728c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 19738c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 19748c2ecf20Sopenharmony_ci .name = "gcc_blsp2_uart3_apps_clk", 19758c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ 19768c2ecf20Sopenharmony_ci "blsp2_uart3_apps_clk_src", 19778c2ecf20Sopenharmony_ci }, 19788c2ecf20Sopenharmony_ci .num_parents = 1, 19798c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 19808c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 19818c2ecf20Sopenharmony_ci }, 19828c2ecf20Sopenharmony_ci }, 19838c2ecf20Sopenharmony_ci}; 19848c2ecf20Sopenharmony_ci 19858c2ecf20Sopenharmony_cistatic struct clk_branch gcc_blsp2_uart4_apps_clk = { 19868c2ecf20Sopenharmony_ci .halt_reg = 0x0b44, 19878c2ecf20Sopenharmony_ci .clkr = { 19888c2ecf20Sopenharmony_ci .enable_reg = 0x0b44, 19898c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 19908c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 19918c2ecf20Sopenharmony_ci .name = "gcc_blsp2_uart4_apps_clk", 19928c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ 19938c2ecf20Sopenharmony_ci "blsp2_uart4_apps_clk_src", 19948c2ecf20Sopenharmony_ci }, 19958c2ecf20Sopenharmony_ci .num_parents = 1, 19968c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 19978c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 19988c2ecf20Sopenharmony_ci }, 19998c2ecf20Sopenharmony_ci }, 20008c2ecf20Sopenharmony_ci}; 20018c2ecf20Sopenharmony_ci 20028c2ecf20Sopenharmony_cistatic struct clk_branch gcc_blsp2_uart5_apps_clk = { 20038c2ecf20Sopenharmony_ci .halt_reg = 0x0bc4, 20048c2ecf20Sopenharmony_ci .clkr = { 20058c2ecf20Sopenharmony_ci .enable_reg = 0x0bc4, 20068c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 20078c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 20088c2ecf20Sopenharmony_ci .name = "gcc_blsp2_uart5_apps_clk", 20098c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ 20108c2ecf20Sopenharmony_ci "blsp2_uart5_apps_clk_src", 20118c2ecf20Sopenharmony_ci }, 20128c2ecf20Sopenharmony_ci .num_parents = 1, 20138c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 20148c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 20158c2ecf20Sopenharmony_ci }, 20168c2ecf20Sopenharmony_ci }, 20178c2ecf20Sopenharmony_ci}; 20188c2ecf20Sopenharmony_ci 20198c2ecf20Sopenharmony_cistatic struct clk_branch gcc_blsp2_uart6_apps_clk = { 20208c2ecf20Sopenharmony_ci .halt_reg = 0x0c44, 20218c2ecf20Sopenharmony_ci .clkr = { 20228c2ecf20Sopenharmony_ci .enable_reg = 0x0c44, 20238c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 20248c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 20258c2ecf20Sopenharmony_ci .name = "gcc_blsp2_uart6_apps_clk", 20268c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ 20278c2ecf20Sopenharmony_ci "blsp2_uart6_apps_clk_src", 20288c2ecf20Sopenharmony_ci }, 20298c2ecf20Sopenharmony_ci .num_parents = 1, 20308c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 20318c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 20328c2ecf20Sopenharmony_ci }, 20338c2ecf20Sopenharmony_ci }, 20348c2ecf20Sopenharmony_ci}; 20358c2ecf20Sopenharmony_ci 20368c2ecf20Sopenharmony_cistatic struct clk_branch gcc_boot_rom_ahb_clk = { 20378c2ecf20Sopenharmony_ci .halt_reg = 0x0e04, 20388c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_VOTED, 20398c2ecf20Sopenharmony_ci .clkr = { 20408c2ecf20Sopenharmony_ci .enable_reg = 0x1484, 20418c2ecf20Sopenharmony_ci .enable_mask = BIT(10), 20428c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 20438c2ecf20Sopenharmony_ci .name = "gcc_boot_rom_ahb_clk", 20448c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ 20458c2ecf20Sopenharmony_ci "config_noc_clk_src", 20468c2ecf20Sopenharmony_ci }, 20478c2ecf20Sopenharmony_ci .num_parents = 1, 20488c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 20498c2ecf20Sopenharmony_ci }, 20508c2ecf20Sopenharmony_ci }, 20518c2ecf20Sopenharmony_ci}; 20528c2ecf20Sopenharmony_ci 20538c2ecf20Sopenharmony_cistatic struct clk_branch gcc_ce1_ahb_clk = { 20548c2ecf20Sopenharmony_ci .halt_reg = 0x104c, 20558c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_VOTED, 20568c2ecf20Sopenharmony_ci .clkr = { 20578c2ecf20Sopenharmony_ci .enable_reg = 0x1484, 20588c2ecf20Sopenharmony_ci .enable_mask = BIT(3), 20598c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 20608c2ecf20Sopenharmony_ci .name = "gcc_ce1_ahb_clk", 20618c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ 20628c2ecf20Sopenharmony_ci "config_noc_clk_src", 20638c2ecf20Sopenharmony_ci }, 20648c2ecf20Sopenharmony_ci .num_parents = 1, 20658c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 20668c2ecf20Sopenharmony_ci }, 20678c2ecf20Sopenharmony_ci }, 20688c2ecf20Sopenharmony_ci}; 20698c2ecf20Sopenharmony_ci 20708c2ecf20Sopenharmony_cistatic struct clk_branch gcc_ce1_axi_clk = { 20718c2ecf20Sopenharmony_ci .halt_reg = 0x1048, 20728c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_VOTED, 20738c2ecf20Sopenharmony_ci .clkr = { 20748c2ecf20Sopenharmony_ci .enable_reg = 0x1484, 20758c2ecf20Sopenharmony_ci .enable_mask = BIT(4), 20768c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 20778c2ecf20Sopenharmony_ci .name = "gcc_ce1_axi_clk", 20788c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ 20798c2ecf20Sopenharmony_ci "system_noc_clk_src", 20808c2ecf20Sopenharmony_ci }, 20818c2ecf20Sopenharmony_ci .num_parents = 1, 20828c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 20838c2ecf20Sopenharmony_ci }, 20848c2ecf20Sopenharmony_ci }, 20858c2ecf20Sopenharmony_ci}; 20868c2ecf20Sopenharmony_ci 20878c2ecf20Sopenharmony_cistatic struct clk_branch gcc_ce1_clk = { 20888c2ecf20Sopenharmony_ci .halt_reg = 0x1050, 20898c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_VOTED, 20908c2ecf20Sopenharmony_ci .clkr = { 20918c2ecf20Sopenharmony_ci .enable_reg = 0x1484, 20928c2ecf20Sopenharmony_ci .enable_mask = BIT(5), 20938c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 20948c2ecf20Sopenharmony_ci .name = "gcc_ce1_clk", 20958c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ 20968c2ecf20Sopenharmony_ci "ce1_clk_src", 20978c2ecf20Sopenharmony_ci }, 20988c2ecf20Sopenharmony_ci .num_parents = 1, 20998c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 21008c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 21018c2ecf20Sopenharmony_ci }, 21028c2ecf20Sopenharmony_ci }, 21038c2ecf20Sopenharmony_ci}; 21048c2ecf20Sopenharmony_ci 21058c2ecf20Sopenharmony_cistatic struct clk_branch gcc_ce2_ahb_clk = { 21068c2ecf20Sopenharmony_ci .halt_reg = 0x108c, 21078c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_VOTED, 21088c2ecf20Sopenharmony_ci .clkr = { 21098c2ecf20Sopenharmony_ci .enable_reg = 0x1484, 21108c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 21118c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 21128c2ecf20Sopenharmony_ci .name = "gcc_ce2_ahb_clk", 21138c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ 21148c2ecf20Sopenharmony_ci "config_noc_clk_src", 21158c2ecf20Sopenharmony_ci }, 21168c2ecf20Sopenharmony_ci .num_parents = 1, 21178c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 21188c2ecf20Sopenharmony_ci }, 21198c2ecf20Sopenharmony_ci }, 21208c2ecf20Sopenharmony_ci}; 21218c2ecf20Sopenharmony_ci 21228c2ecf20Sopenharmony_cistatic struct clk_branch gcc_ce2_axi_clk = { 21238c2ecf20Sopenharmony_ci .halt_reg = 0x1088, 21248c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_VOTED, 21258c2ecf20Sopenharmony_ci .clkr = { 21268c2ecf20Sopenharmony_ci .enable_reg = 0x1484, 21278c2ecf20Sopenharmony_ci .enable_mask = BIT(1), 21288c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 21298c2ecf20Sopenharmony_ci .name = "gcc_ce2_axi_clk", 21308c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ 21318c2ecf20Sopenharmony_ci "system_noc_clk_src", 21328c2ecf20Sopenharmony_ci }, 21338c2ecf20Sopenharmony_ci .num_parents = 1, 21348c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 21358c2ecf20Sopenharmony_ci }, 21368c2ecf20Sopenharmony_ci }, 21378c2ecf20Sopenharmony_ci}; 21388c2ecf20Sopenharmony_ci 21398c2ecf20Sopenharmony_cistatic struct clk_branch gcc_ce2_clk = { 21408c2ecf20Sopenharmony_ci .halt_reg = 0x1090, 21418c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_VOTED, 21428c2ecf20Sopenharmony_ci .clkr = { 21438c2ecf20Sopenharmony_ci .enable_reg = 0x1484, 21448c2ecf20Sopenharmony_ci .enable_mask = BIT(2), 21458c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 21468c2ecf20Sopenharmony_ci .name = "gcc_ce2_clk", 21478c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ 21488c2ecf20Sopenharmony_ci "ce2_clk_src", 21498c2ecf20Sopenharmony_ci }, 21508c2ecf20Sopenharmony_ci .num_parents = 1, 21518c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 21528c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 21538c2ecf20Sopenharmony_ci }, 21548c2ecf20Sopenharmony_ci }, 21558c2ecf20Sopenharmony_ci}; 21568c2ecf20Sopenharmony_ci 21578c2ecf20Sopenharmony_cistatic struct clk_branch gcc_ce3_ahb_clk = { 21588c2ecf20Sopenharmony_ci .halt_reg = 0x1d0c, 21598c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_VOTED, 21608c2ecf20Sopenharmony_ci .clkr = { 21618c2ecf20Sopenharmony_ci .enable_reg = 0x1d0c, 21628c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 21638c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 21648c2ecf20Sopenharmony_ci .name = "gcc_ce3_ahb_clk", 21658c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ 21668c2ecf20Sopenharmony_ci "config_noc_clk_src", 21678c2ecf20Sopenharmony_ci }, 21688c2ecf20Sopenharmony_ci .num_parents = 1, 21698c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 21708c2ecf20Sopenharmony_ci }, 21718c2ecf20Sopenharmony_ci }, 21728c2ecf20Sopenharmony_ci}; 21738c2ecf20Sopenharmony_ci 21748c2ecf20Sopenharmony_cistatic struct clk_branch gcc_ce3_axi_clk = { 21758c2ecf20Sopenharmony_ci .halt_reg = 0x1088, 21768c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_VOTED, 21778c2ecf20Sopenharmony_ci .clkr = { 21788c2ecf20Sopenharmony_ci .enable_reg = 0x1d08, 21798c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 21808c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 21818c2ecf20Sopenharmony_ci .name = "gcc_ce3_axi_clk", 21828c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ 21838c2ecf20Sopenharmony_ci "system_noc_clk_src", 21848c2ecf20Sopenharmony_ci }, 21858c2ecf20Sopenharmony_ci .num_parents = 1, 21868c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 21878c2ecf20Sopenharmony_ci }, 21888c2ecf20Sopenharmony_ci }, 21898c2ecf20Sopenharmony_ci}; 21908c2ecf20Sopenharmony_ci 21918c2ecf20Sopenharmony_cistatic struct clk_branch gcc_ce3_clk = { 21928c2ecf20Sopenharmony_ci .halt_reg = 0x1090, 21938c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_VOTED, 21948c2ecf20Sopenharmony_ci .clkr = { 21958c2ecf20Sopenharmony_ci .enable_reg = 0x1d04, 21968c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 21978c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 21988c2ecf20Sopenharmony_ci .name = "gcc_ce3_clk", 21998c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ 22008c2ecf20Sopenharmony_ci "ce3_clk_src", 22018c2ecf20Sopenharmony_ci }, 22028c2ecf20Sopenharmony_ci .num_parents = 1, 22038c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 22048c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 22058c2ecf20Sopenharmony_ci }, 22068c2ecf20Sopenharmony_ci }, 22078c2ecf20Sopenharmony_ci}; 22088c2ecf20Sopenharmony_ci 22098c2ecf20Sopenharmony_cistatic struct clk_branch gcc_gp1_clk = { 22108c2ecf20Sopenharmony_ci .halt_reg = 0x1900, 22118c2ecf20Sopenharmony_ci .clkr = { 22128c2ecf20Sopenharmony_ci .enable_reg = 0x1900, 22138c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 22148c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 22158c2ecf20Sopenharmony_ci .name = "gcc_gp1_clk", 22168c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ 22178c2ecf20Sopenharmony_ci "gp1_clk_src", 22188c2ecf20Sopenharmony_ci }, 22198c2ecf20Sopenharmony_ci .num_parents = 1, 22208c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 22218c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 22228c2ecf20Sopenharmony_ci }, 22238c2ecf20Sopenharmony_ci }, 22248c2ecf20Sopenharmony_ci}; 22258c2ecf20Sopenharmony_ci 22268c2ecf20Sopenharmony_cistatic struct clk_branch gcc_gp2_clk = { 22278c2ecf20Sopenharmony_ci .halt_reg = 0x1940, 22288c2ecf20Sopenharmony_ci .clkr = { 22298c2ecf20Sopenharmony_ci .enable_reg = 0x1940, 22308c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 22318c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 22328c2ecf20Sopenharmony_ci .name = "gcc_gp2_clk", 22338c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ 22348c2ecf20Sopenharmony_ci "gp2_clk_src", 22358c2ecf20Sopenharmony_ci }, 22368c2ecf20Sopenharmony_ci .num_parents = 1, 22378c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 22388c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 22398c2ecf20Sopenharmony_ci }, 22408c2ecf20Sopenharmony_ci }, 22418c2ecf20Sopenharmony_ci}; 22428c2ecf20Sopenharmony_ci 22438c2ecf20Sopenharmony_cistatic struct clk_branch gcc_gp3_clk = { 22448c2ecf20Sopenharmony_ci .halt_reg = 0x1980, 22458c2ecf20Sopenharmony_ci .clkr = { 22468c2ecf20Sopenharmony_ci .enable_reg = 0x1980, 22478c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 22488c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 22498c2ecf20Sopenharmony_ci .name = "gcc_gp3_clk", 22508c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ 22518c2ecf20Sopenharmony_ci "gp3_clk_src", 22528c2ecf20Sopenharmony_ci }, 22538c2ecf20Sopenharmony_ci .num_parents = 1, 22548c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 22558c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 22568c2ecf20Sopenharmony_ci }, 22578c2ecf20Sopenharmony_ci }, 22588c2ecf20Sopenharmony_ci}; 22598c2ecf20Sopenharmony_ci 22608c2ecf20Sopenharmony_cistatic struct clk_branch gcc_ocmem_noc_cfg_ahb_clk = { 22618c2ecf20Sopenharmony_ci .halt_reg = 0x0248, 22628c2ecf20Sopenharmony_ci .clkr = { 22638c2ecf20Sopenharmony_ci .enable_reg = 0x0248, 22648c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 22658c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 22668c2ecf20Sopenharmony_ci .name = "gcc_ocmem_noc_cfg_ahb_clk", 22678c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ 22688c2ecf20Sopenharmony_ci "config_noc_clk_src", 22698c2ecf20Sopenharmony_ci }, 22708c2ecf20Sopenharmony_ci .num_parents = 1, 22718c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 22728c2ecf20Sopenharmony_ci }, 22738c2ecf20Sopenharmony_ci }, 22748c2ecf20Sopenharmony_ci}; 22758c2ecf20Sopenharmony_ci 22768c2ecf20Sopenharmony_cistatic struct clk_branch gcc_pcie_0_aux_clk = { 22778c2ecf20Sopenharmony_ci .halt_reg = 0x1b10, 22788c2ecf20Sopenharmony_ci .clkr = { 22798c2ecf20Sopenharmony_ci .enable_reg = 0x1b10, 22808c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 22818c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 22828c2ecf20Sopenharmony_ci .name = "gcc_pcie_0_aux_clk", 22838c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ 22848c2ecf20Sopenharmony_ci "pcie_0_aux_clk_src", 22858c2ecf20Sopenharmony_ci }, 22868c2ecf20Sopenharmony_ci .num_parents = 1, 22878c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 22888c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 22898c2ecf20Sopenharmony_ci }, 22908c2ecf20Sopenharmony_ci }, 22918c2ecf20Sopenharmony_ci}; 22928c2ecf20Sopenharmony_ci 22938c2ecf20Sopenharmony_cistatic struct clk_branch gcc_pcie_0_cfg_ahb_clk = { 22948c2ecf20Sopenharmony_ci .halt_reg = 0x1b0c, 22958c2ecf20Sopenharmony_ci .clkr = { 22968c2ecf20Sopenharmony_ci .enable_reg = 0x1b0c, 22978c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 22988c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 22998c2ecf20Sopenharmony_ci .name = "gcc_pcie_0_cfg_ahb_clk", 23008c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ 23018c2ecf20Sopenharmony_ci "config_noc_clk_src", 23028c2ecf20Sopenharmony_ci }, 23038c2ecf20Sopenharmony_ci .num_parents = 1, 23048c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 23058c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 23068c2ecf20Sopenharmony_ci }, 23078c2ecf20Sopenharmony_ci }, 23088c2ecf20Sopenharmony_ci}; 23098c2ecf20Sopenharmony_ci 23108c2ecf20Sopenharmony_cistatic struct clk_branch gcc_pcie_0_mstr_axi_clk = { 23118c2ecf20Sopenharmony_ci .halt_reg = 0x1b08, 23128c2ecf20Sopenharmony_ci .clkr = { 23138c2ecf20Sopenharmony_ci .enable_reg = 0x1b08, 23148c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 23158c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 23168c2ecf20Sopenharmony_ci .name = "gcc_pcie_0_mstr_axi_clk", 23178c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ 23188c2ecf20Sopenharmony_ci "config_noc_clk_src", 23198c2ecf20Sopenharmony_ci }, 23208c2ecf20Sopenharmony_ci .num_parents = 1, 23218c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 23228c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 23238c2ecf20Sopenharmony_ci }, 23248c2ecf20Sopenharmony_ci }, 23258c2ecf20Sopenharmony_ci}; 23268c2ecf20Sopenharmony_ci 23278c2ecf20Sopenharmony_cistatic struct clk_branch gcc_pcie_0_pipe_clk = { 23288c2ecf20Sopenharmony_ci .halt_reg = 0x1b14, 23298c2ecf20Sopenharmony_ci .clkr = { 23308c2ecf20Sopenharmony_ci .enable_reg = 0x1b14, 23318c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 23328c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 23338c2ecf20Sopenharmony_ci .name = "gcc_pcie_0_pipe_clk", 23348c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ 23358c2ecf20Sopenharmony_ci "pcie_0_pipe_clk_src", 23368c2ecf20Sopenharmony_ci }, 23378c2ecf20Sopenharmony_ci .num_parents = 1, 23388c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 23398c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 23408c2ecf20Sopenharmony_ci }, 23418c2ecf20Sopenharmony_ci }, 23428c2ecf20Sopenharmony_ci}; 23438c2ecf20Sopenharmony_ci 23448c2ecf20Sopenharmony_cistatic struct clk_branch gcc_pcie_0_slv_axi_clk = { 23458c2ecf20Sopenharmony_ci .halt_reg = 0x1b04, 23468c2ecf20Sopenharmony_ci .clkr = { 23478c2ecf20Sopenharmony_ci .enable_reg = 0x1b04, 23488c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 23498c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 23508c2ecf20Sopenharmony_ci .name = "gcc_pcie_0_slv_axi_clk", 23518c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ 23528c2ecf20Sopenharmony_ci "config_noc_clk_src", 23538c2ecf20Sopenharmony_ci }, 23548c2ecf20Sopenharmony_ci .num_parents = 1, 23558c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 23568c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 23578c2ecf20Sopenharmony_ci }, 23588c2ecf20Sopenharmony_ci }, 23598c2ecf20Sopenharmony_ci}; 23608c2ecf20Sopenharmony_ci 23618c2ecf20Sopenharmony_cistatic struct clk_branch gcc_pcie_1_aux_clk = { 23628c2ecf20Sopenharmony_ci .halt_reg = 0x1b90, 23638c2ecf20Sopenharmony_ci .clkr = { 23648c2ecf20Sopenharmony_ci .enable_reg = 0x1b90, 23658c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 23668c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 23678c2ecf20Sopenharmony_ci .name = "gcc_pcie_1_aux_clk", 23688c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ 23698c2ecf20Sopenharmony_ci "pcie_1_aux_clk_src", 23708c2ecf20Sopenharmony_ci }, 23718c2ecf20Sopenharmony_ci .num_parents = 1, 23728c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 23738c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 23748c2ecf20Sopenharmony_ci }, 23758c2ecf20Sopenharmony_ci }, 23768c2ecf20Sopenharmony_ci}; 23778c2ecf20Sopenharmony_ci 23788c2ecf20Sopenharmony_cistatic struct clk_branch gcc_pcie_1_cfg_ahb_clk = { 23798c2ecf20Sopenharmony_ci .halt_reg = 0x1b8c, 23808c2ecf20Sopenharmony_ci .clkr = { 23818c2ecf20Sopenharmony_ci .enable_reg = 0x1b8c, 23828c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 23838c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 23848c2ecf20Sopenharmony_ci .name = "gcc_pcie_1_cfg_ahb_clk", 23858c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ 23868c2ecf20Sopenharmony_ci "config_noc_clk_src", 23878c2ecf20Sopenharmony_ci }, 23888c2ecf20Sopenharmony_ci .num_parents = 1, 23898c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 23908c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 23918c2ecf20Sopenharmony_ci }, 23928c2ecf20Sopenharmony_ci }, 23938c2ecf20Sopenharmony_ci}; 23948c2ecf20Sopenharmony_ci 23958c2ecf20Sopenharmony_cistatic struct clk_branch gcc_pcie_1_mstr_axi_clk = { 23968c2ecf20Sopenharmony_ci .halt_reg = 0x1b88, 23978c2ecf20Sopenharmony_ci .clkr = { 23988c2ecf20Sopenharmony_ci .enable_reg = 0x1b88, 23998c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 24008c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 24018c2ecf20Sopenharmony_ci .name = "gcc_pcie_1_mstr_axi_clk", 24028c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ 24038c2ecf20Sopenharmony_ci "config_noc_clk_src", 24048c2ecf20Sopenharmony_ci }, 24058c2ecf20Sopenharmony_ci .num_parents = 1, 24068c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 24078c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 24088c2ecf20Sopenharmony_ci }, 24098c2ecf20Sopenharmony_ci }, 24108c2ecf20Sopenharmony_ci}; 24118c2ecf20Sopenharmony_ci 24128c2ecf20Sopenharmony_cistatic struct clk_branch gcc_pcie_1_pipe_clk = { 24138c2ecf20Sopenharmony_ci .halt_reg = 0x1b94, 24148c2ecf20Sopenharmony_ci .clkr = { 24158c2ecf20Sopenharmony_ci .enable_reg = 0x1b94, 24168c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 24178c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 24188c2ecf20Sopenharmony_ci .name = "gcc_pcie_1_pipe_clk", 24198c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ 24208c2ecf20Sopenharmony_ci "pcie_1_pipe_clk_src", 24218c2ecf20Sopenharmony_ci }, 24228c2ecf20Sopenharmony_ci .num_parents = 1, 24238c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 24248c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 24258c2ecf20Sopenharmony_ci }, 24268c2ecf20Sopenharmony_ci }, 24278c2ecf20Sopenharmony_ci}; 24288c2ecf20Sopenharmony_ci 24298c2ecf20Sopenharmony_cistatic struct clk_branch gcc_pcie_1_slv_axi_clk = { 24308c2ecf20Sopenharmony_ci .halt_reg = 0x1b84, 24318c2ecf20Sopenharmony_ci .clkr = { 24328c2ecf20Sopenharmony_ci .enable_reg = 0x1b84, 24338c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 24348c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 24358c2ecf20Sopenharmony_ci .name = "gcc_pcie_1_slv_axi_clk", 24368c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ 24378c2ecf20Sopenharmony_ci "config_noc_clk_src", 24388c2ecf20Sopenharmony_ci }, 24398c2ecf20Sopenharmony_ci .num_parents = 1, 24408c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 24418c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 24428c2ecf20Sopenharmony_ci }, 24438c2ecf20Sopenharmony_ci }, 24448c2ecf20Sopenharmony_ci}; 24458c2ecf20Sopenharmony_ci 24468c2ecf20Sopenharmony_cistatic struct clk_branch gcc_pdm2_clk = { 24478c2ecf20Sopenharmony_ci .halt_reg = 0x0ccc, 24488c2ecf20Sopenharmony_ci .clkr = { 24498c2ecf20Sopenharmony_ci .enable_reg = 0x0ccc, 24508c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 24518c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 24528c2ecf20Sopenharmony_ci .name = "gcc_pdm2_clk", 24538c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ 24548c2ecf20Sopenharmony_ci "pdm2_clk_src", 24558c2ecf20Sopenharmony_ci }, 24568c2ecf20Sopenharmony_ci .num_parents = 1, 24578c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 24588c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 24598c2ecf20Sopenharmony_ci }, 24608c2ecf20Sopenharmony_ci }, 24618c2ecf20Sopenharmony_ci}; 24628c2ecf20Sopenharmony_ci 24638c2ecf20Sopenharmony_cistatic struct clk_branch gcc_pdm_ahb_clk = { 24648c2ecf20Sopenharmony_ci .halt_reg = 0x0cc4, 24658c2ecf20Sopenharmony_ci .clkr = { 24668c2ecf20Sopenharmony_ci .enable_reg = 0x0cc4, 24678c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 24688c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 24698c2ecf20Sopenharmony_ci .name = "gcc_pdm_ahb_clk", 24708c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ 24718c2ecf20Sopenharmony_ci "periph_noc_clk_src", 24728c2ecf20Sopenharmony_ci }, 24738c2ecf20Sopenharmony_ci .num_parents = 1, 24748c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 24758c2ecf20Sopenharmony_ci }, 24768c2ecf20Sopenharmony_ci }, 24778c2ecf20Sopenharmony_ci}; 24788c2ecf20Sopenharmony_ci 24798c2ecf20Sopenharmony_cistatic struct clk_branch gcc_periph_noc_usb_hsic_ahb_clk = { 24808c2ecf20Sopenharmony_ci .halt_reg = 0x01a4, 24818c2ecf20Sopenharmony_ci .clkr = { 24828c2ecf20Sopenharmony_ci .enable_reg = 0x01a4, 24838c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 24848c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 24858c2ecf20Sopenharmony_ci .name = "gcc_periph_noc_usb_hsic_ahb_clk", 24868c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ 24878c2ecf20Sopenharmony_ci "usb_hsic_ahb_clk_src", 24888c2ecf20Sopenharmony_ci }, 24898c2ecf20Sopenharmony_ci .num_parents = 1, 24908c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 24918c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 24928c2ecf20Sopenharmony_ci }, 24938c2ecf20Sopenharmony_ci }, 24948c2ecf20Sopenharmony_ci}; 24958c2ecf20Sopenharmony_ci 24968c2ecf20Sopenharmony_cistatic struct clk_branch gcc_prng_ahb_clk = { 24978c2ecf20Sopenharmony_ci .halt_reg = 0x0d04, 24988c2ecf20Sopenharmony_ci .halt_check = BRANCH_HALT_VOTED, 24998c2ecf20Sopenharmony_ci .clkr = { 25008c2ecf20Sopenharmony_ci .enable_reg = 0x1484, 25018c2ecf20Sopenharmony_ci .enable_mask = BIT(13), 25028c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 25038c2ecf20Sopenharmony_ci .name = "gcc_prng_ahb_clk", 25048c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ 25058c2ecf20Sopenharmony_ci "periph_noc_clk_src", 25068c2ecf20Sopenharmony_ci }, 25078c2ecf20Sopenharmony_ci .num_parents = 1, 25088c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 25098c2ecf20Sopenharmony_ci }, 25108c2ecf20Sopenharmony_ci }, 25118c2ecf20Sopenharmony_ci}; 25128c2ecf20Sopenharmony_ci 25138c2ecf20Sopenharmony_cistatic struct clk_branch gcc_sata_asic0_clk = { 25148c2ecf20Sopenharmony_ci .halt_reg = 0x1c54, 25158c2ecf20Sopenharmony_ci .clkr = { 25168c2ecf20Sopenharmony_ci .enable_reg = 0x1c54, 25178c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 25188c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 25198c2ecf20Sopenharmony_ci .name = "gcc_sata_asic0_clk", 25208c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ 25218c2ecf20Sopenharmony_ci "sata_asic0_clk_src", 25228c2ecf20Sopenharmony_ci }, 25238c2ecf20Sopenharmony_ci .num_parents = 1, 25248c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 25258c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 25268c2ecf20Sopenharmony_ci }, 25278c2ecf20Sopenharmony_ci }, 25288c2ecf20Sopenharmony_ci}; 25298c2ecf20Sopenharmony_ci 25308c2ecf20Sopenharmony_cistatic struct clk_branch gcc_sata_axi_clk = { 25318c2ecf20Sopenharmony_ci .halt_reg = 0x1c44, 25328c2ecf20Sopenharmony_ci .clkr = { 25338c2ecf20Sopenharmony_ci .enable_reg = 0x1c44, 25348c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 25358c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 25368c2ecf20Sopenharmony_ci .name = "gcc_sata_axi_clk", 25378c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ 25388c2ecf20Sopenharmony_ci "config_noc_clk_src", 25398c2ecf20Sopenharmony_ci }, 25408c2ecf20Sopenharmony_ci .num_parents = 1, 25418c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 25428c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 25438c2ecf20Sopenharmony_ci }, 25448c2ecf20Sopenharmony_ci }, 25458c2ecf20Sopenharmony_ci}; 25468c2ecf20Sopenharmony_ci 25478c2ecf20Sopenharmony_cistatic struct clk_branch gcc_sata_cfg_ahb_clk = { 25488c2ecf20Sopenharmony_ci .halt_reg = 0x1c48, 25498c2ecf20Sopenharmony_ci .clkr = { 25508c2ecf20Sopenharmony_ci .enable_reg = 0x1c48, 25518c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 25528c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 25538c2ecf20Sopenharmony_ci .name = "gcc_sata_cfg_ahb_clk", 25548c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ 25558c2ecf20Sopenharmony_ci "config_noc_clk_src", 25568c2ecf20Sopenharmony_ci }, 25578c2ecf20Sopenharmony_ci .num_parents = 1, 25588c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 25598c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 25608c2ecf20Sopenharmony_ci }, 25618c2ecf20Sopenharmony_ci }, 25628c2ecf20Sopenharmony_ci}; 25638c2ecf20Sopenharmony_ci 25648c2ecf20Sopenharmony_cistatic struct clk_branch gcc_sata_pmalive_clk = { 25658c2ecf20Sopenharmony_ci .halt_reg = 0x1c50, 25668c2ecf20Sopenharmony_ci .clkr = { 25678c2ecf20Sopenharmony_ci .enable_reg = 0x1c50, 25688c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 25698c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 25708c2ecf20Sopenharmony_ci .name = "gcc_sata_pmalive_clk", 25718c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ 25728c2ecf20Sopenharmony_ci "sata_pmalive_clk_src", 25738c2ecf20Sopenharmony_ci }, 25748c2ecf20Sopenharmony_ci .num_parents = 1, 25758c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 25768c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 25778c2ecf20Sopenharmony_ci }, 25788c2ecf20Sopenharmony_ci }, 25798c2ecf20Sopenharmony_ci}; 25808c2ecf20Sopenharmony_ci 25818c2ecf20Sopenharmony_cistatic struct clk_branch gcc_sata_rx_clk = { 25828c2ecf20Sopenharmony_ci .halt_reg = 0x1c58, 25838c2ecf20Sopenharmony_ci .clkr = { 25848c2ecf20Sopenharmony_ci .enable_reg = 0x1c58, 25858c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 25868c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 25878c2ecf20Sopenharmony_ci .name = "gcc_sata_rx_clk", 25888c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ 25898c2ecf20Sopenharmony_ci "sata_rx_clk_src", 25908c2ecf20Sopenharmony_ci }, 25918c2ecf20Sopenharmony_ci .num_parents = 1, 25928c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 25938c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 25948c2ecf20Sopenharmony_ci }, 25958c2ecf20Sopenharmony_ci }, 25968c2ecf20Sopenharmony_ci}; 25978c2ecf20Sopenharmony_ci 25988c2ecf20Sopenharmony_cistatic struct clk_branch gcc_sata_rx_oob_clk = { 25998c2ecf20Sopenharmony_ci .halt_reg = 0x1c4c, 26008c2ecf20Sopenharmony_ci .clkr = { 26018c2ecf20Sopenharmony_ci .enable_reg = 0x1c4c, 26028c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 26038c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 26048c2ecf20Sopenharmony_ci .name = "gcc_sata_rx_oob_clk", 26058c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ 26068c2ecf20Sopenharmony_ci "sata_rx_oob_clk_src", 26078c2ecf20Sopenharmony_ci }, 26088c2ecf20Sopenharmony_ci .num_parents = 1, 26098c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 26108c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 26118c2ecf20Sopenharmony_ci }, 26128c2ecf20Sopenharmony_ci }, 26138c2ecf20Sopenharmony_ci}; 26148c2ecf20Sopenharmony_ci 26158c2ecf20Sopenharmony_cistatic struct clk_branch gcc_sdcc1_ahb_clk = { 26168c2ecf20Sopenharmony_ci .halt_reg = 0x04c8, 26178c2ecf20Sopenharmony_ci .clkr = { 26188c2ecf20Sopenharmony_ci .enable_reg = 0x04c8, 26198c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 26208c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 26218c2ecf20Sopenharmony_ci .name = "gcc_sdcc1_ahb_clk", 26228c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ 26238c2ecf20Sopenharmony_ci "periph_noc_clk_src", 26248c2ecf20Sopenharmony_ci }, 26258c2ecf20Sopenharmony_ci .num_parents = 1, 26268c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 26278c2ecf20Sopenharmony_ci }, 26288c2ecf20Sopenharmony_ci }, 26298c2ecf20Sopenharmony_ci}; 26308c2ecf20Sopenharmony_ci 26318c2ecf20Sopenharmony_cistatic struct clk_branch gcc_sdcc1_apps_clk = { 26328c2ecf20Sopenharmony_ci .halt_reg = 0x04c4, 26338c2ecf20Sopenharmony_ci .clkr = { 26348c2ecf20Sopenharmony_ci .enable_reg = 0x04c4, 26358c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 26368c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 26378c2ecf20Sopenharmony_ci .name = "gcc_sdcc1_apps_clk", 26388c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ 26398c2ecf20Sopenharmony_ci "sdcc1_apps_clk_src", 26408c2ecf20Sopenharmony_ci }, 26418c2ecf20Sopenharmony_ci .num_parents = 1, 26428c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 26438c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 26448c2ecf20Sopenharmony_ci }, 26458c2ecf20Sopenharmony_ci }, 26468c2ecf20Sopenharmony_ci}; 26478c2ecf20Sopenharmony_ci 26488c2ecf20Sopenharmony_cistatic struct clk_branch gcc_sdcc1_cdccal_ff_clk = { 26498c2ecf20Sopenharmony_ci .halt_reg = 0x04e8, 26508c2ecf20Sopenharmony_ci .clkr = { 26518c2ecf20Sopenharmony_ci .enable_reg = 0x04e8, 26528c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 26538c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 26548c2ecf20Sopenharmony_ci .name = "gcc_sdcc1_cdccal_ff_clk", 26558c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ 26568c2ecf20Sopenharmony_ci "xo" 26578c2ecf20Sopenharmony_ci }, 26588c2ecf20Sopenharmony_ci .num_parents = 1, 26598c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 26608c2ecf20Sopenharmony_ci }, 26618c2ecf20Sopenharmony_ci }, 26628c2ecf20Sopenharmony_ci}; 26638c2ecf20Sopenharmony_ci 26648c2ecf20Sopenharmony_cistatic struct clk_branch gcc_sdcc1_cdccal_sleep_clk = { 26658c2ecf20Sopenharmony_ci .halt_reg = 0x04e4, 26668c2ecf20Sopenharmony_ci .clkr = { 26678c2ecf20Sopenharmony_ci .enable_reg = 0x04e4, 26688c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 26698c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 26708c2ecf20Sopenharmony_ci .name = "gcc_sdcc1_cdccal_sleep_clk", 26718c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ 26728c2ecf20Sopenharmony_ci "sleep_clk_src" 26738c2ecf20Sopenharmony_ci }, 26748c2ecf20Sopenharmony_ci .num_parents = 1, 26758c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 26768c2ecf20Sopenharmony_ci }, 26778c2ecf20Sopenharmony_ci }, 26788c2ecf20Sopenharmony_ci}; 26798c2ecf20Sopenharmony_ci 26808c2ecf20Sopenharmony_cistatic struct clk_branch gcc_sdcc2_ahb_clk = { 26818c2ecf20Sopenharmony_ci .halt_reg = 0x0508, 26828c2ecf20Sopenharmony_ci .clkr = { 26838c2ecf20Sopenharmony_ci .enable_reg = 0x0508, 26848c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 26858c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 26868c2ecf20Sopenharmony_ci .name = "gcc_sdcc2_ahb_clk", 26878c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ 26888c2ecf20Sopenharmony_ci "periph_noc_clk_src", 26898c2ecf20Sopenharmony_ci }, 26908c2ecf20Sopenharmony_ci .num_parents = 1, 26918c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 26928c2ecf20Sopenharmony_ci }, 26938c2ecf20Sopenharmony_ci }, 26948c2ecf20Sopenharmony_ci}; 26958c2ecf20Sopenharmony_ci 26968c2ecf20Sopenharmony_cistatic struct clk_branch gcc_sdcc2_apps_clk = { 26978c2ecf20Sopenharmony_ci .halt_reg = 0x0504, 26988c2ecf20Sopenharmony_ci .clkr = { 26998c2ecf20Sopenharmony_ci .enable_reg = 0x0504, 27008c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 27018c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 27028c2ecf20Sopenharmony_ci .name = "gcc_sdcc2_apps_clk", 27038c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ 27048c2ecf20Sopenharmony_ci "sdcc2_apps_clk_src", 27058c2ecf20Sopenharmony_ci }, 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_branch gcc_sdcc3_ahb_clk = { 27148c2ecf20Sopenharmony_ci .halt_reg = 0x0548, 27158c2ecf20Sopenharmony_ci .clkr = { 27168c2ecf20Sopenharmony_ci .enable_reg = 0x0548, 27178c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 27188c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 27198c2ecf20Sopenharmony_ci .name = "gcc_sdcc3_ahb_clk", 27208c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ 27218c2ecf20Sopenharmony_ci "periph_noc_clk_src", 27228c2ecf20Sopenharmony_ci }, 27238c2ecf20Sopenharmony_ci .num_parents = 1, 27248c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 27258c2ecf20Sopenharmony_ci }, 27268c2ecf20Sopenharmony_ci }, 27278c2ecf20Sopenharmony_ci}; 27288c2ecf20Sopenharmony_ci 27298c2ecf20Sopenharmony_cistatic struct clk_branch gcc_sdcc3_apps_clk = { 27308c2ecf20Sopenharmony_ci .halt_reg = 0x0544, 27318c2ecf20Sopenharmony_ci .clkr = { 27328c2ecf20Sopenharmony_ci .enable_reg = 0x0544, 27338c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 27348c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 27358c2ecf20Sopenharmony_ci .name = "gcc_sdcc3_apps_clk", 27368c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ 27378c2ecf20Sopenharmony_ci "sdcc3_apps_clk_src", 27388c2ecf20Sopenharmony_ci }, 27398c2ecf20Sopenharmony_ci .num_parents = 1, 27408c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 27418c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 27428c2ecf20Sopenharmony_ci }, 27438c2ecf20Sopenharmony_ci }, 27448c2ecf20Sopenharmony_ci}; 27458c2ecf20Sopenharmony_ci 27468c2ecf20Sopenharmony_cistatic struct clk_branch gcc_sdcc4_ahb_clk = { 27478c2ecf20Sopenharmony_ci .halt_reg = 0x0588, 27488c2ecf20Sopenharmony_ci .clkr = { 27498c2ecf20Sopenharmony_ci .enable_reg = 0x0588, 27508c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 27518c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 27528c2ecf20Sopenharmony_ci .name = "gcc_sdcc4_ahb_clk", 27538c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ 27548c2ecf20Sopenharmony_ci "periph_noc_clk_src", 27558c2ecf20Sopenharmony_ci }, 27568c2ecf20Sopenharmony_ci .num_parents = 1, 27578c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 27588c2ecf20Sopenharmony_ci }, 27598c2ecf20Sopenharmony_ci }, 27608c2ecf20Sopenharmony_ci}; 27618c2ecf20Sopenharmony_ci 27628c2ecf20Sopenharmony_cistatic struct clk_branch gcc_sdcc4_apps_clk = { 27638c2ecf20Sopenharmony_ci .halt_reg = 0x0584, 27648c2ecf20Sopenharmony_ci .clkr = { 27658c2ecf20Sopenharmony_ci .enable_reg = 0x0584, 27668c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 27678c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 27688c2ecf20Sopenharmony_ci .name = "gcc_sdcc4_apps_clk", 27698c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ 27708c2ecf20Sopenharmony_ci "sdcc4_apps_clk_src", 27718c2ecf20Sopenharmony_ci }, 27728c2ecf20Sopenharmony_ci .num_parents = 1, 27738c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 27748c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 27758c2ecf20Sopenharmony_ci }, 27768c2ecf20Sopenharmony_ci }, 27778c2ecf20Sopenharmony_ci}; 27788c2ecf20Sopenharmony_ci 27798c2ecf20Sopenharmony_cistatic struct clk_branch gcc_sys_noc_ufs_axi_clk = { 27808c2ecf20Sopenharmony_ci .halt_reg = 0x013c, 27818c2ecf20Sopenharmony_ci .clkr = { 27828c2ecf20Sopenharmony_ci .enable_reg = 0x013c, 27838c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 27848c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 27858c2ecf20Sopenharmony_ci .name = "gcc_sys_noc_ufs_axi_clk", 27868c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ 27878c2ecf20Sopenharmony_ci "ufs_axi_clk_src", 27888c2ecf20Sopenharmony_ci }, 27898c2ecf20Sopenharmony_ci .num_parents = 1, 27908c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 27918c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 27928c2ecf20Sopenharmony_ci }, 27938c2ecf20Sopenharmony_ci }, 27948c2ecf20Sopenharmony_ci}; 27958c2ecf20Sopenharmony_ci 27968c2ecf20Sopenharmony_cistatic struct clk_branch gcc_sys_noc_usb3_axi_clk = { 27978c2ecf20Sopenharmony_ci .halt_reg = 0x0108, 27988c2ecf20Sopenharmony_ci .clkr = { 27998c2ecf20Sopenharmony_ci .enable_reg = 0x0108, 28008c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 28018c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 28028c2ecf20Sopenharmony_ci .name = "gcc_sys_noc_usb3_axi_clk", 28038c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ 28048c2ecf20Sopenharmony_ci "usb30_master_clk_src", 28058c2ecf20Sopenharmony_ci }, 28068c2ecf20Sopenharmony_ci .num_parents = 1, 28078c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 28088c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 28098c2ecf20Sopenharmony_ci }, 28108c2ecf20Sopenharmony_ci }, 28118c2ecf20Sopenharmony_ci}; 28128c2ecf20Sopenharmony_ci 28138c2ecf20Sopenharmony_cistatic struct clk_branch gcc_sys_noc_usb3_sec_axi_clk = { 28148c2ecf20Sopenharmony_ci .halt_reg = 0x0138, 28158c2ecf20Sopenharmony_ci .clkr = { 28168c2ecf20Sopenharmony_ci .enable_reg = 0x0138, 28178c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 28188c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 28198c2ecf20Sopenharmony_ci .name = "gcc_sys_noc_usb3_sec_axi_clk", 28208c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ 28218c2ecf20Sopenharmony_ci "usb30_sec_master_clk_src", 28228c2ecf20Sopenharmony_ci }, 28238c2ecf20Sopenharmony_ci .num_parents = 1, 28248c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 28258c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 28268c2ecf20Sopenharmony_ci }, 28278c2ecf20Sopenharmony_ci }, 28288c2ecf20Sopenharmony_ci}; 28298c2ecf20Sopenharmony_ci 28308c2ecf20Sopenharmony_cistatic struct clk_branch gcc_tsif_ahb_clk = { 28318c2ecf20Sopenharmony_ci .halt_reg = 0x0d84, 28328c2ecf20Sopenharmony_ci .clkr = { 28338c2ecf20Sopenharmony_ci .enable_reg = 0x0d84, 28348c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 28358c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 28368c2ecf20Sopenharmony_ci .name = "gcc_tsif_ahb_clk", 28378c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ 28388c2ecf20Sopenharmony_ci "periph_noc_clk_src", 28398c2ecf20Sopenharmony_ci }, 28408c2ecf20Sopenharmony_ci .num_parents = 1, 28418c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 28428c2ecf20Sopenharmony_ci }, 28438c2ecf20Sopenharmony_ci }, 28448c2ecf20Sopenharmony_ci}; 28458c2ecf20Sopenharmony_ci 28468c2ecf20Sopenharmony_cistatic struct clk_branch gcc_tsif_inactivity_timers_clk = { 28478c2ecf20Sopenharmony_ci .halt_reg = 0x0d8c, 28488c2ecf20Sopenharmony_ci .clkr = { 28498c2ecf20Sopenharmony_ci .enable_reg = 0x0d8c, 28508c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 28518c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 28528c2ecf20Sopenharmony_ci .name = "gcc_tsif_inactivity_timers_clk", 28538c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ 28548c2ecf20Sopenharmony_ci "sleep_clk_src", 28558c2ecf20Sopenharmony_ci }, 28568c2ecf20Sopenharmony_ci .num_parents = 1, 28578c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 28588c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 28598c2ecf20Sopenharmony_ci }, 28608c2ecf20Sopenharmony_ci }, 28618c2ecf20Sopenharmony_ci}; 28628c2ecf20Sopenharmony_ci 28638c2ecf20Sopenharmony_cistatic struct clk_branch gcc_tsif_ref_clk = { 28648c2ecf20Sopenharmony_ci .halt_reg = 0x0d88, 28658c2ecf20Sopenharmony_ci .clkr = { 28668c2ecf20Sopenharmony_ci .enable_reg = 0x0d88, 28678c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 28688c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 28698c2ecf20Sopenharmony_ci .name = "gcc_tsif_ref_clk", 28708c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ 28718c2ecf20Sopenharmony_ci "tsif_ref_clk_src", 28728c2ecf20Sopenharmony_ci }, 28738c2ecf20Sopenharmony_ci .num_parents = 1, 28748c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 28758c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 28768c2ecf20Sopenharmony_ci }, 28778c2ecf20Sopenharmony_ci }, 28788c2ecf20Sopenharmony_ci}; 28798c2ecf20Sopenharmony_ci 28808c2ecf20Sopenharmony_cistatic struct clk_branch gcc_ufs_ahb_clk = { 28818c2ecf20Sopenharmony_ci .halt_reg = 0x1d48, 28828c2ecf20Sopenharmony_ci .clkr = { 28838c2ecf20Sopenharmony_ci .enable_reg = 0x1d48, 28848c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 28858c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 28868c2ecf20Sopenharmony_ci .name = "gcc_ufs_ahb_clk", 28878c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ 28888c2ecf20Sopenharmony_ci "config_noc_clk_src", 28898c2ecf20Sopenharmony_ci }, 28908c2ecf20Sopenharmony_ci .num_parents = 1, 28918c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 28928c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 28938c2ecf20Sopenharmony_ci }, 28948c2ecf20Sopenharmony_ci }, 28958c2ecf20Sopenharmony_ci}; 28968c2ecf20Sopenharmony_ci 28978c2ecf20Sopenharmony_cistatic struct clk_branch gcc_ufs_axi_clk = { 28988c2ecf20Sopenharmony_ci .halt_reg = 0x1d44, 28998c2ecf20Sopenharmony_ci .clkr = { 29008c2ecf20Sopenharmony_ci .enable_reg = 0x1d44, 29018c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 29028c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 29038c2ecf20Sopenharmony_ci .name = "gcc_ufs_axi_clk", 29048c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ 29058c2ecf20Sopenharmony_ci "ufs_axi_clk_src", 29068c2ecf20Sopenharmony_ci }, 29078c2ecf20Sopenharmony_ci .num_parents = 1, 29088c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 29098c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 29108c2ecf20Sopenharmony_ci }, 29118c2ecf20Sopenharmony_ci }, 29128c2ecf20Sopenharmony_ci}; 29138c2ecf20Sopenharmony_ci 29148c2ecf20Sopenharmony_cistatic struct clk_branch gcc_ufs_rx_cfg_clk = { 29158c2ecf20Sopenharmony_ci .halt_reg = 0x1d50, 29168c2ecf20Sopenharmony_ci .clkr = { 29178c2ecf20Sopenharmony_ci .enable_reg = 0x1d50, 29188c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 29198c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 29208c2ecf20Sopenharmony_ci .name = "gcc_ufs_rx_cfg_clk", 29218c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ 29228c2ecf20Sopenharmony_ci "ufs_axi_clk_src", 29238c2ecf20Sopenharmony_ci }, 29248c2ecf20Sopenharmony_ci .num_parents = 1, 29258c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 29268c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 29278c2ecf20Sopenharmony_ci }, 29288c2ecf20Sopenharmony_ci }, 29298c2ecf20Sopenharmony_ci}; 29308c2ecf20Sopenharmony_ci 29318c2ecf20Sopenharmony_cistatic struct clk_branch gcc_ufs_rx_symbol_0_clk = { 29328c2ecf20Sopenharmony_ci .halt_reg = 0x1d5c, 29338c2ecf20Sopenharmony_ci .clkr = { 29348c2ecf20Sopenharmony_ci .enable_reg = 0x1d5c, 29358c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 29368c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 29378c2ecf20Sopenharmony_ci .name = "gcc_ufs_rx_symbol_0_clk", 29388c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ 29398c2ecf20Sopenharmony_ci "ufs_rx_symbol_0_clk_src", 29408c2ecf20Sopenharmony_ci }, 29418c2ecf20Sopenharmony_ci .num_parents = 1, 29428c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 29438c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 29448c2ecf20Sopenharmony_ci }, 29458c2ecf20Sopenharmony_ci }, 29468c2ecf20Sopenharmony_ci}; 29478c2ecf20Sopenharmony_ci 29488c2ecf20Sopenharmony_cistatic struct clk_branch gcc_ufs_rx_symbol_1_clk = { 29498c2ecf20Sopenharmony_ci .halt_reg = 0x1d60, 29508c2ecf20Sopenharmony_ci .clkr = { 29518c2ecf20Sopenharmony_ci .enable_reg = 0x1d60, 29528c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 29538c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 29548c2ecf20Sopenharmony_ci .name = "gcc_ufs_rx_symbol_1_clk", 29558c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ 29568c2ecf20Sopenharmony_ci "ufs_rx_symbol_1_clk_src", 29578c2ecf20Sopenharmony_ci }, 29588c2ecf20Sopenharmony_ci .num_parents = 1, 29598c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 29608c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 29618c2ecf20Sopenharmony_ci }, 29628c2ecf20Sopenharmony_ci }, 29638c2ecf20Sopenharmony_ci}; 29648c2ecf20Sopenharmony_ci 29658c2ecf20Sopenharmony_cistatic struct clk_branch gcc_ufs_tx_cfg_clk = { 29668c2ecf20Sopenharmony_ci .halt_reg = 0x1d4c, 29678c2ecf20Sopenharmony_ci .clkr = { 29688c2ecf20Sopenharmony_ci .enable_reg = 0x1d4c, 29698c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 29708c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 29718c2ecf20Sopenharmony_ci .name = "gcc_ufs_tx_cfg_clk", 29728c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ 29738c2ecf20Sopenharmony_ci "ufs_axi_clk_src", 29748c2ecf20Sopenharmony_ci }, 29758c2ecf20Sopenharmony_ci .num_parents = 1, 29768c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 29778c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 29788c2ecf20Sopenharmony_ci }, 29798c2ecf20Sopenharmony_ci }, 29808c2ecf20Sopenharmony_ci}; 29818c2ecf20Sopenharmony_ci 29828c2ecf20Sopenharmony_cistatic struct clk_branch gcc_ufs_tx_symbol_0_clk = { 29838c2ecf20Sopenharmony_ci .halt_reg = 0x1d54, 29848c2ecf20Sopenharmony_ci .clkr = { 29858c2ecf20Sopenharmony_ci .enable_reg = 0x1d54, 29868c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 29878c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 29888c2ecf20Sopenharmony_ci .name = "gcc_ufs_tx_symbol_0_clk", 29898c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ 29908c2ecf20Sopenharmony_ci "ufs_tx_symbol_0_clk_src", 29918c2ecf20Sopenharmony_ci }, 29928c2ecf20Sopenharmony_ci .num_parents = 1, 29938c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 29948c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 29958c2ecf20Sopenharmony_ci }, 29968c2ecf20Sopenharmony_ci }, 29978c2ecf20Sopenharmony_ci}; 29988c2ecf20Sopenharmony_ci 29998c2ecf20Sopenharmony_cistatic struct clk_branch gcc_ufs_tx_symbol_1_clk = { 30008c2ecf20Sopenharmony_ci .halt_reg = 0x1d58, 30018c2ecf20Sopenharmony_ci .clkr = { 30028c2ecf20Sopenharmony_ci .enable_reg = 0x1d58, 30038c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 30048c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 30058c2ecf20Sopenharmony_ci .name = "gcc_ufs_tx_symbol_1_clk", 30068c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ 30078c2ecf20Sopenharmony_ci "ufs_tx_symbol_1_clk_src", 30088c2ecf20Sopenharmony_ci }, 30098c2ecf20Sopenharmony_ci .num_parents = 1, 30108c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 30118c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 30128c2ecf20Sopenharmony_ci }, 30138c2ecf20Sopenharmony_ci }, 30148c2ecf20Sopenharmony_ci}; 30158c2ecf20Sopenharmony_ci 30168c2ecf20Sopenharmony_cistatic struct clk_branch gcc_usb2a_phy_sleep_clk = { 30178c2ecf20Sopenharmony_ci .halt_reg = 0x04ac, 30188c2ecf20Sopenharmony_ci .clkr = { 30198c2ecf20Sopenharmony_ci .enable_reg = 0x04ac, 30208c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 30218c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 30228c2ecf20Sopenharmony_ci .name = "gcc_usb2a_phy_sleep_clk", 30238c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ 30248c2ecf20Sopenharmony_ci "sleep_clk_src", 30258c2ecf20Sopenharmony_ci }, 30268c2ecf20Sopenharmony_ci .num_parents = 1, 30278c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 30288c2ecf20Sopenharmony_ci }, 30298c2ecf20Sopenharmony_ci }, 30308c2ecf20Sopenharmony_ci}; 30318c2ecf20Sopenharmony_ci 30328c2ecf20Sopenharmony_cistatic struct clk_branch gcc_usb2b_phy_sleep_clk = { 30338c2ecf20Sopenharmony_ci .halt_reg = 0x04b4, 30348c2ecf20Sopenharmony_ci .clkr = { 30358c2ecf20Sopenharmony_ci .enable_reg = 0x04b4, 30368c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 30378c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 30388c2ecf20Sopenharmony_ci .name = "gcc_usb2b_phy_sleep_clk", 30398c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ 30408c2ecf20Sopenharmony_ci "sleep_clk_src", 30418c2ecf20Sopenharmony_ci }, 30428c2ecf20Sopenharmony_ci .num_parents = 1, 30438c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 30448c2ecf20Sopenharmony_ci }, 30458c2ecf20Sopenharmony_ci }, 30468c2ecf20Sopenharmony_ci}; 30478c2ecf20Sopenharmony_ci 30488c2ecf20Sopenharmony_cistatic struct clk_branch gcc_usb30_master_clk = { 30498c2ecf20Sopenharmony_ci .halt_reg = 0x03c8, 30508c2ecf20Sopenharmony_ci .clkr = { 30518c2ecf20Sopenharmony_ci .enable_reg = 0x03c8, 30528c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 30538c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 30548c2ecf20Sopenharmony_ci .name = "gcc_usb30_master_clk", 30558c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ 30568c2ecf20Sopenharmony_ci "usb30_master_clk_src", 30578c2ecf20Sopenharmony_ci }, 30588c2ecf20Sopenharmony_ci .num_parents = 1, 30598c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 30608c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 30618c2ecf20Sopenharmony_ci }, 30628c2ecf20Sopenharmony_ci }, 30638c2ecf20Sopenharmony_ci}; 30648c2ecf20Sopenharmony_ci 30658c2ecf20Sopenharmony_cistatic struct clk_branch gcc_usb30_sec_master_clk = { 30668c2ecf20Sopenharmony_ci .halt_reg = 0x1bc8, 30678c2ecf20Sopenharmony_ci .clkr = { 30688c2ecf20Sopenharmony_ci .enable_reg = 0x1bc8, 30698c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 30708c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 30718c2ecf20Sopenharmony_ci .name = "gcc_usb30_sec_master_clk", 30728c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ 30738c2ecf20Sopenharmony_ci "usb30_sec_master_clk_src", 30748c2ecf20Sopenharmony_ci }, 30758c2ecf20Sopenharmony_ci .num_parents = 1, 30768c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 30778c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 30788c2ecf20Sopenharmony_ci }, 30798c2ecf20Sopenharmony_ci }, 30808c2ecf20Sopenharmony_ci}; 30818c2ecf20Sopenharmony_ci 30828c2ecf20Sopenharmony_cistatic struct clk_branch gcc_usb30_mock_utmi_clk = { 30838c2ecf20Sopenharmony_ci .halt_reg = 0x03d0, 30848c2ecf20Sopenharmony_ci .clkr = { 30858c2ecf20Sopenharmony_ci .enable_reg = 0x03d0, 30868c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 30878c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 30888c2ecf20Sopenharmony_ci .name = "gcc_usb30_mock_utmi_clk", 30898c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ 30908c2ecf20Sopenharmony_ci "usb30_mock_utmi_clk_src", 30918c2ecf20Sopenharmony_ci }, 30928c2ecf20Sopenharmony_ci .num_parents = 1, 30938c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 30948c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 30958c2ecf20Sopenharmony_ci }, 30968c2ecf20Sopenharmony_ci }, 30978c2ecf20Sopenharmony_ci}; 30988c2ecf20Sopenharmony_ci 30998c2ecf20Sopenharmony_cistatic struct clk_branch gcc_usb30_sleep_clk = { 31008c2ecf20Sopenharmony_ci .halt_reg = 0x03cc, 31018c2ecf20Sopenharmony_ci .clkr = { 31028c2ecf20Sopenharmony_ci .enable_reg = 0x03cc, 31038c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 31048c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 31058c2ecf20Sopenharmony_ci .name = "gcc_usb30_sleep_clk", 31068c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ 31078c2ecf20Sopenharmony_ci "sleep_clk_src", 31088c2ecf20Sopenharmony_ci }, 31098c2ecf20Sopenharmony_ci .num_parents = 1, 31108c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 31118c2ecf20Sopenharmony_ci }, 31128c2ecf20Sopenharmony_ci }, 31138c2ecf20Sopenharmony_ci}; 31148c2ecf20Sopenharmony_ci 31158c2ecf20Sopenharmony_cistatic struct clk_branch gcc_usb_hs_ahb_clk = { 31168c2ecf20Sopenharmony_ci .halt_reg = 0x0488, 31178c2ecf20Sopenharmony_ci .clkr = { 31188c2ecf20Sopenharmony_ci .enable_reg = 0x0488, 31198c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 31208c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 31218c2ecf20Sopenharmony_ci .name = "gcc_usb_hs_ahb_clk", 31228c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ 31238c2ecf20Sopenharmony_ci "periph_noc_clk_src", 31248c2ecf20Sopenharmony_ci }, 31258c2ecf20Sopenharmony_ci .num_parents = 1, 31268c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 31278c2ecf20Sopenharmony_ci }, 31288c2ecf20Sopenharmony_ci }, 31298c2ecf20Sopenharmony_ci}; 31308c2ecf20Sopenharmony_ci 31318c2ecf20Sopenharmony_cistatic struct clk_branch gcc_usb_hs_inactivity_timers_clk = { 31328c2ecf20Sopenharmony_ci .halt_reg = 0x048c, 31338c2ecf20Sopenharmony_ci .clkr = { 31348c2ecf20Sopenharmony_ci .enable_reg = 0x048c, 31358c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 31368c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 31378c2ecf20Sopenharmony_ci .name = "gcc_usb_hs_inactivity_timers_clk", 31388c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ 31398c2ecf20Sopenharmony_ci "sleep_clk_src", 31408c2ecf20Sopenharmony_ci }, 31418c2ecf20Sopenharmony_ci .num_parents = 1, 31428c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 31438c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 31448c2ecf20Sopenharmony_ci }, 31458c2ecf20Sopenharmony_ci }, 31468c2ecf20Sopenharmony_ci}; 31478c2ecf20Sopenharmony_ci 31488c2ecf20Sopenharmony_cistatic struct clk_branch gcc_usb_hs_system_clk = { 31498c2ecf20Sopenharmony_ci .halt_reg = 0x0484, 31508c2ecf20Sopenharmony_ci .clkr = { 31518c2ecf20Sopenharmony_ci .enable_reg = 0x0484, 31528c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 31538c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 31548c2ecf20Sopenharmony_ci .name = "gcc_usb_hs_system_clk", 31558c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ 31568c2ecf20Sopenharmony_ci "usb_hs_system_clk_src", 31578c2ecf20Sopenharmony_ci }, 31588c2ecf20Sopenharmony_ci .num_parents = 1, 31598c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 31608c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 31618c2ecf20Sopenharmony_ci }, 31628c2ecf20Sopenharmony_ci }, 31638c2ecf20Sopenharmony_ci}; 31648c2ecf20Sopenharmony_ci 31658c2ecf20Sopenharmony_cistatic struct clk_branch gcc_usb_hsic_ahb_clk = { 31668c2ecf20Sopenharmony_ci .halt_reg = 0x0408, 31678c2ecf20Sopenharmony_ci .clkr = { 31688c2ecf20Sopenharmony_ci .enable_reg = 0x0408, 31698c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 31708c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 31718c2ecf20Sopenharmony_ci .name = "gcc_usb_hsic_ahb_clk", 31728c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ 31738c2ecf20Sopenharmony_ci "periph_noc_clk_src", 31748c2ecf20Sopenharmony_ci }, 31758c2ecf20Sopenharmony_ci .num_parents = 1, 31768c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 31778c2ecf20Sopenharmony_ci }, 31788c2ecf20Sopenharmony_ci }, 31798c2ecf20Sopenharmony_ci}; 31808c2ecf20Sopenharmony_ci 31818c2ecf20Sopenharmony_cistatic struct clk_branch gcc_usb_hsic_clk = { 31828c2ecf20Sopenharmony_ci .halt_reg = 0x0410, 31838c2ecf20Sopenharmony_ci .clkr = { 31848c2ecf20Sopenharmony_ci .enable_reg = 0x0410, 31858c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 31868c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 31878c2ecf20Sopenharmony_ci .name = "gcc_usb_hsic_clk", 31888c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ 31898c2ecf20Sopenharmony_ci "usb_hsic_clk_src", 31908c2ecf20Sopenharmony_ci }, 31918c2ecf20Sopenharmony_ci .num_parents = 1, 31928c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 31938c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 31948c2ecf20Sopenharmony_ci }, 31958c2ecf20Sopenharmony_ci }, 31968c2ecf20Sopenharmony_ci}; 31978c2ecf20Sopenharmony_ci 31988c2ecf20Sopenharmony_cistatic struct clk_branch gcc_usb_hsic_io_cal_clk = { 31998c2ecf20Sopenharmony_ci .halt_reg = 0x0414, 32008c2ecf20Sopenharmony_ci .clkr = { 32018c2ecf20Sopenharmony_ci .enable_reg = 0x0414, 32028c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 32038c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 32048c2ecf20Sopenharmony_ci .name = "gcc_usb_hsic_io_cal_clk", 32058c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ 32068c2ecf20Sopenharmony_ci "usb_hsic_io_cal_clk_src", 32078c2ecf20Sopenharmony_ci }, 32088c2ecf20Sopenharmony_ci .num_parents = 1, 32098c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 32108c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 32118c2ecf20Sopenharmony_ci }, 32128c2ecf20Sopenharmony_ci }, 32138c2ecf20Sopenharmony_ci}; 32148c2ecf20Sopenharmony_ci 32158c2ecf20Sopenharmony_cistatic struct clk_branch gcc_usb_hsic_io_cal_sleep_clk = { 32168c2ecf20Sopenharmony_ci .halt_reg = 0x0418, 32178c2ecf20Sopenharmony_ci .clkr = { 32188c2ecf20Sopenharmony_ci .enable_reg = 0x0418, 32198c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 32208c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 32218c2ecf20Sopenharmony_ci .name = "gcc_usb_hsic_io_cal_sleep_clk", 32228c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ 32238c2ecf20Sopenharmony_ci "sleep_clk_src", 32248c2ecf20Sopenharmony_ci }, 32258c2ecf20Sopenharmony_ci .num_parents = 1, 32268c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 32278c2ecf20Sopenharmony_ci }, 32288c2ecf20Sopenharmony_ci }, 32298c2ecf20Sopenharmony_ci}; 32308c2ecf20Sopenharmony_ci 32318c2ecf20Sopenharmony_cistatic struct clk_branch gcc_usb_hsic_system_clk = { 32328c2ecf20Sopenharmony_ci .halt_reg = 0x040c, 32338c2ecf20Sopenharmony_ci .clkr = { 32348c2ecf20Sopenharmony_ci .enable_reg = 0x040c, 32358c2ecf20Sopenharmony_ci .enable_mask = BIT(0), 32368c2ecf20Sopenharmony_ci .hw.init = &(struct clk_init_data){ 32378c2ecf20Sopenharmony_ci .name = "gcc_usb_hsic_system_clk", 32388c2ecf20Sopenharmony_ci .parent_names = (const char *[]){ 32398c2ecf20Sopenharmony_ci "usb_hsic_system_clk_src", 32408c2ecf20Sopenharmony_ci }, 32418c2ecf20Sopenharmony_ci .num_parents = 1, 32428c2ecf20Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 32438c2ecf20Sopenharmony_ci .ops = &clk_branch2_ops, 32448c2ecf20Sopenharmony_ci }, 32458c2ecf20Sopenharmony_ci }, 32468c2ecf20Sopenharmony_ci}; 32478c2ecf20Sopenharmony_ci 32488c2ecf20Sopenharmony_cistatic struct gdsc usb_hs_hsic_gdsc = { 32498c2ecf20Sopenharmony_ci .gdscr = 0x404, 32508c2ecf20Sopenharmony_ci .pd = { 32518c2ecf20Sopenharmony_ci .name = "usb_hs_hsic", 32528c2ecf20Sopenharmony_ci }, 32538c2ecf20Sopenharmony_ci .pwrsts = PWRSTS_OFF_ON, 32548c2ecf20Sopenharmony_ci}; 32558c2ecf20Sopenharmony_ci 32568c2ecf20Sopenharmony_cistatic struct gdsc pcie0_gdsc = { 32578c2ecf20Sopenharmony_ci .gdscr = 0x1ac4, 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 = 0x1b44, 32668c2ecf20Sopenharmony_ci .pd = { 32678c2ecf20Sopenharmony_ci .name = "pcie1", 32688c2ecf20Sopenharmony_ci }, 32698c2ecf20Sopenharmony_ci .pwrsts = PWRSTS_OFF_ON, 32708c2ecf20Sopenharmony_ci}; 32718c2ecf20Sopenharmony_ci 32728c2ecf20Sopenharmony_cistatic struct gdsc usb30_gdsc = { 32738c2ecf20Sopenharmony_ci .gdscr = 0x1e84, 32748c2ecf20Sopenharmony_ci .pd = { 32758c2ecf20Sopenharmony_ci .name = "usb30", 32768c2ecf20Sopenharmony_ci }, 32778c2ecf20Sopenharmony_ci .pwrsts = PWRSTS_OFF_ON, 32788c2ecf20Sopenharmony_ci}; 32798c2ecf20Sopenharmony_ci 32808c2ecf20Sopenharmony_cistatic struct clk_regmap *gcc_apq8084_clocks[] = { 32818c2ecf20Sopenharmony_ci [GPLL0] = &gpll0.clkr, 32828c2ecf20Sopenharmony_ci [GPLL0_VOTE] = &gpll0_vote, 32838c2ecf20Sopenharmony_ci [GPLL1] = &gpll1.clkr, 32848c2ecf20Sopenharmony_ci [GPLL1_VOTE] = &gpll1_vote, 32858c2ecf20Sopenharmony_ci [GPLL4] = &gpll4.clkr, 32868c2ecf20Sopenharmony_ci [GPLL4_VOTE] = &gpll4_vote, 32878c2ecf20Sopenharmony_ci [CONFIG_NOC_CLK_SRC] = &config_noc_clk_src.clkr, 32888c2ecf20Sopenharmony_ci [PERIPH_NOC_CLK_SRC] = &periph_noc_clk_src.clkr, 32898c2ecf20Sopenharmony_ci [SYSTEM_NOC_CLK_SRC] = &system_noc_clk_src.clkr, 32908c2ecf20Sopenharmony_ci [UFS_AXI_CLK_SRC] = &ufs_axi_clk_src.clkr, 32918c2ecf20Sopenharmony_ci [USB30_MASTER_CLK_SRC] = &usb30_master_clk_src.clkr, 32928c2ecf20Sopenharmony_ci [USB30_SEC_MASTER_CLK_SRC] = &usb30_sec_master_clk_src.clkr, 32938c2ecf20Sopenharmony_ci [USB_HSIC_AHB_CLK_SRC] = &usb_hsic_ahb_clk_src.clkr, 32948c2ecf20Sopenharmony_ci [BLSP1_QUP1_I2C_APPS_CLK_SRC] = &blsp1_qup1_i2c_apps_clk_src.clkr, 32958c2ecf20Sopenharmony_ci [BLSP1_QUP1_SPI_APPS_CLK_SRC] = &blsp1_qup1_spi_apps_clk_src.clkr, 32968c2ecf20Sopenharmony_ci [BLSP1_QUP2_I2C_APPS_CLK_SRC] = &blsp1_qup2_i2c_apps_clk_src.clkr, 32978c2ecf20Sopenharmony_ci [BLSP1_QUP2_SPI_APPS_CLK_SRC] = &blsp1_qup2_spi_apps_clk_src.clkr, 32988c2ecf20Sopenharmony_ci [BLSP1_QUP3_I2C_APPS_CLK_SRC] = &blsp1_qup3_i2c_apps_clk_src.clkr, 32998c2ecf20Sopenharmony_ci [BLSP1_QUP3_SPI_APPS_CLK_SRC] = &blsp1_qup3_spi_apps_clk_src.clkr, 33008c2ecf20Sopenharmony_ci [BLSP1_QUP4_I2C_APPS_CLK_SRC] = &blsp1_qup4_i2c_apps_clk_src.clkr, 33018c2ecf20Sopenharmony_ci [BLSP1_QUP4_SPI_APPS_CLK_SRC] = &blsp1_qup4_spi_apps_clk_src.clkr, 33028c2ecf20Sopenharmony_ci [BLSP1_QUP5_I2C_APPS_CLK_SRC] = &blsp1_qup5_i2c_apps_clk_src.clkr, 33038c2ecf20Sopenharmony_ci [BLSP1_QUP5_SPI_APPS_CLK_SRC] = &blsp1_qup5_spi_apps_clk_src.clkr, 33048c2ecf20Sopenharmony_ci [BLSP1_QUP6_I2C_APPS_CLK_SRC] = &blsp1_qup6_i2c_apps_clk_src.clkr, 33058c2ecf20Sopenharmony_ci [BLSP1_QUP6_SPI_APPS_CLK_SRC] = &blsp1_qup6_spi_apps_clk_src.clkr, 33068c2ecf20Sopenharmony_ci [BLSP1_UART1_APPS_CLK_SRC] = &blsp1_uart1_apps_clk_src.clkr, 33078c2ecf20Sopenharmony_ci [BLSP1_UART2_APPS_CLK_SRC] = &blsp1_uart2_apps_clk_src.clkr, 33088c2ecf20Sopenharmony_ci [BLSP1_UART3_APPS_CLK_SRC] = &blsp1_uart3_apps_clk_src.clkr, 33098c2ecf20Sopenharmony_ci [BLSP1_UART4_APPS_CLK_SRC] = &blsp1_uart4_apps_clk_src.clkr, 33108c2ecf20Sopenharmony_ci [BLSP1_UART5_APPS_CLK_SRC] = &blsp1_uart5_apps_clk_src.clkr, 33118c2ecf20Sopenharmony_ci [BLSP1_UART6_APPS_CLK_SRC] = &blsp1_uart6_apps_clk_src.clkr, 33128c2ecf20Sopenharmony_ci [BLSP2_QUP1_I2C_APPS_CLK_SRC] = &blsp2_qup1_i2c_apps_clk_src.clkr, 33138c2ecf20Sopenharmony_ci [BLSP2_QUP1_SPI_APPS_CLK_SRC] = &blsp2_qup1_spi_apps_clk_src.clkr, 33148c2ecf20Sopenharmony_ci [BLSP2_QUP2_I2C_APPS_CLK_SRC] = &blsp2_qup2_i2c_apps_clk_src.clkr, 33158c2ecf20Sopenharmony_ci [BLSP2_QUP2_SPI_APPS_CLK_SRC] = &blsp2_qup2_spi_apps_clk_src.clkr, 33168c2ecf20Sopenharmony_ci [BLSP2_QUP3_I2C_APPS_CLK_SRC] = &blsp2_qup3_i2c_apps_clk_src.clkr, 33178c2ecf20Sopenharmony_ci [BLSP2_QUP3_SPI_APPS_CLK_SRC] = &blsp2_qup3_spi_apps_clk_src.clkr, 33188c2ecf20Sopenharmony_ci [BLSP2_QUP4_I2C_APPS_CLK_SRC] = &blsp2_qup4_i2c_apps_clk_src.clkr, 33198c2ecf20Sopenharmony_ci [BLSP2_QUP4_SPI_APPS_CLK_SRC] = &blsp2_qup4_spi_apps_clk_src.clkr, 33208c2ecf20Sopenharmony_ci [BLSP2_QUP5_I2C_APPS_CLK_SRC] = &blsp2_qup5_i2c_apps_clk_src.clkr, 33218c2ecf20Sopenharmony_ci [BLSP2_QUP5_SPI_APPS_CLK_SRC] = &blsp2_qup5_spi_apps_clk_src.clkr, 33228c2ecf20Sopenharmony_ci [BLSP2_QUP6_I2C_APPS_CLK_SRC] = &blsp2_qup6_i2c_apps_clk_src.clkr, 33238c2ecf20Sopenharmony_ci [BLSP2_QUP6_SPI_APPS_CLK_SRC] = &blsp2_qup6_spi_apps_clk_src.clkr, 33248c2ecf20Sopenharmony_ci [BLSP2_UART1_APPS_CLK_SRC] = &blsp2_uart1_apps_clk_src.clkr, 33258c2ecf20Sopenharmony_ci [BLSP2_UART2_APPS_CLK_SRC] = &blsp2_uart2_apps_clk_src.clkr, 33268c2ecf20Sopenharmony_ci [BLSP2_UART3_APPS_CLK_SRC] = &blsp2_uart3_apps_clk_src.clkr, 33278c2ecf20Sopenharmony_ci [BLSP2_UART4_APPS_CLK_SRC] = &blsp2_uart4_apps_clk_src.clkr, 33288c2ecf20Sopenharmony_ci [BLSP2_UART5_APPS_CLK_SRC] = &blsp2_uart5_apps_clk_src.clkr, 33298c2ecf20Sopenharmony_ci [BLSP2_UART6_APPS_CLK_SRC] = &blsp2_uart6_apps_clk_src.clkr, 33308c2ecf20Sopenharmony_ci [CE1_CLK_SRC] = &ce1_clk_src.clkr, 33318c2ecf20Sopenharmony_ci [CE2_CLK_SRC] = &ce2_clk_src.clkr, 33328c2ecf20Sopenharmony_ci [CE3_CLK_SRC] = &ce3_clk_src.clkr, 33338c2ecf20Sopenharmony_ci [GP1_CLK_SRC] = &gp1_clk_src.clkr, 33348c2ecf20Sopenharmony_ci [GP2_CLK_SRC] = &gp2_clk_src.clkr, 33358c2ecf20Sopenharmony_ci [GP3_CLK_SRC] = &gp3_clk_src.clkr, 33368c2ecf20Sopenharmony_ci [PCIE_0_AUX_CLK_SRC] = &pcie_0_aux_clk_src.clkr, 33378c2ecf20Sopenharmony_ci [PCIE_0_PIPE_CLK_SRC] = &pcie_0_pipe_clk_src.clkr, 33388c2ecf20Sopenharmony_ci [PCIE_1_AUX_CLK_SRC] = &pcie_1_aux_clk_src.clkr, 33398c2ecf20Sopenharmony_ci [PCIE_1_PIPE_CLK_SRC] = &pcie_1_pipe_clk_src.clkr, 33408c2ecf20Sopenharmony_ci [PDM2_CLK_SRC] = &pdm2_clk_src.clkr, 33418c2ecf20Sopenharmony_ci [SATA_ASIC0_CLK_SRC] = &sata_asic0_clk_src.clkr, 33428c2ecf20Sopenharmony_ci [SATA_PMALIVE_CLK_SRC] = &sata_pmalive_clk_src.clkr, 33438c2ecf20Sopenharmony_ci [SATA_RX_CLK_SRC] = &sata_rx_clk_src.clkr, 33448c2ecf20Sopenharmony_ci [SATA_RX_OOB_CLK_SRC] = &sata_rx_oob_clk_src.clkr, 33458c2ecf20Sopenharmony_ci [SDCC1_APPS_CLK_SRC] = &sdcc1_apps_clk_src.clkr, 33468c2ecf20Sopenharmony_ci [SDCC2_APPS_CLK_SRC] = &sdcc2_apps_clk_src.clkr, 33478c2ecf20Sopenharmony_ci [SDCC3_APPS_CLK_SRC] = &sdcc3_apps_clk_src.clkr, 33488c2ecf20Sopenharmony_ci [SDCC4_APPS_CLK_SRC] = &sdcc4_apps_clk_src.clkr, 33498c2ecf20Sopenharmony_ci [TSIF_REF_CLK_SRC] = &tsif_ref_clk_src.clkr, 33508c2ecf20Sopenharmony_ci [USB30_MOCK_UTMI_CLK_SRC] = &usb30_mock_utmi_clk_src.clkr, 33518c2ecf20Sopenharmony_ci [USB30_SEC_MOCK_UTMI_CLK_SRC] = &usb30_sec_mock_utmi_clk_src.clkr, 33528c2ecf20Sopenharmony_ci [USB_HS_SYSTEM_CLK_SRC] = &usb_hs_system_clk_src.clkr, 33538c2ecf20Sopenharmony_ci [USB_HSIC_CLK_SRC] = &usb_hsic_clk_src.clkr, 33548c2ecf20Sopenharmony_ci [USB_HSIC_IO_CAL_CLK_SRC] = &usb_hsic_io_cal_clk_src.clkr, 33558c2ecf20Sopenharmony_ci [USB_HSIC_MOCK_UTMI_CLK_SRC] = &usb_hsic_mock_utmi_clk_src.clkr, 33568c2ecf20Sopenharmony_ci [USB_HSIC_SYSTEM_CLK_SRC] = &usb_hsic_system_clk_src.clkr, 33578c2ecf20Sopenharmony_ci [GCC_BAM_DMA_AHB_CLK] = &gcc_bam_dma_ahb_clk.clkr, 33588c2ecf20Sopenharmony_ci [GCC_BLSP1_AHB_CLK] = &gcc_blsp1_ahb_clk.clkr, 33598c2ecf20Sopenharmony_ci [GCC_BLSP1_QUP1_I2C_APPS_CLK] = &gcc_blsp1_qup1_i2c_apps_clk.clkr, 33608c2ecf20Sopenharmony_ci [GCC_BLSP1_QUP1_SPI_APPS_CLK] = &gcc_blsp1_qup1_spi_apps_clk.clkr, 33618c2ecf20Sopenharmony_ci [GCC_BLSP1_QUP2_I2C_APPS_CLK] = &gcc_blsp1_qup2_i2c_apps_clk.clkr, 33628c2ecf20Sopenharmony_ci [GCC_BLSP1_QUP2_SPI_APPS_CLK] = &gcc_blsp1_qup2_spi_apps_clk.clkr, 33638c2ecf20Sopenharmony_ci [GCC_BLSP1_QUP3_I2C_APPS_CLK] = &gcc_blsp1_qup3_i2c_apps_clk.clkr, 33648c2ecf20Sopenharmony_ci [GCC_BLSP1_QUP3_SPI_APPS_CLK] = &gcc_blsp1_qup3_spi_apps_clk.clkr, 33658c2ecf20Sopenharmony_ci [GCC_BLSP1_QUP4_I2C_APPS_CLK] = &gcc_blsp1_qup4_i2c_apps_clk.clkr, 33668c2ecf20Sopenharmony_ci [GCC_BLSP1_QUP4_SPI_APPS_CLK] = &gcc_blsp1_qup4_spi_apps_clk.clkr, 33678c2ecf20Sopenharmony_ci [GCC_BLSP1_QUP5_I2C_APPS_CLK] = &gcc_blsp1_qup5_i2c_apps_clk.clkr, 33688c2ecf20Sopenharmony_ci [GCC_BLSP1_QUP5_SPI_APPS_CLK] = &gcc_blsp1_qup5_spi_apps_clk.clkr, 33698c2ecf20Sopenharmony_ci [GCC_BLSP1_QUP6_I2C_APPS_CLK] = &gcc_blsp1_qup6_i2c_apps_clk.clkr, 33708c2ecf20Sopenharmony_ci [GCC_BLSP1_QUP6_SPI_APPS_CLK] = &gcc_blsp1_qup6_spi_apps_clk.clkr, 33718c2ecf20Sopenharmony_ci [GCC_BLSP1_UART1_APPS_CLK] = &gcc_blsp1_uart1_apps_clk.clkr, 33728c2ecf20Sopenharmony_ci [GCC_BLSP1_UART2_APPS_CLK] = &gcc_blsp1_uart2_apps_clk.clkr, 33738c2ecf20Sopenharmony_ci [GCC_BLSP1_UART3_APPS_CLK] = &gcc_blsp1_uart3_apps_clk.clkr, 33748c2ecf20Sopenharmony_ci [GCC_BLSP1_UART4_APPS_CLK] = &gcc_blsp1_uart4_apps_clk.clkr, 33758c2ecf20Sopenharmony_ci [GCC_BLSP1_UART5_APPS_CLK] = &gcc_blsp1_uart5_apps_clk.clkr, 33768c2ecf20Sopenharmony_ci [GCC_BLSP1_UART6_APPS_CLK] = &gcc_blsp1_uart6_apps_clk.clkr, 33778c2ecf20Sopenharmony_ci [GCC_BLSP2_AHB_CLK] = &gcc_blsp2_ahb_clk.clkr, 33788c2ecf20Sopenharmony_ci [GCC_BLSP2_QUP1_I2C_APPS_CLK] = &gcc_blsp2_qup1_i2c_apps_clk.clkr, 33798c2ecf20Sopenharmony_ci [GCC_BLSP2_QUP1_SPI_APPS_CLK] = &gcc_blsp2_qup1_spi_apps_clk.clkr, 33808c2ecf20Sopenharmony_ci [GCC_BLSP2_QUP2_I2C_APPS_CLK] = &gcc_blsp2_qup2_i2c_apps_clk.clkr, 33818c2ecf20Sopenharmony_ci [GCC_BLSP2_QUP2_SPI_APPS_CLK] = &gcc_blsp2_qup2_spi_apps_clk.clkr, 33828c2ecf20Sopenharmony_ci [GCC_BLSP2_QUP3_I2C_APPS_CLK] = &gcc_blsp2_qup3_i2c_apps_clk.clkr, 33838c2ecf20Sopenharmony_ci [GCC_BLSP2_QUP3_SPI_APPS_CLK] = &gcc_blsp2_qup3_spi_apps_clk.clkr, 33848c2ecf20Sopenharmony_ci [GCC_BLSP2_QUP4_I2C_APPS_CLK] = &gcc_blsp2_qup4_i2c_apps_clk.clkr, 33858c2ecf20Sopenharmony_ci [GCC_BLSP2_QUP4_SPI_APPS_CLK] = &gcc_blsp2_qup4_spi_apps_clk.clkr, 33868c2ecf20Sopenharmony_ci [GCC_BLSP2_QUP5_I2C_APPS_CLK] = &gcc_blsp2_qup5_i2c_apps_clk.clkr, 33878c2ecf20Sopenharmony_ci [GCC_BLSP2_QUP5_SPI_APPS_CLK] = &gcc_blsp2_qup5_spi_apps_clk.clkr, 33888c2ecf20Sopenharmony_ci [GCC_BLSP2_QUP6_I2C_APPS_CLK] = &gcc_blsp2_qup6_i2c_apps_clk.clkr, 33898c2ecf20Sopenharmony_ci [GCC_BLSP2_QUP6_SPI_APPS_CLK] = &gcc_blsp2_qup6_spi_apps_clk.clkr, 33908c2ecf20Sopenharmony_ci [GCC_BLSP2_UART1_APPS_CLK] = &gcc_blsp2_uart1_apps_clk.clkr, 33918c2ecf20Sopenharmony_ci [GCC_BLSP2_UART2_APPS_CLK] = &gcc_blsp2_uart2_apps_clk.clkr, 33928c2ecf20Sopenharmony_ci [GCC_BLSP2_UART3_APPS_CLK] = &gcc_blsp2_uart3_apps_clk.clkr, 33938c2ecf20Sopenharmony_ci [GCC_BLSP2_UART4_APPS_CLK] = &gcc_blsp2_uart4_apps_clk.clkr, 33948c2ecf20Sopenharmony_ci [GCC_BLSP2_UART5_APPS_CLK] = &gcc_blsp2_uart5_apps_clk.clkr, 33958c2ecf20Sopenharmony_ci [GCC_BLSP2_UART6_APPS_CLK] = &gcc_blsp2_uart6_apps_clk.clkr, 33968c2ecf20Sopenharmony_ci [GCC_BOOT_ROM_AHB_CLK] = &gcc_boot_rom_ahb_clk.clkr, 33978c2ecf20Sopenharmony_ci [GCC_CE1_AHB_CLK] = &gcc_ce1_ahb_clk.clkr, 33988c2ecf20Sopenharmony_ci [GCC_CE1_AXI_CLK] = &gcc_ce1_axi_clk.clkr, 33998c2ecf20Sopenharmony_ci [GCC_CE1_CLK] = &gcc_ce1_clk.clkr, 34008c2ecf20Sopenharmony_ci [GCC_CE2_AHB_CLK] = &gcc_ce2_ahb_clk.clkr, 34018c2ecf20Sopenharmony_ci [GCC_CE2_AXI_CLK] = &gcc_ce2_axi_clk.clkr, 34028c2ecf20Sopenharmony_ci [GCC_CE2_CLK] = &gcc_ce2_clk.clkr, 34038c2ecf20Sopenharmony_ci [GCC_CE3_AHB_CLK] = &gcc_ce3_ahb_clk.clkr, 34048c2ecf20Sopenharmony_ci [GCC_CE3_AXI_CLK] = &gcc_ce3_axi_clk.clkr, 34058c2ecf20Sopenharmony_ci [GCC_CE3_CLK] = &gcc_ce3_clk.clkr, 34068c2ecf20Sopenharmony_ci [GCC_GP1_CLK] = &gcc_gp1_clk.clkr, 34078c2ecf20Sopenharmony_ci [GCC_GP2_CLK] = &gcc_gp2_clk.clkr, 34088c2ecf20Sopenharmony_ci [GCC_GP3_CLK] = &gcc_gp3_clk.clkr, 34098c2ecf20Sopenharmony_ci [GCC_OCMEM_NOC_CFG_AHB_CLK] = &gcc_ocmem_noc_cfg_ahb_clk.clkr, 34108c2ecf20Sopenharmony_ci [GCC_PCIE_0_AUX_CLK] = &gcc_pcie_0_aux_clk.clkr, 34118c2ecf20Sopenharmony_ci [GCC_PCIE_0_CFG_AHB_CLK] = &gcc_pcie_0_cfg_ahb_clk.clkr, 34128c2ecf20Sopenharmony_ci [GCC_PCIE_0_MSTR_AXI_CLK] = &gcc_pcie_0_mstr_axi_clk.clkr, 34138c2ecf20Sopenharmony_ci [GCC_PCIE_0_PIPE_CLK] = &gcc_pcie_0_pipe_clk.clkr, 34148c2ecf20Sopenharmony_ci [GCC_PCIE_0_SLV_AXI_CLK] = &gcc_pcie_0_slv_axi_clk.clkr, 34158c2ecf20Sopenharmony_ci [GCC_PCIE_1_AUX_CLK] = &gcc_pcie_1_aux_clk.clkr, 34168c2ecf20Sopenharmony_ci [GCC_PCIE_1_CFG_AHB_CLK] = &gcc_pcie_1_cfg_ahb_clk.clkr, 34178c2ecf20Sopenharmony_ci [GCC_PCIE_1_MSTR_AXI_CLK] = &gcc_pcie_1_mstr_axi_clk.clkr, 34188c2ecf20Sopenharmony_ci [GCC_PCIE_1_PIPE_CLK] = &gcc_pcie_1_pipe_clk.clkr, 34198c2ecf20Sopenharmony_ci [GCC_PCIE_1_SLV_AXI_CLK] = &gcc_pcie_1_slv_axi_clk.clkr, 34208c2ecf20Sopenharmony_ci [GCC_PDM2_CLK] = &gcc_pdm2_clk.clkr, 34218c2ecf20Sopenharmony_ci [GCC_PDM_AHB_CLK] = &gcc_pdm_ahb_clk.clkr, 34228c2ecf20Sopenharmony_ci [GCC_PERIPH_NOC_USB_HSIC_AHB_CLK] = &gcc_periph_noc_usb_hsic_ahb_clk.clkr, 34238c2ecf20Sopenharmony_ci [GCC_PRNG_AHB_CLK] = &gcc_prng_ahb_clk.clkr, 34248c2ecf20Sopenharmony_ci [GCC_SATA_ASIC0_CLK] = &gcc_sata_asic0_clk.clkr, 34258c2ecf20Sopenharmony_ci [GCC_SATA_AXI_CLK] = &gcc_sata_axi_clk.clkr, 34268c2ecf20Sopenharmony_ci [GCC_SATA_CFG_AHB_CLK] = &gcc_sata_cfg_ahb_clk.clkr, 34278c2ecf20Sopenharmony_ci [GCC_SATA_PMALIVE_CLK] = &gcc_sata_pmalive_clk.clkr, 34288c2ecf20Sopenharmony_ci [GCC_SATA_RX_CLK] = &gcc_sata_rx_clk.clkr, 34298c2ecf20Sopenharmony_ci [GCC_SATA_RX_OOB_CLK] = &gcc_sata_rx_oob_clk.clkr, 34308c2ecf20Sopenharmony_ci [GCC_SDCC1_AHB_CLK] = &gcc_sdcc1_ahb_clk.clkr, 34318c2ecf20Sopenharmony_ci [GCC_SDCC1_APPS_CLK] = &gcc_sdcc1_apps_clk.clkr, 34328c2ecf20Sopenharmony_ci [GCC_SDCC1_CDCCAL_FF_CLK] = &gcc_sdcc1_cdccal_ff_clk.clkr, 34338c2ecf20Sopenharmony_ci [GCC_SDCC1_CDCCAL_SLEEP_CLK] = &gcc_sdcc1_cdccal_sleep_clk.clkr, 34348c2ecf20Sopenharmony_ci [GCC_SDCC2_AHB_CLK] = &gcc_sdcc2_ahb_clk.clkr, 34358c2ecf20Sopenharmony_ci [GCC_SDCC2_APPS_CLK] = &gcc_sdcc2_apps_clk.clkr, 34368c2ecf20Sopenharmony_ci [GCC_SDCC3_AHB_CLK] = &gcc_sdcc3_ahb_clk.clkr, 34378c2ecf20Sopenharmony_ci [GCC_SDCC3_APPS_CLK] = &gcc_sdcc3_apps_clk.clkr, 34388c2ecf20Sopenharmony_ci [GCC_SDCC4_AHB_CLK] = &gcc_sdcc4_ahb_clk.clkr, 34398c2ecf20Sopenharmony_ci [GCC_SDCC4_APPS_CLK] = &gcc_sdcc4_apps_clk.clkr, 34408c2ecf20Sopenharmony_ci [GCC_SYS_NOC_UFS_AXI_CLK] = &gcc_sys_noc_ufs_axi_clk.clkr, 34418c2ecf20Sopenharmony_ci [GCC_SYS_NOC_USB3_AXI_CLK] = &gcc_sys_noc_usb3_axi_clk.clkr, 34428c2ecf20Sopenharmony_ci [GCC_SYS_NOC_USB3_SEC_AXI_CLK] = &gcc_sys_noc_usb3_sec_axi_clk.clkr, 34438c2ecf20Sopenharmony_ci [GCC_TSIF_AHB_CLK] = &gcc_tsif_ahb_clk.clkr, 34448c2ecf20Sopenharmony_ci [GCC_TSIF_INACTIVITY_TIMERS_CLK] = &gcc_tsif_inactivity_timers_clk.clkr, 34458c2ecf20Sopenharmony_ci [GCC_TSIF_REF_CLK] = &gcc_tsif_ref_clk.clkr, 34468c2ecf20Sopenharmony_ci [GCC_UFS_AHB_CLK] = &gcc_ufs_ahb_clk.clkr, 34478c2ecf20Sopenharmony_ci [GCC_UFS_AXI_CLK] = &gcc_ufs_axi_clk.clkr, 34488c2ecf20Sopenharmony_ci [GCC_UFS_RX_CFG_CLK] = &gcc_ufs_rx_cfg_clk.clkr, 34498c2ecf20Sopenharmony_ci [GCC_UFS_RX_SYMBOL_0_CLK] = &gcc_ufs_rx_symbol_0_clk.clkr, 34508c2ecf20Sopenharmony_ci [GCC_UFS_RX_SYMBOL_1_CLK] = &gcc_ufs_rx_symbol_1_clk.clkr, 34518c2ecf20Sopenharmony_ci [GCC_UFS_TX_CFG_CLK] = &gcc_ufs_tx_cfg_clk.clkr, 34528c2ecf20Sopenharmony_ci [GCC_UFS_TX_SYMBOL_0_CLK] = &gcc_ufs_tx_symbol_0_clk.clkr, 34538c2ecf20Sopenharmony_ci [GCC_UFS_TX_SYMBOL_1_CLK] = &gcc_ufs_tx_symbol_1_clk.clkr, 34548c2ecf20Sopenharmony_ci [GCC_USB2A_PHY_SLEEP_CLK] = &gcc_usb2a_phy_sleep_clk.clkr, 34558c2ecf20Sopenharmony_ci [GCC_USB2B_PHY_SLEEP_CLK] = &gcc_usb2b_phy_sleep_clk.clkr, 34568c2ecf20Sopenharmony_ci [GCC_USB30_MASTER_CLK] = &gcc_usb30_master_clk.clkr, 34578c2ecf20Sopenharmony_ci [GCC_USB30_MOCK_UTMI_CLK] = &gcc_usb30_mock_utmi_clk.clkr, 34588c2ecf20Sopenharmony_ci [GCC_USB30_SLEEP_CLK] = &gcc_usb30_sleep_clk.clkr, 34598c2ecf20Sopenharmony_ci [GCC_USB30_SEC_MASTER_CLK] = &gcc_usb30_sec_master_clk.clkr, 34608c2ecf20Sopenharmony_ci [GCC_USB30_SEC_MOCK_UTMI_CLK] = &gcc_usb30_sec_mock_utmi_clk.clkr, 34618c2ecf20Sopenharmony_ci [GCC_USB30_SEC_SLEEP_CLK] = &gcc_usb30_sec_sleep_clk.clkr, 34628c2ecf20Sopenharmony_ci [GCC_USB_HS_AHB_CLK] = &gcc_usb_hs_ahb_clk.clkr, 34638c2ecf20Sopenharmony_ci [GCC_USB_HS_INACTIVITY_TIMERS_CLK] = &gcc_usb_hs_inactivity_timers_clk.clkr, 34648c2ecf20Sopenharmony_ci [GCC_USB_HS_SYSTEM_CLK] = &gcc_usb_hs_system_clk.clkr, 34658c2ecf20Sopenharmony_ci [GCC_USB_HSIC_AHB_CLK] = &gcc_usb_hsic_ahb_clk.clkr, 34668c2ecf20Sopenharmony_ci [GCC_USB_HSIC_CLK] = &gcc_usb_hsic_clk.clkr, 34678c2ecf20Sopenharmony_ci [GCC_USB_HSIC_IO_CAL_CLK] = &gcc_usb_hsic_io_cal_clk.clkr, 34688c2ecf20Sopenharmony_ci [GCC_USB_HSIC_IO_CAL_SLEEP_CLK] = &gcc_usb_hsic_io_cal_sleep_clk.clkr, 34698c2ecf20Sopenharmony_ci [GCC_USB_HSIC_MOCK_UTMI_CLK] = &gcc_usb_hsic_mock_utmi_clk.clkr, 34708c2ecf20Sopenharmony_ci [GCC_USB_HSIC_SYSTEM_CLK] = &gcc_usb_hsic_system_clk.clkr, 34718c2ecf20Sopenharmony_ci}; 34728c2ecf20Sopenharmony_ci 34738c2ecf20Sopenharmony_cistatic struct gdsc *gcc_apq8084_gdscs[] = { 34748c2ecf20Sopenharmony_ci [USB_HS_HSIC_GDSC] = &usb_hs_hsic_gdsc, 34758c2ecf20Sopenharmony_ci [PCIE0_GDSC] = &pcie0_gdsc, 34768c2ecf20Sopenharmony_ci [PCIE1_GDSC] = &pcie1_gdsc, 34778c2ecf20Sopenharmony_ci [USB30_GDSC] = &usb30_gdsc, 34788c2ecf20Sopenharmony_ci}; 34798c2ecf20Sopenharmony_ci 34808c2ecf20Sopenharmony_cistatic const struct qcom_reset_map gcc_apq8084_resets[] = { 34818c2ecf20Sopenharmony_ci [GCC_SYSTEM_NOC_BCR] = { 0x0100 }, 34828c2ecf20Sopenharmony_ci [GCC_CONFIG_NOC_BCR] = { 0x0140 }, 34838c2ecf20Sopenharmony_ci [GCC_PERIPH_NOC_BCR] = { 0x0180 }, 34848c2ecf20Sopenharmony_ci [GCC_IMEM_BCR] = { 0x0200 }, 34858c2ecf20Sopenharmony_ci [GCC_MMSS_BCR] = { 0x0240 }, 34868c2ecf20Sopenharmony_ci [GCC_QDSS_BCR] = { 0x0300 }, 34878c2ecf20Sopenharmony_ci [GCC_USB_30_BCR] = { 0x03c0 }, 34888c2ecf20Sopenharmony_ci [GCC_USB3_PHY_BCR] = { 0x03fc }, 34898c2ecf20Sopenharmony_ci [GCC_USB_HS_HSIC_BCR] = { 0x0400 }, 34908c2ecf20Sopenharmony_ci [GCC_USB_HS_BCR] = { 0x0480 }, 34918c2ecf20Sopenharmony_ci [GCC_USB2A_PHY_BCR] = { 0x04a8 }, 34928c2ecf20Sopenharmony_ci [GCC_USB2B_PHY_BCR] = { 0x04b0 }, 34938c2ecf20Sopenharmony_ci [GCC_SDCC1_BCR] = { 0x04c0 }, 34948c2ecf20Sopenharmony_ci [GCC_SDCC2_BCR] = { 0x0500 }, 34958c2ecf20Sopenharmony_ci [GCC_SDCC3_BCR] = { 0x0540 }, 34968c2ecf20Sopenharmony_ci [GCC_SDCC4_BCR] = { 0x0580 }, 34978c2ecf20Sopenharmony_ci [GCC_BLSP1_BCR] = { 0x05c0 }, 34988c2ecf20Sopenharmony_ci [GCC_BLSP1_QUP1_BCR] = { 0x0640 }, 34998c2ecf20Sopenharmony_ci [GCC_BLSP1_UART1_BCR] = { 0x0680 }, 35008c2ecf20Sopenharmony_ci [GCC_BLSP1_QUP2_BCR] = { 0x06c0 }, 35018c2ecf20Sopenharmony_ci [GCC_BLSP1_UART2_BCR] = { 0x0700 }, 35028c2ecf20Sopenharmony_ci [GCC_BLSP1_QUP3_BCR] = { 0x0740 }, 35038c2ecf20Sopenharmony_ci [GCC_BLSP1_UART3_BCR] = { 0x0780 }, 35048c2ecf20Sopenharmony_ci [GCC_BLSP1_QUP4_BCR] = { 0x07c0 }, 35058c2ecf20Sopenharmony_ci [GCC_BLSP1_UART4_BCR] = { 0x0800 }, 35068c2ecf20Sopenharmony_ci [GCC_BLSP1_QUP5_BCR] = { 0x0840 }, 35078c2ecf20Sopenharmony_ci [GCC_BLSP1_UART5_BCR] = { 0x0880 }, 35088c2ecf20Sopenharmony_ci [GCC_BLSP1_QUP6_BCR] = { 0x08c0 }, 35098c2ecf20Sopenharmony_ci [GCC_BLSP1_UART6_BCR] = { 0x0900 }, 35108c2ecf20Sopenharmony_ci [GCC_BLSP2_BCR] = { 0x0940 }, 35118c2ecf20Sopenharmony_ci [GCC_BLSP2_QUP1_BCR] = { 0x0980 }, 35128c2ecf20Sopenharmony_ci [GCC_BLSP2_UART1_BCR] = { 0x09c0 }, 35138c2ecf20Sopenharmony_ci [GCC_BLSP2_QUP2_BCR] = { 0x0a00 }, 35148c2ecf20Sopenharmony_ci [GCC_BLSP2_UART2_BCR] = { 0x0a40 }, 35158c2ecf20Sopenharmony_ci [GCC_BLSP2_QUP3_BCR] = { 0x0a80 }, 35168c2ecf20Sopenharmony_ci [GCC_BLSP2_UART3_BCR] = { 0x0ac0 }, 35178c2ecf20Sopenharmony_ci [GCC_BLSP2_QUP4_BCR] = { 0x0b00 }, 35188c2ecf20Sopenharmony_ci [GCC_BLSP2_UART4_BCR] = { 0x0b40 }, 35198c2ecf20Sopenharmony_ci [GCC_BLSP2_QUP5_BCR] = { 0x0b80 }, 35208c2ecf20Sopenharmony_ci [GCC_BLSP2_UART5_BCR] = { 0x0bc0 }, 35218c2ecf20Sopenharmony_ci [GCC_BLSP2_QUP6_BCR] = { 0x0c00 }, 35228c2ecf20Sopenharmony_ci [GCC_BLSP2_UART6_BCR] = { 0x0c40 }, 35238c2ecf20Sopenharmony_ci [GCC_PDM_BCR] = { 0x0cc0 }, 35248c2ecf20Sopenharmony_ci [GCC_PRNG_BCR] = { 0x0d00 }, 35258c2ecf20Sopenharmony_ci [GCC_BAM_DMA_BCR] = { 0x0d40 }, 35268c2ecf20Sopenharmony_ci [GCC_TSIF_BCR] = { 0x0d80 }, 35278c2ecf20Sopenharmony_ci [GCC_TCSR_BCR] = { 0x0dc0 }, 35288c2ecf20Sopenharmony_ci [GCC_BOOT_ROM_BCR] = { 0x0e00 }, 35298c2ecf20Sopenharmony_ci [GCC_MSG_RAM_BCR] = { 0x0e40 }, 35308c2ecf20Sopenharmony_ci [GCC_TLMM_BCR] = { 0x0e80 }, 35318c2ecf20Sopenharmony_ci [GCC_MPM_BCR] = { 0x0ec0 }, 35328c2ecf20Sopenharmony_ci [GCC_MPM_AHB_RESET] = { 0x0ec4, 1 }, 35338c2ecf20Sopenharmony_ci [GCC_MPM_NON_AHB_RESET] = { 0x0ec4, 2 }, 35348c2ecf20Sopenharmony_ci [GCC_SEC_CTRL_BCR] = { 0x0f40 }, 35358c2ecf20Sopenharmony_ci [GCC_SPMI_BCR] = { 0x0fc0 }, 35368c2ecf20Sopenharmony_ci [GCC_SPDM_BCR] = { 0x1000 }, 35378c2ecf20Sopenharmony_ci [GCC_CE1_BCR] = { 0x1040 }, 35388c2ecf20Sopenharmony_ci [GCC_CE2_BCR] = { 0x1080 }, 35398c2ecf20Sopenharmony_ci [GCC_BIMC_BCR] = { 0x1100 }, 35408c2ecf20Sopenharmony_ci [GCC_SNOC_BUS_TIMEOUT0_BCR] = { 0x1240 }, 35418c2ecf20Sopenharmony_ci [GCC_SNOC_BUS_TIMEOUT2_BCR] = { 0x1248 }, 35428c2ecf20Sopenharmony_ci [GCC_PNOC_BUS_TIMEOUT0_BCR] = { 0x1280 }, 35438c2ecf20Sopenharmony_ci [GCC_PNOC_BUS_TIMEOUT1_BCR] = { 0x1288 }, 35448c2ecf20Sopenharmony_ci [GCC_PNOC_BUS_TIMEOUT2_BCR] = { 0x1290 }, 35458c2ecf20Sopenharmony_ci [GCC_PNOC_BUS_TIMEOUT3_BCR] = { 0x1298 }, 35468c2ecf20Sopenharmony_ci [GCC_PNOC_BUS_TIMEOUT4_BCR] = { 0x12a0 }, 35478c2ecf20Sopenharmony_ci [GCC_CNOC_BUS_TIMEOUT0_BCR] = { 0x12c0 }, 35488c2ecf20Sopenharmony_ci [GCC_CNOC_BUS_TIMEOUT1_BCR] = { 0x12c8 }, 35498c2ecf20Sopenharmony_ci [GCC_CNOC_BUS_TIMEOUT2_BCR] = { 0x12d0 }, 35508c2ecf20Sopenharmony_ci [GCC_CNOC_BUS_TIMEOUT3_BCR] = { 0x12d8 }, 35518c2ecf20Sopenharmony_ci [GCC_CNOC_BUS_TIMEOUT4_BCR] = { 0x12e0 }, 35528c2ecf20Sopenharmony_ci [GCC_CNOC_BUS_TIMEOUT5_BCR] = { 0x12e8 }, 35538c2ecf20Sopenharmony_ci [GCC_CNOC_BUS_TIMEOUT6_BCR] = { 0x12f0 }, 35548c2ecf20Sopenharmony_ci [GCC_DEHR_BCR] = { 0x1300 }, 35558c2ecf20Sopenharmony_ci [GCC_RBCPR_BCR] = { 0x1380 }, 35568c2ecf20Sopenharmony_ci [GCC_MSS_RESTART] = { 0x1680 }, 35578c2ecf20Sopenharmony_ci [GCC_LPASS_RESTART] = { 0x16c0 }, 35588c2ecf20Sopenharmony_ci [GCC_WCSS_RESTART] = { 0x1700 }, 35598c2ecf20Sopenharmony_ci [GCC_VENUS_RESTART] = { 0x1740 }, 35608c2ecf20Sopenharmony_ci [GCC_COPSS_SMMU_BCR] = { 0x1a40 }, 35618c2ecf20Sopenharmony_ci [GCC_SPSS_BCR] = { 0x1a80 }, 35628c2ecf20Sopenharmony_ci [GCC_PCIE_0_BCR] = { 0x1ac0 }, 35638c2ecf20Sopenharmony_ci [GCC_PCIE_0_PHY_BCR] = { 0x1b00 }, 35648c2ecf20Sopenharmony_ci [GCC_PCIE_1_BCR] = { 0x1b40 }, 35658c2ecf20Sopenharmony_ci [GCC_PCIE_1_PHY_BCR] = { 0x1b80 }, 35668c2ecf20Sopenharmony_ci [GCC_USB_30_SEC_BCR] = { 0x1bc0 }, 35678c2ecf20Sopenharmony_ci [GCC_USB3_SEC_PHY_BCR] = { 0x1bfc }, 35688c2ecf20Sopenharmony_ci [GCC_SATA_BCR] = { 0x1c40 }, 35698c2ecf20Sopenharmony_ci [GCC_CE3_BCR] = { 0x1d00 }, 35708c2ecf20Sopenharmony_ci [GCC_UFS_BCR] = { 0x1d40 }, 35718c2ecf20Sopenharmony_ci [GCC_USB30_PHY_COM_BCR] = { 0x1e80 }, 35728c2ecf20Sopenharmony_ci}; 35738c2ecf20Sopenharmony_ci 35748c2ecf20Sopenharmony_cistatic const struct regmap_config gcc_apq8084_regmap_config = { 35758c2ecf20Sopenharmony_ci .reg_bits = 32, 35768c2ecf20Sopenharmony_ci .reg_stride = 4, 35778c2ecf20Sopenharmony_ci .val_bits = 32, 35788c2ecf20Sopenharmony_ci .max_register = 0x1fc0, 35798c2ecf20Sopenharmony_ci .fast_io = true, 35808c2ecf20Sopenharmony_ci}; 35818c2ecf20Sopenharmony_ci 35828c2ecf20Sopenharmony_cistatic const struct qcom_cc_desc gcc_apq8084_desc = { 35838c2ecf20Sopenharmony_ci .config = &gcc_apq8084_regmap_config, 35848c2ecf20Sopenharmony_ci .clks = gcc_apq8084_clocks, 35858c2ecf20Sopenharmony_ci .num_clks = ARRAY_SIZE(gcc_apq8084_clocks), 35868c2ecf20Sopenharmony_ci .resets = gcc_apq8084_resets, 35878c2ecf20Sopenharmony_ci .num_resets = ARRAY_SIZE(gcc_apq8084_resets), 35888c2ecf20Sopenharmony_ci .gdscs = gcc_apq8084_gdscs, 35898c2ecf20Sopenharmony_ci .num_gdscs = ARRAY_SIZE(gcc_apq8084_gdscs), 35908c2ecf20Sopenharmony_ci}; 35918c2ecf20Sopenharmony_ci 35928c2ecf20Sopenharmony_cistatic const struct of_device_id gcc_apq8084_match_table[] = { 35938c2ecf20Sopenharmony_ci { .compatible = "qcom,gcc-apq8084" }, 35948c2ecf20Sopenharmony_ci { } 35958c2ecf20Sopenharmony_ci}; 35968c2ecf20Sopenharmony_ciMODULE_DEVICE_TABLE(of, gcc_apq8084_match_table); 35978c2ecf20Sopenharmony_ci 35988c2ecf20Sopenharmony_cistatic int gcc_apq8084_probe(struct platform_device *pdev) 35998c2ecf20Sopenharmony_ci{ 36008c2ecf20Sopenharmony_ci int ret; 36018c2ecf20Sopenharmony_ci struct device *dev = &pdev->dev; 36028c2ecf20Sopenharmony_ci 36038c2ecf20Sopenharmony_ci ret = qcom_cc_register_board_clk(dev, "xo_board", "xo", 19200000); 36048c2ecf20Sopenharmony_ci if (ret) 36058c2ecf20Sopenharmony_ci return ret; 36068c2ecf20Sopenharmony_ci 36078c2ecf20Sopenharmony_ci ret = qcom_cc_register_sleep_clk(dev); 36088c2ecf20Sopenharmony_ci if (ret) 36098c2ecf20Sopenharmony_ci return ret; 36108c2ecf20Sopenharmony_ci 36118c2ecf20Sopenharmony_ci return qcom_cc_probe(pdev, &gcc_apq8084_desc); 36128c2ecf20Sopenharmony_ci} 36138c2ecf20Sopenharmony_ci 36148c2ecf20Sopenharmony_cistatic struct platform_driver gcc_apq8084_driver = { 36158c2ecf20Sopenharmony_ci .probe = gcc_apq8084_probe, 36168c2ecf20Sopenharmony_ci .driver = { 36178c2ecf20Sopenharmony_ci .name = "gcc-apq8084", 36188c2ecf20Sopenharmony_ci .of_match_table = gcc_apq8084_match_table, 36198c2ecf20Sopenharmony_ci }, 36208c2ecf20Sopenharmony_ci}; 36218c2ecf20Sopenharmony_ci 36228c2ecf20Sopenharmony_cistatic int __init gcc_apq8084_init(void) 36238c2ecf20Sopenharmony_ci{ 36248c2ecf20Sopenharmony_ci return platform_driver_register(&gcc_apq8084_driver); 36258c2ecf20Sopenharmony_ci} 36268c2ecf20Sopenharmony_cicore_initcall(gcc_apq8084_init); 36278c2ecf20Sopenharmony_ci 36288c2ecf20Sopenharmony_cistatic void __exit gcc_apq8084_exit(void) 36298c2ecf20Sopenharmony_ci{ 36308c2ecf20Sopenharmony_ci platform_driver_unregister(&gcc_apq8084_driver); 36318c2ecf20Sopenharmony_ci} 36328c2ecf20Sopenharmony_cimodule_exit(gcc_apq8084_exit); 36338c2ecf20Sopenharmony_ci 36348c2ecf20Sopenharmony_ciMODULE_DESCRIPTION("QCOM GCC APQ8084 Driver"); 36358c2ecf20Sopenharmony_ciMODULE_LICENSE("GPL v2"); 36368c2ecf20Sopenharmony_ciMODULE_ALIAS("platform:gcc-apq8084"); 3637