#include <Library/TimerLib.h>\r
#include <Library/DebugLib.h>\r
#include <Library/PcdLib.h>\r
-#include <Library/ArmArchTimerLib.h>\r
+#include <Library/ArmGenericTimerCounterLib.h>\r
\r
#define TICKS_PER_MICRO_SEC (PcdGet32 (PcdArmArchTimerFreqInHz)/1000000U)\r
\r
// Only set the frequency for ARMv7. We expect the secure firmware to have already do it\r
// If the security extensions are not implemented set Timer Frequency\r
if ((ArmReadIdPfr1 () & ARM_PFR1_SEC) == 0x0) {\r
- ArmArchTimerSetTimerFreq (PcdGet32 (PcdArmArchTimerFreqInHz));\r
+ ArmGenericTimerSetTimerFreq (PcdGet32 (PcdArmArchTimerFreqInHz));\r
}\r
#endif\r
\r
// Architectural Timer Frequency must be set in the Secure privileged(if secure extensions are supported) mode.\r
// If the reset value (0) is returned just ASSERT.\r
- TimerFreq = ArmArchTimerGetTimerFreq ();\r
+ TimerFreq = ArmGenericTimerGetTimerFreq ();\r
ASSERT (TimerFreq != 0);\r
\r
} else {\r
UINT64 TimerTicks64;\r
UINT64 SystemCounterVal;\r
\r
- // Calculate counter ticks that can represent requested delay\r
- TimerTicks64 = MultU64x32 (MicroSeconds, TICKS_PER_MICRO_SEC);\r
+ // Calculate counter ticks that can represent requested delay:\r
+ // = MicroSeconds x TICKS_PER_MICRO_SEC\r
+ // = MicroSeconds x Frequency.10^-6\r
+ TimerTicks64 = (MicroSeconds * PcdGet32 (PcdArmArchTimerFreqInHz)) / 1000000U;\r
\r
// Read System Counter value\r
- SystemCounterVal = ArmArchTimerGetSystemCount ();\r
+ SystemCounterVal = ArmGenericTimerGetSystemCount ();\r
\r
TimerTicks64 += SystemCounterVal;\r
\r
// Wait until delay count is expired.\r
while (SystemCounterVal < TimerTicks64) {\r
- SystemCounterVal = ArmArchTimerGetSystemCount ();\r
+ SystemCounterVal = ArmGenericTimerGetSystemCount ();\r
}\r
\r
return MicroSeconds;\r
)\r
{\r
// Just return the value of system count\r
- return ArmArchTimerGetSystemCount ();\r
+ return ArmGenericTimerGetSystemCount ();\r
}\r
\r
/**\r
*EndValue = 0xFFFFFFFFFFFFFFFFUL;\r
}\r
\r
- return (UINT64)ArmArchTimerGetTimerFreq ();\r
+ return (UINT64)ArmGenericTimerGetTimerFreq ();\r
}\r