vserver 1.9.5.x5
[linux-2.6.git] / arch / arm / mach-integrator / integrator_ap.c
index b07e39d..219ae50 100644 (file)
@@ -40,7 +40,9 @@
 #include <asm/mach/flash.h>
 #include <asm/mach/irq.h>
 #include <asm/mach/map.h>
+#include <asm/mach/time.h>
 
+#include "common.h"
 
 /* 
  * All IO addresses are mapped onto VA 0xFFFx.xxxx, where x.xxxx
@@ -66,7 +68,6 @@
  * f1200000    12000000        EBI registers
  * f1300000    13000000        Counter/Timer
  * f1400000    14000000        Interrupt controller
- * f1500000    15000000        RTC
  * f1600000    16000000        UART 0
  * f1700000    17000000        UART 1
  * f1a00000    1a000000        Debug LEDs
@@ -79,7 +80,6 @@ static struct map_desc ap_io_desc[] __initdata = {
  { IO_ADDRESS(INTEGRATOR_EBI_BASE),   INTEGRATOR_EBI_BASE,   SZ_4K,  MT_DEVICE },
  { IO_ADDRESS(INTEGRATOR_CT_BASE),    INTEGRATOR_CT_BASE,    SZ_4K,  MT_DEVICE },
  { IO_ADDRESS(INTEGRATOR_IC_BASE),    INTEGRATOR_IC_BASE,    SZ_4K,  MT_DEVICE },
- { IO_ADDRESS(INTEGRATOR_RTC_BASE),   INTEGRATOR_RTC_BASE,   SZ_4K,  MT_DEVICE },
  { IO_ADDRESS(INTEGRATOR_UART0_BASE), INTEGRATOR_UART0_BASE, SZ_4K,  MT_DEVICE },
  { IO_ADDRESS(INTEGRATOR_UART1_BASE), INTEGRATOR_UART1_BASE, SZ_4K,  MT_DEVICE },
  { IO_ADDRESS(INTEGRATOR_DBG_BASE),   INTEGRATOR_DBG_BASE,   SZ_4K,  MT_DEVICE },
@@ -281,17 +281,22 @@ static void __init ap_init(void)
        }
 }
 
-static void ap_time_init(void)
+static void __init ap_init_timer(void)
 {
        integrator_time_init(1000000 * TICKS_PER_uSEC / HZ, 0);
 }
 
+static struct sys_timer ap_timer = {
+       .init           = ap_init_timer,
+       .offset         = integrator_gettimeoffset,
+};
+
 MACHINE_START(INTEGRATOR, "ARM-Integrator")
        MAINTAINER("ARM Ltd/Deep Blue Solutions Ltd")
        BOOT_MEM(0x00000000, 0x16000000, 0xf1600000)
        BOOT_PARAMS(0x00000100)
        MAPIO(ap_map_io)
        INITIRQ(ap_init_irq)
-       INITTIME(ap_time_init)
+       .timer          = &ap_timer,
        INIT_MACHINE(ap_init)
 MACHINE_END