From 0df8d7f20d1e1e0cddf52f3338989f4fdf2cd8ad Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Mon, 10 Feb 2014 12:21:24 +0100 Subject: 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. --- c/src/lib/libbsp/arm/shared/include/arm-a9mpcore-regs.h | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) (limited to 'c/src/lib/libbsp/arm/shared/include/arm-a9mpcore-regs.h') 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; -- cgit v1.2.3