diff options
Diffstat (limited to 'Omap35xxPkg/Library/DebugAgentTimerLib/DebugAgentTimerLib.c')
-rwxr-xr-x | Omap35xxPkg/Library/DebugAgentTimerLib/DebugAgentTimerLib.c | 100 |
1 files changed, 50 insertions, 50 deletions
diff --git a/Omap35xxPkg/Library/DebugAgentTimerLib/DebugAgentTimerLib.c b/Omap35xxPkg/Library/DebugAgentTimerLib/DebugAgentTimerLib.c index 76c13d5527..b3da7366a9 100755 --- a/Omap35xxPkg/Library/DebugAgentTimerLib/DebugAgentTimerLib.c +++ b/Omap35xxPkg/Library/DebugAgentTimerLib/DebugAgentTimerLib.c @@ -13,23 +13,23 @@ **/
#include <Base.h>
-#include <Library/BaseLib.h> -#include <Library/IoLib.h> -#include <Library/OmapLib.h> +#include <Library/BaseLib.h>
+#include <Library/IoLib.h>
+#include <Library/OmapLib.h>
#include <Library/ArmLib.h>
-#include <Library/PcdLib.h> +#include <Library/PcdLib.h>
-#include <Omap3530/Omap3530.h> +#include <Omap3530/Omap3530.h>
volatile UINT32 gVector;
- -// Cached registers -volatile UINT32 gTISR; -volatile UINT32 gTCLR; -volatile UINT32 gTLDR; -volatile UINT32 gTCRR; -volatile UINT32 gTIER; +
+// Cached registers
+volatile UINT32 gTISR;
+volatile UINT32 gTCLR;
+volatile UINT32 gTLDR;
+volatile UINT32 gTCRR;
+volatile UINT32 gTIER;
VOID
EnableInterruptSource (
@@ -80,15 +80,15 @@ DebugAgentTimerIntialize ( UINT32 TimerNumber;
TimerNumber = PcdGet32(PcdOmap35xxDebugAgentTimer);
- gVector = InterruptVectorForTimer (TimerNumber); + gVector = InterruptVectorForTimer (TimerNumber);
- // Set up the timer registers - TimerBaseAddress = TimerBase (TimerNumber); - gTISR = TimerBaseAddress + GPTIMER_TISR; - gTCLR = TimerBaseAddress + GPTIMER_TCLR; - gTLDR = TimerBaseAddress + GPTIMER_TLDR; - gTCRR = TimerBaseAddress + GPTIMER_TCRR; - gTIER = TimerBaseAddress + GPTIMER_TIER; + // Set up the timer registers
+ TimerBaseAddress = TimerBase (TimerNumber);
+ gTISR = TimerBaseAddress + GPTIMER_TISR;
+ gTCLR = TimerBaseAddress + GPTIMER_TCLR;
+ gTLDR = TimerBaseAddress + GPTIMER_TLDR;
+ gTCRR = TimerBaseAddress + GPTIMER_TCRR;
+ gTIER = TimerBaseAddress + GPTIMER_TIER;
if ((TimerNumber < 2) || (TimerNumber > 9)) {
// This code assumes one the General Purpose timers is used
@@ -113,31 +113,31 @@ DebugAgentTimerSetPeriod ( IN UINT32 TimerPeriodMilliseconds
)
{
- UINT64 TimerCount; - INT32 LoadValue; - - if (TimerPeriodMilliseconds == 0) { - // Turn off GPTIMER3 - MmioWrite32 (gTCLR, TCLR_ST_OFF); - - DisableInterruptSource (); - } else { - // Calculate required timer count - TimerCount = DivU64x32(TimerPeriodMilliseconds * 1000000, PcdGet32(PcdDebugAgentTimerFreqNanoSeconds)); - - // Set GPTIMER5 Load register - LoadValue = (INT32) -TimerCount; - MmioWrite32 (gTLDR, LoadValue); - MmioWrite32 (gTCRR, LoadValue); - - // Enable Overflow interrupt - MmioWrite32 (gTIER, TIER_TCAR_IT_DISABLE | TIER_OVF_IT_ENABLE | TIER_MAT_IT_DISABLE); - - // Turn on GPTIMER3, it will reload at overflow - MmioWrite32 (gTCLR, TCLR_AR_AUTORELOAD | TCLR_ST_ON); - - EnableInterruptSource (); - } + UINT64 TimerCount;
+ INT32 LoadValue;
+
+ if (TimerPeriodMilliseconds == 0) {
+ // Turn off GPTIMER3
+ MmioWrite32 (gTCLR, TCLR_ST_OFF);
+
+ DisableInterruptSource ();
+ } else {
+ // Calculate required timer count
+ TimerCount = DivU64x32(TimerPeriodMilliseconds * 1000000, PcdGet32(PcdDebugAgentTimerFreqNanoSeconds));
+
+ // Set GPTIMER5 Load register
+ LoadValue = (INT32) -TimerCount;
+ MmioWrite32 (gTLDR, LoadValue);
+ MmioWrite32 (gTCRR, LoadValue);
+
+ // Enable Overflow interrupt
+ MmioWrite32 (gTIER, TIER_TCAR_IT_DISABLE | TIER_OVF_IT_ENABLE | TIER_MAT_IT_DISABLE);
+
+ // Turn on GPTIMER3, it will reload at overflow
+ MmioWrite32 (gTCLR, TCLR_AR_AUTORELOAD | TCLR_ST_ON);
+
+ EnableInterruptSource ();
+ }
}
@@ -152,10 +152,10 @@ DebugAgentTimerEndOfInterrupt ( VOID
)
{
- // Clear all timer interrupts - MmioWrite32 (gTISR, TISR_CLEAR_ALL); - - // Poll interrupt status bits to ensure clearing + // Clear all timer interrupts
+ MmioWrite32 (gTISR, TISR_CLEAR_ALL);
+
+ // Poll interrupt status bits to ensure clearing
while ((MmioRead32 (gTISR) & TISR_ALL_INTERRUPT_MASK) != TISR_NO_INTERRUPTS_PENDING);
MmioWrite32 (INTCPS_CONTROL, INTCPS_CONTROL_NEWFIQAGR);
@@ -163,4 +163,4 @@ DebugAgentTimerEndOfInterrupt ( }
-
\ No newline at end of file +
\ No newline at end of file |