Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Linux/drivers/clk/qcom/   (Open Source Betriebssystem Version 6.17.9©)  Datei vom 24.10.2025 mit Größe 88 kB image not shown  

Quelle  gcc-ipq5332.c   Sprache: C

 
// SPDX-License-Identifier: GPL-2.0-only
/*
 * Copyright (c) 2022-2023 Qualcomm Innovation Center, Inc. All rights reserved.
 */


#include <linux/clk-provider.h>
#include <linux/interconnect-provider.h>
#include <linux/mod_devicetable.h>
#include <linux/module.h>
#include <linux/platform_device.h>
#include <linux/regmap.h>

#include <dt-bindings/clock/qcom,ipq5332-gcc.h>
#include <dt-bindings/interconnect/qcom,ipq5332.h>

#include "clk-alpha-pll.h"
#include "clk-branch.h"
#include "clk-rcg.h"
#include "clk-regmap.h"
#include "clk-regmap-divider.h"
#include "clk-regmap-mux.h"
#include "clk-regmap-phy-mux.h"
#include "reset.h"

enum {
 DT_XO,
 DT_SLEEP_CLK,
 DT_PCIE_2LANE_PHY_PIPE_CLK,
 DT_PCIE_2LANE_PHY_PIPE_CLK_X1,
 DT_USB_PCIE_WRAPPER_PIPE_CLK,
};

enum {
 P_PCIE3X2_PIPE,
 P_PCIE3X1_0_PIPE,
 P_PCIE3X1_1_PIPE,
 P_USB3PHY_0_PIPE,
 P_CORE_BI_PLL_TEST_SE,
 P_GCC_GPLL0_OUT_MAIN_DIV_CLK_SRC,
 P_GPLL0_OUT_AUX,
 P_GPLL0_OUT_MAIN,
 P_GPLL2_OUT_AUX,
 P_GPLL2_OUT_MAIN,
 P_GPLL4_OUT_AUX,
 P_GPLL4_OUT_MAIN,
 P_SLEEP_CLK,
 P_XO,
};

static const struct clk_parent_data gcc_parent_data_xo = { .index = DT_XO };

static struct clk_alpha_pll gpll0_main = {
 .offset = 0x20000,
 .regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_STROMER_PLUS],
 .clkr = {
  .enable_reg = 0xb000,
  .enable_mask = BIT(0),
  .hw.init = &(const struct clk_init_data) {
   .name = "gpll0_main",
   .parent_data = &gcc_parent_data_xo,
   .num_parents = 1,
   .ops = &clk_alpha_pll_stromer_ops,
  },
 },
};

static struct clk_fixed_factor gpll0_div2 = {
 .mult = 1,
 .div = 2,
 .hw.init = &(struct clk_init_data) {
  .name = "gpll0_div2",
  .parent_hws = (const struct clk_hw *[]) {
    &gpll0_main.clkr.hw },
  .num_parents = 1,
  .ops = &clk_fixed_factor_ops,
 },
};

static struct clk_alpha_pll_postdiv gpll0 = {
 .offset = 0x20000,
 .regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_STROMER_PLUS],
 .width = 4,
 .clkr.hw.init = &(struct clk_init_data) {
  .name = "gpll0",
  .parent_hws = (const struct clk_hw *[]) {
    &gpll0_main.clkr.hw },
  .num_parents = 1,
  .ops = &clk_alpha_pll_postdiv_ro_ops,
 },
};

static struct clk_alpha_pll gpll2_main = {
 .offset = 0x21000,
 .regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_STROMER_PLUS],
 .clkr = {
  .enable_reg = 0xb000,
  .enable_mask = BIT(1),
  .hw.init = &(const struct clk_init_data) {
   .name = "gpll2",
   .parent_data = &gcc_parent_data_xo,
   .num_parents = 1,
   .ops = &clk_alpha_pll_stromer_ops,
  },
 },
};

static struct clk_alpha_pll_postdiv gpll2 = {
 .offset = 0x21000,
 .regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_STROMER_PLUS],
 .width = 4,
 .clkr.hw.init = &(struct clk_init_data) {
  .name = "gpll2_main",
  .parent_hws = (const struct clk_hw *[]) {
    &gpll2_main.clkr.hw },
  .num_parents = 1,
  .ops = &clk_alpha_pll_postdiv_ro_ops,
 },
};

static struct clk_alpha_pll gpll4_main = {
 .offset = 0x22000,
 .regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_STROMER_PLUS],
 .clkr = {
  .enable_reg = 0xb000,
  .enable_mask = BIT(2),
  .hw.init = &(const struct clk_init_data) {
   .name = "gpll4_main",
   .parent_data = &gcc_parent_data_xo,
   .num_parents = 1,
   .ops = &clk_alpha_pll_stromer_ops,
  },
 },
};

static struct clk_alpha_pll_postdiv gpll4 = {
 .offset = 0x22000,
 .regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_STROMER_PLUS],
 .width = 4,
 .clkr.hw.init = &(struct clk_init_data) {
  .name = "gpll4",
  .parent_hws = (const struct clk_hw *[]) {
    &gpll4_main.clkr.hw },
  .num_parents = 1,
  .ops = &clk_alpha_pll_postdiv_ro_ops,
 },
};

static const struct parent_map gcc_parent_map_xo[] = {
 { P_XO, 0 },
};

static const struct parent_map gcc_parent_map_0[] = {
 { P_XO, 0 },
 { P_GPLL0_OUT_MAIN, 1 },
 { P_GCC_GPLL0_OUT_MAIN_DIV_CLK_SRC, 4 },
};

static const struct clk_parent_data gcc_parent_data_0[] = {
 { .index = DT_XO },
 { .hw = &gpll0.clkr.hw },
 { .hw = &gpll0_div2.hw },
};

static const struct parent_map gcc_parent_map_1[] = {
 { P_XO, 0 },
 { P_GPLL0_OUT_MAIN, 1 },
};

static const struct clk_parent_data gcc_parent_data_1[] = {
 { .index = DT_XO },
 { .hw = &gpll0.clkr.hw },
};

static const struct parent_map gcc_parent_map_2[] = {
 { P_XO, 0 },
 { P_GPLL0_OUT_MAIN, 1 },
 { P_GPLL4_OUT_MAIN, 2 },
};

static const struct clk_parent_data gcc_parent_data_2[] = {
 { .index = DT_XO },
 { .hw = &gpll0.clkr.hw },
 { .hw = &gpll4.clkr.hw },
};

static const struct parent_map gcc_parent_map_3[] = {
 { P_XO, 0 },
 { P_GPLL0_OUT_MAIN, 1 },
 { P_GCC_GPLL0_OUT_MAIN_DIV_CLK_SRC, 4 },
 { P_SLEEP_CLK, 6 },
};

static const struct clk_parent_data gcc_parent_data_3[] = {
 { .index = DT_XO },
 { .hw = &gpll0.clkr.hw },
 { .hw = &gpll0_div2.hw },
 { .index = DT_SLEEP_CLK },
};

static const struct parent_map gcc_parent_map_4[] = {
 { P_XO, 0 },
 { P_GPLL4_OUT_MAIN, 1 },
 { P_GPLL0_OUT_AUX, 2 },
 { P_GCC_GPLL0_OUT_MAIN_DIV_CLK_SRC, 4 },
};

static const struct clk_parent_data gcc_parent_data_4[] = {
 { .index = DT_XO },
 { .hw = &gpll4.clkr.hw },
 { .hw = &gpll0.clkr.hw },
 { .hw = &gpll0_div2.hw },
};

static const struct parent_map gcc_parent_map_5[] = {
 { P_XO, 0 },
 { P_GPLL0_OUT_MAIN, 1 },
 { P_GPLL0_OUT_AUX, 2 },
 { P_SLEEP_CLK, 6 },
};

static const struct clk_parent_data gcc_parent_data_5[] = {
 { .index = DT_XO },
 { .hw = &gpll0.clkr.hw },
 { .hw = &gpll0.clkr.hw },
 { .index = DT_SLEEP_CLK },
};

static const struct parent_map gcc_parent_map_6[] = {
 { P_XO, 0 },
 { P_GPLL0_OUT_MAIN, 1 },
 { P_GPLL2_OUT_AUX, 2 },
 { P_GPLL4_OUT_AUX, 3 },
 { P_SLEEP_CLK, 6 },
};

static const struct clk_parent_data gcc_parent_data_6[] = {
 { .index = DT_XO },
 { .hw = &gpll0.clkr.hw },
 { .hw = &gpll2.clkr.hw },
 { .hw = &gpll4.clkr.hw },
 { .index = DT_SLEEP_CLK },
};

static const struct parent_map gcc_parent_map_7[] = {
 { P_XO, 0 },
 { P_GPLL0_OUT_MAIN, 1 },
 { P_GPLL2_OUT_AUX, 2 },
};

static const struct clk_parent_data gcc_parent_data_7[] = {
 { .index = DT_XO },
 { .hw = &gpll0.clkr.hw },
 { .hw = &gpll2.clkr.hw },
};

static const struct parent_map gcc_parent_map_8[] = {
 { P_XO, 0 },
 { P_GPLL0_OUT_MAIN, 1 },
 { P_GPLL2_OUT_MAIN, 2 },
 { P_GCC_GPLL0_OUT_MAIN_DIV_CLK_SRC, 4 },
};

static const struct clk_parent_data gcc_parent_data_8[] = {
 { .index = DT_XO },
 { .hw = &gpll0.clkr.hw },
 { .hw = &gpll2.clkr.hw },
 { .hw = &gpll0_div2.hw },
};

static const struct parent_map gcc_parent_map_9[] = {
 { P_SLEEP_CLK, 6 },
};

static const struct clk_parent_data gcc_parent_data_9[] = {
 { .index = DT_SLEEP_CLK },
};

static const struct parent_map gcc_parent_map_10[] = {
 { P_XO, 0 },
 { P_GPLL0_OUT_MAIN, 1 },
 { P_GPLL4_OUT_MAIN, 2 },
 { P_GCC_GPLL0_OUT_MAIN_DIV_CLK_SRC, 3 },
};

static const struct clk_parent_data gcc_parent_data_10[] = {
 { .index = DT_XO },
 { .hw = &gpll0.clkr.hw },
 { .hw = &gpll4.clkr.hw },
 { .hw = &gpll0_div2.hw },
};

static const struct parent_map gcc_parent_map_11[] = {
 { P_XO, 0 },
 { P_GPLL0_OUT_AUX, 2 },
 { P_SLEEP_CLK, 6 },
};

static const struct clk_parent_data gcc_parent_data_11[] = {
 { .index = DT_XO },
 { .hw = &gpll0.clkr.hw },
 { .index = DT_SLEEP_CLK },
};

static const struct parent_map gcc_parent_map_12[] = {
 { P_XO, 0 },
 { P_GPLL4_OUT_AUX, 1 },
 { P_GPLL0_OUT_MAIN, 3 },
 { P_GCC_GPLL0_OUT_MAIN_DIV_CLK_SRC, 4 },
};

static const struct clk_parent_data gcc_parent_data_12[] = {
 { .index = DT_XO },
 { .hw = &gpll4.clkr.hw },
 { .hw = &gpll0.clkr.hw },
 { .hw = &gpll0_div2.hw },
};

static const struct freq_tbl ftbl_gcc_adss_pwm_clk_src[] = {
 F(24000000, P_XO, 1, 0, 0),
 F(100000000, P_GPLL0_OUT_MAIN, 8, 0, 0),
 { }
};

static struct clk_rcg2 gcc_adss_pwm_clk_src = {
 .cmd_rcgr = 0x1c004,
 .mnd_width = 0,
 .hid_width = 5,
 .parent_map = gcc_parent_map_1,
 .freq_tbl = ftbl_gcc_adss_pwm_clk_src,
 .clkr.hw.init = &(const struct clk_init_data) {
  .name = "gcc_adss_pwm_clk_src",
  .parent_data = gcc_parent_data_1,
  .num_parents = ARRAY_SIZE(gcc_parent_data_1),
  .ops = &clk_rcg2_ops,
 },
};

static const struct freq_tbl ftbl_gcc_apss_axi_clk_src[] = {
 F(480000000, P_GPLL4_OUT_AUX, 2.5, 0, 0),
 F(533333333, P_GPLL0_OUT_MAIN, 1.5, 0, 0),
 { }
};

