From: Lee Jones Date: Fri, 16 Mar 2012 09:53:24 +0000 (+0000) Subject: ARM: ux500: Provide local timer support for Device Tree X-Git-Url: http://drtracing.org/?a=commitdiff_plain;h=71de5c46e0600b72df58269e80da343e354ddbd7;p=deliverable%2Flinux.git 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 --- 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)