home *** CD-ROM | disk | FTP | other *** search
/ PC Welt 2006 November (DVD) / PCWELT_11_2006.ISO / casper / filesystem.squashfs / usr / src / linux-headers-2.6.17-6 / include / asm-x86_64 / hpet.h < prev    next >
Encoding:
C/C++ Source or Header  |  2006-08-11  |  2.0 KB  |  72 lines

  1. #ifndef _ASM_X8664_HPET_H
  2. #define _ASM_X8664_HPET_H 1
  3.  
  4. /*
  5.  * Documentation on HPET can be found at:
  6.  *      http://www.intel.com/ial/home/sp/pcmmspec.htm
  7.  *      ftp://download.intel.com/ial/home/sp/mmts098.pdf
  8.  */
  9.  
  10. #define HPET_MMAP_SIZE    1024
  11.  
  12. #define HPET_ID        0x000
  13. #define HPET_PERIOD    0x004
  14. #define HPET_CFG    0x010
  15. #define HPET_STATUS    0x020
  16. #define HPET_COUNTER    0x0f0
  17. #define HPET_Tn_OFFSET    0x20
  18. #define HPET_Tn_CFG(n)     (0x100 + (n) * HPET_Tn_OFFSET)
  19. #define HPET_Tn_ROUTE(n) (0x104 + (n) * HPET_Tn_OFFSET)
  20. #define HPET_Tn_CMP(n)     (0x108 + (n) * HPET_Tn_OFFSET)
  21. #define HPET_T0_CFG    HPET_Tn_CFG(0)
  22. #define HPET_T0_CMP    HPET_Tn_CMP(0)
  23. #define HPET_T1_CFG    HPET_Tn_CFG(1)
  24. #define HPET_T1_CMP    HPET_Tn_CMP(1)
  25.  
  26. #define HPET_ID_VENDOR    0xffff0000
  27. #define HPET_ID_LEGSUP    0x00008000
  28. #define HPET_ID_64BIT    0x00002000
  29. #define HPET_ID_NUMBER    0x00001f00
  30. #define HPET_ID_REV    0x000000ff
  31. #define    HPET_ID_NUMBER_SHIFT    8
  32.  
  33. #define HPET_ID_VENDOR_SHIFT    16
  34. #define HPET_ID_VENDOR_8086    0x8086
  35.  
  36. #define HPET_CFG_ENABLE    0x001
  37. #define HPET_CFG_LEGACY    0x002
  38. #define    HPET_LEGACY_8254    2
  39. #define    HPET_LEGACY_RTC        8
  40.  
  41. #define HPET_TN_LEVEL        0x0002
  42. #define HPET_TN_ENABLE        0x0004
  43. #define HPET_TN_PERIODIC    0x0008
  44. #define HPET_TN_PERIODIC_CAP    0x0010
  45. #define HPET_TN_64BIT_CAP    0x0020
  46. #define HPET_TN_SETVAL        0x0040
  47. #define HPET_TN_32BIT        0x0100
  48. #define HPET_TN_ROUTE        0x3e00
  49. #define HPET_TN_FSB        0x4000
  50. #define HPET_TN_FSB_CAP        0x8000
  51.  
  52. #define HPET_TN_ROUTE_SHIFT    9
  53.  
  54. #define HPET_TICK_RATE (HZ * 100000UL)
  55.  
  56. extern int is_hpet_enabled(void);
  57. extern int hpet_rtc_timer_init(void);
  58. extern int oem_force_hpet_timer(void);
  59.  
  60. extern int hpet_use_timer;
  61.  
  62. #ifdef CONFIG_HPET_EMULATE_RTC
  63. extern int hpet_mask_rtc_irq_bit(unsigned long bit_mask);
  64. extern int hpet_set_rtc_irq_bit(unsigned long bit_mask);
  65. extern int hpet_set_alarm_time(unsigned char hrs, unsigned char min, unsigned char sec);
  66. extern int hpet_set_periodic_freq(unsigned long freq);
  67. extern int hpet_rtc_dropped_irq(void);
  68. extern int hpet_rtc_timer_init(void);
  69. #endif /* CONFIG_HPET_EMULATE_RTC */
  70.  
  71. #endif
  72.