static const struct freq_tbl ftbl_gcc_blsp1_qup1_spi_apps_clk_src[] = {
 F(960000, P_XO, 1, 1, 25),
 F(4800000, P_XO, 5, 0, 0),
 F(9600000, P_XO, 2.5, 0, 0),
 F(16000000, P_GPLL0_OUT_MAIN, 10, 1, 5),
 F(24000000, P_XO, 1, 0, 0),
 F(25000000, P_GPLL0_OUT_MAIN, 16, 1, 2),
 F(50000000, P_GPLL0_OUT_MAIN, 16, 0, 0),
 { }
};

static struct clk_rcg2 gcc_blsp1_qup1_spi_apps_clk_src = {
 .cmd_rcgr = 0x2004,
 .mnd_width = 8,
 .hid_width = 5,
 .parent_map = gcc_parent_map_0,
 .freq_tbl = ftbl_gcc_blsp1_qup1_spi_apps_clk_src,
 .clkr.hw.init = &(const struct clk_init_data) {
  .name = "gcc_blsp1_qup1_spi_apps_clk_src",
  .parent_data = gcc_parent_data_0,
  .num_parents = ARRAY_SIZE(gcc_parent_data_0),
  .ops = &clk_rcg2_ops,
 },
};

static struct clk_rcg2 gcc_blsp1_qup2_spi_apps_clk_src = {
 .cmd_rcgr = 0x3004,
 .mnd_width = 8,
 .hid_width = 5,
 .parent_map = gcc_parent_map_0,
 .freq_tbl = ftbl_gcc_blsp1_qup1_spi_apps_clk_src,
 .clkr.hw.init = &(const struct clk_init_data) {
  .name = "gcc_blsp1_qup2_spi_apps_clk_src",
  .parent_data = gcc_parent_data_0,
  .num_parents = ARRAY_SIZE(gcc_parent_data_0),
  .ops = &clk_rcg2_ops,
 },
};

static struct clk_rcg2 gcc_blsp1_qup3_spi_apps_clk_src = {
 .cmd_rcgr = 0x4004,
 .mnd_width = 8,
 .hid_width = 5,
 .parent_map = gcc_parent_map_0,
 .freq_tbl = ftbl_gcc_blsp1_qup1_spi_apps_clk_src,
 .clkr.hw.init = &(const struct clk_init_data) {
  .name = "gcc_blsp1_qup3_spi_apps_clk_src",
  .parent_data = gcc_parent_data_0,
  .num_parents = ARRAY_SIZE(gcc_parent_data_0),
  .ops = &clk_rcg2_ops,
 },
};

static const struct freq_tbl ftbl_gcc_blsp1_uart1_apps_clk_src[] = {
 F(3686400, P_GCC_GPLL0_OUT_MAIN_DIV_CLK_SRC, 1, 144, 15625),
 F(7372800, P_GCC_GPLL0_OUT_MAIN_DIV_CLK_SRC, 1, 288, 15625),
 F(14745600, P_GCC_GPLL0_OUT_MAIN_DIV_CLK_SRC, 1, 576, 15625),
 F(24000000, P_XO, 1, 0, 0),
 F(25000000, P_GPLL0_OUT_MAIN, 16, 1, 2),
 F(32000000, P_GPLL0_OUT_MAIN, 1, 1, 25),
 F(40000000, P_GPLL0_OUT_MAIN, 1, 1, 20),
 F(46400000, P_GPLL0_OUT_MAIN, 1, 29, 500),
 F(48000000, P_GPLL0_OUT_MAIN, 1, 3, 50),
 F(51200000, P_GPLL0_OUT_MAIN, 1, 8, 125),
 F(56000000, P_GPLL0_OUT_MAIN, 1, 7, 100),
 F(58982400, P_GPLL0_OUT_MAIN, 1, 1152, 15625),
 F(60000000, P_GPLL0_OUT_MAIN, 1, 3, 40),
 F(64000000, P_GPLL0_OUT_MAIN, 12.5, 0, 0),
 { }
};

static struct clk_rcg2 gcc_blsp1_uart1_apps_clk_src = {
 .cmd_rcgr = 0x202c,
 .mnd_width = 16,
 .hid_width = 5,
 .parent_map = gcc_parent_map_0,
 .freq_tbl = ftbl_gcc_blsp1_uart1_apps_clk_src,
 .clkr.hw.init = &(const struct clk_init_data) {
  .name = "gcc_blsp1_uart1_apps_clk_src",
  .parent_data = gcc_parent_data_0,
  .num_parents = ARRAY_SIZE(gcc_parent_data_0),
  .ops = &clk_rcg2_ops,
 },
};

static struct clk_rcg2 gcc_blsp1_uart2_apps_clk_src = {
 .cmd_rcgr = 0x302c,
 .mnd_width = 16,
 .hid_width = 5,
 .parent_map = gcc_parent_map_0,
 .freq_tbl = ftbl_gcc_blsp1_uart1_apps_clk_src,
 .clkr.hw.init = &(const struct clk_init_data) {
  .name = "gcc_blsp1_uart2_apps_clk_src",
  .parent_data = gcc_parent_data_0,
  .num_parents = ARRAY_SIZE(gcc_parent_data_0),
  .ops = &clk_rcg2_ops,
 },
};

static struct clk_rcg2 gcc_blsp1_uart3_apps_clk_src = {
 .cmd_rcgr = 0x402c,
 .mnd_width = 16,
 .hid_width = 5,
 .parent_map = gcc_parent_map_0,
 .freq_tbl = ftbl_gcc_blsp1_uart1_apps_clk_src,
 .clkr.hw.init = &(const struct clk_init_data) {
  .name = "gcc_blsp1_uart3_apps_clk_src",
  .parent_data = gcc_parent_data_0,
  .num_parents = ARRAY_SIZE(gcc_parent_data_0),
  .ops = &clk_rcg2_ops,
 },
};

static const struct freq_tbl ftbl_gcc_gp1_clk_src[] = {
 F(24000000, P_XO, 1, 0, 0),
 F(200000000, P_GPLL0_OUT_MAIN, 4, 0, 0),
 { }
};

static struct clk_rcg2 gcc_gp1_clk_src = {
 .cmd_rcgr = 0x8004,
 .mnd_width = 8,
 .hid_width = 5,
 .parent_map = gcc_parent_map_3,
 .freq_tbl = ftbl_gcc_gp1_clk_src,
 .clkr.hw.init = &(const struct clk_init_data) {
  .name = "gcc_gp1_clk_src",
  .parent_data = gcc_parent_data_3,
  .num_parents = ARRAY_SIZE(gcc_parent_data_3),
  .ops = &clk_rcg2_ops,
 },
};

static struct clk_rcg2 gcc_gp2_clk_src = {
 .cmd_rcgr = 0x9004,
 .mnd_width = 8,
 .hid_width = 5,
 .parent_map = gcc_parent_map_3,
 .freq_tbl = ftbl_gcc_gp1_clk_src,
 .clkr.hw.init = &(const struct clk_init_data) {
  .name = "gcc_gp2_clk_src",
  .parent_data = gcc_parent_data_3,
  .num_parents = ARRAY_SIZE(gcc_parent_data_3),
  .ops = &clk_rcg2_ops,
 },
};

static const struct freq_tbl ftbl_gcc_lpass_sway_clk_src[] = {
 F(133333333, P_GPLL0_OUT_MAIN, 6, 0, 0),
 { }
};

static struct clk_rcg2 gcc_lpass_sway_clk_src = {
 .cmd_rcgr = 0x27004,
 .mnd_width = 0,
 .hid_width = 5,
 .parent_map = gcc_parent_map_1,
 .freq_tbl = ftbl_gcc_lpass_sway_clk_src,
 .clkr.hw.init = &(const struct clk_init_data) {
  .name = "gcc_lpass_sway_clk_src",
  .parent_data = gcc_parent_data_1,
  .num_parents = ARRAY_SIZE(gcc_parent_data_1),
  .ops = &clk_rcg2_ops,
 },
};

static const struct freq_tbl ftbl_gcc_nss_ts_clk_src[] = {
 F(24000000, P_XO, 1, 0, 0),
 { }
};

static struct clk_rcg2 gcc_nss_ts_clk_src = {
 .cmd_rcgr = 0x17088,
 .mnd_width = 0,
 .hid_width = 5,
 .parent_map = gcc_parent_map_xo,
 .freq_tbl = ftbl_gcc_nss_ts_clk_src,
 .clkr.hw.init = &(const struct clk_init_data) {
  .name = "gcc_nss_ts_clk_src",
  .parent_data = &gcc_parent_data_xo,
  .num_parents = 1,
  .ops = &clk_rcg2_ops,
 },
};

static const struct freq_tbl ftbl_gcc_pcie3x1_0_axi_clk_src[] = {
 F(240000000, P_GPLL4_OUT_MAIN, 5, 0, 0),
 { }
};

static struct clk_rcg2 gcc_pcie3x1_0_axi_clk_src = {
 .cmd_rcgr = 0x29018,
 .mnd_width = 0,
 .hid_width = 5,
 .parent_map = gcc_parent_map_2,
 .freq_tbl = ftbl_gcc_pcie3x1_0_axi_clk_src,
 .clkr.hw.init = &(const struct clk_init_data) {
  .name = "gcc_pcie3x1_0_axi_clk_src",
  .parent_data = gcc_parent_data_2,
  .num_parents = ARRAY_SIZE(gcc_parent_data_2),
  .ops = &clk_rcg2_ops,
 },
};

static struct clk_rcg2 gcc_pcie3x1_0_rchg_clk_src = {
 .cmd_rcgr = 0x2907c,
 .hid_width = 5,
 .parent_map = gcc_parent_map_0,
 .freq_tbl = ftbl_gcc_adss_pwm_clk_src,
 .clkr.hw.init = &(const struct clk_init_data) {
  .name = "gcc_pcie3x1_0_rchg_clk_src",
  .parent_data = gcc_parent_data_0,
  .num_parents = ARRAY_SIZE(gcc_parent_data_0),
  .ops = &clk_rcg2_ops,
 },
};

static struct clk_branch gcc_pcie3x1_0_rchg_clk = {
 .halt_reg = 0x2907c,
 .clkr = {
  .enable_reg = 0x2907c,
  .enable_mask = BIT(1),
  .hw.init = &(struct clk_init_data) {
   .name = "gcc_pcie3x1_0_rchg_clk",
   .parent_hws = (const struct clk_hw *[]) {
     &gcc_pcie3x1_0_rchg_clk_src.clkr.hw },
   .num_parents = 1,
   .flags = CLK_SET_RATE_PARENT,
   .ops = &clk_branch2_ops,
  },
 },
};

static struct clk_rcg2 gcc_pcie3x1_1_axi_clk_src = {
 .cmd_rcgr = 0x2a004,
 .mnd_width = 0,
 .hid_width = 5,
 .parent_map = gcc_parent_map_2,
 .freq_tbl = ftbl_gcc_pcie3x1_0_axi_clk_src,
 .clkr.hw.init = &(const struct clk_init_data) {
  .name = "gcc_pcie3x1_1_axi_clk_src",
  .parent_data = gcc_parent_data_2,
  .num_parents = ARRAY_SIZE(gcc_parent_data_2),
  .ops = &clk_rcg2_ops,
 },
};

static struct clk_rcg2 gcc_pcie3x1_1_rchg_clk_src = {
 .cmd_rcgr = 0x2a078,
 .hid_width = 5,
 .parent_map = gcc_parent_map_0,
 .freq_tbl = ftbl_gcc_adss_pwm_clk_src,
 .clkr.hw.init = &(const struct clk_init_data) {
  .name = "gcc_pcie3x1_1_rchg_clk_src",
  .parent_data = gcc_parent_data_0,
  .num_parents = ARRAY_SIZE(gcc_parent_data_0),
  .ops = &clk_rcg2_ops,
 },
};

static struct clk_branch gcc_pcie3x1_1_rchg_clk = {
 .halt_reg = 0x2a078,
 .clkr = {
  .enable_reg = 0x2a078,
  .enable_mask = BIT(1),
  .hw.init = &(struct clk_init_data) {
   .name = "gcc_pcie3x1_1_rchg_clk",
   .parent_hws = (const struct clk_hw *[]) {
     &gcc_pcie3x1_1_rchg_clk_src.clkr.hw },
   .num_parents = 1,
   .flags = CLK_SET_RATE_PARENT,
   .ops = &clk_branch2_ops,
  },
 },
};

static const struct freq_tbl ftbl_gcc_pcie3x2_axi_m_clk_src[] = {
 F(266666667, P_GPLL4_OUT_MAIN, 4.5, 0, 0),
 { }
};

