]>
git.proxmox.com Git - mirror_edk2.git/blob - ArmPkg/Library/ArmGenericTimerPhyCounterLib/ArmGenericTimerPhyCounterLib.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
= ArmReadCntpCtl ();
22 TimerCtrlReg
|= ARM_ARCH_TIMER_ENABLE
;
23 ArmWriteCntpCtl (TimerCtrlReg
);
28 ArmGenericTimerReenableTimer (
36 ArmGenericTimerDisableTimer (
42 TimerCtrlReg
= ArmReadCntpCtl ();
43 TimerCtrlReg
&= ~ARM_ARCH_TIMER_ENABLE
;
44 ArmWriteCntpCtl (TimerCtrlReg
);
49 ArmGenericTimerSetTimerFreq (
53 ArmWriteCntFrq (FreqInHz
);
58 ArmGenericTimerGetTimerFreq (
62 return ArmReadCntFrq ();
67 ArmGenericTimerGetTimerVal (
71 return ArmReadCntpTval ();
76 ArmGenericTimerSetTimerVal (
80 ArmWriteCntpTval (Value
);
85 ArmGenericTimerGetSystemCount (
89 return ArmReadCntPct ();
94 ArmGenericTimerGetTimerCtrlReg (
98 return ArmReadCntpCtl ();
103 ArmGenericTimerSetTimerCtrlReg (
107 ArmWriteCntpCtl (Value
);
112 ArmGenericTimerGetCompareVal (
116 return ArmReadCntpCval ();
121 ArmGenericTimerSetCompareVal (
125 ArmWriteCntpCval (Value
);