diff options
-rw-r--r-- | arch/arm/common/sa1111.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/arm/common/sa1111.c b/arch/arm/common/sa1111.c index 1fbd7363cf11..f3ec3e98b25b 100644 --- a/arch/arm/common/sa1111.c +++ b/arch/arm/common/sa1111.c @@ -1177,6 +1177,7 @@ static unsigned char opdiv_table[] = { 1, 4, 2, 8 }; static unsigned int __sa1111_pll_clock(struct sa1111 *sachip) { + unsigned long rate = clk_get_rate(sachip->clk); unsigned int skcdr, fbdiv, ipdiv, opdiv; skcdr = readl_relaxed(sachip->base + SA1111_SKCDR); @@ -1185,7 +1186,7 @@ static unsigned int __sa1111_pll_clock(struct sa1111 *sachip) ipdiv = ((skcdr & 0x0f80) >> 7) + 2; opdiv = opdiv_table[(skcdr & 0x3000) >> 12]; - return 3686400 * fbdiv / (ipdiv * opdiv); + return rate * fbdiv / (ipdiv * opdiv); } /** |