]> git.karo-electronics.de Git - karo-tx-linux.git/commit
MIPS: ath79: use correct fractional dividers for {CPU,DDR}_PLL on AR934x
authorGabor Juhos <juhosg@openwrt.org>
Sat, 1 Sep 2012 16:46:00 +0000 (18:46 +0200)
committerRalf Baechle <ralf@linux-mips.org>
Sun, 23 Sep 2012 17:42:11 +0000 (19:42 +0200)
commit25ca3076410b23b69649a970951d20a56718f3f8
treed164f4c4898a117ba17c850d67e5e7e0f753e716
parent4e805314d191780f3bdd891fb3dd4c2062533377
MIPS: ath79: use correct fractional dividers for {CPU,DDR}_PLL on AR934x

The current dividers in the code are wrong and this
leads to broken CPU frequency calculation on boards
where the fractional part is used.

For example, if the SoC is running from a 40MHz
reference clock, refdiv=1, nint=14, outdiv=0 and
nfrac=31 the real frequency is 579.375MHz but the
current code calculates 569.687MHz instead.

Because the system time is indirectly related to
the CPU frequency the broken computation causes
drift in the system time.

The correct divider is 2^6 for the CPU PLL and 2^10
for the DDR PLL. Use the correct values to fix the
issue.

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
Cc: stable@vger.kernel.org
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/4305/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
arch/mips/ath79/clock.c