diff options
author | Doug Anderson <dianders@chromium.org> | 2013-06-11 19:24:05 +0400 |
---|---|---|
committer | Mike Turquette <mturquette@linaro.org> | 2013-06-11 20:51:26 +0400 |
commit | 071ff9a36cb08b5a2b099fcdb45b63a61618f928 (patch) | |
tree | aae3e0d37266606242ea6456ad09c43ffb5a7b2e /drivers/clk/spear | |
parent | 589c603b2c591ed470a731ceda589e6d60b77b5f (diff) | |
download | linux-071ff9a36cb08b5a2b099fcdb45b63a61618f928.tar.xz |
clk: samsung: Fix pll36xx_recalc_rate to handle kdiv properly
The KDIV value is often listed as unsigned but it needs to be treated
as a 16-bit signed value when using it in calculations. Fix our rate
recalculation to do this correctly.
Before doing this, I tried setting EPLL on exynos5250 to:
rate, m, p, s, k = 80000000, 107, 2, 4, 43691
This rate is exactly from the table in the exynos5250 user manual.
I read this back as 80750003 with:
cat /sys/kernel/debug/clk/fin_pll/fout_epll/clk_rate
After this patch, it reads back as 80000003
Signed-off-by: Doug Anderson <dianders@chromium.org>
Acked-by: Kukjin Kim <kgene.kim@samsung.com>
Reviewed-by: Vikas Sajjan <vikas.sajjan@linaro.org>
Signed-off-by: Mike Turquette <mturquette@linaro.org>
Diffstat (limited to 'drivers/clk/spear')
0 files changed, 0 insertions, 0 deletions