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