davinci: use divide ratio limits from pll_data
authorCyril Chemparathy <cyril@ti.com>
Wed, 20 Oct 2010 21:49:56 +0000 (17:49 -0400)
committerKevin Hilman <khilman@deeprootsystems.com>
Fri, 10 Dec 2010 15:33:49 +0000 (07:33 -0800)
This patch modifies the sysclk rate setting code to use the divider mask
specified in pll_data.  Without this, devices with different divider ranges
(e.g. tnetv107x) fail.

Signed-off-by: Cyril Chemparathy <cyril@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
arch/arm/mach-davinci/clock.c

index 01ba080..e4e3af1 100644 (file)
@@ -336,7 +336,7 @@ int davinci_set_sysclk_rate(struct clk *clk, unsigned long rate)
                ratio--;
        }
 
-       if (ratio > PLLDIV_RATIO_MASK)
+       if (ratio > pll->div_ratio_mask)
                return -EINVAL;
 
        do {
@@ -344,7 +344,7 @@ int davinci_set_sysclk_rate(struct clk *clk, unsigned long rate)
        } while (v & PLLSTAT_GOSTAT);
 
        v = __raw_readl(pll->base + clk->div_reg);
-       v &= ~PLLDIV_RATIO_MASK;
+       v &= ~pll->div_ratio_mask;
        v |= ratio | PLLDIV_EN;
        __raw_writel(v, pll->base + clk->div_reg);