static struct clk_rcg2 gcc_pcie3x2_axi_m_clk_src = {
 .cmd_rcgr = 0x28018,
 .mnd_width = 0,
 .hid_width = 5,
 .parent_map = gcc_parent_map_2,
 .freq_tbl = ftbl_gcc_pcie3x2_axi_m_clk_src,
 .clkr.hw.init = &(const struct clk_init_data) {
  .name = "gcc_pcie3x2_axi_m_clk_src",
  .parent_data = gcc_parent_data_2,
  .num_parents = ARRAY_SIZE(gcc_parent_data_2),
  .ops = &clk_rcg2_ops,
 },
};

static struct clk_rcg2 gcc_pcie3x2_axi_s_clk_src = {
 .cmd_rcgr = 0x28084,
 .mnd_width = 0,
 .hid_width = 5,
 .parent_map = gcc_parent_map_2,
 .freq_tbl = ftbl_gcc_pcie3x1_0_axi_clk_src,
 .clkr.hw.init = &(const struct clk_init_data) {
  .name = "gcc_pcie3x2_axi_s_clk_src",
  .parent_data = gcc_parent_data_2,
  .num_parents = ARRAY_SIZE(gcc_parent_data_2),
  .ops = &clk_rcg2_ops,
 },
};

static struct clk_rcg2 gcc_pcie3x2_rchg_clk_src = {
 .cmd_rcgr = 0x28078,
 .mnd_width = 0,
 .hid_width = 5,
 .parent_map = gcc_parent_map_0,
 .freq_tbl = ftbl_gcc_adss_pwm_clk_src,
 .clkr.hw.init = &(const struct clk_init_data) {
  .name = "gcc_pcie3x2_rchg_clk_src",
  .parent_data = gcc_parent_data_0,
  .num_parents = ARRAY_SIZE(gcc_parent_data_0),
  .ops = &clk_rcg2_ops,
 },
};

static struct clk_branch gcc_pcie3x2_rchg_clk = {
 .halt_reg = 0x28078,
 .clkr = {
  .enable_reg = 0x28078,
  .enable_mask = BIT(1),
  .hw.init = &(struct clk_init_data) {
   .name = "gcc_pcie3x2_rchg_clk",
   .parent_hws = (const struct clk_hw *[]) {
     &gcc_pcie3x2_rchg_clk_src.clkr.hw },
   .num_parents = 1,
   .flags = CLK_SET_RATE_PARENT,
   .ops = &clk_branch2_ops,
  },
 },
};

static const struct freq_tbl ftbl_gcc_pcie_aux_clk_src[] = {
 F(2000000, P_XO, 12, 0, 0),
 { }
};

static struct clk_rcg2 gcc_pcie_aux_clk_src = {
 .cmd_rcgr = 0x28004,
 .mnd_width = 16,
 .hid_width = 5,
 .parent_map = gcc_parent_map_5,
 .freq_tbl = ftbl_gcc_pcie_aux_clk_src,
 .clkr.hw.init = &(const struct clk_init_data) {
  .name = "gcc_pcie_aux_clk_src",
  .parent_data = gcc_parent_data_5,
  .num_parents = ARRAY_SIZE(gcc_parent_data_5),
  .ops = &clk_rcg2_ops,
 },
};

static struct clk_regmap_phy_mux gcc_pcie3x2_pipe_clk_src = {
 .reg = 0x28064,
 .clkr = {
  .hw.init = &(struct clk_init_data) {
   .name = "gcc_pcie3x2_pipe_clk_src",
   .parent_data = &(const struct clk_parent_data) {
    .index = DT_PCIE_2LANE_PHY_PIPE_CLK,
   },
   .num_parents = 1,
   .ops = &clk_regmap_phy_mux_ops,
  },
 },
};

static struct clk_regmap_phy_mux gcc_pcie3x1_0_pipe_clk_src = {
 .reg = 0x29064,
 .clkr = {
  .hw.init = &(struct clk_init_data) {
   .name = "gcc_pcie3x1_0_pipe_clk_src",
   .parent_data = &(const struct clk_parent_data) {
    .index = DT_USB_PCIE_WRAPPER_PIPE_CLK,
   },
   .num_parents = 1,
   .ops = &clk_regmap_phy_mux_ops,
  },
 },
};

static struct clk_regmap_phy_mux gcc_pcie3x1_1_pipe_clk_src = {
 .reg = 0x2a064,
 .clkr = {
  .hw.init = &(struct clk_init_data) {
   .name = "gcc_pcie3x1_1_pipe_clk_src",
   .parent_data = &(const struct clk_parent_data) {
    .index = DT_PCIE_2LANE_PHY_PIPE_CLK_X1,
   },
   .num_parents = 1,
   .ops = &clk_regmap_phy_mux_ops,
  },
 },
};

static const struct freq_tbl ftbl_gcc_pcnoc_bfdcd_clk_src[] = {
 F(24000000, P_XO, 1, 0, 0),
 F(50000000, P_GPLL0_OUT_MAIN, 16, 0, 0),
 F(100000000, P_GPLL0_OUT_MAIN, 8, 0, 0),
 { }
};

static struct clk_rcg2 gcc_pcnoc_bfdcd_clk_src = {
 .cmd_rcgr = 0x31004,
 .mnd_width = 0,
 .hid_width = 5,
 .parent_map = gcc_parent_map_0,
 .freq_tbl = ftbl_gcc_pcnoc_bfdcd_clk_src,
 .clkr.hw.init = &(const struct clk_init_data) {
  .name = "gcc_pcnoc_bfdcd_clk_src",
  .parent_data = gcc_parent_data_0,
  .num_parents = ARRAY_SIZE(gcc_parent_data_0),
  .ops = &clk_rcg2_ops,
 },
};

static struct clk_rcg2 gcc_q6_axim_clk_src = {
 .cmd_rcgr = 0x25004,
 .mnd_width = 0,
 .hid_width = 5,
 .parent_map = gcc_parent_map_6,
 .freq_tbl = ftbl_gcc_apss_axi_clk_src,
 .clkr.hw.init = &(const struct clk_init_data) {
  .name = "gcc_q6_axim_clk_src",
  .parent_data = gcc_parent_data_6,
  .num_parents = ARRAY_SIZE(gcc_parent_data_6),
  .ops = &clk_rcg2_ops,
 },
};

static const struct freq_tbl ftbl_gcc_qdss_at_clk_src[] = {
 F(240000000, P_GPLL4_OUT_MAIN, 5, 0, 0),
 { }
};

static struct clk_rcg2 gcc_qdss_at_clk_src = {
 .cmd_rcgr = 0x2d004,
 .mnd_width = 0,
 .hid_width = 5,
 .parent_map = gcc_parent_map_4,
 .freq_tbl = ftbl_gcc_qdss_at_clk_src,
 .clkr.hw.init = &(const struct clk_init_data) {
  .name = "gcc_qdss_at_clk_src",
  .parent_data = gcc_parent_data_4,
  .num_parents = ARRAY_SIZE(gcc_parent_data_4),
  .ops = &clk_rcg2_ops,
 },
};

static const struct freq_tbl ftbl_gcc_qdss_tsctr_clk_src[] = {
 F(600000000, P_GPLL4_OUT_MAIN, 2, 0, 0),
 { }
};

static struct clk_rcg2 gcc_qdss_tsctr_clk_src = {
 .cmd_rcgr = 0x2d01c,
 .mnd_width = 0,
 .hid_width = 5,
 .parent_map = gcc_parent_map_4,
 .freq_tbl = ftbl_gcc_qdss_tsctr_clk_src,
 .clkr.hw.init = &(const struct clk_init_data) {
  .name = "gcc_qdss_tsctr_clk_src",
  .parent_data = gcc_parent_data_4,
  .num_parents = ARRAY_SIZE(gcc_parent_data_4),
  .ops = &clk_rcg2_ops,
 },
};

static struct clk_fixed_factor gcc_qdss_tsctr_div2_clk_src = {
 .mult = 1,
 .div = 2,
 .hw.init = &(struct clk_init_data) {
  .name = "gcc_qdss_tsctr_div2_clk_src",
  .parent_hws = (const struct clk_hw *[]) {
    &gcc_qdss_tsctr_clk_src.clkr.hw },
  .num_parents = 1,
  .flags = CLK_SET_RATE_PARENT,
  .ops = &clk_fixed_factor_ops,
 },
};

static struct clk_fixed_factor gcc_qdss_tsctr_div3_clk_src = {
 .mult = 1,
 .div = 3,
 .hw.init = &(struct clk_init_data) {
  .name = "gcc_qdss_tsctr_div3_clk_src",
  .parent_hws = (const struct clk_hw *[]) {
    &gcc_qdss_tsctr_clk_src.clkr.hw },
  .num_parents = 1,
  .ops = &clk_fixed_factor_ops,
 },
};

static struct clk_fixed_factor gcc_qdss_tsctr_div4_clk_src = {
 .mult = 1,
 .div = 4,
 .hw.init = &(struct clk_init_data) {
  .name = "gcc_qdss_tsctr_div4_clk_src",
  .parent_hws = (const struct clk_hw *[]) {
    &gcc_qdss_tsctr_clk_src.clkr.hw },
  .num_parents = 1,
  .ops = &clk_fixed_factor_ops,
 },
};

static struct clk_fixed_factor gcc_qdss_tsctr_div8_clk_src = {
 .mult = 1,
 .div = 8,
 .hw.init = &(struct clk_init_data) {
  .name = "gcc_qdss_tsctr_div8_clk_src",
  .parent_hws = (const struct clk_hw *[]) {
    &gcc_qdss_tsctr_clk_src.clkr.hw },
  .num_parents = 1,
  .ops = &clk_fixed_factor_ops,
 },
};

static struct clk_fixed_factor gcc_qdss_tsctr_div16_clk_src = {
 .mult = 1,
 .div = 16,
 .hw.init = &(struct clk_init_data) {
  .name = "gcc_qdss_tsctr_div16_clk_src",
  .parent_hws = (const struct clk_hw *[]) {
    &gcc_qdss_tsctr_clk_src.clkr.hw },
  .num_parents = 1,
  .ops = &clk_fixed_factor_ops,
 },
};

static const struct freq_tbl ftbl_gcc_qpic_io_macro_clk_src[] = {
 F(24000000, P_XO, 1, 0, 0),
 F(100000000, P_GPLL0_OUT_MAIN, 8, 0, 0),
 F(200000000, P_GPLL0_OUT_MAIN, 4, 0, 0),
 F(320000000, P_GPLL0_OUT_MAIN, 2.5, 0, 0),
 { }
};

static struct clk_rcg2 gcc_qpic_io_macro_clk_src = {
 .cmd_rcgr = 0x32004,
 .mnd_width = 0,
 .hid_width = 5,
 .parent_map = gcc_parent_map_7,
 .freq_tbl = ftbl_gcc_qpic_io_macro_clk_src,
 .clkr.hw.init = &(const struct clk_init_data) {
  .name = "gcc_qpic_io_macro_clk_src",
  .parent_data = gcc_parent_data_7,
  .num_parents = ARRAY_SIZE(gcc_parent_data_7),
  .ops = &clk_rcg2_ops,
 },
};

static const struct freq_tbl ftbl_gcc_sdcc1_apps_clk_src[] = {
 F(143713, P_XO, 1, 1, 167),
 F(400000, P_XO, 1, 1, 60),
 F(24000000, P_XO, 1, 0, 0),
 F(48000000, P_GPLL2_OUT_MAIN, 12, 1, 2),
 F(96000000, P_GPLL2_OUT_MAIN, 12, 0, 0),
 F(177777778, P_GPLL0_OUT_MAIN, 4.5, 0, 0),
 F(192000000, P_GPLL2_OUT_MAIN, 6, 0, 0),
 F(200000000, P_GPLL0_OUT_MAIN, 4, 0, 0),
 { }
};

static struct clk_rcg2 gcc_sdcc1_apps_clk_src = {
 .cmd_rcgr = 0x33004,
 .mnd_width = 8,
 .hid_width = 5,
 .parent_map = gcc_parent_map_8,
 .freq_tbl = ftbl_gcc_sdcc1_apps_clk_src,
 .clkr.hw.init = &(const struct clk_init_data) {
  .name = "gcc_sdcc1_apps_clk_src",
  .parent_data = gcc_parent_data_8,
  .num_parents = ARRAY_SIZE(gcc_parent_data_8),
  .ops = &clk_rcg2_floor_ops,
 },
};

static const struct freq_tbl ftbl_gcc_sleep_clk_src[] = {
 F(32000, P_SLEEP_CLK, 1, 0, 0),
 { }
};

