Lines Matching refs:clk
39 #include <dev/clk/clk_backend.h>
46 static struct clk *
50 struct ti_prcm_clk *clk;
52 clk = ti_prcm_clock_find(sc, name);
53 if (clk == NULL)
56 return &clk->base;
60 ti_prcm_clock_put(void *priv, struct clk *clk)
65 ti_prcm_clock_get_rate(void *priv, struct clk *clkp)
68 struct ti_prcm_clk *clk = (struct ti_prcm_clk *)clkp;
69 struct clk *clkp_parent;
71 if (clk->get_rate)
72 return clk->get_rate(sc, clk);
76 aprint_error("%s: no parent for %s\n", __func__, clk->base.name);
84 ti_prcm_clock_set_rate(void *priv, struct clk *clkp, u_int rate)
87 struct ti_prcm_clk *clk = (struct ti_prcm_clk *)clkp;
88 struct clk *clkp_parent;
93 aprint_error("%s: no parent for %s\n", __func__, clk->base.name);
99 if (clk->set_rate)
100 return clk->set_rate(sc, clk, rate);
106 ti_prcm_clock_enable(void *priv, struct clk *clkp)
109 struct ti_prcm_clk *clk = (struct ti_prcm_clk *)clkp;
110 struct clk *clkp_parent;
120 if (clk->enable)
121 error = clk->enable(sc, clk, 1);
127 ti_prcm_clock_disable(void *priv, struct clk *clkp)
130 struct ti_prcm_clk *clk = (struct ti_prcm_clk *)clkp;
133 if (clk->enable)
134 error = clk->enable(sc, clk, 0);
140 ti_prcm_clock_set_parent(void *priv, struct clk *clkp,
141 struct clk *clkp_parent)
144 struct ti_prcm_clk *clk = (struct ti_prcm_clk *)clkp;
146 if (clk->set_parent == NULL)
149 return clk->set_parent(sc, clk, clkp_parent->name);
152 static struct clk *
153 ti_prcm_clock_get_parent(void *priv, struct clk *clkp)
156 struct ti_prcm_clk *clk = (struct ti_prcm_clk *)clkp;
160 if (clk->get_parent == NULL)
163 parent = clk->get_parent(sc, clk);
226 struct clk *
266 struct clk *clk;
268 clk = ti_prcm_get_hwmod(phandle, index);
269 if (clk == NULL)
272 return clk_enable(clk);