arm: Move timer_rate_hz into arch_global_data
authorSimon Glass <sjg@chromium.org>
Thu, 13 Dec 2012 20:48:32 +0000 (20:48 +0000)
committerTom Rini <trini@ti.com>
Fri, 1 Feb 2013 20:07:49 +0000 (15:07 -0500)
Move this field into arch_global_data and tidy up.

Signed-off-by: Simon Glass <sjg@chromium.org>
arch/arm/cpu/arm920t/a320/timer.c
arch/arm/cpu/arm920t/s3c24x0/timer.c
arch/arm/cpu/arm926ejs/at91/timer.c
arch/arm/cpu/arm926ejs/davinci/timer.c
arch/arm/include/asm/global_data.h

index 4bfcef2379b456ac645ce4d659c44b735a914765..287364399c393f5b63906351c237f841fd542619 100644 (file)
@@ -31,14 +31,14 @@ DECLARE_GLOBAL_DATA_PTR;
 static inline unsigned long long tick_to_time(unsigned long long tick)
 {
        tick *= CONFIG_SYS_HZ;
-       do_div(tick, gd->timer_rate_hz);
+       do_div(tick, gd->arch.timer_rate_hz);
 
        return tick;
 }
 
 static inline unsigned long long usec_to_tick(unsigned long long usec)
 {
-       usec *= gd->timer_rate_hz;
+       usec *= gd->arch.timer_rate_hz;
        do_div(usec, 1000000);
 
        return usec;
@@ -74,7 +74,7 @@ int timer_init(void)
        cr |= FTTMR010_TM3_ENABLE;
        writel(cr, &tmr->cr);
 
-       gd->timer_rate_hz = TIMER_CLOCK;
+       gd->arch.timer_rate_hz = TIMER_CLOCK;
        gd->tbu = gd->tbl = 0;
 
        return 0;
@@ -126,5 +126,5 @@ ulong get_timer(ulong base)
  */
 ulong get_tbclk(void)
 {
-       return gd->timer_rate_hz;
+       return gd->arch.timer_rate_hz;
 }
index d8668bec5edd90ca9dbb6b084c8224bcc5c643bd..7694feac674808bc8d321a634aff0c4fc608d033 100644 (file)
@@ -52,7 +52,7 @@ int timer_init(void)
                 * @33.25MHz and 15625 @ 50 MHz
                 */
                gd->tbu = get_PCLK() / (2 * 16 * 100);
-               gd->timer_rate_hz = get_PCLK() / (2 * 16);
+               gd->arch.timer_rate_hz = get_PCLK() / (2 * 16);
        }
        /* load value for 10 ms timeout */
        writel(gd->tbu, &timers->tcntb4);
@@ -93,7 +93,7 @@ ulong get_timer_masked(void)
 {
        ulong tmr = get_ticks();
 
-       return tmr / (gd->timer_rate_hz / CONFIG_SYS_HZ);
+       return tmr / (gd->arch.timer_rate_hz / CONFIG_SYS_HZ);
 }
 
 void udelay_masked(unsigned long usec)
index 641ae3ef996095b989559fd26fc15e4e2036e143..061ccaf6c666837f500fde268c266d6c6ae2b8c0 100644 (file)
@@ -52,14 +52,14 @@ DECLARE_GLOBAL_DATA_PTR;
 static inline unsigned long long tick_to_time(unsigned long long tick)
 {
        tick *= CONFIG_SYS_HZ;
-       do_div(tick, gd->timer_rate_hz);
+       do_div(tick, gd->arch.timer_rate_hz);
 
        return tick;
 }
 
 static inline unsigned long long usec_to_tick(unsigned long long usec)
 {
-       usec *= gd->timer_rate_hz;
+       usec *= gd->arch.timer_rate_hz;
        do_div(usec, 1000000);
 
        return usec;
@@ -79,7 +79,7 @@ int timer_init(void)
        /* Enable PITC */
        writel(TIMER_LOAD_VAL | AT91_PIT_MR_EN , &pit->mr);
 
-       gd->timer_rate_hz = gd->arch.mck_rate_hz / 16;
+       gd->arch.timer_rate_hz = gd->arch.mck_rate_hz / 16;
        gd->tbu = gd->tbl = 0;
 
        return 0;
@@ -132,5 +132,5 @@ ulong get_timer(ulong base)
  */
 ulong get_tbclk(void)
 {
-       return gd->timer_rate_hz;
+       return gd->arch.timer_rate_hz;
 }
index 93c9e60b792626618d20c8f8002d83bc7348342d..7e852b5d4fda9b9397cc272c9e90ceef37e63484 100644 (file)
@@ -60,7 +60,7 @@ int timer_init(void)
        writel(0x0, &timer->tim34);
        writel(TIMER_LOAD_VAL, &timer->prd34);
        writel(2 << 22, &timer->tcr);
-       gd->timer_rate_hz = CONFIG_SYS_HZ_CLOCK / TIM_CLK_DIV;
+       gd->arch.timer_rate_hz = CONFIG_SYS_HZ_CLOCK / TIM_CLK_DIV;
        gd->timer_reset_value = 0;
 
        return(0);
@@ -87,14 +87,15 @@ ulong get_timer(ulong base)
 
        timer_diff = get_ticks() - gd->timer_reset_value;
 
-       return lldiv(timer_diff, (gd->timer_rate_hz / CONFIG_SYS_HZ)) - base;
+       return lldiv(timer_diff,
+                    (gd->arch.timer_rate_hz / CONFIG_SYS_HZ)) - base;
 }
 
 void __udelay(unsigned long usec)
 {
        unsigned long long endtime;
 
-       endtime = lldiv((unsigned long long)usec * gd->timer_rate_hz,
+       endtime = lldiv((unsigned long long)usec * gd->arch.timer_rate_hz,
                        1000000UL);
        endtime += get_ticks();
 
@@ -108,7 +109,7 @@ void __udelay(unsigned long usec)
  */
 ulong get_tbclk(void)
 {
-       return gd->timer_rate_hz;
+       return gd->arch.timer_rate_hz;
 }
 
 #ifdef CONFIG_HW_WATCHDOG
index d147899dd3ac6d1dec33547cb144ef66f8807c75..eb8c69ab81f468de26df53eb0a2797527c9fe76c 100644 (file)
@@ -35,6 +35,8 @@ struct arch_global_data {
        unsigned long   pllb_rate_hz;
        unsigned long   at91_pllb_usb_init;
 #endif
+       /* "static data" needed by most of timer.c on ARM platforms */
+       unsigned long timer_rate_hz;
 };
 
 /*
@@ -61,7 +63,6 @@ typedef       struct  global_data {
 #endif
 #ifdef CONFIG_ARM
        /* "static data" needed by most of timer.c on ARM platforms */
-       unsigned long   timer_rate_hz;
        unsigned long   tbl;
        unsigned long   tbu;
        unsigned long long      timer_reset_value;