summaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-imx/imx53.c
diff options
context:
space:
mode:
authorWjatscheslaw Stoljarski (Slawa) <wjatscheslaw.stoljarski@kiwigrid.com>2012-07-24 15:50:08 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2012-07-25 08:40:16 +0200
commit1e3d002d5a33ade1bd0fc369fa0ea0ca8b0e3a83 (patch)
treef996f13f4f26da0f2fff04bc073005336b0c7c15 /arch/arm/mach-imx/imx53.c
parent4c6122a2f6805bae0ded59345b8ff89723c7b811 (diff)
downloadbarebox-1e3d002d5a33ade1bd0fc369fa0ea0ca8b0e3a83.tar.gz
barebox-1e3d002d5a33ade1bd0fc369fa0ea0ca8b0e3a83.tar.xz
ARM i.MX53: notify clocksource about changing clock
This fix a clock inaccuracy in get_time_ns (used by sleep, time, etc). At i.MX53 power-on GPT clock is typically 55500000 Hz, and it will be used to calc the clock multiplier. After call imx53_init_lowlevel() GPT clock will changed (e.g. to 66666666 Hz), but multiplier not. To fix this behavior call clock_notifier_call_chain() after changing clock in imx53_init_lowlevel(). Signed-off-by: Wjatscheslaw Stoljarski <wjatscheslaw.stoljarski@kiwigrid.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch/arm/mach-imx/imx53.c')
-rw-r--r--arch/arm/mach-imx/imx53.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/arm/mach-imx/imx53.c b/arch/arm/mach-imx/imx53.c
index b5dbc39dad..7c679bbe79 100644
--- a/arch/arm/mach-imx/imx53.c
+++ b/arch/arm/mach-imx/imx53.c
@@ -18,6 +18,7 @@
#include <init.h>
#include <common.h>
#include <io.h>
+#include <notifier.h>
#include <sizes.h>
#include <mach/imx5.h>
#include <mach/imx-regs.h>
@@ -210,5 +211,6 @@ void imx53_init_lowlevel(unsigned int cpufreq_mhz)
writel(0xffffffff, ccm + MX5_CCM_CCGR6);
writel(0xffffffff, ccm + MX53_CCM_CCGR7);
+ clock_notifier_call_chain();
writel(0, ccm + MX5_CCM_CCDR);
}