Lines Matching refs:clk

111 void omap2_clk_writel(u32 val, struct clk_hw_omap *clk, void __iomem *reg)  in omap2_clk_writel()  argument
113 if (WARN_ON_ONCE(!(clk->flags & MEMMAP_ADDRESSING))) in omap2_clk_writel()
119 u32 omap2_clk_readl(struct clk_hw_omap *clk, void __iomem *reg) in omap2_clk_readl() argument
121 if (WARN_ON_ONCE(!(clk->flags & MEMMAP_ADDRESSING))) in omap2_clk_readl()
205 static int _wait_idlest_generic(struct clk_hw_omap *clk, void __iomem *reg, in _wait_idlest_generic() argument
212 omap_test_timeout(((omap2_clk_readl(clk, reg) & mask) == ena), in _wait_idlest_generic()
235 static void _omap2_module_wait_ready(struct clk_hw_omap *clk) in _omap2_module_wait_ready() argument
243 if (clk->ops->find_companion) { in _omap2_module_wait_ready()
244 clk->ops->find_companion(clk, &companion_reg, &other_bit); in _omap2_module_wait_ready()
245 if (!(omap2_clk_readl(clk, companion_reg) & (1 << other_bit))) in _omap2_module_wait_ready()
249 clk->ops->find_idlest(clk, &idlest_reg, &idlest_bit, &idlest_val); in _omap2_module_wait_ready()
253 _wait_idlest_generic(clk, idlest_reg, (1 << idlest_bit), in _omap2_module_wait_ready()
254 idlest_val, __clk_get_name(clk->hw.clk)); in _omap2_module_wait_ready()
273 struct clk_hw_omap *clk = to_clk_hw_omap(hw); in omap2_init_clk_clkdm() local
277 if (!clk->clkdm_name) in omap2_init_clk_clkdm()
280 clk_name = __clk_get_name(hw->clk); in omap2_init_clk_clkdm()
282 clkdm = clkdm_lookup(clk->clkdm_name); in omap2_init_clk_clkdm()
285 clk_name, clk->clkdm_name); in omap2_init_clk_clkdm()
286 clk->clkdm = clkdm; in omap2_init_clk_clkdm()
289 clk_name, clk->clkdm_name); in omap2_init_clk_clkdm()
327 void omap2_clk_dflt_find_companion(struct clk_hw_omap *clk, in omap2_clk_dflt_find_companion() argument
336 r = ((__force u32)clk->enable_reg ^ (CM_FCLKEN ^ CM_ICLKEN)); in omap2_clk_dflt_find_companion()
339 *other_bit = clk->enable_bit; in omap2_clk_dflt_find_companion()
356 void omap2_clk_dflt_find_idlest(struct clk_hw_omap *clk, in omap2_clk_dflt_find_idlest() argument
361 r = (((__force u32)clk->enable_reg & ~0xf0) | 0x20); in omap2_clk_dflt_find_idlest()
363 *idlest_bit = clk->enable_bit; in omap2_clk_dflt_find_idlest()
387 struct clk_hw_omap *clk; in omap2_dflt_clk_enable() local
391 clk = to_clk_hw_omap(hw); in omap2_dflt_clk_enable()
393 if (clkdm_control && clk->clkdm) { in omap2_dflt_clk_enable()
394 ret = clkdm_clk_enable(clk->clkdm, hw->clk); in omap2_dflt_clk_enable()
397 __func__, __clk_get_name(hw->clk), in omap2_dflt_clk_enable()
398 clk->clkdm->name, ret); in omap2_dflt_clk_enable()
403 if (unlikely(clk->enable_reg == NULL)) { in omap2_dflt_clk_enable()
405 __clk_get_name(hw->clk)); in omap2_dflt_clk_enable()
411 v = omap2_clk_readl(clk, clk->enable_reg); in omap2_dflt_clk_enable()
412 if (clk->flags & INVERT_ENABLE) in omap2_dflt_clk_enable()
413 v &= ~(1 << clk->enable_bit); in omap2_dflt_clk_enable()
415 v |= (1 << clk->enable_bit); in omap2_dflt_clk_enable()
416 omap2_clk_writel(v, clk, clk->enable_reg); in omap2_dflt_clk_enable()
417 v = omap2_clk_readl(clk, clk->enable_reg); /* OCP barrier */ in omap2_dflt_clk_enable()
419 if (clk->ops && clk->ops->find_idlest) in omap2_dflt_clk_enable()
420 _omap2_module_wait_ready(clk); in omap2_dflt_clk_enable()
425 if (clkdm_control && clk->clkdm) in omap2_dflt_clk_enable()
426 clkdm_clk_disable(clk->clkdm, hw->clk); in omap2_dflt_clk_enable()
441 struct clk_hw_omap *clk; in omap2_dflt_clk_disable() local
444 clk = to_clk_hw_omap(hw); in omap2_dflt_clk_disable()
445 if (!clk->enable_reg) { in omap2_dflt_clk_disable()
451 __func__, __clk_get_name(hw->clk)); in omap2_dflt_clk_disable()
455 v = omap2_clk_readl(clk, clk->enable_reg); in omap2_dflt_clk_disable()
456 if (clk->flags & INVERT_ENABLE) in omap2_dflt_clk_disable()
457 v |= (1 << clk->enable_bit); in omap2_dflt_clk_disable()
459 v &= ~(1 << clk->enable_bit); in omap2_dflt_clk_disable()
460 omap2_clk_writel(v, clk, clk->enable_reg); in omap2_dflt_clk_disable()
463 if (clkdm_control && clk->clkdm) in omap2_dflt_clk_disable()
464 clkdm_clk_disable(clk->clkdm, hw->clk); in omap2_dflt_clk_disable()
481 struct clk_hw_omap *clk; in omap2_clkops_enable_clkdm() local
484 clk = to_clk_hw_omap(hw); in omap2_clkops_enable_clkdm()
486 if (unlikely(!clk->clkdm)) { in omap2_clkops_enable_clkdm()
488 __clk_get_name(hw->clk)); in omap2_clkops_enable_clkdm()
492 if (unlikely(clk->enable_reg)) in omap2_clkops_enable_clkdm()
494 __clk_get_name(hw->clk)); in omap2_clkops_enable_clkdm()
498 __func__, __clk_get_name(hw->clk)); in omap2_clkops_enable_clkdm()
502 ret = clkdm_clk_enable(clk->clkdm, hw->clk); in omap2_clkops_enable_clkdm()
504 __func__, __clk_get_name(hw->clk), clk->clkdm->name, ret); in omap2_clkops_enable_clkdm()
520 struct clk_hw_omap *clk; in omap2_clkops_disable_clkdm() local
522 clk = to_clk_hw_omap(hw); in omap2_clkops_disable_clkdm()
524 if (unlikely(!clk->clkdm)) { in omap2_clkops_disable_clkdm()
526 __clk_get_name(hw->clk)); in omap2_clkops_disable_clkdm()
530 if (unlikely(clk->enable_reg)) in omap2_clkops_disable_clkdm()
532 __clk_get_name(hw->clk)); in omap2_clkops_disable_clkdm()
536 __func__, __clk_get_name(hw->clk)); in omap2_clkops_disable_clkdm()
540 clkdm_clk_disable(clk->clkdm, hw->clk); in omap2_clkops_disable_clkdm()
553 struct clk_hw_omap *clk = to_clk_hw_omap(hw); in omap2_dflt_clk_is_enabled() local
556 v = omap2_clk_readl(clk, clk->enable_reg); in omap2_dflt_clk_is_enabled()
558 if (clk->flags & INVERT_ENABLE) in omap2_dflt_clk_is_enabled()
559 v ^= BIT(clk->enable_bit); in omap2_dflt_clk_is_enabled()
561 v &= BIT(clk->enable_bit); in omap2_dflt_clk_is_enabled()
595 void omap2_init_clk_hw_omap_clocks(struct clk *clk) in omap2_init_clk_hw_omap_clocks() argument
599 if (__clk_get_flags(clk) & CLK_IS_BASIC) in omap2_init_clk_hw_omap_clocks()
602 c = to_clk_hw_omap(__clk_get_hw(clk)); in omap2_init_clk_hw_omap_clocks()
656 int omap2_clk_deny_idle(struct clk *clk) in omap2_clk_deny_idle() argument
660 if (__clk_get_flags(clk) & CLK_IS_BASIC) in omap2_clk_deny_idle()
663 c = to_clk_hw_omap(__clk_get_hw(clk)); in omap2_clk_deny_idle()
675 int omap2_clk_allow_idle(struct clk *clk) in omap2_clk_allow_idle() argument
679 if (__clk_get_flags(clk) & CLK_IS_BASIC) in omap2_clk_allow_idle()
682 c = to_clk_hw_omap(__clk_get_hw(clk)); in omap2_clk_allow_idle()
700 struct clk *init_clk; in omap2_clk_enable_init_clocks()
734 struct clk *mpurate_ck; in omap2_clk_switch_mpurate_at_boot()
774 struct clk *hfclkin_ck, *core_ck, *mpu_ck; in omap2_clk_print_new_rates()