omap3: clock: Fix the DPLL freqsel computations
authorRajendra Nayak <rnayak@ti.com>
Mon, 16 Nov 2009 13:36:53 +0000 (13:36 +0000)
committerTony Lindgren <tony@atomide.com>
Tue, 17 Nov 2009 22:14:10 +0000 (14:14 -0800)
Fix the freqsel value computation. Use n instead of (n+1)

The formula in the TRM uses a zero-based N, hence the (n+1); however
at this point in the clock34xx.c code, N is one-based.

Hayati Bayrakdar <h-bayrakdar@ti.com> and Nishanth Menon <nm@ti.com> helped
track down this bug.

Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
[paul@pwsan.com: modified commit message]
Cc: Hayati Bayrakdar <h-bayrakdar@ti.com>
Cc: Nishanth Menon <nm@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
arch/arm/mach-omap2/clock34xx.c

index 489556eecbd1189a7a61638deec0f33d3aff59ad..7c5c00df3c70c36bb2a96b39ef015688e3599cb8 100644 (file)
@@ -473,7 +473,7 @@ static u16 _omap3_dpll_compute_freqsel(struct clk *clk, u8 n)
        unsigned long fint;
        u16 f = 0;
 
-       fint = clk->dpll_data->clk_ref->rate / (n + 1);
+       fint = clk->dpll_data->clk_ref->rate / n;
 
        pr_debug("clock: fint is %lu\n", fint);