Home | History | Annotate | Download | only in Metronome
      1 /*++
      2 
      3   Copyright (c) 2004  - 2014, Intel Corporation. All rights reserved.<BR>
      4 
      5   This program and the accompanying materials are licensed and made available under
      7   the terms and conditions of the BSD License that accompanies this distribution.
      9   The full text of the license may be found at
     11   http://opensource.org/licenses/bsd-license.php.
     13 
     15   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
     17   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     19 
     21 
     23 Module Name:
     24 
     25   LegacyMetronome.h
     26 
     27 Abstract:
     28 
     29   Driver implementing the EFI 2.0 metronome protocol using the legacy PORT 61
     30   timer.
     31 
     32 --*/
     33 
     34 #ifndef _LEGACY_METRONOME_H
     35 #define _LEGACY_METRONOME_H
     36 
     37 //
     38 // Statements that include other files
     39 //
     40 #include "Protocol/Metronome.h"
     41 #include "Protocol/CpuIo.h"
     42 #include "Library/DebugLib.h"
     43 #include "Library/UefiBootServicesTableLib.h"
     44 
     45 
     46 //
     47 // Private definitions
     48 //
     49 #define TICK_PERIOD         300
     50 #define REFRESH_PORT        0x61
     51 #define REFRESH_ON          0x10
     52 #define REFRESH_OFF         0x00
     53 #define TIMER1_CONTROL_PORT 0x43
     54 #define TIMER1_COUNT_PORT   0x41
     55 #define LOAD_COUNTER1_LSB   0x54
     56 #define COUNTER1_COUNT      0x12
     57 
     58 //
     59 // Function Prototypes
     60 //
     61 /**
     62   Waits for the TickNumber of ticks from a known platform time source.
     63 
     64   @param This                 Pointer to the protocol instance.
     65   @param TickNumber           Tick Number to be waited
     66 
     67   @retval EFI_SUCCESS         If number of ticks occurred.
     68   @retval EFI_NOT_FOUND       Could not locate CPU IO protocol
     69 
     70 **/
     71 EFI_STATUS
     72 EFIAPI
     73 WaitForTick (
     74   IN EFI_METRONOME_ARCH_PROTOCOL  *This,
     75   IN UINT32                       TickNumber
     76   );
     77 
     78 #endif
     79