summaryrefslogtreecommitdiff
path: root/Omap35xxPkg/TimerDxe
diff options
context:
space:
mode:
authoroliviermartin <oliviermartin@6f19259b-4bc3-4df7-8a09-765794883524>2011-07-20 15:13:06 +0000
committeroliviermartin <oliviermartin@6f19259b-4bc3-4df7-8a09-765794883524>2011-07-20 15:13:06 +0000
commit2d08d17d651d81d267f00dcfdff0a46013b49907 (patch)
tree71a83510ff87942ddc3224a4c7869cbd7f3eb1a7 /Omap35xxPkg/TimerDxe
parent3e4df77fc34c9b06e78dbced73a3e7ae57315d65 (diff)
BeagleBoardPkg: Ensure there is no pending IRQ and disable timer
When the BeagleBoard UEFI is started from a 1st (or 2nd stage) boot loader it is possible there are still some pending IRQ. Clean the interrupts before starting the BeagleBoard UEFI. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12034 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'Omap35xxPkg/TimerDxe')
-rw-r--r--Omap35xxPkg/TimerDxe/Timer.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/Omap35xxPkg/TimerDxe/Timer.c b/Omap35xxPkg/TimerDxe/Timer.c
index 1919618ef..d0ea97350 100644
--- a/Omap35xxPkg/TimerDxe/Timer.c
+++ b/Omap35xxPkg/TimerDxe/Timer.c
@@ -356,6 +356,9 @@ TimerInitialize (
Status = gInterrupt->RegisterInterruptSource (gInterrupt, gVector, TimerInterruptHandler);
ASSERT_EFI_ERROR (Status);
+ // Turn on the functional clock for Timer
+ MmioOr32 (CM_FCLKEN_PER, CM_FCLKEN_PER_EN_GPT3_ENABLE);
+
// Set up default timer
Status = TimerDriverSetTimerPeriod (&gTimer, FixedPcdGet32(PcdTimerPeriod));
ASSERT_EFI_ERROR (Status);