msm: board-dt: ARM generic timer DT support
The ARM generic timer now supports DT routines to parse the
device tree and populate its members, so remove this from
the board file and invoke the DT routine exposed from the
ARM generic timer.
Change-Id: Id383aff8f5f2c8fdb541f1df72242f8938229784
Signed-off-by: Sathish Ambley <sambley@codeaurora.org>
diff --git a/arch/arm/boot/dts/msmcopper.dts b/arch/arm/boot/dts/msmcopper.dts
index a0ea117..c8d936b 100644
--- a/arch/arm/boot/dts/msmcopper.dts
+++ b/arch/arm/boot/dts/msmcopper.dts
@@ -23,8 +23,9 @@
};
timer {
- compatible = "qcom,msm-qtimer";
+ compatible = "qcom,msm-qtimer", "arm,armv7-timer";
interrupts = <1 2 0>;
+ clock-frequency = <19200000>;
};
serial@f991f000 {
diff --git a/arch/arm/include/asm/arch_timer.h b/arch/arm/include/asm/arch_timer.h
index 827305d..2098288 100644
--- a/arch/arm/include/asm/arch_timer.h
+++ b/arch/arm/include/asm/arch_timer.h
@@ -9,11 +9,17 @@
#ifdef CONFIG_ARM_ARCH_TIMER
int arch_timer_register(struct arch_timer *);
+int arch_timer_of_register(void);
#else
static inline int arch_timer_register(struct arch_timer *at)
{
return -ENXIO;
}
+
+static inline int arch_timer_of_register(void)
+{
+ return -ENXIO;
+}
#endif
#endif
diff --git a/arch/arm/mach-msm/board-dt.c b/arch/arm/mach-msm/board-dt.c
index 3fb6042..5d04786 100644
--- a/arch/arm/mach-msm/board-dt.c
+++ b/arch/arm/mach-msm/board-dt.c
@@ -26,25 +26,7 @@
static void __init msm_dt_timer_init(void)
{
- struct device_node *node;
- struct arch_timer tmr;
- int rc;
-
- node = of_find_compatible_node(NULL, NULL, "qcom,msm-qtimer");
- if (!node) {
- pr_err("no matching timer node found\n");
- return;
- }
-
- tmr.res[0].start = 0;
- tmr.res[1].start = 0;
- rc = of_irq_to_resource(node, 0, tmr.res);
- if (rc < 0)
- pr_err("interrupt not specified in timer node\n");
- else
- arch_timer_register(&tmr);
-
- of_node_put(node);
+ arch_timer_of_register();
}
static struct sys_timer msm_dt_timer = {