static struct clk_rcg2 gcc_sleep_clk_src = {
 .cmd_rcgr = 0x3400c,
 .mnd_width = 0,
 .hid_width = 5,
 .parent_map = gcc_parent_map_9,
 .freq_tbl = ftbl_gcc_sleep_clk_src,
 .clkr.hw.init = &(const struct clk_init_data) {
  .name = "gcc_sleep_clk_src",
  .parent_data = gcc_parent_data_9,
  .num_parents = ARRAY_SIZE(gcc_parent_data_9),
  .ops = &clk_rcg2_ops,
 },
};

static const struct freq_tbl ftbl_gcc_system_noc_bfdcd_clk_src[] = {
 F(24000000, P_XO, 1, 0, 0),
 F(133333333, P_GPLL0_OUT_MAIN, 6, 0, 0),
 F(200000000, P_GPLL0_OUT_MAIN, 4, 0, 0),
 F(266666667, P_GPLL4_OUT_MAIN, 4.5, 0, 0),
 { }
};

static struct clk_rcg2 gcc_system_noc_bfdcd_clk_src = {
 .cmd_rcgr = 0x2e004,
 .mnd_width = 0,
 .hid_width = 5,
 .parent_map = gcc_parent_map_10,
 .freq_tbl = ftbl_gcc_system_noc_bfdcd_clk_src,
 .clkr.hw.init = &(const struct clk_init_data) {
  .name = "gcc_system_noc_bfdcd_clk_src",
  .parent_data = gcc_parent_data_10,
  .num_parents = ARRAY_SIZE(gcc_parent_data_10),
  .ops = &clk_rcg2_ops,
 },
};

static struct clk_fixed_factor gcc_system_noc_bfdcd_div2_clk_src = {
 .mult = 1,
 .div = 2,
 .hw.init = &(struct clk_init_data) {
  .name = "gcc_system_noc_bfdcd_div2_clk_src",
  .parent_hws = (const struct clk_hw *[]) {
    &gcc_system_noc_bfdcd_clk_src.clkr.hw },
  .num_parents = 1,
  .ops = &clk_fixed_factor_ops,
  .flags = CLK_SET_RATE_PARENT,
 },
};

static struct clk_rcg2 gcc_uniphy_sys_clk_src = {
 .cmd_rcgr = 0x16004,
 .mnd_width = 0,
 .hid_width = 5,
 .parent_map = gcc_parent_map_xo,
 .freq_tbl = ftbl_gcc_nss_ts_clk_src,
 .clkr.hw.init = &(const struct clk_init_data) {
  .name = "gcc_uniphy_sys_clk_src",
  .parent_data = &gcc_parent_data_xo,
  .num_parents = 1,
  .ops = &clk_rcg2_ops,
 },
};

static struct clk_rcg2 gcc_usb0_aux_clk_src = {
 .cmd_rcgr = 0x2c018,
 .mnd_width = 16,
 .hid_width = 5,
 .parent_map = gcc_parent_map_11,
 .freq_tbl = ftbl_gcc_pcie_aux_clk_src,
 .clkr.hw.init = &(const struct clk_init_data) {
  .name = "gcc_usb0_aux_clk_src",
  .parent_data = gcc_parent_data_11,
  .num_parents = ARRAY_SIZE(gcc_parent_data_11),
  .ops = &clk_rcg2_ops,
 },
};

static const struct freq_tbl ftbl_gcc_usb0_lfps_clk_src[] = {
 F(25000000, P_GPLL0_OUT_MAIN, 16, 1, 2),
 { }
};

static struct clk_rcg2 gcc_usb0_lfps_clk_src = {
 .cmd_rcgr = 0x2c07c,
 .mnd_width = 8,
 .hid_width = 5,
 .parent_map = gcc_parent_map_1,
 .freq_tbl = ftbl_gcc_usb0_lfps_clk_src,
 .clkr.hw.init = &(const struct clk_init_data) {
  .name = "gcc_usb0_lfps_clk_src",
  .parent_data = gcc_parent_data_1,
  .num_parents = ARRAY_SIZE(gcc_parent_data_1),
  .ops = &clk_rcg2_ops,
 },
};

static struct clk_rcg2 gcc_usb0_master_clk_src = {
 .cmd_rcgr = 0x2c004,
 .mnd_width = 8,
 .hid_width = 5,
 .parent_map = gcc_parent_map_0,
 .freq_tbl = ftbl_gcc_gp1_clk_src,
 .clkr.hw.init = &(const struct clk_init_data) {
  .name = "gcc_usb0_master_clk_src",
  .parent_data = gcc_parent_data_0,
  .num_parents = ARRAY_SIZE(gcc_parent_data_0),
  .ops = &clk_rcg2_ops,
 },
};

static const struct freq_tbl ftbl_gcc_usb0_mock_utmi_clk_src[] = {
 F(60000000, P_GPLL4_OUT_AUX, 10, 1, 2),
 { }
};

static struct clk_rcg2 gcc_usb0_mock_utmi_clk_src = {
 .cmd_rcgr = 0x2c02c,
 .mnd_width = 8,
 .hid_width = 5,
 .parent_map = gcc_parent_map_12,
 .freq_tbl = ftbl_gcc_usb0_mock_utmi_clk_src,
 .clkr.hw.init = &(const struct clk_init_data) {
  .name = "gcc_usb0_mock_utmi_clk_src",
  .parent_data = gcc_parent_data_12,
  .num_parents = ARRAY_SIZE(gcc_parent_data_12),
  .ops = &clk_rcg2_ops,
 },
};

static struct clk_regmap_phy_mux gcc_usb0_pipe_clk_src = {
 .reg = 0x2c074,
 .clkr = {
  .hw.init = &(struct clk_init_data) {
   .name = "gcc_usb0_pipe_clk_src",
   .parent_data = &(const struct clk_parent_data) {
    .index = DT_USB_PCIE_WRAPPER_PIPE_CLK,
   },
   .num_parents = 1,
   .ops = &clk_regmap_phy_mux_ops,
  },
 },
};

static struct clk_rcg2 gcc_wcss_ahb_clk_src = {
 .cmd_rcgr = 0x25030,
 .mnd_width = 0,
 .hid_width = 5,
 .parent_map = gcc_parent_map_1,
 .freq_tbl = ftbl_gcc_lpass_sway_clk_src,
 .clkr.hw.init = &(const struct clk_init_data) {
  .name = "gcc_wcss_ahb_clk_src",
  .parent_data = gcc_parent_data_1,
  .num_parents = ARRAY_SIZE(gcc_parent_data_1),
  .ops = &clk_rcg2_ops,
 },
};

static struct clk_rcg2 gcc_xo_clk_src = {
 .cmd_rcgr = 0x34004,
 .mnd_width = 0,
 .hid_width = 5,
 .parent_map = gcc_parent_map_xo,
 .freq_tbl = ftbl_gcc_nss_ts_clk_src,
 .clkr.hw.init = &(const struct clk_init_data) {
  .name = "gcc_xo_clk_src",
  .parent_data = &gcc_parent_data_xo,
  .num_parents = 1,
  .ops = &clk_rcg2_ops,
 },
};

static struct clk_fixed_factor gcc_xo_div4_clk_src = {
 .mult = 1,
 .div = 4,
 .hw.init = &(struct clk_init_data) {
  .name = "gcc_xo_div4_clk_src",
  .parent_hws = (const struct clk_hw *[]) {
    &gcc_xo_clk_src.clkr.hw },
  .num_parents = 1,
  .ops = &clk_fixed_factor_ops,
  .flags = CLK_SET_RATE_PARENT,
 },
};

static struct clk_regmap_div gcc_qdss_dap_div_clk_src = {
 .reg = 0x2d028,
 .shift = 0,
 .width = 4,
 .clkr.hw.init = &(const struct clk_init_data) {
  .name = "gcc_qdss_dap_div_clk_src",
  .parent_hws = (const struct clk_hw*[]) {
   &gcc_qdss_tsctr_clk_src.clkr.hw,
  },
  .num_parents = 1,
  .ops = &clk_regmap_div_ro_ops,
 },
};

static struct clk_regmap_div gcc_usb0_mock_utmi_div_clk_src = {
 .reg = 0x2c040,
 .shift = 0,
 .width = 2,
 .clkr.hw.init = &(const struct clk_init_data) {
  .name = "gcc_usb0_mock_utmi_div_clk_src",
  .parent_hws = (const struct clk_hw*[]) {
   &gcc_usb0_mock_utmi_clk_src.clkr.hw,
  },
  .num_parents = 1,
  .flags = CLK_SET_RATE_PARENT,
  .ops = &clk_regmap_div_ro_ops,
 },
};

static struct clk_branch gcc_adss_pwm_clk = {
 .halt_reg = 0x1c00c,
 .halt_check = BRANCH_HALT,
 .clkr = {
  .enable_reg = 0x1c00c,
  .enable_mask = BIT(0),
  .hw.init = &(const struct clk_init_data) {
   .name = "gcc_adss_pwm_clk",
   .parent_hws = (const struct clk_hw*[]) {
    &gcc_adss_pwm_clk_src.clkr.hw,
   },
   .num_parents = 1,
   .flags = CLK_SET_RATE_PARENT,
   .ops = &clk_branch2_ops,
  },
 },
};

static struct clk_branch gcc_ahb_clk = {
 .halt_reg = 0x34024,
 .halt_check = BRANCH_HALT_VOTED,
 .clkr = {
  .enable_reg = 0x34024,
  .enable_mask = BIT(0),
  .hw.init = &(const struct clk_init_data) {
   .name = "gcc_ahb_clk",
   .parent_hws = (const struct clk_hw*[]) {
    &gcc_pcnoc_bfdcd_clk_src.clkr.hw,
   },
   .num_parents = 1,
   .flags = CLK_SET_RATE_PARENT,
   .ops = &clk_branch2_ops,
  },
 },
};

static struct clk_branch gcc_blsp1_ahb_clk = {
 .halt_reg = 0x1008,
 .halt_check = BRANCH_HALT_VOTED,
 .clkr = {
  .enable_reg = 0xb004,
  .enable_mask = BIT(4),
  .hw.init = &(const struct clk_init_data) {
   .name = "gcc_blsp1_ahb_clk",
   .parent_hws = (const struct clk_hw*[]) {
    &gcc_pcnoc_bfdcd_clk_src.clkr.hw,
   },
   .num_parents = 1,
   .flags = CLK_SET_RATE_PARENT,
   .ops = &clk_branch2_ops,
  },
 },
};

static struct clk_branch gcc_blsp1_qup1_i2c_apps_clk = {
 .halt_reg = 0x2024,
 .halt_check = BRANCH_HALT,
 .clkr = {
  .enable_reg = 0x2024,
  .enable_mask = BIT(0),
  .hw.init = &(const struct clk_init_data) {
   .name = "gcc_blsp1_qup1_i2c_apps_clk",
   .parent_hws = (const struct clk_hw*[]) {
    &gcc_blsp1_qup1_spi_apps_clk_src.clkr.hw,
   },
   .num_parents = 1,
   .flags = CLK_SET_RATE_PARENT,
   .ops = &clk_branch2_ops,
  },
 },
};

static struct clk_branch gcc_blsp1_qup1_spi_apps_clk = {
 .halt_reg = 0x2020,
 .halt_check = BRANCH_HALT,
 .clkr = {
  .enable_reg = 0x2020,
  .enable_mask = BIT(0),
  .hw.init = &(const struct clk_init_data) {
   .name = "gcc_blsp1_qup1_spi_apps_clk",
   .parent_hws = (const struct clk_hw*[]) {
    &gcc_blsp1_qup1_spi_apps_clk_src.clkr.hw,
   },
   .num_parents = 1,
   .flags = CLK_SET_RATE_PARENT,
   .ops = &clk_branch2_ops,
  },
 },
};

static struct clk_branch gcc_blsp1_qup2_i2c_apps_clk = {
 .halt_reg = 0x3024,
 .halt_check = BRANCH_HALT,
 .clkr = {
  .enable_reg = 0x3024,
  .enable_mask = BIT(0),
  .hw.init = &(const struct clk_init_data) {
   .name = "gcc_blsp1_qup2_i2c_apps_clk",
   .parent_hws = (const struct clk_hw*[]) {
    &gcc_blsp1_qup2_spi_apps_clk_src.clkr.hw,
   },
   .num_parents = 1,
   .flags = CLK_SET_RATE_PARENT,
   .ops = &clk_branch2_ops,
  },
 },
};

