[PATCH] ARM i.MX53: notify clocksource about changing clock

Wjatscheslaw Stoljarski (Slawa) wjatscheslaw.stoljarski at kiwigrid.com
Tue Jul 24 09:50:08 EDT 2012

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 
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 at kiwigrid.com>
  arch/arm/mach-imx/imx53.c |    3 +++
  1 file changed, 3 insertions(+)

diff --git a/arch/arm/mach-imx/imx53.c b/arch/arm/mach-imx/imx53.c
index e20b60a..3359819 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>
@@ -211,4 +212,6 @@ void imx53_init_lowlevel(unsigned int cpufreq_mhz)
  	writel(0xffffffff, ccm + MX53_CCM_CCGR7);
   	writel(0, ccm + MX5_CCM_CCDR);
+	clock_notifier_call_chain();

More information about the barebox mailing list