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);