forked from Minki/linux
clk: atlas7: fix pll missed divide NR in fraction mode
PLL VCO frequency is given by Fvco = Fref * 2 * NF / NR in integer-N mode, or by Fvco = Fref * SSN / NR in Spread Spectrum (fractional-N) mode. Thus fix the missing part of NR Signed-off-by: Guo Zeng <guo.zeng@csr.com> Signed-off-by: Barry Song <Baohua.Song@csr.com> Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
This commit is contained in:
parent
cf8709eabc
commit
b32a7cc63b
@ -358,6 +358,7 @@ static unsigned long pll_clk_recalc_rate(struct clk_hw *hw,
|
||||
if (regctrl0 & SIRFSOC_ABPLL_CTRL0_SSEN) {
|
||||
rate = fin;
|
||||
rate *= 1 << 24;
|
||||
do_div(rate, nr);
|
||||
do_div(rate, (256 * ((ssdiv >> ssdepth) << ssdepth)
|
||||
+ (ssmod << ssdepth)));
|
||||
} else {
|
||||
|
Loading…
Reference in New Issue
Block a user