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 23unsigned long get_ns_in_jiffie(void); 24 25static inline unsigned long get_us_in_jiffie_highres(void) 26{ 27 return get_ns_in_jiffie()/1000; 28} 29 30#endif 31