Lines Matching +full:osc +full:- +full:bypass
1 // SPDX-License-Identifier: GPL-2.0-or-later
6 #include <linux/clk-provider.h>
70 struct clk_main_osc *osc = to_clk_main_osc(hw); in clk_main_osc_prepare() local
71 struct regmap *regmap = osc->regmap; in clk_main_osc_prepare()
93 struct clk_main_osc *osc = to_clk_main_osc(hw); in clk_main_osc_unprepare() local
94 struct regmap *regmap = osc->regmap; in clk_main_osc_unprepare()
110 struct clk_main_osc *osc = to_clk_main_osc(hw); in clk_main_osc_is_prepared() local
111 struct regmap *regmap = osc->regmap; in clk_main_osc_is_prepared()
133 bool bypass) in at91_clk_register_main_osc() argument
135 struct clk_main_osc *osc; in at91_clk_register_main_osc() local
141 return ERR_PTR(-EINVAL); in at91_clk_register_main_osc()
143 osc = kzalloc(sizeof(*osc), GFP_KERNEL); in at91_clk_register_main_osc()
144 if (!osc) in at91_clk_register_main_osc()
145 return ERR_PTR(-ENOMEM); in at91_clk_register_main_osc()
153 osc->hw.init = &init; in at91_clk_register_main_osc()
154 osc->regmap = regmap; in at91_clk_register_main_osc()
156 if (bypass) in at91_clk_register_main_osc()
162 hw = &osc->hw; in at91_clk_register_main_osc()
163 ret = clk_hw_register(NULL, &osc->hw); in at91_clk_register_main_osc()
165 kfree(osc); in at91_clk_register_main_osc()
183 struct clk_main_rc_osc *osc = to_clk_main_rc_osc(hw); in clk_main_rc_osc_prepare() local
184 struct regmap *regmap = osc->regmap; in clk_main_rc_osc_prepare()
202 struct clk_main_rc_osc *osc = to_clk_main_rc_osc(hw); in clk_main_rc_osc_unprepare() local
203 struct regmap *regmap = osc->regmap; in clk_main_rc_osc_unprepare()
217 struct clk_main_rc_osc *osc = to_clk_main_rc_osc(hw); in clk_main_rc_osc_is_prepared() local
218 struct regmap *regmap = osc->regmap; in clk_main_rc_osc_is_prepared()
230 struct clk_main_rc_osc *osc = to_clk_main_rc_osc(hw); in clk_main_rc_osc_recalc_rate() local
232 return osc->frequency; in clk_main_rc_osc_recalc_rate()
238 struct clk_main_rc_osc *osc = to_clk_main_rc_osc(hw); in clk_main_rc_osc_recalc_accuracy() local
240 return osc->accuracy; in clk_main_rc_osc_recalc_accuracy()
256 struct clk_main_rc_osc *osc; in at91_clk_register_main_rc_osc() local
262 return ERR_PTR(-EINVAL); in at91_clk_register_main_rc_osc()
264 osc = kzalloc(sizeof(*osc), GFP_KERNEL); in at91_clk_register_main_rc_osc()
265 if (!osc) in at91_clk_register_main_rc_osc()
266 return ERR_PTR(-ENOMEM); in at91_clk_register_main_rc_osc()
274 osc->hw.init = &init; in at91_clk_register_main_rc_osc()
275 osc->regmap = regmap; in at91_clk_register_main_rc_osc()
276 osc->frequency = frequency; in at91_clk_register_main_rc_osc()
277 osc->accuracy = accuracy; in at91_clk_register_main_rc_osc()
279 hw = &osc->hw; in at91_clk_register_main_rc_osc()
282 kfree(osc); in at91_clk_register_main_rc_osc()
306 return -ETIMEDOUT; in clk_main_probe_frequency()
329 return clk_main_probe_frequency(clkmain->regmap); in clk_rm9200_main_prepare()
337 regmap_read(clkmain->regmap, AT91_CKGR_MCFR, &status); in clk_rm9200_main_is_prepared()
347 return clk_main_recalc_rate(clkmain->regmap, parent_rate); in clk_rm9200_main_recalc_rate()
367 return ERR_PTR(-EINVAL); in at91_clk_register_rm9200_main()
370 return ERR_PTR(-EINVAL); in at91_clk_register_rm9200_main()
374 return ERR_PTR(-ENOMEM); in at91_clk_register_rm9200_main()
382 clkmain->hw.init = &init; in at91_clk_register_rm9200_main()
383 clkmain->regmap = regmap; in at91_clk_register_rm9200_main()
385 hw = &clkmain->hw; in at91_clk_register_rm9200_main()
386 ret = clk_hw_register(NULL, &clkmain->hw); in at91_clk_register_rm9200_main()
407 struct regmap *regmap = clkmain->regmap; in clk_sam9x5_main_prepare()
419 return clk_sam9x5_main_ready(clkmain->regmap); in clk_sam9x5_main_is_prepared()
427 return clk_main_recalc_rate(clkmain->regmap, parent_rate); in clk_sam9x5_main_recalc_rate()
433 struct regmap *regmap = clkmain->regmap; in clk_sam9x5_main_set_parent()
437 return -EINVAL; in clk_sam9x5_main_set_parent()
463 regmap_read(clkmain->regmap, AT91_CKGR_MOR, &status); in clk_sam9x5_main_get_parent()
489 return ERR_PTR(-EINVAL); in at91_clk_register_sam9x5_main()
492 return ERR_PTR(-EINVAL); in at91_clk_register_sam9x5_main()
496 return ERR_PTR(-ENOMEM); in at91_clk_register_sam9x5_main()
504 clkmain->hw.init = &init; in at91_clk_register_sam9x5_main()
505 clkmain->regmap = regmap; in at91_clk_register_sam9x5_main()
506 regmap_read(clkmain->regmap, AT91_CKGR_MOR, &status); in at91_clk_register_sam9x5_main()
507 clkmain->parent = clk_main_parent_select(status); in at91_clk_register_sam9x5_main()
509 hw = &clkmain->hw; in at91_clk_register_sam9x5_main()
510 ret = clk_hw_register(NULL, &clkmain->hw); in at91_clk_register_sam9x5_main()