mx25: fix clock's calculation
authorEric Bénard <eric@eukrea.com>
Tue, 12 Oct 2010 17:26:34 +0000 (19:26 +0200)
committerSascha Hauer <s.hauer@pengutronix.de>
Tue, 19 Oct 2010 16:44:58 +0000 (18:44 +0200)
commite482b3bee66d627356904746c217f8f1bf891e60
tree9c6fa60278728972b160a95a014c24e4d7d92697
parent6136a6ddc9db50d909344bb7e6f45dbe631f2e29
mx25: fix clock's calculation

* get_rate_arm : when 400MHz clock is selected (cctl & 1<<14),
ARM clock is 400MHz (MPLL * 3 / 4) and not 800MHz
* get_rate_per : peripherals's clock is derived from AHB and not
from IPG (ref manual : figure 5-1)
* can2_clk : use the correct ID

* without this patch, peripherals getting their clock from PER
clocks work fine because of the 2 errors which fix themselves
(ARM clock x 2 and per clock actually based on IPG which is AHB/2)
but flexcan can't work as it gets its clock from IPG and thus
calculates its bitrate using a reference value which is twice
what it really is.

Signed-off-by: Eric Bénard <eric@eukrea.com>
arch/arm/mach-mx25/clock.c