xref: /OK3568_Linux_fs/kernel/include/uapi/linux/hpet.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2*4882a593Smuzhiyun #ifndef _UAPI__HPET__
3*4882a593Smuzhiyun #define _UAPI__HPET__
4*4882a593Smuzhiyun 
5*4882a593Smuzhiyun #include <linux/compiler.h>
6*4882a593Smuzhiyun 
7*4882a593Smuzhiyun 
8*4882a593Smuzhiyun struct hpet_info {
9*4882a593Smuzhiyun 	unsigned long hi_ireqfreq;	/* Hz */
10*4882a593Smuzhiyun 	unsigned long hi_flags;	/* information */
11*4882a593Smuzhiyun 	unsigned short hi_hpet;
12*4882a593Smuzhiyun 	unsigned short hi_timer;
13*4882a593Smuzhiyun };
14*4882a593Smuzhiyun 
15*4882a593Smuzhiyun #define HPET_INFO_PERIODIC	0x0010	/* periodic-capable comparator */
16*4882a593Smuzhiyun 
17*4882a593Smuzhiyun #define	HPET_IE_ON	_IO('h', 0x01)	/* interrupt on */
18*4882a593Smuzhiyun #define	HPET_IE_OFF	_IO('h', 0x02)	/* interrupt off */
19*4882a593Smuzhiyun #define	HPET_INFO	_IOR('h', 0x03, struct hpet_info)
20*4882a593Smuzhiyun #define	HPET_EPI	_IO('h', 0x04)	/* enable periodic */
21*4882a593Smuzhiyun #define	HPET_DPI	_IO('h', 0x05)	/* disable periodic */
22*4882a593Smuzhiyun #define	HPET_IRQFREQ	_IOW('h', 0x6, unsigned long)	/* IRQFREQ usec */
23*4882a593Smuzhiyun 
24*4882a593Smuzhiyun #define MAX_HPET_TBS	8		/* maximum hpet timer blocks */
25*4882a593Smuzhiyun 
26*4882a593Smuzhiyun #endif /* _UAPI__HPET__ */
27