summaryrefslogtreecommitdiffstats
path: root/bsps/shared/dev/clock
diff options
context:
space:
mode:
Diffstat (limited to 'bsps/shared/dev/clock')
-rw-r--r--bsps/shared/dev/clock/arm-generic-timer.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/bsps/shared/dev/clock/arm-generic-timer.c b/bsps/shared/dev/clock/arm-generic-timer.c
index f0f29e706f..3046c53a46 100644
--- a/bsps/shared/dev/clock/arm-generic-timer.c
+++ b/bsps/shared/dev/clock/arm-generic-timer.c
@@ -138,11 +138,22 @@ CPU_Counter_ticks _CPU_Counter_read(void)
return (uint32_t) arm_gt_clock_get_count();
}
+static void arm_gt_system_init(void)
+{
+#ifdef ARM_GENERIC_TIMER_SYSTEM_BASE
+ volatile uint32_t *cntcr;
+
+ cntcr = (volatile uint32_t *) ARM_GENERIC_TIMER_SYSTEM_BASE;
+ *cntcr = ARM_GENERIC_TIMER_SYSTEM_CNTCR;
+#endif
+}
+
static void arm_gt_clock_early_init(void)
{
uint32_t frequency;
- arm_gt_clock_set_control(0x3);
+ arm_gt_system_init();
+ arm_gt_clock_set_control(0x3);
arm_generic_timer_get_config(
&frequency,
&arm_gt_clock_instance.irq