]>
git.proxmox.com Git - mirror_edk2.git/blob - ArmPkg/Library/ArmGenericTimerVirtCounterLib/ArmGenericTimerVirtCounterLib.c
3 Copyright (c) 2011 - 2014, ARM Ltd. All rights reserved.<BR>
4 Copyright (c) 2014, Linaro Ltd. All rights reserved.<BR>
6 SPDX-License-Identifier: BSD-2-Clause-Patent
10 #include <Library/ArmGenericTimerCounterLib.h>
11 #include <Library/ArmLib.h>
15 ArmGenericTimerEnableTimer (
21 TimerCtrlReg
= ArmReadCntvCtl ();
22 TimerCtrlReg
|= ARM_ARCH_TIMER_ENABLE
;
23 ArmWriteCntvCtl (TimerCtrlReg
);
28 ArmGenericTimerReenableTimer (
36 ArmGenericTimerDisableTimer (
42 TimerCtrlReg
= ArmReadCntvCtl ();
43 TimerCtrlReg
&= ~ARM_ARCH_TIMER_ENABLE
;
44 ArmWriteCntvCtl (TimerCtrlReg
);
49 ArmGenericTimerSetTimerFreq (
53 ArmWriteCntFrq (FreqInHz
);
58 ArmGenericTimerGetTimerFreq (
62 return ArmReadCntFrq ();
67 ArmGenericTimerGetTimerVal (
71 return ArmReadCntvTval ();
76 ArmGenericTimerSetTimerVal (
80 ArmWriteCntvTval (Value
);
85 ArmGenericTimerGetSystemCount (
89 return ArmReadCntvCt ();
94 ArmGenericTimerGetTimerCtrlReg (
98 return ArmReadCntvCtl ();
103 ArmGenericTimerSetTimerCtrlReg (
107 ArmWriteCntvCtl (Value
);
112 ArmGenericTimerGetCompareVal (
116 return ArmReadCntvCval ();
121 ArmGenericTimerSetCompareVal (
125 ArmWriteCntvCval (Value
);