From 71de5c46e0600b72df58269e80da343e354ddbd7 Mon Sep 17 00:00:00 2001 From: Lee Jones Date: Fri, 16 Mar 2012 09:53:24 +0000 Subject: [PATCH] ARM: ux500: Provide local timer support for Device Tree This enables local timer (AKA: private timer) support for all u8500 based hardware using DT. Acked-by: Linus Walleij Signed-off-by: Lee Jones Signed-off-by: Arnd Bergmann --- arch/arm/boot/dts/db8500.dtsi | 6 ++++++ arch/arm/mach-ux500/timer.c | 11 ++++++++--- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/arch/arm/boot/dts/db8500.dtsi b/arch/arm/boot/dts/db8500.dtsi index a81cce0f755e..d73dce645667 100644 --- a/arch/arm/boot/dts/db8500.dtsi +++ b/arch/arm/boot/dts/db8500.dtsi @@ -42,6 +42,12 @@ interrupts = <0 7 0x4>; }; + timer@a0410600 { + compatible = "arm,cortex-a9-twd-timer"; + reg = <0xa0410600 0x20>; + interrupts = <1 13 0x304>; + }; + rtc@80154000 { compatible = "stericsson,db8500-rtc"; reg = <0x80154000 0x1000>; diff --git a/arch/arm/mach-ux500/timer.c b/arch/arm/mach-ux500/timer.c index e9d580702fbb..d37df98b5c32 100644 --- a/arch/arm/mach-ux500/timer.c +++ b/arch/arm/mach-ux500/timer.c @@ -7,6 +7,7 @@ #include #include #include +#include #include @@ -30,9 +31,13 @@ static void __init ux500_twd_init(void) twd_local_timer = cpu_is_u5500() ? &u5500_twd_local_timer : &u8500_twd_local_timer; - 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); + } } #else #define ux500_twd_init() do { } while(0) -- 2.20.1