Commit | Line | Data |
---|---|---|
1da177e4 LT |
1 | /* |
2 | * Use prescale timer at 25000 Hz instead of the baudrate timer at | |
3 | * 19200 to get rid of the 64ppm to fast timer (and we get better | |
4 | * resolution within a jiffie as well. | |
5 | */ | |
6 | #ifndef _ASM_CRIS_ARCH_TIMEX_H | |
7 | #define _ASM_CRIS_ARCH_TIMEX_H | |
8 | ||
9 | /* The prescaler clock runs at 25MHz, we divide it by 1000 in the prescaler */ | |
10 | /* If you change anything here you must check time.c as well... */ | |
11 | #define PRESCALE_FREQ 25000000 | |
12 | #define PRESCALE_VALUE 1000 | |
13 | #define CLOCK_TICK_RATE 25000 /* Underlying frequency of the HZ timer */ | |
14 | /* The timer0 values gives 40us resolution (1/25000) but interrupts at HZ*/ | |
15 | #define TIMER0_FREQ (CLOCK_TICK_RATE) | |
16 | #define TIMER0_CLKSEL flexible | |
17 | #define TIMER0_DIV (TIMER0_FREQ/(HZ)) | |
18 | ||
19 | ||
20 | #define GET_JIFFIES_USEC() \ | |
21 | ( (TIMER0_DIV - *R_TIMER0_DATA) * (1000000/HZ)/TIMER0_DIV ) | |
22 | ||
23 | unsigned long get_ns_in_jiffie(void); | |
24 | ||
d9b5444e | 25 | static inline unsigned long get_us_in_jiffie_highres(void) |
1da177e4 LT |
26 | { |
27 | return get_ns_in_jiffie()/1000; | |
28 | } | |
29 | ||
30 | #endif |