summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/arm/shared/include/arm-a9mpcore-regs.h
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2014-02-10 12:21:24 +0100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2014-02-10 16:58:03 +0100
commit0df8d7f20d1e1e0cddf52f3338989f4fdf2cd8ad (patch)
treec13e559b3774f5e08eb6778f74f1137325bf1ffe /c/src/lib/libbsp/arm/shared/include/arm-a9mpcore-regs.h
parentbsps/arm: Include missing header file (diff)
downloadrtems-0df8d7f20d1e1e0cddf52f3338989f4fdf2cd8ad.tar.bz2
bsps/arm: Use Global Timer for Cortex-A9 MPCore
Use the Global Timer for the Cortex-A9 MPCore clock driver instead of the Private Timer. This enables a consistent nanoseconds since last context switch value across all processors.
Diffstat (limited to 'c/src/lib/libbsp/arm/shared/include/arm-a9mpcore-regs.h')
-rw-r--r--c/src/lib/libbsp/arm/shared/include/arm-a9mpcore-regs.h16
1 files changed, 12 insertions, 4 deletions
diff --git a/c/src/lib/libbsp/arm/shared/include/arm-a9mpcore-regs.h b/c/src/lib/libbsp/arm/shared/include/arm-a9mpcore-regs.h
index 86bdcb2d20..0910e4c5b2 100644
--- a/c/src/lib/libbsp/arm/shared/include/arm-a9mpcore-regs.h
+++ b/c/src/lib/libbsp/arm/shared/include/arm-a9mpcore-regs.h
@@ -58,12 +58,20 @@ typedef struct {
} a9mpcore_gic;
typedef struct {
- uint32_t cntr;
- uint32_t reserved_04;
+ uint32_t cntrlower;
+ uint32_t cntrupper;
+#define A9MPCORE_GT_CTRL_PRESCALER(val) BSP_FLD32(val, 8, 15)
+#define A9MPCORE_GT_CTRL_PRESCALER_GET(reg) BSP_FLD32GET(reg, 8, 15)
+#define A9MPCORE_GT_CTRL_PRESCALER_SET(reg, val) BSP_FLD32SET(reg, val, 8, 15)
+#define A9MPCORE_GT_CTRL_AUTOINC_EN BSP_BIT32(3)
+#define A9MPCORE_GT_CTRL_IRQ_EN BSP_BIT32(2)
+#define A9MPCORE_GT_CTRL_COMP_EN BSP_BIT32(1)
+#define A9MPCORE_GT_CTRL_TMR_EN BSP_BIT32(0)
uint32_t ctrl;
+#define A9MPCORE_GT_IRQST_EFLG BSP_BIT32(0)
uint32_t irqst;
- uint32_t cmpval;
- uint32_t reserved_14;
+ uint32_t cmpvallower;
+ uint32_t cmpvalupper;
uint32_t autoinc;
} a9mpcore_gt;