diff options
Diffstat (limited to 'firmware')
-rw-r--r-- | firmware/target/arm/as3525/kernel-as3525.c | 5 | ||||
-rw-r--r-- | firmware/target/arm/as3525/timer-target.h | 9 |
2 files changed, 8 insertions, 6 deletions
diff --git a/firmware/target/arm/as3525/kernel-as3525.c b/firmware/target/arm/as3525/kernel-as3525.c index fd3b219e64..0f907f61e3 100644 --- a/firmware/target/arm/as3525/kernel-as3525.c +++ b/firmware/target/arm/as3525/kernel-as3525.c | |||
@@ -57,11 +57,6 @@ void tick_start(unsigned int interval_in_ms) | |||
57 | int prescale = 1; | 57 | int prescale = 1; |
58 | int cycles = TIMER_FREQ / 1000 * interval_in_ms; | 58 | int cycles = TIMER_FREQ / 1000 * interval_in_ms; |
59 | 59 | ||
60 | #ifdef HAVE_SCROLLWHEEL | ||
61 | /* let the timer interrupt twice as often for the scrollwheel polling */ | ||
62 | cycles >>= 1; | ||
63 | #endif | ||
64 | |||
65 | while(cycles > 0x10000) | 60 | while(cycles > 0x10000) |
66 | { | 61 | { |
67 | phi++; | 62 | phi++; |
diff --git a/firmware/target/arm/as3525/timer-target.h b/firmware/target/arm/as3525/timer-target.h index 21ee6e7804..b5cdb74e85 100644 --- a/firmware/target/arm/as3525/timer-target.h +++ b/firmware/target/arm/as3525/timer-target.h | |||
@@ -25,7 +25,14 @@ bool __timer_set(long cycles, bool set); | |||
25 | bool __timer_register(void); | 25 | bool __timer_register(void); |
26 | void __timer_unregister(void); | 26 | void __timer_unregister(void); |
27 | 27 | ||
28 | #define TIMER_FREQ (24000000 / 16) | 28 | #ifdef HAVE_SCROLLWHEEL |
29 | /* The scrollwheel is polled every 5 ms (the tick tasks still every 10ms) */ | ||
30 | #define TIMER_DIV (16*2) | ||
31 | #else | ||
32 | #define TIMER_DIV (16) | ||
33 | #endif | ||
34 | |||
35 | #define TIMER_FREQ (24000000 / TIMER_DIV) | ||
29 | 36 | ||
30 | #define __TIMER_SET(cycles, set) \ | 37 | #define __TIMER_SET(cycles, set) \ |
31 | __timer_set(cycles, set) | 38 | __timer_set(cycles, set) |