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