Lines Matching refs:clk
57 .clk = &_clk, \
89 int clk_enable(struct clk *clk) in clk_enable() argument
92 if (clk->ops && clk->ops->enable) in clk_enable()
93 ret = clk->ops->enable(clk); in clk_enable()
98 void clk_disable(struct clk *clk) in clk_disable() argument
100 if (clk->ops && clk->ops->disable) in clk_disable()
101 clk->ops->disable(clk); in clk_disable()
106 unsigned long clk_get_rate(struct clk *clk) in clk_get_rate() argument
109 if (clk->ops && clk->ops->get_rate) in clk_get_rate()
110 ret = clk->ops->get_rate(clk); in clk_get_rate()
115 long clk_round_rate(struct clk *clk, unsigned long rate) in clk_round_rate() argument
118 if (clk->ops && clk->ops->round_rate) in clk_round_rate()
119 ret = clk->ops->round_rate(clk, rate); in clk_round_rate()
124 int clk_set_rate(struct clk *clk, unsigned long rate) in clk_set_rate() argument
127 if (clk->ops && clk->ops->set_rate) in clk_set_rate()
128 ret = clk->ops->set_rate(clk, rate); in clk_set_rate()
133 unsigned long vco_get_rate(struct clk *clk) in vco_get_rate() argument
135 return clk->rate; in vco_get_rate()
138 unsigned long pll_get_rate(struct clk *clk) in pll_get_rate() argument
148 clk->parent->rate = clk_get_rate(clk->parent); in pll_get_rate()
149 return clk->parent->rate / (df + 1) * msel * 2; in pll_get_rate()
152 unsigned long pll_round_rate(struct clk *clk, unsigned long rate) in pll_round_rate() argument
155 div = rate / clk->parent->rate; in pll_round_rate()
156 return clk->parent->rate * div; in pll_round_rate()
159 int pll_set_rate(struct clk *clk, unsigned long rate) in pll_set_rate() argument
169 msel = rate / clk->parent->rate / 2; in pll_set_rate()
172 clk->rate = rate; in pll_set_rate()
176 unsigned long cclk_get_rate(struct clk *clk) in cclk_get_rate() argument
178 if (clk->parent) in cclk_get_rate()
179 return clk->parent->rate; in cclk_get_rate()
184 unsigned long sys_clk_get_rate(struct clk *clk) in sys_clk_get_rate() argument
191 div = (div & clk->mask) >> clk->shift; in sys_clk_get_rate()
195 if (!strcmp(clk->parent->name, "SYS_CLKIN")) { in sys_clk_get_rate()
196 drate = clk->parent->rate / (df + 1); in sys_clk_get_rate()
201 clk->parent->rate = clk_get_rate(clk->parent); in sys_clk_get_rate()
202 return clk->parent->rate / div; in sys_clk_get_rate()
206 unsigned long dummy_get_rate(struct clk *clk) in dummy_get_rate() argument
208 clk->parent->rate = clk_get_rate(clk->parent); in dummy_get_rate()
209 return clk->parent->rate; in dummy_get_rate()
212 unsigned long sys_clk_round_rate(struct clk *clk, unsigned long rate) in sys_clk_round_rate() argument
223 max_rate = clk->parent->rate / (df + 1) * msel; in sys_clk_round_rate()
228 for (i = 1; i < clk->mask; i++) { in sys_clk_round_rate()
236 int sys_clk_set_rate(struct clk *clk, unsigned long rate) in sys_clk_set_rate() argument
239 div = (div & clk->mask) >> clk->shift; in sys_clk_set_rate()
241 rate = clk_round_rate(clk, rate); in sys_clk_set_rate()
246 div = (clk_get_rate(clk) * div) / rate; in sys_clk_set_rate()
250 clk_reg_write_mask(CGU0_DIV, div << clk->shift, in sys_clk_set_rate()
251 clk->mask); in sys_clk_set_rate()
252 clk->rate = rate; in sys_clk_set_rate()
279 static struct clk sys_clkin = {
285 static struct clk pll_clk = {
293 static struct clk cclk = {
303 static struct clk cclk0 = {
309 static struct clk cclk1 = {
315 static struct clk sysclk = {
325 static struct clk sclk0 = {
334 static struct clk sclk1 = {
343 static struct clk dclk = {
352 static struct clk oclk = {
360 static struct clk ethclk = {
366 static struct clk ethpclk = {
372 static struct clk spiclk = {
397 struct clk *clkp; in clk_init()
399 clkp = bf609_clks[i].clk; in clk_init()