ia64/xen-unstable

annotate xen/include/asm-x86/hpet.h @ 6538:84ee014ebd41

Merge xen-vtx-unstable.hg
author adsharma@los-vmm.sc.intel.com
date Wed Aug 17 12:34:38 2005 -0800 (2005-08-17)
parents 23979fb12c49 f294acb25858
children 99914b54f7bf
rev   line source
kaf24@5901 1 #ifndef __X86_HPET_H__
kaf24@5901 2 #define __X86_HPET_H__
kaf24@5901 3
kaf24@5901 4 /*
kaf24@5901 5 * Documentation on HPET can be found at:
kaf24@5901 6 * http://www.intel.com/ial/home/sp/pcmmspec.htm
kaf24@5901 7 * ftp://download.intel.com/ial/home/sp/mmts098.pdf
kaf24@5901 8 */
kaf24@5901 9
kaf24@5901 10 #define HPET_MMAP_SIZE 1024
kaf24@5901 11
kaf24@5901 12 #define HPET_ID 0x000
kaf24@5901 13 #define HPET_PERIOD 0x004
kaf24@5901 14 #define HPET_CFG 0x010
kaf24@5901 15 #define HPET_STATUS 0x020
kaf24@5901 16 #define HPET_COUNTER 0x0f0
kaf24@5901 17 #define HPET_T0_CFG 0x100
kaf24@5901 18 #define HPET_T0_CMP 0x108
kaf24@5901 19 #define HPET_T0_ROUTE 0x110
kaf24@5901 20 #define HPET_T1_CFG 0x120
kaf24@5901 21 #define HPET_T1_CMP 0x128
kaf24@5901 22 #define HPET_T1_ROUTE 0x130
kaf24@5901 23 #define HPET_T2_CFG 0x140
kaf24@5901 24 #define HPET_T2_CMP 0x148
kaf24@5901 25 #define HPET_T2_ROUTE 0x150
kaf24@5901 26
kaf24@5901 27 #define HPET_ID_VENDOR 0xffff0000
kaf24@5901 28 #define HPET_ID_LEGSUP 0x00008000
kaf24@5901 29 #define HPET_ID_NUMBER 0x00001f00
kaf24@5901 30 #define HPET_ID_REV 0x000000ff
kaf24@5901 31 #define HPET_ID_NUMBER_SHIFT 8
kaf24@5901 32
kaf24@5901 33 #define HPET_ID_VENDOR_SHIFT 16
kaf24@5901 34 #define HPET_ID_VENDOR_8086 0x8086
kaf24@5901 35
kaf24@5901 36 #define HPET_CFG_ENABLE 0x001
kaf24@5901 37 #define HPET_CFG_LEGACY 0x002
kaf24@5901 38 #define HPET_LEGACY_8254 2
kaf24@5901 39 #define HPET_LEGACY_RTC 8
kaf24@5901 40
kaf24@5901 41 #define HPET_TN_ENABLE 0x004
kaf24@5901 42 #define HPET_TN_PERIODIC 0x008
kaf24@5901 43 #define HPET_TN_PERIODIC_CAP 0x010
kaf24@5901 44 #define HPET_TN_SETVAL 0x040
kaf24@5901 45 #define HPET_TN_32BIT 0x100
kaf24@5901 46
kaf24@5901 47 #define hpet_read32(x) \
kaf24@5901 48 (*(volatile u32 *)(fix_to_virt(FIX_HPET_BASE) + (x)))
kaf24@5901 49 #define hpet_write32(y,x) \
kaf24@5901 50 (*(volatile u32 *)(fix_to_virt(FIX_HPET_BASE) + (x)) = (y))
kaf24@5901 51
kaf24@5901 52 #endif /* __X86_HPET_H__ */