/** @file HPET register definitions from the IA-PC HPET (High Precision Event Timers) Specification, Revision 1.0a, October 2004. Copyright (c) 2011 - 2018, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent **/ #ifndef __HPET_REGISTER_H__ #define __HPET_REGISTER_H__ /// /// HPET General Register Offsets /// #define HPET_GENERAL_CAPABILITIES_ID_OFFSET 0x000 #define HPET_GENERAL_CONFIGURATION_OFFSET 0x010 #define HPET_GENERAL_INTERRUPT_STATUS_OFFSET 0x020 /// /// HPET Timer Register Offsets /// #define HPET_MAIN_COUNTER_OFFSET 0x0F0 #define HPET_TIMER_CONFIGURATION_OFFSET 0x100 #define HPET_TIMER_COMPARATOR_OFFSET 0x108 #define HPET_TIMER_MSI_ROUTE_OFFSET 0x110 /// /// Stride between sets of HPET Timer Registers /// #define HPET_TIMER_STRIDE 0x20 #pragma pack(1) /// /// HPET General Capabilities and ID Register /// typedef union { struct { UINT32 Revision:8; UINT32 NumberOfTimers:5; UINT32 CounterSize:1; UINT32 Reserved0:1; UINT32 LegacyRoute:1; UINT32 VendorId:16; UINT32 CounterClockPeriod:32; } Bits; UINT64 Uint64; } HPET_GENERAL_CAPABILITIES_ID_REGISTER; /// /// HPET General Configuration Register /// typedef union { struct { UINT32 MainCounterEnable:1; UINT32 LegacyRouteEnable:1; UINT32 Reserved0:30; UINT32 Reserved1:32; } Bits; UINT64 Uint64; } HPET_GENERAL_CONFIGURATION_REGISTER; /// /// HPET Timer Configuration Register /// typedef union { struct { UINT32 Reserved0:1; UINT32 LevelTriggeredInterrupt:1; UINT32 InterruptEnable:1; UINT32 PeriodicInterruptEnable:1; UINT32 PeriodicInterruptCapability:1; UINT32 CounterSizeCapability:1; UINT32 ValueSetEnable:1; UINT32 Reserved1:1; UINT32 CounterSizeEnable:1; UINT32 InterruptRoute:5; UINT32 MsiInterruptEnable:1; UINT32 MsiInterruptCapability:1; UINT32 Reserved2:16; UINT32 InterruptRouteCapability; } Bits; UINT64 Uint64; } HPET_TIMER_CONFIGURATION_REGISTER; /// /// HPET Timer MSI Route Register /// typedef union { struct { UINT32 Value:32; UINT32 Address:32; } Bits; UINT64 Uint64; } HPET_TIMER_MSI_ROUTE_REGISTER; #pragma pack() #endif