Lines Matching full:mpll

9  * scaling capabilities. MPLL rates are calculated as:
19 #include "clk-mpll.h"
79 struct meson_clk_mpll_data *mpll = meson_clk_mpll_data(clk); in mpll_recalc_rate() local
83 sdm = meson_parm_read(clk->map, &mpll->sdm); in mpll_recalc_rate()
84 n2 = meson_parm_read(clk->map, &mpll->n2); in mpll_recalc_rate()
93 struct meson_clk_mpll_data *mpll = meson_clk_mpll_data(clk); in mpll_determine_rate() local
98 mpll->flags); in mpll_determine_rate()
113 struct meson_clk_mpll_data *mpll = meson_clk_mpll_data(clk); in mpll_set_rate() local
117 params_from_rate(rate, parent_rate, &sdm, &n2, mpll->flags); in mpll_set_rate()
119 if (mpll->lock) in mpll_set_rate()
120 spin_lock_irqsave(mpll->lock, flags); in mpll_set_rate()
122 __acquire(mpll->lock); in mpll_set_rate()
125 meson_parm_write(clk->map, &mpll->sdm, sdm); in mpll_set_rate()
128 meson_parm_write(clk->map, &mpll->n2, n2); in mpll_set_rate()
130 if (mpll->lock) in mpll_set_rate()
131 spin_unlock_irqrestore(mpll->lock, flags); in mpll_set_rate()
133 __release(mpll->lock); in mpll_set_rate()
141 struct meson_clk_mpll_data *mpll = meson_clk_mpll_data(clk); in mpll_init() local
143 if (mpll->init_count) in mpll_init()
144 regmap_multi_reg_write(clk->map, mpll->init_regs, in mpll_init()
145 mpll->init_count); in mpll_init()
148 meson_parm_write(clk->map, &mpll->sdm_en, 1); in mpll_init()
151 if (MESON_PARM_APPLICABLE(&mpll->ssen)) { in mpll_init()
153 mpll->flags & CLK_MESON_MPLL_SPREAD_SPECTRUM ? 1 : 0; in mpll_init()
154 meson_parm_write(clk->map, &mpll->ssen, ss); in mpll_init()
158 if (MESON_PARM_APPLICABLE(&mpll->misc)) in mpll_init()
159 meson_parm_write(clk->map, &mpll->misc, 1); in mpll_init()
178 MODULE_DESCRIPTION("Amlogic MPLL driver");