Lines Matching refs:clk

40 #include <dev/clk/clk_backend.h>
105 static struct clk *
110 struct meson_clk_clk *clk;
119 clk = &sc->sc_clks[clock_id];
120 if (clk->type == MESON_CLK_UNKNOWN)
123 return &clk->base;
130 static struct clk *
134 struct meson_clk_clk *clk;
136 clk = meson_clk_clock_find(sc, name);
137 if (clk == NULL)
140 return &clk->base;
144 meson_clk_clock_put(void *priv, struct clk *clk)
149 meson_clk_clock_get_rate(void *priv, struct clk *clkp)
152 struct meson_clk_clk *clk = (struct meson_clk_clk *)clkp;
153 struct clk *clkp_parent;
155 if (clk->get_rate)
156 return clk->get_rate(sc, clk);
160 aprint_debug("%s: no parent for %s\n", __func__, clk->base.name);
168 meson_clk_clock_set_rate(void *priv, struct clk *clkp, u_int rate)
171 struct meson_clk_clk *clk = (struct meson_clk_clk *)clkp;
172 struct clk *clkp_parent;
177 aprint_debug("%s: no parent for %s\n", __func__, clk->base.name);
183 if (clk->set_rate)
184 return clk->set_rate(sc, clk, rate);
190 meson_clk_clock_round_rate(void *priv, struct clk *clkp, u_int rate)
193 struct meson_clk_clk *clk = (struct meson_clk_clk *)clkp;
194 struct clk *clkp_parent;
199 aprint_debug("%s: no parent for %s\n", __func__, clk->base.name);
205 if (clk->round_rate)
206 return clk->round_rate(sc, clk, rate);
212 meson_clk_clock_enable(void *priv, struct clk *clkp)
215 struct meson_clk_clk *clk = (struct meson_clk_clk *)clkp;
216 struct clk *clkp_parent;
226 if (clk->enable)
227 error = clk->enable(sc, clk, 1);
233 meson_clk_clock_disable(void *priv, struct clk *clkp)
236 struct meson_clk_clk *clk = (struct meson_clk_clk *)clkp;
239 if (clk->enable)
240 error = clk->enable(sc, clk, 0);
246 meson_clk_clock_set_parent(void *priv, struct clk *clkp,
247 struct clk *clkp_parent)
250 struct meson_clk_clk *clk = (struct meson_clk_clk *)clkp;
252 if (clk->set_parent == NULL)
255 return clk->set_parent(sc, clk, clkp_parent->name);
258 static struct clk *
259 meson_clk_clock_get_parent(void *priv, struct clk *clkp)
262 struct meson_clk_clk *clk = (struct meson_clk_clk *)clkp;
266 if (clk->get_parent == NULL)
269 parent = clk->get_parent(sc, clk);
331 struct meson_clk_clk *clk;
332 struct clk *clkp_parent;
337 clk = &sc->sc_clks[i];
338 if (clk->type == MESON_CLK_UNKNOWN)
341 clkp_parent = clk_get_parent(&clk->base);
343 switch (clk->type) {
357 clk->base.name,
361 aprint_debug("%10u Hz\n", clk_get_rate(&clk->base));