diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2020-12-08 07:56:53 +0100 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2020-12-10 07:58:03 +0100 |
commit | bd7bef528db094914cefef040ddca6c5a0e963d1 (patch) | |
tree | 92c29470cbf7a32bf6af70076e355621496e7873 /bsps/shared/dev/clock | |
parent | bsps/arm: Unify ARM Generic Timer options (diff) | |
download | rtems-bd7bef528db094914cefef040ddca6c5a0e963d1.tar.bz2 |
bsps/arm: Support system level ARM Generic Timer
Update #4202.
Diffstat (limited to 'bsps/shared/dev/clock')
-rw-r--r-- | bsps/shared/dev/clock/arm-generic-timer.c | 13 |
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 |