Lines Matching refs:clk
24 static void emi_clk_recalc(struct clk *clk)
27 clk->rate = clk->parent->rate / frqcr3_divisors[idx];
30 static inline int frqcr3_lookup(struct clk *clk, unsigned long rate)
32 int divisor = clk->parent->rate / rate;
47 static struct clk sh4202_emi_clk = {
53 static void femi_clk_recalc(struct clk *clk)
56 clk->rate = clk->parent->rate / frqcr3_divisors[idx];
63 static struct clk sh4202_femi_clk = {
69 static void shoc_clk_init(struct clk *clk)
85 if (clk->ops->set_rate(clk, clk->parent->rate /
93 static void shoc_clk_recalc(struct clk *clk)
96 clk->rate = clk->parent->rate / frqcr3_divisors[idx];
99 static int shoc_clk_verify_rate(struct clk *clk, unsigned long rate)
101 struct clk *bclk = clk_get(NULL, "bus_clk");
114 static int shoc_clk_set_rate(struct clk *clk, unsigned long rate, int algo_id)
120 if (shoc_clk_verify_rate(clk, rate) != 0)
123 tmp = frqcr3_lookup(clk, rate);
130 clk->rate = clk->parent->rate / frqcr3_divisors[tmp];
141 static struct clk sh4202_shoc_clk = {
147 static struct clk *sh4202_onchip_clocks[] = {
155 struct clk *clk = clk_get(NULL, "master_clk");
159 struct clk *clkp = sh4202_onchip_clocks[i];
161 clkp->parent = clk;
172 clk_set_rate(clk, clk_get_rate(clk));
174 clk_put(clk);