linux/include/linux/hpet.h

/* SPDX-License-Identifier: GPL-2.0 */
#ifndef	__HPET__
#define __HPET__

#include <uapi/linux/hpet.h>


/*
 * Offsets into HPET Registers
 */

struct hpet {};

#define hpet_mc
#define hpet_compare

#define HPET_MAX_TIMERS
#define HPET_MAX_IRQ

/*
 * HPET general capabilities register
 */

#define HPET_COUNTER_CLK_PERIOD_MASK
#define HPET_COUNTER_CLK_PERIOD_SHIFT
#define HPET_VENDOR_ID_MASK
#define HPET_VENDOR_ID_SHIFT
#define HPET_LEG_RT_CAP_MASK
#define HPET_COUNTER_SIZE_MASK
#define HPET_NUM_TIM_CAP_MASK
#define HPET_NUM_TIM_CAP_SHIFT

/*
 * HPET general configuration register
 */

#define HPET_LEG_RT_CNF_MASK
#define HPET_ENABLE_CNF_MASK


/*
 * Timer configuration register
 */

#define Tn_INT_ROUTE_CAP_MASK
#define Tn_INT_ROUTE_CAP_SHIFT
#define Tn_FSB_INT_DELCAP_MASK
#define Tn_FSB_INT_DELCAP_SHIFT
#define Tn_FSB_EN_CNF_MASK
#define Tn_FSB_EN_CNF_SHIFT
#define Tn_INT_ROUTE_CNF_MASK
#define Tn_INT_ROUTE_CNF_SHIFT
#define Tn_32MODE_CNF_MASK
#define Tn_VAL_SET_CNF_MASK
#define Tn_SIZE_CAP_MASK
#define Tn_PER_INT_CAP_MASK
#define Tn_TYPE_CNF_MASK
#define Tn_INT_ENB_CNF_MASK
#define Tn_INT_TYPE_CNF_MASK

/*
 * Timer FSB Interrupt Route Register
 */

#define Tn_FSB_INT_ADDR_MASK
#define Tn_FSB_INT_ADDR_SHIFT
#define Tn_FSB_INT_VAL_MASK

/*
 * exported interfaces
 */

struct hpet_data {};

static inline void hpet_reserve_timer(struct hpet_data *hd, int timer)
{}

int hpet_alloc(struct hpet_data *);

#endif				/* !__HPET__ */