Lines Matching refs:osc
70 struct clk_slow_osc *osc = to_clk_slow_osc(hw);
71 void __iomem *sckcr = osc->sckcr;
74 if (tmp & (osc->bits->cr_osc32byp | osc->bits->cr_osc32en))
77 writel(tmp | osc->bits->cr_osc32en, sckcr);
80 udelay(osc->startup_usec);
82 usleep_range(osc->startup_usec, osc->startup_usec + 1);
89 struct clk_slow_osc *osc = to_clk_slow_osc(hw);
90 void __iomem *sckcr = osc->sckcr;
93 if (tmp & osc->bits->cr_osc32byp)
96 writel(tmp & ~osc->bits->cr_osc32en, sckcr);
101 struct clk_slow_osc *osc = to_clk_slow_osc(hw);
102 void __iomem *sckcr = osc->sckcr;
105 if (tmp & osc->bits->cr_osc32byp)
108 return !!(tmp & osc->bits->cr_osc32en);
125 struct clk_slow_osc *osc;
133 osc = kzalloc(sizeof(*osc), GFP_KERNEL);
134 if (!osc)
143 osc->hw.init = &init;
144 osc->sckcr = sckcr;
145 osc->startup_usec = startup;
146 osc->bits = bits;
149 writel((readl(sckcr) & ~osc->bits->cr_osc32en) |
150 osc->bits->cr_osc32byp, sckcr);
152 hw = &osc->hw;
153 ret = clk_hw_register(NULL, &osc->hw);
155 kfree(osc);
164 struct clk_slow_osc *osc = to_clk_slow_osc(hw);
167 kfree(osc);
173 struct clk_slow_rc_osc *osc = to_clk_slow_rc_osc(hw);
175 return osc->frequency;
181 struct clk_slow_rc_osc *osc = to_clk_slow_rc_osc(hw);
183 return osc->accuracy;
188 struct clk_slow_rc_osc *osc = to_clk_slow_rc_osc(hw);
189 void __iomem *sckcr = osc->sckcr;
191 writel(readl(sckcr) | osc->bits->cr_rcen, sckcr);
194 udelay(osc->startup_usec);
196 usleep_range(osc->startup_usec, osc->startup_usec + 1);
203 struct clk_slow_rc_osc *osc = to_clk_slow_rc_osc(hw);
204 void __iomem *sckcr = osc->sckcr;
206 writel(readl(sckcr) & ~osc->bits->cr_rcen, sckcr);
211 struct clk_slow_rc_osc *osc = to_clk_slow_rc_osc(hw);
213 return !!(readl(osc->sckcr) & osc->bits->cr_rcen);
232 struct clk_slow_rc_osc *osc;
240 osc = kzalloc(sizeof(*osc), GFP_KERNEL);
241 if (!osc)
250 osc->hw.init = &init;
251 osc->sckcr = sckcr;
252 osc->bits = bits;
253 osc->frequency = frequency;
254 osc->accuracy = accuracy;
255 osc->startup_usec = startup;
257 hw = &osc->hw;
258 ret = clk_hw_register(NULL, &osc->hw);
260 kfree(osc);
269 struct clk_slow_rc_osc *osc = to_clk_slow_rc_osc(hw);
272 kfree(osc);
393 child = of_get_compatible_child(np, "atmel,at91sam9x5-clk-slow-osc");
398 bypass = of_property_read_bool(child, "atmel,osc-bypass");
402 bypass = of_property_read_bool(np, "atmel,osc-bypass");
496 bypass = of_property_read_bool(np, "atmel,osc-bypass");
545 struct clk_sama5d4_slow_osc *osc = to_clk_sama5d4_slow_osc(hw);
547 if (osc->prepared)
554 if ((readl(osc->sckcr) & osc->bits->cr_oscsel)) {
555 osc->prepared = true;
560 udelay(osc->startup_usec);
562 usleep_range(osc->startup_usec, osc->startup_usec + 1);
563 osc->prepared = true;
570 struct clk_sama5d4_slow_osc *osc = to_clk_sama5d4_slow_osc(hw);
572 return osc->prepared;
588 struct clk_sama5d4_slow_osc *osc;
612 osc = kzalloc(sizeof(*osc), GFP_KERNEL);
613 if (!osc)
622 osc->hw.init = &init;
623 osc->sckcr = regbase;
624 osc->startup_usec = 1200000;
625 osc->bits = &at91sama5d4_bits;
627 ret = clk_hw_register(NULL, &osc->hw);
632 parent_hws[1] = &osc->hw;
648 clk_hw_unregister(&osc->hw);
650 kfree(osc);