static struct clk_branch gcc_blsp1_qup2_spi_apps_clk = {
 .halt_reg = 0x3020,
 .halt_check = BRANCH_HALT,
 .clkr = {
  .enable_reg = 0x3020,
  .enable_mask = BIT(0),
  .hw.init = &(const struct clk_init_data) {
   .name = "gcc_blsp1_qup2_spi_apps_clk",
   .parent_hws = (const struct clk_hw*[]) {
    &gcc_blsp1_qup2_spi_apps_clk_src.clkr.hw,
   },
   .num_parents = 1,
   .flags = CLK_SET_RATE_PARENT,
   .ops = &clk_branch2_ops,
  },
 },
};

static struct clk_branch gcc_blsp1_qup3_i2c_apps_clk = {
 .halt_reg = 0x4024,
 .halt_check = BRANCH_HALT,
 .clkr = {
  .enable_reg = 0x4024,
  .enable_mask = BIT(0),
  .hw.init = &(const struct clk_init_data) {
   .name = "gcc_blsp1_qup3_i2c_apps_clk",
   .parent_hws = (const struct clk_hw*[]) {
    &gcc_blsp1_qup3_spi_apps_clk_src.clkr.hw,
   },
   .num_parents = 1,
   .flags = CLK_SET_RATE_PARENT,
   .ops = &clk_branch2_ops,
  },
 },
};

static struct clk_branch gcc_blsp1_qup3_spi_apps_clk = {
 .halt_reg = 0x4020,
 .halt_check = BRANCH_HALT,
 .clkr = {
  .enable_reg = 0x4020,
  .enable_mask = BIT(0),
  .hw.init = &(const struct clk_init_data) {
   .name = "gcc_blsp1_qup3_spi_apps_clk",
   .parent_hws = (const struct clk_hw*[]) {
    &gcc_blsp1_qup3_spi_apps_clk_src.clkr.hw,
   },
   .num_parents = 1,
   .flags = CLK_SET_RATE_PARENT,
   .ops = &clk_branch2_ops,
  },
 },
};

static struct clk_branch gcc_blsp1_sleep_clk = {
 .halt_reg = 0x1010,
 .halt_check = BRANCH_HALT_VOTED,
 .clkr = {
  .enable_reg = 0xb004,
  .enable_mask = BIT(5),
  .hw.init = &(const struct clk_init_data) {
   .name = "gcc_blsp1_sleep_clk",
   .parent_hws = (const struct clk_hw*[]) {
    &gcc_sleep_clk_src.clkr.hw,
   },
   .num_parents = 1,
   .flags = CLK_SET_RATE_PARENT,
   .ops = &clk_branch2_ops,
  },
 },
};

static struct clk_branch gcc_blsp1_uart1_apps_clk = {
 .halt_reg = 0x2040,
 .halt_check = BRANCH_HALT,
 .clkr = {
  .enable_reg = 0x2040,
  .enable_mask = BIT(0),
  .hw.init = &(const struct clk_init_data) {
   .name = "gcc_blsp1_uart1_apps_clk",
   .parent_hws = (const struct clk_hw*[]) {
    &gcc_blsp1_uart1_apps_clk_src.clkr.hw,
   },
   .num_parents = 1,
   .flags = CLK_SET_RATE_PARENT,
   .ops = &clk_branch2_ops,
  },
 },
};

static struct clk_branch gcc_blsp1_uart2_apps_clk = {
 .halt_reg = 0x3040,
 .halt_check = BRANCH_HALT,
 .clkr = {
  .enable_reg = 0x3040,
  .enable_mask = BIT(0),
  .hw.init = &(const struct clk_init_data) {
   .name = "gcc_blsp1_uart2_apps_clk",
   .parent_hws = (const struct clk_hw*[]) {
    &gcc_blsp1_uart2_apps_clk_src.clkr.hw,
   },
   .num_parents = 1,
   .flags = CLK_SET_RATE_PARENT,
   .ops = &clk_branch2_ops,
  },
 },
};

static struct clk_branch gcc_blsp1_uart3_apps_clk = {
 .halt_reg = 0x4054,
 .halt_check = BRANCH_HALT,
 .clkr = {
  .enable_reg = 0x4054,
  .enable_mask = BIT(0),
  .hw.init = &(const struct clk_init_data) {
   .name = "gcc_blsp1_uart3_apps_clk",
   .parent_hws = (const struct clk_hw*[]) {
    &gcc_blsp1_uart3_apps_clk_src.clkr.hw,
   },
   .num_parents = 1,
   .flags = CLK_SET_RATE_PARENT,
   .ops = &clk_branch2_ops,
  },
 },
};

static struct clk_branch gcc_ce_ahb_clk = {
 .halt_reg = 0x25074,
 .halt_check = BRANCH_HALT,
 .clkr = {
  .enable_reg = 0x25074,
  .enable_mask = BIT(0),
  .hw.init = &(const struct clk_init_data) {
   .name = "gcc_ce_ahb_clk",
   .parent_hws = (const struct clk_hw*[]) {
    &gcc_system_noc_bfdcd_div2_clk_src.hw,
   },
   .num_parents = 1,
   .flags = CLK_SET_RATE_PARENT,
   .ops = &clk_branch2_ops,
  },
 },
};

static struct clk_branch gcc_ce_axi_clk = {
 .halt_reg = 0x25068,
 .halt_check = BRANCH_HALT,
 .clkr = {
  .enable_reg = 0x25068,
  .enable_mask = BIT(0),
  .hw.init = &(const struct clk_init_data) {
   .name = "gcc_ce_axi_clk",
   .parent_hws = (const struct clk_hw*[]) {
    &gcc_system_noc_bfdcd_clk_src.clkr.hw,
   },
   .num_parents = 1,
   .flags = CLK_SET_RATE_PARENT,
   .ops = &clk_branch2_ops,
  },
 },
};

static struct clk_branch gcc_ce_pcnoc_ahb_clk = {
 .halt_reg = 0x25070,
 .halt_check = BRANCH_HALT,
 .clkr = {
  .enable_reg = 0x25070,
  .enable_mask = BIT(0),
  .hw.init = &(const struct clk_init_data) {
   .name = "gcc_ce_pcnoc_ahb_clk",
   .parent_hws = (const struct clk_hw*[]) {
    &gcc_pcnoc_bfdcd_clk_src.clkr.hw,
   },
   .num_parents = 1,
   .flags = CLK_SET_RATE_PARENT,
   .ops = &clk_branch2_ops,
  },
 },
};

static struct clk_branch gcc_cmn_12gpll_ahb_clk = {
 .halt_reg = 0x3a004,
 .halt_check = BRANCH_HALT,
 .clkr = {
  .enable_reg = 0x3a004,
  .enable_mask = BIT(0),
  .hw.init = &(const struct clk_init_data) {
   .name = "gcc_cmn_12gpll_ahb_clk",
   .parent_hws = (const struct clk_hw*[]) {
    &gcc_pcnoc_bfdcd_clk_src.clkr.hw,
   },
   .num_parents = 1,
   .flags = CLK_SET_RATE_PARENT,
   .ops = &clk_branch2_ops,
  },
 },
};

static struct clk_branch gcc_cmn_12gpll_apu_clk = {
 .halt_reg = 0x3a00c,
 .halt_check = BRANCH_HALT,
 .clkr = {
  .enable_reg = 0x3a00c,
  .enable_mask = BIT(0),
  .hw.init = &(const struct clk_init_data) {
   .name = "gcc_cmn_12gpll_apu_clk",
   .parent_hws = (const struct clk_hw*[]) {
    &gcc_pcnoc_bfdcd_clk_src.clkr.hw,
   },
   .num_parents = 1,
   .flags = CLK_SET_RATE_PARENT,
   .ops = &clk_branch2_ops,
  },
 },
};

static struct clk_branch gcc_cmn_12gpll_sys_clk = {
 .halt_reg = 0x3a008,
 .halt_check = BRANCH_HALT,
 .clkr = {
  .enable_reg = 0x3a008,
  .enable_mask = BIT(0),
  .hw.init = &(const struct clk_init_data) {
   .name = "gcc_cmn_12gpll_sys_clk",
   .parent_hws = (const struct clk_hw*[]) {
    &gcc_uniphy_sys_clk_src.clkr.hw,
   },
   .num_parents = 1,
   .flags = CLK_SET_RATE_PARENT,
   .ops = &clk_branch2_ops,
  },
 },
};

static struct clk_branch gcc_gp1_clk = {
 .halt_reg = 0x8018,
 .halt_check = BRANCH_HALT,
 .clkr = {
  .enable_reg = 0x8018,
  .enable_mask = BIT(0),
  .hw.init = &(const struct clk_init_data) {
   .name = "gcc_gp1_clk",
   .parent_hws = (const struct clk_hw*[]) {
    &gcc_gp1_clk_src.clkr.hw,
   },
   .num_parents = 1,
   .flags = CLK_SET_RATE_PARENT,
   .ops = &clk_branch2_ops,
  },
 },
};

static struct clk_branch gcc_gp2_clk = {
 .halt_reg = 0x9018,
 .halt_check = BRANCH_HALT,
 .clkr = {
  .enable_reg = 0x9018,
  .enable_mask = BIT(0),
  .hw.init = &(const struct clk_init_data) {
   .name = "gcc_gp2_clk",
   .parent_hws = (const struct clk_hw*[]) {
    &gcc_gp2_clk_src.clkr.hw,
   },
   .num_parents = 1,
   .flags = CLK_SET_RATE_PARENT,
   .ops = &clk_branch2_ops,
  },
 },
};

static struct clk_branch gcc_lpass_core_axim_clk = {
 .halt_reg = 0x27018,
 .halt_check = BRANCH_HALT_VOTED,
 .clkr = {
  .enable_reg = 0x27018,
  .enable_mask = BIT(0),
  .hw.init = &(const struct clk_init_data) {
   .name = "gcc_lpass_core_axim_clk",
   .parent_hws = (const struct clk_hw*[]) {
    &gcc_lpass_sway_clk_src.clkr.hw,
   },
   .num_parents = 1,
   .flags = CLK_SET_RATE_PARENT,
   .ops = &clk_branch2_ops,
  },
 },
};

static struct clk_branch gcc_lpass_sway_clk = {
 .halt_reg = 0x27014,
 .halt_check = BRANCH_HALT,
 .clkr = {
  .enable_reg = 0x27014,
  .enable_mask = BIT(0),
  .hw.init = &(const struct clk_init_data) {
   .name = "gcc_lpass_sway_clk",
   .parent_hws = (const struct clk_hw*[]) {
    &gcc_lpass_sway_clk_src.clkr.hw,
   },
   .num_parents = 1,
   .flags = CLK_SET_RATE_PARENT,
   .ops = &clk_branch2_ops,
  },
 },
};

static struct clk_branch gcc_mdio_ahb_clk = {
 .halt_reg = 0x12004,
 .halt_check = BRANCH_HALT,
 .clkr = {
  .enable_reg = 0x12004,
  .enable_mask = BIT(0),
  .hw.init = &(const struct clk_init_data) {
   .name = "gcc_mdio_ahb_clk",
   .parent_hws = (const struct clk_hw*[]) {
    &gcc_pcnoc_bfdcd_clk_src.clkr.hw,
   },
   .num_parents = 1,
   .flags = CLK_SET_RATE_PARENT,
   .ops = &clk_branch2_ops,
  },
 },
};

static struct clk_branch gcc_mdio_slave_ahb_clk = {
 .halt_reg = 0x1200c,
 .halt_check = BRANCH_HALT,
 .clkr = {
  .enable_reg = 0x1200c,
  .enable_mask = BIT(0),
  .hw.init = &(const struct clk_init_data) {
   .name = "gcc_mdio_slave_ahb_clk",
   .parent_hws = (const struct clk_hw*[]) {
    &gcc_pcnoc_bfdcd_clk_src.clkr.hw,
   },
   .num_parents = 1,
   .flags = CLK_SET_RATE_PARENT,
   .ops = &clk_branch2_ops,
  },
 },
};

static struct clk_branch gcc_nss_ts_clk = {
 .halt_reg = 0x17018,
 .halt_check = BRANCH_HALT_VOTED,
 .clkr = {
  .enable_reg = 0x17018,
  .enable_mask = BIT(0),
  .hw.init = &(const struct clk_init_data) {
   .name = "gcc_nss_ts_clk",
   .parent_hws = (const struct clk_hw*[]) {
    &gcc_nss_ts_clk_src.clkr.hw,
   },
   .num_parents = 1,
   .flags = CLK_SET_RATE_PARENT,
   .ops = &clk_branch2_ops,
  },
 },
};

