Merge tag 'mmc-v4.14-rc4-3' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc
[sfrench/cifs-2.6.git] / arch / cris / include / arch-v10 / arch / timex.h
1 /* SPDX-License-Identifier: GPL-2.0 */
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
26 static inline unsigned long get_us_in_jiffie_highres(void)
27 {
28         return get_ns_in_jiffie()/1000;
29 }
30
31 #endif