#undef SYSTIMER_BASE
 #define SYSTIMER_BASE          0xFFF34000      /* Timer 0 and 1 base   */
-#define SYSTIMER_RATE          150000000
+#define SYSTIMER_RATE          (150000000 / 256)
 
 static ulong timestamp;
 static ulong lastinc;
        /*
         * Setup timer0
         */
+       writel(0, &systimer_base->timer0control);
        writel(SYSTIMER_RELOAD, &systimer_base->timer0load);
        writel(SYSTIMER_RELOAD, &systimer_base->timer0value);
-       writel(SYSTIMER_EN | SYSTIMER_32BIT, &systimer_base->timer0control);
+       writel(SYSTIMER_EN | SYSTIMER_32BIT | SYSTIMER_PRESC_256,
+               &systimer_base->timer0control);
 
        reset_timer_masked();
 
 
 #define SYSTIMER_RELOAD                0xFFFFFFFF
 #define SYSTIMER_EN            (1 << 7)
 #define SYSTIMER_32BIT         (1 << 1)
+#define SYSTIMER_PRESC_16      (1 << 2)
+#define SYSTIMER_PRESC_256     (1 << 3)
 
 struct systimer {
        u32 timer0load;         /* 0x00 */