162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0-only 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * Copyright (c) 2017, The Linux Foundation. All rights reserved. 462306a36Sopenharmony_ci */ 562306a36Sopenharmony_ci 662306a36Sopenharmony_ci#include <linux/kernel.h> 762306a36Sopenharmony_ci#include <linux/err.h> 862306a36Sopenharmony_ci#include <linux/platform_device.h> 962306a36Sopenharmony_ci#include <linux/module.h> 1062306a36Sopenharmony_ci#include <linux/of.h> 1162306a36Sopenharmony_ci#include <linux/clk-provider.h> 1262306a36Sopenharmony_ci#include <linux/regmap.h> 1362306a36Sopenharmony_ci 1462306a36Sopenharmony_ci#include <dt-bindings/clock/qcom,gcc-ipq8074.h> 1562306a36Sopenharmony_ci 1662306a36Sopenharmony_ci#include "common.h" 1762306a36Sopenharmony_ci#include "clk-regmap.h" 1862306a36Sopenharmony_ci#include "clk-pll.h" 1962306a36Sopenharmony_ci#include "clk-rcg.h" 2062306a36Sopenharmony_ci#include "clk-branch.h" 2162306a36Sopenharmony_ci#include "clk-alpha-pll.h" 2262306a36Sopenharmony_ci#include "clk-regmap-divider.h" 2362306a36Sopenharmony_ci#include "clk-regmap-mux.h" 2462306a36Sopenharmony_ci#include "gdsc.h" 2562306a36Sopenharmony_ci#include "reset.h" 2662306a36Sopenharmony_ci 2762306a36Sopenharmony_cienum { 2862306a36Sopenharmony_ci P_XO, 2962306a36Sopenharmony_ci P_GPLL0, 3062306a36Sopenharmony_ci P_GPLL0_DIV2, 3162306a36Sopenharmony_ci P_GPLL2, 3262306a36Sopenharmony_ci P_GPLL4, 3362306a36Sopenharmony_ci P_GPLL6, 3462306a36Sopenharmony_ci P_SLEEP_CLK, 3562306a36Sopenharmony_ci P_PCIE20_PHY0_PIPE, 3662306a36Sopenharmony_ci P_PCIE20_PHY1_PIPE, 3762306a36Sopenharmony_ci P_USB3PHY_0_PIPE, 3862306a36Sopenharmony_ci P_USB3PHY_1_PIPE, 3962306a36Sopenharmony_ci P_UBI32_PLL, 4062306a36Sopenharmony_ci P_NSS_CRYPTO_PLL, 4162306a36Sopenharmony_ci P_BIAS_PLL, 4262306a36Sopenharmony_ci P_BIAS_PLL_NSS_NOC, 4362306a36Sopenharmony_ci P_UNIPHY0_RX, 4462306a36Sopenharmony_ci P_UNIPHY0_TX, 4562306a36Sopenharmony_ci P_UNIPHY1_RX, 4662306a36Sopenharmony_ci P_UNIPHY1_TX, 4762306a36Sopenharmony_ci P_UNIPHY2_RX, 4862306a36Sopenharmony_ci P_UNIPHY2_TX, 4962306a36Sopenharmony_ci}; 5062306a36Sopenharmony_ci 5162306a36Sopenharmony_cistatic struct clk_alpha_pll gpll0_main = { 5262306a36Sopenharmony_ci .offset = 0x21000, 5362306a36Sopenharmony_ci .regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_DEFAULT], 5462306a36Sopenharmony_ci .clkr = { 5562306a36Sopenharmony_ci .enable_reg = 0x0b000, 5662306a36Sopenharmony_ci .enable_mask = BIT(0), 5762306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 5862306a36Sopenharmony_ci .name = "gpll0_main", 5962306a36Sopenharmony_ci .parent_data = &(const struct clk_parent_data){ 6062306a36Sopenharmony_ci .fw_name = "xo", 6162306a36Sopenharmony_ci .name = "xo", 6262306a36Sopenharmony_ci }, 6362306a36Sopenharmony_ci .num_parents = 1, 6462306a36Sopenharmony_ci .ops = &clk_alpha_pll_ops, 6562306a36Sopenharmony_ci }, 6662306a36Sopenharmony_ci }, 6762306a36Sopenharmony_ci}; 6862306a36Sopenharmony_ci 6962306a36Sopenharmony_cistatic struct clk_fixed_factor gpll0_out_main_div2 = { 7062306a36Sopenharmony_ci .mult = 1, 7162306a36Sopenharmony_ci .div = 2, 7262306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 7362306a36Sopenharmony_ci .name = "gpll0_out_main_div2", 7462306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 7562306a36Sopenharmony_ci &gpll0_main.clkr.hw }, 7662306a36Sopenharmony_ci .num_parents = 1, 7762306a36Sopenharmony_ci .ops = &clk_fixed_factor_ops, 7862306a36Sopenharmony_ci }, 7962306a36Sopenharmony_ci}; 8062306a36Sopenharmony_ci 8162306a36Sopenharmony_cistatic struct clk_alpha_pll_postdiv gpll0 = { 8262306a36Sopenharmony_ci .offset = 0x21000, 8362306a36Sopenharmony_ci .regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_DEFAULT], 8462306a36Sopenharmony_ci .width = 4, 8562306a36Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 8662306a36Sopenharmony_ci .name = "gpll0", 8762306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 8862306a36Sopenharmony_ci &gpll0_main.clkr.hw }, 8962306a36Sopenharmony_ci .num_parents = 1, 9062306a36Sopenharmony_ci .ops = &clk_alpha_pll_postdiv_ro_ops, 9162306a36Sopenharmony_ci }, 9262306a36Sopenharmony_ci}; 9362306a36Sopenharmony_ci 9462306a36Sopenharmony_cistatic struct clk_alpha_pll gpll2_main = { 9562306a36Sopenharmony_ci .offset = 0x4a000, 9662306a36Sopenharmony_ci .regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_DEFAULT], 9762306a36Sopenharmony_ci .clkr = { 9862306a36Sopenharmony_ci .enable_reg = 0x0b000, 9962306a36Sopenharmony_ci .enable_mask = BIT(2), 10062306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 10162306a36Sopenharmony_ci .name = "gpll2_main", 10262306a36Sopenharmony_ci .parent_data = &(const struct clk_parent_data){ 10362306a36Sopenharmony_ci .fw_name = "xo", 10462306a36Sopenharmony_ci .name = "xo", 10562306a36Sopenharmony_ci }, 10662306a36Sopenharmony_ci .num_parents = 1, 10762306a36Sopenharmony_ci .ops = &clk_alpha_pll_ops, 10862306a36Sopenharmony_ci .flags = CLK_IS_CRITICAL, 10962306a36Sopenharmony_ci }, 11062306a36Sopenharmony_ci }, 11162306a36Sopenharmony_ci}; 11262306a36Sopenharmony_ci 11362306a36Sopenharmony_cistatic struct clk_alpha_pll_postdiv gpll2 = { 11462306a36Sopenharmony_ci .offset = 0x4a000, 11562306a36Sopenharmony_ci .regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_DEFAULT], 11662306a36Sopenharmony_ci .width = 4, 11762306a36Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 11862306a36Sopenharmony_ci .name = "gpll2", 11962306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 12062306a36Sopenharmony_ci &gpll2_main.clkr.hw }, 12162306a36Sopenharmony_ci .num_parents = 1, 12262306a36Sopenharmony_ci .ops = &clk_alpha_pll_postdiv_ro_ops, 12362306a36Sopenharmony_ci }, 12462306a36Sopenharmony_ci}; 12562306a36Sopenharmony_ci 12662306a36Sopenharmony_cistatic struct clk_alpha_pll gpll4_main = { 12762306a36Sopenharmony_ci .offset = 0x24000, 12862306a36Sopenharmony_ci .regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_DEFAULT], 12962306a36Sopenharmony_ci .clkr = { 13062306a36Sopenharmony_ci .enable_reg = 0x0b000, 13162306a36Sopenharmony_ci .enable_mask = BIT(5), 13262306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 13362306a36Sopenharmony_ci .name = "gpll4_main", 13462306a36Sopenharmony_ci .parent_data = &(const struct clk_parent_data){ 13562306a36Sopenharmony_ci .fw_name = "xo", 13662306a36Sopenharmony_ci .name = "xo", 13762306a36Sopenharmony_ci }, 13862306a36Sopenharmony_ci .num_parents = 1, 13962306a36Sopenharmony_ci .ops = &clk_alpha_pll_ops, 14062306a36Sopenharmony_ci .flags = CLK_IS_CRITICAL, 14162306a36Sopenharmony_ci }, 14262306a36Sopenharmony_ci }, 14362306a36Sopenharmony_ci}; 14462306a36Sopenharmony_ci 14562306a36Sopenharmony_cistatic struct clk_alpha_pll_postdiv gpll4 = { 14662306a36Sopenharmony_ci .offset = 0x24000, 14762306a36Sopenharmony_ci .regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_DEFAULT], 14862306a36Sopenharmony_ci .width = 4, 14962306a36Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 15062306a36Sopenharmony_ci .name = "gpll4", 15162306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 15262306a36Sopenharmony_ci &gpll4_main.clkr.hw }, 15362306a36Sopenharmony_ci .num_parents = 1, 15462306a36Sopenharmony_ci .ops = &clk_alpha_pll_postdiv_ro_ops, 15562306a36Sopenharmony_ci }, 15662306a36Sopenharmony_ci}; 15762306a36Sopenharmony_ci 15862306a36Sopenharmony_cistatic struct clk_alpha_pll gpll6_main = { 15962306a36Sopenharmony_ci .offset = 0x37000, 16062306a36Sopenharmony_ci .regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_BRAMMO], 16162306a36Sopenharmony_ci .flags = SUPPORTS_DYNAMIC_UPDATE, 16262306a36Sopenharmony_ci .clkr = { 16362306a36Sopenharmony_ci .enable_reg = 0x0b000, 16462306a36Sopenharmony_ci .enable_mask = BIT(7), 16562306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 16662306a36Sopenharmony_ci .name = "gpll6_main", 16762306a36Sopenharmony_ci .parent_data = &(const struct clk_parent_data){ 16862306a36Sopenharmony_ci .fw_name = "xo", 16962306a36Sopenharmony_ci .name = "xo", 17062306a36Sopenharmony_ci }, 17162306a36Sopenharmony_ci .num_parents = 1, 17262306a36Sopenharmony_ci .ops = &clk_alpha_pll_ops, 17362306a36Sopenharmony_ci .flags = CLK_IS_CRITICAL, 17462306a36Sopenharmony_ci }, 17562306a36Sopenharmony_ci }, 17662306a36Sopenharmony_ci}; 17762306a36Sopenharmony_ci 17862306a36Sopenharmony_cistatic struct clk_alpha_pll_postdiv gpll6 = { 17962306a36Sopenharmony_ci .offset = 0x37000, 18062306a36Sopenharmony_ci .regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_BRAMMO], 18162306a36Sopenharmony_ci .width = 2, 18262306a36Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 18362306a36Sopenharmony_ci .name = "gpll6", 18462306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 18562306a36Sopenharmony_ci &gpll6_main.clkr.hw }, 18662306a36Sopenharmony_ci .num_parents = 1, 18762306a36Sopenharmony_ci .ops = &clk_alpha_pll_postdiv_ro_ops, 18862306a36Sopenharmony_ci }, 18962306a36Sopenharmony_ci}; 19062306a36Sopenharmony_ci 19162306a36Sopenharmony_cistatic struct clk_fixed_factor gpll6_out_main_div2 = { 19262306a36Sopenharmony_ci .mult = 1, 19362306a36Sopenharmony_ci .div = 2, 19462306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 19562306a36Sopenharmony_ci .name = "gpll6_out_main_div2", 19662306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 19762306a36Sopenharmony_ci &gpll6_main.clkr.hw }, 19862306a36Sopenharmony_ci .num_parents = 1, 19962306a36Sopenharmony_ci .ops = &clk_fixed_factor_ops, 20062306a36Sopenharmony_ci }, 20162306a36Sopenharmony_ci}; 20262306a36Sopenharmony_ci 20362306a36Sopenharmony_cistatic struct clk_alpha_pll ubi32_pll_main = { 20462306a36Sopenharmony_ci .offset = 0x25000, 20562306a36Sopenharmony_ci .regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_HUAYRA], 20662306a36Sopenharmony_ci .flags = SUPPORTS_DYNAMIC_UPDATE, 20762306a36Sopenharmony_ci .clkr = { 20862306a36Sopenharmony_ci .enable_reg = 0x0b000, 20962306a36Sopenharmony_ci .enable_mask = BIT(6), 21062306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 21162306a36Sopenharmony_ci .name = "ubi32_pll_main", 21262306a36Sopenharmony_ci .parent_data = &(const struct clk_parent_data){ 21362306a36Sopenharmony_ci .fw_name = "xo", 21462306a36Sopenharmony_ci .name = "xo", 21562306a36Sopenharmony_ci }, 21662306a36Sopenharmony_ci .num_parents = 1, 21762306a36Sopenharmony_ci .ops = &clk_alpha_pll_huayra_ops, 21862306a36Sopenharmony_ci }, 21962306a36Sopenharmony_ci }, 22062306a36Sopenharmony_ci}; 22162306a36Sopenharmony_ci 22262306a36Sopenharmony_cistatic struct clk_alpha_pll_postdiv ubi32_pll = { 22362306a36Sopenharmony_ci .offset = 0x25000, 22462306a36Sopenharmony_ci .regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_HUAYRA], 22562306a36Sopenharmony_ci .width = 2, 22662306a36Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 22762306a36Sopenharmony_ci .name = "ubi32_pll", 22862306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 22962306a36Sopenharmony_ci &ubi32_pll_main.clkr.hw }, 23062306a36Sopenharmony_ci .num_parents = 1, 23162306a36Sopenharmony_ci .ops = &clk_alpha_pll_postdiv_ro_ops, 23262306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 23362306a36Sopenharmony_ci }, 23462306a36Sopenharmony_ci}; 23562306a36Sopenharmony_ci 23662306a36Sopenharmony_cistatic struct clk_alpha_pll nss_crypto_pll_main = { 23762306a36Sopenharmony_ci .offset = 0x22000, 23862306a36Sopenharmony_ci .regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_DEFAULT], 23962306a36Sopenharmony_ci .clkr = { 24062306a36Sopenharmony_ci .enable_reg = 0x0b000, 24162306a36Sopenharmony_ci .enable_mask = BIT(4), 24262306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 24362306a36Sopenharmony_ci .name = "nss_crypto_pll_main", 24462306a36Sopenharmony_ci .parent_data = &(const struct clk_parent_data){ 24562306a36Sopenharmony_ci .fw_name = "xo", 24662306a36Sopenharmony_ci .name = "xo", 24762306a36Sopenharmony_ci }, 24862306a36Sopenharmony_ci .num_parents = 1, 24962306a36Sopenharmony_ci .ops = &clk_alpha_pll_ops, 25062306a36Sopenharmony_ci }, 25162306a36Sopenharmony_ci }, 25262306a36Sopenharmony_ci}; 25362306a36Sopenharmony_ci 25462306a36Sopenharmony_cistatic struct clk_alpha_pll_postdiv nss_crypto_pll = { 25562306a36Sopenharmony_ci .offset = 0x22000, 25662306a36Sopenharmony_ci .regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_DEFAULT], 25762306a36Sopenharmony_ci .width = 4, 25862306a36Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 25962306a36Sopenharmony_ci .name = "nss_crypto_pll", 26062306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 26162306a36Sopenharmony_ci &nss_crypto_pll_main.clkr.hw }, 26262306a36Sopenharmony_ci .num_parents = 1, 26362306a36Sopenharmony_ci .ops = &clk_alpha_pll_postdiv_ro_ops, 26462306a36Sopenharmony_ci }, 26562306a36Sopenharmony_ci}; 26662306a36Sopenharmony_ci 26762306a36Sopenharmony_cistatic const struct freq_tbl ftbl_pcnoc_bfdcd_clk_src[] = { 26862306a36Sopenharmony_ci F(19200000, P_XO, 1, 0, 0), 26962306a36Sopenharmony_ci F(50000000, P_GPLL0, 16, 0, 0), 27062306a36Sopenharmony_ci F(100000000, P_GPLL0, 8, 0, 0), 27162306a36Sopenharmony_ci { } 27262306a36Sopenharmony_ci}; 27362306a36Sopenharmony_ci 27462306a36Sopenharmony_cistatic const struct clk_parent_data gcc_xo_gpll0_gpll0_out_main_div2[] = { 27562306a36Sopenharmony_ci { .fw_name = "xo", .name = "xo" }, 27662306a36Sopenharmony_ci { .hw = &gpll0.clkr.hw}, 27762306a36Sopenharmony_ci { .hw = &gpll0_out_main_div2.hw}, 27862306a36Sopenharmony_ci}; 27962306a36Sopenharmony_ci 28062306a36Sopenharmony_cistatic const struct parent_map gcc_xo_gpll0_gpll0_out_main_div2_map[] = { 28162306a36Sopenharmony_ci { P_XO, 0 }, 28262306a36Sopenharmony_ci { P_GPLL0, 1 }, 28362306a36Sopenharmony_ci { P_GPLL0_DIV2, 4 }, 28462306a36Sopenharmony_ci}; 28562306a36Sopenharmony_ci 28662306a36Sopenharmony_cistatic struct clk_rcg2 pcnoc_bfdcd_clk_src = { 28762306a36Sopenharmony_ci .cmd_rcgr = 0x27000, 28862306a36Sopenharmony_ci .freq_tbl = ftbl_pcnoc_bfdcd_clk_src, 28962306a36Sopenharmony_ci .hid_width = 5, 29062306a36Sopenharmony_ci .parent_map = gcc_xo_gpll0_gpll0_out_main_div2_map, 29162306a36Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 29262306a36Sopenharmony_ci .name = "pcnoc_bfdcd_clk_src", 29362306a36Sopenharmony_ci .parent_data = gcc_xo_gpll0_gpll0_out_main_div2, 29462306a36Sopenharmony_ci .num_parents = ARRAY_SIZE(gcc_xo_gpll0_gpll0_out_main_div2), 29562306a36Sopenharmony_ci .ops = &clk_rcg2_ops, 29662306a36Sopenharmony_ci .flags = CLK_IS_CRITICAL, 29762306a36Sopenharmony_ci }, 29862306a36Sopenharmony_ci}; 29962306a36Sopenharmony_ci 30062306a36Sopenharmony_cistatic struct clk_fixed_factor pcnoc_clk_src = { 30162306a36Sopenharmony_ci .mult = 1, 30262306a36Sopenharmony_ci .div = 1, 30362306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 30462306a36Sopenharmony_ci .name = "pcnoc_clk_src", 30562306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 30662306a36Sopenharmony_ci &pcnoc_bfdcd_clk_src.clkr.hw }, 30762306a36Sopenharmony_ci .num_parents = 1, 30862306a36Sopenharmony_ci .ops = &clk_fixed_factor_ops, 30962306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 31062306a36Sopenharmony_ci }, 31162306a36Sopenharmony_ci}; 31262306a36Sopenharmony_ci 31362306a36Sopenharmony_cistatic struct clk_branch gcc_sleep_clk_src = { 31462306a36Sopenharmony_ci .halt_reg = 0x30000, 31562306a36Sopenharmony_ci .clkr = { 31662306a36Sopenharmony_ci .enable_reg = 0x30000, 31762306a36Sopenharmony_ci .enable_mask = BIT(1), 31862306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 31962306a36Sopenharmony_ci .name = "gcc_sleep_clk_src", 32062306a36Sopenharmony_ci .parent_data = &(const struct clk_parent_data){ 32162306a36Sopenharmony_ci .fw_name = "sleep_clk", 32262306a36Sopenharmony_ci .name = "sleep_clk", 32362306a36Sopenharmony_ci }, 32462306a36Sopenharmony_ci .num_parents = 1, 32562306a36Sopenharmony_ci .ops = &clk_branch2_ops, 32662306a36Sopenharmony_ci .flags = CLK_IS_CRITICAL, 32762306a36Sopenharmony_ci }, 32862306a36Sopenharmony_ci }, 32962306a36Sopenharmony_ci}; 33062306a36Sopenharmony_ci 33162306a36Sopenharmony_cistatic const struct freq_tbl ftbl_blsp1_qup_i2c_apps_clk_src[] = { 33262306a36Sopenharmony_ci F(19200000, P_XO, 1, 0, 0), 33362306a36Sopenharmony_ci F(25000000, P_GPLL0_DIV2, 16, 0, 0), 33462306a36Sopenharmony_ci F(50000000, P_GPLL0, 16, 0, 0), 33562306a36Sopenharmony_ci { } 33662306a36Sopenharmony_ci}; 33762306a36Sopenharmony_ci 33862306a36Sopenharmony_cistatic struct clk_rcg2 blsp1_qup1_i2c_apps_clk_src = { 33962306a36Sopenharmony_ci .cmd_rcgr = 0x0200c, 34062306a36Sopenharmony_ci .freq_tbl = ftbl_blsp1_qup_i2c_apps_clk_src, 34162306a36Sopenharmony_ci .hid_width = 5, 34262306a36Sopenharmony_ci .parent_map = gcc_xo_gpll0_gpll0_out_main_div2_map, 34362306a36Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 34462306a36Sopenharmony_ci .name = "blsp1_qup1_i2c_apps_clk_src", 34562306a36Sopenharmony_ci .parent_data = gcc_xo_gpll0_gpll0_out_main_div2, 34662306a36Sopenharmony_ci .num_parents = ARRAY_SIZE(gcc_xo_gpll0_gpll0_out_main_div2), 34762306a36Sopenharmony_ci .ops = &clk_rcg2_ops, 34862306a36Sopenharmony_ci }, 34962306a36Sopenharmony_ci}; 35062306a36Sopenharmony_ci 35162306a36Sopenharmony_cistatic const struct freq_tbl ftbl_blsp1_qup_spi_apps_clk_src[] = { 35262306a36Sopenharmony_ci F(960000, P_XO, 10, 1, 2), 35362306a36Sopenharmony_ci F(4800000, P_XO, 4, 0, 0), 35462306a36Sopenharmony_ci F(9600000, P_XO, 2, 0, 0), 35562306a36Sopenharmony_ci F(12500000, P_GPLL0_DIV2, 16, 1, 2), 35662306a36Sopenharmony_ci F(16000000, P_GPLL0, 10, 1, 5), 35762306a36Sopenharmony_ci F(19200000, P_XO, 1, 0, 0), 35862306a36Sopenharmony_ci F(25000000, P_GPLL0, 16, 1, 2), 35962306a36Sopenharmony_ci F(50000000, P_GPLL0, 16, 0, 0), 36062306a36Sopenharmony_ci { } 36162306a36Sopenharmony_ci}; 36262306a36Sopenharmony_ci 36362306a36Sopenharmony_cistatic struct clk_rcg2 blsp1_qup1_spi_apps_clk_src = { 36462306a36Sopenharmony_ci .cmd_rcgr = 0x02024, 36562306a36Sopenharmony_ci .freq_tbl = ftbl_blsp1_qup_spi_apps_clk_src, 36662306a36Sopenharmony_ci .mnd_width = 8, 36762306a36Sopenharmony_ci .hid_width = 5, 36862306a36Sopenharmony_ci .parent_map = gcc_xo_gpll0_gpll0_out_main_div2_map, 36962306a36Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 37062306a36Sopenharmony_ci .name = "blsp1_qup1_spi_apps_clk_src", 37162306a36Sopenharmony_ci .parent_data = gcc_xo_gpll0_gpll0_out_main_div2, 37262306a36Sopenharmony_ci .num_parents = ARRAY_SIZE(gcc_xo_gpll0_gpll0_out_main_div2), 37362306a36Sopenharmony_ci .ops = &clk_rcg2_ops, 37462306a36Sopenharmony_ci }, 37562306a36Sopenharmony_ci}; 37662306a36Sopenharmony_ci 37762306a36Sopenharmony_cistatic struct clk_rcg2 blsp1_qup2_i2c_apps_clk_src = { 37862306a36Sopenharmony_ci .cmd_rcgr = 0x03000, 37962306a36Sopenharmony_ci .freq_tbl = ftbl_blsp1_qup_i2c_apps_clk_src, 38062306a36Sopenharmony_ci .hid_width = 5, 38162306a36Sopenharmony_ci .parent_map = gcc_xo_gpll0_gpll0_out_main_div2_map, 38262306a36Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 38362306a36Sopenharmony_ci .name = "blsp1_qup2_i2c_apps_clk_src", 38462306a36Sopenharmony_ci .parent_data = gcc_xo_gpll0_gpll0_out_main_div2, 38562306a36Sopenharmony_ci .num_parents = ARRAY_SIZE(gcc_xo_gpll0_gpll0_out_main_div2), 38662306a36Sopenharmony_ci .ops = &clk_rcg2_ops, 38762306a36Sopenharmony_ci }, 38862306a36Sopenharmony_ci}; 38962306a36Sopenharmony_ci 39062306a36Sopenharmony_cistatic struct clk_rcg2 blsp1_qup2_spi_apps_clk_src = { 39162306a36Sopenharmony_ci .cmd_rcgr = 0x03014, 39262306a36Sopenharmony_ci .freq_tbl = ftbl_blsp1_qup_spi_apps_clk_src, 39362306a36Sopenharmony_ci .mnd_width = 8, 39462306a36Sopenharmony_ci .hid_width = 5, 39562306a36Sopenharmony_ci .parent_map = gcc_xo_gpll0_gpll0_out_main_div2_map, 39662306a36Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 39762306a36Sopenharmony_ci .name = "blsp1_qup2_spi_apps_clk_src", 39862306a36Sopenharmony_ci .parent_data = gcc_xo_gpll0_gpll0_out_main_div2, 39962306a36Sopenharmony_ci .num_parents = ARRAY_SIZE(gcc_xo_gpll0_gpll0_out_main_div2), 40062306a36Sopenharmony_ci .ops = &clk_rcg2_ops, 40162306a36Sopenharmony_ci }, 40262306a36Sopenharmony_ci}; 40362306a36Sopenharmony_ci 40462306a36Sopenharmony_cistatic struct clk_rcg2 blsp1_qup3_i2c_apps_clk_src = { 40562306a36Sopenharmony_ci .cmd_rcgr = 0x04000, 40662306a36Sopenharmony_ci .freq_tbl = ftbl_blsp1_qup_i2c_apps_clk_src, 40762306a36Sopenharmony_ci .hid_width = 5, 40862306a36Sopenharmony_ci .parent_map = gcc_xo_gpll0_gpll0_out_main_div2_map, 40962306a36Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 41062306a36Sopenharmony_ci .name = "blsp1_qup3_i2c_apps_clk_src", 41162306a36Sopenharmony_ci .parent_data = gcc_xo_gpll0_gpll0_out_main_div2, 41262306a36Sopenharmony_ci .num_parents = ARRAY_SIZE(gcc_xo_gpll0_gpll0_out_main_div2), 41362306a36Sopenharmony_ci .ops = &clk_rcg2_ops, 41462306a36Sopenharmony_ci }, 41562306a36Sopenharmony_ci}; 41662306a36Sopenharmony_ci 41762306a36Sopenharmony_cistatic struct clk_rcg2 blsp1_qup3_spi_apps_clk_src = { 41862306a36Sopenharmony_ci .cmd_rcgr = 0x04014, 41962306a36Sopenharmony_ci .freq_tbl = ftbl_blsp1_qup_spi_apps_clk_src, 42062306a36Sopenharmony_ci .mnd_width = 8, 42162306a36Sopenharmony_ci .hid_width = 5, 42262306a36Sopenharmony_ci .parent_map = gcc_xo_gpll0_gpll0_out_main_div2_map, 42362306a36Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 42462306a36Sopenharmony_ci .name = "blsp1_qup3_spi_apps_clk_src", 42562306a36Sopenharmony_ci .parent_data = gcc_xo_gpll0_gpll0_out_main_div2, 42662306a36Sopenharmony_ci .num_parents = ARRAY_SIZE(gcc_xo_gpll0_gpll0_out_main_div2), 42762306a36Sopenharmony_ci .ops = &clk_rcg2_ops, 42862306a36Sopenharmony_ci }, 42962306a36Sopenharmony_ci}; 43062306a36Sopenharmony_ci 43162306a36Sopenharmony_cistatic struct clk_rcg2 blsp1_qup4_i2c_apps_clk_src = { 43262306a36Sopenharmony_ci .cmd_rcgr = 0x05000, 43362306a36Sopenharmony_ci .freq_tbl = ftbl_blsp1_qup_i2c_apps_clk_src, 43462306a36Sopenharmony_ci .hid_width = 5, 43562306a36Sopenharmony_ci .parent_map = gcc_xo_gpll0_gpll0_out_main_div2_map, 43662306a36Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 43762306a36Sopenharmony_ci .name = "blsp1_qup4_i2c_apps_clk_src", 43862306a36Sopenharmony_ci .parent_data = gcc_xo_gpll0_gpll0_out_main_div2, 43962306a36Sopenharmony_ci .num_parents = ARRAY_SIZE(gcc_xo_gpll0_gpll0_out_main_div2), 44062306a36Sopenharmony_ci .ops = &clk_rcg2_ops, 44162306a36Sopenharmony_ci }, 44262306a36Sopenharmony_ci}; 44362306a36Sopenharmony_ci 44462306a36Sopenharmony_cistatic struct clk_rcg2 blsp1_qup4_spi_apps_clk_src = { 44562306a36Sopenharmony_ci .cmd_rcgr = 0x05014, 44662306a36Sopenharmony_ci .freq_tbl = ftbl_blsp1_qup_spi_apps_clk_src, 44762306a36Sopenharmony_ci .mnd_width = 8, 44862306a36Sopenharmony_ci .hid_width = 5, 44962306a36Sopenharmony_ci .parent_map = gcc_xo_gpll0_gpll0_out_main_div2_map, 45062306a36Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 45162306a36Sopenharmony_ci .name = "blsp1_qup4_spi_apps_clk_src", 45262306a36Sopenharmony_ci .parent_data = gcc_xo_gpll0_gpll0_out_main_div2, 45362306a36Sopenharmony_ci .num_parents = ARRAY_SIZE(gcc_xo_gpll0_gpll0_out_main_div2), 45462306a36Sopenharmony_ci .ops = &clk_rcg2_ops, 45562306a36Sopenharmony_ci }, 45662306a36Sopenharmony_ci}; 45762306a36Sopenharmony_ci 45862306a36Sopenharmony_cistatic struct clk_rcg2 blsp1_qup5_i2c_apps_clk_src = { 45962306a36Sopenharmony_ci .cmd_rcgr = 0x06000, 46062306a36Sopenharmony_ci .freq_tbl = ftbl_blsp1_qup_i2c_apps_clk_src, 46162306a36Sopenharmony_ci .hid_width = 5, 46262306a36Sopenharmony_ci .parent_map = gcc_xo_gpll0_gpll0_out_main_div2_map, 46362306a36Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 46462306a36Sopenharmony_ci .name = "blsp1_qup5_i2c_apps_clk_src", 46562306a36Sopenharmony_ci .parent_data = gcc_xo_gpll0_gpll0_out_main_div2, 46662306a36Sopenharmony_ci .num_parents = ARRAY_SIZE(gcc_xo_gpll0_gpll0_out_main_div2), 46762306a36Sopenharmony_ci .ops = &clk_rcg2_ops, 46862306a36Sopenharmony_ci }, 46962306a36Sopenharmony_ci}; 47062306a36Sopenharmony_ci 47162306a36Sopenharmony_cistatic struct clk_rcg2 blsp1_qup5_spi_apps_clk_src = { 47262306a36Sopenharmony_ci .cmd_rcgr = 0x06014, 47362306a36Sopenharmony_ci .freq_tbl = ftbl_blsp1_qup_spi_apps_clk_src, 47462306a36Sopenharmony_ci .mnd_width = 8, 47562306a36Sopenharmony_ci .hid_width = 5, 47662306a36Sopenharmony_ci .parent_map = gcc_xo_gpll0_gpll0_out_main_div2_map, 47762306a36Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 47862306a36Sopenharmony_ci .name = "blsp1_qup5_spi_apps_clk_src", 47962306a36Sopenharmony_ci .parent_data = gcc_xo_gpll0_gpll0_out_main_div2, 48062306a36Sopenharmony_ci .num_parents = ARRAY_SIZE(gcc_xo_gpll0_gpll0_out_main_div2), 48162306a36Sopenharmony_ci .ops = &clk_rcg2_ops, 48262306a36Sopenharmony_ci }, 48362306a36Sopenharmony_ci}; 48462306a36Sopenharmony_ci 48562306a36Sopenharmony_cistatic struct clk_rcg2 blsp1_qup6_i2c_apps_clk_src = { 48662306a36Sopenharmony_ci .cmd_rcgr = 0x07000, 48762306a36Sopenharmony_ci .freq_tbl = ftbl_blsp1_qup_i2c_apps_clk_src, 48862306a36Sopenharmony_ci .hid_width = 5, 48962306a36Sopenharmony_ci .parent_map = gcc_xo_gpll0_gpll0_out_main_div2_map, 49062306a36Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 49162306a36Sopenharmony_ci .name = "blsp1_qup6_i2c_apps_clk_src", 49262306a36Sopenharmony_ci .parent_data = gcc_xo_gpll0_gpll0_out_main_div2, 49362306a36Sopenharmony_ci .num_parents = ARRAY_SIZE(gcc_xo_gpll0_gpll0_out_main_div2), 49462306a36Sopenharmony_ci .ops = &clk_rcg2_ops, 49562306a36Sopenharmony_ci }, 49662306a36Sopenharmony_ci}; 49762306a36Sopenharmony_ci 49862306a36Sopenharmony_cistatic struct clk_rcg2 blsp1_qup6_spi_apps_clk_src = { 49962306a36Sopenharmony_ci .cmd_rcgr = 0x07014, 50062306a36Sopenharmony_ci .freq_tbl = ftbl_blsp1_qup_spi_apps_clk_src, 50162306a36Sopenharmony_ci .mnd_width = 8, 50262306a36Sopenharmony_ci .hid_width = 5, 50362306a36Sopenharmony_ci .parent_map = gcc_xo_gpll0_gpll0_out_main_div2_map, 50462306a36Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 50562306a36Sopenharmony_ci .name = "blsp1_qup6_spi_apps_clk_src", 50662306a36Sopenharmony_ci .parent_data = gcc_xo_gpll0_gpll0_out_main_div2, 50762306a36Sopenharmony_ci .num_parents = ARRAY_SIZE(gcc_xo_gpll0_gpll0_out_main_div2), 50862306a36Sopenharmony_ci .ops = &clk_rcg2_ops, 50962306a36Sopenharmony_ci }, 51062306a36Sopenharmony_ci}; 51162306a36Sopenharmony_ci 51262306a36Sopenharmony_cistatic const struct freq_tbl ftbl_blsp1_uart_apps_clk_src[] = { 51362306a36Sopenharmony_ci F(3686400, P_GPLL0_DIV2, 1, 144, 15625), 51462306a36Sopenharmony_ci F(7372800, P_GPLL0_DIV2, 1, 288, 15625), 51562306a36Sopenharmony_ci F(14745600, P_GPLL0_DIV2, 1, 576, 15625), 51662306a36Sopenharmony_ci F(16000000, P_GPLL0_DIV2, 5, 1, 5), 51762306a36Sopenharmony_ci F(19200000, P_XO, 1, 0, 0), 51862306a36Sopenharmony_ci F(24000000, P_GPLL0, 1, 3, 100), 51962306a36Sopenharmony_ci F(25000000, P_GPLL0, 16, 1, 2), 52062306a36Sopenharmony_ci F(32000000, P_GPLL0, 1, 1, 25), 52162306a36Sopenharmony_ci F(40000000, P_GPLL0, 1, 1, 20), 52262306a36Sopenharmony_ci F(46400000, P_GPLL0, 1, 29, 500), 52362306a36Sopenharmony_ci F(48000000, P_GPLL0, 1, 3, 50), 52462306a36Sopenharmony_ci F(51200000, P_GPLL0, 1, 8, 125), 52562306a36Sopenharmony_ci F(56000000, P_GPLL0, 1, 7, 100), 52662306a36Sopenharmony_ci F(58982400, P_GPLL0, 1, 1152, 15625), 52762306a36Sopenharmony_ci F(60000000, P_GPLL0, 1, 3, 40), 52862306a36Sopenharmony_ci F(64000000, P_GPLL0, 12.5, 1, 1), 52962306a36Sopenharmony_ci { } 53062306a36Sopenharmony_ci}; 53162306a36Sopenharmony_ci 53262306a36Sopenharmony_cistatic struct clk_rcg2 blsp1_uart1_apps_clk_src = { 53362306a36Sopenharmony_ci .cmd_rcgr = 0x02044, 53462306a36Sopenharmony_ci .freq_tbl = ftbl_blsp1_uart_apps_clk_src, 53562306a36Sopenharmony_ci .mnd_width = 16, 53662306a36Sopenharmony_ci .hid_width = 5, 53762306a36Sopenharmony_ci .parent_map = gcc_xo_gpll0_gpll0_out_main_div2_map, 53862306a36Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 53962306a36Sopenharmony_ci .name = "blsp1_uart1_apps_clk_src", 54062306a36Sopenharmony_ci .parent_data = gcc_xo_gpll0_gpll0_out_main_div2, 54162306a36Sopenharmony_ci .num_parents = ARRAY_SIZE(gcc_xo_gpll0_gpll0_out_main_div2), 54262306a36Sopenharmony_ci .ops = &clk_rcg2_ops, 54362306a36Sopenharmony_ci }, 54462306a36Sopenharmony_ci}; 54562306a36Sopenharmony_ci 54662306a36Sopenharmony_cistatic struct clk_rcg2 blsp1_uart2_apps_clk_src = { 54762306a36Sopenharmony_ci .cmd_rcgr = 0x03034, 54862306a36Sopenharmony_ci .freq_tbl = ftbl_blsp1_uart_apps_clk_src, 54962306a36Sopenharmony_ci .mnd_width = 16, 55062306a36Sopenharmony_ci .hid_width = 5, 55162306a36Sopenharmony_ci .parent_map = gcc_xo_gpll0_gpll0_out_main_div2_map, 55262306a36Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 55362306a36Sopenharmony_ci .name = "blsp1_uart2_apps_clk_src", 55462306a36Sopenharmony_ci .parent_data = gcc_xo_gpll0_gpll0_out_main_div2, 55562306a36Sopenharmony_ci .num_parents = ARRAY_SIZE(gcc_xo_gpll0_gpll0_out_main_div2), 55662306a36Sopenharmony_ci .ops = &clk_rcg2_ops, 55762306a36Sopenharmony_ci }, 55862306a36Sopenharmony_ci}; 55962306a36Sopenharmony_ci 56062306a36Sopenharmony_cistatic struct clk_rcg2 blsp1_uart3_apps_clk_src = { 56162306a36Sopenharmony_ci .cmd_rcgr = 0x04034, 56262306a36Sopenharmony_ci .freq_tbl = ftbl_blsp1_uart_apps_clk_src, 56362306a36Sopenharmony_ci .mnd_width = 16, 56462306a36Sopenharmony_ci .hid_width = 5, 56562306a36Sopenharmony_ci .parent_map = gcc_xo_gpll0_gpll0_out_main_div2_map, 56662306a36Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 56762306a36Sopenharmony_ci .name = "blsp1_uart3_apps_clk_src", 56862306a36Sopenharmony_ci .parent_data = gcc_xo_gpll0_gpll0_out_main_div2, 56962306a36Sopenharmony_ci .num_parents = ARRAY_SIZE(gcc_xo_gpll0_gpll0_out_main_div2), 57062306a36Sopenharmony_ci .ops = &clk_rcg2_ops, 57162306a36Sopenharmony_ci }, 57262306a36Sopenharmony_ci}; 57362306a36Sopenharmony_ci 57462306a36Sopenharmony_cistatic struct clk_rcg2 blsp1_uart4_apps_clk_src = { 57562306a36Sopenharmony_ci .cmd_rcgr = 0x05034, 57662306a36Sopenharmony_ci .freq_tbl = ftbl_blsp1_uart_apps_clk_src, 57762306a36Sopenharmony_ci .mnd_width = 16, 57862306a36Sopenharmony_ci .hid_width = 5, 57962306a36Sopenharmony_ci .parent_map = gcc_xo_gpll0_gpll0_out_main_div2_map, 58062306a36Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 58162306a36Sopenharmony_ci .name = "blsp1_uart4_apps_clk_src", 58262306a36Sopenharmony_ci .parent_data = gcc_xo_gpll0_gpll0_out_main_div2, 58362306a36Sopenharmony_ci .num_parents = ARRAY_SIZE(gcc_xo_gpll0_gpll0_out_main_div2), 58462306a36Sopenharmony_ci .ops = &clk_rcg2_ops, 58562306a36Sopenharmony_ci }, 58662306a36Sopenharmony_ci}; 58762306a36Sopenharmony_ci 58862306a36Sopenharmony_cistatic struct clk_rcg2 blsp1_uart5_apps_clk_src = { 58962306a36Sopenharmony_ci .cmd_rcgr = 0x06034, 59062306a36Sopenharmony_ci .freq_tbl = ftbl_blsp1_uart_apps_clk_src, 59162306a36Sopenharmony_ci .mnd_width = 16, 59262306a36Sopenharmony_ci .hid_width = 5, 59362306a36Sopenharmony_ci .parent_map = gcc_xo_gpll0_gpll0_out_main_div2_map, 59462306a36Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 59562306a36Sopenharmony_ci .name = "blsp1_uart5_apps_clk_src", 59662306a36Sopenharmony_ci .parent_data = gcc_xo_gpll0_gpll0_out_main_div2, 59762306a36Sopenharmony_ci .num_parents = ARRAY_SIZE(gcc_xo_gpll0_gpll0_out_main_div2), 59862306a36Sopenharmony_ci .ops = &clk_rcg2_ops, 59962306a36Sopenharmony_ci }, 60062306a36Sopenharmony_ci}; 60162306a36Sopenharmony_ci 60262306a36Sopenharmony_cistatic struct clk_rcg2 blsp1_uart6_apps_clk_src = { 60362306a36Sopenharmony_ci .cmd_rcgr = 0x07034, 60462306a36Sopenharmony_ci .freq_tbl = ftbl_blsp1_uart_apps_clk_src, 60562306a36Sopenharmony_ci .mnd_width = 16, 60662306a36Sopenharmony_ci .hid_width = 5, 60762306a36Sopenharmony_ci .parent_map = gcc_xo_gpll0_gpll0_out_main_div2_map, 60862306a36Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 60962306a36Sopenharmony_ci .name = "blsp1_uart6_apps_clk_src", 61062306a36Sopenharmony_ci .parent_data = gcc_xo_gpll0_gpll0_out_main_div2, 61162306a36Sopenharmony_ci .num_parents = ARRAY_SIZE(gcc_xo_gpll0_gpll0_out_main_div2), 61262306a36Sopenharmony_ci .ops = &clk_rcg2_ops, 61362306a36Sopenharmony_ci }, 61462306a36Sopenharmony_ci}; 61562306a36Sopenharmony_ci 61662306a36Sopenharmony_cistatic const struct clk_parent_data gcc_xo_gpll0[] = { 61762306a36Sopenharmony_ci { .fw_name = "xo" }, 61862306a36Sopenharmony_ci { .hw = &gpll0.clkr.hw }, 61962306a36Sopenharmony_ci}; 62062306a36Sopenharmony_ci 62162306a36Sopenharmony_cistatic const struct parent_map gcc_xo_gpll0_map[] = { 62262306a36Sopenharmony_ci { P_XO, 0 }, 62362306a36Sopenharmony_ci { P_GPLL0, 1 }, 62462306a36Sopenharmony_ci}; 62562306a36Sopenharmony_ci 62662306a36Sopenharmony_cistatic const struct freq_tbl ftbl_pcie_axi_clk_src[] = { 62762306a36Sopenharmony_ci F(19200000, P_XO, 1, 0, 0), 62862306a36Sopenharmony_ci F(200000000, P_GPLL0, 4, 0, 0), 62962306a36Sopenharmony_ci { } 63062306a36Sopenharmony_ci}; 63162306a36Sopenharmony_ci 63262306a36Sopenharmony_cistatic struct clk_rcg2 pcie0_axi_clk_src = { 63362306a36Sopenharmony_ci .cmd_rcgr = 0x75054, 63462306a36Sopenharmony_ci .freq_tbl = ftbl_pcie_axi_clk_src, 63562306a36Sopenharmony_ci .hid_width = 5, 63662306a36Sopenharmony_ci .parent_map = gcc_xo_gpll0_map, 63762306a36Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 63862306a36Sopenharmony_ci .name = "pcie0_axi_clk_src", 63962306a36Sopenharmony_ci .parent_data = gcc_xo_gpll0, 64062306a36Sopenharmony_ci .num_parents = ARRAY_SIZE(gcc_xo_gpll0), 64162306a36Sopenharmony_ci .ops = &clk_rcg2_ops, 64262306a36Sopenharmony_ci }, 64362306a36Sopenharmony_ci}; 64462306a36Sopenharmony_ci 64562306a36Sopenharmony_cistatic const struct freq_tbl ftbl_pcie_aux_clk_src[] = { 64662306a36Sopenharmony_ci F(19200000, P_XO, 1, 0, 0), 64762306a36Sopenharmony_ci { } 64862306a36Sopenharmony_ci}; 64962306a36Sopenharmony_ci 65062306a36Sopenharmony_cistatic const struct clk_parent_data gcc_xo_gpll0_sleep_clk[] = { 65162306a36Sopenharmony_ci { .fw_name = "xo", .name = "xo" }, 65262306a36Sopenharmony_ci { .hw = &gpll0.clkr.hw }, 65362306a36Sopenharmony_ci { .fw_name = "sleep_clk", .name = "sleep_clk" }, 65462306a36Sopenharmony_ci}; 65562306a36Sopenharmony_ci 65662306a36Sopenharmony_cistatic const struct parent_map gcc_xo_gpll0_sleep_clk_map[] = { 65762306a36Sopenharmony_ci { P_XO, 0 }, 65862306a36Sopenharmony_ci { P_GPLL0, 2 }, 65962306a36Sopenharmony_ci { P_SLEEP_CLK, 6 }, 66062306a36Sopenharmony_ci}; 66162306a36Sopenharmony_ci 66262306a36Sopenharmony_cistatic struct clk_rcg2 pcie0_aux_clk_src = { 66362306a36Sopenharmony_ci .cmd_rcgr = 0x75024, 66462306a36Sopenharmony_ci .freq_tbl = ftbl_pcie_aux_clk_src, 66562306a36Sopenharmony_ci .mnd_width = 16, 66662306a36Sopenharmony_ci .hid_width = 5, 66762306a36Sopenharmony_ci .parent_map = gcc_xo_gpll0_sleep_clk_map, 66862306a36Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 66962306a36Sopenharmony_ci .name = "pcie0_aux_clk_src", 67062306a36Sopenharmony_ci .parent_data = gcc_xo_gpll0_sleep_clk, 67162306a36Sopenharmony_ci .num_parents = ARRAY_SIZE(gcc_xo_gpll0_sleep_clk), 67262306a36Sopenharmony_ci .ops = &clk_rcg2_ops, 67362306a36Sopenharmony_ci }, 67462306a36Sopenharmony_ci}; 67562306a36Sopenharmony_ci 67662306a36Sopenharmony_cistatic const struct clk_parent_data gcc_pcie20_phy0_pipe_clk_xo[] = { 67762306a36Sopenharmony_ci { .fw_name = "pcie0_pipe", .name = "pcie20_phy0_pipe_clk" }, 67862306a36Sopenharmony_ci { .fw_name = "xo", .name = "xo" }, 67962306a36Sopenharmony_ci}; 68062306a36Sopenharmony_ci 68162306a36Sopenharmony_cistatic const struct parent_map gcc_pcie20_phy0_pipe_clk_xo_map[] = { 68262306a36Sopenharmony_ci { P_PCIE20_PHY0_PIPE, 0 }, 68362306a36Sopenharmony_ci { P_XO, 2 }, 68462306a36Sopenharmony_ci}; 68562306a36Sopenharmony_ci 68662306a36Sopenharmony_cistatic struct clk_regmap_mux pcie0_pipe_clk_src = { 68762306a36Sopenharmony_ci .reg = 0x7501c, 68862306a36Sopenharmony_ci .shift = 8, 68962306a36Sopenharmony_ci .width = 2, 69062306a36Sopenharmony_ci .parent_map = gcc_pcie20_phy0_pipe_clk_xo_map, 69162306a36Sopenharmony_ci .clkr = { 69262306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 69362306a36Sopenharmony_ci .name = "pcie0_pipe_clk_src", 69462306a36Sopenharmony_ci .parent_data = gcc_pcie20_phy0_pipe_clk_xo, 69562306a36Sopenharmony_ci .num_parents = ARRAY_SIZE(gcc_pcie20_phy0_pipe_clk_xo), 69662306a36Sopenharmony_ci .ops = &clk_regmap_mux_closest_ops, 69762306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 69862306a36Sopenharmony_ci }, 69962306a36Sopenharmony_ci }, 70062306a36Sopenharmony_ci}; 70162306a36Sopenharmony_ci 70262306a36Sopenharmony_cistatic struct clk_rcg2 pcie1_axi_clk_src = { 70362306a36Sopenharmony_ci .cmd_rcgr = 0x76054, 70462306a36Sopenharmony_ci .freq_tbl = ftbl_pcie_axi_clk_src, 70562306a36Sopenharmony_ci .hid_width = 5, 70662306a36Sopenharmony_ci .parent_map = gcc_xo_gpll0_map, 70762306a36Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 70862306a36Sopenharmony_ci .name = "pcie1_axi_clk_src", 70962306a36Sopenharmony_ci .parent_data = gcc_xo_gpll0, 71062306a36Sopenharmony_ci .num_parents = ARRAY_SIZE(gcc_xo_gpll0), 71162306a36Sopenharmony_ci .ops = &clk_rcg2_ops, 71262306a36Sopenharmony_ci }, 71362306a36Sopenharmony_ci}; 71462306a36Sopenharmony_ci 71562306a36Sopenharmony_cistatic struct clk_rcg2 pcie1_aux_clk_src = { 71662306a36Sopenharmony_ci .cmd_rcgr = 0x76024, 71762306a36Sopenharmony_ci .freq_tbl = ftbl_pcie_aux_clk_src, 71862306a36Sopenharmony_ci .mnd_width = 16, 71962306a36Sopenharmony_ci .hid_width = 5, 72062306a36Sopenharmony_ci .parent_map = gcc_xo_gpll0_sleep_clk_map, 72162306a36Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 72262306a36Sopenharmony_ci .name = "pcie1_aux_clk_src", 72362306a36Sopenharmony_ci .parent_data = gcc_xo_gpll0_sleep_clk, 72462306a36Sopenharmony_ci .num_parents = ARRAY_SIZE(gcc_xo_gpll0_sleep_clk), 72562306a36Sopenharmony_ci .ops = &clk_rcg2_ops, 72662306a36Sopenharmony_ci }, 72762306a36Sopenharmony_ci}; 72862306a36Sopenharmony_ci 72962306a36Sopenharmony_cistatic const struct clk_parent_data gcc_pcie20_phy1_pipe_clk_xo[] = { 73062306a36Sopenharmony_ci { .fw_name = "pcie1_pipe", .name = "pcie20_phy1_pipe_clk" }, 73162306a36Sopenharmony_ci { .fw_name = "xo", .name = "xo" }, 73262306a36Sopenharmony_ci}; 73362306a36Sopenharmony_ci 73462306a36Sopenharmony_cistatic const struct parent_map gcc_pcie20_phy1_pipe_clk_xo_map[] = { 73562306a36Sopenharmony_ci { P_PCIE20_PHY1_PIPE, 0 }, 73662306a36Sopenharmony_ci { P_XO, 2 }, 73762306a36Sopenharmony_ci}; 73862306a36Sopenharmony_ci 73962306a36Sopenharmony_cistatic struct clk_regmap_mux pcie1_pipe_clk_src = { 74062306a36Sopenharmony_ci .reg = 0x7601c, 74162306a36Sopenharmony_ci .shift = 8, 74262306a36Sopenharmony_ci .width = 2, 74362306a36Sopenharmony_ci .parent_map = gcc_pcie20_phy1_pipe_clk_xo_map, 74462306a36Sopenharmony_ci .clkr = { 74562306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 74662306a36Sopenharmony_ci .name = "pcie1_pipe_clk_src", 74762306a36Sopenharmony_ci .parent_data = gcc_pcie20_phy1_pipe_clk_xo, 74862306a36Sopenharmony_ci .num_parents = ARRAY_SIZE(gcc_pcie20_phy1_pipe_clk_xo), 74962306a36Sopenharmony_ci .ops = &clk_regmap_mux_closest_ops, 75062306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 75162306a36Sopenharmony_ci }, 75262306a36Sopenharmony_ci }, 75362306a36Sopenharmony_ci}; 75462306a36Sopenharmony_ci 75562306a36Sopenharmony_cistatic const struct freq_tbl ftbl_sdcc_apps_clk_src[] = { 75662306a36Sopenharmony_ci F(144000, P_XO, 16, 3, 25), 75762306a36Sopenharmony_ci F(400000, P_XO, 12, 1, 4), 75862306a36Sopenharmony_ci F(24000000, P_GPLL2, 12, 1, 4), 75962306a36Sopenharmony_ci F(48000000, P_GPLL2, 12, 1, 2), 76062306a36Sopenharmony_ci F(96000000, P_GPLL2, 12, 0, 0), 76162306a36Sopenharmony_ci F(177777778, P_GPLL0, 4.5, 0, 0), 76262306a36Sopenharmony_ci F(192000000, P_GPLL2, 6, 0, 0), 76362306a36Sopenharmony_ci F(384000000, P_GPLL2, 3, 0, 0), 76462306a36Sopenharmony_ci { } 76562306a36Sopenharmony_ci}; 76662306a36Sopenharmony_ci 76762306a36Sopenharmony_cistatic const struct clk_parent_data gcc_xo_gpll0_gpll2_gpll0_out_main_div2[] = { 76862306a36Sopenharmony_ci { .fw_name = "xo", .name = "xo" }, 76962306a36Sopenharmony_ci { .hw = &gpll0.clkr.hw }, 77062306a36Sopenharmony_ci { .hw = &gpll2.clkr.hw }, 77162306a36Sopenharmony_ci { .hw = &gpll0_out_main_div2.hw }, 77262306a36Sopenharmony_ci}; 77362306a36Sopenharmony_ci 77462306a36Sopenharmony_cistatic const struct parent_map gcc_xo_gpll0_gpll2_gpll0_out_main_div2_map[] = { 77562306a36Sopenharmony_ci { P_XO, 0 }, 77662306a36Sopenharmony_ci { P_GPLL0, 1 }, 77762306a36Sopenharmony_ci { P_GPLL2, 2 }, 77862306a36Sopenharmony_ci { P_GPLL0_DIV2, 4 }, 77962306a36Sopenharmony_ci}; 78062306a36Sopenharmony_ci 78162306a36Sopenharmony_cistatic struct clk_rcg2 sdcc1_apps_clk_src = { 78262306a36Sopenharmony_ci .cmd_rcgr = 0x42004, 78362306a36Sopenharmony_ci .freq_tbl = ftbl_sdcc_apps_clk_src, 78462306a36Sopenharmony_ci .mnd_width = 8, 78562306a36Sopenharmony_ci .hid_width = 5, 78662306a36Sopenharmony_ci .parent_map = gcc_xo_gpll0_gpll2_gpll0_out_main_div2_map, 78762306a36Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 78862306a36Sopenharmony_ci .name = "sdcc1_apps_clk_src", 78962306a36Sopenharmony_ci .parent_data = gcc_xo_gpll0_gpll2_gpll0_out_main_div2, 79062306a36Sopenharmony_ci .num_parents = ARRAY_SIZE(gcc_xo_gpll0_gpll2_gpll0_out_main_div2), 79162306a36Sopenharmony_ci .ops = &clk_rcg2_floor_ops, 79262306a36Sopenharmony_ci }, 79362306a36Sopenharmony_ci}; 79462306a36Sopenharmony_ci 79562306a36Sopenharmony_cistatic const struct freq_tbl ftbl_sdcc_ice_core_clk_src[] = { 79662306a36Sopenharmony_ci F(19200000, P_XO, 1, 0, 0), 79762306a36Sopenharmony_ci F(160000000, P_GPLL0, 5, 0, 0), 79862306a36Sopenharmony_ci F(308570000, P_GPLL6, 3.5, 0, 0), 79962306a36Sopenharmony_ci { } 80062306a36Sopenharmony_ci}; 80162306a36Sopenharmony_ci 80262306a36Sopenharmony_cistatic const struct clk_parent_data gcc_xo_gpll0_gpll6_gpll0_div2[] = { 80362306a36Sopenharmony_ci { .fw_name = "xo", .name = "xo" }, 80462306a36Sopenharmony_ci { .hw = &gpll0.clkr.hw }, 80562306a36Sopenharmony_ci { .hw = &gpll6.clkr.hw }, 80662306a36Sopenharmony_ci { .hw = &gpll0_out_main_div2.hw }, 80762306a36Sopenharmony_ci}; 80862306a36Sopenharmony_ci 80962306a36Sopenharmony_cistatic const struct parent_map gcc_xo_gpll0_gpll6_gpll0_div2_map[] = { 81062306a36Sopenharmony_ci { P_XO, 0 }, 81162306a36Sopenharmony_ci { P_GPLL0, 1 }, 81262306a36Sopenharmony_ci { P_GPLL6, 2 }, 81362306a36Sopenharmony_ci { P_GPLL0_DIV2, 4 }, 81462306a36Sopenharmony_ci}; 81562306a36Sopenharmony_ci 81662306a36Sopenharmony_cistatic struct clk_rcg2 sdcc1_ice_core_clk_src = { 81762306a36Sopenharmony_ci .cmd_rcgr = 0x5d000, 81862306a36Sopenharmony_ci .freq_tbl = ftbl_sdcc_ice_core_clk_src, 81962306a36Sopenharmony_ci .mnd_width = 8, 82062306a36Sopenharmony_ci .hid_width = 5, 82162306a36Sopenharmony_ci .parent_map = gcc_xo_gpll0_gpll6_gpll0_div2_map, 82262306a36Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 82362306a36Sopenharmony_ci .name = "sdcc1_ice_core_clk_src", 82462306a36Sopenharmony_ci .parent_data = gcc_xo_gpll0_gpll6_gpll0_div2, 82562306a36Sopenharmony_ci .num_parents = ARRAY_SIZE(gcc_xo_gpll0_gpll6_gpll0_div2), 82662306a36Sopenharmony_ci .ops = &clk_rcg2_ops, 82762306a36Sopenharmony_ci }, 82862306a36Sopenharmony_ci}; 82962306a36Sopenharmony_ci 83062306a36Sopenharmony_cistatic struct clk_rcg2 sdcc2_apps_clk_src = { 83162306a36Sopenharmony_ci .cmd_rcgr = 0x43004, 83262306a36Sopenharmony_ci .freq_tbl = ftbl_sdcc_apps_clk_src, 83362306a36Sopenharmony_ci .mnd_width = 8, 83462306a36Sopenharmony_ci .hid_width = 5, 83562306a36Sopenharmony_ci .parent_map = gcc_xo_gpll0_gpll2_gpll0_out_main_div2_map, 83662306a36Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 83762306a36Sopenharmony_ci .name = "sdcc2_apps_clk_src", 83862306a36Sopenharmony_ci .parent_data = gcc_xo_gpll0_gpll2_gpll0_out_main_div2, 83962306a36Sopenharmony_ci .num_parents = ARRAY_SIZE(gcc_xo_gpll0_gpll2_gpll0_out_main_div2), 84062306a36Sopenharmony_ci .ops = &clk_rcg2_floor_ops, 84162306a36Sopenharmony_ci }, 84262306a36Sopenharmony_ci}; 84362306a36Sopenharmony_ci 84462306a36Sopenharmony_cistatic const struct freq_tbl ftbl_usb_master_clk_src[] = { 84562306a36Sopenharmony_ci F(80000000, P_GPLL0_DIV2, 5, 0, 0), 84662306a36Sopenharmony_ci F(100000000, P_GPLL0, 8, 0, 0), 84762306a36Sopenharmony_ci F(133330000, P_GPLL0, 6, 0, 0), 84862306a36Sopenharmony_ci { } 84962306a36Sopenharmony_ci}; 85062306a36Sopenharmony_ci 85162306a36Sopenharmony_cistatic const struct clk_parent_data gcc_xo_gpll0_out_main_div2_gpll0[] = { 85262306a36Sopenharmony_ci { .fw_name = "xo", .name = "xo" }, 85362306a36Sopenharmony_ci { .hw = &gpll0_out_main_div2.hw }, 85462306a36Sopenharmony_ci { .hw = &gpll0.clkr.hw }, 85562306a36Sopenharmony_ci}; 85662306a36Sopenharmony_ci 85762306a36Sopenharmony_cistatic const struct parent_map gcc_xo_gpll0_out_main_div2_gpll0_map[] = { 85862306a36Sopenharmony_ci { P_XO, 0 }, 85962306a36Sopenharmony_ci { P_GPLL0_DIV2, 2 }, 86062306a36Sopenharmony_ci { P_GPLL0, 1 }, 86162306a36Sopenharmony_ci}; 86262306a36Sopenharmony_ci 86362306a36Sopenharmony_cistatic struct clk_rcg2 usb0_master_clk_src = { 86462306a36Sopenharmony_ci .cmd_rcgr = 0x3e00c, 86562306a36Sopenharmony_ci .freq_tbl = ftbl_usb_master_clk_src, 86662306a36Sopenharmony_ci .mnd_width = 8, 86762306a36Sopenharmony_ci .hid_width = 5, 86862306a36Sopenharmony_ci .parent_map = gcc_xo_gpll0_out_main_div2_gpll0_map, 86962306a36Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 87062306a36Sopenharmony_ci .name = "usb0_master_clk_src", 87162306a36Sopenharmony_ci .parent_data = gcc_xo_gpll0_out_main_div2_gpll0, 87262306a36Sopenharmony_ci .num_parents = ARRAY_SIZE(gcc_xo_gpll0_out_main_div2_gpll0), 87362306a36Sopenharmony_ci .ops = &clk_rcg2_ops, 87462306a36Sopenharmony_ci }, 87562306a36Sopenharmony_ci}; 87662306a36Sopenharmony_ci 87762306a36Sopenharmony_cistatic const struct freq_tbl ftbl_usb_aux_clk_src[] = { 87862306a36Sopenharmony_ci F(19200000, P_XO, 1, 0, 0), 87962306a36Sopenharmony_ci { } 88062306a36Sopenharmony_ci}; 88162306a36Sopenharmony_ci 88262306a36Sopenharmony_cistatic struct clk_rcg2 usb0_aux_clk_src = { 88362306a36Sopenharmony_ci .cmd_rcgr = 0x3e05c, 88462306a36Sopenharmony_ci .freq_tbl = ftbl_usb_aux_clk_src, 88562306a36Sopenharmony_ci .mnd_width = 16, 88662306a36Sopenharmony_ci .hid_width = 5, 88762306a36Sopenharmony_ci .parent_map = gcc_xo_gpll0_sleep_clk_map, 88862306a36Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 88962306a36Sopenharmony_ci .name = "usb0_aux_clk_src", 89062306a36Sopenharmony_ci .parent_data = gcc_xo_gpll0_sleep_clk, 89162306a36Sopenharmony_ci .num_parents = ARRAY_SIZE(gcc_xo_gpll0_sleep_clk), 89262306a36Sopenharmony_ci .ops = &clk_rcg2_ops, 89362306a36Sopenharmony_ci }, 89462306a36Sopenharmony_ci}; 89562306a36Sopenharmony_ci 89662306a36Sopenharmony_cistatic const struct freq_tbl ftbl_usb_mock_utmi_clk_src[] = { 89762306a36Sopenharmony_ci F(19200000, P_XO, 1, 0, 0), 89862306a36Sopenharmony_ci F(20000000, P_GPLL6, 6, 1, 9), 89962306a36Sopenharmony_ci F(60000000, P_GPLL6, 6, 1, 3), 90062306a36Sopenharmony_ci { } 90162306a36Sopenharmony_ci}; 90262306a36Sopenharmony_ci 90362306a36Sopenharmony_cistatic const struct clk_parent_data gcc_xo_gpll6_gpll0_gpll0_out_main_div2[] = { 90462306a36Sopenharmony_ci { .fw_name = "xo", .name = "xo" }, 90562306a36Sopenharmony_ci { .hw = &gpll6.clkr.hw }, 90662306a36Sopenharmony_ci { .hw = &gpll0.clkr.hw }, 90762306a36Sopenharmony_ci { .hw = &gpll0_out_main_div2.hw }, 90862306a36Sopenharmony_ci}; 90962306a36Sopenharmony_ci 91062306a36Sopenharmony_cistatic const struct parent_map gcc_xo_gpll6_gpll0_gpll0_out_main_div2_map[] = { 91162306a36Sopenharmony_ci { P_XO, 0 }, 91262306a36Sopenharmony_ci { P_GPLL6, 1 }, 91362306a36Sopenharmony_ci { P_GPLL0, 3 }, 91462306a36Sopenharmony_ci { P_GPLL0_DIV2, 4 }, 91562306a36Sopenharmony_ci}; 91662306a36Sopenharmony_ci 91762306a36Sopenharmony_cistatic struct clk_rcg2 usb0_mock_utmi_clk_src = { 91862306a36Sopenharmony_ci .cmd_rcgr = 0x3e020, 91962306a36Sopenharmony_ci .freq_tbl = ftbl_usb_mock_utmi_clk_src, 92062306a36Sopenharmony_ci .mnd_width = 8, 92162306a36Sopenharmony_ci .hid_width = 5, 92262306a36Sopenharmony_ci .parent_map = gcc_xo_gpll6_gpll0_gpll0_out_main_div2_map, 92362306a36Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 92462306a36Sopenharmony_ci .name = "usb0_mock_utmi_clk_src", 92562306a36Sopenharmony_ci .parent_data = gcc_xo_gpll6_gpll0_gpll0_out_main_div2, 92662306a36Sopenharmony_ci .num_parents = ARRAY_SIZE(gcc_xo_gpll6_gpll0_gpll0_out_main_div2), 92762306a36Sopenharmony_ci .ops = &clk_rcg2_ops, 92862306a36Sopenharmony_ci }, 92962306a36Sopenharmony_ci}; 93062306a36Sopenharmony_ci 93162306a36Sopenharmony_cistatic const struct clk_parent_data gcc_usb3phy_0_cc_pipe_clk_xo[] = { 93262306a36Sopenharmony_ci { .fw_name = "usb3phy_0_cc_pipe_clk", .name = "usb3phy_0_cc_pipe_clk" }, 93362306a36Sopenharmony_ci { .fw_name = "xo", .name = "xo" }, 93462306a36Sopenharmony_ci}; 93562306a36Sopenharmony_ci 93662306a36Sopenharmony_cistatic const struct parent_map gcc_usb3phy_0_cc_pipe_clk_xo_map[] = { 93762306a36Sopenharmony_ci { P_USB3PHY_0_PIPE, 0 }, 93862306a36Sopenharmony_ci { P_XO, 2 }, 93962306a36Sopenharmony_ci}; 94062306a36Sopenharmony_ci 94162306a36Sopenharmony_cistatic struct clk_regmap_mux usb0_pipe_clk_src = { 94262306a36Sopenharmony_ci .reg = 0x3e048, 94362306a36Sopenharmony_ci .shift = 8, 94462306a36Sopenharmony_ci .width = 2, 94562306a36Sopenharmony_ci .parent_map = gcc_usb3phy_0_cc_pipe_clk_xo_map, 94662306a36Sopenharmony_ci .clkr = { 94762306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 94862306a36Sopenharmony_ci .name = "usb0_pipe_clk_src", 94962306a36Sopenharmony_ci .parent_data = gcc_usb3phy_0_cc_pipe_clk_xo, 95062306a36Sopenharmony_ci .num_parents = ARRAY_SIZE(gcc_usb3phy_0_cc_pipe_clk_xo), 95162306a36Sopenharmony_ci .ops = &clk_regmap_mux_closest_ops, 95262306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 95362306a36Sopenharmony_ci }, 95462306a36Sopenharmony_ci }, 95562306a36Sopenharmony_ci}; 95662306a36Sopenharmony_ci 95762306a36Sopenharmony_cistatic struct clk_rcg2 usb1_master_clk_src = { 95862306a36Sopenharmony_ci .cmd_rcgr = 0x3f00c, 95962306a36Sopenharmony_ci .freq_tbl = ftbl_usb_master_clk_src, 96062306a36Sopenharmony_ci .mnd_width = 8, 96162306a36Sopenharmony_ci .hid_width = 5, 96262306a36Sopenharmony_ci .parent_map = gcc_xo_gpll0_out_main_div2_gpll0_map, 96362306a36Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 96462306a36Sopenharmony_ci .name = "usb1_master_clk_src", 96562306a36Sopenharmony_ci .parent_data = gcc_xo_gpll0_out_main_div2_gpll0, 96662306a36Sopenharmony_ci .num_parents = ARRAY_SIZE(gcc_xo_gpll0_out_main_div2_gpll0), 96762306a36Sopenharmony_ci .ops = &clk_rcg2_ops, 96862306a36Sopenharmony_ci }, 96962306a36Sopenharmony_ci}; 97062306a36Sopenharmony_ci 97162306a36Sopenharmony_cistatic struct clk_rcg2 usb1_aux_clk_src = { 97262306a36Sopenharmony_ci .cmd_rcgr = 0x3f05c, 97362306a36Sopenharmony_ci .freq_tbl = ftbl_usb_aux_clk_src, 97462306a36Sopenharmony_ci .mnd_width = 16, 97562306a36Sopenharmony_ci .hid_width = 5, 97662306a36Sopenharmony_ci .parent_map = gcc_xo_gpll0_sleep_clk_map, 97762306a36Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 97862306a36Sopenharmony_ci .name = "usb1_aux_clk_src", 97962306a36Sopenharmony_ci .parent_data = gcc_xo_gpll0_sleep_clk, 98062306a36Sopenharmony_ci .num_parents = ARRAY_SIZE(gcc_xo_gpll0_sleep_clk), 98162306a36Sopenharmony_ci .ops = &clk_rcg2_ops, 98262306a36Sopenharmony_ci }, 98362306a36Sopenharmony_ci}; 98462306a36Sopenharmony_ci 98562306a36Sopenharmony_cistatic struct clk_rcg2 usb1_mock_utmi_clk_src = { 98662306a36Sopenharmony_ci .cmd_rcgr = 0x3f020, 98762306a36Sopenharmony_ci .freq_tbl = ftbl_usb_mock_utmi_clk_src, 98862306a36Sopenharmony_ci .mnd_width = 8, 98962306a36Sopenharmony_ci .hid_width = 5, 99062306a36Sopenharmony_ci .parent_map = gcc_xo_gpll6_gpll0_gpll0_out_main_div2_map, 99162306a36Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 99262306a36Sopenharmony_ci .name = "usb1_mock_utmi_clk_src", 99362306a36Sopenharmony_ci .parent_data = gcc_xo_gpll6_gpll0_gpll0_out_main_div2, 99462306a36Sopenharmony_ci .num_parents = ARRAY_SIZE(gcc_xo_gpll6_gpll0_gpll0_out_main_div2), 99562306a36Sopenharmony_ci .ops = &clk_rcg2_ops, 99662306a36Sopenharmony_ci }, 99762306a36Sopenharmony_ci}; 99862306a36Sopenharmony_ci 99962306a36Sopenharmony_cistatic const struct clk_parent_data gcc_usb3phy_1_cc_pipe_clk_xo[] = { 100062306a36Sopenharmony_ci { .fw_name = "usb3phy_1_cc_pipe_clk", .name = "usb3phy_1_cc_pipe_clk" }, 100162306a36Sopenharmony_ci { .fw_name = "xo", .name = "xo" }, 100262306a36Sopenharmony_ci}; 100362306a36Sopenharmony_ci 100462306a36Sopenharmony_cistatic const struct parent_map gcc_usb3phy_1_cc_pipe_clk_xo_map[] = { 100562306a36Sopenharmony_ci { P_USB3PHY_1_PIPE, 0 }, 100662306a36Sopenharmony_ci { P_XO, 2 }, 100762306a36Sopenharmony_ci}; 100862306a36Sopenharmony_ci 100962306a36Sopenharmony_cistatic struct clk_regmap_mux usb1_pipe_clk_src = { 101062306a36Sopenharmony_ci .reg = 0x3f048, 101162306a36Sopenharmony_ci .shift = 8, 101262306a36Sopenharmony_ci .width = 2, 101362306a36Sopenharmony_ci .parent_map = gcc_usb3phy_1_cc_pipe_clk_xo_map, 101462306a36Sopenharmony_ci .clkr = { 101562306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 101662306a36Sopenharmony_ci .name = "usb1_pipe_clk_src", 101762306a36Sopenharmony_ci .parent_data = gcc_usb3phy_1_cc_pipe_clk_xo, 101862306a36Sopenharmony_ci .num_parents = ARRAY_SIZE(gcc_usb3phy_1_cc_pipe_clk_xo), 101962306a36Sopenharmony_ci .ops = &clk_regmap_mux_closest_ops, 102062306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 102162306a36Sopenharmony_ci }, 102262306a36Sopenharmony_ci }, 102362306a36Sopenharmony_ci}; 102462306a36Sopenharmony_ci 102562306a36Sopenharmony_cistatic struct clk_branch gcc_xo_clk_src = { 102662306a36Sopenharmony_ci .halt_reg = 0x30018, 102762306a36Sopenharmony_ci .clkr = { 102862306a36Sopenharmony_ci .enable_reg = 0x30018, 102962306a36Sopenharmony_ci .enable_mask = BIT(1), 103062306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 103162306a36Sopenharmony_ci .name = "gcc_xo_clk_src", 103262306a36Sopenharmony_ci .parent_data = &(const struct clk_parent_data){ 103362306a36Sopenharmony_ci .fw_name = "xo", 103462306a36Sopenharmony_ci .name = "xo", 103562306a36Sopenharmony_ci }, 103662306a36Sopenharmony_ci .num_parents = 1, 103762306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT | CLK_IS_CRITICAL, 103862306a36Sopenharmony_ci .ops = &clk_branch2_ops, 103962306a36Sopenharmony_ci }, 104062306a36Sopenharmony_ci }, 104162306a36Sopenharmony_ci}; 104262306a36Sopenharmony_ci 104362306a36Sopenharmony_cistatic struct clk_fixed_factor gcc_xo_div4_clk_src = { 104462306a36Sopenharmony_ci .mult = 1, 104562306a36Sopenharmony_ci .div = 4, 104662306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 104762306a36Sopenharmony_ci .name = "gcc_xo_div4_clk_src", 104862306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 104962306a36Sopenharmony_ci &gcc_xo_clk_src.clkr.hw }, 105062306a36Sopenharmony_ci .num_parents = 1, 105162306a36Sopenharmony_ci .ops = &clk_fixed_factor_ops, 105262306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 105362306a36Sopenharmony_ci }, 105462306a36Sopenharmony_ci}; 105562306a36Sopenharmony_ci 105662306a36Sopenharmony_cistatic const struct freq_tbl ftbl_system_noc_bfdcd_clk_src[] = { 105762306a36Sopenharmony_ci F(19200000, P_XO, 1, 0, 0), 105862306a36Sopenharmony_ci F(50000000, P_GPLL0_DIV2, 8, 0, 0), 105962306a36Sopenharmony_ci F(100000000, P_GPLL0, 8, 0, 0), 106062306a36Sopenharmony_ci F(133333333, P_GPLL0, 6, 0, 0), 106162306a36Sopenharmony_ci F(160000000, P_GPLL0, 5, 0, 0), 106262306a36Sopenharmony_ci F(200000000, P_GPLL0, 4, 0, 0), 106362306a36Sopenharmony_ci F(266666667, P_GPLL0, 3, 0, 0), 106462306a36Sopenharmony_ci { } 106562306a36Sopenharmony_ci}; 106662306a36Sopenharmony_ci 106762306a36Sopenharmony_cistatic const struct clk_parent_data gcc_xo_gpll0_gpll6_gpll0_out_main_div2[] = { 106862306a36Sopenharmony_ci { .fw_name = "xo", .name = "xo" }, 106962306a36Sopenharmony_ci { .hw = &gpll0.clkr.hw }, 107062306a36Sopenharmony_ci { .hw = &gpll6.clkr.hw }, 107162306a36Sopenharmony_ci { .hw = &gpll0_out_main_div2.hw }, 107262306a36Sopenharmony_ci}; 107362306a36Sopenharmony_ci 107462306a36Sopenharmony_cistatic const struct parent_map gcc_xo_gpll0_gpll6_gpll0_out_main_div2_map[] = { 107562306a36Sopenharmony_ci { P_XO, 0 }, 107662306a36Sopenharmony_ci { P_GPLL0, 1 }, 107762306a36Sopenharmony_ci { P_GPLL6, 2 }, 107862306a36Sopenharmony_ci { P_GPLL0_DIV2, 3 }, 107962306a36Sopenharmony_ci}; 108062306a36Sopenharmony_ci 108162306a36Sopenharmony_cistatic struct clk_rcg2 system_noc_bfdcd_clk_src = { 108262306a36Sopenharmony_ci .cmd_rcgr = 0x26004, 108362306a36Sopenharmony_ci .freq_tbl = ftbl_system_noc_bfdcd_clk_src, 108462306a36Sopenharmony_ci .hid_width = 5, 108562306a36Sopenharmony_ci .parent_map = gcc_xo_gpll0_gpll6_gpll0_out_main_div2_map, 108662306a36Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 108762306a36Sopenharmony_ci .name = "system_noc_bfdcd_clk_src", 108862306a36Sopenharmony_ci .parent_data = gcc_xo_gpll0_gpll6_gpll0_out_main_div2, 108962306a36Sopenharmony_ci .num_parents = ARRAY_SIZE(gcc_xo_gpll0_gpll6_gpll0_out_main_div2), 109062306a36Sopenharmony_ci .ops = &clk_rcg2_ops, 109162306a36Sopenharmony_ci .flags = CLK_IS_CRITICAL, 109262306a36Sopenharmony_ci }, 109362306a36Sopenharmony_ci}; 109462306a36Sopenharmony_ci 109562306a36Sopenharmony_cistatic struct clk_fixed_factor system_noc_clk_src = { 109662306a36Sopenharmony_ci .mult = 1, 109762306a36Sopenharmony_ci .div = 1, 109862306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 109962306a36Sopenharmony_ci .name = "system_noc_clk_src", 110062306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 110162306a36Sopenharmony_ci &system_noc_bfdcd_clk_src.clkr.hw }, 110262306a36Sopenharmony_ci .num_parents = 1, 110362306a36Sopenharmony_ci .ops = &clk_fixed_factor_ops, 110462306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 110562306a36Sopenharmony_ci }, 110662306a36Sopenharmony_ci}; 110762306a36Sopenharmony_ci 110862306a36Sopenharmony_cistatic const struct freq_tbl ftbl_nss_ce_clk_src[] = { 110962306a36Sopenharmony_ci F(19200000, P_XO, 1, 0, 0), 111062306a36Sopenharmony_ci F(200000000, P_GPLL0, 4, 0, 0), 111162306a36Sopenharmony_ci { } 111262306a36Sopenharmony_ci}; 111362306a36Sopenharmony_ci 111462306a36Sopenharmony_cistatic struct clk_rcg2 nss_ce_clk_src = { 111562306a36Sopenharmony_ci .cmd_rcgr = 0x68098, 111662306a36Sopenharmony_ci .freq_tbl = ftbl_nss_ce_clk_src, 111762306a36Sopenharmony_ci .hid_width = 5, 111862306a36Sopenharmony_ci .parent_map = gcc_xo_gpll0_map, 111962306a36Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 112062306a36Sopenharmony_ci .name = "nss_ce_clk_src", 112162306a36Sopenharmony_ci .parent_data = gcc_xo_gpll0, 112262306a36Sopenharmony_ci .num_parents = ARRAY_SIZE(gcc_xo_gpll0), 112362306a36Sopenharmony_ci .ops = &clk_rcg2_ops, 112462306a36Sopenharmony_ci }, 112562306a36Sopenharmony_ci}; 112662306a36Sopenharmony_ci 112762306a36Sopenharmony_cistatic const struct freq_tbl ftbl_nss_noc_bfdcd_clk_src[] = { 112862306a36Sopenharmony_ci F(19200000, P_XO, 1, 0, 0), 112962306a36Sopenharmony_ci F(461500000, P_BIAS_PLL_NSS_NOC, 1, 0, 0), 113062306a36Sopenharmony_ci { } 113162306a36Sopenharmony_ci}; 113262306a36Sopenharmony_ci 113362306a36Sopenharmony_cistatic const struct clk_parent_data gcc_xo_bias_pll_nss_noc_clk_gpll0_gpll2[] = { 113462306a36Sopenharmony_ci { .fw_name = "xo", .name = "xo" }, 113562306a36Sopenharmony_ci { .fw_name = "bias_pll_nss_noc_clk", .name = "bias_pll_nss_noc_clk" }, 113662306a36Sopenharmony_ci { .hw = &gpll0.clkr.hw }, 113762306a36Sopenharmony_ci { .hw = &gpll2.clkr.hw }, 113862306a36Sopenharmony_ci}; 113962306a36Sopenharmony_ci 114062306a36Sopenharmony_cistatic const struct parent_map gcc_xo_bias_pll_nss_noc_clk_gpll0_gpll2_map[] = { 114162306a36Sopenharmony_ci { P_XO, 0 }, 114262306a36Sopenharmony_ci { P_BIAS_PLL_NSS_NOC, 1 }, 114362306a36Sopenharmony_ci { P_GPLL0, 2 }, 114462306a36Sopenharmony_ci { P_GPLL2, 3 }, 114562306a36Sopenharmony_ci}; 114662306a36Sopenharmony_ci 114762306a36Sopenharmony_cistatic struct clk_rcg2 nss_noc_bfdcd_clk_src = { 114862306a36Sopenharmony_ci .cmd_rcgr = 0x68088, 114962306a36Sopenharmony_ci .freq_tbl = ftbl_nss_noc_bfdcd_clk_src, 115062306a36Sopenharmony_ci .hid_width = 5, 115162306a36Sopenharmony_ci .parent_map = gcc_xo_bias_pll_nss_noc_clk_gpll0_gpll2_map, 115262306a36Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 115362306a36Sopenharmony_ci .name = "nss_noc_bfdcd_clk_src", 115462306a36Sopenharmony_ci .parent_data = gcc_xo_bias_pll_nss_noc_clk_gpll0_gpll2, 115562306a36Sopenharmony_ci .num_parents = ARRAY_SIZE(gcc_xo_bias_pll_nss_noc_clk_gpll0_gpll2), 115662306a36Sopenharmony_ci .ops = &clk_rcg2_ops, 115762306a36Sopenharmony_ci }, 115862306a36Sopenharmony_ci}; 115962306a36Sopenharmony_ci 116062306a36Sopenharmony_cistatic struct clk_fixed_factor nss_noc_clk_src = { 116162306a36Sopenharmony_ci .mult = 1, 116262306a36Sopenharmony_ci .div = 1, 116362306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 116462306a36Sopenharmony_ci .name = "nss_noc_clk_src", 116562306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 116662306a36Sopenharmony_ci &nss_noc_bfdcd_clk_src.clkr.hw }, 116762306a36Sopenharmony_ci .num_parents = 1, 116862306a36Sopenharmony_ci .ops = &clk_fixed_factor_ops, 116962306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 117062306a36Sopenharmony_ci }, 117162306a36Sopenharmony_ci}; 117262306a36Sopenharmony_ci 117362306a36Sopenharmony_cistatic const struct freq_tbl ftbl_nss_crypto_clk_src[] = { 117462306a36Sopenharmony_ci F(19200000, P_XO, 1, 0, 0), 117562306a36Sopenharmony_ci F(600000000, P_NSS_CRYPTO_PLL, 1, 0, 0), 117662306a36Sopenharmony_ci { } 117762306a36Sopenharmony_ci}; 117862306a36Sopenharmony_ci 117962306a36Sopenharmony_cistatic const struct clk_parent_data gcc_xo_nss_crypto_pll_gpll0[] = { 118062306a36Sopenharmony_ci { .fw_name = "xo", .name = "xo" }, 118162306a36Sopenharmony_ci { .hw = &nss_crypto_pll.clkr.hw }, 118262306a36Sopenharmony_ci { .hw = &gpll0.clkr.hw }, 118362306a36Sopenharmony_ci}; 118462306a36Sopenharmony_ci 118562306a36Sopenharmony_cistatic const struct parent_map gcc_xo_nss_crypto_pll_gpll0_map[] = { 118662306a36Sopenharmony_ci { P_XO, 0 }, 118762306a36Sopenharmony_ci { P_NSS_CRYPTO_PLL, 1 }, 118862306a36Sopenharmony_ci { P_GPLL0, 2 }, 118962306a36Sopenharmony_ci}; 119062306a36Sopenharmony_ci 119162306a36Sopenharmony_cistatic struct clk_rcg2 nss_crypto_clk_src = { 119262306a36Sopenharmony_ci .cmd_rcgr = 0x68144, 119362306a36Sopenharmony_ci .freq_tbl = ftbl_nss_crypto_clk_src, 119462306a36Sopenharmony_ci .mnd_width = 16, 119562306a36Sopenharmony_ci .hid_width = 5, 119662306a36Sopenharmony_ci .parent_map = gcc_xo_nss_crypto_pll_gpll0_map, 119762306a36Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 119862306a36Sopenharmony_ci .name = "nss_crypto_clk_src", 119962306a36Sopenharmony_ci .parent_data = gcc_xo_nss_crypto_pll_gpll0, 120062306a36Sopenharmony_ci .num_parents = ARRAY_SIZE(gcc_xo_nss_crypto_pll_gpll0), 120162306a36Sopenharmony_ci .ops = &clk_rcg2_ops, 120262306a36Sopenharmony_ci }, 120362306a36Sopenharmony_ci}; 120462306a36Sopenharmony_ci 120562306a36Sopenharmony_cistatic const struct freq_tbl ftbl_nss_ubi_clk_src[] = { 120662306a36Sopenharmony_ci F(19200000, P_XO, 1, 0, 0), 120762306a36Sopenharmony_ci F(187200000, P_UBI32_PLL, 8, 0, 0), 120862306a36Sopenharmony_ci F(748800000, P_UBI32_PLL, 2, 0, 0), 120962306a36Sopenharmony_ci F(1497600000, P_UBI32_PLL, 1, 0, 0), 121062306a36Sopenharmony_ci F(1689600000, P_UBI32_PLL, 1, 0, 0), 121162306a36Sopenharmony_ci { } 121262306a36Sopenharmony_ci}; 121362306a36Sopenharmony_ci 121462306a36Sopenharmony_cistatic const struct clk_parent_data gcc_xo_ubi32_pll_gpll0_gpll2_gpll4_gpll6[] = { 121562306a36Sopenharmony_ci { .fw_name = "xo", .name = "xo" }, 121662306a36Sopenharmony_ci { .hw = &ubi32_pll.clkr.hw }, 121762306a36Sopenharmony_ci { .hw = &gpll0.clkr.hw }, 121862306a36Sopenharmony_ci { .hw = &gpll2.clkr.hw }, 121962306a36Sopenharmony_ci { .hw = &gpll4.clkr.hw }, 122062306a36Sopenharmony_ci { .hw = &gpll6.clkr.hw }, 122162306a36Sopenharmony_ci}; 122262306a36Sopenharmony_ci 122362306a36Sopenharmony_cistatic const struct parent_map gcc_xo_ubi32_gpll0_gpll2_gpll4_gpll6_map[] = { 122462306a36Sopenharmony_ci { P_XO, 0 }, 122562306a36Sopenharmony_ci { P_UBI32_PLL, 1 }, 122662306a36Sopenharmony_ci { P_GPLL0, 2 }, 122762306a36Sopenharmony_ci { P_GPLL2, 3 }, 122862306a36Sopenharmony_ci { P_GPLL4, 4 }, 122962306a36Sopenharmony_ci { P_GPLL6, 5 }, 123062306a36Sopenharmony_ci}; 123162306a36Sopenharmony_ci 123262306a36Sopenharmony_cistatic struct clk_rcg2 nss_ubi0_clk_src = { 123362306a36Sopenharmony_ci .cmd_rcgr = 0x68104, 123462306a36Sopenharmony_ci .freq_tbl = ftbl_nss_ubi_clk_src, 123562306a36Sopenharmony_ci .hid_width = 5, 123662306a36Sopenharmony_ci .parent_map = gcc_xo_ubi32_gpll0_gpll2_gpll4_gpll6_map, 123762306a36Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 123862306a36Sopenharmony_ci .name = "nss_ubi0_clk_src", 123962306a36Sopenharmony_ci .parent_data = gcc_xo_ubi32_pll_gpll0_gpll2_gpll4_gpll6, 124062306a36Sopenharmony_ci .num_parents = ARRAY_SIZE(gcc_xo_ubi32_pll_gpll0_gpll2_gpll4_gpll6), 124162306a36Sopenharmony_ci .ops = &clk_rcg2_ops, 124262306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 124362306a36Sopenharmony_ci }, 124462306a36Sopenharmony_ci}; 124562306a36Sopenharmony_ci 124662306a36Sopenharmony_cistatic struct clk_regmap_div nss_ubi0_div_clk_src = { 124762306a36Sopenharmony_ci .reg = 0x68118, 124862306a36Sopenharmony_ci .shift = 0, 124962306a36Sopenharmony_ci .width = 4, 125062306a36Sopenharmony_ci .clkr = { 125162306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 125262306a36Sopenharmony_ci .name = "nss_ubi0_div_clk_src", 125362306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 125462306a36Sopenharmony_ci &nss_ubi0_clk_src.clkr.hw }, 125562306a36Sopenharmony_ci .num_parents = 1, 125662306a36Sopenharmony_ci .ops = &clk_regmap_div_ro_ops, 125762306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 125862306a36Sopenharmony_ci }, 125962306a36Sopenharmony_ci }, 126062306a36Sopenharmony_ci}; 126162306a36Sopenharmony_ci 126262306a36Sopenharmony_cistatic struct clk_rcg2 nss_ubi1_clk_src = { 126362306a36Sopenharmony_ci .cmd_rcgr = 0x68124, 126462306a36Sopenharmony_ci .freq_tbl = ftbl_nss_ubi_clk_src, 126562306a36Sopenharmony_ci .hid_width = 5, 126662306a36Sopenharmony_ci .parent_map = gcc_xo_ubi32_gpll0_gpll2_gpll4_gpll6_map, 126762306a36Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 126862306a36Sopenharmony_ci .name = "nss_ubi1_clk_src", 126962306a36Sopenharmony_ci .parent_data = gcc_xo_ubi32_pll_gpll0_gpll2_gpll4_gpll6, 127062306a36Sopenharmony_ci .num_parents = ARRAY_SIZE(gcc_xo_ubi32_pll_gpll0_gpll2_gpll4_gpll6), 127162306a36Sopenharmony_ci .ops = &clk_rcg2_ops, 127262306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 127362306a36Sopenharmony_ci }, 127462306a36Sopenharmony_ci}; 127562306a36Sopenharmony_ci 127662306a36Sopenharmony_cistatic struct clk_regmap_div nss_ubi1_div_clk_src = { 127762306a36Sopenharmony_ci .reg = 0x68138, 127862306a36Sopenharmony_ci .shift = 0, 127962306a36Sopenharmony_ci .width = 4, 128062306a36Sopenharmony_ci .clkr = { 128162306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 128262306a36Sopenharmony_ci .name = "nss_ubi1_div_clk_src", 128362306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 128462306a36Sopenharmony_ci &nss_ubi1_clk_src.clkr.hw }, 128562306a36Sopenharmony_ci .num_parents = 1, 128662306a36Sopenharmony_ci .ops = &clk_regmap_div_ro_ops, 128762306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 128862306a36Sopenharmony_ci }, 128962306a36Sopenharmony_ci }, 129062306a36Sopenharmony_ci}; 129162306a36Sopenharmony_ci 129262306a36Sopenharmony_cistatic const struct freq_tbl ftbl_ubi_mpt_clk_src[] = { 129362306a36Sopenharmony_ci F(19200000, P_XO, 1, 0, 0), 129462306a36Sopenharmony_ci F(25000000, P_GPLL0_DIV2, 16, 0, 0), 129562306a36Sopenharmony_ci { } 129662306a36Sopenharmony_ci}; 129762306a36Sopenharmony_ci 129862306a36Sopenharmony_cistatic const struct clk_parent_data gcc_xo_gpll0_out_main_div2[] = { 129962306a36Sopenharmony_ci { .fw_name = "xo", .name = "xo" }, 130062306a36Sopenharmony_ci { .hw = &gpll0_out_main_div2.hw }, 130162306a36Sopenharmony_ci}; 130262306a36Sopenharmony_ci 130362306a36Sopenharmony_cistatic const struct parent_map gcc_xo_gpll0_out_main_div2_map[] = { 130462306a36Sopenharmony_ci { P_XO, 0 }, 130562306a36Sopenharmony_ci { P_GPLL0_DIV2, 1 }, 130662306a36Sopenharmony_ci}; 130762306a36Sopenharmony_ci 130862306a36Sopenharmony_cistatic struct clk_rcg2 ubi_mpt_clk_src = { 130962306a36Sopenharmony_ci .cmd_rcgr = 0x68090, 131062306a36Sopenharmony_ci .freq_tbl = ftbl_ubi_mpt_clk_src, 131162306a36Sopenharmony_ci .hid_width = 5, 131262306a36Sopenharmony_ci .parent_map = gcc_xo_gpll0_out_main_div2_map, 131362306a36Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 131462306a36Sopenharmony_ci .name = "ubi_mpt_clk_src", 131562306a36Sopenharmony_ci .parent_data = gcc_xo_gpll0_out_main_div2, 131662306a36Sopenharmony_ci .num_parents = ARRAY_SIZE(gcc_xo_gpll0_out_main_div2), 131762306a36Sopenharmony_ci .ops = &clk_rcg2_ops, 131862306a36Sopenharmony_ci }, 131962306a36Sopenharmony_ci}; 132062306a36Sopenharmony_ci 132162306a36Sopenharmony_cistatic const struct freq_tbl ftbl_nss_imem_clk_src[] = { 132262306a36Sopenharmony_ci F(19200000, P_XO, 1, 0, 0), 132362306a36Sopenharmony_ci F(400000000, P_GPLL0, 2, 0, 0), 132462306a36Sopenharmony_ci { } 132562306a36Sopenharmony_ci}; 132662306a36Sopenharmony_ci 132762306a36Sopenharmony_cistatic const struct clk_parent_data gcc_xo_gpll0_gpll4[] = { 132862306a36Sopenharmony_ci { .fw_name = "xo", .name = "xo" }, 132962306a36Sopenharmony_ci { .hw = &gpll0.clkr.hw }, 133062306a36Sopenharmony_ci { .hw = &gpll4.clkr.hw }, 133162306a36Sopenharmony_ci}; 133262306a36Sopenharmony_ci 133362306a36Sopenharmony_cistatic const struct parent_map gcc_xo_gpll0_gpll4_map[] = { 133462306a36Sopenharmony_ci { P_XO, 0 }, 133562306a36Sopenharmony_ci { P_GPLL0, 1 }, 133662306a36Sopenharmony_ci { P_GPLL4, 2 }, 133762306a36Sopenharmony_ci}; 133862306a36Sopenharmony_ci 133962306a36Sopenharmony_cistatic struct clk_rcg2 nss_imem_clk_src = { 134062306a36Sopenharmony_ci .cmd_rcgr = 0x68158, 134162306a36Sopenharmony_ci .freq_tbl = ftbl_nss_imem_clk_src, 134262306a36Sopenharmony_ci .hid_width = 5, 134362306a36Sopenharmony_ci .parent_map = gcc_xo_gpll0_gpll4_map, 134462306a36Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 134562306a36Sopenharmony_ci .name = "nss_imem_clk_src", 134662306a36Sopenharmony_ci .parent_data = gcc_xo_gpll0_gpll4, 134762306a36Sopenharmony_ci .num_parents = ARRAY_SIZE(gcc_xo_gpll0_gpll4), 134862306a36Sopenharmony_ci .ops = &clk_rcg2_ops, 134962306a36Sopenharmony_ci }, 135062306a36Sopenharmony_ci}; 135162306a36Sopenharmony_ci 135262306a36Sopenharmony_cistatic const struct freq_tbl ftbl_nss_ppe_clk_src[] = { 135362306a36Sopenharmony_ci F(19200000, P_XO, 1, 0, 0), 135462306a36Sopenharmony_ci F(300000000, P_BIAS_PLL, 1, 0, 0), 135562306a36Sopenharmony_ci { } 135662306a36Sopenharmony_ci}; 135762306a36Sopenharmony_ci 135862306a36Sopenharmony_cistatic const struct clk_parent_data gcc_xo_bias_gpll0_gpll4_nss_ubi32[] = { 135962306a36Sopenharmony_ci { .fw_name = "xo", .name = "xo" }, 136062306a36Sopenharmony_ci { .fw_name = "bias_pll_cc_clk", .name = "bias_pll_cc_clk" }, 136162306a36Sopenharmony_ci { .hw = &gpll0.clkr.hw }, 136262306a36Sopenharmony_ci { .hw = &gpll4.clkr.hw }, 136362306a36Sopenharmony_ci { .hw = &nss_crypto_pll.clkr.hw }, 136462306a36Sopenharmony_ci { .hw = &ubi32_pll.clkr.hw }, 136562306a36Sopenharmony_ci}; 136662306a36Sopenharmony_ci 136762306a36Sopenharmony_cistatic const struct parent_map gcc_xo_bias_gpll0_gpll4_nss_ubi32_map[] = { 136862306a36Sopenharmony_ci { P_XO, 0 }, 136962306a36Sopenharmony_ci { P_BIAS_PLL, 1 }, 137062306a36Sopenharmony_ci { P_GPLL0, 2 }, 137162306a36Sopenharmony_ci { P_GPLL4, 3 }, 137262306a36Sopenharmony_ci { P_NSS_CRYPTO_PLL, 4 }, 137362306a36Sopenharmony_ci { P_UBI32_PLL, 5 }, 137462306a36Sopenharmony_ci}; 137562306a36Sopenharmony_ci 137662306a36Sopenharmony_cistatic struct clk_rcg2 nss_ppe_clk_src = { 137762306a36Sopenharmony_ci .cmd_rcgr = 0x68080, 137862306a36Sopenharmony_ci .freq_tbl = ftbl_nss_ppe_clk_src, 137962306a36Sopenharmony_ci .hid_width = 5, 138062306a36Sopenharmony_ci .parent_map = gcc_xo_bias_gpll0_gpll4_nss_ubi32_map, 138162306a36Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 138262306a36Sopenharmony_ci .name = "nss_ppe_clk_src", 138362306a36Sopenharmony_ci .parent_data = gcc_xo_bias_gpll0_gpll4_nss_ubi32, 138462306a36Sopenharmony_ci .num_parents = ARRAY_SIZE(gcc_xo_bias_gpll0_gpll4_nss_ubi32), 138562306a36Sopenharmony_ci .ops = &clk_rcg2_ops, 138662306a36Sopenharmony_ci }, 138762306a36Sopenharmony_ci}; 138862306a36Sopenharmony_ci 138962306a36Sopenharmony_cistatic struct clk_fixed_factor nss_ppe_cdiv_clk_src = { 139062306a36Sopenharmony_ci .mult = 1, 139162306a36Sopenharmony_ci .div = 4, 139262306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 139362306a36Sopenharmony_ci .name = "nss_ppe_cdiv_clk_src", 139462306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 139562306a36Sopenharmony_ci &nss_ppe_clk_src.clkr.hw }, 139662306a36Sopenharmony_ci .num_parents = 1, 139762306a36Sopenharmony_ci .ops = &clk_fixed_factor_ops, 139862306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 139962306a36Sopenharmony_ci }, 140062306a36Sopenharmony_ci}; 140162306a36Sopenharmony_ci 140262306a36Sopenharmony_cistatic const struct freq_tbl ftbl_nss_port1_rx_clk_src[] = { 140362306a36Sopenharmony_ci F(19200000, P_XO, 1, 0, 0), 140462306a36Sopenharmony_ci F(25000000, P_UNIPHY0_RX, 5, 0, 0), 140562306a36Sopenharmony_ci F(125000000, P_UNIPHY0_RX, 1, 0, 0), 140662306a36Sopenharmony_ci { } 140762306a36Sopenharmony_ci}; 140862306a36Sopenharmony_ci 140962306a36Sopenharmony_cistatic const struct clk_parent_data gcc_xo_uniphy0_rx_tx_ubi32_bias[] = { 141062306a36Sopenharmony_ci { .fw_name = "xo", .name = "xo" }, 141162306a36Sopenharmony_ci { .fw_name = "uniphy0_gcc_rx_clk", .name = "uniphy0_gcc_rx_clk" }, 141262306a36Sopenharmony_ci { .fw_name = "uniphy0_gcc_tx_clk", .name = "uniphy0_gcc_tx_clk" }, 141362306a36Sopenharmony_ci { .hw = &ubi32_pll.clkr.hw }, 141462306a36Sopenharmony_ci { .fw_name = "bias_pll_cc_clk", .name = "bias_pll_cc_clk" }, 141562306a36Sopenharmony_ci}; 141662306a36Sopenharmony_ci 141762306a36Sopenharmony_cistatic const struct parent_map gcc_xo_uniphy0_rx_tx_ubi32_bias_map[] = { 141862306a36Sopenharmony_ci { P_XO, 0 }, 141962306a36Sopenharmony_ci { P_UNIPHY0_RX, 1 }, 142062306a36Sopenharmony_ci { P_UNIPHY0_TX, 2 }, 142162306a36Sopenharmony_ci { P_UBI32_PLL, 5 }, 142262306a36Sopenharmony_ci { P_BIAS_PLL, 6 }, 142362306a36Sopenharmony_ci}; 142462306a36Sopenharmony_ci 142562306a36Sopenharmony_cistatic struct clk_rcg2 nss_port1_rx_clk_src = { 142662306a36Sopenharmony_ci .cmd_rcgr = 0x68020, 142762306a36Sopenharmony_ci .freq_tbl = ftbl_nss_port1_rx_clk_src, 142862306a36Sopenharmony_ci .hid_width = 5, 142962306a36Sopenharmony_ci .parent_map = gcc_xo_uniphy0_rx_tx_ubi32_bias_map, 143062306a36Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 143162306a36Sopenharmony_ci .name = "nss_port1_rx_clk_src", 143262306a36Sopenharmony_ci .parent_data = gcc_xo_uniphy0_rx_tx_ubi32_bias, 143362306a36Sopenharmony_ci .num_parents = ARRAY_SIZE(gcc_xo_uniphy0_rx_tx_ubi32_bias), 143462306a36Sopenharmony_ci .ops = &clk_rcg2_ops, 143562306a36Sopenharmony_ci }, 143662306a36Sopenharmony_ci}; 143762306a36Sopenharmony_ci 143862306a36Sopenharmony_cistatic struct clk_regmap_div nss_port1_rx_div_clk_src = { 143962306a36Sopenharmony_ci .reg = 0x68400, 144062306a36Sopenharmony_ci .shift = 0, 144162306a36Sopenharmony_ci .width = 4, 144262306a36Sopenharmony_ci .clkr = { 144362306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 144462306a36Sopenharmony_ci .name = "nss_port1_rx_div_clk_src", 144562306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 144662306a36Sopenharmony_ci &nss_port1_rx_clk_src.clkr.hw }, 144762306a36Sopenharmony_ci .num_parents = 1, 144862306a36Sopenharmony_ci .ops = &clk_regmap_div_ops, 144962306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 145062306a36Sopenharmony_ci }, 145162306a36Sopenharmony_ci }, 145262306a36Sopenharmony_ci}; 145362306a36Sopenharmony_ci 145462306a36Sopenharmony_cistatic const struct freq_tbl ftbl_nss_port1_tx_clk_src[] = { 145562306a36Sopenharmony_ci F(19200000, P_XO, 1, 0, 0), 145662306a36Sopenharmony_ci F(25000000, P_UNIPHY0_TX, 5, 0, 0), 145762306a36Sopenharmony_ci F(125000000, P_UNIPHY0_TX, 1, 0, 0), 145862306a36Sopenharmony_ci { } 145962306a36Sopenharmony_ci}; 146062306a36Sopenharmony_ci 146162306a36Sopenharmony_cistatic const struct clk_parent_data gcc_xo_uniphy0_tx_rx_ubi32_bias[] = { 146262306a36Sopenharmony_ci { .fw_name = "xo", .name = "xo" }, 146362306a36Sopenharmony_ci { .fw_name = "uniphy0_gcc_tx_clk", .name = "uniphy0_gcc_tx_clk" }, 146462306a36Sopenharmony_ci { .fw_name = "uniphy0_gcc_rx_clk", .name = "uniphy0_gcc_rx_clk" }, 146562306a36Sopenharmony_ci { .hw = &ubi32_pll.clkr.hw }, 146662306a36Sopenharmony_ci { .fw_name = "bias_pll_cc_clk", .name = "bias_pll_cc_clk" }, 146762306a36Sopenharmony_ci}; 146862306a36Sopenharmony_ci 146962306a36Sopenharmony_cistatic const struct parent_map gcc_xo_uniphy0_tx_rx_ubi32_bias_map[] = { 147062306a36Sopenharmony_ci { P_XO, 0 }, 147162306a36Sopenharmony_ci { P_UNIPHY0_TX, 1 }, 147262306a36Sopenharmony_ci { P_UNIPHY0_RX, 2 }, 147362306a36Sopenharmony_ci { P_UBI32_PLL, 5 }, 147462306a36Sopenharmony_ci { P_BIAS_PLL, 6 }, 147562306a36Sopenharmony_ci}; 147662306a36Sopenharmony_ci 147762306a36Sopenharmony_cistatic struct clk_rcg2 nss_port1_tx_clk_src = { 147862306a36Sopenharmony_ci .cmd_rcgr = 0x68028, 147962306a36Sopenharmony_ci .freq_tbl = ftbl_nss_port1_tx_clk_src, 148062306a36Sopenharmony_ci .hid_width = 5, 148162306a36Sopenharmony_ci .parent_map = gcc_xo_uniphy0_tx_rx_ubi32_bias_map, 148262306a36Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 148362306a36Sopenharmony_ci .name = "nss_port1_tx_clk_src", 148462306a36Sopenharmony_ci .parent_data = gcc_xo_uniphy0_tx_rx_ubi32_bias, 148562306a36Sopenharmony_ci .num_parents = ARRAY_SIZE(gcc_xo_uniphy0_tx_rx_ubi32_bias), 148662306a36Sopenharmony_ci .ops = &clk_rcg2_ops, 148762306a36Sopenharmony_ci }, 148862306a36Sopenharmony_ci}; 148962306a36Sopenharmony_ci 149062306a36Sopenharmony_cistatic struct clk_regmap_div nss_port1_tx_div_clk_src = { 149162306a36Sopenharmony_ci .reg = 0x68404, 149262306a36Sopenharmony_ci .shift = 0, 149362306a36Sopenharmony_ci .width = 4, 149462306a36Sopenharmony_ci .clkr = { 149562306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 149662306a36Sopenharmony_ci .name = "nss_port1_tx_div_clk_src", 149762306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 149862306a36Sopenharmony_ci &nss_port1_tx_clk_src.clkr.hw }, 149962306a36Sopenharmony_ci .num_parents = 1, 150062306a36Sopenharmony_ci .ops = &clk_regmap_div_ops, 150162306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 150262306a36Sopenharmony_ci }, 150362306a36Sopenharmony_ci }, 150462306a36Sopenharmony_ci}; 150562306a36Sopenharmony_ci 150662306a36Sopenharmony_cistatic struct clk_rcg2 nss_port2_rx_clk_src = { 150762306a36Sopenharmony_ci .cmd_rcgr = 0x68030, 150862306a36Sopenharmony_ci .freq_tbl = ftbl_nss_port1_rx_clk_src, 150962306a36Sopenharmony_ci .hid_width = 5, 151062306a36Sopenharmony_ci .parent_map = gcc_xo_uniphy0_rx_tx_ubi32_bias_map, 151162306a36Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 151262306a36Sopenharmony_ci .name = "nss_port2_rx_clk_src", 151362306a36Sopenharmony_ci .parent_data = gcc_xo_uniphy0_rx_tx_ubi32_bias, 151462306a36Sopenharmony_ci .num_parents = ARRAY_SIZE(gcc_xo_uniphy0_rx_tx_ubi32_bias), 151562306a36Sopenharmony_ci .ops = &clk_rcg2_ops, 151662306a36Sopenharmony_ci }, 151762306a36Sopenharmony_ci}; 151862306a36Sopenharmony_ci 151962306a36Sopenharmony_cistatic struct clk_regmap_div nss_port2_rx_div_clk_src = { 152062306a36Sopenharmony_ci .reg = 0x68410, 152162306a36Sopenharmony_ci .shift = 0, 152262306a36Sopenharmony_ci .width = 4, 152362306a36Sopenharmony_ci .clkr = { 152462306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 152562306a36Sopenharmony_ci .name = "nss_port2_rx_div_clk_src", 152662306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 152762306a36Sopenharmony_ci &nss_port2_rx_clk_src.clkr.hw }, 152862306a36Sopenharmony_ci .num_parents = 1, 152962306a36Sopenharmony_ci .ops = &clk_regmap_div_ops, 153062306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 153162306a36Sopenharmony_ci }, 153262306a36Sopenharmony_ci }, 153362306a36Sopenharmony_ci}; 153462306a36Sopenharmony_ci 153562306a36Sopenharmony_cistatic struct clk_rcg2 nss_port2_tx_clk_src = { 153662306a36Sopenharmony_ci .cmd_rcgr = 0x68038, 153762306a36Sopenharmony_ci .freq_tbl = ftbl_nss_port1_tx_clk_src, 153862306a36Sopenharmony_ci .hid_width = 5, 153962306a36Sopenharmony_ci .parent_map = gcc_xo_uniphy0_tx_rx_ubi32_bias_map, 154062306a36Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 154162306a36Sopenharmony_ci .name = "nss_port2_tx_clk_src", 154262306a36Sopenharmony_ci .parent_data = gcc_xo_uniphy0_tx_rx_ubi32_bias, 154362306a36Sopenharmony_ci .num_parents = ARRAY_SIZE(gcc_xo_uniphy0_tx_rx_ubi32_bias), 154462306a36Sopenharmony_ci .ops = &clk_rcg2_ops, 154562306a36Sopenharmony_ci }, 154662306a36Sopenharmony_ci}; 154762306a36Sopenharmony_ci 154862306a36Sopenharmony_cistatic struct clk_regmap_div nss_port2_tx_div_clk_src = { 154962306a36Sopenharmony_ci .reg = 0x68414, 155062306a36Sopenharmony_ci .shift = 0, 155162306a36Sopenharmony_ci .width = 4, 155262306a36Sopenharmony_ci .clkr = { 155362306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 155462306a36Sopenharmony_ci .name = "nss_port2_tx_div_clk_src", 155562306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 155662306a36Sopenharmony_ci &nss_port2_tx_clk_src.clkr.hw }, 155762306a36Sopenharmony_ci .num_parents = 1, 155862306a36Sopenharmony_ci .ops = &clk_regmap_div_ops, 155962306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 156062306a36Sopenharmony_ci }, 156162306a36Sopenharmony_ci }, 156262306a36Sopenharmony_ci}; 156362306a36Sopenharmony_ci 156462306a36Sopenharmony_cistatic struct clk_rcg2 nss_port3_rx_clk_src = { 156562306a36Sopenharmony_ci .cmd_rcgr = 0x68040, 156662306a36Sopenharmony_ci .freq_tbl = ftbl_nss_port1_rx_clk_src, 156762306a36Sopenharmony_ci .hid_width = 5, 156862306a36Sopenharmony_ci .parent_map = gcc_xo_uniphy0_rx_tx_ubi32_bias_map, 156962306a36Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 157062306a36Sopenharmony_ci .name = "nss_port3_rx_clk_src", 157162306a36Sopenharmony_ci .parent_data = gcc_xo_uniphy0_rx_tx_ubi32_bias, 157262306a36Sopenharmony_ci .num_parents = ARRAY_SIZE(gcc_xo_uniphy0_rx_tx_ubi32_bias), 157362306a36Sopenharmony_ci .ops = &clk_rcg2_ops, 157462306a36Sopenharmony_ci }, 157562306a36Sopenharmony_ci}; 157662306a36Sopenharmony_ci 157762306a36Sopenharmony_cistatic struct clk_regmap_div nss_port3_rx_div_clk_src = { 157862306a36Sopenharmony_ci .reg = 0x68420, 157962306a36Sopenharmony_ci .shift = 0, 158062306a36Sopenharmony_ci .width = 4, 158162306a36Sopenharmony_ci .clkr = { 158262306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 158362306a36Sopenharmony_ci .name = "nss_port3_rx_div_clk_src", 158462306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 158562306a36Sopenharmony_ci &nss_port3_rx_clk_src.clkr.hw }, 158662306a36Sopenharmony_ci .num_parents = 1, 158762306a36Sopenharmony_ci .ops = &clk_regmap_div_ops, 158862306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 158962306a36Sopenharmony_ci }, 159062306a36Sopenharmony_ci }, 159162306a36Sopenharmony_ci}; 159262306a36Sopenharmony_ci 159362306a36Sopenharmony_cistatic struct clk_rcg2 nss_port3_tx_clk_src = { 159462306a36Sopenharmony_ci .cmd_rcgr = 0x68048, 159562306a36Sopenharmony_ci .freq_tbl = ftbl_nss_port1_tx_clk_src, 159662306a36Sopenharmony_ci .hid_width = 5, 159762306a36Sopenharmony_ci .parent_map = gcc_xo_uniphy0_tx_rx_ubi32_bias_map, 159862306a36Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 159962306a36Sopenharmony_ci .name = "nss_port3_tx_clk_src", 160062306a36Sopenharmony_ci .parent_data = gcc_xo_uniphy0_tx_rx_ubi32_bias, 160162306a36Sopenharmony_ci .num_parents = ARRAY_SIZE(gcc_xo_uniphy0_tx_rx_ubi32_bias), 160262306a36Sopenharmony_ci .ops = &clk_rcg2_ops, 160362306a36Sopenharmony_ci }, 160462306a36Sopenharmony_ci}; 160562306a36Sopenharmony_ci 160662306a36Sopenharmony_cistatic struct clk_regmap_div nss_port3_tx_div_clk_src = { 160762306a36Sopenharmony_ci .reg = 0x68424, 160862306a36Sopenharmony_ci .shift = 0, 160962306a36Sopenharmony_ci .width = 4, 161062306a36Sopenharmony_ci .clkr = { 161162306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 161262306a36Sopenharmony_ci .name = "nss_port3_tx_div_clk_src", 161362306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 161462306a36Sopenharmony_ci &nss_port3_tx_clk_src.clkr.hw }, 161562306a36Sopenharmony_ci .num_parents = 1, 161662306a36Sopenharmony_ci .ops = &clk_regmap_div_ops, 161762306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 161862306a36Sopenharmony_ci }, 161962306a36Sopenharmony_ci }, 162062306a36Sopenharmony_ci}; 162162306a36Sopenharmony_ci 162262306a36Sopenharmony_cistatic struct clk_rcg2 nss_port4_rx_clk_src = { 162362306a36Sopenharmony_ci .cmd_rcgr = 0x68050, 162462306a36Sopenharmony_ci .freq_tbl = ftbl_nss_port1_rx_clk_src, 162562306a36Sopenharmony_ci .hid_width = 5, 162662306a36Sopenharmony_ci .parent_map = gcc_xo_uniphy0_rx_tx_ubi32_bias_map, 162762306a36Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 162862306a36Sopenharmony_ci .name = "nss_port4_rx_clk_src", 162962306a36Sopenharmony_ci .parent_data = gcc_xo_uniphy0_rx_tx_ubi32_bias, 163062306a36Sopenharmony_ci .num_parents = ARRAY_SIZE(gcc_xo_uniphy0_rx_tx_ubi32_bias), 163162306a36Sopenharmony_ci .ops = &clk_rcg2_ops, 163262306a36Sopenharmony_ci }, 163362306a36Sopenharmony_ci}; 163462306a36Sopenharmony_ci 163562306a36Sopenharmony_cistatic struct clk_regmap_div nss_port4_rx_div_clk_src = { 163662306a36Sopenharmony_ci .reg = 0x68430, 163762306a36Sopenharmony_ci .shift = 0, 163862306a36Sopenharmony_ci .width = 4, 163962306a36Sopenharmony_ci .clkr = { 164062306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 164162306a36Sopenharmony_ci .name = "nss_port4_rx_div_clk_src", 164262306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 164362306a36Sopenharmony_ci &nss_port4_rx_clk_src.clkr.hw }, 164462306a36Sopenharmony_ci .num_parents = 1, 164562306a36Sopenharmony_ci .ops = &clk_regmap_div_ops, 164662306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 164762306a36Sopenharmony_ci }, 164862306a36Sopenharmony_ci }, 164962306a36Sopenharmony_ci}; 165062306a36Sopenharmony_ci 165162306a36Sopenharmony_cistatic struct clk_rcg2 nss_port4_tx_clk_src = { 165262306a36Sopenharmony_ci .cmd_rcgr = 0x68058, 165362306a36Sopenharmony_ci .freq_tbl = ftbl_nss_port1_tx_clk_src, 165462306a36Sopenharmony_ci .hid_width = 5, 165562306a36Sopenharmony_ci .parent_map = gcc_xo_uniphy0_tx_rx_ubi32_bias_map, 165662306a36Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 165762306a36Sopenharmony_ci .name = "nss_port4_tx_clk_src", 165862306a36Sopenharmony_ci .parent_data = gcc_xo_uniphy0_tx_rx_ubi32_bias, 165962306a36Sopenharmony_ci .num_parents = ARRAY_SIZE(gcc_xo_uniphy0_tx_rx_ubi32_bias), 166062306a36Sopenharmony_ci .ops = &clk_rcg2_ops, 166162306a36Sopenharmony_ci }, 166262306a36Sopenharmony_ci}; 166362306a36Sopenharmony_ci 166462306a36Sopenharmony_cistatic struct clk_regmap_div nss_port4_tx_div_clk_src = { 166562306a36Sopenharmony_ci .reg = 0x68434, 166662306a36Sopenharmony_ci .shift = 0, 166762306a36Sopenharmony_ci .width = 4, 166862306a36Sopenharmony_ci .clkr = { 166962306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 167062306a36Sopenharmony_ci .name = "nss_port4_tx_div_clk_src", 167162306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 167262306a36Sopenharmony_ci &nss_port4_tx_clk_src.clkr.hw }, 167362306a36Sopenharmony_ci .num_parents = 1, 167462306a36Sopenharmony_ci .ops = &clk_regmap_div_ops, 167562306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 167662306a36Sopenharmony_ci }, 167762306a36Sopenharmony_ci }, 167862306a36Sopenharmony_ci}; 167962306a36Sopenharmony_ci 168062306a36Sopenharmony_cistatic const struct freq_tbl ftbl_nss_port5_rx_clk_src[] = { 168162306a36Sopenharmony_ci F(19200000, P_XO, 1, 0, 0), 168262306a36Sopenharmony_ci F(25000000, P_UNIPHY1_RX, 12.5, 0, 0), 168362306a36Sopenharmony_ci F(25000000, P_UNIPHY0_RX, 5, 0, 0), 168462306a36Sopenharmony_ci F(78125000, P_UNIPHY1_RX, 4, 0, 0), 168562306a36Sopenharmony_ci F(125000000, P_UNIPHY1_RX, 2.5, 0, 0), 168662306a36Sopenharmony_ci F(125000000, P_UNIPHY0_RX, 1, 0, 0), 168762306a36Sopenharmony_ci F(156250000, P_UNIPHY1_RX, 2, 0, 0), 168862306a36Sopenharmony_ci F(312500000, P_UNIPHY1_RX, 1, 0, 0), 168962306a36Sopenharmony_ci { } 169062306a36Sopenharmony_ci}; 169162306a36Sopenharmony_ci 169262306a36Sopenharmony_cistatic const struct clk_parent_data gcc_xo_uniphy0_rx_tx_uniphy1_rx_tx_ubi32_bias[] = { 169362306a36Sopenharmony_ci { .fw_name = "xo", .name = "xo" }, 169462306a36Sopenharmony_ci { .fw_name = "uniphy0_gcc_rx_clk", .name = "uniphy0_gcc_rx_clk" }, 169562306a36Sopenharmony_ci { .fw_name = "uniphy0_gcc_tx_clk", .name = "uniphy0_gcc_tx_clk" }, 169662306a36Sopenharmony_ci { .fw_name = "uniphy1_gcc_rx_clk", .name = "uniphy1_gcc_rx_clk" }, 169762306a36Sopenharmony_ci { .fw_name = "uniphy1_gcc_tx_clk", .name = "uniphy1_gcc_tx_clk" }, 169862306a36Sopenharmony_ci { .hw = &ubi32_pll.clkr.hw }, 169962306a36Sopenharmony_ci { .fw_name = "bias_pll_cc_clk", .name = "bias_pll_cc_clk" }, 170062306a36Sopenharmony_ci}; 170162306a36Sopenharmony_ci 170262306a36Sopenharmony_cistatic const struct parent_map 170362306a36Sopenharmony_cigcc_xo_uniphy0_rx_tx_uniphy1_rx_tx_ubi32_bias_map[] = { 170462306a36Sopenharmony_ci { P_XO, 0 }, 170562306a36Sopenharmony_ci { P_UNIPHY0_RX, 1 }, 170662306a36Sopenharmony_ci { P_UNIPHY0_TX, 2 }, 170762306a36Sopenharmony_ci { P_UNIPHY1_RX, 3 }, 170862306a36Sopenharmony_ci { P_UNIPHY1_TX, 4 }, 170962306a36Sopenharmony_ci { P_UBI32_PLL, 5 }, 171062306a36Sopenharmony_ci { P_BIAS_PLL, 6 }, 171162306a36Sopenharmony_ci}; 171262306a36Sopenharmony_ci 171362306a36Sopenharmony_cistatic struct clk_rcg2 nss_port5_rx_clk_src = { 171462306a36Sopenharmony_ci .cmd_rcgr = 0x68060, 171562306a36Sopenharmony_ci .freq_tbl = ftbl_nss_port5_rx_clk_src, 171662306a36Sopenharmony_ci .hid_width = 5, 171762306a36Sopenharmony_ci .parent_map = gcc_xo_uniphy0_rx_tx_uniphy1_rx_tx_ubi32_bias_map, 171862306a36Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 171962306a36Sopenharmony_ci .name = "nss_port5_rx_clk_src", 172062306a36Sopenharmony_ci .parent_data = gcc_xo_uniphy0_rx_tx_uniphy1_rx_tx_ubi32_bias, 172162306a36Sopenharmony_ci .num_parents = ARRAY_SIZE(gcc_xo_uniphy0_rx_tx_uniphy1_rx_tx_ubi32_bias), 172262306a36Sopenharmony_ci .ops = &clk_rcg2_ops, 172362306a36Sopenharmony_ci }, 172462306a36Sopenharmony_ci}; 172562306a36Sopenharmony_ci 172662306a36Sopenharmony_cistatic struct clk_regmap_div nss_port5_rx_div_clk_src = { 172762306a36Sopenharmony_ci .reg = 0x68440, 172862306a36Sopenharmony_ci .shift = 0, 172962306a36Sopenharmony_ci .width = 4, 173062306a36Sopenharmony_ci .clkr = { 173162306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 173262306a36Sopenharmony_ci .name = "nss_port5_rx_div_clk_src", 173362306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 173462306a36Sopenharmony_ci &nss_port5_rx_clk_src.clkr.hw }, 173562306a36Sopenharmony_ci .num_parents = 1, 173662306a36Sopenharmony_ci .ops = &clk_regmap_div_ops, 173762306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 173862306a36Sopenharmony_ci }, 173962306a36Sopenharmony_ci }, 174062306a36Sopenharmony_ci}; 174162306a36Sopenharmony_ci 174262306a36Sopenharmony_cistatic const struct freq_tbl ftbl_nss_port5_tx_clk_src[] = { 174362306a36Sopenharmony_ci F(19200000, P_XO, 1, 0, 0), 174462306a36Sopenharmony_ci F(25000000, P_UNIPHY1_TX, 12.5, 0, 0), 174562306a36Sopenharmony_ci F(25000000, P_UNIPHY0_TX, 5, 0, 0), 174662306a36Sopenharmony_ci F(78125000, P_UNIPHY1_TX, 4, 0, 0), 174762306a36Sopenharmony_ci F(125000000, P_UNIPHY1_TX, 2.5, 0, 0), 174862306a36Sopenharmony_ci F(125000000, P_UNIPHY0_TX, 1, 0, 0), 174962306a36Sopenharmony_ci F(156250000, P_UNIPHY1_TX, 2, 0, 0), 175062306a36Sopenharmony_ci F(312500000, P_UNIPHY1_TX, 1, 0, 0), 175162306a36Sopenharmony_ci { } 175262306a36Sopenharmony_ci}; 175362306a36Sopenharmony_ci 175462306a36Sopenharmony_cistatic const struct clk_parent_data gcc_xo_uniphy0_tx_rx_uniphy1_tx_rx_ubi32_bias[] = { 175562306a36Sopenharmony_ci { .fw_name = "xo", .name = "xo" }, 175662306a36Sopenharmony_ci { .fw_name = "uniphy0_gcc_tx_clk", .name = "uniphy0_gcc_tx_clk" }, 175762306a36Sopenharmony_ci { .fw_name = "uniphy0_gcc_rx_clk", .name = "uniphy0_gcc_rx_clk" }, 175862306a36Sopenharmony_ci { .fw_name = "uniphy1_gcc_tx_clk", .name = "uniphy1_gcc_tx_clk" }, 175962306a36Sopenharmony_ci { .fw_name = "uniphy1_gcc_rx_clk", .name = "uniphy1_gcc_rx_clk" }, 176062306a36Sopenharmony_ci { .hw = &ubi32_pll.clkr.hw }, 176162306a36Sopenharmony_ci { .fw_name = "bias_pll_cc_clk", .name = "bias_pll_cc_clk" }, 176262306a36Sopenharmony_ci}; 176362306a36Sopenharmony_ci 176462306a36Sopenharmony_cistatic const struct parent_map 176562306a36Sopenharmony_cigcc_xo_uniphy0_tx_rx_uniphy1_tx_rx_ubi32_bias_map[] = { 176662306a36Sopenharmony_ci { P_XO, 0 }, 176762306a36Sopenharmony_ci { P_UNIPHY0_TX, 1 }, 176862306a36Sopenharmony_ci { P_UNIPHY0_RX, 2 }, 176962306a36Sopenharmony_ci { P_UNIPHY1_TX, 3 }, 177062306a36Sopenharmony_ci { P_UNIPHY1_RX, 4 }, 177162306a36Sopenharmony_ci { P_UBI32_PLL, 5 }, 177262306a36Sopenharmony_ci { P_BIAS_PLL, 6 }, 177362306a36Sopenharmony_ci}; 177462306a36Sopenharmony_ci 177562306a36Sopenharmony_cistatic struct clk_rcg2 nss_port5_tx_clk_src = { 177662306a36Sopenharmony_ci .cmd_rcgr = 0x68068, 177762306a36Sopenharmony_ci .freq_tbl = ftbl_nss_port5_tx_clk_src, 177862306a36Sopenharmony_ci .hid_width = 5, 177962306a36Sopenharmony_ci .parent_map = gcc_xo_uniphy0_tx_rx_uniphy1_tx_rx_ubi32_bias_map, 178062306a36Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 178162306a36Sopenharmony_ci .name = "nss_port5_tx_clk_src", 178262306a36Sopenharmony_ci .parent_data = gcc_xo_uniphy0_tx_rx_uniphy1_tx_rx_ubi32_bias, 178362306a36Sopenharmony_ci .num_parents = ARRAY_SIZE(gcc_xo_uniphy0_tx_rx_uniphy1_tx_rx_ubi32_bias), 178462306a36Sopenharmony_ci .ops = &clk_rcg2_ops, 178562306a36Sopenharmony_ci }, 178662306a36Sopenharmony_ci}; 178762306a36Sopenharmony_ci 178862306a36Sopenharmony_cistatic struct clk_regmap_div nss_port5_tx_div_clk_src = { 178962306a36Sopenharmony_ci .reg = 0x68444, 179062306a36Sopenharmony_ci .shift = 0, 179162306a36Sopenharmony_ci .width = 4, 179262306a36Sopenharmony_ci .clkr = { 179362306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 179462306a36Sopenharmony_ci .name = "nss_port5_tx_div_clk_src", 179562306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 179662306a36Sopenharmony_ci &nss_port5_tx_clk_src.clkr.hw }, 179762306a36Sopenharmony_ci .num_parents = 1, 179862306a36Sopenharmony_ci .ops = &clk_regmap_div_ops, 179962306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 180062306a36Sopenharmony_ci }, 180162306a36Sopenharmony_ci }, 180262306a36Sopenharmony_ci}; 180362306a36Sopenharmony_ci 180462306a36Sopenharmony_cistatic const struct freq_tbl ftbl_nss_port6_rx_clk_src[] = { 180562306a36Sopenharmony_ci F(19200000, P_XO, 1, 0, 0), 180662306a36Sopenharmony_ci F(25000000, P_UNIPHY2_RX, 5, 0, 0), 180762306a36Sopenharmony_ci F(25000000, P_UNIPHY2_RX, 12.5, 0, 0), 180862306a36Sopenharmony_ci F(78125000, P_UNIPHY2_RX, 4, 0, 0), 180962306a36Sopenharmony_ci F(125000000, P_UNIPHY2_RX, 1, 0, 0), 181062306a36Sopenharmony_ci F(125000000, P_UNIPHY2_RX, 2.5, 0, 0), 181162306a36Sopenharmony_ci F(156250000, P_UNIPHY2_RX, 2, 0, 0), 181262306a36Sopenharmony_ci F(312500000, P_UNIPHY2_RX, 1, 0, 0), 181362306a36Sopenharmony_ci { } 181462306a36Sopenharmony_ci}; 181562306a36Sopenharmony_ci 181662306a36Sopenharmony_cistatic const struct clk_parent_data gcc_xo_uniphy2_rx_tx_ubi32_bias[] = { 181762306a36Sopenharmony_ci { .fw_name = "xo", .name = "xo" }, 181862306a36Sopenharmony_ci { .fw_name = "uniphy2_gcc_rx_clk", .name = "uniphy2_gcc_rx_clk" }, 181962306a36Sopenharmony_ci { .fw_name = "uniphy2_gcc_tx_clk", .name = "uniphy2_gcc_tx_clk" }, 182062306a36Sopenharmony_ci { .hw = &ubi32_pll.clkr.hw }, 182162306a36Sopenharmony_ci { .fw_name = "bias_pll_cc_clk", .name = "bias_pll_cc_clk" }, 182262306a36Sopenharmony_ci}; 182362306a36Sopenharmony_ci 182462306a36Sopenharmony_cistatic const struct parent_map gcc_xo_uniphy2_rx_tx_ubi32_bias_map[] = { 182562306a36Sopenharmony_ci { P_XO, 0 }, 182662306a36Sopenharmony_ci { P_UNIPHY2_RX, 1 }, 182762306a36Sopenharmony_ci { P_UNIPHY2_TX, 2 }, 182862306a36Sopenharmony_ci { P_UBI32_PLL, 5 }, 182962306a36Sopenharmony_ci { P_BIAS_PLL, 6 }, 183062306a36Sopenharmony_ci}; 183162306a36Sopenharmony_ci 183262306a36Sopenharmony_cistatic struct clk_rcg2 nss_port6_rx_clk_src = { 183362306a36Sopenharmony_ci .cmd_rcgr = 0x68070, 183462306a36Sopenharmony_ci .freq_tbl = ftbl_nss_port6_rx_clk_src, 183562306a36Sopenharmony_ci .hid_width = 5, 183662306a36Sopenharmony_ci .parent_map = gcc_xo_uniphy2_rx_tx_ubi32_bias_map, 183762306a36Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 183862306a36Sopenharmony_ci .name = "nss_port6_rx_clk_src", 183962306a36Sopenharmony_ci .parent_data = gcc_xo_uniphy2_rx_tx_ubi32_bias, 184062306a36Sopenharmony_ci .num_parents = ARRAY_SIZE(gcc_xo_uniphy2_rx_tx_ubi32_bias), 184162306a36Sopenharmony_ci .ops = &clk_rcg2_ops, 184262306a36Sopenharmony_ci }, 184362306a36Sopenharmony_ci}; 184462306a36Sopenharmony_ci 184562306a36Sopenharmony_cistatic struct clk_regmap_div nss_port6_rx_div_clk_src = { 184662306a36Sopenharmony_ci .reg = 0x68450, 184762306a36Sopenharmony_ci .shift = 0, 184862306a36Sopenharmony_ci .width = 4, 184962306a36Sopenharmony_ci .clkr = { 185062306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 185162306a36Sopenharmony_ci .name = "nss_port6_rx_div_clk_src", 185262306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 185362306a36Sopenharmony_ci &nss_port6_rx_clk_src.clkr.hw }, 185462306a36Sopenharmony_ci .num_parents = 1, 185562306a36Sopenharmony_ci .ops = &clk_regmap_div_ops, 185662306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 185762306a36Sopenharmony_ci }, 185862306a36Sopenharmony_ci }, 185962306a36Sopenharmony_ci}; 186062306a36Sopenharmony_ci 186162306a36Sopenharmony_cistatic const struct freq_tbl ftbl_nss_port6_tx_clk_src[] = { 186262306a36Sopenharmony_ci F(19200000, P_XO, 1, 0, 0), 186362306a36Sopenharmony_ci F(25000000, P_UNIPHY2_TX, 5, 0, 0), 186462306a36Sopenharmony_ci F(25000000, P_UNIPHY2_TX, 12.5, 0, 0), 186562306a36Sopenharmony_ci F(78125000, P_UNIPHY2_TX, 4, 0, 0), 186662306a36Sopenharmony_ci F(125000000, P_UNIPHY2_TX, 1, 0, 0), 186762306a36Sopenharmony_ci F(125000000, P_UNIPHY2_TX, 2.5, 0, 0), 186862306a36Sopenharmony_ci F(156250000, P_UNIPHY2_TX, 2, 0, 0), 186962306a36Sopenharmony_ci F(312500000, P_UNIPHY2_TX, 1, 0, 0), 187062306a36Sopenharmony_ci { } 187162306a36Sopenharmony_ci}; 187262306a36Sopenharmony_ci 187362306a36Sopenharmony_cistatic const struct clk_parent_data gcc_xo_uniphy2_tx_rx_ubi32_bias[] = { 187462306a36Sopenharmony_ci { .fw_name = "xo", .name = "xo" }, 187562306a36Sopenharmony_ci { .fw_name = "uniphy2_gcc_tx_clk", .name = "uniphy2_gcc_tx_clk" }, 187662306a36Sopenharmony_ci { .fw_name = "uniphy2_gcc_rx_clk", .name = "uniphy2_gcc_rx_clk" }, 187762306a36Sopenharmony_ci { .hw = &ubi32_pll.clkr.hw }, 187862306a36Sopenharmony_ci { .fw_name = "bias_pll_cc_clk", .name = "bias_pll_cc_clk" }, 187962306a36Sopenharmony_ci}; 188062306a36Sopenharmony_ci 188162306a36Sopenharmony_cistatic const struct parent_map gcc_xo_uniphy2_tx_rx_ubi32_bias_map[] = { 188262306a36Sopenharmony_ci { P_XO, 0 }, 188362306a36Sopenharmony_ci { P_UNIPHY2_TX, 1 }, 188462306a36Sopenharmony_ci { P_UNIPHY2_RX, 2 }, 188562306a36Sopenharmony_ci { P_UBI32_PLL, 5 }, 188662306a36Sopenharmony_ci { P_BIAS_PLL, 6 }, 188762306a36Sopenharmony_ci}; 188862306a36Sopenharmony_ci 188962306a36Sopenharmony_cistatic struct clk_rcg2 nss_port6_tx_clk_src = { 189062306a36Sopenharmony_ci .cmd_rcgr = 0x68078, 189162306a36Sopenharmony_ci .freq_tbl = ftbl_nss_port6_tx_clk_src, 189262306a36Sopenharmony_ci .hid_width = 5, 189362306a36Sopenharmony_ci .parent_map = gcc_xo_uniphy2_tx_rx_ubi32_bias_map, 189462306a36Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 189562306a36Sopenharmony_ci .name = "nss_port6_tx_clk_src", 189662306a36Sopenharmony_ci .parent_data = gcc_xo_uniphy2_tx_rx_ubi32_bias, 189762306a36Sopenharmony_ci .num_parents = ARRAY_SIZE(gcc_xo_uniphy2_tx_rx_ubi32_bias), 189862306a36Sopenharmony_ci .ops = &clk_rcg2_ops, 189962306a36Sopenharmony_ci }, 190062306a36Sopenharmony_ci}; 190162306a36Sopenharmony_ci 190262306a36Sopenharmony_cistatic struct clk_regmap_div nss_port6_tx_div_clk_src = { 190362306a36Sopenharmony_ci .reg = 0x68454, 190462306a36Sopenharmony_ci .shift = 0, 190562306a36Sopenharmony_ci .width = 4, 190662306a36Sopenharmony_ci .clkr = { 190762306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 190862306a36Sopenharmony_ci .name = "nss_port6_tx_div_clk_src", 190962306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 191062306a36Sopenharmony_ci &nss_port6_tx_clk_src.clkr.hw }, 191162306a36Sopenharmony_ci .num_parents = 1, 191262306a36Sopenharmony_ci .ops = &clk_regmap_div_ops, 191362306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 191462306a36Sopenharmony_ci }, 191562306a36Sopenharmony_ci }, 191662306a36Sopenharmony_ci}; 191762306a36Sopenharmony_ci 191862306a36Sopenharmony_cistatic struct freq_tbl ftbl_crypto_clk_src[] = { 191962306a36Sopenharmony_ci F(40000000, P_GPLL0_DIV2, 10, 0, 0), 192062306a36Sopenharmony_ci F(80000000, P_GPLL0, 10, 0, 0), 192162306a36Sopenharmony_ci F(100000000, P_GPLL0, 8, 0, 0), 192262306a36Sopenharmony_ci F(160000000, P_GPLL0, 5, 0, 0), 192362306a36Sopenharmony_ci { } 192462306a36Sopenharmony_ci}; 192562306a36Sopenharmony_ci 192662306a36Sopenharmony_cistatic struct clk_rcg2 crypto_clk_src = { 192762306a36Sopenharmony_ci .cmd_rcgr = 0x16004, 192862306a36Sopenharmony_ci .freq_tbl = ftbl_crypto_clk_src, 192962306a36Sopenharmony_ci .hid_width = 5, 193062306a36Sopenharmony_ci .parent_map = gcc_xo_gpll0_gpll0_out_main_div2_map, 193162306a36Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 193262306a36Sopenharmony_ci .name = "crypto_clk_src", 193362306a36Sopenharmony_ci .parent_data = gcc_xo_gpll0_gpll0_out_main_div2, 193462306a36Sopenharmony_ci .num_parents = ARRAY_SIZE(gcc_xo_gpll0_gpll0_out_main_div2), 193562306a36Sopenharmony_ci .ops = &clk_rcg2_ops, 193662306a36Sopenharmony_ci }, 193762306a36Sopenharmony_ci}; 193862306a36Sopenharmony_ci 193962306a36Sopenharmony_cistatic struct freq_tbl ftbl_gp_clk_src[] = { 194062306a36Sopenharmony_ci F(19200000, P_XO, 1, 0, 0), 194162306a36Sopenharmony_ci { } 194262306a36Sopenharmony_ci}; 194362306a36Sopenharmony_ci 194462306a36Sopenharmony_cistatic const struct clk_parent_data gcc_xo_gpll0_gpll6_gpll0_sleep_clk[] = { 194562306a36Sopenharmony_ci { .fw_name = "xo", .name = "xo" }, 194662306a36Sopenharmony_ci { .hw = &gpll0.clkr.hw }, 194762306a36Sopenharmony_ci { .hw = &gpll6.clkr.hw }, 194862306a36Sopenharmony_ci { .hw = &gpll0_out_main_div2.hw }, 194962306a36Sopenharmony_ci { .fw_name = "sleep_clk", .name = "sleep_clk" }, 195062306a36Sopenharmony_ci}; 195162306a36Sopenharmony_ci 195262306a36Sopenharmony_cistatic const struct parent_map gcc_xo_gpll0_gpll6_gpll0_sleep_clk_map[] = { 195362306a36Sopenharmony_ci { P_XO, 0 }, 195462306a36Sopenharmony_ci { P_GPLL0, 1 }, 195562306a36Sopenharmony_ci { P_GPLL6, 2 }, 195662306a36Sopenharmony_ci { P_GPLL0_DIV2, 4 }, 195762306a36Sopenharmony_ci { P_SLEEP_CLK, 6 }, 195862306a36Sopenharmony_ci}; 195962306a36Sopenharmony_ci 196062306a36Sopenharmony_cistatic struct clk_rcg2 gp1_clk_src = { 196162306a36Sopenharmony_ci .cmd_rcgr = 0x08004, 196262306a36Sopenharmony_ci .freq_tbl = ftbl_gp_clk_src, 196362306a36Sopenharmony_ci .mnd_width = 8, 196462306a36Sopenharmony_ci .hid_width = 5, 196562306a36Sopenharmony_ci .parent_map = gcc_xo_gpll0_gpll6_gpll0_sleep_clk_map, 196662306a36Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 196762306a36Sopenharmony_ci .name = "gp1_clk_src", 196862306a36Sopenharmony_ci .parent_data = gcc_xo_gpll0_gpll6_gpll0_sleep_clk, 196962306a36Sopenharmony_ci .num_parents = ARRAY_SIZE(gcc_xo_gpll0_gpll6_gpll0_sleep_clk), 197062306a36Sopenharmony_ci .ops = &clk_rcg2_ops, 197162306a36Sopenharmony_ci }, 197262306a36Sopenharmony_ci}; 197362306a36Sopenharmony_ci 197462306a36Sopenharmony_cistatic struct clk_rcg2 gp2_clk_src = { 197562306a36Sopenharmony_ci .cmd_rcgr = 0x09004, 197662306a36Sopenharmony_ci .freq_tbl = ftbl_gp_clk_src, 197762306a36Sopenharmony_ci .mnd_width = 8, 197862306a36Sopenharmony_ci .hid_width = 5, 197962306a36Sopenharmony_ci .parent_map = gcc_xo_gpll0_gpll6_gpll0_sleep_clk_map, 198062306a36Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 198162306a36Sopenharmony_ci .name = "gp2_clk_src", 198262306a36Sopenharmony_ci .parent_data = gcc_xo_gpll0_gpll6_gpll0_sleep_clk, 198362306a36Sopenharmony_ci .num_parents = ARRAY_SIZE(gcc_xo_gpll0_gpll6_gpll0_sleep_clk), 198462306a36Sopenharmony_ci .ops = &clk_rcg2_ops, 198562306a36Sopenharmony_ci }, 198662306a36Sopenharmony_ci}; 198762306a36Sopenharmony_ci 198862306a36Sopenharmony_cistatic struct clk_rcg2 gp3_clk_src = { 198962306a36Sopenharmony_ci .cmd_rcgr = 0x0a004, 199062306a36Sopenharmony_ci .freq_tbl = ftbl_gp_clk_src, 199162306a36Sopenharmony_ci .mnd_width = 8, 199262306a36Sopenharmony_ci .hid_width = 5, 199362306a36Sopenharmony_ci .parent_map = gcc_xo_gpll0_gpll6_gpll0_sleep_clk_map, 199462306a36Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 199562306a36Sopenharmony_ci .name = "gp3_clk_src", 199662306a36Sopenharmony_ci .parent_data = gcc_xo_gpll0_gpll6_gpll0_sleep_clk, 199762306a36Sopenharmony_ci .num_parents = ARRAY_SIZE(gcc_xo_gpll0_gpll6_gpll0_sleep_clk), 199862306a36Sopenharmony_ci .ops = &clk_rcg2_ops, 199962306a36Sopenharmony_ci }, 200062306a36Sopenharmony_ci}; 200162306a36Sopenharmony_ci 200262306a36Sopenharmony_cistatic struct clk_branch gcc_blsp1_ahb_clk = { 200362306a36Sopenharmony_ci .halt_reg = 0x01008, 200462306a36Sopenharmony_ci .clkr = { 200562306a36Sopenharmony_ci .enable_reg = 0x01008, 200662306a36Sopenharmony_ci .enable_mask = BIT(0), 200762306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 200862306a36Sopenharmony_ci .name = "gcc_blsp1_ahb_clk", 200962306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 201062306a36Sopenharmony_ci &pcnoc_clk_src.hw }, 201162306a36Sopenharmony_ci .num_parents = 1, 201262306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 201362306a36Sopenharmony_ci .ops = &clk_branch2_ops, 201462306a36Sopenharmony_ci }, 201562306a36Sopenharmony_ci }, 201662306a36Sopenharmony_ci}; 201762306a36Sopenharmony_ci 201862306a36Sopenharmony_cistatic struct clk_branch gcc_blsp1_qup1_i2c_apps_clk = { 201962306a36Sopenharmony_ci .halt_reg = 0x02008, 202062306a36Sopenharmony_ci .clkr = { 202162306a36Sopenharmony_ci .enable_reg = 0x02008, 202262306a36Sopenharmony_ci .enable_mask = BIT(0), 202362306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 202462306a36Sopenharmony_ci .name = "gcc_blsp1_qup1_i2c_apps_clk", 202562306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 202662306a36Sopenharmony_ci &blsp1_qup1_i2c_apps_clk_src.clkr.hw }, 202762306a36Sopenharmony_ci .num_parents = 1, 202862306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 202962306a36Sopenharmony_ci .ops = &clk_branch2_ops, 203062306a36Sopenharmony_ci }, 203162306a36Sopenharmony_ci }, 203262306a36Sopenharmony_ci}; 203362306a36Sopenharmony_ci 203462306a36Sopenharmony_cistatic struct clk_branch gcc_blsp1_qup1_spi_apps_clk = { 203562306a36Sopenharmony_ci .halt_reg = 0x02004, 203662306a36Sopenharmony_ci .clkr = { 203762306a36Sopenharmony_ci .enable_reg = 0x02004, 203862306a36Sopenharmony_ci .enable_mask = BIT(0), 203962306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 204062306a36Sopenharmony_ci .name = "gcc_blsp1_qup1_spi_apps_clk", 204162306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 204262306a36Sopenharmony_ci &blsp1_qup1_spi_apps_clk_src.clkr.hw }, 204362306a36Sopenharmony_ci .num_parents = 1, 204462306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 204562306a36Sopenharmony_ci .ops = &clk_branch2_ops, 204662306a36Sopenharmony_ci }, 204762306a36Sopenharmony_ci }, 204862306a36Sopenharmony_ci}; 204962306a36Sopenharmony_ci 205062306a36Sopenharmony_cistatic struct clk_branch gcc_blsp1_qup2_i2c_apps_clk = { 205162306a36Sopenharmony_ci .halt_reg = 0x03010, 205262306a36Sopenharmony_ci .clkr = { 205362306a36Sopenharmony_ci .enable_reg = 0x03010, 205462306a36Sopenharmony_ci .enable_mask = BIT(0), 205562306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 205662306a36Sopenharmony_ci .name = "gcc_blsp1_qup2_i2c_apps_clk", 205762306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 205862306a36Sopenharmony_ci &blsp1_qup2_i2c_apps_clk_src.clkr.hw }, 205962306a36Sopenharmony_ci .num_parents = 1, 206062306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 206162306a36Sopenharmony_ci .ops = &clk_branch2_ops, 206262306a36Sopenharmony_ci }, 206362306a36Sopenharmony_ci }, 206462306a36Sopenharmony_ci}; 206562306a36Sopenharmony_ci 206662306a36Sopenharmony_cistatic struct clk_branch gcc_blsp1_qup2_spi_apps_clk = { 206762306a36Sopenharmony_ci .halt_reg = 0x0300c, 206862306a36Sopenharmony_ci .clkr = { 206962306a36Sopenharmony_ci .enable_reg = 0x0300c, 207062306a36Sopenharmony_ci .enable_mask = BIT(0), 207162306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 207262306a36Sopenharmony_ci .name = "gcc_blsp1_qup2_spi_apps_clk", 207362306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 207462306a36Sopenharmony_ci &blsp1_qup2_spi_apps_clk_src.clkr.hw }, 207562306a36Sopenharmony_ci .num_parents = 1, 207662306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 207762306a36Sopenharmony_ci .ops = &clk_branch2_ops, 207862306a36Sopenharmony_ci }, 207962306a36Sopenharmony_ci }, 208062306a36Sopenharmony_ci}; 208162306a36Sopenharmony_ci 208262306a36Sopenharmony_cistatic struct clk_branch gcc_blsp1_qup3_i2c_apps_clk = { 208362306a36Sopenharmony_ci .halt_reg = 0x04010, 208462306a36Sopenharmony_ci .clkr = { 208562306a36Sopenharmony_ci .enable_reg = 0x04010, 208662306a36Sopenharmony_ci .enable_mask = BIT(0), 208762306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 208862306a36Sopenharmony_ci .name = "gcc_blsp1_qup3_i2c_apps_clk", 208962306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 209062306a36Sopenharmony_ci &blsp1_qup3_i2c_apps_clk_src.clkr.hw }, 209162306a36Sopenharmony_ci .num_parents = 1, 209262306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 209362306a36Sopenharmony_ci .ops = &clk_branch2_ops, 209462306a36Sopenharmony_ci }, 209562306a36Sopenharmony_ci }, 209662306a36Sopenharmony_ci}; 209762306a36Sopenharmony_ci 209862306a36Sopenharmony_cistatic struct clk_branch gcc_blsp1_qup3_spi_apps_clk = { 209962306a36Sopenharmony_ci .halt_reg = 0x0400c, 210062306a36Sopenharmony_ci .clkr = { 210162306a36Sopenharmony_ci .enable_reg = 0x0400c, 210262306a36Sopenharmony_ci .enable_mask = BIT(0), 210362306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 210462306a36Sopenharmony_ci .name = "gcc_blsp1_qup3_spi_apps_clk", 210562306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 210662306a36Sopenharmony_ci &blsp1_qup3_spi_apps_clk_src.clkr.hw }, 210762306a36Sopenharmony_ci .num_parents = 1, 210862306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 210962306a36Sopenharmony_ci .ops = &clk_branch2_ops, 211062306a36Sopenharmony_ci }, 211162306a36Sopenharmony_ci }, 211262306a36Sopenharmony_ci}; 211362306a36Sopenharmony_ci 211462306a36Sopenharmony_cistatic struct clk_branch gcc_blsp1_qup4_i2c_apps_clk = { 211562306a36Sopenharmony_ci .halt_reg = 0x05010, 211662306a36Sopenharmony_ci .clkr = { 211762306a36Sopenharmony_ci .enable_reg = 0x05010, 211862306a36Sopenharmony_ci .enable_mask = BIT(0), 211962306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 212062306a36Sopenharmony_ci .name = "gcc_blsp1_qup4_i2c_apps_clk", 212162306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 212262306a36Sopenharmony_ci &blsp1_qup4_i2c_apps_clk_src.clkr.hw }, 212362306a36Sopenharmony_ci .num_parents = 1, 212462306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 212562306a36Sopenharmony_ci .ops = &clk_branch2_ops, 212662306a36Sopenharmony_ci }, 212762306a36Sopenharmony_ci }, 212862306a36Sopenharmony_ci}; 212962306a36Sopenharmony_ci 213062306a36Sopenharmony_cistatic struct clk_branch gcc_blsp1_qup4_spi_apps_clk = { 213162306a36Sopenharmony_ci .halt_reg = 0x0500c, 213262306a36Sopenharmony_ci .clkr = { 213362306a36Sopenharmony_ci .enable_reg = 0x0500c, 213462306a36Sopenharmony_ci .enable_mask = BIT(0), 213562306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 213662306a36Sopenharmony_ci .name = "gcc_blsp1_qup4_spi_apps_clk", 213762306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 213862306a36Sopenharmony_ci &blsp1_qup4_spi_apps_clk_src.clkr.hw }, 213962306a36Sopenharmony_ci .num_parents = 1, 214062306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 214162306a36Sopenharmony_ci .ops = &clk_branch2_ops, 214262306a36Sopenharmony_ci }, 214362306a36Sopenharmony_ci }, 214462306a36Sopenharmony_ci}; 214562306a36Sopenharmony_ci 214662306a36Sopenharmony_cistatic struct clk_branch gcc_blsp1_qup5_i2c_apps_clk = { 214762306a36Sopenharmony_ci .halt_reg = 0x06010, 214862306a36Sopenharmony_ci .clkr = { 214962306a36Sopenharmony_ci .enable_reg = 0x06010, 215062306a36Sopenharmony_ci .enable_mask = BIT(0), 215162306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 215262306a36Sopenharmony_ci .name = "gcc_blsp1_qup5_i2c_apps_clk", 215362306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 215462306a36Sopenharmony_ci &blsp1_qup5_i2c_apps_clk_src.clkr.hw }, 215562306a36Sopenharmony_ci .num_parents = 1, 215662306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 215762306a36Sopenharmony_ci .ops = &clk_branch2_ops, 215862306a36Sopenharmony_ci }, 215962306a36Sopenharmony_ci }, 216062306a36Sopenharmony_ci}; 216162306a36Sopenharmony_ci 216262306a36Sopenharmony_cistatic struct clk_branch gcc_blsp1_qup5_spi_apps_clk = { 216362306a36Sopenharmony_ci .halt_reg = 0x0600c, 216462306a36Sopenharmony_ci .clkr = { 216562306a36Sopenharmony_ci .enable_reg = 0x0600c, 216662306a36Sopenharmony_ci .enable_mask = BIT(0), 216762306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 216862306a36Sopenharmony_ci .name = "gcc_blsp1_qup5_spi_apps_clk", 216962306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 217062306a36Sopenharmony_ci &blsp1_qup5_spi_apps_clk_src.clkr.hw }, 217162306a36Sopenharmony_ci .num_parents = 1, 217262306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 217362306a36Sopenharmony_ci .ops = &clk_branch2_ops, 217462306a36Sopenharmony_ci }, 217562306a36Sopenharmony_ci }, 217662306a36Sopenharmony_ci}; 217762306a36Sopenharmony_ci 217862306a36Sopenharmony_cistatic struct clk_branch gcc_blsp1_qup6_i2c_apps_clk = { 217962306a36Sopenharmony_ci .halt_reg = 0x07010, 218062306a36Sopenharmony_ci .clkr = { 218162306a36Sopenharmony_ci .enable_reg = 0x07010, 218262306a36Sopenharmony_ci .enable_mask = BIT(0), 218362306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 218462306a36Sopenharmony_ci .name = "gcc_blsp1_qup6_i2c_apps_clk", 218562306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 218662306a36Sopenharmony_ci &blsp1_qup6_i2c_apps_clk_src.clkr.hw }, 218762306a36Sopenharmony_ci .num_parents = 1, 218862306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 218962306a36Sopenharmony_ci .ops = &clk_branch2_ops, 219062306a36Sopenharmony_ci }, 219162306a36Sopenharmony_ci }, 219262306a36Sopenharmony_ci}; 219362306a36Sopenharmony_ci 219462306a36Sopenharmony_cistatic struct clk_branch gcc_blsp1_qup6_spi_apps_clk = { 219562306a36Sopenharmony_ci .halt_reg = 0x0700c, 219662306a36Sopenharmony_ci .clkr = { 219762306a36Sopenharmony_ci .enable_reg = 0x0700c, 219862306a36Sopenharmony_ci .enable_mask = BIT(0), 219962306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 220062306a36Sopenharmony_ci .name = "gcc_blsp1_qup6_spi_apps_clk", 220162306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 220262306a36Sopenharmony_ci &blsp1_qup6_spi_apps_clk_src.clkr.hw }, 220362306a36Sopenharmony_ci .num_parents = 1, 220462306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 220562306a36Sopenharmony_ci .ops = &clk_branch2_ops, 220662306a36Sopenharmony_ci }, 220762306a36Sopenharmony_ci }, 220862306a36Sopenharmony_ci}; 220962306a36Sopenharmony_ci 221062306a36Sopenharmony_cistatic struct clk_branch gcc_blsp1_uart1_apps_clk = { 221162306a36Sopenharmony_ci .halt_reg = 0x0203c, 221262306a36Sopenharmony_ci .clkr = { 221362306a36Sopenharmony_ci .enable_reg = 0x0203c, 221462306a36Sopenharmony_ci .enable_mask = BIT(0), 221562306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 221662306a36Sopenharmony_ci .name = "gcc_blsp1_uart1_apps_clk", 221762306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 221862306a36Sopenharmony_ci &blsp1_uart1_apps_clk_src.clkr.hw }, 221962306a36Sopenharmony_ci .num_parents = 1, 222062306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 222162306a36Sopenharmony_ci .ops = &clk_branch2_ops, 222262306a36Sopenharmony_ci }, 222362306a36Sopenharmony_ci }, 222462306a36Sopenharmony_ci}; 222562306a36Sopenharmony_ci 222662306a36Sopenharmony_cistatic struct clk_branch gcc_blsp1_uart2_apps_clk = { 222762306a36Sopenharmony_ci .halt_reg = 0x0302c, 222862306a36Sopenharmony_ci .clkr = { 222962306a36Sopenharmony_ci .enable_reg = 0x0302c, 223062306a36Sopenharmony_ci .enable_mask = BIT(0), 223162306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 223262306a36Sopenharmony_ci .name = "gcc_blsp1_uart2_apps_clk", 223362306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 223462306a36Sopenharmony_ci &blsp1_uart2_apps_clk_src.clkr.hw }, 223562306a36Sopenharmony_ci .num_parents = 1, 223662306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 223762306a36Sopenharmony_ci .ops = &clk_branch2_ops, 223862306a36Sopenharmony_ci }, 223962306a36Sopenharmony_ci }, 224062306a36Sopenharmony_ci}; 224162306a36Sopenharmony_ci 224262306a36Sopenharmony_cistatic struct clk_branch gcc_blsp1_uart3_apps_clk = { 224362306a36Sopenharmony_ci .halt_reg = 0x0402c, 224462306a36Sopenharmony_ci .clkr = { 224562306a36Sopenharmony_ci .enable_reg = 0x0402c, 224662306a36Sopenharmony_ci .enable_mask = BIT(0), 224762306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 224862306a36Sopenharmony_ci .name = "gcc_blsp1_uart3_apps_clk", 224962306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 225062306a36Sopenharmony_ci &blsp1_uart3_apps_clk_src.clkr.hw }, 225162306a36Sopenharmony_ci .num_parents = 1, 225262306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 225362306a36Sopenharmony_ci .ops = &clk_branch2_ops, 225462306a36Sopenharmony_ci }, 225562306a36Sopenharmony_ci }, 225662306a36Sopenharmony_ci}; 225762306a36Sopenharmony_ci 225862306a36Sopenharmony_cistatic struct clk_branch gcc_blsp1_uart4_apps_clk = { 225962306a36Sopenharmony_ci .halt_reg = 0x0502c, 226062306a36Sopenharmony_ci .clkr = { 226162306a36Sopenharmony_ci .enable_reg = 0x0502c, 226262306a36Sopenharmony_ci .enable_mask = BIT(0), 226362306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 226462306a36Sopenharmony_ci .name = "gcc_blsp1_uart4_apps_clk", 226562306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 226662306a36Sopenharmony_ci &blsp1_uart4_apps_clk_src.clkr.hw }, 226762306a36Sopenharmony_ci .num_parents = 1, 226862306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 226962306a36Sopenharmony_ci .ops = &clk_branch2_ops, 227062306a36Sopenharmony_ci }, 227162306a36Sopenharmony_ci }, 227262306a36Sopenharmony_ci}; 227362306a36Sopenharmony_ci 227462306a36Sopenharmony_cistatic struct clk_branch gcc_blsp1_uart5_apps_clk = { 227562306a36Sopenharmony_ci .halt_reg = 0x0602c, 227662306a36Sopenharmony_ci .clkr = { 227762306a36Sopenharmony_ci .enable_reg = 0x0602c, 227862306a36Sopenharmony_ci .enable_mask = BIT(0), 227962306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 228062306a36Sopenharmony_ci .name = "gcc_blsp1_uart5_apps_clk", 228162306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 228262306a36Sopenharmony_ci &blsp1_uart5_apps_clk_src.clkr.hw }, 228362306a36Sopenharmony_ci .num_parents = 1, 228462306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 228562306a36Sopenharmony_ci .ops = &clk_branch2_ops, 228662306a36Sopenharmony_ci }, 228762306a36Sopenharmony_ci }, 228862306a36Sopenharmony_ci}; 228962306a36Sopenharmony_ci 229062306a36Sopenharmony_cistatic struct clk_branch gcc_blsp1_uart6_apps_clk = { 229162306a36Sopenharmony_ci .halt_reg = 0x0702c, 229262306a36Sopenharmony_ci .clkr = { 229362306a36Sopenharmony_ci .enable_reg = 0x0702c, 229462306a36Sopenharmony_ci .enable_mask = BIT(0), 229562306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 229662306a36Sopenharmony_ci .name = "gcc_blsp1_uart6_apps_clk", 229762306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 229862306a36Sopenharmony_ci &blsp1_uart6_apps_clk_src.clkr.hw }, 229962306a36Sopenharmony_ci .num_parents = 1, 230062306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 230162306a36Sopenharmony_ci .ops = &clk_branch2_ops, 230262306a36Sopenharmony_ci }, 230362306a36Sopenharmony_ci }, 230462306a36Sopenharmony_ci}; 230562306a36Sopenharmony_ci 230662306a36Sopenharmony_cistatic struct clk_branch gcc_prng_ahb_clk = { 230762306a36Sopenharmony_ci .halt_reg = 0x13004, 230862306a36Sopenharmony_ci .halt_check = BRANCH_HALT_VOTED, 230962306a36Sopenharmony_ci .clkr = { 231062306a36Sopenharmony_ci .enable_reg = 0x0b004, 231162306a36Sopenharmony_ci .enable_mask = BIT(8), 231262306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 231362306a36Sopenharmony_ci .name = "gcc_prng_ahb_clk", 231462306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 231562306a36Sopenharmony_ci &pcnoc_clk_src.hw }, 231662306a36Sopenharmony_ci .num_parents = 1, 231762306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 231862306a36Sopenharmony_ci .ops = &clk_branch2_ops, 231962306a36Sopenharmony_ci }, 232062306a36Sopenharmony_ci }, 232162306a36Sopenharmony_ci}; 232262306a36Sopenharmony_ci 232362306a36Sopenharmony_cistatic struct clk_branch gcc_qpic_ahb_clk = { 232462306a36Sopenharmony_ci .halt_reg = 0x57024, 232562306a36Sopenharmony_ci .clkr = { 232662306a36Sopenharmony_ci .enable_reg = 0x57024, 232762306a36Sopenharmony_ci .enable_mask = BIT(0), 232862306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 232962306a36Sopenharmony_ci .name = "gcc_qpic_ahb_clk", 233062306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 233162306a36Sopenharmony_ci &pcnoc_clk_src.hw }, 233262306a36Sopenharmony_ci .num_parents = 1, 233362306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 233462306a36Sopenharmony_ci .ops = &clk_branch2_ops, 233562306a36Sopenharmony_ci }, 233662306a36Sopenharmony_ci }, 233762306a36Sopenharmony_ci}; 233862306a36Sopenharmony_ci 233962306a36Sopenharmony_cistatic struct clk_branch gcc_qpic_clk = { 234062306a36Sopenharmony_ci .halt_reg = 0x57020, 234162306a36Sopenharmony_ci .clkr = { 234262306a36Sopenharmony_ci .enable_reg = 0x57020, 234362306a36Sopenharmony_ci .enable_mask = BIT(0), 234462306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 234562306a36Sopenharmony_ci .name = "gcc_qpic_clk", 234662306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 234762306a36Sopenharmony_ci &pcnoc_clk_src.hw }, 234862306a36Sopenharmony_ci .num_parents = 1, 234962306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 235062306a36Sopenharmony_ci .ops = &clk_branch2_ops, 235162306a36Sopenharmony_ci }, 235262306a36Sopenharmony_ci }, 235362306a36Sopenharmony_ci}; 235462306a36Sopenharmony_ci 235562306a36Sopenharmony_cistatic struct clk_branch gcc_pcie0_ahb_clk = { 235662306a36Sopenharmony_ci .halt_reg = 0x75010, 235762306a36Sopenharmony_ci .clkr = { 235862306a36Sopenharmony_ci .enable_reg = 0x75010, 235962306a36Sopenharmony_ci .enable_mask = BIT(0), 236062306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 236162306a36Sopenharmony_ci .name = "gcc_pcie0_ahb_clk", 236262306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 236362306a36Sopenharmony_ci &pcnoc_clk_src.hw }, 236462306a36Sopenharmony_ci .num_parents = 1, 236562306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 236662306a36Sopenharmony_ci .ops = &clk_branch2_ops, 236762306a36Sopenharmony_ci }, 236862306a36Sopenharmony_ci }, 236962306a36Sopenharmony_ci}; 237062306a36Sopenharmony_ci 237162306a36Sopenharmony_cistatic struct clk_branch gcc_pcie0_aux_clk = { 237262306a36Sopenharmony_ci .halt_reg = 0x75014, 237362306a36Sopenharmony_ci .clkr = { 237462306a36Sopenharmony_ci .enable_reg = 0x75014, 237562306a36Sopenharmony_ci .enable_mask = BIT(0), 237662306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 237762306a36Sopenharmony_ci .name = "gcc_pcie0_aux_clk", 237862306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 237962306a36Sopenharmony_ci &pcie0_aux_clk_src.clkr.hw }, 238062306a36Sopenharmony_ci .num_parents = 1, 238162306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 238262306a36Sopenharmony_ci .ops = &clk_branch2_ops, 238362306a36Sopenharmony_ci }, 238462306a36Sopenharmony_ci }, 238562306a36Sopenharmony_ci}; 238662306a36Sopenharmony_ci 238762306a36Sopenharmony_cistatic struct clk_branch gcc_pcie0_axi_m_clk = { 238862306a36Sopenharmony_ci .halt_reg = 0x75008, 238962306a36Sopenharmony_ci .clkr = { 239062306a36Sopenharmony_ci .enable_reg = 0x75008, 239162306a36Sopenharmony_ci .enable_mask = BIT(0), 239262306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 239362306a36Sopenharmony_ci .name = "gcc_pcie0_axi_m_clk", 239462306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 239562306a36Sopenharmony_ci &pcie0_axi_clk_src.clkr.hw }, 239662306a36Sopenharmony_ci .num_parents = 1, 239762306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 239862306a36Sopenharmony_ci .ops = &clk_branch2_ops, 239962306a36Sopenharmony_ci }, 240062306a36Sopenharmony_ci }, 240162306a36Sopenharmony_ci}; 240262306a36Sopenharmony_ci 240362306a36Sopenharmony_cistatic struct clk_branch gcc_pcie0_axi_s_clk = { 240462306a36Sopenharmony_ci .halt_reg = 0x7500c, 240562306a36Sopenharmony_ci .clkr = { 240662306a36Sopenharmony_ci .enable_reg = 0x7500c, 240762306a36Sopenharmony_ci .enable_mask = BIT(0), 240862306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 240962306a36Sopenharmony_ci .name = "gcc_pcie0_axi_s_clk", 241062306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 241162306a36Sopenharmony_ci &pcie0_axi_clk_src.clkr.hw }, 241262306a36Sopenharmony_ci .num_parents = 1, 241362306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 241462306a36Sopenharmony_ci .ops = &clk_branch2_ops, 241562306a36Sopenharmony_ci }, 241662306a36Sopenharmony_ci }, 241762306a36Sopenharmony_ci}; 241862306a36Sopenharmony_ci 241962306a36Sopenharmony_cistatic struct clk_branch gcc_pcie0_pipe_clk = { 242062306a36Sopenharmony_ci .halt_reg = 0x75018, 242162306a36Sopenharmony_ci .halt_check = BRANCH_HALT_DELAY, 242262306a36Sopenharmony_ci .clkr = { 242362306a36Sopenharmony_ci .enable_reg = 0x75018, 242462306a36Sopenharmony_ci .enable_mask = BIT(0), 242562306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 242662306a36Sopenharmony_ci .name = "gcc_pcie0_pipe_clk", 242762306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 242862306a36Sopenharmony_ci &pcie0_pipe_clk_src.clkr.hw }, 242962306a36Sopenharmony_ci .num_parents = 1, 243062306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 243162306a36Sopenharmony_ci .ops = &clk_branch2_ops, 243262306a36Sopenharmony_ci }, 243362306a36Sopenharmony_ci }, 243462306a36Sopenharmony_ci}; 243562306a36Sopenharmony_ci 243662306a36Sopenharmony_cistatic struct clk_branch gcc_sys_noc_pcie0_axi_clk = { 243762306a36Sopenharmony_ci .halt_reg = 0x26048, 243862306a36Sopenharmony_ci .clkr = { 243962306a36Sopenharmony_ci .enable_reg = 0x26048, 244062306a36Sopenharmony_ci .enable_mask = BIT(0), 244162306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 244262306a36Sopenharmony_ci .name = "gcc_sys_noc_pcie0_axi_clk", 244362306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 244462306a36Sopenharmony_ci &pcie0_axi_clk_src.clkr.hw }, 244562306a36Sopenharmony_ci .num_parents = 1, 244662306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 244762306a36Sopenharmony_ci .ops = &clk_branch2_ops, 244862306a36Sopenharmony_ci }, 244962306a36Sopenharmony_ci }, 245062306a36Sopenharmony_ci}; 245162306a36Sopenharmony_ci 245262306a36Sopenharmony_cistatic struct clk_branch gcc_pcie1_ahb_clk = { 245362306a36Sopenharmony_ci .halt_reg = 0x76010, 245462306a36Sopenharmony_ci .clkr = { 245562306a36Sopenharmony_ci .enable_reg = 0x76010, 245662306a36Sopenharmony_ci .enable_mask = BIT(0), 245762306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 245862306a36Sopenharmony_ci .name = "gcc_pcie1_ahb_clk", 245962306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 246062306a36Sopenharmony_ci &pcnoc_clk_src.hw }, 246162306a36Sopenharmony_ci .num_parents = 1, 246262306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 246362306a36Sopenharmony_ci .ops = &clk_branch2_ops, 246462306a36Sopenharmony_ci }, 246562306a36Sopenharmony_ci }, 246662306a36Sopenharmony_ci}; 246762306a36Sopenharmony_ci 246862306a36Sopenharmony_cistatic struct clk_branch gcc_pcie1_aux_clk = { 246962306a36Sopenharmony_ci .halt_reg = 0x76014, 247062306a36Sopenharmony_ci .clkr = { 247162306a36Sopenharmony_ci .enable_reg = 0x76014, 247262306a36Sopenharmony_ci .enable_mask = BIT(0), 247362306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 247462306a36Sopenharmony_ci .name = "gcc_pcie1_aux_clk", 247562306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 247662306a36Sopenharmony_ci &pcie1_aux_clk_src.clkr.hw }, 247762306a36Sopenharmony_ci .num_parents = 1, 247862306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 247962306a36Sopenharmony_ci .ops = &clk_branch2_ops, 248062306a36Sopenharmony_ci }, 248162306a36Sopenharmony_ci }, 248262306a36Sopenharmony_ci}; 248362306a36Sopenharmony_ci 248462306a36Sopenharmony_cistatic struct clk_branch gcc_pcie1_axi_m_clk = { 248562306a36Sopenharmony_ci .halt_reg = 0x76008, 248662306a36Sopenharmony_ci .clkr = { 248762306a36Sopenharmony_ci .enable_reg = 0x76008, 248862306a36Sopenharmony_ci .enable_mask = BIT(0), 248962306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 249062306a36Sopenharmony_ci .name = "gcc_pcie1_axi_m_clk", 249162306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 249262306a36Sopenharmony_ci &pcie1_axi_clk_src.clkr.hw }, 249362306a36Sopenharmony_ci .num_parents = 1, 249462306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 249562306a36Sopenharmony_ci .ops = &clk_branch2_ops, 249662306a36Sopenharmony_ci }, 249762306a36Sopenharmony_ci }, 249862306a36Sopenharmony_ci}; 249962306a36Sopenharmony_ci 250062306a36Sopenharmony_cistatic struct clk_branch gcc_pcie1_axi_s_clk = { 250162306a36Sopenharmony_ci .halt_reg = 0x7600c, 250262306a36Sopenharmony_ci .clkr = { 250362306a36Sopenharmony_ci .enable_reg = 0x7600c, 250462306a36Sopenharmony_ci .enable_mask = BIT(0), 250562306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 250662306a36Sopenharmony_ci .name = "gcc_pcie1_axi_s_clk", 250762306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 250862306a36Sopenharmony_ci &pcie1_axi_clk_src.clkr.hw }, 250962306a36Sopenharmony_ci .num_parents = 1, 251062306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 251162306a36Sopenharmony_ci .ops = &clk_branch2_ops, 251262306a36Sopenharmony_ci }, 251362306a36Sopenharmony_ci }, 251462306a36Sopenharmony_ci}; 251562306a36Sopenharmony_ci 251662306a36Sopenharmony_cistatic struct clk_branch gcc_pcie1_pipe_clk = { 251762306a36Sopenharmony_ci .halt_reg = 0x76018, 251862306a36Sopenharmony_ci .halt_check = BRANCH_HALT_DELAY, 251962306a36Sopenharmony_ci .clkr = { 252062306a36Sopenharmony_ci .enable_reg = 0x76018, 252162306a36Sopenharmony_ci .enable_mask = BIT(0), 252262306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 252362306a36Sopenharmony_ci .name = "gcc_pcie1_pipe_clk", 252462306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 252562306a36Sopenharmony_ci &pcie1_pipe_clk_src.clkr.hw }, 252662306a36Sopenharmony_ci .num_parents = 1, 252762306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 252862306a36Sopenharmony_ci .ops = &clk_branch2_ops, 252962306a36Sopenharmony_ci }, 253062306a36Sopenharmony_ci }, 253162306a36Sopenharmony_ci}; 253262306a36Sopenharmony_ci 253362306a36Sopenharmony_cistatic struct clk_branch gcc_sys_noc_pcie1_axi_clk = { 253462306a36Sopenharmony_ci .halt_reg = 0x2604c, 253562306a36Sopenharmony_ci .clkr = { 253662306a36Sopenharmony_ci .enable_reg = 0x2604c, 253762306a36Sopenharmony_ci .enable_mask = BIT(0), 253862306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 253962306a36Sopenharmony_ci .name = "gcc_sys_noc_pcie1_axi_clk", 254062306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 254162306a36Sopenharmony_ci &pcie1_axi_clk_src.clkr.hw }, 254262306a36Sopenharmony_ci .num_parents = 1, 254362306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 254462306a36Sopenharmony_ci .ops = &clk_branch2_ops, 254562306a36Sopenharmony_ci }, 254662306a36Sopenharmony_ci }, 254762306a36Sopenharmony_ci}; 254862306a36Sopenharmony_ci 254962306a36Sopenharmony_cistatic struct clk_branch gcc_usb0_aux_clk = { 255062306a36Sopenharmony_ci .halt_reg = 0x3e044, 255162306a36Sopenharmony_ci .clkr = { 255262306a36Sopenharmony_ci .enable_reg = 0x3e044, 255362306a36Sopenharmony_ci .enable_mask = BIT(0), 255462306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 255562306a36Sopenharmony_ci .name = "gcc_usb0_aux_clk", 255662306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 255762306a36Sopenharmony_ci &usb0_aux_clk_src.clkr.hw }, 255862306a36Sopenharmony_ci .num_parents = 1, 255962306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 256062306a36Sopenharmony_ci .ops = &clk_branch2_ops, 256162306a36Sopenharmony_ci }, 256262306a36Sopenharmony_ci }, 256362306a36Sopenharmony_ci}; 256462306a36Sopenharmony_ci 256562306a36Sopenharmony_cistatic struct clk_branch gcc_sys_noc_usb0_axi_clk = { 256662306a36Sopenharmony_ci .halt_reg = 0x26040, 256762306a36Sopenharmony_ci .clkr = { 256862306a36Sopenharmony_ci .enable_reg = 0x26040, 256962306a36Sopenharmony_ci .enable_mask = BIT(0), 257062306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 257162306a36Sopenharmony_ci .name = "gcc_sys_noc_usb0_axi_clk", 257262306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 257362306a36Sopenharmony_ci &usb0_master_clk_src.clkr.hw }, 257462306a36Sopenharmony_ci .num_parents = 1, 257562306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 257662306a36Sopenharmony_ci .ops = &clk_branch2_ops, 257762306a36Sopenharmony_ci }, 257862306a36Sopenharmony_ci }, 257962306a36Sopenharmony_ci}; 258062306a36Sopenharmony_ci 258162306a36Sopenharmony_cistatic struct clk_branch gcc_usb0_master_clk = { 258262306a36Sopenharmony_ci .halt_reg = 0x3e000, 258362306a36Sopenharmony_ci .clkr = { 258462306a36Sopenharmony_ci .enable_reg = 0x3e000, 258562306a36Sopenharmony_ci .enable_mask = BIT(0), 258662306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 258762306a36Sopenharmony_ci .name = "gcc_usb0_master_clk", 258862306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 258962306a36Sopenharmony_ci &usb0_master_clk_src.clkr.hw }, 259062306a36Sopenharmony_ci .num_parents = 1, 259162306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 259262306a36Sopenharmony_ci .ops = &clk_branch2_ops, 259362306a36Sopenharmony_ci }, 259462306a36Sopenharmony_ci }, 259562306a36Sopenharmony_ci}; 259662306a36Sopenharmony_ci 259762306a36Sopenharmony_cistatic struct clk_branch gcc_usb0_mock_utmi_clk = { 259862306a36Sopenharmony_ci .halt_reg = 0x3e008, 259962306a36Sopenharmony_ci .clkr = { 260062306a36Sopenharmony_ci .enable_reg = 0x3e008, 260162306a36Sopenharmony_ci .enable_mask = BIT(0), 260262306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 260362306a36Sopenharmony_ci .name = "gcc_usb0_mock_utmi_clk", 260462306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 260562306a36Sopenharmony_ci &usb0_mock_utmi_clk_src.clkr.hw }, 260662306a36Sopenharmony_ci .num_parents = 1, 260762306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 260862306a36Sopenharmony_ci .ops = &clk_branch2_ops, 260962306a36Sopenharmony_ci }, 261062306a36Sopenharmony_ci }, 261162306a36Sopenharmony_ci}; 261262306a36Sopenharmony_ci 261362306a36Sopenharmony_cistatic struct clk_branch gcc_usb0_phy_cfg_ahb_clk = { 261462306a36Sopenharmony_ci .halt_reg = 0x3e080, 261562306a36Sopenharmony_ci .clkr = { 261662306a36Sopenharmony_ci .enable_reg = 0x3e080, 261762306a36Sopenharmony_ci .enable_mask = BIT(0), 261862306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 261962306a36Sopenharmony_ci .name = "gcc_usb0_phy_cfg_ahb_clk", 262062306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 262162306a36Sopenharmony_ci &pcnoc_clk_src.hw }, 262262306a36Sopenharmony_ci .num_parents = 1, 262362306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 262462306a36Sopenharmony_ci .ops = &clk_branch2_ops, 262562306a36Sopenharmony_ci }, 262662306a36Sopenharmony_ci }, 262762306a36Sopenharmony_ci}; 262862306a36Sopenharmony_ci 262962306a36Sopenharmony_cistatic struct clk_branch gcc_usb0_pipe_clk = { 263062306a36Sopenharmony_ci .halt_reg = 0x3e040, 263162306a36Sopenharmony_ci .halt_check = BRANCH_HALT_DELAY, 263262306a36Sopenharmony_ci .clkr = { 263362306a36Sopenharmony_ci .enable_reg = 0x3e040, 263462306a36Sopenharmony_ci .enable_mask = BIT(0), 263562306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 263662306a36Sopenharmony_ci .name = "gcc_usb0_pipe_clk", 263762306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 263862306a36Sopenharmony_ci &usb0_pipe_clk_src.clkr.hw }, 263962306a36Sopenharmony_ci .num_parents = 1, 264062306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 264162306a36Sopenharmony_ci .ops = &clk_branch2_ops, 264262306a36Sopenharmony_ci }, 264362306a36Sopenharmony_ci }, 264462306a36Sopenharmony_ci}; 264562306a36Sopenharmony_ci 264662306a36Sopenharmony_cistatic struct clk_branch gcc_usb0_sleep_clk = { 264762306a36Sopenharmony_ci .halt_reg = 0x3e004, 264862306a36Sopenharmony_ci .clkr = { 264962306a36Sopenharmony_ci .enable_reg = 0x3e004, 265062306a36Sopenharmony_ci .enable_mask = BIT(0), 265162306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 265262306a36Sopenharmony_ci .name = "gcc_usb0_sleep_clk", 265362306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 265462306a36Sopenharmony_ci &gcc_sleep_clk_src.clkr.hw }, 265562306a36Sopenharmony_ci .num_parents = 1, 265662306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 265762306a36Sopenharmony_ci .ops = &clk_branch2_ops, 265862306a36Sopenharmony_ci }, 265962306a36Sopenharmony_ci }, 266062306a36Sopenharmony_ci}; 266162306a36Sopenharmony_ci 266262306a36Sopenharmony_cistatic struct clk_branch gcc_usb1_aux_clk = { 266362306a36Sopenharmony_ci .halt_reg = 0x3f044, 266462306a36Sopenharmony_ci .clkr = { 266562306a36Sopenharmony_ci .enable_reg = 0x3f044, 266662306a36Sopenharmony_ci .enable_mask = BIT(0), 266762306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 266862306a36Sopenharmony_ci .name = "gcc_usb1_aux_clk", 266962306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 267062306a36Sopenharmony_ci &usb1_aux_clk_src.clkr.hw }, 267162306a36Sopenharmony_ci .num_parents = 1, 267262306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 267362306a36Sopenharmony_ci .ops = &clk_branch2_ops, 267462306a36Sopenharmony_ci }, 267562306a36Sopenharmony_ci }, 267662306a36Sopenharmony_ci}; 267762306a36Sopenharmony_ci 267862306a36Sopenharmony_cistatic struct clk_branch gcc_sys_noc_usb1_axi_clk = { 267962306a36Sopenharmony_ci .halt_reg = 0x26044, 268062306a36Sopenharmony_ci .clkr = { 268162306a36Sopenharmony_ci .enable_reg = 0x26044, 268262306a36Sopenharmony_ci .enable_mask = BIT(0), 268362306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 268462306a36Sopenharmony_ci .name = "gcc_sys_noc_usb1_axi_clk", 268562306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 268662306a36Sopenharmony_ci &usb1_master_clk_src.clkr.hw }, 268762306a36Sopenharmony_ci .num_parents = 1, 268862306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 268962306a36Sopenharmony_ci .ops = &clk_branch2_ops, 269062306a36Sopenharmony_ci }, 269162306a36Sopenharmony_ci }, 269262306a36Sopenharmony_ci}; 269362306a36Sopenharmony_ci 269462306a36Sopenharmony_cistatic struct clk_branch gcc_usb1_master_clk = { 269562306a36Sopenharmony_ci .halt_reg = 0x3f000, 269662306a36Sopenharmony_ci .clkr = { 269762306a36Sopenharmony_ci .enable_reg = 0x3f000, 269862306a36Sopenharmony_ci .enable_mask = BIT(0), 269962306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 270062306a36Sopenharmony_ci .name = "gcc_usb1_master_clk", 270162306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 270262306a36Sopenharmony_ci &usb1_master_clk_src.clkr.hw }, 270362306a36Sopenharmony_ci .num_parents = 1, 270462306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 270562306a36Sopenharmony_ci .ops = &clk_branch2_ops, 270662306a36Sopenharmony_ci }, 270762306a36Sopenharmony_ci }, 270862306a36Sopenharmony_ci}; 270962306a36Sopenharmony_ci 271062306a36Sopenharmony_cistatic struct clk_branch gcc_usb1_mock_utmi_clk = { 271162306a36Sopenharmony_ci .halt_reg = 0x3f008, 271262306a36Sopenharmony_ci .clkr = { 271362306a36Sopenharmony_ci .enable_reg = 0x3f008, 271462306a36Sopenharmony_ci .enable_mask = BIT(0), 271562306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 271662306a36Sopenharmony_ci .name = "gcc_usb1_mock_utmi_clk", 271762306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 271862306a36Sopenharmony_ci &usb1_mock_utmi_clk_src.clkr.hw }, 271962306a36Sopenharmony_ci .num_parents = 1, 272062306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 272162306a36Sopenharmony_ci .ops = &clk_branch2_ops, 272262306a36Sopenharmony_ci }, 272362306a36Sopenharmony_ci }, 272462306a36Sopenharmony_ci}; 272562306a36Sopenharmony_ci 272662306a36Sopenharmony_cistatic struct clk_branch gcc_usb1_phy_cfg_ahb_clk = { 272762306a36Sopenharmony_ci .halt_reg = 0x3f080, 272862306a36Sopenharmony_ci .clkr = { 272962306a36Sopenharmony_ci .enable_reg = 0x3f080, 273062306a36Sopenharmony_ci .enable_mask = BIT(0), 273162306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 273262306a36Sopenharmony_ci .name = "gcc_usb1_phy_cfg_ahb_clk", 273362306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 273462306a36Sopenharmony_ci &pcnoc_clk_src.hw }, 273562306a36Sopenharmony_ci .num_parents = 1, 273662306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 273762306a36Sopenharmony_ci .ops = &clk_branch2_ops, 273862306a36Sopenharmony_ci }, 273962306a36Sopenharmony_ci }, 274062306a36Sopenharmony_ci}; 274162306a36Sopenharmony_ci 274262306a36Sopenharmony_cistatic struct clk_branch gcc_usb1_pipe_clk = { 274362306a36Sopenharmony_ci .halt_reg = 0x3f040, 274462306a36Sopenharmony_ci .halt_check = BRANCH_HALT_DELAY, 274562306a36Sopenharmony_ci .clkr = { 274662306a36Sopenharmony_ci .enable_reg = 0x3f040, 274762306a36Sopenharmony_ci .enable_mask = BIT(0), 274862306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 274962306a36Sopenharmony_ci .name = "gcc_usb1_pipe_clk", 275062306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 275162306a36Sopenharmony_ci &usb1_pipe_clk_src.clkr.hw }, 275262306a36Sopenharmony_ci .num_parents = 1, 275362306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 275462306a36Sopenharmony_ci .ops = &clk_branch2_ops, 275562306a36Sopenharmony_ci }, 275662306a36Sopenharmony_ci }, 275762306a36Sopenharmony_ci}; 275862306a36Sopenharmony_ci 275962306a36Sopenharmony_cistatic struct clk_branch gcc_usb1_sleep_clk = { 276062306a36Sopenharmony_ci .halt_reg = 0x3f004, 276162306a36Sopenharmony_ci .clkr = { 276262306a36Sopenharmony_ci .enable_reg = 0x3f004, 276362306a36Sopenharmony_ci .enable_mask = BIT(0), 276462306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 276562306a36Sopenharmony_ci .name = "gcc_usb1_sleep_clk", 276662306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 276762306a36Sopenharmony_ci &gcc_sleep_clk_src.clkr.hw }, 276862306a36Sopenharmony_ci .num_parents = 1, 276962306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 277062306a36Sopenharmony_ci .ops = &clk_branch2_ops, 277162306a36Sopenharmony_ci }, 277262306a36Sopenharmony_ci }, 277362306a36Sopenharmony_ci}; 277462306a36Sopenharmony_ci 277562306a36Sopenharmony_cistatic struct clk_branch gcc_sdcc1_ahb_clk = { 277662306a36Sopenharmony_ci .halt_reg = 0x4201c, 277762306a36Sopenharmony_ci .clkr = { 277862306a36Sopenharmony_ci .enable_reg = 0x4201c, 277962306a36Sopenharmony_ci .enable_mask = BIT(0), 278062306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 278162306a36Sopenharmony_ci .name = "gcc_sdcc1_ahb_clk", 278262306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 278362306a36Sopenharmony_ci &pcnoc_clk_src.hw }, 278462306a36Sopenharmony_ci .num_parents = 1, 278562306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 278662306a36Sopenharmony_ci .ops = &clk_branch2_ops, 278762306a36Sopenharmony_ci }, 278862306a36Sopenharmony_ci }, 278962306a36Sopenharmony_ci}; 279062306a36Sopenharmony_ci 279162306a36Sopenharmony_cistatic struct clk_branch gcc_sdcc1_apps_clk = { 279262306a36Sopenharmony_ci .halt_reg = 0x42018, 279362306a36Sopenharmony_ci .clkr = { 279462306a36Sopenharmony_ci .enable_reg = 0x42018, 279562306a36Sopenharmony_ci .enable_mask = BIT(0), 279662306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 279762306a36Sopenharmony_ci .name = "gcc_sdcc1_apps_clk", 279862306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 279962306a36Sopenharmony_ci &sdcc1_apps_clk_src.clkr.hw }, 280062306a36Sopenharmony_ci .num_parents = 1, 280162306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 280262306a36Sopenharmony_ci .ops = &clk_branch2_ops, 280362306a36Sopenharmony_ci }, 280462306a36Sopenharmony_ci }, 280562306a36Sopenharmony_ci}; 280662306a36Sopenharmony_ci 280762306a36Sopenharmony_cistatic struct clk_branch gcc_sdcc1_ice_core_clk = { 280862306a36Sopenharmony_ci .halt_reg = 0x5d014, 280962306a36Sopenharmony_ci .clkr = { 281062306a36Sopenharmony_ci .enable_reg = 0x5d014, 281162306a36Sopenharmony_ci .enable_mask = BIT(0), 281262306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 281362306a36Sopenharmony_ci .name = "gcc_sdcc1_ice_core_clk", 281462306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 281562306a36Sopenharmony_ci &sdcc1_ice_core_clk_src.clkr.hw }, 281662306a36Sopenharmony_ci .num_parents = 1, 281762306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 281862306a36Sopenharmony_ci .ops = &clk_branch2_ops, 281962306a36Sopenharmony_ci }, 282062306a36Sopenharmony_ci }, 282162306a36Sopenharmony_ci}; 282262306a36Sopenharmony_ci 282362306a36Sopenharmony_cistatic struct clk_branch gcc_sdcc2_ahb_clk = { 282462306a36Sopenharmony_ci .halt_reg = 0x4301c, 282562306a36Sopenharmony_ci .clkr = { 282662306a36Sopenharmony_ci .enable_reg = 0x4301c, 282762306a36Sopenharmony_ci .enable_mask = BIT(0), 282862306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 282962306a36Sopenharmony_ci .name = "gcc_sdcc2_ahb_clk", 283062306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 283162306a36Sopenharmony_ci &pcnoc_clk_src.hw }, 283262306a36Sopenharmony_ci .num_parents = 1, 283362306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 283462306a36Sopenharmony_ci .ops = &clk_branch2_ops, 283562306a36Sopenharmony_ci }, 283662306a36Sopenharmony_ci }, 283762306a36Sopenharmony_ci}; 283862306a36Sopenharmony_ci 283962306a36Sopenharmony_cistatic struct clk_branch gcc_sdcc2_apps_clk = { 284062306a36Sopenharmony_ci .halt_reg = 0x43018, 284162306a36Sopenharmony_ci .clkr = { 284262306a36Sopenharmony_ci .enable_reg = 0x43018, 284362306a36Sopenharmony_ci .enable_mask = BIT(0), 284462306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 284562306a36Sopenharmony_ci .name = "gcc_sdcc2_apps_clk", 284662306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 284762306a36Sopenharmony_ci &sdcc2_apps_clk_src.clkr.hw }, 284862306a36Sopenharmony_ci .num_parents = 1, 284962306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 285062306a36Sopenharmony_ci .ops = &clk_branch2_ops, 285162306a36Sopenharmony_ci }, 285262306a36Sopenharmony_ci }, 285362306a36Sopenharmony_ci}; 285462306a36Sopenharmony_ci 285562306a36Sopenharmony_cistatic struct clk_branch gcc_mem_noc_nss_axi_clk = { 285662306a36Sopenharmony_ci .halt_reg = 0x1d03c, 285762306a36Sopenharmony_ci .clkr = { 285862306a36Sopenharmony_ci .enable_reg = 0x1d03c, 285962306a36Sopenharmony_ci .enable_mask = BIT(0), 286062306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 286162306a36Sopenharmony_ci .name = "gcc_mem_noc_nss_axi_clk", 286262306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 286362306a36Sopenharmony_ci &nss_noc_clk_src.hw }, 286462306a36Sopenharmony_ci .num_parents = 1, 286562306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 286662306a36Sopenharmony_ci .ops = &clk_branch2_ops, 286762306a36Sopenharmony_ci }, 286862306a36Sopenharmony_ci }, 286962306a36Sopenharmony_ci}; 287062306a36Sopenharmony_ci 287162306a36Sopenharmony_cistatic struct clk_branch gcc_nss_ce_apb_clk = { 287262306a36Sopenharmony_ci .halt_reg = 0x68174, 287362306a36Sopenharmony_ci .clkr = { 287462306a36Sopenharmony_ci .enable_reg = 0x68174, 287562306a36Sopenharmony_ci .enable_mask = BIT(0), 287662306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 287762306a36Sopenharmony_ci .name = "gcc_nss_ce_apb_clk", 287862306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 287962306a36Sopenharmony_ci &nss_ce_clk_src.clkr.hw }, 288062306a36Sopenharmony_ci .num_parents = 1, 288162306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 288262306a36Sopenharmony_ci .ops = &clk_branch2_ops, 288362306a36Sopenharmony_ci }, 288462306a36Sopenharmony_ci }, 288562306a36Sopenharmony_ci}; 288662306a36Sopenharmony_ci 288762306a36Sopenharmony_cistatic struct clk_branch gcc_nss_ce_axi_clk = { 288862306a36Sopenharmony_ci .halt_reg = 0x68170, 288962306a36Sopenharmony_ci .clkr = { 289062306a36Sopenharmony_ci .enable_reg = 0x68170, 289162306a36Sopenharmony_ci .enable_mask = BIT(0), 289262306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 289362306a36Sopenharmony_ci .name = "gcc_nss_ce_axi_clk", 289462306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 289562306a36Sopenharmony_ci &nss_ce_clk_src.clkr.hw }, 289662306a36Sopenharmony_ci .num_parents = 1, 289762306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 289862306a36Sopenharmony_ci .ops = &clk_branch2_ops, 289962306a36Sopenharmony_ci }, 290062306a36Sopenharmony_ci }, 290162306a36Sopenharmony_ci}; 290262306a36Sopenharmony_ci 290362306a36Sopenharmony_cistatic struct clk_branch gcc_nss_cfg_clk = { 290462306a36Sopenharmony_ci .halt_reg = 0x68160, 290562306a36Sopenharmony_ci .clkr = { 290662306a36Sopenharmony_ci .enable_reg = 0x68160, 290762306a36Sopenharmony_ci .enable_mask = BIT(0), 290862306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 290962306a36Sopenharmony_ci .name = "gcc_nss_cfg_clk", 291062306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 291162306a36Sopenharmony_ci &pcnoc_clk_src.hw }, 291262306a36Sopenharmony_ci .num_parents = 1, 291362306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 291462306a36Sopenharmony_ci .ops = &clk_branch2_ops, 291562306a36Sopenharmony_ci }, 291662306a36Sopenharmony_ci }, 291762306a36Sopenharmony_ci}; 291862306a36Sopenharmony_ci 291962306a36Sopenharmony_cistatic struct clk_branch gcc_nss_crypto_clk = { 292062306a36Sopenharmony_ci .halt_reg = 0x68164, 292162306a36Sopenharmony_ci .clkr = { 292262306a36Sopenharmony_ci .enable_reg = 0x68164, 292362306a36Sopenharmony_ci .enable_mask = BIT(0), 292462306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 292562306a36Sopenharmony_ci .name = "gcc_nss_crypto_clk", 292662306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 292762306a36Sopenharmony_ci &nss_crypto_clk_src.clkr.hw }, 292862306a36Sopenharmony_ci .num_parents = 1, 292962306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 293062306a36Sopenharmony_ci .ops = &clk_branch2_ops, 293162306a36Sopenharmony_ci }, 293262306a36Sopenharmony_ci }, 293362306a36Sopenharmony_ci}; 293462306a36Sopenharmony_ci 293562306a36Sopenharmony_cistatic struct clk_branch gcc_nss_csr_clk = { 293662306a36Sopenharmony_ci .halt_reg = 0x68318, 293762306a36Sopenharmony_ci .clkr = { 293862306a36Sopenharmony_ci .enable_reg = 0x68318, 293962306a36Sopenharmony_ci .enable_mask = BIT(0), 294062306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 294162306a36Sopenharmony_ci .name = "gcc_nss_csr_clk", 294262306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 294362306a36Sopenharmony_ci &nss_ce_clk_src.clkr.hw }, 294462306a36Sopenharmony_ci .num_parents = 1, 294562306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 294662306a36Sopenharmony_ci .ops = &clk_branch2_ops, 294762306a36Sopenharmony_ci }, 294862306a36Sopenharmony_ci }, 294962306a36Sopenharmony_ci}; 295062306a36Sopenharmony_ci 295162306a36Sopenharmony_cistatic struct clk_branch gcc_nss_edma_cfg_clk = { 295262306a36Sopenharmony_ci .halt_reg = 0x6819c, 295362306a36Sopenharmony_ci .clkr = { 295462306a36Sopenharmony_ci .enable_reg = 0x6819c, 295562306a36Sopenharmony_ci .enable_mask = BIT(0), 295662306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 295762306a36Sopenharmony_ci .name = "gcc_nss_edma_cfg_clk", 295862306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 295962306a36Sopenharmony_ci &nss_ppe_clk_src.clkr.hw }, 296062306a36Sopenharmony_ci .num_parents = 1, 296162306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 296262306a36Sopenharmony_ci .ops = &clk_branch2_ops, 296362306a36Sopenharmony_ci }, 296462306a36Sopenharmony_ci }, 296562306a36Sopenharmony_ci}; 296662306a36Sopenharmony_ci 296762306a36Sopenharmony_cistatic struct clk_branch gcc_nss_edma_clk = { 296862306a36Sopenharmony_ci .halt_reg = 0x68198, 296962306a36Sopenharmony_ci .clkr = { 297062306a36Sopenharmony_ci .enable_reg = 0x68198, 297162306a36Sopenharmony_ci .enable_mask = BIT(0), 297262306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 297362306a36Sopenharmony_ci .name = "gcc_nss_edma_clk", 297462306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 297562306a36Sopenharmony_ci &nss_ppe_clk_src.clkr.hw }, 297662306a36Sopenharmony_ci .num_parents = 1, 297762306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 297862306a36Sopenharmony_ci .ops = &clk_branch2_ops, 297962306a36Sopenharmony_ci }, 298062306a36Sopenharmony_ci }, 298162306a36Sopenharmony_ci}; 298262306a36Sopenharmony_ci 298362306a36Sopenharmony_cistatic struct clk_branch gcc_nss_imem_clk = { 298462306a36Sopenharmony_ci .halt_reg = 0x68178, 298562306a36Sopenharmony_ci .clkr = { 298662306a36Sopenharmony_ci .enable_reg = 0x68178, 298762306a36Sopenharmony_ci .enable_mask = BIT(0), 298862306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 298962306a36Sopenharmony_ci .name = "gcc_nss_imem_clk", 299062306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 299162306a36Sopenharmony_ci &nss_imem_clk_src.clkr.hw }, 299262306a36Sopenharmony_ci .num_parents = 1, 299362306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 299462306a36Sopenharmony_ci .ops = &clk_branch2_ops, 299562306a36Sopenharmony_ci }, 299662306a36Sopenharmony_ci }, 299762306a36Sopenharmony_ci}; 299862306a36Sopenharmony_ci 299962306a36Sopenharmony_cistatic struct clk_branch gcc_nss_noc_clk = { 300062306a36Sopenharmony_ci .halt_reg = 0x68168, 300162306a36Sopenharmony_ci .clkr = { 300262306a36Sopenharmony_ci .enable_reg = 0x68168, 300362306a36Sopenharmony_ci .enable_mask = BIT(0), 300462306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 300562306a36Sopenharmony_ci .name = "gcc_nss_noc_clk", 300662306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 300762306a36Sopenharmony_ci &nss_noc_clk_src.hw }, 300862306a36Sopenharmony_ci .num_parents = 1, 300962306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 301062306a36Sopenharmony_ci .ops = &clk_branch2_ops, 301162306a36Sopenharmony_ci }, 301262306a36Sopenharmony_ci }, 301362306a36Sopenharmony_ci}; 301462306a36Sopenharmony_ci 301562306a36Sopenharmony_cistatic struct clk_branch gcc_nss_ppe_btq_clk = { 301662306a36Sopenharmony_ci .halt_reg = 0x6833c, 301762306a36Sopenharmony_ci .clkr = { 301862306a36Sopenharmony_ci .enable_reg = 0x6833c, 301962306a36Sopenharmony_ci .enable_mask = BIT(0), 302062306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 302162306a36Sopenharmony_ci .name = "gcc_nss_ppe_btq_clk", 302262306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 302362306a36Sopenharmony_ci &nss_ppe_clk_src.clkr.hw }, 302462306a36Sopenharmony_ci .num_parents = 1, 302562306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 302662306a36Sopenharmony_ci .ops = &clk_branch2_ops, 302762306a36Sopenharmony_ci }, 302862306a36Sopenharmony_ci }, 302962306a36Sopenharmony_ci}; 303062306a36Sopenharmony_ci 303162306a36Sopenharmony_cistatic struct clk_branch gcc_nss_ppe_cfg_clk = { 303262306a36Sopenharmony_ci .halt_reg = 0x68194, 303362306a36Sopenharmony_ci .clkr = { 303462306a36Sopenharmony_ci .enable_reg = 0x68194, 303562306a36Sopenharmony_ci .enable_mask = BIT(0), 303662306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 303762306a36Sopenharmony_ci .name = "gcc_nss_ppe_cfg_clk", 303862306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 303962306a36Sopenharmony_ci &nss_ppe_clk_src.clkr.hw }, 304062306a36Sopenharmony_ci .num_parents = 1, 304162306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 304262306a36Sopenharmony_ci .ops = &clk_branch2_ops, 304362306a36Sopenharmony_ci }, 304462306a36Sopenharmony_ci }, 304562306a36Sopenharmony_ci}; 304662306a36Sopenharmony_ci 304762306a36Sopenharmony_cistatic struct clk_branch gcc_nss_ppe_clk = { 304862306a36Sopenharmony_ci .halt_reg = 0x68190, 304962306a36Sopenharmony_ci .clkr = { 305062306a36Sopenharmony_ci .enable_reg = 0x68190, 305162306a36Sopenharmony_ci .enable_mask = BIT(0), 305262306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 305362306a36Sopenharmony_ci .name = "gcc_nss_ppe_clk", 305462306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 305562306a36Sopenharmony_ci &nss_ppe_clk_src.clkr.hw }, 305662306a36Sopenharmony_ci .num_parents = 1, 305762306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 305862306a36Sopenharmony_ci .ops = &clk_branch2_ops, 305962306a36Sopenharmony_ci }, 306062306a36Sopenharmony_ci }, 306162306a36Sopenharmony_ci}; 306262306a36Sopenharmony_ci 306362306a36Sopenharmony_cistatic struct clk_branch gcc_nss_ppe_ipe_clk = { 306462306a36Sopenharmony_ci .halt_reg = 0x68338, 306562306a36Sopenharmony_ci .clkr = { 306662306a36Sopenharmony_ci .enable_reg = 0x68338, 306762306a36Sopenharmony_ci .enable_mask = BIT(0), 306862306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 306962306a36Sopenharmony_ci .name = "gcc_nss_ppe_ipe_clk", 307062306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 307162306a36Sopenharmony_ci &nss_ppe_clk_src.clkr.hw }, 307262306a36Sopenharmony_ci .num_parents = 1, 307362306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 307462306a36Sopenharmony_ci .ops = &clk_branch2_ops, 307562306a36Sopenharmony_ci }, 307662306a36Sopenharmony_ci }, 307762306a36Sopenharmony_ci}; 307862306a36Sopenharmony_ci 307962306a36Sopenharmony_cistatic struct clk_branch gcc_nss_ptp_ref_clk = { 308062306a36Sopenharmony_ci .halt_reg = 0x6816c, 308162306a36Sopenharmony_ci .clkr = { 308262306a36Sopenharmony_ci .enable_reg = 0x6816c, 308362306a36Sopenharmony_ci .enable_mask = BIT(0), 308462306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 308562306a36Sopenharmony_ci .name = "gcc_nss_ptp_ref_clk", 308662306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 308762306a36Sopenharmony_ci &nss_ppe_cdiv_clk_src.hw }, 308862306a36Sopenharmony_ci .num_parents = 1, 308962306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 309062306a36Sopenharmony_ci .ops = &clk_branch2_ops, 309162306a36Sopenharmony_ci }, 309262306a36Sopenharmony_ci }, 309362306a36Sopenharmony_ci}; 309462306a36Sopenharmony_ci 309562306a36Sopenharmony_cistatic struct clk_branch gcc_crypto_ppe_clk = { 309662306a36Sopenharmony_ci .halt_reg = 0x68310, 309762306a36Sopenharmony_ci .halt_bit = 31, 309862306a36Sopenharmony_ci .clkr = { 309962306a36Sopenharmony_ci .enable_reg = 0x68310, 310062306a36Sopenharmony_ci .enable_mask = BIT(0), 310162306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 310262306a36Sopenharmony_ci .name = "gcc_crypto_ppe_clk", 310362306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 310462306a36Sopenharmony_ci &nss_ppe_clk_src.clkr.hw }, 310562306a36Sopenharmony_ci .num_parents = 1, 310662306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 310762306a36Sopenharmony_ci .ops = &clk_branch2_ops, 310862306a36Sopenharmony_ci }, 310962306a36Sopenharmony_ci }, 311062306a36Sopenharmony_ci}; 311162306a36Sopenharmony_ci 311262306a36Sopenharmony_cistatic struct clk_branch gcc_nssnoc_ce_apb_clk = { 311362306a36Sopenharmony_ci .halt_reg = 0x6830c, 311462306a36Sopenharmony_ci .clkr = { 311562306a36Sopenharmony_ci .enable_reg = 0x6830c, 311662306a36Sopenharmony_ci .enable_mask = BIT(0), 311762306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 311862306a36Sopenharmony_ci .name = "gcc_nssnoc_ce_apb_clk", 311962306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 312062306a36Sopenharmony_ci &nss_ce_clk_src.clkr.hw }, 312162306a36Sopenharmony_ci .num_parents = 1, 312262306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 312362306a36Sopenharmony_ci .ops = &clk_branch2_ops, 312462306a36Sopenharmony_ci }, 312562306a36Sopenharmony_ci }, 312662306a36Sopenharmony_ci}; 312762306a36Sopenharmony_ci 312862306a36Sopenharmony_cistatic struct clk_branch gcc_nssnoc_ce_axi_clk = { 312962306a36Sopenharmony_ci .halt_reg = 0x68308, 313062306a36Sopenharmony_ci .clkr = { 313162306a36Sopenharmony_ci .enable_reg = 0x68308, 313262306a36Sopenharmony_ci .enable_mask = BIT(0), 313362306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 313462306a36Sopenharmony_ci .name = "gcc_nssnoc_ce_axi_clk", 313562306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 313662306a36Sopenharmony_ci &nss_ce_clk_src.clkr.hw }, 313762306a36Sopenharmony_ci .num_parents = 1, 313862306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 313962306a36Sopenharmony_ci .ops = &clk_branch2_ops, 314062306a36Sopenharmony_ci }, 314162306a36Sopenharmony_ci }, 314262306a36Sopenharmony_ci}; 314362306a36Sopenharmony_ci 314462306a36Sopenharmony_cistatic struct clk_branch gcc_nssnoc_crypto_clk = { 314562306a36Sopenharmony_ci .halt_reg = 0x68314, 314662306a36Sopenharmony_ci .clkr = { 314762306a36Sopenharmony_ci .enable_reg = 0x68314, 314862306a36Sopenharmony_ci .enable_mask = BIT(0), 314962306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 315062306a36Sopenharmony_ci .name = "gcc_nssnoc_crypto_clk", 315162306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 315262306a36Sopenharmony_ci &nss_crypto_clk_src.clkr.hw }, 315362306a36Sopenharmony_ci .num_parents = 1, 315462306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 315562306a36Sopenharmony_ci .ops = &clk_branch2_ops, 315662306a36Sopenharmony_ci }, 315762306a36Sopenharmony_ci }, 315862306a36Sopenharmony_ci}; 315962306a36Sopenharmony_ci 316062306a36Sopenharmony_cistatic struct clk_branch gcc_nssnoc_ppe_cfg_clk = { 316162306a36Sopenharmony_ci .halt_reg = 0x68304, 316262306a36Sopenharmony_ci .clkr = { 316362306a36Sopenharmony_ci .enable_reg = 0x68304, 316462306a36Sopenharmony_ci .enable_mask = BIT(0), 316562306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 316662306a36Sopenharmony_ci .name = "gcc_nssnoc_ppe_cfg_clk", 316762306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 316862306a36Sopenharmony_ci &nss_ppe_clk_src.clkr.hw }, 316962306a36Sopenharmony_ci .num_parents = 1, 317062306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 317162306a36Sopenharmony_ci .ops = &clk_branch2_ops, 317262306a36Sopenharmony_ci }, 317362306a36Sopenharmony_ci }, 317462306a36Sopenharmony_ci}; 317562306a36Sopenharmony_ci 317662306a36Sopenharmony_cistatic struct clk_branch gcc_nssnoc_ppe_clk = { 317762306a36Sopenharmony_ci .halt_reg = 0x68300, 317862306a36Sopenharmony_ci .clkr = { 317962306a36Sopenharmony_ci .enable_reg = 0x68300, 318062306a36Sopenharmony_ci .enable_mask = BIT(0), 318162306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 318262306a36Sopenharmony_ci .name = "gcc_nssnoc_ppe_clk", 318362306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 318462306a36Sopenharmony_ci &nss_ppe_clk_src.clkr.hw }, 318562306a36Sopenharmony_ci .num_parents = 1, 318662306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 318762306a36Sopenharmony_ci .ops = &clk_branch2_ops, 318862306a36Sopenharmony_ci }, 318962306a36Sopenharmony_ci }, 319062306a36Sopenharmony_ci}; 319162306a36Sopenharmony_ci 319262306a36Sopenharmony_cistatic struct clk_branch gcc_nssnoc_qosgen_ref_clk = { 319362306a36Sopenharmony_ci .halt_reg = 0x68180, 319462306a36Sopenharmony_ci .clkr = { 319562306a36Sopenharmony_ci .enable_reg = 0x68180, 319662306a36Sopenharmony_ci .enable_mask = BIT(0), 319762306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 319862306a36Sopenharmony_ci .name = "gcc_nssnoc_qosgen_ref_clk", 319962306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 320062306a36Sopenharmony_ci &gcc_xo_clk_src.clkr.hw }, 320162306a36Sopenharmony_ci .num_parents = 1, 320262306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 320362306a36Sopenharmony_ci .ops = &clk_branch2_ops, 320462306a36Sopenharmony_ci }, 320562306a36Sopenharmony_ci }, 320662306a36Sopenharmony_ci}; 320762306a36Sopenharmony_ci 320862306a36Sopenharmony_cistatic struct clk_branch gcc_nssnoc_snoc_clk = { 320962306a36Sopenharmony_ci .halt_reg = 0x68188, 321062306a36Sopenharmony_ci .clkr = { 321162306a36Sopenharmony_ci .enable_reg = 0x68188, 321262306a36Sopenharmony_ci .enable_mask = BIT(0), 321362306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 321462306a36Sopenharmony_ci .name = "gcc_nssnoc_snoc_clk", 321562306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 321662306a36Sopenharmony_ci &system_noc_clk_src.hw }, 321762306a36Sopenharmony_ci .num_parents = 1, 321862306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 321962306a36Sopenharmony_ci .ops = &clk_branch2_ops, 322062306a36Sopenharmony_ci }, 322162306a36Sopenharmony_ci }, 322262306a36Sopenharmony_ci}; 322362306a36Sopenharmony_ci 322462306a36Sopenharmony_cistatic struct clk_branch gcc_nssnoc_timeout_ref_clk = { 322562306a36Sopenharmony_ci .halt_reg = 0x68184, 322662306a36Sopenharmony_ci .clkr = { 322762306a36Sopenharmony_ci .enable_reg = 0x68184, 322862306a36Sopenharmony_ci .enable_mask = BIT(0), 322962306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 323062306a36Sopenharmony_ci .name = "gcc_nssnoc_timeout_ref_clk", 323162306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 323262306a36Sopenharmony_ci &gcc_xo_div4_clk_src.hw }, 323362306a36Sopenharmony_ci .num_parents = 1, 323462306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 323562306a36Sopenharmony_ci .ops = &clk_branch2_ops, 323662306a36Sopenharmony_ci }, 323762306a36Sopenharmony_ci }, 323862306a36Sopenharmony_ci}; 323962306a36Sopenharmony_ci 324062306a36Sopenharmony_cistatic struct clk_branch gcc_nssnoc_ubi0_ahb_clk = { 324162306a36Sopenharmony_ci .halt_reg = 0x68270, 324262306a36Sopenharmony_ci .clkr = { 324362306a36Sopenharmony_ci .enable_reg = 0x68270, 324462306a36Sopenharmony_ci .enable_mask = BIT(0), 324562306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 324662306a36Sopenharmony_ci .name = "gcc_nssnoc_ubi0_ahb_clk", 324762306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 324862306a36Sopenharmony_ci &nss_ce_clk_src.clkr.hw }, 324962306a36Sopenharmony_ci .num_parents = 1, 325062306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 325162306a36Sopenharmony_ci .ops = &clk_branch2_ops, 325262306a36Sopenharmony_ci }, 325362306a36Sopenharmony_ci }, 325462306a36Sopenharmony_ci}; 325562306a36Sopenharmony_ci 325662306a36Sopenharmony_cistatic struct clk_branch gcc_nssnoc_ubi1_ahb_clk = { 325762306a36Sopenharmony_ci .halt_reg = 0x68274, 325862306a36Sopenharmony_ci .clkr = { 325962306a36Sopenharmony_ci .enable_reg = 0x68274, 326062306a36Sopenharmony_ci .enable_mask = BIT(0), 326162306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 326262306a36Sopenharmony_ci .name = "gcc_nssnoc_ubi1_ahb_clk", 326362306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 326462306a36Sopenharmony_ci &nss_ce_clk_src.clkr.hw }, 326562306a36Sopenharmony_ci .num_parents = 1, 326662306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 326762306a36Sopenharmony_ci .ops = &clk_branch2_ops, 326862306a36Sopenharmony_ci }, 326962306a36Sopenharmony_ci }, 327062306a36Sopenharmony_ci}; 327162306a36Sopenharmony_ci 327262306a36Sopenharmony_cistatic struct clk_branch gcc_ubi0_ahb_clk = { 327362306a36Sopenharmony_ci .halt_reg = 0x6820c, 327462306a36Sopenharmony_ci .halt_check = BRANCH_HALT_DELAY, 327562306a36Sopenharmony_ci .clkr = { 327662306a36Sopenharmony_ci .enable_reg = 0x6820c, 327762306a36Sopenharmony_ci .enable_mask = BIT(0), 327862306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 327962306a36Sopenharmony_ci .name = "gcc_ubi0_ahb_clk", 328062306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 328162306a36Sopenharmony_ci &nss_ce_clk_src.clkr.hw }, 328262306a36Sopenharmony_ci .num_parents = 1, 328362306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 328462306a36Sopenharmony_ci .ops = &clk_branch2_ops, 328562306a36Sopenharmony_ci }, 328662306a36Sopenharmony_ci }, 328762306a36Sopenharmony_ci}; 328862306a36Sopenharmony_ci 328962306a36Sopenharmony_cistatic struct clk_branch gcc_ubi0_axi_clk = { 329062306a36Sopenharmony_ci .halt_reg = 0x68200, 329162306a36Sopenharmony_ci .halt_check = BRANCH_HALT_DELAY, 329262306a36Sopenharmony_ci .clkr = { 329362306a36Sopenharmony_ci .enable_reg = 0x68200, 329462306a36Sopenharmony_ci .enable_mask = BIT(0), 329562306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 329662306a36Sopenharmony_ci .name = "gcc_ubi0_axi_clk", 329762306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 329862306a36Sopenharmony_ci &nss_noc_clk_src.hw }, 329962306a36Sopenharmony_ci .num_parents = 1, 330062306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 330162306a36Sopenharmony_ci .ops = &clk_branch2_ops, 330262306a36Sopenharmony_ci }, 330362306a36Sopenharmony_ci }, 330462306a36Sopenharmony_ci}; 330562306a36Sopenharmony_ci 330662306a36Sopenharmony_cistatic struct clk_branch gcc_ubi0_nc_axi_clk = { 330762306a36Sopenharmony_ci .halt_reg = 0x68204, 330862306a36Sopenharmony_ci .halt_check = BRANCH_HALT_DELAY, 330962306a36Sopenharmony_ci .clkr = { 331062306a36Sopenharmony_ci .enable_reg = 0x68204, 331162306a36Sopenharmony_ci .enable_mask = BIT(0), 331262306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 331362306a36Sopenharmony_ci .name = "gcc_ubi0_nc_axi_clk", 331462306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 331562306a36Sopenharmony_ci &nss_noc_clk_src.hw }, 331662306a36Sopenharmony_ci .num_parents = 1, 331762306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 331862306a36Sopenharmony_ci .ops = &clk_branch2_ops, 331962306a36Sopenharmony_ci }, 332062306a36Sopenharmony_ci }, 332162306a36Sopenharmony_ci}; 332262306a36Sopenharmony_ci 332362306a36Sopenharmony_cistatic struct clk_branch gcc_ubi0_core_clk = { 332462306a36Sopenharmony_ci .halt_reg = 0x68210, 332562306a36Sopenharmony_ci .halt_check = BRANCH_HALT_DELAY, 332662306a36Sopenharmony_ci .clkr = { 332762306a36Sopenharmony_ci .enable_reg = 0x68210, 332862306a36Sopenharmony_ci .enable_mask = BIT(0), 332962306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 333062306a36Sopenharmony_ci .name = "gcc_ubi0_core_clk", 333162306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 333262306a36Sopenharmony_ci &nss_ubi0_div_clk_src.clkr.hw }, 333362306a36Sopenharmony_ci .num_parents = 1, 333462306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 333562306a36Sopenharmony_ci .ops = &clk_branch2_ops, 333662306a36Sopenharmony_ci }, 333762306a36Sopenharmony_ci }, 333862306a36Sopenharmony_ci}; 333962306a36Sopenharmony_ci 334062306a36Sopenharmony_cistatic struct clk_branch gcc_ubi0_mpt_clk = { 334162306a36Sopenharmony_ci .halt_reg = 0x68208, 334262306a36Sopenharmony_ci .halt_check = BRANCH_HALT_DELAY, 334362306a36Sopenharmony_ci .clkr = { 334462306a36Sopenharmony_ci .enable_reg = 0x68208, 334562306a36Sopenharmony_ci .enable_mask = BIT(0), 334662306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 334762306a36Sopenharmony_ci .name = "gcc_ubi0_mpt_clk", 334862306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 334962306a36Sopenharmony_ci &ubi_mpt_clk_src.clkr.hw }, 335062306a36Sopenharmony_ci .num_parents = 1, 335162306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 335262306a36Sopenharmony_ci .ops = &clk_branch2_ops, 335362306a36Sopenharmony_ci }, 335462306a36Sopenharmony_ci }, 335562306a36Sopenharmony_ci}; 335662306a36Sopenharmony_ci 335762306a36Sopenharmony_cistatic struct clk_branch gcc_ubi1_ahb_clk = { 335862306a36Sopenharmony_ci .halt_reg = 0x6822c, 335962306a36Sopenharmony_ci .halt_check = BRANCH_HALT_DELAY, 336062306a36Sopenharmony_ci .clkr = { 336162306a36Sopenharmony_ci .enable_reg = 0x6822c, 336262306a36Sopenharmony_ci .enable_mask = BIT(0), 336362306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 336462306a36Sopenharmony_ci .name = "gcc_ubi1_ahb_clk", 336562306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 336662306a36Sopenharmony_ci &nss_ce_clk_src.clkr.hw }, 336762306a36Sopenharmony_ci .num_parents = 1, 336862306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 336962306a36Sopenharmony_ci .ops = &clk_branch2_ops, 337062306a36Sopenharmony_ci }, 337162306a36Sopenharmony_ci }, 337262306a36Sopenharmony_ci}; 337362306a36Sopenharmony_ci 337462306a36Sopenharmony_cistatic struct clk_branch gcc_ubi1_axi_clk = { 337562306a36Sopenharmony_ci .halt_reg = 0x68220, 337662306a36Sopenharmony_ci .halt_check = BRANCH_HALT_DELAY, 337762306a36Sopenharmony_ci .clkr = { 337862306a36Sopenharmony_ci .enable_reg = 0x68220, 337962306a36Sopenharmony_ci .enable_mask = BIT(0), 338062306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 338162306a36Sopenharmony_ci .name = "gcc_ubi1_axi_clk", 338262306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 338362306a36Sopenharmony_ci &nss_noc_clk_src.hw }, 338462306a36Sopenharmony_ci .num_parents = 1, 338562306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 338662306a36Sopenharmony_ci .ops = &clk_branch2_ops, 338762306a36Sopenharmony_ci }, 338862306a36Sopenharmony_ci }, 338962306a36Sopenharmony_ci}; 339062306a36Sopenharmony_ci 339162306a36Sopenharmony_cistatic struct clk_branch gcc_ubi1_nc_axi_clk = { 339262306a36Sopenharmony_ci .halt_reg = 0x68224, 339362306a36Sopenharmony_ci .halt_check = BRANCH_HALT_DELAY, 339462306a36Sopenharmony_ci .clkr = { 339562306a36Sopenharmony_ci .enable_reg = 0x68224, 339662306a36Sopenharmony_ci .enable_mask = BIT(0), 339762306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 339862306a36Sopenharmony_ci .name = "gcc_ubi1_nc_axi_clk", 339962306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 340062306a36Sopenharmony_ci &nss_noc_clk_src.hw }, 340162306a36Sopenharmony_ci .num_parents = 1, 340262306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 340362306a36Sopenharmony_ci .ops = &clk_branch2_ops, 340462306a36Sopenharmony_ci }, 340562306a36Sopenharmony_ci }, 340662306a36Sopenharmony_ci}; 340762306a36Sopenharmony_ci 340862306a36Sopenharmony_cistatic struct clk_branch gcc_ubi1_core_clk = { 340962306a36Sopenharmony_ci .halt_reg = 0x68230, 341062306a36Sopenharmony_ci .halt_check = BRANCH_HALT_DELAY, 341162306a36Sopenharmony_ci .clkr = { 341262306a36Sopenharmony_ci .enable_reg = 0x68230, 341362306a36Sopenharmony_ci .enable_mask = BIT(0), 341462306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 341562306a36Sopenharmony_ci .name = "gcc_ubi1_core_clk", 341662306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 341762306a36Sopenharmony_ci &nss_ubi1_div_clk_src.clkr.hw }, 341862306a36Sopenharmony_ci .num_parents = 1, 341962306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 342062306a36Sopenharmony_ci .ops = &clk_branch2_ops, 342162306a36Sopenharmony_ci }, 342262306a36Sopenharmony_ci }, 342362306a36Sopenharmony_ci}; 342462306a36Sopenharmony_ci 342562306a36Sopenharmony_cistatic struct clk_branch gcc_ubi1_mpt_clk = { 342662306a36Sopenharmony_ci .halt_reg = 0x68228, 342762306a36Sopenharmony_ci .halt_check = BRANCH_HALT_DELAY, 342862306a36Sopenharmony_ci .clkr = { 342962306a36Sopenharmony_ci .enable_reg = 0x68228, 343062306a36Sopenharmony_ci .enable_mask = BIT(0), 343162306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 343262306a36Sopenharmony_ci .name = "gcc_ubi1_mpt_clk", 343362306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 343462306a36Sopenharmony_ci &ubi_mpt_clk_src.clkr.hw }, 343562306a36Sopenharmony_ci .num_parents = 1, 343662306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 343762306a36Sopenharmony_ci .ops = &clk_branch2_ops, 343862306a36Sopenharmony_ci }, 343962306a36Sopenharmony_ci }, 344062306a36Sopenharmony_ci}; 344162306a36Sopenharmony_ci 344262306a36Sopenharmony_cistatic struct clk_branch gcc_cmn_12gpll_ahb_clk = { 344362306a36Sopenharmony_ci .halt_reg = 0x56308, 344462306a36Sopenharmony_ci .clkr = { 344562306a36Sopenharmony_ci .enable_reg = 0x56308, 344662306a36Sopenharmony_ci .enable_mask = BIT(0), 344762306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 344862306a36Sopenharmony_ci .name = "gcc_cmn_12gpll_ahb_clk", 344962306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 345062306a36Sopenharmony_ci &pcnoc_clk_src.hw }, 345162306a36Sopenharmony_ci .num_parents = 1, 345262306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 345362306a36Sopenharmony_ci .ops = &clk_branch2_ops, 345462306a36Sopenharmony_ci }, 345562306a36Sopenharmony_ci }, 345662306a36Sopenharmony_ci}; 345762306a36Sopenharmony_ci 345862306a36Sopenharmony_cistatic struct clk_branch gcc_cmn_12gpll_sys_clk = { 345962306a36Sopenharmony_ci .halt_reg = 0x5630c, 346062306a36Sopenharmony_ci .clkr = { 346162306a36Sopenharmony_ci .enable_reg = 0x5630c, 346262306a36Sopenharmony_ci .enable_mask = BIT(0), 346362306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 346462306a36Sopenharmony_ci .name = "gcc_cmn_12gpll_sys_clk", 346562306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 346662306a36Sopenharmony_ci &gcc_xo_clk_src.clkr.hw }, 346762306a36Sopenharmony_ci .num_parents = 1, 346862306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 346962306a36Sopenharmony_ci .ops = &clk_branch2_ops, 347062306a36Sopenharmony_ci }, 347162306a36Sopenharmony_ci }, 347262306a36Sopenharmony_ci}; 347362306a36Sopenharmony_ci 347462306a36Sopenharmony_cistatic struct clk_branch gcc_mdio_ahb_clk = { 347562306a36Sopenharmony_ci .halt_reg = 0x58004, 347662306a36Sopenharmony_ci .clkr = { 347762306a36Sopenharmony_ci .enable_reg = 0x58004, 347862306a36Sopenharmony_ci .enable_mask = BIT(0), 347962306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 348062306a36Sopenharmony_ci .name = "gcc_mdio_ahb_clk", 348162306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 348262306a36Sopenharmony_ci &pcnoc_clk_src.hw }, 348362306a36Sopenharmony_ci .num_parents = 1, 348462306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 348562306a36Sopenharmony_ci .ops = &clk_branch2_ops, 348662306a36Sopenharmony_ci }, 348762306a36Sopenharmony_ci }, 348862306a36Sopenharmony_ci}; 348962306a36Sopenharmony_ci 349062306a36Sopenharmony_cistatic struct clk_branch gcc_uniphy0_ahb_clk = { 349162306a36Sopenharmony_ci .halt_reg = 0x56008, 349262306a36Sopenharmony_ci .clkr = { 349362306a36Sopenharmony_ci .enable_reg = 0x56008, 349462306a36Sopenharmony_ci .enable_mask = BIT(0), 349562306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 349662306a36Sopenharmony_ci .name = "gcc_uniphy0_ahb_clk", 349762306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 349862306a36Sopenharmony_ci &pcnoc_clk_src.hw }, 349962306a36Sopenharmony_ci .num_parents = 1, 350062306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 350162306a36Sopenharmony_ci .ops = &clk_branch2_ops, 350262306a36Sopenharmony_ci }, 350362306a36Sopenharmony_ci }, 350462306a36Sopenharmony_ci}; 350562306a36Sopenharmony_ci 350662306a36Sopenharmony_cistatic struct clk_branch gcc_uniphy0_sys_clk = { 350762306a36Sopenharmony_ci .halt_reg = 0x5600c, 350862306a36Sopenharmony_ci .clkr = { 350962306a36Sopenharmony_ci .enable_reg = 0x5600c, 351062306a36Sopenharmony_ci .enable_mask = BIT(0), 351162306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 351262306a36Sopenharmony_ci .name = "gcc_uniphy0_sys_clk", 351362306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 351462306a36Sopenharmony_ci &gcc_xo_clk_src.clkr.hw }, 351562306a36Sopenharmony_ci .num_parents = 1, 351662306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 351762306a36Sopenharmony_ci .ops = &clk_branch2_ops, 351862306a36Sopenharmony_ci }, 351962306a36Sopenharmony_ci }, 352062306a36Sopenharmony_ci}; 352162306a36Sopenharmony_ci 352262306a36Sopenharmony_cistatic struct clk_branch gcc_uniphy1_ahb_clk = { 352362306a36Sopenharmony_ci .halt_reg = 0x56108, 352462306a36Sopenharmony_ci .clkr = { 352562306a36Sopenharmony_ci .enable_reg = 0x56108, 352662306a36Sopenharmony_ci .enable_mask = BIT(0), 352762306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 352862306a36Sopenharmony_ci .name = "gcc_uniphy1_ahb_clk", 352962306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 353062306a36Sopenharmony_ci &pcnoc_clk_src.hw }, 353162306a36Sopenharmony_ci .num_parents = 1, 353262306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 353362306a36Sopenharmony_ci .ops = &clk_branch2_ops, 353462306a36Sopenharmony_ci }, 353562306a36Sopenharmony_ci }, 353662306a36Sopenharmony_ci}; 353762306a36Sopenharmony_ci 353862306a36Sopenharmony_cistatic struct clk_branch gcc_uniphy1_sys_clk = { 353962306a36Sopenharmony_ci .halt_reg = 0x5610c, 354062306a36Sopenharmony_ci .clkr = { 354162306a36Sopenharmony_ci .enable_reg = 0x5610c, 354262306a36Sopenharmony_ci .enable_mask = BIT(0), 354362306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 354462306a36Sopenharmony_ci .name = "gcc_uniphy1_sys_clk", 354562306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 354662306a36Sopenharmony_ci &gcc_xo_clk_src.clkr.hw }, 354762306a36Sopenharmony_ci .num_parents = 1, 354862306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 354962306a36Sopenharmony_ci .ops = &clk_branch2_ops, 355062306a36Sopenharmony_ci }, 355162306a36Sopenharmony_ci }, 355262306a36Sopenharmony_ci}; 355362306a36Sopenharmony_ci 355462306a36Sopenharmony_cistatic struct clk_branch gcc_uniphy2_ahb_clk = { 355562306a36Sopenharmony_ci .halt_reg = 0x56208, 355662306a36Sopenharmony_ci .clkr = { 355762306a36Sopenharmony_ci .enable_reg = 0x56208, 355862306a36Sopenharmony_ci .enable_mask = BIT(0), 355962306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 356062306a36Sopenharmony_ci .name = "gcc_uniphy2_ahb_clk", 356162306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 356262306a36Sopenharmony_ci &pcnoc_clk_src.hw }, 356362306a36Sopenharmony_ci .num_parents = 1, 356462306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 356562306a36Sopenharmony_ci .ops = &clk_branch2_ops, 356662306a36Sopenharmony_ci }, 356762306a36Sopenharmony_ci }, 356862306a36Sopenharmony_ci}; 356962306a36Sopenharmony_ci 357062306a36Sopenharmony_cistatic struct clk_branch gcc_uniphy2_sys_clk = { 357162306a36Sopenharmony_ci .halt_reg = 0x5620c, 357262306a36Sopenharmony_ci .clkr = { 357362306a36Sopenharmony_ci .enable_reg = 0x5620c, 357462306a36Sopenharmony_ci .enable_mask = BIT(0), 357562306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 357662306a36Sopenharmony_ci .name = "gcc_uniphy2_sys_clk", 357762306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 357862306a36Sopenharmony_ci &gcc_xo_clk_src.clkr.hw }, 357962306a36Sopenharmony_ci .num_parents = 1, 358062306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 358162306a36Sopenharmony_ci .ops = &clk_branch2_ops, 358262306a36Sopenharmony_ci }, 358362306a36Sopenharmony_ci }, 358462306a36Sopenharmony_ci}; 358562306a36Sopenharmony_ci 358662306a36Sopenharmony_cistatic struct clk_branch gcc_nss_port1_rx_clk = { 358762306a36Sopenharmony_ci .halt_reg = 0x68240, 358862306a36Sopenharmony_ci .clkr = { 358962306a36Sopenharmony_ci .enable_reg = 0x68240, 359062306a36Sopenharmony_ci .enable_mask = BIT(0), 359162306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 359262306a36Sopenharmony_ci .name = "gcc_nss_port1_rx_clk", 359362306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 359462306a36Sopenharmony_ci &nss_port1_rx_div_clk_src.clkr.hw }, 359562306a36Sopenharmony_ci .num_parents = 1, 359662306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 359762306a36Sopenharmony_ci .ops = &clk_branch2_ops, 359862306a36Sopenharmony_ci }, 359962306a36Sopenharmony_ci }, 360062306a36Sopenharmony_ci}; 360162306a36Sopenharmony_ci 360262306a36Sopenharmony_cistatic struct clk_branch gcc_nss_port1_tx_clk = { 360362306a36Sopenharmony_ci .halt_reg = 0x68244, 360462306a36Sopenharmony_ci .clkr = { 360562306a36Sopenharmony_ci .enable_reg = 0x68244, 360662306a36Sopenharmony_ci .enable_mask = BIT(0), 360762306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 360862306a36Sopenharmony_ci .name = "gcc_nss_port1_tx_clk", 360962306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 361062306a36Sopenharmony_ci &nss_port1_tx_div_clk_src.clkr.hw }, 361162306a36Sopenharmony_ci .num_parents = 1, 361262306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 361362306a36Sopenharmony_ci .ops = &clk_branch2_ops, 361462306a36Sopenharmony_ci }, 361562306a36Sopenharmony_ci }, 361662306a36Sopenharmony_ci}; 361762306a36Sopenharmony_ci 361862306a36Sopenharmony_cistatic struct clk_branch gcc_nss_port2_rx_clk = { 361962306a36Sopenharmony_ci .halt_reg = 0x68248, 362062306a36Sopenharmony_ci .clkr = { 362162306a36Sopenharmony_ci .enable_reg = 0x68248, 362262306a36Sopenharmony_ci .enable_mask = BIT(0), 362362306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 362462306a36Sopenharmony_ci .name = "gcc_nss_port2_rx_clk", 362562306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 362662306a36Sopenharmony_ci &nss_port2_rx_div_clk_src.clkr.hw }, 362762306a36Sopenharmony_ci .num_parents = 1, 362862306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 362962306a36Sopenharmony_ci .ops = &clk_branch2_ops, 363062306a36Sopenharmony_ci }, 363162306a36Sopenharmony_ci }, 363262306a36Sopenharmony_ci}; 363362306a36Sopenharmony_ci 363462306a36Sopenharmony_cistatic struct clk_branch gcc_nss_port2_tx_clk = { 363562306a36Sopenharmony_ci .halt_reg = 0x6824c, 363662306a36Sopenharmony_ci .clkr = { 363762306a36Sopenharmony_ci .enable_reg = 0x6824c, 363862306a36Sopenharmony_ci .enable_mask = BIT(0), 363962306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 364062306a36Sopenharmony_ci .name = "gcc_nss_port2_tx_clk", 364162306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 364262306a36Sopenharmony_ci &nss_port2_tx_div_clk_src.clkr.hw }, 364362306a36Sopenharmony_ci .num_parents = 1, 364462306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 364562306a36Sopenharmony_ci .ops = &clk_branch2_ops, 364662306a36Sopenharmony_ci }, 364762306a36Sopenharmony_ci }, 364862306a36Sopenharmony_ci}; 364962306a36Sopenharmony_ci 365062306a36Sopenharmony_cistatic struct clk_branch gcc_nss_port3_rx_clk = { 365162306a36Sopenharmony_ci .halt_reg = 0x68250, 365262306a36Sopenharmony_ci .clkr = { 365362306a36Sopenharmony_ci .enable_reg = 0x68250, 365462306a36Sopenharmony_ci .enable_mask = BIT(0), 365562306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 365662306a36Sopenharmony_ci .name = "gcc_nss_port3_rx_clk", 365762306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 365862306a36Sopenharmony_ci &nss_port3_rx_div_clk_src.clkr.hw }, 365962306a36Sopenharmony_ci .num_parents = 1, 366062306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 366162306a36Sopenharmony_ci .ops = &clk_branch2_ops, 366262306a36Sopenharmony_ci }, 366362306a36Sopenharmony_ci }, 366462306a36Sopenharmony_ci}; 366562306a36Sopenharmony_ci 366662306a36Sopenharmony_cistatic struct clk_branch gcc_nss_port3_tx_clk = { 366762306a36Sopenharmony_ci .halt_reg = 0x68254, 366862306a36Sopenharmony_ci .clkr = { 366962306a36Sopenharmony_ci .enable_reg = 0x68254, 367062306a36Sopenharmony_ci .enable_mask = BIT(0), 367162306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 367262306a36Sopenharmony_ci .name = "gcc_nss_port3_tx_clk", 367362306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 367462306a36Sopenharmony_ci &nss_port3_tx_div_clk_src.clkr.hw }, 367562306a36Sopenharmony_ci .num_parents = 1, 367662306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 367762306a36Sopenharmony_ci .ops = &clk_branch2_ops, 367862306a36Sopenharmony_ci }, 367962306a36Sopenharmony_ci }, 368062306a36Sopenharmony_ci}; 368162306a36Sopenharmony_ci 368262306a36Sopenharmony_cistatic struct clk_branch gcc_nss_port4_rx_clk = { 368362306a36Sopenharmony_ci .halt_reg = 0x68258, 368462306a36Sopenharmony_ci .clkr = { 368562306a36Sopenharmony_ci .enable_reg = 0x68258, 368662306a36Sopenharmony_ci .enable_mask = BIT(0), 368762306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 368862306a36Sopenharmony_ci .name = "gcc_nss_port4_rx_clk", 368962306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 369062306a36Sopenharmony_ci &nss_port4_rx_div_clk_src.clkr.hw }, 369162306a36Sopenharmony_ci .num_parents = 1, 369262306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 369362306a36Sopenharmony_ci .ops = &clk_branch2_ops, 369462306a36Sopenharmony_ci }, 369562306a36Sopenharmony_ci }, 369662306a36Sopenharmony_ci}; 369762306a36Sopenharmony_ci 369862306a36Sopenharmony_cistatic struct clk_branch gcc_nss_port4_tx_clk = { 369962306a36Sopenharmony_ci .halt_reg = 0x6825c, 370062306a36Sopenharmony_ci .clkr = { 370162306a36Sopenharmony_ci .enable_reg = 0x6825c, 370262306a36Sopenharmony_ci .enable_mask = BIT(0), 370362306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 370462306a36Sopenharmony_ci .name = "gcc_nss_port4_tx_clk", 370562306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 370662306a36Sopenharmony_ci &nss_port4_tx_div_clk_src.clkr.hw }, 370762306a36Sopenharmony_ci .num_parents = 1, 370862306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 370962306a36Sopenharmony_ci .ops = &clk_branch2_ops, 371062306a36Sopenharmony_ci }, 371162306a36Sopenharmony_ci }, 371262306a36Sopenharmony_ci}; 371362306a36Sopenharmony_ci 371462306a36Sopenharmony_cistatic struct clk_branch gcc_nss_port5_rx_clk = { 371562306a36Sopenharmony_ci .halt_reg = 0x68260, 371662306a36Sopenharmony_ci .clkr = { 371762306a36Sopenharmony_ci .enable_reg = 0x68260, 371862306a36Sopenharmony_ci .enable_mask = BIT(0), 371962306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 372062306a36Sopenharmony_ci .name = "gcc_nss_port5_rx_clk", 372162306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 372262306a36Sopenharmony_ci &nss_port5_rx_div_clk_src.clkr.hw }, 372362306a36Sopenharmony_ci .num_parents = 1, 372462306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 372562306a36Sopenharmony_ci .ops = &clk_branch2_ops, 372662306a36Sopenharmony_ci }, 372762306a36Sopenharmony_ci }, 372862306a36Sopenharmony_ci}; 372962306a36Sopenharmony_ci 373062306a36Sopenharmony_cistatic struct clk_branch gcc_nss_port5_tx_clk = { 373162306a36Sopenharmony_ci .halt_reg = 0x68264, 373262306a36Sopenharmony_ci .clkr = { 373362306a36Sopenharmony_ci .enable_reg = 0x68264, 373462306a36Sopenharmony_ci .enable_mask = BIT(0), 373562306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 373662306a36Sopenharmony_ci .name = "gcc_nss_port5_tx_clk", 373762306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 373862306a36Sopenharmony_ci &nss_port5_tx_div_clk_src.clkr.hw }, 373962306a36Sopenharmony_ci .num_parents = 1, 374062306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 374162306a36Sopenharmony_ci .ops = &clk_branch2_ops, 374262306a36Sopenharmony_ci }, 374362306a36Sopenharmony_ci }, 374462306a36Sopenharmony_ci}; 374562306a36Sopenharmony_ci 374662306a36Sopenharmony_cistatic struct clk_branch gcc_nss_port6_rx_clk = { 374762306a36Sopenharmony_ci .halt_reg = 0x68268, 374862306a36Sopenharmony_ci .clkr = { 374962306a36Sopenharmony_ci .enable_reg = 0x68268, 375062306a36Sopenharmony_ci .enable_mask = BIT(0), 375162306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 375262306a36Sopenharmony_ci .name = "gcc_nss_port6_rx_clk", 375362306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 375462306a36Sopenharmony_ci &nss_port6_rx_div_clk_src.clkr.hw }, 375562306a36Sopenharmony_ci .num_parents = 1, 375662306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 375762306a36Sopenharmony_ci .ops = &clk_branch2_ops, 375862306a36Sopenharmony_ci }, 375962306a36Sopenharmony_ci }, 376062306a36Sopenharmony_ci}; 376162306a36Sopenharmony_ci 376262306a36Sopenharmony_cistatic struct clk_branch gcc_nss_port6_tx_clk = { 376362306a36Sopenharmony_ci .halt_reg = 0x6826c, 376462306a36Sopenharmony_ci .clkr = { 376562306a36Sopenharmony_ci .enable_reg = 0x6826c, 376662306a36Sopenharmony_ci .enable_mask = BIT(0), 376762306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 376862306a36Sopenharmony_ci .name = "gcc_nss_port6_tx_clk", 376962306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 377062306a36Sopenharmony_ci &nss_port6_tx_div_clk_src.clkr.hw }, 377162306a36Sopenharmony_ci .num_parents = 1, 377262306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 377362306a36Sopenharmony_ci .ops = &clk_branch2_ops, 377462306a36Sopenharmony_ci }, 377562306a36Sopenharmony_ci }, 377662306a36Sopenharmony_ci}; 377762306a36Sopenharmony_ci 377862306a36Sopenharmony_cistatic struct clk_branch gcc_port1_mac_clk = { 377962306a36Sopenharmony_ci .halt_reg = 0x68320, 378062306a36Sopenharmony_ci .clkr = { 378162306a36Sopenharmony_ci .enable_reg = 0x68320, 378262306a36Sopenharmony_ci .enable_mask = BIT(0), 378362306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 378462306a36Sopenharmony_ci .name = "gcc_port1_mac_clk", 378562306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 378662306a36Sopenharmony_ci &nss_ppe_clk_src.clkr.hw }, 378762306a36Sopenharmony_ci .num_parents = 1, 378862306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 378962306a36Sopenharmony_ci .ops = &clk_branch2_ops, 379062306a36Sopenharmony_ci }, 379162306a36Sopenharmony_ci }, 379262306a36Sopenharmony_ci}; 379362306a36Sopenharmony_ci 379462306a36Sopenharmony_cistatic struct clk_branch gcc_port2_mac_clk = { 379562306a36Sopenharmony_ci .halt_reg = 0x68324, 379662306a36Sopenharmony_ci .clkr = { 379762306a36Sopenharmony_ci .enable_reg = 0x68324, 379862306a36Sopenharmony_ci .enable_mask = BIT(0), 379962306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 380062306a36Sopenharmony_ci .name = "gcc_port2_mac_clk", 380162306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 380262306a36Sopenharmony_ci &nss_ppe_clk_src.clkr.hw }, 380362306a36Sopenharmony_ci .num_parents = 1, 380462306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 380562306a36Sopenharmony_ci .ops = &clk_branch2_ops, 380662306a36Sopenharmony_ci }, 380762306a36Sopenharmony_ci }, 380862306a36Sopenharmony_ci}; 380962306a36Sopenharmony_ci 381062306a36Sopenharmony_cistatic struct clk_branch gcc_port3_mac_clk = { 381162306a36Sopenharmony_ci .halt_reg = 0x68328, 381262306a36Sopenharmony_ci .clkr = { 381362306a36Sopenharmony_ci .enable_reg = 0x68328, 381462306a36Sopenharmony_ci .enable_mask = BIT(0), 381562306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 381662306a36Sopenharmony_ci .name = "gcc_port3_mac_clk", 381762306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 381862306a36Sopenharmony_ci &nss_ppe_clk_src.clkr.hw }, 381962306a36Sopenharmony_ci .num_parents = 1, 382062306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 382162306a36Sopenharmony_ci .ops = &clk_branch2_ops, 382262306a36Sopenharmony_ci }, 382362306a36Sopenharmony_ci }, 382462306a36Sopenharmony_ci}; 382562306a36Sopenharmony_ci 382662306a36Sopenharmony_cistatic struct clk_branch gcc_port4_mac_clk = { 382762306a36Sopenharmony_ci .halt_reg = 0x6832c, 382862306a36Sopenharmony_ci .clkr = { 382962306a36Sopenharmony_ci .enable_reg = 0x6832c, 383062306a36Sopenharmony_ci .enable_mask = BIT(0), 383162306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 383262306a36Sopenharmony_ci .name = "gcc_port4_mac_clk", 383362306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 383462306a36Sopenharmony_ci &nss_ppe_clk_src.clkr.hw }, 383562306a36Sopenharmony_ci .num_parents = 1, 383662306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 383762306a36Sopenharmony_ci .ops = &clk_branch2_ops, 383862306a36Sopenharmony_ci }, 383962306a36Sopenharmony_ci }, 384062306a36Sopenharmony_ci}; 384162306a36Sopenharmony_ci 384262306a36Sopenharmony_cistatic struct clk_branch gcc_port5_mac_clk = { 384362306a36Sopenharmony_ci .halt_reg = 0x68330, 384462306a36Sopenharmony_ci .clkr = { 384562306a36Sopenharmony_ci .enable_reg = 0x68330, 384662306a36Sopenharmony_ci .enable_mask = BIT(0), 384762306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 384862306a36Sopenharmony_ci .name = "gcc_port5_mac_clk", 384962306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 385062306a36Sopenharmony_ci &nss_ppe_clk_src.clkr.hw }, 385162306a36Sopenharmony_ci .num_parents = 1, 385262306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 385362306a36Sopenharmony_ci .ops = &clk_branch2_ops, 385462306a36Sopenharmony_ci }, 385562306a36Sopenharmony_ci }, 385662306a36Sopenharmony_ci}; 385762306a36Sopenharmony_ci 385862306a36Sopenharmony_cistatic struct clk_branch gcc_port6_mac_clk = { 385962306a36Sopenharmony_ci .halt_reg = 0x68334, 386062306a36Sopenharmony_ci .clkr = { 386162306a36Sopenharmony_ci .enable_reg = 0x68334, 386262306a36Sopenharmony_ci .enable_mask = BIT(0), 386362306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 386462306a36Sopenharmony_ci .name = "gcc_port6_mac_clk", 386562306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 386662306a36Sopenharmony_ci &nss_ppe_clk_src.clkr.hw }, 386762306a36Sopenharmony_ci .num_parents = 1, 386862306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 386962306a36Sopenharmony_ci .ops = &clk_branch2_ops, 387062306a36Sopenharmony_ci }, 387162306a36Sopenharmony_ci }, 387262306a36Sopenharmony_ci}; 387362306a36Sopenharmony_ci 387462306a36Sopenharmony_cistatic struct clk_branch gcc_uniphy0_port1_rx_clk = { 387562306a36Sopenharmony_ci .halt_reg = 0x56010, 387662306a36Sopenharmony_ci .clkr = { 387762306a36Sopenharmony_ci .enable_reg = 0x56010, 387862306a36Sopenharmony_ci .enable_mask = BIT(0), 387962306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 388062306a36Sopenharmony_ci .name = "gcc_uniphy0_port1_rx_clk", 388162306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 388262306a36Sopenharmony_ci &nss_port1_rx_div_clk_src.clkr.hw }, 388362306a36Sopenharmony_ci .num_parents = 1, 388462306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 388562306a36Sopenharmony_ci .ops = &clk_branch2_ops, 388662306a36Sopenharmony_ci }, 388762306a36Sopenharmony_ci }, 388862306a36Sopenharmony_ci}; 388962306a36Sopenharmony_ci 389062306a36Sopenharmony_cistatic struct clk_branch gcc_uniphy0_port1_tx_clk = { 389162306a36Sopenharmony_ci .halt_reg = 0x56014, 389262306a36Sopenharmony_ci .clkr = { 389362306a36Sopenharmony_ci .enable_reg = 0x56014, 389462306a36Sopenharmony_ci .enable_mask = BIT(0), 389562306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 389662306a36Sopenharmony_ci .name = "gcc_uniphy0_port1_tx_clk", 389762306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 389862306a36Sopenharmony_ci &nss_port1_tx_div_clk_src.clkr.hw }, 389962306a36Sopenharmony_ci .num_parents = 1, 390062306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 390162306a36Sopenharmony_ci .ops = &clk_branch2_ops, 390262306a36Sopenharmony_ci }, 390362306a36Sopenharmony_ci }, 390462306a36Sopenharmony_ci}; 390562306a36Sopenharmony_ci 390662306a36Sopenharmony_cistatic struct clk_branch gcc_uniphy0_port2_rx_clk = { 390762306a36Sopenharmony_ci .halt_reg = 0x56018, 390862306a36Sopenharmony_ci .clkr = { 390962306a36Sopenharmony_ci .enable_reg = 0x56018, 391062306a36Sopenharmony_ci .enable_mask = BIT(0), 391162306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 391262306a36Sopenharmony_ci .name = "gcc_uniphy0_port2_rx_clk", 391362306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 391462306a36Sopenharmony_ci &nss_port2_rx_div_clk_src.clkr.hw }, 391562306a36Sopenharmony_ci .num_parents = 1, 391662306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 391762306a36Sopenharmony_ci .ops = &clk_branch2_ops, 391862306a36Sopenharmony_ci }, 391962306a36Sopenharmony_ci }, 392062306a36Sopenharmony_ci}; 392162306a36Sopenharmony_ci 392262306a36Sopenharmony_cistatic struct clk_branch gcc_uniphy0_port2_tx_clk = { 392362306a36Sopenharmony_ci .halt_reg = 0x5601c, 392462306a36Sopenharmony_ci .clkr = { 392562306a36Sopenharmony_ci .enable_reg = 0x5601c, 392662306a36Sopenharmony_ci .enable_mask = BIT(0), 392762306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 392862306a36Sopenharmony_ci .name = "gcc_uniphy0_port2_tx_clk", 392962306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 393062306a36Sopenharmony_ci &nss_port2_tx_div_clk_src.clkr.hw }, 393162306a36Sopenharmony_ci .num_parents = 1, 393262306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 393362306a36Sopenharmony_ci .ops = &clk_branch2_ops, 393462306a36Sopenharmony_ci }, 393562306a36Sopenharmony_ci }, 393662306a36Sopenharmony_ci}; 393762306a36Sopenharmony_ci 393862306a36Sopenharmony_cistatic struct clk_branch gcc_uniphy0_port3_rx_clk = { 393962306a36Sopenharmony_ci .halt_reg = 0x56020, 394062306a36Sopenharmony_ci .clkr = { 394162306a36Sopenharmony_ci .enable_reg = 0x56020, 394262306a36Sopenharmony_ci .enable_mask = BIT(0), 394362306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 394462306a36Sopenharmony_ci .name = "gcc_uniphy0_port3_rx_clk", 394562306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 394662306a36Sopenharmony_ci &nss_port3_rx_div_clk_src.clkr.hw }, 394762306a36Sopenharmony_ci .num_parents = 1, 394862306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 394962306a36Sopenharmony_ci .ops = &clk_branch2_ops, 395062306a36Sopenharmony_ci }, 395162306a36Sopenharmony_ci }, 395262306a36Sopenharmony_ci}; 395362306a36Sopenharmony_ci 395462306a36Sopenharmony_cistatic struct clk_branch gcc_uniphy0_port3_tx_clk = { 395562306a36Sopenharmony_ci .halt_reg = 0x56024, 395662306a36Sopenharmony_ci .clkr = { 395762306a36Sopenharmony_ci .enable_reg = 0x56024, 395862306a36Sopenharmony_ci .enable_mask = BIT(0), 395962306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 396062306a36Sopenharmony_ci .name = "gcc_uniphy0_port3_tx_clk", 396162306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 396262306a36Sopenharmony_ci &nss_port3_tx_div_clk_src.clkr.hw }, 396362306a36Sopenharmony_ci .num_parents = 1, 396462306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 396562306a36Sopenharmony_ci .ops = &clk_branch2_ops, 396662306a36Sopenharmony_ci }, 396762306a36Sopenharmony_ci }, 396862306a36Sopenharmony_ci}; 396962306a36Sopenharmony_ci 397062306a36Sopenharmony_cistatic struct clk_branch gcc_uniphy0_port4_rx_clk = { 397162306a36Sopenharmony_ci .halt_reg = 0x56028, 397262306a36Sopenharmony_ci .clkr = { 397362306a36Sopenharmony_ci .enable_reg = 0x56028, 397462306a36Sopenharmony_ci .enable_mask = BIT(0), 397562306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 397662306a36Sopenharmony_ci .name = "gcc_uniphy0_port4_rx_clk", 397762306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 397862306a36Sopenharmony_ci &nss_port4_rx_div_clk_src.clkr.hw }, 397962306a36Sopenharmony_ci .num_parents = 1, 398062306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 398162306a36Sopenharmony_ci .ops = &clk_branch2_ops, 398262306a36Sopenharmony_ci }, 398362306a36Sopenharmony_ci }, 398462306a36Sopenharmony_ci}; 398562306a36Sopenharmony_ci 398662306a36Sopenharmony_cistatic struct clk_branch gcc_uniphy0_port4_tx_clk = { 398762306a36Sopenharmony_ci .halt_reg = 0x5602c, 398862306a36Sopenharmony_ci .clkr = { 398962306a36Sopenharmony_ci .enable_reg = 0x5602c, 399062306a36Sopenharmony_ci .enable_mask = BIT(0), 399162306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 399262306a36Sopenharmony_ci .name = "gcc_uniphy0_port4_tx_clk", 399362306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 399462306a36Sopenharmony_ci &nss_port4_tx_div_clk_src.clkr.hw }, 399562306a36Sopenharmony_ci .num_parents = 1, 399662306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 399762306a36Sopenharmony_ci .ops = &clk_branch2_ops, 399862306a36Sopenharmony_ci }, 399962306a36Sopenharmony_ci }, 400062306a36Sopenharmony_ci}; 400162306a36Sopenharmony_ci 400262306a36Sopenharmony_cistatic struct clk_branch gcc_uniphy0_port5_rx_clk = { 400362306a36Sopenharmony_ci .halt_reg = 0x56030, 400462306a36Sopenharmony_ci .clkr = { 400562306a36Sopenharmony_ci .enable_reg = 0x56030, 400662306a36Sopenharmony_ci .enable_mask = BIT(0), 400762306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 400862306a36Sopenharmony_ci .name = "gcc_uniphy0_port5_rx_clk", 400962306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 401062306a36Sopenharmony_ci &nss_port5_rx_div_clk_src.clkr.hw }, 401162306a36Sopenharmony_ci .num_parents = 1, 401262306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 401362306a36Sopenharmony_ci .ops = &clk_branch2_ops, 401462306a36Sopenharmony_ci }, 401562306a36Sopenharmony_ci }, 401662306a36Sopenharmony_ci}; 401762306a36Sopenharmony_ci 401862306a36Sopenharmony_cistatic struct clk_branch gcc_uniphy0_port5_tx_clk = { 401962306a36Sopenharmony_ci .halt_reg = 0x56034, 402062306a36Sopenharmony_ci .clkr = { 402162306a36Sopenharmony_ci .enable_reg = 0x56034, 402262306a36Sopenharmony_ci .enable_mask = BIT(0), 402362306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 402462306a36Sopenharmony_ci .name = "gcc_uniphy0_port5_tx_clk", 402562306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 402662306a36Sopenharmony_ci &nss_port5_tx_div_clk_src.clkr.hw }, 402762306a36Sopenharmony_ci .num_parents = 1, 402862306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 402962306a36Sopenharmony_ci .ops = &clk_branch2_ops, 403062306a36Sopenharmony_ci }, 403162306a36Sopenharmony_ci }, 403262306a36Sopenharmony_ci}; 403362306a36Sopenharmony_ci 403462306a36Sopenharmony_cistatic struct clk_branch gcc_uniphy1_port5_rx_clk = { 403562306a36Sopenharmony_ci .halt_reg = 0x56110, 403662306a36Sopenharmony_ci .clkr = { 403762306a36Sopenharmony_ci .enable_reg = 0x56110, 403862306a36Sopenharmony_ci .enable_mask = BIT(0), 403962306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 404062306a36Sopenharmony_ci .name = "gcc_uniphy1_port5_rx_clk", 404162306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 404262306a36Sopenharmony_ci &nss_port5_rx_div_clk_src.clkr.hw }, 404362306a36Sopenharmony_ci .num_parents = 1, 404462306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 404562306a36Sopenharmony_ci .ops = &clk_branch2_ops, 404662306a36Sopenharmony_ci }, 404762306a36Sopenharmony_ci }, 404862306a36Sopenharmony_ci}; 404962306a36Sopenharmony_ci 405062306a36Sopenharmony_cistatic struct clk_branch gcc_uniphy1_port5_tx_clk = { 405162306a36Sopenharmony_ci .halt_reg = 0x56114, 405262306a36Sopenharmony_ci .clkr = { 405362306a36Sopenharmony_ci .enable_reg = 0x56114, 405462306a36Sopenharmony_ci .enable_mask = BIT(0), 405562306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 405662306a36Sopenharmony_ci .name = "gcc_uniphy1_port5_tx_clk", 405762306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 405862306a36Sopenharmony_ci &nss_port5_tx_div_clk_src.clkr.hw }, 405962306a36Sopenharmony_ci .num_parents = 1, 406062306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 406162306a36Sopenharmony_ci .ops = &clk_branch2_ops, 406262306a36Sopenharmony_ci }, 406362306a36Sopenharmony_ci }, 406462306a36Sopenharmony_ci}; 406562306a36Sopenharmony_ci 406662306a36Sopenharmony_cistatic struct clk_branch gcc_uniphy2_port6_rx_clk = { 406762306a36Sopenharmony_ci .halt_reg = 0x56210, 406862306a36Sopenharmony_ci .clkr = { 406962306a36Sopenharmony_ci .enable_reg = 0x56210, 407062306a36Sopenharmony_ci .enable_mask = BIT(0), 407162306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 407262306a36Sopenharmony_ci .name = "gcc_uniphy2_port6_rx_clk", 407362306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 407462306a36Sopenharmony_ci &nss_port6_rx_div_clk_src.clkr.hw }, 407562306a36Sopenharmony_ci .num_parents = 1, 407662306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 407762306a36Sopenharmony_ci .ops = &clk_branch2_ops, 407862306a36Sopenharmony_ci }, 407962306a36Sopenharmony_ci }, 408062306a36Sopenharmony_ci}; 408162306a36Sopenharmony_ci 408262306a36Sopenharmony_cistatic struct clk_branch gcc_uniphy2_port6_tx_clk = { 408362306a36Sopenharmony_ci .halt_reg = 0x56214, 408462306a36Sopenharmony_ci .clkr = { 408562306a36Sopenharmony_ci .enable_reg = 0x56214, 408662306a36Sopenharmony_ci .enable_mask = BIT(0), 408762306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 408862306a36Sopenharmony_ci .name = "gcc_uniphy2_port6_tx_clk", 408962306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 409062306a36Sopenharmony_ci &nss_port6_tx_div_clk_src.clkr.hw }, 409162306a36Sopenharmony_ci .num_parents = 1, 409262306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 409362306a36Sopenharmony_ci .ops = &clk_branch2_ops, 409462306a36Sopenharmony_ci }, 409562306a36Sopenharmony_ci }, 409662306a36Sopenharmony_ci}; 409762306a36Sopenharmony_ci 409862306a36Sopenharmony_cistatic struct clk_branch gcc_crypto_ahb_clk = { 409962306a36Sopenharmony_ci .halt_reg = 0x16024, 410062306a36Sopenharmony_ci .halt_check = BRANCH_HALT_VOTED, 410162306a36Sopenharmony_ci .clkr = { 410262306a36Sopenharmony_ci .enable_reg = 0x0b004, 410362306a36Sopenharmony_ci .enable_mask = BIT(0), 410462306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 410562306a36Sopenharmony_ci .name = "gcc_crypto_ahb_clk", 410662306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 410762306a36Sopenharmony_ci &pcnoc_clk_src.hw }, 410862306a36Sopenharmony_ci .num_parents = 1, 410962306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 411062306a36Sopenharmony_ci .ops = &clk_branch2_ops, 411162306a36Sopenharmony_ci }, 411262306a36Sopenharmony_ci }, 411362306a36Sopenharmony_ci}; 411462306a36Sopenharmony_ci 411562306a36Sopenharmony_cistatic struct clk_branch gcc_crypto_axi_clk = { 411662306a36Sopenharmony_ci .halt_reg = 0x16020, 411762306a36Sopenharmony_ci .halt_check = BRANCH_HALT_VOTED, 411862306a36Sopenharmony_ci .clkr = { 411962306a36Sopenharmony_ci .enable_reg = 0x0b004, 412062306a36Sopenharmony_ci .enable_mask = BIT(1), 412162306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 412262306a36Sopenharmony_ci .name = "gcc_crypto_axi_clk", 412362306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 412462306a36Sopenharmony_ci &pcnoc_clk_src.hw }, 412562306a36Sopenharmony_ci .num_parents = 1, 412662306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 412762306a36Sopenharmony_ci .ops = &clk_branch2_ops, 412862306a36Sopenharmony_ci }, 412962306a36Sopenharmony_ci }, 413062306a36Sopenharmony_ci}; 413162306a36Sopenharmony_ci 413262306a36Sopenharmony_cistatic struct clk_branch gcc_crypto_clk = { 413362306a36Sopenharmony_ci .halt_reg = 0x1601c, 413462306a36Sopenharmony_ci .halt_check = BRANCH_HALT_VOTED, 413562306a36Sopenharmony_ci .clkr = { 413662306a36Sopenharmony_ci .enable_reg = 0x0b004, 413762306a36Sopenharmony_ci .enable_mask = BIT(2), 413862306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 413962306a36Sopenharmony_ci .name = "gcc_crypto_clk", 414062306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 414162306a36Sopenharmony_ci &crypto_clk_src.clkr.hw }, 414262306a36Sopenharmony_ci .num_parents = 1, 414362306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 414462306a36Sopenharmony_ci .ops = &clk_branch2_ops, 414562306a36Sopenharmony_ci }, 414662306a36Sopenharmony_ci }, 414762306a36Sopenharmony_ci}; 414862306a36Sopenharmony_ci 414962306a36Sopenharmony_cistatic struct clk_branch gcc_gp1_clk = { 415062306a36Sopenharmony_ci .halt_reg = 0x08000, 415162306a36Sopenharmony_ci .clkr = { 415262306a36Sopenharmony_ci .enable_reg = 0x08000, 415362306a36Sopenharmony_ci .enable_mask = BIT(0), 415462306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 415562306a36Sopenharmony_ci .name = "gcc_gp1_clk", 415662306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 415762306a36Sopenharmony_ci &gp1_clk_src.clkr.hw }, 415862306a36Sopenharmony_ci .num_parents = 1, 415962306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 416062306a36Sopenharmony_ci .ops = &clk_branch2_ops, 416162306a36Sopenharmony_ci }, 416262306a36Sopenharmony_ci }, 416362306a36Sopenharmony_ci}; 416462306a36Sopenharmony_ci 416562306a36Sopenharmony_cistatic struct clk_branch gcc_gp2_clk = { 416662306a36Sopenharmony_ci .halt_reg = 0x09000, 416762306a36Sopenharmony_ci .clkr = { 416862306a36Sopenharmony_ci .enable_reg = 0x09000, 416962306a36Sopenharmony_ci .enable_mask = BIT(0), 417062306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 417162306a36Sopenharmony_ci .name = "gcc_gp2_clk", 417262306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 417362306a36Sopenharmony_ci &gp2_clk_src.clkr.hw }, 417462306a36Sopenharmony_ci .num_parents = 1, 417562306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 417662306a36Sopenharmony_ci .ops = &clk_branch2_ops, 417762306a36Sopenharmony_ci }, 417862306a36Sopenharmony_ci }, 417962306a36Sopenharmony_ci}; 418062306a36Sopenharmony_ci 418162306a36Sopenharmony_cistatic struct clk_branch gcc_gp3_clk = { 418262306a36Sopenharmony_ci .halt_reg = 0x0a000, 418362306a36Sopenharmony_ci .clkr = { 418462306a36Sopenharmony_ci .enable_reg = 0x0a000, 418562306a36Sopenharmony_ci .enable_mask = BIT(0), 418662306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 418762306a36Sopenharmony_ci .name = "gcc_gp3_clk", 418862306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 418962306a36Sopenharmony_ci &gp3_clk_src.clkr.hw }, 419062306a36Sopenharmony_ci .num_parents = 1, 419162306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 419262306a36Sopenharmony_ci .ops = &clk_branch2_ops, 419362306a36Sopenharmony_ci }, 419462306a36Sopenharmony_ci }, 419562306a36Sopenharmony_ci}; 419662306a36Sopenharmony_ci 419762306a36Sopenharmony_cistatic const struct freq_tbl ftbl_pcie_rchng_clk_src[] = { 419862306a36Sopenharmony_ci F(19200000, P_XO, 1, 0, 0), 419962306a36Sopenharmony_ci F(100000000, P_GPLL0, 8, 0, 0), 420062306a36Sopenharmony_ci { } 420162306a36Sopenharmony_ci}; 420262306a36Sopenharmony_ci 420362306a36Sopenharmony_cistatic struct clk_rcg2 pcie0_rchng_clk_src = { 420462306a36Sopenharmony_ci .cmd_rcgr = 0x75070, 420562306a36Sopenharmony_ci .freq_tbl = ftbl_pcie_rchng_clk_src, 420662306a36Sopenharmony_ci .hid_width = 5, 420762306a36Sopenharmony_ci .parent_map = gcc_xo_gpll0_map, 420862306a36Sopenharmony_ci .clkr.hw.init = &(struct clk_init_data){ 420962306a36Sopenharmony_ci .name = "pcie0_rchng_clk_src", 421062306a36Sopenharmony_ci .parent_data = gcc_xo_gpll0, 421162306a36Sopenharmony_ci .num_parents = ARRAY_SIZE(gcc_xo_gpll0), 421262306a36Sopenharmony_ci .ops = &clk_rcg2_ops, 421362306a36Sopenharmony_ci }, 421462306a36Sopenharmony_ci}; 421562306a36Sopenharmony_ci 421662306a36Sopenharmony_cistatic struct clk_branch gcc_pcie0_rchng_clk = { 421762306a36Sopenharmony_ci .halt_reg = 0x75070, 421862306a36Sopenharmony_ci .halt_bit = 31, 421962306a36Sopenharmony_ci .clkr = { 422062306a36Sopenharmony_ci .enable_reg = 0x75070, 422162306a36Sopenharmony_ci .enable_mask = BIT(1), 422262306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 422362306a36Sopenharmony_ci .name = "gcc_pcie0_rchng_clk", 422462306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 422562306a36Sopenharmony_ci &pcie0_rchng_clk_src.clkr.hw, 422662306a36Sopenharmony_ci }, 422762306a36Sopenharmony_ci .num_parents = 1, 422862306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 422962306a36Sopenharmony_ci .ops = &clk_branch2_ops, 423062306a36Sopenharmony_ci }, 423162306a36Sopenharmony_ci }, 423262306a36Sopenharmony_ci}; 423362306a36Sopenharmony_ci 423462306a36Sopenharmony_cistatic struct clk_branch gcc_pcie0_axi_s_bridge_clk = { 423562306a36Sopenharmony_ci .halt_reg = 0x75048, 423662306a36Sopenharmony_ci .halt_bit = 31, 423762306a36Sopenharmony_ci .clkr = { 423862306a36Sopenharmony_ci .enable_reg = 0x75048, 423962306a36Sopenharmony_ci .enable_mask = BIT(0), 424062306a36Sopenharmony_ci .hw.init = &(struct clk_init_data){ 424162306a36Sopenharmony_ci .name = "gcc_pcie0_axi_s_bridge_clk", 424262306a36Sopenharmony_ci .parent_hws = (const struct clk_hw *[]){ 424362306a36Sopenharmony_ci &pcie0_axi_clk_src.clkr.hw, 424462306a36Sopenharmony_ci }, 424562306a36Sopenharmony_ci .num_parents = 1, 424662306a36Sopenharmony_ci .flags = CLK_SET_RATE_PARENT, 424762306a36Sopenharmony_ci .ops = &clk_branch2_ops, 424862306a36Sopenharmony_ci }, 424962306a36Sopenharmony_ci }, 425062306a36Sopenharmony_ci}; 425162306a36Sopenharmony_ci 425262306a36Sopenharmony_cistatic struct gdsc usb0_gdsc = { 425362306a36Sopenharmony_ci .gdscr = 0x3e078, 425462306a36Sopenharmony_ci .pd = { 425562306a36Sopenharmony_ci .name = "usb0_gdsc", 425662306a36Sopenharmony_ci }, 425762306a36Sopenharmony_ci .pwrsts = PWRSTS_OFF_ON, 425862306a36Sopenharmony_ci}; 425962306a36Sopenharmony_ci 426062306a36Sopenharmony_cistatic struct gdsc usb1_gdsc = { 426162306a36Sopenharmony_ci .gdscr = 0x3f078, 426262306a36Sopenharmony_ci .pd = { 426362306a36Sopenharmony_ci .name = "usb1_gdsc", 426462306a36Sopenharmony_ci }, 426562306a36Sopenharmony_ci .pwrsts = PWRSTS_OFF_ON, 426662306a36Sopenharmony_ci}; 426762306a36Sopenharmony_ci 426862306a36Sopenharmony_cistatic const struct alpha_pll_config ubi32_pll_config = { 426962306a36Sopenharmony_ci .l = 0x4e, 427062306a36Sopenharmony_ci .config_ctl_val = 0x200d4aa8, 427162306a36Sopenharmony_ci .config_ctl_hi_val = 0x3c2, 427262306a36Sopenharmony_ci .main_output_mask = BIT(0), 427362306a36Sopenharmony_ci .aux_output_mask = BIT(1), 427462306a36Sopenharmony_ci .pre_div_val = 0x0, 427562306a36Sopenharmony_ci .pre_div_mask = BIT(12), 427662306a36Sopenharmony_ci .post_div_val = 0x0, 427762306a36Sopenharmony_ci .post_div_mask = GENMASK(9, 8), 427862306a36Sopenharmony_ci}; 427962306a36Sopenharmony_ci 428062306a36Sopenharmony_cistatic const struct alpha_pll_config nss_crypto_pll_config = { 428162306a36Sopenharmony_ci .l = 0x3e, 428262306a36Sopenharmony_ci .alpha = 0x0, 428362306a36Sopenharmony_ci .alpha_hi = 0x80, 428462306a36Sopenharmony_ci .config_ctl_val = 0x4001055b, 428562306a36Sopenharmony_ci .main_output_mask = BIT(0), 428662306a36Sopenharmony_ci .pre_div_val = 0x0, 428762306a36Sopenharmony_ci .pre_div_mask = GENMASK(14, 12), 428862306a36Sopenharmony_ci .post_div_val = 0x1 << 8, 428962306a36Sopenharmony_ci .post_div_mask = GENMASK(11, 8), 429062306a36Sopenharmony_ci .vco_mask = GENMASK(21, 20), 429162306a36Sopenharmony_ci .vco_val = 0x0, 429262306a36Sopenharmony_ci .alpha_en_mask = BIT(24), 429362306a36Sopenharmony_ci}; 429462306a36Sopenharmony_ci 429562306a36Sopenharmony_cistatic struct clk_hw *gcc_ipq8074_hws[] = { 429662306a36Sopenharmony_ci &gpll0_out_main_div2.hw, 429762306a36Sopenharmony_ci &gpll6_out_main_div2.hw, 429862306a36Sopenharmony_ci &pcnoc_clk_src.hw, 429962306a36Sopenharmony_ci &system_noc_clk_src.hw, 430062306a36Sopenharmony_ci &gcc_xo_div4_clk_src.hw, 430162306a36Sopenharmony_ci &nss_noc_clk_src.hw, 430262306a36Sopenharmony_ci &nss_ppe_cdiv_clk_src.hw, 430362306a36Sopenharmony_ci}; 430462306a36Sopenharmony_ci 430562306a36Sopenharmony_cistatic struct clk_regmap *gcc_ipq8074_clks[] = { 430662306a36Sopenharmony_ci [GPLL0_MAIN] = &gpll0_main.clkr, 430762306a36Sopenharmony_ci [GPLL0] = &gpll0.clkr, 430862306a36Sopenharmony_ci [GPLL2_MAIN] = &gpll2_main.clkr, 430962306a36Sopenharmony_ci [GPLL2] = &gpll2.clkr, 431062306a36Sopenharmony_ci [GPLL4_MAIN] = &gpll4_main.clkr, 431162306a36Sopenharmony_ci [GPLL4] = &gpll4.clkr, 431262306a36Sopenharmony_ci [GPLL6_MAIN] = &gpll6_main.clkr, 431362306a36Sopenharmony_ci [GPLL6] = &gpll6.clkr, 431462306a36Sopenharmony_ci [UBI32_PLL_MAIN] = &ubi32_pll_main.clkr, 431562306a36Sopenharmony_ci [UBI32_PLL] = &ubi32_pll.clkr, 431662306a36Sopenharmony_ci [NSS_CRYPTO_PLL_MAIN] = &nss_crypto_pll_main.clkr, 431762306a36Sopenharmony_ci [NSS_CRYPTO_PLL] = &nss_crypto_pll.clkr, 431862306a36Sopenharmony_ci [PCNOC_BFDCD_CLK_SRC] = &pcnoc_bfdcd_clk_src.clkr, 431962306a36Sopenharmony_ci [GCC_SLEEP_CLK_SRC] = &gcc_sleep_clk_src.clkr, 432062306a36Sopenharmony_ci [BLSP1_QUP1_I2C_APPS_CLK_SRC] = &blsp1_qup1_i2c_apps_clk_src.clkr, 432162306a36Sopenharmony_ci [BLSP1_QUP1_SPI_APPS_CLK_SRC] = &blsp1_qup1_spi_apps_clk_src.clkr, 432262306a36Sopenharmony_ci [BLSP1_QUP2_I2C_APPS_CLK_SRC] = &blsp1_qup2_i2c_apps_clk_src.clkr, 432362306a36Sopenharmony_ci [BLSP1_QUP2_SPI_APPS_CLK_SRC] = &blsp1_qup2_spi_apps_clk_src.clkr, 432462306a36Sopenharmony_ci [BLSP1_QUP3_I2C_APPS_CLK_SRC] = &blsp1_qup3_i2c_apps_clk_src.clkr, 432562306a36Sopenharmony_ci [BLSP1_QUP3_SPI_APPS_CLK_SRC] = &blsp1_qup3_spi_apps_clk_src.clkr, 432662306a36Sopenharmony_ci [BLSP1_QUP4_I2C_APPS_CLK_SRC] = &blsp1_qup4_i2c_apps_clk_src.clkr, 432762306a36Sopenharmony_ci [BLSP1_QUP4_SPI_APPS_CLK_SRC] = &blsp1_qup4_spi_apps_clk_src.clkr, 432862306a36Sopenharmony_ci [BLSP1_QUP5_I2C_APPS_CLK_SRC] = &blsp1_qup5_i2c_apps_clk_src.clkr, 432962306a36Sopenharmony_ci [BLSP1_QUP5_SPI_APPS_CLK_SRC] = &blsp1_qup5_spi_apps_clk_src.clkr, 433062306a36Sopenharmony_ci [BLSP1_QUP6_I2C_APPS_CLK_SRC] = &blsp1_qup6_i2c_apps_clk_src.clkr, 433162306a36Sopenharmony_ci [BLSP1_QUP6_SPI_APPS_CLK_SRC] = &blsp1_qup6_spi_apps_clk_src.clkr, 433262306a36Sopenharmony_ci [BLSP1_UART1_APPS_CLK_SRC] = &blsp1_uart1_apps_clk_src.clkr, 433362306a36Sopenharmony_ci [BLSP1_UART2_APPS_CLK_SRC] = &blsp1_uart2_apps_clk_src.clkr, 433462306a36Sopenharmony_ci [BLSP1_UART3_APPS_CLK_SRC] = &blsp1_uart3_apps_clk_src.clkr, 433562306a36Sopenharmony_ci [BLSP1_UART4_APPS_CLK_SRC] = &blsp1_uart4_apps_clk_src.clkr, 433662306a36Sopenharmony_ci [BLSP1_UART5_APPS_CLK_SRC] = &blsp1_uart5_apps_clk_src.clkr, 433762306a36Sopenharmony_ci [BLSP1_UART6_APPS_CLK_SRC] = &blsp1_uart6_apps_clk_src.clkr, 433862306a36Sopenharmony_ci [PCIE0_AXI_CLK_SRC] = &pcie0_axi_clk_src.clkr, 433962306a36Sopenharmony_ci [PCIE0_AUX_CLK_SRC] = &pcie0_aux_clk_src.clkr, 434062306a36Sopenharmony_ci [PCIE0_PIPE_CLK_SRC] = &pcie0_pipe_clk_src.clkr, 434162306a36Sopenharmony_ci [PCIE1_AXI_CLK_SRC] = &pcie1_axi_clk_src.clkr, 434262306a36Sopenharmony_ci [PCIE1_AUX_CLK_SRC] = &pcie1_aux_clk_src.clkr, 434362306a36Sopenharmony_ci [PCIE1_PIPE_CLK_SRC] = &pcie1_pipe_clk_src.clkr, 434462306a36Sopenharmony_ci [SDCC1_APPS_CLK_SRC] = &sdcc1_apps_clk_src.clkr, 434562306a36Sopenharmony_ci [SDCC1_ICE_CORE_CLK_SRC] = &sdcc1_ice_core_clk_src.clkr, 434662306a36Sopenharmony_ci [SDCC2_APPS_CLK_SRC] = &sdcc2_apps_clk_src.clkr, 434762306a36Sopenharmony_ci [USB0_MASTER_CLK_SRC] = &usb0_master_clk_src.clkr, 434862306a36Sopenharmony_ci [USB0_AUX_CLK_SRC] = &usb0_aux_clk_src.clkr, 434962306a36Sopenharmony_ci [USB0_MOCK_UTMI_CLK_SRC] = &usb0_mock_utmi_clk_src.clkr, 435062306a36Sopenharmony_ci [USB0_PIPE_CLK_SRC] = &usb0_pipe_clk_src.clkr, 435162306a36Sopenharmony_ci [USB1_MASTER_CLK_SRC] = &usb1_master_clk_src.clkr, 435262306a36Sopenharmony_ci [USB1_AUX_CLK_SRC] = &usb1_aux_clk_src.clkr, 435362306a36Sopenharmony_ci [USB1_MOCK_UTMI_CLK_SRC] = &usb1_mock_utmi_clk_src.clkr, 435462306a36Sopenharmony_ci [USB1_PIPE_CLK_SRC] = &usb1_pipe_clk_src.clkr, 435562306a36Sopenharmony_ci [GCC_XO_CLK_SRC] = &gcc_xo_clk_src.clkr, 435662306a36Sopenharmony_ci [SYSTEM_NOC_BFDCD_CLK_SRC] = &system_noc_bfdcd_clk_src.clkr, 435762306a36Sopenharmony_ci [NSS_CE_CLK_SRC] = &nss_ce_clk_src.clkr, 435862306a36Sopenharmony_ci [NSS_NOC_BFDCD_CLK_SRC] = &nss_noc_bfdcd_clk_src.clkr, 435962306a36Sopenharmony_ci [NSS_CRYPTO_CLK_SRC] = &nss_crypto_clk_src.clkr, 436062306a36Sopenharmony_ci [NSS_UBI0_CLK_SRC] = &nss_ubi0_clk_src.clkr, 436162306a36Sopenharmony_ci [NSS_UBI0_DIV_CLK_SRC] = &nss_ubi0_div_clk_src.clkr, 436262306a36Sopenharmony_ci [NSS_UBI1_CLK_SRC] = &nss_ubi1_clk_src.clkr, 436362306a36Sopenharmony_ci [NSS_UBI1_DIV_CLK_SRC] = &nss_ubi1_div_clk_src.clkr, 436462306a36Sopenharmony_ci [UBI_MPT_CLK_SRC] = &ubi_mpt_clk_src.clkr, 436562306a36Sopenharmony_ci [NSS_IMEM_CLK_SRC] = &nss_imem_clk_src.clkr, 436662306a36Sopenharmony_ci [NSS_PPE_CLK_SRC] = &nss_ppe_clk_src.clkr, 436762306a36Sopenharmony_ci [NSS_PORT1_RX_CLK_SRC] = &nss_port1_rx_clk_src.clkr, 436862306a36Sopenharmony_ci [NSS_PORT1_RX_DIV_CLK_SRC] = &nss_port1_rx_div_clk_src.clkr, 436962306a36Sopenharmony_ci [NSS_PORT1_TX_CLK_SRC] = &nss_port1_tx_clk_src.clkr, 437062306a36Sopenharmony_ci [NSS_PORT1_TX_DIV_CLK_SRC] = &nss_port1_tx_div_clk_src.clkr, 437162306a36Sopenharmony_ci [NSS_PORT2_RX_CLK_SRC] = &nss_port2_rx_clk_src.clkr, 437262306a36Sopenharmony_ci [NSS_PORT2_RX_DIV_CLK_SRC] = &nss_port2_rx_div_clk_src.clkr, 437362306a36Sopenharmony_ci [NSS_PORT2_TX_CLK_SRC] = &nss_port2_tx_clk_src.clkr, 437462306a36Sopenharmony_ci [NSS_PORT2_TX_DIV_CLK_SRC] = &nss_port2_tx_div_clk_src.clkr, 437562306a36Sopenharmony_ci [NSS_PORT3_RX_CLK_SRC] = &nss_port3_rx_clk_src.clkr, 437662306a36Sopenharmony_ci [NSS_PORT3_RX_DIV_CLK_SRC] = &nss_port3_rx_div_clk_src.clkr, 437762306a36Sopenharmony_ci [NSS_PORT3_TX_CLK_SRC] = &nss_port3_tx_clk_src.clkr, 437862306a36Sopenharmony_ci [NSS_PORT3_TX_DIV_CLK_SRC] = &nss_port3_tx_div_clk_src.clkr, 437962306a36Sopenharmony_ci [NSS_PORT4_RX_CLK_SRC] = &nss_port4_rx_clk_src.clkr, 438062306a36Sopenharmony_ci [NSS_PORT4_RX_DIV_CLK_SRC] = &nss_port4_rx_div_clk_src.clkr, 438162306a36Sopenharmony_ci [NSS_PORT4_TX_CLK_SRC] = &nss_port4_tx_clk_src.clkr, 438262306a36Sopenharmony_ci [NSS_PORT4_TX_DIV_CLK_SRC] = &nss_port4_tx_div_clk_src.clkr, 438362306a36Sopenharmony_ci [NSS_PORT5_RX_CLK_SRC] = &nss_port5_rx_clk_src.clkr, 438462306a36Sopenharmony_ci [NSS_PORT5_RX_DIV_CLK_SRC] = &nss_port5_rx_div_clk_src.clkr, 438562306a36Sopenharmony_ci [NSS_PORT5_TX_CLK_SRC] = &nss_port5_tx_clk_src.clkr, 438662306a36Sopenharmony_ci [NSS_PORT5_TX_DIV_CLK_SRC] = &nss_port5_tx_div_clk_src.clkr, 438762306a36Sopenharmony_ci [NSS_PORT6_RX_CLK_SRC] = &nss_port6_rx_clk_src.clkr, 438862306a36Sopenharmony_ci [NSS_PORT6_RX_DIV_CLK_SRC] = &nss_port6_rx_div_clk_src.clkr, 438962306a36Sopenharmony_ci [NSS_PORT6_TX_CLK_SRC] = &nss_port6_tx_clk_src.clkr, 439062306a36Sopenharmony_ci [NSS_PORT6_TX_DIV_CLK_SRC] = &nss_port6_tx_div_clk_src.clkr, 439162306a36Sopenharmony_ci [CRYPTO_CLK_SRC] = &crypto_clk_src.clkr, 439262306a36Sopenharmony_ci [GP1_CLK_SRC] = &gp1_clk_src.clkr, 439362306a36Sopenharmony_ci [GP2_CLK_SRC] = &gp2_clk_src.clkr, 439462306a36Sopenharmony_ci [GP3_CLK_SRC] = &gp3_clk_src.clkr, 439562306a36Sopenharmony_ci [GCC_BLSP1_AHB_CLK] = &gcc_blsp1_ahb_clk.clkr, 439662306a36Sopenharmony_ci [GCC_BLSP1_QUP1_I2C_APPS_CLK] = &gcc_blsp1_qup1_i2c_apps_clk.clkr, 439762306a36Sopenharmony_ci [GCC_BLSP1_QUP1_SPI_APPS_CLK] = &gcc_blsp1_qup1_spi_apps_clk.clkr, 439862306a36Sopenharmony_ci [GCC_BLSP1_QUP2_I2C_APPS_CLK] = &gcc_blsp1_qup2_i2c_apps_clk.clkr, 439962306a36Sopenharmony_ci [GCC_BLSP1_QUP2_SPI_APPS_CLK] = &gcc_blsp1_qup2_spi_apps_clk.clkr, 440062306a36Sopenharmony_ci [GCC_BLSP1_QUP3_I2C_APPS_CLK] = &gcc_blsp1_qup3_i2c_apps_clk.clkr, 440162306a36Sopenharmony_ci [GCC_BLSP1_QUP3_SPI_APPS_CLK] = &gcc_blsp1_qup3_spi_apps_clk.clkr, 440262306a36Sopenharmony_ci [GCC_BLSP1_QUP4_I2C_APPS_CLK] = &gcc_blsp1_qup4_i2c_apps_clk.clkr, 440362306a36Sopenharmony_ci [GCC_BLSP1_QUP4_SPI_APPS_CLK] = &gcc_blsp1_qup4_spi_apps_clk.clkr, 440462306a36Sopenharmony_ci [GCC_BLSP1_QUP5_I2C_APPS_CLK] = &gcc_blsp1_qup5_i2c_apps_clk.clkr, 440562306a36Sopenharmony_ci [GCC_BLSP1_QUP5_SPI_APPS_CLK] = &gcc_blsp1_qup5_spi_apps_clk.clkr, 440662306a36Sopenharmony_ci [GCC_BLSP1_QUP6_I2C_APPS_CLK] = &gcc_blsp1_qup6_i2c_apps_clk.clkr, 440762306a36Sopenharmony_ci [GCC_BLSP1_QUP6_SPI_APPS_CLK] = &gcc_blsp1_qup6_spi_apps_clk.clkr, 440862306a36Sopenharmony_ci [GCC_BLSP1_UART1_APPS_CLK] = &gcc_blsp1_uart1_apps_clk.clkr, 440962306a36Sopenharmony_ci [GCC_BLSP1_UART2_APPS_CLK] = &gcc_blsp1_uart2_apps_clk.clkr, 441062306a36Sopenharmony_ci [GCC_BLSP1_UART3_APPS_CLK] = &gcc_blsp1_uart3_apps_clk.clkr, 441162306a36Sopenharmony_ci [GCC_BLSP1_UART4_APPS_CLK] = &gcc_blsp1_uart4_apps_clk.clkr, 441262306a36Sopenharmony_ci [GCC_BLSP1_UART5_APPS_CLK] = &gcc_blsp1_uart5_apps_clk.clkr, 441362306a36Sopenharmony_ci [GCC_BLSP1_UART6_APPS_CLK] = &gcc_blsp1_uart6_apps_clk.clkr, 441462306a36Sopenharmony_ci [GCC_PRNG_AHB_CLK] = &gcc_prng_ahb_clk.clkr, 441562306a36Sopenharmony_ci [GCC_QPIC_AHB_CLK] = &gcc_qpic_ahb_clk.clkr, 441662306a36Sopenharmony_ci [GCC_QPIC_CLK] = &gcc_qpic_clk.clkr, 441762306a36Sopenharmony_ci [GCC_PCIE0_AHB_CLK] = &gcc_pcie0_ahb_clk.clkr, 441862306a36Sopenharmony_ci [GCC_PCIE0_AUX_CLK] = &gcc_pcie0_aux_clk.clkr, 441962306a36Sopenharmony_ci [GCC_PCIE0_AXI_M_CLK] = &gcc_pcie0_axi_m_clk.clkr, 442062306a36Sopenharmony_ci [GCC_PCIE0_AXI_S_CLK] = &gcc_pcie0_axi_s_clk.clkr, 442162306a36Sopenharmony_ci [GCC_PCIE0_PIPE_CLK] = &gcc_pcie0_pipe_clk.clkr, 442262306a36Sopenharmony_ci [GCC_SYS_NOC_PCIE0_AXI_CLK] = &gcc_sys_noc_pcie0_axi_clk.clkr, 442362306a36Sopenharmony_ci [GCC_PCIE1_AHB_CLK] = &gcc_pcie1_ahb_clk.clkr, 442462306a36Sopenharmony_ci [GCC_PCIE1_AUX_CLK] = &gcc_pcie1_aux_clk.clkr, 442562306a36Sopenharmony_ci [GCC_PCIE1_AXI_M_CLK] = &gcc_pcie1_axi_m_clk.clkr, 442662306a36Sopenharmony_ci [GCC_PCIE1_AXI_S_CLK] = &gcc_pcie1_axi_s_clk.clkr, 442762306a36Sopenharmony_ci [GCC_PCIE1_PIPE_CLK] = &gcc_pcie1_pipe_clk.clkr, 442862306a36Sopenharmony_ci [GCC_SYS_NOC_PCIE1_AXI_CLK] = &gcc_sys_noc_pcie1_axi_clk.clkr, 442962306a36Sopenharmony_ci [GCC_USB0_AUX_CLK] = &gcc_usb0_aux_clk.clkr, 443062306a36Sopenharmony_ci [GCC_SYS_NOC_USB0_AXI_CLK] = &gcc_sys_noc_usb0_axi_clk.clkr, 443162306a36Sopenharmony_ci [GCC_USB0_MASTER_CLK] = &gcc_usb0_master_clk.clkr, 443262306a36Sopenharmony_ci [GCC_USB0_MOCK_UTMI_CLK] = &gcc_usb0_mock_utmi_clk.clkr, 443362306a36Sopenharmony_ci [GCC_USB0_PHY_CFG_AHB_CLK] = &gcc_usb0_phy_cfg_ahb_clk.clkr, 443462306a36Sopenharmony_ci [GCC_USB0_PIPE_CLK] = &gcc_usb0_pipe_clk.clkr, 443562306a36Sopenharmony_ci [GCC_USB0_SLEEP_CLK] = &gcc_usb0_sleep_clk.clkr, 443662306a36Sopenharmony_ci [GCC_USB1_AUX_CLK] = &gcc_usb1_aux_clk.clkr, 443762306a36Sopenharmony_ci [GCC_SYS_NOC_USB1_AXI_CLK] = &gcc_sys_noc_usb1_axi_clk.clkr, 443862306a36Sopenharmony_ci [GCC_USB1_MASTER_CLK] = &gcc_usb1_master_clk.clkr, 443962306a36Sopenharmony_ci [GCC_USB1_MOCK_UTMI_CLK] = &gcc_usb1_mock_utmi_clk.clkr, 444062306a36Sopenharmony_ci [GCC_USB1_PHY_CFG_AHB_CLK] = &gcc_usb1_phy_cfg_ahb_clk.clkr, 444162306a36Sopenharmony_ci [GCC_USB1_PIPE_CLK] = &gcc_usb1_pipe_clk.clkr, 444262306a36Sopenharmony_ci [GCC_USB1_SLEEP_CLK] = &gcc_usb1_sleep_clk.clkr, 444362306a36Sopenharmony_ci [GCC_SDCC1_AHB_CLK] = &gcc_sdcc1_ahb_clk.clkr, 444462306a36Sopenharmony_ci [GCC_SDCC1_APPS_CLK] = &gcc_sdcc1_apps_clk.clkr, 444562306a36Sopenharmony_ci [GCC_SDCC1_ICE_CORE_CLK] = &gcc_sdcc1_ice_core_clk.clkr, 444662306a36Sopenharmony_ci [GCC_SDCC2_AHB_CLK] = &gcc_sdcc2_ahb_clk.clkr, 444762306a36Sopenharmony_ci [GCC_SDCC2_APPS_CLK] = &gcc_sdcc2_apps_clk.clkr, 444862306a36Sopenharmony_ci [GCC_MEM_NOC_NSS_AXI_CLK] = &gcc_mem_noc_nss_axi_clk.clkr, 444962306a36Sopenharmony_ci [GCC_NSS_CE_APB_CLK] = &gcc_nss_ce_apb_clk.clkr, 445062306a36Sopenharmony_ci [GCC_NSS_CE_AXI_CLK] = &gcc_nss_ce_axi_clk.clkr, 445162306a36Sopenharmony_ci [GCC_NSS_CFG_CLK] = &gcc_nss_cfg_clk.clkr, 445262306a36Sopenharmony_ci [GCC_NSS_CRYPTO_CLK] = &gcc_nss_crypto_clk.clkr, 445362306a36Sopenharmony_ci [GCC_NSS_CSR_CLK] = &gcc_nss_csr_clk.clkr, 445462306a36Sopenharmony_ci [GCC_NSS_EDMA_CFG_CLK] = &gcc_nss_edma_cfg_clk.clkr, 445562306a36Sopenharmony_ci [GCC_NSS_EDMA_CLK] = &gcc_nss_edma_clk.clkr, 445662306a36Sopenharmony_ci [GCC_NSS_IMEM_CLK] = &gcc_nss_imem_clk.clkr, 445762306a36Sopenharmony_ci [GCC_NSS_NOC_CLK] = &gcc_nss_noc_clk.clkr, 445862306a36Sopenharmony_ci [GCC_NSS_PPE_BTQ_CLK] = &gcc_nss_ppe_btq_clk.clkr, 445962306a36Sopenharmony_ci [GCC_NSS_PPE_CFG_CLK] = &gcc_nss_ppe_cfg_clk.clkr, 446062306a36Sopenharmony_ci [GCC_NSS_PPE_CLK] = &gcc_nss_ppe_clk.clkr, 446162306a36Sopenharmony_ci [GCC_NSS_PPE_IPE_CLK] = &gcc_nss_ppe_ipe_clk.clkr, 446262306a36Sopenharmony_ci [GCC_NSS_PTP_REF_CLK] = &gcc_nss_ptp_ref_clk.clkr, 446362306a36Sopenharmony_ci [GCC_NSSNOC_CE_APB_CLK] = &gcc_nssnoc_ce_apb_clk.clkr, 446462306a36Sopenharmony_ci [GCC_NSSNOC_CE_AXI_CLK] = &gcc_nssnoc_ce_axi_clk.clkr, 446562306a36Sopenharmony_ci [GCC_NSSNOC_CRYPTO_CLK] = &gcc_nssnoc_crypto_clk.clkr, 446662306a36Sopenharmony_ci [GCC_NSSNOC_PPE_CFG_CLK] = &gcc_nssnoc_ppe_cfg_clk.clkr, 446762306a36Sopenharmony_ci [GCC_NSSNOC_PPE_CLK] = &gcc_nssnoc_ppe_clk.clkr, 446862306a36Sopenharmony_ci [GCC_NSSNOC_QOSGEN_REF_CLK] = &gcc_nssnoc_qosgen_ref_clk.clkr, 446962306a36Sopenharmony_ci [GCC_NSSNOC_SNOC_CLK] = &gcc_nssnoc_snoc_clk.clkr, 447062306a36Sopenharmony_ci [GCC_NSSNOC_TIMEOUT_REF_CLK] = &gcc_nssnoc_timeout_ref_clk.clkr, 447162306a36Sopenharmony_ci [GCC_NSSNOC_UBI0_AHB_CLK] = &gcc_nssnoc_ubi0_ahb_clk.clkr, 447262306a36Sopenharmony_ci [GCC_NSSNOC_UBI1_AHB_CLK] = &gcc_nssnoc_ubi1_ahb_clk.clkr, 447362306a36Sopenharmony_ci [GCC_UBI0_AHB_CLK] = &gcc_ubi0_ahb_clk.clkr, 447462306a36Sopenharmony_ci [GCC_UBI0_AXI_CLK] = &gcc_ubi0_axi_clk.clkr, 447562306a36Sopenharmony_ci [GCC_UBI0_NC_AXI_CLK] = &gcc_ubi0_nc_axi_clk.clkr, 447662306a36Sopenharmony_ci [GCC_UBI0_CORE_CLK] = &gcc_ubi0_core_clk.clkr, 447762306a36Sopenharmony_ci [GCC_UBI0_MPT_CLK] = &gcc_ubi0_mpt_clk.clkr, 447862306a36Sopenharmony_ci [GCC_UBI1_AHB_CLK] = &gcc_ubi1_ahb_clk.clkr, 447962306a36Sopenharmony_ci [GCC_UBI1_AXI_CLK] = &gcc_ubi1_axi_clk.clkr, 448062306a36Sopenharmony_ci [GCC_UBI1_NC_AXI_CLK] = &gcc_ubi1_nc_axi_clk.clkr, 448162306a36Sopenharmony_ci [GCC_UBI1_CORE_CLK] = &gcc_ubi1_core_clk.clkr, 448262306a36Sopenharmony_ci [GCC_UBI1_MPT_CLK] = &gcc_ubi1_mpt_clk.clkr, 448362306a36Sopenharmony_ci [GCC_CMN_12GPLL_AHB_CLK] = &gcc_cmn_12gpll_ahb_clk.clkr, 448462306a36Sopenharmony_ci [GCC_CMN_12GPLL_SYS_CLK] = &gcc_cmn_12gpll_sys_clk.clkr, 448562306a36Sopenharmony_ci [GCC_MDIO_AHB_CLK] = &gcc_mdio_ahb_clk.clkr, 448662306a36Sopenharmony_ci [GCC_UNIPHY0_AHB_CLK] = &gcc_uniphy0_ahb_clk.clkr, 448762306a36Sopenharmony_ci [GCC_UNIPHY0_SYS_CLK] = &gcc_uniphy0_sys_clk.clkr, 448862306a36Sopenharmony_ci [GCC_UNIPHY1_AHB_CLK] = &gcc_uniphy1_ahb_clk.clkr, 448962306a36Sopenharmony_ci [GCC_UNIPHY1_SYS_CLK] = &gcc_uniphy1_sys_clk.clkr, 449062306a36Sopenharmony_ci [GCC_UNIPHY2_AHB_CLK] = &gcc_uniphy2_ahb_clk.clkr, 449162306a36Sopenharmony_ci [GCC_UNIPHY2_SYS_CLK] = &gcc_uniphy2_sys_clk.clkr, 449262306a36Sopenharmony_ci [GCC_NSS_PORT1_RX_CLK] = &gcc_nss_port1_rx_clk.clkr, 449362306a36Sopenharmony_ci [GCC_NSS_PORT1_TX_CLK] = &gcc_nss_port1_tx_clk.clkr, 449462306a36Sopenharmony_ci [GCC_NSS_PORT2_RX_CLK] = &gcc_nss_port2_rx_clk.clkr, 449562306a36Sopenharmony_ci [GCC_NSS_PORT2_TX_CLK] = &gcc_nss_port2_tx_clk.clkr, 449662306a36Sopenharmony_ci [GCC_NSS_PORT3_RX_CLK] = &gcc_nss_port3_rx_clk.clkr, 449762306a36Sopenharmony_ci [GCC_NSS_PORT3_TX_CLK] = &gcc_nss_port3_tx_clk.clkr, 449862306a36Sopenharmony_ci [GCC_NSS_PORT4_RX_CLK] = &gcc_nss_port4_rx_clk.clkr, 449962306a36Sopenharmony_ci [GCC_NSS_PORT4_TX_CLK] = &gcc_nss_port4_tx_clk.clkr, 450062306a36Sopenharmony_ci [GCC_NSS_PORT5_RX_CLK] = &gcc_nss_port5_rx_clk.clkr, 450162306a36Sopenharmony_ci [GCC_NSS_PORT5_TX_CLK] = &gcc_nss_port5_tx_clk.clkr, 450262306a36Sopenharmony_ci [GCC_NSS_PORT6_RX_CLK] = &gcc_nss_port6_rx_clk.clkr, 450362306a36Sopenharmony_ci [GCC_NSS_PORT6_TX_CLK] = &gcc_nss_port6_tx_clk.clkr, 450462306a36Sopenharmony_ci [GCC_PORT1_MAC_CLK] = &gcc_port1_mac_clk.clkr, 450562306a36Sopenharmony_ci [GCC_PORT2_MAC_CLK] = &gcc_port2_mac_clk.clkr, 450662306a36Sopenharmony_ci [GCC_PORT3_MAC_CLK] = &gcc_port3_mac_clk.clkr, 450762306a36Sopenharmony_ci [GCC_PORT4_MAC_CLK] = &gcc_port4_mac_clk.clkr, 450862306a36Sopenharmony_ci [GCC_PORT5_MAC_CLK] = &gcc_port5_mac_clk.clkr, 450962306a36Sopenharmony_ci [GCC_PORT6_MAC_CLK] = &gcc_port6_mac_clk.clkr, 451062306a36Sopenharmony_ci [GCC_UNIPHY0_PORT1_RX_CLK] = &gcc_uniphy0_port1_rx_clk.clkr, 451162306a36Sopenharmony_ci [GCC_UNIPHY0_PORT1_TX_CLK] = &gcc_uniphy0_port1_tx_clk.clkr, 451262306a36Sopenharmony_ci [GCC_UNIPHY0_PORT2_RX_CLK] = &gcc_uniphy0_port2_rx_clk.clkr, 451362306a36Sopenharmony_ci [GCC_UNIPHY0_PORT2_TX_CLK] = &gcc_uniphy0_port2_tx_clk.clkr, 451462306a36Sopenharmony_ci [GCC_UNIPHY0_PORT3_RX_CLK] = &gcc_uniphy0_port3_rx_clk.clkr, 451562306a36Sopenharmony_ci [GCC_UNIPHY0_PORT3_TX_CLK] = &gcc_uniphy0_port3_tx_clk.clkr, 451662306a36Sopenharmony_ci [GCC_UNIPHY0_PORT4_RX_CLK] = &gcc_uniphy0_port4_rx_clk.clkr, 451762306a36Sopenharmony_ci [GCC_UNIPHY0_PORT4_TX_CLK] = &gcc_uniphy0_port4_tx_clk.clkr, 451862306a36Sopenharmony_ci [GCC_UNIPHY0_PORT5_RX_CLK] = &gcc_uniphy0_port5_rx_clk.clkr, 451962306a36Sopenharmony_ci [GCC_UNIPHY0_PORT5_TX_CLK] = &gcc_uniphy0_port5_tx_clk.clkr, 452062306a36Sopenharmony_ci [GCC_UNIPHY1_PORT5_RX_CLK] = &gcc_uniphy1_port5_rx_clk.clkr, 452162306a36Sopenharmony_ci [GCC_UNIPHY1_PORT5_TX_CLK] = &gcc_uniphy1_port5_tx_clk.clkr, 452262306a36Sopenharmony_ci [GCC_UNIPHY2_PORT6_RX_CLK] = &gcc_uniphy2_port6_rx_clk.clkr, 452362306a36Sopenharmony_ci [GCC_UNIPHY2_PORT6_TX_CLK] = &gcc_uniphy2_port6_tx_clk.clkr, 452462306a36Sopenharmony_ci [GCC_CRYPTO_AHB_CLK] = &gcc_crypto_ahb_clk.clkr, 452562306a36Sopenharmony_ci [GCC_CRYPTO_AXI_CLK] = &gcc_crypto_axi_clk.clkr, 452662306a36Sopenharmony_ci [GCC_CRYPTO_CLK] = &gcc_crypto_clk.clkr, 452762306a36Sopenharmony_ci [GCC_GP1_CLK] = &gcc_gp1_clk.clkr, 452862306a36Sopenharmony_ci [GCC_GP2_CLK] = &gcc_gp2_clk.clkr, 452962306a36Sopenharmony_ci [GCC_GP3_CLK] = &gcc_gp3_clk.clkr, 453062306a36Sopenharmony_ci [GCC_PCIE0_RCHNG_CLK_SRC] = &pcie0_rchng_clk_src.clkr, 453162306a36Sopenharmony_ci [GCC_PCIE0_RCHNG_CLK] = &gcc_pcie0_rchng_clk.clkr, 453262306a36Sopenharmony_ci [GCC_PCIE0_AXI_S_BRIDGE_CLK] = &gcc_pcie0_axi_s_bridge_clk.clkr, 453362306a36Sopenharmony_ci [GCC_CRYPTO_PPE_CLK] = &gcc_crypto_ppe_clk.clkr, 453462306a36Sopenharmony_ci}; 453562306a36Sopenharmony_ci 453662306a36Sopenharmony_cistatic const struct qcom_reset_map gcc_ipq8074_resets[] = { 453762306a36Sopenharmony_ci [GCC_BLSP1_BCR] = { 0x01000, 0 }, 453862306a36Sopenharmony_ci [GCC_BLSP1_QUP1_BCR] = { 0x02000, 0 }, 453962306a36Sopenharmony_ci [GCC_BLSP1_UART1_BCR] = { 0x02038, 0 }, 454062306a36Sopenharmony_ci [GCC_BLSP1_QUP2_BCR] = { 0x03008, 0 }, 454162306a36Sopenharmony_ci [GCC_BLSP1_UART2_BCR] = { 0x03028, 0 }, 454262306a36Sopenharmony_ci [GCC_BLSP1_QUP3_BCR] = { 0x04008, 0 }, 454362306a36Sopenharmony_ci [GCC_BLSP1_UART3_BCR] = { 0x04028, 0 }, 454462306a36Sopenharmony_ci [GCC_BLSP1_QUP4_BCR] = { 0x05008, 0 }, 454562306a36Sopenharmony_ci [GCC_BLSP1_UART4_BCR] = { 0x05028, 0 }, 454662306a36Sopenharmony_ci [GCC_BLSP1_QUP5_BCR] = { 0x06008, 0 }, 454762306a36Sopenharmony_ci [GCC_BLSP1_UART5_BCR] = { 0x06028, 0 }, 454862306a36Sopenharmony_ci [GCC_BLSP1_QUP6_BCR] = { 0x07008, 0 }, 454962306a36Sopenharmony_ci [GCC_BLSP1_UART6_BCR] = { 0x07028, 0 }, 455062306a36Sopenharmony_ci [GCC_IMEM_BCR] = { 0x0e000, 0 }, 455162306a36Sopenharmony_ci [GCC_SMMU_BCR] = { 0x12000, 0 }, 455262306a36Sopenharmony_ci [GCC_APSS_TCU_BCR] = { 0x12050, 0 }, 455362306a36Sopenharmony_ci [GCC_SMMU_XPU_BCR] = { 0x12054, 0 }, 455462306a36Sopenharmony_ci [GCC_PCNOC_TBU_BCR] = { 0x12058, 0 }, 455562306a36Sopenharmony_ci [GCC_SMMU_CFG_BCR] = { 0x1208c, 0 }, 455662306a36Sopenharmony_ci [GCC_PRNG_BCR] = { 0x13000, 0 }, 455762306a36Sopenharmony_ci [GCC_BOOT_ROM_BCR] = { 0x13008, 0 }, 455862306a36Sopenharmony_ci [GCC_CRYPTO_BCR] = { 0x16000, 0 }, 455962306a36Sopenharmony_ci [GCC_WCSS_BCR] = { 0x18000, 0 }, 456062306a36Sopenharmony_ci [GCC_WCSS_Q6_BCR] = { 0x18100, 0 }, 456162306a36Sopenharmony_ci [GCC_NSS_BCR] = { 0x19000, 0 }, 456262306a36Sopenharmony_ci [GCC_SEC_CTRL_BCR] = { 0x1a000, 0 }, 456362306a36Sopenharmony_ci [GCC_ADSS_BCR] = { 0x1c000, 0 }, 456462306a36Sopenharmony_ci [GCC_DDRSS_BCR] = { 0x1e000, 0 }, 456562306a36Sopenharmony_ci [GCC_SYSTEM_NOC_BCR] = { 0x26000, 0 }, 456662306a36Sopenharmony_ci [GCC_PCNOC_BCR] = { 0x27018, 0 }, 456762306a36Sopenharmony_ci [GCC_TCSR_BCR] = { 0x28000, 0 }, 456862306a36Sopenharmony_ci [GCC_QDSS_BCR] = { 0x29000, 0 }, 456962306a36Sopenharmony_ci [GCC_DCD_BCR] = { 0x2a000, 0 }, 457062306a36Sopenharmony_ci [GCC_MSG_RAM_BCR] = { 0x2b000, 0 }, 457162306a36Sopenharmony_ci [GCC_MPM_BCR] = { 0x2c000, 0 }, 457262306a36Sopenharmony_ci [GCC_SPMI_BCR] = { 0x2e000, 0 }, 457362306a36Sopenharmony_ci [GCC_SPDM_BCR] = { 0x2f000, 0 }, 457462306a36Sopenharmony_ci [GCC_RBCPR_BCR] = { 0x33000, 0 }, 457562306a36Sopenharmony_ci [GCC_RBCPR_MX_BCR] = { 0x33014, 0 }, 457662306a36Sopenharmony_ci [GCC_TLMM_BCR] = { 0x34000, 0 }, 457762306a36Sopenharmony_ci [GCC_RBCPR_WCSS_BCR] = { 0x3a000, 0 }, 457862306a36Sopenharmony_ci [GCC_USB0_PHY_BCR] = { 0x3e034, 0 }, 457962306a36Sopenharmony_ci [GCC_USB3PHY_0_PHY_BCR] = { 0x3e03c, 0 }, 458062306a36Sopenharmony_ci [GCC_USB0_BCR] = { 0x3e070, 0 }, 458162306a36Sopenharmony_ci [GCC_USB1_PHY_BCR] = { 0x3f034, 0 }, 458262306a36Sopenharmony_ci [GCC_USB3PHY_1_PHY_BCR] = { 0x3f03c, 0 }, 458362306a36Sopenharmony_ci [GCC_USB1_BCR] = { 0x3f070, 0 }, 458462306a36Sopenharmony_ci [GCC_QUSB2_0_PHY_BCR] = { 0x4103c, 0 }, 458562306a36Sopenharmony_ci [GCC_QUSB2_1_PHY_BCR] = { 0x41040, 0 }, 458662306a36Sopenharmony_ci [GCC_SDCC1_BCR] = { 0x42000, 0 }, 458762306a36Sopenharmony_ci [GCC_SDCC2_BCR] = { 0x43000, 0 }, 458862306a36Sopenharmony_ci [GCC_SNOC_BUS_TIMEOUT0_BCR] = { 0x47000, 0 }, 458962306a36Sopenharmony_ci [GCC_SNOC_BUS_TIMEOUT2_BCR] = { 0x47008, 0 }, 459062306a36Sopenharmony_ci [GCC_SNOC_BUS_TIMEOUT3_BCR] = { 0x47010, 0 }, 459162306a36Sopenharmony_ci [GCC_PCNOC_BUS_TIMEOUT0_BCR] = { 0x48000, 0 }, 459262306a36Sopenharmony_ci [GCC_PCNOC_BUS_TIMEOUT1_BCR] = { 0x48008, 0 }, 459362306a36Sopenharmony_ci [GCC_PCNOC_BUS_TIMEOUT2_BCR] = { 0x48010, 0 }, 459462306a36Sopenharmony_ci [GCC_PCNOC_BUS_TIMEOUT3_BCR] = { 0x48018, 0 }, 459562306a36Sopenharmony_ci [GCC_PCNOC_BUS_TIMEOUT4_BCR] = { 0x48020, 0 }, 459662306a36Sopenharmony_ci [GCC_PCNOC_BUS_TIMEOUT5_BCR] = { 0x48028, 0 }, 459762306a36Sopenharmony_ci [GCC_PCNOC_BUS_TIMEOUT6_BCR] = { 0x48030, 0 }, 459862306a36Sopenharmony_ci [GCC_PCNOC_BUS_TIMEOUT7_BCR] = { 0x48038, 0 }, 459962306a36Sopenharmony_ci [GCC_PCNOC_BUS_TIMEOUT8_BCR] = { 0x48040, 0 }, 460062306a36Sopenharmony_ci [GCC_PCNOC_BUS_TIMEOUT9_BCR] = { 0x48048, 0 }, 460162306a36Sopenharmony_ci [GCC_UNIPHY0_BCR] = { 0x56000, 0 }, 460262306a36Sopenharmony_ci [GCC_UNIPHY1_BCR] = { 0x56100, 0 }, 460362306a36Sopenharmony_ci [GCC_UNIPHY2_BCR] = { 0x56200, 0 }, 460462306a36Sopenharmony_ci [GCC_CMN_12GPLL_BCR] = { 0x56300, 0 }, 460562306a36Sopenharmony_ci [GCC_QPIC_BCR] = { 0x57018, 0 }, 460662306a36Sopenharmony_ci [GCC_MDIO_BCR] = { 0x58000, 0 }, 460762306a36Sopenharmony_ci [GCC_PCIE1_TBU_BCR] = { 0x65000, 0 }, 460862306a36Sopenharmony_ci [GCC_WCSS_CORE_TBU_BCR] = { 0x66000, 0 }, 460962306a36Sopenharmony_ci [GCC_WCSS_Q6_TBU_BCR] = { 0x67000, 0 }, 461062306a36Sopenharmony_ci [GCC_USB0_TBU_BCR] = { 0x6a000, 0 }, 461162306a36Sopenharmony_ci [GCC_USB1_TBU_BCR] = { 0x6a004, 0 }, 461262306a36Sopenharmony_ci [GCC_PCIE0_TBU_BCR] = { 0x6b000, 0 }, 461362306a36Sopenharmony_ci [GCC_NSS_NOC_TBU_BCR] = { 0x6e000, 0 }, 461462306a36Sopenharmony_ci [GCC_PCIE0_BCR] = { 0x75004, 0 }, 461562306a36Sopenharmony_ci [GCC_PCIE0_PHY_BCR] = { 0x75038, 0 }, 461662306a36Sopenharmony_ci [GCC_PCIE0PHY_PHY_BCR] = { 0x7503c, 0 }, 461762306a36Sopenharmony_ci [GCC_PCIE0_LINK_DOWN_BCR] = { 0x75044, 0 }, 461862306a36Sopenharmony_ci [GCC_PCIE1_BCR] = { 0x76004, 0 }, 461962306a36Sopenharmony_ci [GCC_PCIE1_PHY_BCR] = { 0x76038, 0 }, 462062306a36Sopenharmony_ci [GCC_PCIE1PHY_PHY_BCR] = { 0x7603c, 0 }, 462162306a36Sopenharmony_ci [GCC_PCIE1_LINK_DOWN_BCR] = { 0x76044, 0 }, 462262306a36Sopenharmony_ci [GCC_DCC_BCR] = { 0x77000, 0 }, 462362306a36Sopenharmony_ci [GCC_APC0_VOLTAGE_DROOP_DETECTOR_BCR] = { 0x78000, 0 }, 462462306a36Sopenharmony_ci [GCC_APC1_VOLTAGE_DROOP_DETECTOR_BCR] = { 0x79000, 0 }, 462562306a36Sopenharmony_ci [GCC_SMMU_CATS_BCR] = { 0x7c000, 0 }, 462662306a36Sopenharmony_ci [GCC_UBI0_AXI_ARES] = { 0x68010, 0 }, 462762306a36Sopenharmony_ci [GCC_UBI0_AHB_ARES] = { 0x68010, 1 }, 462862306a36Sopenharmony_ci [GCC_UBI0_NC_AXI_ARES] = { 0x68010, 2 }, 462962306a36Sopenharmony_ci [GCC_UBI0_DBG_ARES] = { 0x68010, 3 }, 463062306a36Sopenharmony_ci [GCC_UBI0_CORE_CLAMP_ENABLE] = { 0x68010, 4 }, 463162306a36Sopenharmony_ci [GCC_UBI0_CLKRST_CLAMP_ENABLE] = { 0x68010, 5 }, 463262306a36Sopenharmony_ci [GCC_UBI1_AXI_ARES] = { 0x68010, 8 }, 463362306a36Sopenharmony_ci [GCC_UBI1_AHB_ARES] = { 0x68010, 9 }, 463462306a36Sopenharmony_ci [GCC_UBI1_NC_AXI_ARES] = { 0x68010, 10 }, 463562306a36Sopenharmony_ci [GCC_UBI1_DBG_ARES] = { 0x68010, 11 }, 463662306a36Sopenharmony_ci [GCC_UBI1_CORE_CLAMP_ENABLE] = { 0x68010, 12 }, 463762306a36Sopenharmony_ci [GCC_UBI1_CLKRST_CLAMP_ENABLE] = { 0x68010, 13 }, 463862306a36Sopenharmony_ci [GCC_NSS_CFG_ARES] = { 0x68010, 16 }, 463962306a36Sopenharmony_ci [GCC_NSS_IMEM_ARES] = { 0x68010, 17 }, 464062306a36Sopenharmony_ci [GCC_NSS_NOC_ARES] = { 0x68010, 18 }, 464162306a36Sopenharmony_ci [GCC_NSS_CRYPTO_ARES] = { 0x68010, 19 }, 464262306a36Sopenharmony_ci [GCC_NSS_CSR_ARES] = { 0x68010, 20 }, 464362306a36Sopenharmony_ci [GCC_NSS_CE_APB_ARES] = { 0x68010, 21 }, 464462306a36Sopenharmony_ci [GCC_NSS_CE_AXI_ARES] = { 0x68010, 22 }, 464562306a36Sopenharmony_ci [GCC_NSSNOC_CE_APB_ARES] = { 0x68010, 23 }, 464662306a36Sopenharmony_ci [GCC_NSSNOC_CE_AXI_ARES] = { 0x68010, 24 }, 464762306a36Sopenharmony_ci [GCC_NSSNOC_UBI0_AHB_ARES] = { 0x68010, 25 }, 464862306a36Sopenharmony_ci [GCC_NSSNOC_UBI1_AHB_ARES] = { 0x68010, 26 }, 464962306a36Sopenharmony_ci [GCC_NSSNOC_SNOC_ARES] = { 0x68010, 27 }, 465062306a36Sopenharmony_ci [GCC_NSSNOC_CRYPTO_ARES] = { 0x68010, 28 }, 465162306a36Sopenharmony_ci [GCC_NSSNOC_ATB_ARES] = { 0x68010, 29 }, 465262306a36Sopenharmony_ci [GCC_NSSNOC_QOSGEN_REF_ARES] = { 0x68010, 30 }, 465362306a36Sopenharmony_ci [GCC_NSSNOC_TIMEOUT_REF_ARES] = { 0x68010, 31 }, 465462306a36Sopenharmony_ci [GCC_PCIE0_PIPE_ARES] = { 0x75040, 0 }, 465562306a36Sopenharmony_ci [GCC_PCIE0_SLEEP_ARES] = { 0x75040, 1 }, 465662306a36Sopenharmony_ci [GCC_PCIE0_CORE_STICKY_ARES] = { 0x75040, 2 }, 465762306a36Sopenharmony_ci [GCC_PCIE0_AXI_MASTER_ARES] = { 0x75040, 3 }, 465862306a36Sopenharmony_ci [GCC_PCIE0_AXI_SLAVE_ARES] = { 0x75040, 4 }, 465962306a36Sopenharmony_ci [GCC_PCIE0_AHB_ARES] = { 0x75040, 5 }, 466062306a36Sopenharmony_ci [GCC_PCIE0_AXI_MASTER_STICKY_ARES] = { 0x75040, 6 }, 466162306a36Sopenharmony_ci [GCC_PCIE0_AXI_SLAVE_STICKY_ARES] = { 0x75040, 7 }, 466262306a36Sopenharmony_ci [GCC_PCIE1_PIPE_ARES] = { 0x76040, 0 }, 466362306a36Sopenharmony_ci [GCC_PCIE1_SLEEP_ARES] = { 0x76040, 1 }, 466462306a36Sopenharmony_ci [GCC_PCIE1_CORE_STICKY_ARES] = { 0x76040, 2 }, 466562306a36Sopenharmony_ci [GCC_PCIE1_AXI_MASTER_ARES] = { 0x76040, 3 }, 466662306a36Sopenharmony_ci [GCC_PCIE1_AXI_SLAVE_ARES] = { 0x76040, 4 }, 466762306a36Sopenharmony_ci [GCC_PCIE1_AHB_ARES] = { 0x76040, 5 }, 466862306a36Sopenharmony_ci [GCC_PCIE1_AXI_MASTER_STICKY_ARES] = { 0x76040, 6 }, 466962306a36Sopenharmony_ci [GCC_PPE_FULL_RESET] = { .reg = 0x68014, .bitmask = GENMASK(19, 16) }, 467062306a36Sopenharmony_ci [GCC_UNIPHY0_SOFT_RESET] = { .reg = 0x56004, .bitmask = GENMASK(13, 4) | BIT(1) }, 467162306a36Sopenharmony_ci [GCC_UNIPHY0_XPCS_RESET] = { 0x56004, 2 }, 467262306a36Sopenharmony_ci [GCC_UNIPHY1_SOFT_RESET] = { .reg = 0x56104, .bitmask = GENMASK(5, 4) | BIT(1) }, 467362306a36Sopenharmony_ci [GCC_UNIPHY1_XPCS_RESET] = { 0x56104, 2 }, 467462306a36Sopenharmony_ci [GCC_UNIPHY2_SOFT_RESET] = { .reg = 0x56204, .bitmask = GENMASK(5, 4) | BIT(1) }, 467562306a36Sopenharmony_ci [GCC_UNIPHY2_XPCS_RESET] = { 0x56204, 2 }, 467662306a36Sopenharmony_ci [GCC_EDMA_HW_RESET] = { .reg = 0x68014, .bitmask = GENMASK(21, 20) }, 467762306a36Sopenharmony_ci [GCC_NSSPORT1_RESET] = { .reg = 0x68014, .bitmask = BIT(24) | GENMASK(1, 0) }, 467862306a36Sopenharmony_ci [GCC_NSSPORT2_RESET] = { .reg = 0x68014, .bitmask = BIT(25) | GENMASK(3, 2) }, 467962306a36Sopenharmony_ci [GCC_NSSPORT3_RESET] = { .reg = 0x68014, .bitmask = BIT(26) | GENMASK(5, 4) }, 468062306a36Sopenharmony_ci [GCC_NSSPORT4_RESET] = { .reg = 0x68014, .bitmask = BIT(27) | GENMASK(9, 8) }, 468162306a36Sopenharmony_ci [GCC_NSSPORT5_RESET] = { .reg = 0x68014, .bitmask = BIT(28) | GENMASK(11, 10) }, 468262306a36Sopenharmony_ci [GCC_NSSPORT6_RESET] = { .reg = 0x68014, .bitmask = BIT(29) | GENMASK(13, 12) }, 468362306a36Sopenharmony_ci}; 468462306a36Sopenharmony_ci 468562306a36Sopenharmony_cistatic struct gdsc *gcc_ipq8074_gdscs[] = { 468662306a36Sopenharmony_ci [USB0_GDSC] = &usb0_gdsc, 468762306a36Sopenharmony_ci [USB1_GDSC] = &usb1_gdsc, 468862306a36Sopenharmony_ci}; 468962306a36Sopenharmony_ci 469062306a36Sopenharmony_cistatic const struct of_device_id gcc_ipq8074_match_table[] = { 469162306a36Sopenharmony_ci { .compatible = "qcom,gcc-ipq8074" }, 469262306a36Sopenharmony_ci { } 469362306a36Sopenharmony_ci}; 469462306a36Sopenharmony_ciMODULE_DEVICE_TABLE(of, gcc_ipq8074_match_table); 469562306a36Sopenharmony_ci 469662306a36Sopenharmony_cistatic const struct regmap_config gcc_ipq8074_regmap_config = { 469762306a36Sopenharmony_ci .reg_bits = 32, 469862306a36Sopenharmony_ci .reg_stride = 4, 469962306a36Sopenharmony_ci .val_bits = 32, 470062306a36Sopenharmony_ci .max_register = 0x7fffc, 470162306a36Sopenharmony_ci .fast_io = true, 470262306a36Sopenharmony_ci}; 470362306a36Sopenharmony_ci 470462306a36Sopenharmony_cistatic const struct qcom_cc_desc gcc_ipq8074_desc = { 470562306a36Sopenharmony_ci .config = &gcc_ipq8074_regmap_config, 470662306a36Sopenharmony_ci .clks = gcc_ipq8074_clks, 470762306a36Sopenharmony_ci .num_clks = ARRAY_SIZE(gcc_ipq8074_clks), 470862306a36Sopenharmony_ci .resets = gcc_ipq8074_resets, 470962306a36Sopenharmony_ci .num_resets = ARRAY_SIZE(gcc_ipq8074_resets), 471062306a36Sopenharmony_ci .clk_hws = gcc_ipq8074_hws, 471162306a36Sopenharmony_ci .num_clk_hws = ARRAY_SIZE(gcc_ipq8074_hws), 471262306a36Sopenharmony_ci .gdscs = gcc_ipq8074_gdscs, 471362306a36Sopenharmony_ci .num_gdscs = ARRAY_SIZE(gcc_ipq8074_gdscs), 471462306a36Sopenharmony_ci}; 471562306a36Sopenharmony_ci 471662306a36Sopenharmony_cistatic int gcc_ipq8074_probe(struct platform_device *pdev) 471762306a36Sopenharmony_ci{ 471862306a36Sopenharmony_ci struct regmap *regmap; 471962306a36Sopenharmony_ci 472062306a36Sopenharmony_ci regmap = qcom_cc_map(pdev, &gcc_ipq8074_desc); 472162306a36Sopenharmony_ci if (IS_ERR(regmap)) 472262306a36Sopenharmony_ci return PTR_ERR(regmap); 472362306a36Sopenharmony_ci 472462306a36Sopenharmony_ci /* SW Workaround for UBI32 Huayra PLL */ 472562306a36Sopenharmony_ci regmap_update_bits(regmap, 0x2501c, BIT(26), BIT(26)); 472662306a36Sopenharmony_ci 472762306a36Sopenharmony_ci clk_alpha_pll_configure(&ubi32_pll_main, regmap, &ubi32_pll_config); 472862306a36Sopenharmony_ci clk_alpha_pll_configure(&nss_crypto_pll_main, regmap, 472962306a36Sopenharmony_ci &nss_crypto_pll_config); 473062306a36Sopenharmony_ci 473162306a36Sopenharmony_ci return qcom_cc_really_probe(pdev, &gcc_ipq8074_desc, regmap); 473262306a36Sopenharmony_ci} 473362306a36Sopenharmony_ci 473462306a36Sopenharmony_cistatic struct platform_driver gcc_ipq8074_driver = { 473562306a36Sopenharmony_ci .probe = gcc_ipq8074_probe, 473662306a36Sopenharmony_ci .driver = { 473762306a36Sopenharmony_ci .name = "qcom,gcc-ipq8074", 473862306a36Sopenharmony_ci .of_match_table = gcc_ipq8074_match_table, 473962306a36Sopenharmony_ci }, 474062306a36Sopenharmony_ci}; 474162306a36Sopenharmony_ci 474262306a36Sopenharmony_cistatic int __init gcc_ipq8074_init(void) 474362306a36Sopenharmony_ci{ 474462306a36Sopenharmony_ci return platform_driver_register(&gcc_ipq8074_driver); 474562306a36Sopenharmony_ci} 474662306a36Sopenharmony_cicore_initcall(gcc_ipq8074_init); 474762306a36Sopenharmony_ci 474862306a36Sopenharmony_cistatic void __exit gcc_ipq8074_exit(void) 474962306a36Sopenharmony_ci{ 475062306a36Sopenharmony_ci platform_driver_unregister(&gcc_ipq8074_driver); 475162306a36Sopenharmony_ci} 475262306a36Sopenharmony_cimodule_exit(gcc_ipq8074_exit); 475362306a36Sopenharmony_ci 475462306a36Sopenharmony_ciMODULE_DESCRIPTION("QCOM GCC IPQ8074 Driver"); 475562306a36Sopenharmony_ciMODULE_LICENSE("GPL v2"); 475662306a36Sopenharmony_ciMODULE_ALIAS("platform:gcc-ipq8074"); 4757