static struct clk_branch gcc_nsscc_clk = {
 .halt_reg = 0x17034,
 .halt_check = BRANCH_HALT,
 .clkr = {
  .enable_reg = 0x17034,
  .enable_mask = BIT(0),
  .hw.init = &(const struct clk_init_data) {
   .name = "gcc_nsscc_clk",
   .parent_hws = (const struct clk_hw*[]) {
    &gcc_pcnoc_bfdcd_clk_src.clkr.hw,
   },
   .num_parents = 1,
   .flags = CLK_SET_RATE_PARENT,
   .ops = &clk_branch2_ops,
  },
 },
};

static struct clk_branch gcc_nsscfg_clk = {
 .halt_reg = 0x1702c,
 .halt_check = BRANCH_HALT,
 .clkr = {
  .enable_reg = 0x1702c,
  .enable_mask = BIT(0),
  .hw.init = &(const struct clk_init_data) {
   .name = "gcc_nsscfg_clk",
   .parent_hws = (const struct clk_hw*[]) {
    &gcc_pcnoc_bfdcd_clk_src.clkr.hw,
   },
   .num_parents = 1,
   .flags = CLK_SET_RATE_PARENT,
   .ops = &clk_branch2_ops,
  },
 },
};

static struct clk_branch gcc_nssnoc_atb_clk = {
 .halt_reg = 0x17014,
 .halt_check = BRANCH_HALT,
 .clkr = {
  .enable_reg = 0x17014,
  .enable_mask = BIT(0),
  .hw.init = &(const struct clk_init_data) {
   .name = "gcc_nssnoc_atb_clk",
   .parent_hws = (const struct clk_hw*[]) {
    &gcc_qdss_at_clk_src.clkr.hw,
   },
   .num_parents = 1,
   .flags = CLK_SET_RATE_PARENT,
   .ops = &clk_branch2_ops,
  },
 },
};

static struct clk_branch gcc_nssnoc_nsscc_clk = {
 .halt_reg = 0x17030,
 .halt_check = BRANCH_HALT,
 .clkr = {
  .enable_reg = 0x17030,
  .enable_mask = BIT(0),
  .hw.init = &(const struct clk_init_data) {
   .name = "gcc_nssnoc_nsscc_clk",
   .parent_hws = (const struct clk_hw*[]) {
    &gcc_pcnoc_bfdcd_clk_src.clkr.hw,
   },
   .num_parents = 1,
   .flags = CLK_SET_RATE_PARENT,
   .ops = &clk_branch2_ops,
  },
 },
};

static struct clk_branch gcc_nssnoc_qosgen_ref_clk = {
 .halt_reg = 0x1701c,
 .halt_check = BRANCH_HALT,
 .clkr = {
  .enable_reg = 0x1701c,
  .enable_mask = BIT(0),
  .hw.init = &(const struct clk_init_data) {
   .name = "gcc_nssnoc_qosgen_ref_clk",
   .parent_hws = (const struct clk_hw*[]) {
    &gcc_xo_div4_clk_src.hw,
   },
   .num_parents = 1,
   .flags = CLK_SET_RATE_PARENT,
   .ops = &clk_branch2_ops,
  },
 },
};

static struct clk_branch gcc_nssnoc_snoc_1_clk = {
 .halt_reg = 0x1707c,
 .halt_check = BRANCH_HALT,
 .clkr = {
  .enable_reg = 0x1707c,
  .enable_mask = BIT(0),
  .hw.init = &(const struct clk_init_data) {
   .name = "gcc_nssnoc_snoc_1_clk",
   .parent_hws = (const struct clk_hw*[]) {
    &gcc_system_noc_bfdcd_clk_src.clkr.hw,
   },
   .num_parents = 1,
   .flags = CLK_SET_RATE_PARENT,
   .ops = &clk_branch2_ops,
  },
 },
};

static struct clk_branch gcc_nssnoc_snoc_clk = {
 .halt_reg = 0x17028,
 .halt_check = BRANCH_HALT,
 .clkr = {
  .enable_reg = 0x17028,
  .enable_mask = BIT(0),
  .hw.init = &(const struct clk_init_data) {
   .name = "gcc_nssnoc_snoc_clk",
   .parent_hws = (const struct clk_hw*[]) {
    &gcc_system_noc_bfdcd_clk_src.clkr.hw,
   },
   .num_parents = 1,
   .flags = CLK_SET_RATE_PARENT,
   .ops = &clk_branch2_ops,
  },
 },
};

static struct clk_branch gcc_nssnoc_timeout_ref_clk = {
 .halt_reg = 0x17020,
 .halt_check = BRANCH_HALT,
 .clkr = {
  .enable_reg = 0x17020,
  .enable_mask = BIT(0),
  .hw.init = &(const struct clk_init_data) {
   .name = "gcc_nssnoc_timeout_ref_clk",
   .parent_hws = (const struct clk_hw*[]) {
    &gcc_xo_div4_clk_src.hw,
   },
   .num_parents = 1,
   .flags = CLK_SET_RATE_PARENT,
   .ops = &clk_branch2_ops,
  },
 },
};

static struct clk_branch gcc_nssnoc_xo_dcd_clk = {
 .halt_reg = 0x17074,
 .halt_check = BRANCH_HALT,
 .clkr = {
  .enable_reg = 0x17074,
  .enable_mask = BIT(0),
  .hw.init = &(const struct clk_init_data) {
   .name = "gcc_nssnoc_xo_dcd_clk",
   .parent_hws = (const struct clk_hw*[]) {
    &gcc_xo_clk_src.clkr.hw,
   },
   .num_parents = 1,
   .flags = CLK_SET_RATE_PARENT,
   .ops = &clk_branch2_ops,
  },
 },
};

static struct clk_branch gcc_pcie3x1_0_ahb_clk = {
 .halt_reg = 0x29030,
 .halt_check = BRANCH_HALT,
 .clkr = {
  .enable_reg = 0x29030,
  .enable_mask = BIT(0),
  .hw.init = &(const struct clk_init_data) {
   .name = "gcc_pcie3x1_0_ahb_clk",
   .parent_hws = (const struct clk_hw*[]) {
    &gcc_pcnoc_bfdcd_clk_src.clkr.hw,
   },
   .num_parents = 1,
   .flags = CLK_SET_RATE_PARENT,
   .ops = &clk_branch2_ops,
  },
 },
};

static struct clk_branch gcc_pcie3x1_0_aux_clk = {
 .halt_reg = 0x29070,
 .halt_check = BRANCH_HALT,
 .clkr = {
  .enable_reg = 0x29070,
  .enable_mask = BIT(0),
  .hw.init = &(const struct clk_init_data) {
   .name = "gcc_pcie3x1_0_aux_clk",
   .parent_hws = (const struct clk_hw*[]) {
    &gcc_pcie_aux_clk_src.clkr.hw,
   },
   .num_parents = 1,
   .flags = CLK_SET_RATE_PARENT,
   .ops = &clk_branch2_ops,
  },
 },
};

static struct clk_branch gcc_pcie3x1_0_axi_m_clk = {
 .halt_reg = 0x29038,
 .halt_check = BRANCH_HALT,
 .clkr = {
  .enable_reg = 0x29038,
  .enable_mask = BIT(0),
  .hw.init = &(const struct clk_init_data) {
   .name = "gcc_pcie3x1_0_axi_m_clk",
   .parent_hws = (const struct clk_hw*[]) {
    &gcc_pcie3x1_0_axi_clk_src.clkr.hw,
   },
   .num_parents = 1,
   .flags = CLK_SET_RATE_PARENT,
   .ops = &clk_branch2_ops,
  },
 },
};

static struct clk_branch gcc_pcie3x1_0_axi_s_bridge_clk = {
 .halt_reg = 0x29048,
 .halt_check = BRANCH_HALT,
 .clkr = {
  .enable_reg = 0x29048,
  .enable_mask = BIT(0),
  .hw.init = &(const struct clk_init_data) {
   .name = "gcc_pcie3x1_0_axi_s_bridge_clk",
   .parent_hws = (const struct clk_hw*[]) {
    &gcc_pcie3x1_0_axi_clk_src.clkr.hw,
   },
   .num_parents = 1,
   .flags = CLK_SET_RATE_PARENT,
   .ops = &clk_branch2_ops,
  },
 },
};

static struct clk_branch gcc_pcie3x1_0_axi_s_clk = {
 .halt_reg = 0x29040,
 .halt_check = BRANCH_HALT,
 .clkr = {
  .enable_reg = 0x29040,
  .enable_mask = BIT(0),
  .hw.init = &(const struct clk_init_data) {
   .name = "gcc_pcie3x1_0_axi_s_clk",
   .parent_hws = (const struct clk_hw*[]) {
    &gcc_pcie3x1_0_axi_clk_src.clkr.hw,
   },
   .num_parents = 1,
   .flags = CLK_SET_RATE_PARENT,
   .ops = &clk_branch2_ops,
  },
 },
};

static struct clk_branch gcc_pcie3x1_0_pipe_clk = {
 .halt_reg = 0x29068,
 .halt_check = BRANCH_HALT_DELAY,
 .clkr = {
  .enable_reg = 0x29068,
  .enable_mask = BIT(0),
  .hw.init = &(const struct clk_init_data) {
   .name = "gcc_pcie3x1_0_pipe_clk",
   .parent_hws = (const struct clk_hw*[]) {
    &gcc_pcie3x1_0_pipe_clk_src.clkr.hw,
   },
   .num_parents = 1,
   .flags = CLK_SET_RATE_PARENT,
   .ops = &clk_branch2_ops,
  },
 },
};

static struct clk_branch gcc_pcie3x1_1_ahb_clk = {
 .halt_reg = 0x2a00c,
 .halt_check = BRANCH_HALT,
 .clkr = {
  .enable_reg = 0x2a00c,
  .enable_mask = BIT(0),
  .hw.init = &(const struct clk_init_data) {
   .name = "gcc_pcie3x1_1_ahb_clk",
   .parent_hws = (const struct clk_hw*[]) {
    &gcc_pcnoc_bfdcd_clk_src.clkr.hw,
   },
   .num_parents = 1,
   .flags = CLK_SET_RATE_PARENT,
   .ops = &clk_branch2_ops,
  },
 },
};

static struct clk_branch gcc_pcie3x1_1_aux_clk = {
 .halt_reg = 0x2a070,
 .halt_check = BRANCH_HALT,
 .clkr = {
  .enable_reg = 0x2a070,
  .enable_mask = BIT(0),
  .hw.init = &(const struct clk_init_data) {
   .name = "gcc_pcie3x1_1_aux_clk",
   .parent_hws = (const struct clk_hw*[]) {
    &gcc_pcie_aux_clk_src.clkr.hw,
   },
   .num_parents = 1,
   .flags = CLK_SET_RATE_PARENT,
   .ops = &clk_branch2_ops,
  },
 },
};

static struct clk_branch gcc_pcie3x1_1_axi_m_clk = {
 .halt_reg = 0x2a014,
 .halt_check = BRANCH_HALT,
 .clkr = {
  .enable_reg = 0x2a014,
  .enable_mask = BIT(0),
  .hw.init = &(const struct clk_init_data) {
   .name = "gcc_pcie3x1_1_axi_m_clk",
   .parent_hws = (const struct clk_hw*[]) {
    &gcc_pcie3x1_1_axi_clk_src.clkr.hw,
   },
   .num_parents = 1,
   .flags = CLK_SET_RATE_PARENT,
   .ops = &clk_branch2_ops,
  },
 },
};

static struct clk_branch gcc_pcie3x1_1_axi_s_bridge_clk = {
 .halt_reg = 0x2a024,
 .halt_check = BRANCH_HALT,
 .clkr = {
  .enable_reg = 0x2a024,
  .enable_mask = BIT(0),
  .hw.init = &(const struct clk_init_data) {
   .name = "gcc_pcie3x1_1_axi_s_bridge_clk",
   .parent_hws = (const struct clk_hw*[]) {
    &gcc_pcie3x1_1_axi_clk_src.clkr.hw,
   },
   .num_parents = 1,
   .flags = CLK_SET_RATE_PARENT,
   .ops = &clk_branch2_ops,
  },
 },
};

static struct clk_branch gcc_pcie3x1_1_axi_s_clk = {
 .halt_reg = 0x2a01c,
 .halt_check = BRANCH_HALT,
 .clkr = {
  .enable_reg = 0x2a01c,
  .enable_mask = BIT(0),
  .hw.init = &(const struct clk_init_data) {
   .name = "gcc_pcie3x1_1_axi_s_clk",
   .parent_hws = (const struct clk_hw*[]) {
    &gcc_pcie3x1_1_axi_clk_src.clkr.hw,
   },
   .num_parents = 1,
   .flags = CLK_SET_RATE_PARENT,
   .ops = &clk_branch2_ops,
  },
 },
};

