audk/Vlv2TbltDevicePkg/Metronome/LegacyMetronome.h

65 lines
1.5 KiB
C

/*++
Copyright (c) 2004 - 2014, Intel Corporation. All rights reserved.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent
Module Name:
LegacyMetronome.h
Abstract:
Driver implementing the EFI 2.0 metronome protocol using the legacy PORT 61
timer.
--*/
#ifndef _LEGACY_METRONOME_H
#define _LEGACY_METRONOME_H
//
// Statements that include other files
//
#include "Protocol/Metronome.h"
#include "Protocol/CpuIo.h"
#include "Library/DebugLib.h"
#include "Library/UefiBootServicesTableLib.h"
//
// Private definitions
//
#define TICK_PERIOD 300
#define REFRESH_PORT 0x61
#define REFRESH_ON 0x10
#define REFRESH_OFF 0x00
#define TIMER1_CONTROL_PORT 0x43
#define TIMER1_COUNT_PORT 0x41
#define LOAD_COUNTER1_LSB 0x54
#define COUNTER1_COUNT 0x12
//
// Function Prototypes
//
/**
Waits for the TickNumber of ticks from a known platform time source.
@param This Pointer to the protocol instance.
@param TickNumber Tick Number to be waited
@retval EFI_SUCCESS If number of ticks occurred.
@retval EFI_NOT_FOUND Could not locate CPU IO protocol
**/
EFI_STATUS
EFIAPI
WaitForTick (
IN EFI_METRONOME_ARCH_PROTOCOL *This,
IN UINT32 TickNumber
);
#endif