1/** @file
2
3  Copyright (c) 2011 - 2013, ARM Ltd. All rights reserved.<BR>
4
5  This program and the accompanying materials
6  are licensed and made available under the terms and conditions of the BSD License
7  which accompanies this distribution.  The full text of the license may be found at
8  http://opensource.org/licenses/bsd-license.php
9
10  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
11  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
12
13**/
14
15#ifndef __ARM_ARCH_TIMER_H__
16#define __ARM_ARCH_TIMER_H__
17
18#define ARM_ARCH_TIMER_ENABLE           (1 << 0)
19#define ARM_ARCH_TIMER_IMASK            (1 << 1)
20#define ARM_ARCH_TIMER_ISTATUS          (1 << 2)
21
22typedef enum {
23  CntFrq = 0,
24  CntPct,
25  CntkCtl,
26  CntpTval,
27  CntpCtl,
28  CntvTval,
29  CntvCtl,
30  CntvCt,
31  CntpCval,
32  CntvCval,
33  CntvOff,
34  CnthCtl,
35  CnthpTval,
36  CnthpCtl,
37  CnthpCval,
38  RegMaximum
39} ARM_ARCH_TIMER_REGS;
40
41VOID
42EFIAPI
43ArmArchTimerReadReg (
44  IN   ARM_ARCH_TIMER_REGS   Reg,
45  OUT  VOID                  *DstBuf
46  );
47
48VOID
49EFIAPI
50ArmArchTimerWriteReg (
51  IN   ARM_ARCH_TIMER_REGS   Reg,
52  IN   VOID                  *SrcBuf
53  );
54
55#endif // __ARM_ARCH_TIMER_H__
56