static struct clk_branch gcc_pcie3x1_1_pipe_clk = {
 .halt_reg = 0x2a068,
 .halt_check = BRANCH_HALT_DELAY,
 .clkr = {
  .enable_reg = 0x2a068,
  .enable_mask = BIT(0),
  .hw.init = &(const struct clk_init_data) {
   .name = "gcc_pcie3x1_1_pipe_clk",
   .parent_hws = (const struct clk_hw*[]) {
    &gcc_pcie3x1_1_pipe_clk_src.clkr.hw,
   },
   .num_parents = 1,
   .flags = CLK_SET_RATE_PARENT,
   .ops = &clk_branch2_ops,
  },
 },
};

static struct clk_branch gcc_pcie3x1_phy_ahb_clk = {
 .halt_reg = 0x29078,
 .halt_check = BRANCH_HALT,
 .clkr = {
  .enable_reg = 0x29078,
  .enable_mask = BIT(0),
  .hw.init = &(const struct clk_init_data) {
   .name = "gcc_pcie3x1_phy_ahb_clk",
   .parent_hws = (const struct clk_hw*[]) {
    &gcc_pcnoc_bfdcd_clk_src.clkr.hw,
   },
   .num_parents = 1,
   .flags = CLK_SET_RATE_PARENT,
   .ops = &clk_branch2_ops,
  },
 },
};

static struct clk_branch gcc_pcie3x2_ahb_clk = {
 .halt_reg = 0x28030,
 .halt_check = BRANCH_HALT,
 .clkr = {
  .enable_reg = 0x28030,
  .enable_mask = BIT(0),
  .hw.init = &(const struct clk_init_data) {
   .name = "gcc_pcie3x2_ahb_clk",
   .parent_hws = (const struct clk_hw*[]) {
    &gcc_pcnoc_bfdcd_clk_src.clkr.hw,
   },
   .num_parents = 1,
   .flags = CLK_SET_RATE_PARENT,
   .ops = &clk_branch2_ops,
  },
 },
};

static struct clk_branch gcc_pcie3x2_aux_clk = {
 .halt_reg = 0x28070,
 .halt_check = BRANCH_HALT,
 .clkr = {
  .enable_reg = 0x28070,
  .enable_mask = BIT(0),
  .hw.init = &(const struct clk_init_data) {
   .name = "gcc_pcie3x2_aux_clk",
   .parent_hws = (const struct clk_hw*[]) {
    &gcc_pcie_aux_clk_src.clkr.hw,
   },
   .num_parents = 1,
   .flags = CLK_SET_RATE_PARENT,
   .ops = &clk_branch2_ops,
  },
 },
};

static struct clk_branch gcc_pcie3x2_axi_m_clk = {
 .halt_reg = 0x28038,
 .halt_check = BRANCH_HALT,
 .clkr = {
  .enable_reg = 0x28038,
  .enable_mask = BIT(0),
  .hw.init = &(const struct clk_init_data) {
   .name = "gcc_pcie3x2_axi_m_clk",
   .parent_hws = (const struct clk_hw*[]) {
    &gcc_pcie3x2_axi_m_clk_src.clkr.hw,
   },
   .num_parents = 1,
   .flags = CLK_SET_RATE_PARENT,
   .ops = &clk_branch2_ops,
  },
 },
};

static struct clk_branch gcc_pcie3x2_axi_s_bridge_clk = {
 .halt_reg = 0x28048,
 .halt_check = BRANCH_HALT,
 .clkr = {
  .enable_reg = 0x28048,
  .enable_mask = BIT(0),
  .hw.init = &(const struct clk_init_data) {
   .name = "gcc_pcie3x2_axi_s_bridge_clk",
   .parent_hws = (const struct clk_hw*[]) {
    &gcc_pcie3x2_axi_s_clk_src.clkr.hw,
   },
   .num_parents = 1,
   .flags = CLK_SET_RATE_PARENT,
   .ops = &clk_branch2_ops,
  },
 },
};

static struct clk_branch gcc_pcie3x2_axi_s_clk = {
 .halt_reg = 0x28040,
 .halt_check = BRANCH_HALT,
 .clkr = {
  .enable_reg = 0x28040,
  .enable_mask = BIT(0),
  .hw.init = &(const struct clk_init_data) {
   .name = "gcc_pcie3x2_axi_s_clk",
   .parent_hws = (const struct clk_hw*[]) {
    &gcc_pcie3x2_axi_s_clk_src.clkr.hw,
   },
   .num_parents = 1,
   .flags = CLK_SET_RATE_PARENT,
   .ops = &clk_branch2_ops,
  },
 },
};

static struct clk_branch gcc_pcie3x2_phy_ahb_clk = {
 .halt_reg = 0x28080,
 .halt_check = BRANCH_HALT,
 .clkr = {
  .enable_reg = 0x28080,
  .enable_mask = BIT(0),
  .hw.init = &(const struct clk_init_data) {
   .name = "gcc_pcie3x2_phy_ahb_clk",
   .parent_hws = (const struct clk_hw*[]) {
    &gcc_pcnoc_bfdcd_clk_src.clkr.hw,
   },
   .num_parents = 1,
   .flags = CLK_SET_RATE_PARENT,
   .ops = &clk_branch2_ops,
  },
 },
};

static struct clk_branch gcc_pcie3x2_pipe_clk = {
 .halt_reg = 0x28068,
 .halt_check = BRANCH_HALT_DELAY,
 .clkr = {
  .enable_reg = 0x28068,
  .enable_mask = BIT(0),
  .hw.init = &(const struct clk_init_data) {
   .name = "gcc_pcie3x2_pipe_clk",
   .parent_hws = (const struct clk_hw*[]) {
    &gcc_pcie3x2_pipe_clk_src.clkr.hw,
   },
   .num_parents = 1,
   .flags = CLK_SET_RATE_PARENT,
   .ops = &clk_branch2_ops,
  },
 },
};

static struct clk_branch gcc_pcnoc_at_clk = {
 .halt_reg = 0x31024,
 .halt_check = BRANCH_HALT_VOTED,
 .clkr = {
  .enable_reg = 0x31024,
  .enable_mask = BIT(0),
  .hw.init = &(const struct clk_init_data) {
   .name = "gcc_pcnoc_at_clk",
   .parent_hws = (const struct clk_hw*[]) {
    &gcc_qdss_at_clk_src.clkr.hw,
   },
   .num_parents = 1,
   .flags = CLK_SET_RATE_PARENT,
   .ops = &clk_branch2_ops,
  },
 },
};

static struct clk_branch gcc_pcnoc_lpass_clk = {
 .halt_reg = 0x31020,
 .halt_check = BRANCH_HALT,
 .clkr = {
  .enable_reg = 0x31020,
  .enable_mask = BIT(0),
  .hw.init = &(const struct clk_init_data) {
   .name = "gcc_pcnoc_lpass_clk",
   .parent_hws = (const struct clk_hw*[]) {
    &gcc_lpass_sway_clk_src.clkr.hw,
   },
   .num_parents = 1,
   .flags = CLK_SET_RATE_PARENT,
   .ops = &clk_branch2_ops,
  },
 },
};

static struct clk_branch gcc_prng_ahb_clk = {
 .halt_reg = 0x13024,
 .halt_check = BRANCH_HALT_VOTED,
 .clkr = {
  .enable_reg = 0xb004,
  .enable_mask = BIT(10),
  .hw.init = &(const struct clk_init_data) {
   .name = "gcc_prng_ahb_clk",
   .parent_hws = (const struct clk_hw*[]) {
    &gcc_pcnoc_bfdcd_clk_src.clkr.hw,
   },
   .num_parents = 1,
   .flags = CLK_SET_RATE_PARENT,
   .ops = &clk_branch2_ops,
  },
 },
};

static struct clk_branch gcc_qdss_at_clk = {
 .halt_reg = 0x2d038,
 .halt_check = BRANCH_HALT_VOTED,
 .clkr = {
  .enable_reg = 0x2d038,
  .enable_mask = BIT(0),
  .hw.init = &(const struct clk_init_data) {
   .name = "gcc_qdss_at_clk",
   .parent_hws = (const struct clk_hw*[]) {
    &gcc_qdss_at_clk_src.clkr.hw,
   },
   .num_parents = 1,
   .flags = CLK_SET_RATE_PARENT,
   .ops = &clk_branch2_ops,
  },
 },
};

static struct clk_branch gcc_qdss_cfg_ahb_clk = {
 .halt_reg = 0x2d06c,
 .halt_check = BRANCH_HALT_VOTED,
 .clkr = {
  .enable_reg = 0x2d06c,
  .enable_mask = BIT(0),
  .hw.init = &(const struct clk_init_data) {
   .name = "gcc_qdss_cfg_ahb_clk",
   .parent_hws = (const struct clk_hw*[]) {
    &gcc_pcnoc_bfdcd_clk_src.clkr.hw,
   },
   .num_parents = 1,
   .flags = CLK_SET_RATE_PARENT,
   .ops = &clk_branch2_ops,
  },
 },
};

static struct clk_branch gcc_qdss_dap_ahb_clk = {
 .halt_reg = 0x2d068,
 .halt_check = BRANCH_HALT_VOTED,
 .clkr = {
  .enable_reg = 0x2d068,
  .enable_mask = BIT(0),
  .hw.init = &(const struct clk_init_data) {
   .name = "gcc_qdss_dap_ahb_clk",
   .parent_hws = (const struct clk_hw*[]) {
    &gcc_pcnoc_bfdcd_clk_src.clkr.hw,
   },
   .num_parents = 1,
   .flags = CLK_SET_RATE_PARENT,
   .ops = &clk_branch2_ops,
  },
 },
};

static struct clk_branch gcc_qdss_dap_clk = {
 .halt_reg = 0x2d05c,
 .halt_check = BRANCH_HALT_VOTED,
 .clkr = {
  .enable_reg = 0xb004,
  .enable_mask = BIT(2),
  .hw.init = &(const struct clk_init_data) {
   .name = "gcc_qdss_dap_clk",
   .parent_hws = (const struct clk_hw*[]) {
    &gcc_qdss_dap_div_clk_src.clkr.hw,
   },
   .num_parents = 1,
   .flags = CLK_SET_RATE_PARENT,
   .ops = &clk_branch2_ops,
  },
 },
};

static struct clk_branch gcc_qdss_etr_usb_clk = {
 .halt_reg = 0x2d064,
 .halt_check = BRANCH_HALT_VOTED,
 .clkr = {
  .enable_reg = 0x2d064,
  .enable_mask = BIT(0),
  .hw.init = &(const struct clk_init_data) {
   .name = "gcc_qdss_etr_usb_clk",
   .parent_hws = (const struct clk_hw*[]) {
    &gcc_system_noc_bfdcd_clk_src.clkr.hw,
   },
   .num_parents = 1,
   .flags = CLK_SET_RATE_PARENT,
   .ops = &clk_branch2_ops,
  },
 },
};

static struct clk_fixed_factor gcc_eud_at_div_clk_src = {
 .mult = 1,
 .div = 6,
 .hw.init = &(struct clk_init_data) {
  .name = "gcc_eud_at_div_clk_src",
  .parent_hws = (const struct clk_hw *[]) {
    &gcc_qdss_at_clk_src.clkr.hw },
  .num_parents = 1,
  .flags = CLK_SET_RATE_PARENT,
  .ops = &clk_fixed_factor_ops,
 },
};

static struct clk_branch gcc_qdss_eud_at_clk = {
 .halt_reg = 0x2d070,
 .halt_check = BRANCH_HALT_VOTED,
 .clkr = {
  .enable_reg = 0x2d070,
  .enable_mask = BIT(0),
  .hw.init = &(const struct clk_init_data) {
   .name = "gcc_qdss_eud_at_clk",
   .parent_hws = (const struct clk_hw*[]) {
    &gcc_eud_at_div_clk_src.hw,
   },
   .num_parents = 1,
   .flags = CLK_SET_RATE_PARENT,
   .ops = &clk_branch2_ops,
  },
 },
};

