Lines Matching refs:clk
37 static void ti_allow_autoidle(struct clk_ti_autoidle *clk) in ti_allow_autoidle() argument
41 val = ti_clk_ll_ops->clk_readl(clk->reg); in ti_allow_autoidle()
43 if (clk->flags & AUTOIDLE_LOW) in ti_allow_autoidle()
44 val &= ~(1 << clk->shift); in ti_allow_autoidle()
46 val |= (1 << clk->shift); in ti_allow_autoidle()
48 ti_clk_ll_ops->clk_writel(val, clk->reg); in ti_allow_autoidle()
51 static void ti_deny_autoidle(struct clk_ti_autoidle *clk) in ti_deny_autoidle() argument
55 val = ti_clk_ll_ops->clk_readl(clk->reg); in ti_deny_autoidle()
57 if (clk->flags & AUTOIDLE_LOW) in ti_deny_autoidle()
58 val |= (1 << clk->shift); in ti_deny_autoidle()
60 val &= ~(1 << clk->shift); in ti_deny_autoidle()
62 ti_clk_ll_ops->clk_writel(val, clk->reg); in ti_deny_autoidle()
107 struct clk_ti_autoidle *clk; in of_ti_clk_autoidle_setup() local
113 clk = kzalloc(sizeof(*clk), GFP_KERNEL); in of_ti_clk_autoidle_setup()
115 if (!clk) in of_ti_clk_autoidle_setup()
118 clk->shift = shift; in of_ti_clk_autoidle_setup()
119 clk->name = node->name; in of_ti_clk_autoidle_setup()
120 clk->reg = ti_clk_get_reg_addr(node, 0); in of_ti_clk_autoidle_setup()
122 if (IS_ERR(clk->reg)) { in of_ti_clk_autoidle_setup()
123 kfree(clk); in of_ti_clk_autoidle_setup()
128 clk->flags |= AUTOIDLE_LOW; in of_ti_clk_autoidle_setup()
130 list_add(&clk->node, &autoidle_clks); in of_ti_clk_autoidle_setup()