diff options
author | andrewfish <andrewfish@6f19259b-4bc3-4df7-8a09-765794883524> | 2010-04-14 18:05:19 +0000 |
---|---|---|
committer | andrewfish <andrewfish@6f19259b-4bc3-4df7-8a09-765794883524> | 2010-04-14 18:05:19 +0000 |
commit | 9e4f210c32dd8ad4484cedbe9a09c5b44e4f2e3c (patch) | |
tree | 198a4a8e7b74ee7cdd8d96f256293028f1f8d5fd | |
parent | 2db3d8672c0d8048ade24b822eafceed6aaef3ab (diff) | |
download | edk2-9e4f210c32dd8ad4484cedbe9a09c5b44e4f2e3c.zip edk2-9e4f210c32dd8ad4484cedbe9a09c5b44e4f2e3c.tar.gz edk2-9e4f210c32dd8ad4484cedbe9a09c5b44e4f2e3c.tar.bz2 |
DebugAgentTimerLib cleanup
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10372 6f19259b-4bc3-4df7-8a09-765794883524
-rwxr-xr-x | Omap35xxPkg/Library/DebugAgentTimerLib/DebugAgentTimerLib.c | 18 | ||||
-rw-r--r-- | Omap35xxPkg/Omap35xxPkg.dec | 2 |
2 files changed, 14 insertions, 6 deletions
diff --git a/Omap35xxPkg/Library/DebugAgentTimerLib/DebugAgentTimerLib.c b/Omap35xxPkg/Library/DebugAgentTimerLib/DebugAgentTimerLib.c index 72b8603..1abdb63 100755 --- a/Omap35xxPkg/Library/DebugAgentTimerLib/DebugAgentTimerLib.c +++ b/Omap35xxPkg/Library/DebugAgentTimerLib/DebugAgentTimerLib.c @@ -77,19 +77,27 @@ DebugAgentTimerIntialize ( )
{
UINT32 TimerBaseAddress;
+ UINT32 TimerNumber;
-
- gVector = InterruptVectorForTimer (PcdGet32(PcdOmap35xxDebugAgentTimer)); + TimerNumber = PcdGet32(PcdOmap35xxDebugAgentTimer);
+ gVector = InterruptVectorForTimer (TimerNumber); // Set up the timer registers - TimerBaseAddress = TimerBase (PcdGet32(PcdOmap35xxDebugAgentTimer)); + TimerBaseAddress = TimerBase (TimerNumber); gTISR = TimerBaseAddress + GPTIMER_TISR; gTCLR = TimerBaseAddress + GPTIMER_TCLR; gTLDR = TimerBaseAddress + GPTIMER_TLDR; gTCRR = TimerBaseAddress + GPTIMER_TCRR; gTIER = TimerBaseAddress + GPTIMER_TIER; - DisableInterruptSource ();
+ if ((TimerNumber < 2) || (TimerNumber > 9)) {
+ // This code assumes one the General Purpose timers is used
+ // GPT2 - GPT9
+ CpuDeadLoop ();
+ }
+ // Set source clock for GPT2 - GPT9 to SYS_CLK
+ MmioOr32 (CM_CLKSEL_PER, 1 << (TimerNumber - 2));
+
}
@@ -154,5 +162,5 @@ DebugAgentTimerEndOfInterrupt ( ArmDataSyncronizationBarrier ();
}
-
+
\ No newline at end of file diff --git a/Omap35xxPkg/Omap35xxPkg.dec b/Omap35xxPkg/Omap35xxPkg.dec index 7e35e26..09b098c 100644 --- a/Omap35xxPkg/Omap35xxPkg.dec +++ b/Omap35xxPkg/Omap35xxPkg.dec @@ -44,5 +44,5 @@ gOmap35xxTokenSpaceGuid.PcdOmap35xxArchTimer|3|UINT32|0x00000205 gOmap35xxTokenSpaceGuid.PcdOmap35xxFreeTimer|4|UINT32|0x00000206 gOmap35xxTokenSpaceGuid.PcdOmap35xxDebugAgentTimer|5|UINT32|0x00000207 - gOmap35xxTokenSpaceGuid.PcdDebugAgentTimerFreqNanoSeconds|1|UINT32|0x00000208 + gOmap35xxTokenSpaceGuid.PcdDebugAgentTimerFreqNanoSeconds|77|UINT32|0x00000208 |