static struct clk_branch gcc_qpic_ahb_clk = {
 .halt_reg = 0x32010,
 .halt_check = BRANCH_HALT,
 .clkr = {
  .enable_reg = 0x32010,
  .enable_mask = BIT(0),
  .hw.init = &(const struct clk_init_data) {
   .name = "gcc_qpic_ahb_clk",
   .parent_hws = (const struct clk_hw*[]) {
    &gcc_pcnoc_bfdcd_clk_src.clkr.hw,
   },
   .num_parents = 1,
   .flags = CLK_SET_RATE_PARENT,
   .ops = &clk_branch2_ops,
  },
 },
};

static struct clk_branch gcc_qpic_clk = {
 .halt_reg = 0x32014,
 .halt_check = BRANCH_HALT,
 .clkr = {
  .enable_reg = 0x32014,
  .enable_mask = BIT(0),
  .hw.init = &(const struct clk_init_data) {
   .name = "gcc_qpic_clk",
   .parent_hws = (const struct clk_hw*[]) {
    &gcc_pcnoc_bfdcd_clk_src.clkr.hw,
   },
   .num_parents = 1,
   .flags = CLK_SET_RATE_PARENT,
   .ops = &clk_branch2_ops,
  },
 },
};

static struct clk_branch gcc_qpic_io_macro_clk = {
 .halt_reg = 0x3200c,
 .halt_check = BRANCH_HALT,
 .clkr = {
  .enable_reg = 0x3200c,
  .enable_mask = BIT(0),
  .hw.init = &(const struct clk_init_data) {
   .name = "gcc_qpic_io_macro_clk",
   .parent_hws = (const struct clk_hw*[]) {
    &gcc_qpic_io_macro_clk_src.clkr.hw,
   },
   .num_parents = 1,
   .flags = CLK_SET_RATE_PARENT,
   .ops = &clk_branch2_ops,
  },
 },
};

static struct clk_branch gcc_qpic_sleep_clk = {
 .halt_reg = 0x3201c,
 .halt_check = BRANCH_HALT,
 .clkr = {
  .enable_reg = 0x3201c,
  .enable_mask = BIT(0),
  .hw.init = &(const struct clk_init_data) {
   .name = "gcc_qpic_sleep_clk",
   .parent_hws = (const struct clk_hw*[]) {
    &gcc_sleep_clk_src.clkr.hw,
   },
   .num_parents = 1,
   .flags = CLK_SET_RATE_PARENT,
   .ops = &clk_branch2_ops,
  },
 },
};

static struct clk_branch gcc_sdcc1_ahb_clk = {
 .halt_reg = 0x33034,
 .halt_check = BRANCH_HALT,
 .clkr = {
  .enable_reg = 0x33034,
  .enable_mask = BIT(0),
  .hw.init = &(const struct clk_init_data) {
   .name = "gcc_sdcc1_ahb_clk",
   .parent_hws = (const struct clk_hw*[]) {
    &gcc_pcnoc_bfdcd_clk_src.clkr.hw,
   },
   .num_parents = 1,
   .flags = CLK_SET_RATE_PARENT,
   .ops = &clk_branch2_ops,
  },
 },
};

static struct clk_branch gcc_sdcc1_apps_clk = {
 .halt_reg = 0x3302c,
 .halt_check = BRANCH_HALT,
 .clkr = {
  .enable_reg = 0x3302c,
  .enable_mask = BIT(0),
  .hw.init = &(const struct clk_init_data) {
   .name = "gcc_sdcc1_apps_clk",
   .parent_hws = (const struct clk_hw*[]) {
    &gcc_sdcc1_apps_clk_src.clkr.hw,
   },
   .num_parents = 1,
   .flags = CLK_SET_RATE_PARENT,
   .ops = &clk_branch2_ops,
  },
 },
};

static struct clk_branch gcc_snoc_lpass_cfg_clk = {
 .halt_reg = 0x2e028,
 .halt_check = BRANCH_HALT,
 .clkr = {
  .enable_reg = 0x2e028,
  .enable_mask = BIT(0),
  .hw.init = &(const struct clk_init_data) {
   .name = "gcc_snoc_lpass_cfg_clk",
   .parent_hws = (const struct clk_hw*[]) {
    &gcc_lpass_sway_clk_src.clkr.hw,
   },
   .num_parents = 1,
   .flags = CLK_SET_RATE_PARENT,
   .ops = &clk_branch2_ops,
  },
 },
};

static struct clk_branch gcc_snoc_nssnoc_1_clk = {
 .halt_reg = 0x17090,
 .halt_check = BRANCH_HALT,
 .clkr = {
  .enable_reg = 0x17090,
  .enable_mask = BIT(0),
  .hw.init = &(const struct clk_init_data) {
   .name = "gcc_snoc_nssnoc_1_clk",
   .parent_hws = (const struct clk_hw*[]) {
    &gcc_system_noc_bfdcd_clk_src.clkr.hw,
   },
   .num_parents = 1,
   .flags = CLK_SET_RATE_PARENT,
   .ops = &clk_branch2_ops,
  },
 },
};

static struct clk_branch gcc_snoc_nssnoc_clk = {
 .halt_reg = 0x17084,
 .halt_check = BRANCH_HALT,
 .clkr = {
  .enable_reg = 0x17084,
  .enable_mask = BIT(0),
  .hw.init = &(const struct clk_init_data) {
   .name = "gcc_snoc_nssnoc_clk",
   .parent_hws = (const struct clk_hw*[]) {
    &gcc_system_noc_bfdcd_clk_src.clkr.hw,
   },
   .num_parents = 1,
   .flags = CLK_SET_RATE_PARENT,
   .ops = &clk_branch2_ops,
  },
 },
};

static struct clk_branch gcc_snoc_pcie3_1lane_1_m_clk = {
 .halt_reg = 0x2e050,
 .halt_check = BRANCH_HALT,
 .clkr = {
  .enable_reg = 0x2e050,
  .enable_mask = BIT(0),
  .hw.init = &(const struct clk_init_data) {
   .name = "gcc_snoc_pcie3_1lane_1_m_clk",
   .parent_hws = (const struct clk_hw*[]) {
    &gcc_pcie3x1_1_axi_clk_src.clkr.hw,
   },
   .num_parents = 1,
   .flags = CLK_SET_RATE_PARENT,
   .ops = &clk_branch2_ops,
  },
 },
};

static struct clk_branch gcc_snoc_pcie3_1lane_1_s_clk = {
 .halt_reg = 0x2e0ac,
 .halt_check = BRANCH_HALT,
 .clkr = {
  .enable_reg = 0x2e0ac,
  .enable_mask = BIT(0),
  .hw.init = &(const struct clk_init_data) {
   .name = "gcc_snoc_pcie3_1lane_1_s_clk",
   .parent_hws = (const struct clk_hw*[]) {
    &gcc_pcie3x1_1_axi_clk_src.clkr.hw,
   },
   .num_parents = 1,
   .flags = CLK_SET_RATE_PARENT,
   .ops = &clk_branch2_ops,
  },
 },
};

static struct clk_branch gcc_snoc_pcie3_1lane_m_clk = {
 .halt_reg = 0x2e080,
 .halt_check = BRANCH_HALT,
 .clkr = {
  .enable_reg = 0x2e080,
  .enable_mask = BIT(0),
  .hw.init = &(const struct clk_init_data) {
   .name = "gcc_snoc_pcie3_1lane_m_clk",
   .parent_hws = (const struct clk_hw*[]) {
    &gcc_pcie3x1_0_axi_clk_src.clkr.hw,
   },
   .num_parents = 1,
   .flags = CLK_SET_RATE_PARENT,
   .ops = &clk_branch2_ops,
  },
 },
};

static struct clk_branch gcc_snoc_pcie3_1lane_s_clk = {
 .halt_reg = 0x2e04c,
 .halt_check = BRANCH_HALT,
 .clkr = {
  .enable_reg = 0x2e04c,
  .enable_mask = BIT(0),
  .hw.init = &(const struct clk_init_data) {
   .name = "gcc_snoc_pcie3_1lane_s_clk",
   .parent_hws = (const struct clk_hw*[]) {
    &gcc_pcie3x1_0_axi_clk_src.clkr.hw,
   },
   .num_parents = 1,
   .flags = CLK_SET_RATE_PARENT,
   .ops = &clk_branch2_ops,
  },
 },
};

static struct clk_branch gcc_snoc_pcie3_2lane_m_clk = {
 .halt_reg = 0x2e07c,
 .halt_check = BRANCH_HALT,
 .clkr = {
  .enable_reg = 0x2e07c,
  .enable_mask = BIT(0),
  .hw.init = &(const struct clk_init_data) {
   .name = "gcc_snoc_pcie3_2lane_m_clk",
   .parent_hws = (const struct clk_hw*[]) {
    &gcc_pcie3x2_axi_m_clk_src.clkr.hw,
   },
   .num_parents = 1,
   .flags = CLK_SET_RATE_PARENT,
   .ops = &clk_branch2_ops,
  },
 },
};

static struct clk_branch gcc_snoc_pcie3_2lane_s_clk = {
 .halt_reg = 0x2e048,
 .halt_check = BRANCH_HALT,
 .clkr = {
  .enable_reg = 0x2e048,
  .enable_mask = BIT(0),
  .hw.init = &(const struct clk_init_data) {
   .name = "gcc_snoc_pcie3_2lane_s_clk",
   .parent_hws = (const struct clk_hw*[]) {
    &gcc_pcie3x2_axi_s_clk_src.clkr.hw,
   },
   .num_parents = 1,
   .flags = CLK_SET_RATE_PARENT,
   .ops = &clk_branch2_ops,
  },
 },
};

static struct clk_branch gcc_snoc_usb_clk = {
 .halt_reg = 0x2e058,
 .halt_check = BRANCH_HALT_VOTED,
 .clkr = {
  .enable_reg = 0x2e058,
  .enable_mask = BIT(0),
  .hw.init = &(const struct clk_init_data) {
   .name = "gcc_snoc_usb_clk",
   .parent_hws = (const struct clk_hw*[]) {
    &gcc_usb0_master_clk_src.clkr.hw,
   },
   .num_parents = 1,
   .flags = CLK_SET_RATE_PARENT,
   .ops = &clk_branch2_ops,
  },
 },
};

static struct clk_branch gcc_sys_noc_at_clk = {
 .halt_reg = 0x2e038,
 .halt_check = BRANCH_HALT_VOTED,
 .clkr = {
  .enable_reg = 0x2e038,
  .enable_mask = BIT(0),
  .hw.init = &(const struct clk_init_data) {
   .name = "gcc_sys_noc_at_clk",
   .parent_hws = (const struct clk_hw*[]) {
    &gcc_qdss_at_clk_src.clkr.hw,
   },
   .num_parents = 1,
   .flags = CLK_SET_RATE_PARENT,
   .ops = &clk_branch2_ops,
  },
 },
};

static struct clk_branch gcc_uniphy0_ahb_clk = {
 .halt_reg = 0x16010,
 .halt_check = BRANCH_HALT,
 .clkr = {
  .enable_reg = 0x16010,
  .enable_mask = BIT(0),
  .hw.init = &(const struct clk_init_data) {
   .name = "gcc_uniphy0_ahb_clk",
   .parent_hws = (const struct clk_hw*[]) {
    &gcc_pcnoc_bfdcd_clk_src.clkr.hw,
   },
   .num_parents = 1,
   .flags = CLK_SET_RATE_PARENT,
   .ops = &clk_branch2_ops,
  },
 },
};

static struct clk_branch gcc_uniphy0_sys_clk = {
 .halt_reg = 0x1600c,
 .halt_check = BRANCH_HALT,
 .clkr = {
  .enable_reg = 0x1600c,
  .enable_mask = BIT(0),
  .hw.init = &(const struct clk_init_data) {
   .name = "gcc_uniphy0_sys_clk",
   .parent_hws = (const struct clk_hw*[]) {
    &gcc_uniphy_sys_clk_src.clkr.hw,
   },
   .num_parents = 1,
   .flags = CLK_SET_RATE_PARENT,
   .ops = &clk_branch2_ops,
  },
 },
};

static struct clk_branch gcc_uniphy1_ahb_clk = {
 .halt_reg = 0x1601c,
 .halt_check = BRANCH_HALT,
 .clkr = {
  .enable_reg = 0x1601c,
  .enable_mask = BIT(0),
  .hw.init = &(const struct clk_init_data) {
   .name = "gcc_uniphy1_ahb_clk",
   .parent_hws = (const struct clk_hw*[]) {
    &gcc_pcnoc_bfdcd_clk_src.clkr.hw,
   },
   .num_parents = 1,
--> --------------------

--> maximum size reached

--> --------------------

Messung V0.5
C=98 H=100 G=98

¤ Dauer der Verarbeitung: 0.25 Sekunden  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.