From ecf64a5eb94c8a7f2852b049793a96fdfb47a81e Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Wed, 10 Sep 2014 16:17:02 +0200 Subject: bsps/arm: Add a9mpcore_clock_initialize_early() This is necessary to use the CPU counter converter even in case no clock driver is present, e.g. in tmcontext01. --- c/src/lib/libbsp/arm/shared/arm-a9mpcore-clock-config.c | 4 ---- c/src/lib/libbsp/arm/shared/include/arm-a9mpcore-clock.h | 11 ++++++++++- 2 files changed, 10 insertions(+), 5 deletions(-) (limited to 'c/src/lib/libbsp/arm/shared') diff --git a/c/src/lib/libbsp/arm/shared/arm-a9mpcore-clock-config.c b/c/src/lib/libbsp/arm/shared/arm-a9mpcore-clock-config.c index fb8cf38de4..f2ce07e3b6 100644 --- a/c/src/lib/libbsp/arm/shared/arm-a9mpcore-clock-config.c +++ b/c/src/lib/libbsp/arm/shared/arm-a9mpcore-clock-config.c @@ -12,8 +12,6 @@ * http://www.rtems.org/license/LICENSE. */ -#include - #include #include #include @@ -108,8 +106,6 @@ static void a9mpcore_clock_initialize(void) | A9MPCORE_GT_CTRL_IRQ_EN | A9MPCORE_GT_CTRL_COMP_EN | A9MPCORE_GT_CTRL_TMR_EN; - - rtems_counter_initialize_converter((uint32_t) periphclk); } CPU_Counter_ticks _CPU_Counter_read(void) diff --git a/c/src/lib/libbsp/arm/shared/include/arm-a9mpcore-clock.h b/c/src/lib/libbsp/arm/shared/include/arm-a9mpcore-clock.h index 52b871b790..9a8c653801 100644 --- a/c/src/lib/libbsp/arm/shared/include/arm-a9mpcore-clock.h +++ b/c/src/lib/libbsp/arm/shared/include/arm-a9mpcore-clock.h @@ -9,7 +9,7 @@ #ifndef LIBBSP_ARM_SHARED_ARM_A9MPCORE_CLOCK_H #define LIBBSP_ARM_SHARED_ARM_A9MPCORE_CLOCK_H -#include +#include #ifdef __cplusplus extern "C" { @@ -22,6 +22,15 @@ extern "C" { */ uint32_t a9mpcore_clock_periphclk(void); +/** + * @brief Do early clock initialization so that the CPU counter conversion + * works. + */ +static inline void a9mpcore_clock_initialize_early(void) +{ + rtems_counter_initialize_converter(a9mpcore_clock_periphclk()); +} + #ifdef __cplusplus } #endif /* __cplusplus */ -- cgit v1.2.3