diff options
author | oliviermartin <oliviermartin@6f19259b-4bc3-4df7-8a09-765794883524> | 2011-08-30 16:54:48 +0000 |
---|---|---|
committer | oliviermartin <oliviermartin@6f19259b-4bc3-4df7-8a09-765794883524> | 2011-08-30 16:54:48 +0000 |
commit | cc1e814923eb231e18f157b0271eab336d6a0e1a (patch) | |
tree | 8a0f769b1bbb4a5a13b62aea8d10cf370ceca8ce /ArmPlatformPkg/Include | |
parent | 78c2b9a33478ee0cb7e39466fb12191dde56b210 (diff) | |
download | edk2-platforms-cc1e814923eb231e18f157b0271eab336d6a0e1a.tar.xz |
ArmPlatformPkg: Fix ARM RealView EB and VE builds
Tested with RVCTLINUX and ARMGCC toolchains.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12233 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'ArmPlatformPkg/Include')
-rw-r--r-- | ArmPlatformPkg/Include/Drivers/SP804Timer.h | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/ArmPlatformPkg/Include/Drivers/SP804Timer.h b/ArmPlatformPkg/Include/Drivers/SP804Timer.h index dee337ebf9..f9a89c5376 100644 --- a/ArmPlatformPkg/Include/Drivers/SP804Timer.h +++ b/ArmPlatformPkg/Include/Drivers/SP804Timer.h @@ -17,13 +17,17 @@ #define _SP804_TIMER_H__
// SP804 Timer constants
-#define SP804_TIMER_LOAD_REG 0x00
-#define SP804_TIMER_CURRENT_REG 0x04
-#define SP804_TIMER_CONTROL_REG 0x08
-#define SP804_TIMER_INT_CLR_REG 0x0C
-#define SP804_TIMER_RAW_INT_STS_REG 0x10
-#define SP804_TIMER_MSK_INT_STS_REG 0x14
-#define SP804_TIMER_BG_LOAD_REG 0x18
+// Note: The SP804 Timer module comprises two timers, Timer_0 and Timer_1
+// These timers are identical and all their registers have an offset of 0x20
+// i.e. SP804_TIMER_0_LOAD_REG = 0x00 and SP804_TIMER_1_LOAD_REG = 0x20
+// Therefore, define all registers only once and adjust the base addresses by 0x20
+#define SP804_TIMER_LOAD_REG 0x00
+#define SP804_TIMER_CURRENT_REG 0x04
+#define SP804_TIMER_CONTROL_REG 0x08
+#define SP804_TIMER_INT_CLR_REG 0x0C
+#define SP804_TIMER_RAW_INT_STS_REG 0x10
+#define SP804_TIMER_MSK_INT_STS_REG 0x14
+#define SP804_TIMER_BG_LOAD_REG 0x18
// Timer control register bit definitions
#define SP804_TIMER_CTRL_ONESHOT BIT0
@@ -36,6 +40,9 @@ #define SP804_TIMER_CTRL_PERIODIC BIT6
#define SP804_TIMER_CTRL_ENABLE BIT7
+// Other SP804 Timer definitions
+#define SP804_MAX_TICKS 0xFFFFFFFF
+
// SP810 System Controller constants
#define SP810_SYS_CTRL_REG 0x00
#define SP810_SYS_CTRL_TIMER0_TIMCLK BIT15 // 0=REFCLK, 1=TIMCLK
|