Merge branch 'master' of git://git.denx.de/u-boot-fdt
[platform/kernel/u-boot.git] / cpu / arm1136 / omap24xx / interrupts.c
old mode 100755 (executable)
new mode 100644 (file)
index 8503b24..6be1262
 #define TIMER_LOAD_VAL 0
 
 /* macro to read the 32 bit timer */
-#define READ_TIMER (*((volatile ulong*)(CFG_TIMERBASE+TCRR)))
+#define READ_TIMER (*((volatile ulong *)(CONFIG_SYS_TIMERBASE+TCRR)))
 
 static ulong timestamp;
 static ulong lastinc;
 
-/*
- * nothing really to do with interrupts, just starts up a counter.
- */
-int interrupt_init(void)
+/* nothing really to do with interrupts, just starts up a counter. */
+int interrupt_init (void)
 {
        int32_t val;
 
        /* Start the counter ticking up */
-       /* reload value on overflow*/
-       *((int32_t *) (CFG_TIMERBASE + TLDR)) = TIMER_LOAD_VAL;
-       /* mask to enable timer*/
-       val = (CFG_PVT << 2) | BIT5 | BIT1 | BIT0;
-       *((int32_t *) (CFG_TIMERBASE + TCLR)) = val;    /* start timer */
+       *((int32_t *) (CONFIG_SYS_TIMERBASE + TLDR)) = TIMER_LOAD_VAL;  /* reload value on overflow*/
+       val = (CONFIG_SYS_PTV << 2) | BIT5 | BIT1 | BIT0;               /* mask to enable timer*/
+       *((int32_t *) (CONFIG_SYS_TIMERBASE + TCLR)) = val;     /* start timer */
 
        reset_timer_masked(); /* init the timestamp and lastinc value */
 
@@ -63,99 +59,82 @@ int interrupt_init(void)
 /*
  * timer without interrupts
  */
-void reset_timer(void)
+void reset_timer (void)
 {
-       reset_timer_masked();
+       reset_timer_masked ();
 }
 
-ulong get_timer(ulong base)
+ulong get_timer (ulong base)
 {
-       return get_timer_masked() - base;
+       return get_timer_masked () - base;
 }
 
-void set_timer(ulong t)
+void set_timer (ulong t)
 {
        timestamp = t;
 }
 
 /* delay x useconds AND perserve advance timstamp value */
-void udelay(unsigned long usec)
+void udelay (unsigned long usec)
 {
        ulong tmo, tmp;
 
-       /* if "big" number, spread normalization to seconds */
-       if (usec >= 1000) {
-               /* start to normalize for usec to ticks per sec */
-               tmo = usec / 1000;
-               /* find number of "ticks" to wait to achieve target */
-               tmo *= CFG_HZ;
-               /* finish normalize. */
-               tmo /= 1000;
-       } else {
-               /* else small number, don't kill it prior to HZ multiply */
-               tmo = usec * CFG_HZ;
+       if (usec >= 1000) {                     /* if "big" number, spread normalization to seconds */
+               tmo = usec / 1000;              /* start to normalize for usec to ticks per sec */
+               tmo *= CONFIG_SYS_HZ;                   /* find number of "ticks" to wait to achieve target */
+               tmo /= 1000;                    /* finish normalize. */
+       } else {                                        /* else small number, don't kill it prior to HZ multiply */
+               tmo = usec * CONFIG_SYS_HZ;
                tmo /= (1000*1000);
        }
-       /* get current timestamp */
-       tmp = get_timer(0);
-       if ((tmo + tmp + 1) < tmp)
-               /* setting this forward will roll time stamp */
-               /* reset "advancing" timestamp to 0, set lastinc value */
-               reset_timer_masked();
+
+       tmp = get_timer (0);            /* get current timestamp */
+       if ( (tmo + tmp + 1) < tmp )/* if setting this forward will roll time stamp */
+               reset_timer_masked ();  /* reset "advancing" timestamp to 0, set lastinc value */
        else
-               /* else, set advancing stamp wake up time */
-               tmo     += tmp;
-       while (get_timer_masked() < tmo)/* loop till event */
+               tmo     += tmp;                         /* else, set advancing stamp wake up time */
+       while (get_timer_masked () < tmo)/* loop till event */
                /*NOP*/;
 }
 
-void reset_timer_masked(void)
+void reset_timer_masked (void)
 {
        /* reset time */
-       /* capture current incrementer value time */
-       lastinc = READ_TIMER;
-       /* start "advancing" time stamp from 0 */
-       timestamp = 0;
+       lastinc = READ_TIMER;           /* capture current incrementer value time */
+       timestamp = 0;                          /* start "advancing" time stamp from 0 */
 }
 
-ulong get_timer_masked(void)
+ulong get_timer_masked (void)
 {
-       ulong now = READ_TIMER; /* current tick value */
+       ulong now = READ_TIMER;         /* current tick value */
 
-       /* normal mode (non roll) */
-       if (now >= lastinc)
-               /* move stamp forward with absolute diff ticks */
-               timestamp += (now - lastinc);
-       else
-               /* we have rollover of incrementer */
+       if (now >= lastinc)                     /* normal mode (non roll) */
+               timestamp += (now - lastinc); /* move stamp fordward with absoulte diff ticks */
+       else                                            /* we have rollover of incrementer */
                timestamp += (0xFFFFFFFF - lastinc) + now;
        lastinc = now;
        return timestamp;
 }
 
 /* waits specified delay value and resets timestamp */
-void udelay_masked(unsigned long usec)
+void udelay_masked (unsigned long usec)
 {
        ulong tmo;
        ulong endtime;
        signed long diff;
 
-       if (usec >= 1000) {
-               /* "big" number, spread normalization to seconds */
-               /* start to normalize for usec to ticks per sec */
-               tmo = usec / 1000;
-               /* find number of "ticks" to wait to achieve target */
-               tmo *= CFG_HZ;
-               tmo /= 1000;/* finish normalize. */
-       } else {
-               /* else small number, don't kill it prior to HZ multiply */
-               tmo = usec * CFG_HZ;
+       if (usec >= 1000) {                     /* if "big" number, spread normalization to seconds */
+               tmo = usec / 1000;              /* start to normalize for usec to ticks per sec */
+               tmo *= CONFIG_SYS_HZ;                   /* find number of "ticks" to wait to achieve target */
+               tmo /= 1000;                    /* finish normalize. */
+       } else {                                        /* else small number, don't kill it prior to HZ multiply */
+               tmo = usec * CONFIG_SYS_HZ;
                tmo /= (1000*1000);
        }
-       endtime = get_timer_masked() + tmo;
+       endtime = get_timer_masked () + tmo;
 
        do {
-               ulong now = get_timer_masked();
+               ulong now = get_timer_masked ();
                diff = endtime - now;
        } while (diff >= 0);
 }
@@ -172,9 +151,9 @@ unsigned long long get_ticks(void)
  * This function is derived from PowerPC code (timebase clock frequency).
  * On ARM it returns the number of timer ticks per second.
  */
-ulong get_tbclk(void)
+ulong get_tbclk (void)
 {
        ulong tbclk;
-       tbclk = CFG_HZ;
+       tbclk = CONFIG_SYS_HZ;
        return tbclk;
 }