]> git.proxmox.com Git - mirror_edk2.git/blame - ArmPkg/Include/Library/ArmV7ArchTimerLib.h
ARM Packages: Fixed line endings
[mirror_edk2.git] / ArmPkg / Include / Library / ArmV7ArchTimerLib.h
CommitLineData
1e57a462 1/** @file\r
2\r
3 Copyright (c) 2011, ARM Ltd. All rights reserved.<BR>\r
4\r
5 This program and the accompanying materials\r
6 are licensed and made available under the terms and conditions of the BSD License\r
7 which accompanies this distribution. The full text of the license may be found at\r
8 http://opensource.org/licenses/bsd-license.php\r
9\r
10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
12\r
13**/\r
14\r
15#ifndef __ARM_V7_ARCH_TIMER_LIB_H__\r
16#define __ARM_V7_ARCH_TIMER_LIB_H__\r
17\r
18#define ARM_ARCH_TIMER_ENABLE (1 << 0)\r
19#define ARM_ARCH_TIMER_IMASK (1 << 1)\r
20#define ARM_ARCH_TIMER_ISTATUS (1 << 2)\r
21\r
22typedef enum {\r
23 CntFrq = 0,\r
24 CntPct,\r
25 CntkCtl,\r
26 CntpTval,\r
27 CntpCtl,\r
28 CntvTval,\r
29 CntvCtl,\r
30 CntvCt,\r
31 CntpCval,\r
32 CntvCval,\r
33 CntvOff,\r
34 CnthCtl,\r
35 CnthpTval,\r
36 CnthpCtl,\r
37 CnthpCval,\r
38 RegMaximum\r
39}ARM_ARCH_TIMER_REGS;\r
40\r
41VOID\r
42EFIAPI\r
43ArmArchTimerReadReg (\r
44 IN ARM_ARCH_TIMER_REGS Reg,\r
45 OUT VOID *DstBuf\r
46 );\r
47\r
48VOID\r
49EFIAPI\r
50ArmArchTimerWriteReg (\r
51 IN ARM_ARCH_TIMER_REGS Reg,\r
52 IN VOID *SrcBuf\r
53 );\r
54\r
55VOID\r
56EFIAPI\r
57ArmArchTimerEnableTimer (\r
58 VOID\r
59 );\r
60\r
61VOID\r
62EFIAPI\r
63ArmArchTimerDisableTimer (\r
64 VOID\r
65 );\r
66\r
67VOID\r
68EFIAPI\r
69ArmArchTimerSetTimerFreq (\r
70 IN UINTN FreqInHz\r
71 );\r
72\r
73UINTN\r
74EFIAPI\r
75ArmArchTimerGetTimerFreq (\r
76 VOID\r
77 );\r
78\r
79VOID\r
80EFIAPI\r
81ArmArchTimerSetTimerVal (\r
82 IN UINTN Val\r
83 );\r
84\r
85UINTN\r
86EFIAPI\r
87ArmArchTimerGetTimerVal (\r
88 VOID\r
89 );\r
90\r
91UINT64\r
92EFIAPI\r
93ArmArchTimerGetSystemCount (\r
94 VOID\r
95 );\r
96\r
97UINTN\r
98EFIAPI\r
99ArmArchTimerGetTimerCtrlReg (\r
100 VOID\r
101 );\r
102\r
103VOID\r
104EFIAPI\r
105ArmArchTimerSetTimerCtrlReg (\r
106 UINTN Val\r
107 );\r
108\r
109VOID\r
110EFIAPI\r
111ArmArchTimerSetCompareVal (\r
112 IN UINT64 Val\r
113 );\r
114\r
115#endif // __ARM_V7_ARCH_TIMER_LIB_H__\r