aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-vexpress
diff options
context:
space:
mode:
authorMarc Zyngier <marc.zyngier@arm.com>2012-03-28 12:13:53 -0400
committerMarc Zyngier <marc.zyngier@arm.com>2012-04-27 08:39:01 -0400
commit120f3d6c2309cde8b93310267ed11a9b5aa2aad4 (patch)
treec418c2a68df44ad5dd00c3ab15561958b3604a15 /arch/arm/mach-vexpress
parent273d16adbccdfe3e4a9d02d286b8f1d76dc9e63f (diff)
ARM: vexpress: plug local timers into the DT code
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com> Acked-by: Pawel Moll <pawel.moll@arm.com>
Diffstat (limited to 'arch/arm/mach-vexpress')
-rw-r--r--arch/arm/mach-vexpress/v2m.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/arch/arm/mach-vexpress/v2m.c b/arch/arm/mach-vexpress/v2m.c
index 47cdcca5a7e7..04dd092211b8 100644
--- a/arch/arm/mach-vexpress/v2m.c
+++ b/arch/arm/mach-vexpress/v2m.c
@@ -19,8 +19,10 @@
19#include <linux/clkdev.h> 19#include <linux/clkdev.h>
20#include <linux/mtd/physmap.h> 20#include <linux/mtd/physmap.h>
21 21
22#include <asm/arch_timer.h>
22#include <asm/mach-types.h> 23#include <asm/mach-types.h>
23#include <asm/sizes.h> 24#include <asm/sizes.h>
25#include <asm/smp_twd.h>
24#include <asm/mach/arch.h> 26#include <asm/mach/arch.h>
25#include <asm/mach/map.h> 27#include <asm/mach/map.h>
26#include <asm/mach/time.h> 28#include <asm/mach/time.h>
@@ -616,7 +618,6 @@ void __init v2m_dt_init_early(void)
616 } 618 }
617 619
618 clkdev_add_table(v2m_dt_lookups, ARRAY_SIZE(v2m_dt_lookups)); 620 clkdev_add_table(v2m_dt_lookups, ARRAY_SIZE(v2m_dt_lookups));
619 versatile_sched_clock_init(v2m_sysreg_base + V2M_SYS_24MHZ, 24000000);
620} 621}
621 622
622static struct of_device_id vexpress_irq_match[] __initdata = { 623static struct of_device_id vexpress_irq_match[] __initdata = {
@@ -643,6 +644,11 @@ static void __init v2m_dt_timer_init(void)
643 return; 644 return;
644 node = of_find_node_by_path(path); 645 node = of_find_node_by_path(path);
645 v2m_sp804_init(of_iomap(node, 0), irq_of_parse_and_map(node, 0)); 646 v2m_sp804_init(of_iomap(node, 0), irq_of_parse_and_map(node, 0));
647 if (arch_timer_of_register() != 0)
648 twd_local_timer_of_register();
649
650 if (arch_timer_sched_clock_init() != 0)
651 versatile_sched_clock_init(v2m_sysreg_base + V2M_SYS_24MHZ, 24000000);
646} 652}
647 653
648static struct sys_timer v2m_dt_timer = { 654static struct sys_timer v2m_dt_timer = {