From: Ye Li Date: Mon, 22 Jul 2019 01:25:00 +0000 (+0000) Subject: i.MX7ULP: Fix SPLL/APLL clock rate calculation issue X-Git-Tag: v2020.10~564^2~157 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=eb6d2e5920fa518fc924025e1e7987cd0dde73ad;p=platform%2Fkernel%2Fu-boot.git i.MX7ULP: Fix SPLL/APLL clock rate calculation issue The num/denom is a float value, but in the calculation it is convert to integer 0, and cause the result wrong. Signed-off-by: Ye Li Signed-off-by: Peng Fan --- diff --git a/arch/arm/mach-imx/mx7ulp/scg.c b/arch/arm/mach-imx/mx7ulp/scg.c index 85d726f..a28a2bc 100644 --- a/arch/arm/mach-imx/mx7ulp/scg.c +++ b/arch/arm/mach-imx/mx7ulp/scg.c @@ -503,7 +503,10 @@ u32 decode_pll(enum pll_clocks pll) infreq = infreq / pre_div; - return infreq * mult + infreq * num / denom; + if (denom) + return infreq * mult + infreq * num / denom; + else + return infreq * mult; case PLL_A7_APLL: reg = readl(&scg1_regs->apllcsr); @@ -532,7 +535,10 @@ u32 decode_pll(enum pll_clocks pll) infreq = infreq / pre_div; - return infreq * mult + infreq * num / denom; + if (denom) + return infreq * mult + infreq * num / denom; + else + return infreq * mult; case PLL_USB: reg = readl(&scg1_regs->upllcsr);