1e71512520739030324ca0ce6de5c6462eddeea5dArd Biesheuvel/** @file
2e71512520739030324ca0ce6de5c6462eddeea5dArd Biesheuvel
3e71512520739030324ca0ce6de5c6462eddeea5dArd Biesheuvel  Copyright (c) 2011 - 2014, ARM Ltd. All rights reserved.<BR>
4e71512520739030324ca0ce6de5c6462eddeea5dArd Biesheuvel  Copyright (c) 2014, Linaro Ltd. All rights reserved.<BR>
5e71512520739030324ca0ce6de5c6462eddeea5dArd Biesheuvel
6e71512520739030324ca0ce6de5c6462eddeea5dArd Biesheuvel  This program and the accompanying materials
7e71512520739030324ca0ce6de5c6462eddeea5dArd Biesheuvel  are licensed and made available under the terms and conditions of the BSD License
8e71512520739030324ca0ce6de5c6462eddeea5dArd Biesheuvel  which accompanies this distribution.  The full text of the license may be found at
9e71512520739030324ca0ce6de5c6462eddeea5dArd Biesheuvel  http://opensource.org/licenses/bsd-license.php
10e71512520739030324ca0ce6de5c6462eddeea5dArd Biesheuvel
11e71512520739030324ca0ce6de5c6462eddeea5dArd Biesheuvel  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
12e71512520739030324ca0ce6de5c6462eddeea5dArd Biesheuvel  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
13e71512520739030324ca0ce6de5c6462eddeea5dArd Biesheuvel
14e71512520739030324ca0ce6de5c6462eddeea5dArd Biesheuvel**/
15e71512520739030324ca0ce6de5c6462eddeea5dArd Biesheuvel
16e71512520739030324ca0ce6de5c6462eddeea5dArd Biesheuvel#ifndef __ARM_GENERIC_TIMER_COUNTER_LIB_H__
17e71512520739030324ca0ce6de5c6462eddeea5dArd Biesheuvel#define __ARM_GENERIC_TIMER_COUNTER_LIB_H__
18e71512520739030324ca0ce6de5c6462eddeea5dArd Biesheuvel
19e71512520739030324ca0ce6de5c6462eddeea5dArd BiesheuvelVOID
20e71512520739030324ca0ce6de5c6462eddeea5dArd BiesheuvelEFIAPI
21e71512520739030324ca0ce6de5c6462eddeea5dArd BiesheuvelArmGenericTimerEnableTimer (
22e71512520739030324ca0ce6de5c6462eddeea5dArd Biesheuvel  VOID
23e71512520739030324ca0ce6de5c6462eddeea5dArd Biesheuvel  );
24e71512520739030324ca0ce6de5c6462eddeea5dArd Biesheuvel
25e71512520739030324ca0ce6de5c6462eddeea5dArd BiesheuvelVOID
26e71512520739030324ca0ce6de5c6462eddeea5dArd BiesheuvelEFIAPI
27e71512520739030324ca0ce6de5c6462eddeea5dArd BiesheuvelArmGenericTimerDisableTimer (
28e71512520739030324ca0ce6de5c6462eddeea5dArd Biesheuvel  VOID
29e71512520739030324ca0ce6de5c6462eddeea5dArd Biesheuvel  );
30e71512520739030324ca0ce6de5c6462eddeea5dArd Biesheuvel
31e71512520739030324ca0ce6de5c6462eddeea5dArd BiesheuvelVOID
32e71512520739030324ca0ce6de5c6462eddeea5dArd BiesheuvelEFIAPI
33e71512520739030324ca0ce6de5c6462eddeea5dArd BiesheuvelArmGenericTimerSetTimerFreq (
34e71512520739030324ca0ce6de5c6462eddeea5dArd Biesheuvel  IN   UINTN  FreqInHz
35e71512520739030324ca0ce6de5c6462eddeea5dArd Biesheuvel  );
36e71512520739030324ca0ce6de5c6462eddeea5dArd Biesheuvel
37e71512520739030324ca0ce6de5c6462eddeea5dArd BiesheuvelUINTN
38e71512520739030324ca0ce6de5c6462eddeea5dArd BiesheuvelEFIAPI
39e71512520739030324ca0ce6de5c6462eddeea5dArd BiesheuvelArmGenericTimerGetTimerFreq (
40e71512520739030324ca0ce6de5c6462eddeea5dArd Biesheuvel  VOID
41e71512520739030324ca0ce6de5c6462eddeea5dArd Biesheuvel  );
42e71512520739030324ca0ce6de5c6462eddeea5dArd Biesheuvel
43e71512520739030324ca0ce6de5c6462eddeea5dArd BiesheuvelVOID
44e71512520739030324ca0ce6de5c6462eddeea5dArd BiesheuvelEFIAPI
45e71512520739030324ca0ce6de5c6462eddeea5dArd BiesheuvelArmGenericTimerSetTimerVal (
46e71512520739030324ca0ce6de5c6462eddeea5dArd Biesheuvel  IN   UINTN   Value
47e71512520739030324ca0ce6de5c6462eddeea5dArd Biesheuvel  );
48e71512520739030324ca0ce6de5c6462eddeea5dArd Biesheuvel
49e71512520739030324ca0ce6de5c6462eddeea5dArd BiesheuvelUINTN
50e71512520739030324ca0ce6de5c6462eddeea5dArd BiesheuvelEFIAPI
51e71512520739030324ca0ce6de5c6462eddeea5dArd BiesheuvelArmGenericTimerGetTimerVal (
52e71512520739030324ca0ce6de5c6462eddeea5dArd Biesheuvel  VOID
53e71512520739030324ca0ce6de5c6462eddeea5dArd Biesheuvel  );
54e71512520739030324ca0ce6de5c6462eddeea5dArd Biesheuvel
55e71512520739030324ca0ce6de5c6462eddeea5dArd BiesheuvelUINT64
56e71512520739030324ca0ce6de5c6462eddeea5dArd BiesheuvelEFIAPI
57e71512520739030324ca0ce6de5c6462eddeea5dArd BiesheuvelArmGenericTimerGetSystemCount (
58e71512520739030324ca0ce6de5c6462eddeea5dArd Biesheuvel  VOID
59e71512520739030324ca0ce6de5c6462eddeea5dArd Biesheuvel  );
60e71512520739030324ca0ce6de5c6462eddeea5dArd Biesheuvel
61e71512520739030324ca0ce6de5c6462eddeea5dArd BiesheuvelUINTN
62e71512520739030324ca0ce6de5c6462eddeea5dArd BiesheuvelEFIAPI
63e71512520739030324ca0ce6de5c6462eddeea5dArd BiesheuvelArmGenericTimerGetTimerCtrlReg (
64e71512520739030324ca0ce6de5c6462eddeea5dArd Biesheuvel  VOID
65e71512520739030324ca0ce6de5c6462eddeea5dArd Biesheuvel  );
66e71512520739030324ca0ce6de5c6462eddeea5dArd Biesheuvel
67e71512520739030324ca0ce6de5c6462eddeea5dArd BiesheuvelVOID
68e71512520739030324ca0ce6de5c6462eddeea5dArd BiesheuvelEFIAPI
69e71512520739030324ca0ce6de5c6462eddeea5dArd BiesheuvelArmGenericTimerSetTimerCtrlReg (
70e71512520739030324ca0ce6de5c6462eddeea5dArd Biesheuvel  UINTN Value
71e71512520739030324ca0ce6de5c6462eddeea5dArd Biesheuvel  );
72e71512520739030324ca0ce6de5c6462eddeea5dArd Biesheuvel
73e71512520739030324ca0ce6de5c6462eddeea5dArd BiesheuvelUINT64
74e71512520739030324ca0ce6de5c6462eddeea5dArd BiesheuvelEFIAPI
75e71512520739030324ca0ce6de5c6462eddeea5dArd BiesheuvelArmGenericTimerGetCompareVal (
76e71512520739030324ca0ce6de5c6462eddeea5dArd Biesheuvel  VOID
77e71512520739030324ca0ce6de5c6462eddeea5dArd Biesheuvel  );
78e71512520739030324ca0ce6de5c6462eddeea5dArd Biesheuvel
79e71512520739030324ca0ce6de5c6462eddeea5dArd BiesheuvelVOID
80e71512520739030324ca0ce6de5c6462eddeea5dArd BiesheuvelEFIAPI
81e71512520739030324ca0ce6de5c6462eddeea5dArd BiesheuvelArmGenericTimerSetCompareVal (
82e71512520739030324ca0ce6de5c6462eddeea5dArd Biesheuvel  IN   UINT64   Value
83e71512520739030324ca0ce6de5c6462eddeea5dArd Biesheuvel  );
84e71512520739030324ca0ce6de5c6462eddeea5dArd Biesheuvel
85e71512520739030324ca0ce6de5c6462eddeea5dArd Biesheuvel#endif
86