ARM: pxa: Add non device-tree timer link to clocksource
authorRobert Jarzmik <robert.jarzmik@free.fr>
Mon, 14 Jul 2014 16:52:04 +0000 (18:52 +0200)
committerDaniel Lezcano <daniel.lezcano@linaro.org>
Wed, 23 Jul 2014 10:02:39 +0000 (12:02 +0200)
As clocksource pxa_timer was moved to clocksource framework, the
pxa_timer initialization needs to be a bit amended, to pass the
necessary informations to clocksource, ie :
 - the timer interrupt (mach specific)
 - the timer registers base (ditto)
 - the timer clockrate

Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr>
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
arch/arm/mach-pxa/generic.c
include/clocksource/pxa.h [new file with mode: 0644]

index 4225417..6f38e1a 100644 (file)
 #include <asm/mach/map.h>
 #include <asm/mach-types.h>
 
+#include <mach/irqs.h>
 #include <mach/reset.h>
 #include <mach/smemc.h>
 #include <mach/pxa3xx-regs.h>
 
 #include "generic.h"
+#include <clocksource/pxa.h>
 
 void clear_reset_status(unsigned int mask)
 {
@@ -56,6 +58,15 @@ unsigned long get_clock_tick_rate(void)
 }
 EXPORT_SYMBOL(get_clock_tick_rate);
 
+/*
+ * For non device-tree builds, keep legacy timer init
+ */
+void pxa_timer_init(void)
+{
+       pxa_timer_nodt_init(IRQ_OST0, io_p2v(0x40a00000),
+                           get_clock_tick_rate());
+}
+
 /*
  * Get the clock frequency as reflected by CCCR and the turbo flag.
  * We assume these values have been applied via a fcs.
diff --git a/include/clocksource/pxa.h b/include/clocksource/pxa.h
new file mode 100644 (file)
index 0000000..1efbe5a
--- /dev/null
@@ -0,0 +1,18 @@
+/*
+ * PXA clocksource, clockevents, and OST interrupt handlers.
+ *
+ * Copyright (C) 2014 Robert Jarzmik
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ */
+
+#ifndef _CLOCKSOURCE_PXA_H
+#define _CLOCKSOURCE_PXA_H
+
+extern void pxa_timer_nodt_init(int irq, void __iomem *base,
+                          unsigned long clock_tick_rate);
+
+#endif