Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b32a7cc6 authored by Guo Zeng's avatar Guo Zeng Committed by Michael Turquette
Browse files

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: default avatarGuo Zeng <guo.zeng@csr.com>
Signed-off-by: default avatarBarry Song <Baohua.Song@csr.com>
Signed-off-by: default avatarStephen Boyd <sboyd@codeaurora.org>
parent cf8709ea
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -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 {