diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2014-09-10 16:17:02 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2014-09-10 16:17:02 +0200 |
commit | ecf64a5eb94c8a7f2852b049793a96fdfb47a81e (patch) | |
tree | fa7397184d0a51e7d70a6566e25835b6d59f9046 /c/src/lib/libbsp/arm/shared | |
parent | or1k: Let CPU/BSP Fatal handler have access to source (diff) | |
download | rtems-ecf64a5eb94c8a7f2852b049793a96fdfb47a81e.tar.bz2 |
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.
Diffstat (limited to 'c/src/lib/libbsp/arm/shared')
-rw-r--r-- | c/src/lib/libbsp/arm/shared/arm-a9mpcore-clock-config.c | 4 | ||||
-rw-r--r-- | c/src/lib/libbsp/arm/shared/include/arm-a9mpcore-clock.h | 11 |
2 files changed, 10 insertions, 5 deletions
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 <rtems/counter.h> - #include <bsp.h> #include <bsp/fatal.h> #include <bsp/irq.h> @@ -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 <bsp.h> +#include <rtems/counter.h> #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 */ |