diff options
author | Måns Rullgård <mans@mansr.com> | 2013-10-28 23:19:53 +0000 |
---|---|---|
committer | Tom Rini <trini@ti.com> | 2014-02-21 14:03:44 -0500 |
commit | 11f296870659e1375e7116a859458b254cc3156f (patch) | |
tree | 3616fbcfaf5f7f2f5addef648f4f03e2ac173237 /arch/arm/cpu | |
parent | 4f80d5ba8e79e4bc96b71295703372718528b3a7 (diff) | |
download | u-boot-imx-11f296870659e1375e7116a859458b254cc3156f.zip u-boot-imx-11f296870659e1375e7116a859458b254cc3156f.tar.gz u-boot-imx-11f296870659e1375e7116a859458b254cc3156f.tar.bz2 |
ti814x: Fix illegal use of FP ops in clock_ti814x.c
The function pll_sigma_delta_val uses "float" data which is not correct.
The exact "why" of this mangling is lost to history, but this changes us
to equivalent non-FP math to get the same results.
Reported-by: Wolfgang Denk <wd@denx.de>
Acked-by: Matt Porter <mporter@linaro.org>
Diffstat (limited to 'arch/arm/cpu')
-rw-r--r-- | arch/arm/cpu/armv7/am33xx/clock_ti814x.c | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/arch/arm/cpu/armv7/am33xx/clock_ti814x.c b/arch/arm/cpu/armv7/am33xx/clock_ti814x.c index ef14f47..9b5a47b 100644 --- a/arch/arm/cpu/armv7/am33xx/clock_ti814x.c +++ b/arch/arm/cpu/armv7/am33xx/clock_ti814x.c @@ -211,11 +211,8 @@ static u32 pll_dco_freq_sel(u32 clkout_dco) static u32 pll_sigma_delta_val(u32 clkout_dco) { u32 sig_val = 0; - float frac_div; - frac_div = (float) clkout_dco / 250; - frac_div = frac_div + 0.90; - sig_val = (int)frac_div; + sig_val = (clkout_dco + 225) / 250; sig_val = sig_val << 24; return sig_val; |