Add cortex-a9 local timer  support for all OMAP4 based
SOCs using DT.

Cc: Benoit Cousson <[email protected]>
Signed-off-by: Santosh Shilimkar <[email protected]>
---
 arch/arm/boot/dts/omap4.dtsi |    6 ++++++
 arch/arm/mach-omap2/timer.c  |   11 ++++++++---
 2 files changed, 14 insertions(+), 3 deletions(-)

diff --git a/arch/arm/boot/dts/omap4.dtsi b/arch/arm/boot/dts/omap4.dtsi
index 57f7cd4..8504397 100644
--- a/arch/arm/boot/dts/omap4.dtsi
+++ b/arch/arm/boot/dts/omap4.dtsi
@@ -43,6 +43,12 @@
                cache-level = <2>;
        };
 
+       local-timer {
+               compatible = "arm,cortex-a9-twd-timer";
+               reg = <0x48240600 0x20>;
+               interrupts = <1 13 0x304>;
+       };
+
        /*
         * The soc node represents the soc top level view. It is uses for IPs
         * that are not memory mapped in the MPU view or for the MPU itself.
diff --git a/arch/arm/mach-omap2/timer.c b/arch/arm/mach-omap2/timer.c
index 840929b..dbdd9a6 100644
--- a/arch/arm/mach-omap2/timer.c
+++ b/arch/arm/mach-omap2/timer.c
@@ -36,6 +36,7 @@
 #include <linux/clocksource.h>
 #include <linux/clockchips.h>
 #include <linux/slab.h>
+#include <linux/of.h>
 
 #include <asm/mach/time.h>
 #include <plat/dmtimer.h>
@@ -384,9 +385,13 @@ static void __init omap4_timer_init(void)
        if (omap_rev() != OMAP4430_REV_ES1_0) {
                int err;
 
-               err = twd_local_timer_register(&twd_local_timer);
-               if (err)
-                       pr_err("twd_local_timer_register failed %d\n", err);
+               if (of_have_populated_dt()) {
+                       twd_local_timer_of_register();
+               } else {
+                       err = twd_local_timer_register(&twd_local_timer);
+                       if (err)
+                               pr_err("twd_local_timer_register failed %d\n", 
err);
+               }
        }
 #endif
 }
-- 
1.7.9.5

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to