Lines Matching refs:clk
58 static int _wait_idlest_generic(struct clk_hw_omap *clk, void __iomem *reg, in _wait_idlest_generic() argument
92 static void _omap2_module_wait_ready(struct clk_hw_omap *clk) in _omap2_module_wait_ready() argument
100 if (clk->ops->find_companion) { in _omap2_module_wait_ready()
101 clk->ops->find_companion(clk, &companion_reg, &other_bit); in _omap2_module_wait_ready()
107 clk->ops->find_idlest(clk, &idlest_reg, &idlest_bit, &idlest_val); in _omap2_module_wait_ready()
112 _wait_idlest_generic(clk, idlest_reg, (1 << idlest_bit), in _omap2_module_wait_ready()
113 idlest_val, clk_hw_get_name(&clk->hw)); in _omap2_module_wait_ready()
141 void omap2_clk_dflt_find_companion(struct clk_hw_omap *clk, in omap2_clk_dflt_find_companion() argument
150 r = ((__force u32)clk->enable_reg ^ (CM_FCLKEN ^ CM_ICLKEN)); in omap2_clk_dflt_find_companion()
153 *other_bit = clk->enable_bit; in omap2_clk_dflt_find_companion()
170 void omap2_clk_dflt_find_idlest(struct clk_hw_omap *clk, in omap2_clk_dflt_find_idlest() argument
176 r = (((__force u32)clk->enable_reg & ~0xf0) | 0x20); in omap2_clk_dflt_find_idlest()
178 *idlest_bit = clk->enable_bit; in omap2_clk_dflt_find_idlest()
202 struct clk_hw_omap *clk; in omap2_dflt_clk_enable() local
212 clk = to_clk_hw_omap(hw); in omap2_dflt_clk_enable()
214 if (clkdm_control && clk->clkdm) { in omap2_dflt_clk_enable()
215 ret = ti_clk_ll_ops->clkdm_clk_enable(clk->clkdm, hw->clk); in omap2_dflt_clk_enable()
220 clk->clkdm_name, ret); in omap2_dflt_clk_enable()
225 if (unlikely(IS_ERR(clk->enable_reg))) { in omap2_dflt_clk_enable()
233 v = ti_clk_ll_ops->clk_readl(clk->enable_reg); in omap2_dflt_clk_enable()
234 if (clk->flags & INVERT_ENABLE) in omap2_dflt_clk_enable()
235 v &= ~(1 << clk->enable_bit); in omap2_dflt_clk_enable()
237 v |= (1 << clk->enable_bit); in omap2_dflt_clk_enable()
238 ti_clk_ll_ops->clk_writel(v, clk->enable_reg); in omap2_dflt_clk_enable()
239 v = ti_clk_ll_ops->clk_readl(clk->enable_reg); /* OCP barrier */ in omap2_dflt_clk_enable()
241 if (clk->ops && clk->ops->find_idlest) in omap2_dflt_clk_enable()
242 _omap2_module_wait_ready(clk); in omap2_dflt_clk_enable()
247 if (clkdm_control && clk->clkdm) in omap2_dflt_clk_enable()
248 ti_clk_ll_ops->clkdm_clk_disable(clk->clkdm, hw->clk); in omap2_dflt_clk_enable()
263 struct clk_hw_omap *clk; in omap2_dflt_clk_disable() local
266 clk = to_clk_hw_omap(hw); in omap2_dflt_clk_disable()
267 if (IS_ERR(clk->enable_reg)) { in omap2_dflt_clk_disable()
277 v = ti_clk_ll_ops->clk_readl(clk->enable_reg); in omap2_dflt_clk_disable()
278 if (clk->flags & INVERT_ENABLE) in omap2_dflt_clk_disable()
279 v |= (1 << clk->enable_bit); in omap2_dflt_clk_disable()
281 v &= ~(1 << clk->enable_bit); in omap2_dflt_clk_disable()
282 ti_clk_ll_ops->clk_writel(v, clk->enable_reg); in omap2_dflt_clk_disable()
286 clk->clkdm) in omap2_dflt_clk_disable()
287 ti_clk_ll_ops->clkdm_clk_disable(clk->clkdm, hw->clk); in omap2_dflt_clk_disable()
300 struct clk_hw_omap *clk = to_clk_hw_omap(hw); in omap2_dflt_clk_is_enabled() local
303 v = ti_clk_ll_ops->clk_readl(clk->enable_reg); in omap2_dflt_clk_is_enabled()
305 if (clk->flags & INVERT_ENABLE) in omap2_dflt_clk_is_enabled()
306 v ^= BIT(clk->enable_bit); in omap2_dflt_clk_is_enabled()
308 v &= BIT(clk->enable_bit); in omap2_dflt_clk_is_enabled()