zx_pll 25 drivers/clk/zte/clk.c static int rate_to_idx(struct clk_zx_pll *zx_pll, unsigned long rate) zx_pll 27 drivers/clk/zte/clk.c const struct zx_pll_config *config = zx_pll->lookup_table; zx_pll 30 drivers/clk/zte/clk.c for (i = 0; i < zx_pll->count; i++) { zx_pll 41 drivers/clk/zte/clk.c static int hw_to_idx(struct clk_zx_pll *zx_pll) zx_pll 43 drivers/clk/zte/clk.c const struct zx_pll_config *config = zx_pll->lookup_table; zx_pll 47 drivers/clk/zte/clk.c hw_cfg0 = readl_relaxed(zx_pll->reg_base); zx_pll 48 drivers/clk/zte/clk.c hw_cfg1 = readl_relaxed(zx_pll->reg_base + CFG0_CFG1_OFFSET); zx_pll 51 drivers/clk/zte/clk.c hw_cfg0 &= ~BIT(zx_pll->lock_bit); zx_pll 54 drivers/clk/zte/clk.c if (zx_pll->pd_bit < 32) zx_pll 55 drivers/clk/zte/clk.c hw_cfg0 |= BIT(zx_pll->pd_bit); zx_pll 57 drivers/clk/zte/clk.c for (i = 0; i < zx_pll->count; i++) { zx_pll 68 drivers/clk/zte/clk.c struct clk_zx_pll *zx_pll = to_clk_zx_pll(hw); zx_pll 71 drivers/clk/zte/clk.c idx = hw_to_idx(zx_pll); zx_pll 75 drivers/clk/zte/clk.c return zx_pll->lookup_table[idx].rate; zx_pll 81 drivers/clk/zte/clk.c struct clk_zx_pll *zx_pll = to_clk_zx_pll(hw); zx_pll 84 drivers/clk/zte/clk.c idx = rate_to_idx(zx_pll, rate); zx_pll 86 drivers/clk/zte/clk.c return zx_pll->lookup_table[idx].rate; zx_pll 93 drivers/clk/zte/clk.c struct clk_zx_pll *zx_pll = to_clk_zx_pll(hw); zx_pll 97 drivers/clk/zte/clk.c idx = rate_to_idx(zx_pll, rate); zx_pll 98 drivers/clk/zte/clk.c config = &zx_pll->lookup_table[idx]; zx_pll 100 drivers/clk/zte/clk.c writel_relaxed(config->cfg0, zx_pll->reg_base); zx_pll 101 drivers/clk/zte/clk.c writel_relaxed(config->cfg1, zx_pll->reg_base + CFG0_CFG1_OFFSET); zx_pll 108 drivers/clk/zte/clk.c struct clk_zx_pll *zx_pll = to_clk_zx_pll(hw); zx_pll 112 drivers/clk/zte/clk.c if (zx_pll->pd_bit > 31) zx_pll 115 drivers/clk/zte/clk.c reg = readl_relaxed(zx_pll->reg_base); zx_pll 116 drivers/clk/zte/clk.c writel_relaxed(reg & ~BIT(zx_pll->pd_bit), zx_pll->reg_base); zx_pll 118 drivers/clk/zte/clk.c return readl_relaxed_poll_timeout(zx_pll->reg_base, reg, zx_pll 119 drivers/clk/zte/clk.c reg & BIT(zx_pll->lock_bit), 0, 100); zx_pll 124 drivers/clk/zte/clk.c struct clk_zx_pll *zx_pll = to_clk_zx_pll(hw); zx_pll 127 drivers/clk/zte/clk.c if (zx_pll->pd_bit > 31) zx_pll 130 drivers/clk/zte/clk.c reg = readl_relaxed(zx_pll->reg_base); zx_pll 131 drivers/clk/zte/clk.c writel_relaxed(reg | BIT(zx_pll->pd_bit), zx_pll->reg_base); zx_pll 136 drivers/clk/zte/clk.c struct clk_zx_pll *zx_pll = to_clk_zx_pll(hw); zx_pll 139 drivers/clk/zte/clk.c reg = readl_relaxed(zx_pll->reg_base); zx_pll 141 drivers/clk/zte/clk.c return !(reg & BIT(zx_pll->pd_bit)); zx_pll 159 drivers/clk/zte/clk.c struct clk_zx_pll *zx_pll; zx_pll 163 drivers/clk/zte/clk.c zx_pll = kzalloc(sizeof(*zx_pll), GFP_KERNEL); zx_pll 164 drivers/clk/zte/clk.c if (!zx_pll) zx_pll 173 drivers/clk/zte/clk.c zx_pll->reg_base = reg_base; zx_pll 174 drivers/clk/zte/clk.c zx_pll->lookup_table = lookup_table; zx_pll 175 drivers/clk/zte/clk.c zx_pll->count = count; zx_pll 176 drivers/clk/zte/clk.c zx_pll->lock_bit = LOCK_FLAG; zx_pll 177 drivers/clk/zte/clk.c zx_pll->pd_bit = POWER_DOWN; zx_pll 178 drivers/clk/zte/clk.c zx_pll->lock = lock; zx_pll 179 drivers/clk/zte/clk.c zx_pll->hw.init = &init; zx_pll 181 drivers/clk/zte/clk.c clk = clk_register(NULL, &zx_pll->hw); zx_pll 183 drivers/clk/zte/clk.c kfree(zx_pll);