Commit 5a46334a authored by Russell King's avatar Russell King

ARM: Integrator: convert Integrator/CP to use SP804 timer support

The Integrator/CP board has SP804-compatible timer modules, so use
the SP804-compatible code from Versatile and Realview.
Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
parent e606a940
...@@ -11,6 +11,7 @@ config ARCH_INTEGRATOR_AP ...@@ -11,6 +11,7 @@ config ARCH_INTEGRATOR_AP
config ARCH_INTEGRATOR_CP config ARCH_INTEGRATOR_CP
bool "Support Integrator/CP platform" bool "Support Integrator/CP platform"
select ARCH_CINTEGRATOR select ARCH_CINTEGRATOR
select ARM_TIMER_SP804
help help
Include support for the ARM(R) Integrator CP platform. Include support for the ARM(R) Integrator CP platform.
......
...@@ -29,6 +29,7 @@ ...@@ -29,6 +29,7 @@
#include <asm/irq.h> #include <asm/irq.h>
#include <asm/setup.h> #include <asm/setup.h>
#include <asm/mach-types.h> #include <asm/mach-types.h>
#include <asm/hardware/arm_timer.h>
#include <asm/hardware/icst.h> #include <asm/hardware/icst.h>
#include <mach/cm.h> #include <mach/cm.h>
...@@ -40,6 +41,8 @@ ...@@ -40,6 +41,8 @@
#include <asm/mach/map.h> #include <asm/mach/map.h>
#include <asm/mach/time.h> #include <asm/mach/time.h>
#include <plat/timer-sp.h>
#include "common.h" #include "common.h"
#define INTCP_PA_FLASH_BASE 0x24000000 #define INTCP_PA_FLASH_BASE 0x24000000
...@@ -569,11 +572,18 @@ static void __init intcp_init(void) ...@@ -569,11 +572,18 @@ static void __init intcp_init(void)
} }
} }
#define TIMER_CTRL_IE (1 << 5) /* Interrupt Enable */ #define TIMER0_VA_BASE __io_address(INTEGRATOR_TIMER0_BASE)
#define TIMER1_VA_BASE __io_address(INTEGRATOR_TIMER1_BASE)
#define TIMER2_VA_BASE __io_address(INTEGRATOR_TIMER2_BASE)
static void __init intcp_timer_init(void) static void __init intcp_timer_init(void)
{ {
integrator_time_init(1000, TIMER_CTRL_IE); writel(0, TIMER0_VA_BASE + TIMER_CTRL);
writel(0, TIMER1_VA_BASE + TIMER_CTRL);
writel(0, TIMER2_VA_BASE + TIMER_CTRL);
sp804_clocksource_init(TIMER2_VA_BASE);
sp804_clockevents_init(TIMER1_VA_BASE, IRQ_TIMERINT1);
} }
static struct sys_timer cp_timer = { static struct sys_timer cp_timer = {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment