linux/arch/cris/include/arch-v10/arch/timex.h
<<
>>
Prefs
   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