aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorBen Dooks <ben-linux@fluff.org>2008-10-21 09:07:01 -0400
committerBen Dooks <ben-linux@fluff.org>2008-12-15 16:54:16 -0500
commitc652d2ddb97ccdc4774e149ef998928263fd8886 (patch)
tree4233aa3f41c5e6fce27b07d59d2525553fc56554 /arch
parent4b31d8b2256db3ed825a63603f223f84d927ca39 (diff)
[ARM] S3C: Add TICK_MAX for timer code
Add TICK_MAX definition for the timer code as the S3C64XX series have 32bit capable PWM timers. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/mach-s3c6400/include/mach/tick.h2
-rw-r--r--arch/arm/plat-s3c/time.c8
2 files changed, 8 insertions, 2 deletions
diff --git a/arch/arm/mach-s3c6400/include/mach/tick.h b/arch/arm/mach-s3c6400/include/mach/tick.h
index 95e5ec92ee98..d9c0dc7014ec 100644
--- a/arch/arm/mach-s3c6400/include/mach/tick.h
+++ b/arch/arm/mach-s3c6400/include/mach/tick.h
@@ -24,4 +24,6 @@ static inline u32 s3c24xx_ostimer_pending(void)
24 return pend & 1 << (IRQ_TIMER4_VIC - S3C64XX_IRQ_VIC0(0)); 24 return pend & 1 << (IRQ_TIMER4_VIC - S3C64XX_IRQ_VIC0(0));
25} 25}
26 26
27#define TICK_MAX (0xffffffff)
28
27#endif /* __ASM_ARCH_6400_TICK_H */ 29#endif /* __ASM_ARCH_6400_TICK_H */
diff --git a/arch/arm/plat-s3c/time.c b/arch/arm/plat-s3c/time.c
index d35e149f4ebf..a581ff7ba664 100644
--- a/arch/arm/plat-s3c/time.c
+++ b/arch/arm/plat-s3c/time.c
@@ -44,6 +44,10 @@
44static unsigned long timer_startval; 44static unsigned long timer_startval;
45static unsigned long timer_usec_ticks; 45static unsigned long timer_usec_ticks;
46 46
47#ifndef TICK_MAX
48#define TICK_MAX (0xffff)
49#endif
50
47#define TIMER_USEC_SHIFT 16 51#define TIMER_USEC_SHIFT 16
48 52
49/* we use the shifted arithmetic to work out the ratio of timer ticks 53/* we use the shifted arithmetic to work out the ratio of timer ticks
@@ -156,7 +160,7 @@ static void s3c2410_timer_setup (void)
156 unsigned long tcfg1; 160 unsigned long tcfg1;
157 unsigned long tcfg0; 161 unsigned long tcfg0;
158 162
159 tcnt = 0xffff; /* default value for tcnt */ 163 tcnt = TICK_MAX; /* default value for tcnt */
160 164
161 /* read the current timer configuration bits */ 165 /* read the current timer configuration bits */
162 166
@@ -217,7 +221,7 @@ static void s3c2410_timer_setup (void)
217 tcon, tcnt, tcfg0, tcfg1, timer_usec_ticks); 221 tcon, tcnt, tcfg0, tcfg1, timer_usec_ticks);
218 222
219 /* check to see if timer is within 16bit range... */ 223 /* check to see if timer is within 16bit range... */
220 if (tcnt > 0xffff) { 224 if (tcnt > TICK_MAX) {
221 panic("setup_timer: HZ is too small, cannot configure timer!"); 225 panic("setup_timer: HZ is too small, cannot configure timer!");
222 return; 226 return;
223 } 227 }