summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/arm/shared/include/arm-a9mpcore-start.h
diff options
context:
space:
mode:
Diffstat (limited to 'c/src/lib/libbsp/arm/shared/include/arm-a9mpcore-start.h')
-rw-r--r--c/src/lib/libbsp/arm/shared/include/arm-a9mpcore-start.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/c/src/lib/libbsp/arm/shared/include/arm-a9mpcore-start.h b/c/src/lib/libbsp/arm/shared/include/arm-a9mpcore-start.h
index a62dcdaf83..9ebc5a5cac 100644
--- a/c/src/lib/libbsp/arm/shared/include/arm-a9mpcore-start.h
+++ b/c/src/lib/libbsp/arm/shared/include/arm-a9mpcore-start.h
@@ -120,8 +120,19 @@ BSP_START_TEXT_SECTION static inline arm_a9mpcore_start_hook_0(void)
#endif
}
+BSP_START_TEXT_SECTION static inline arm_a9mpcore_start_global_timer(void)
+{
+ volatile a9mpcore_gt *gt = (volatile a9mpcore_gt *) BSP_ARM_A9MPCORE_GT_BASE;
+
+ gt->ctrl = 0;
+ gt->cntrlower = 0;
+ gt->cntrupper = 0;
+ gt->ctrl = A9MPCORE_GT_CTRL_TMR_EN;
+}
+
BSP_START_TEXT_SECTION static inline arm_a9mpcore_start_hook_1(void)
{
+ arm_a9mpcore_start_global_timer();
arm_a9mpcore_start_set_vector_base();
}