xref: /linux/include/uapi/linux/hpet.h (revision 498495dba268b20e8eadd7fe93c140c68b6cc9d2)
1*6f52b16cSGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2607ca46eSDavid Howells #ifndef _UAPI__HPET__
3607ca46eSDavid Howells #define _UAPI__HPET__
4607ca46eSDavid Howells 
5607ca46eSDavid Howells #include <linux/compiler.h>
6607ca46eSDavid Howells 
7607ca46eSDavid Howells 
8607ca46eSDavid Howells struct hpet_info {
9607ca46eSDavid Howells 	unsigned long hi_ireqfreq;	/* Hz */
10607ca46eSDavid Howells 	unsigned long hi_flags;	/* information */
11607ca46eSDavid Howells 	unsigned short hi_hpet;
12607ca46eSDavid Howells 	unsigned short hi_timer;
13607ca46eSDavid Howells };
14607ca46eSDavid Howells 
15607ca46eSDavid Howells #define HPET_INFO_PERIODIC	0x0010	/* periodic-capable comparator */
16607ca46eSDavid Howells 
17607ca46eSDavid Howells #define	HPET_IE_ON	_IO('h', 0x01)	/* interrupt on */
18607ca46eSDavid Howells #define	HPET_IE_OFF	_IO('h', 0x02)	/* interrupt off */
19607ca46eSDavid Howells #define	HPET_INFO	_IOR('h', 0x03, struct hpet_info)
20607ca46eSDavid Howells #define	HPET_EPI	_IO('h', 0x04)	/* enable periodic */
21607ca46eSDavid Howells #define	HPET_DPI	_IO('h', 0x05)	/* disable periodic */
22607ca46eSDavid Howells #define	HPET_IRQFREQ	_IOW('h', 0x6, unsigned long)	/* IRQFREQ usec */
23607ca46eSDavid Howells 
24607ca46eSDavid Howells #define MAX_HPET_TBS	8		/* maximum hpet timer blocks */
25607ca46eSDavid Howells 
26607ca46eSDavid Howells #endif /* _UAPI__HPET__ */
27