forked from Imagelibrary/rtems
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.
This commit is contained in:
@@ -13,11 +13,13 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include <bsp/bootcard.h>
|
#include <bsp/bootcard.h>
|
||||||
|
#include <bsp/arm-a9mpcore-clock.h>
|
||||||
#include <bsp/irq-generic.h>
|
#include <bsp/irq-generic.h>
|
||||||
#include <bsp/nocache-heap.h>
|
#include <bsp/nocache-heap.h>
|
||||||
|
|
||||||
void bsp_start( void )
|
void bsp_start( void )
|
||||||
{
|
{
|
||||||
|
a9mpcore_clock_initialize_early();
|
||||||
bsp_interrupt_initialize();
|
bsp_interrupt_initialize();
|
||||||
altera_cyclone_v_nocache_init_heap();
|
altera_cyclone_v_nocache_init_heap();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,9 +14,11 @@
|
|||||||
|
|
||||||
#include <bsp.h>
|
#include <bsp.h>
|
||||||
#include <bsp/bootcard.h>
|
#include <bsp/bootcard.h>
|
||||||
|
#include <bsp/arm-a9mpcore-clock.h>
|
||||||
#include <bsp/irq-generic.h>
|
#include <bsp/irq-generic.h>
|
||||||
|
|
||||||
void bsp_start(void)
|
void bsp_start(void)
|
||||||
{
|
{
|
||||||
|
a9mpcore_clock_initialize_early();
|
||||||
bsp_interrupt_initialize();
|
bsp_interrupt_initialize();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,8 +12,6 @@
|
|||||||
* http://www.rtems.org/license/LICENSE.
|
* http://www.rtems.org/license/LICENSE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <rtems/counter.h>
|
|
||||||
|
|
||||||
#include <bsp.h>
|
#include <bsp.h>
|
||||||
#include <bsp/fatal.h>
|
#include <bsp/fatal.h>
|
||||||
#include <bsp/irq.h>
|
#include <bsp/irq.h>
|
||||||
@@ -108,8 +106,6 @@ static void a9mpcore_clock_initialize(void)
|
|||||||
| A9MPCORE_GT_CTRL_IRQ_EN
|
| A9MPCORE_GT_CTRL_IRQ_EN
|
||||||
| A9MPCORE_GT_CTRL_COMP_EN
|
| A9MPCORE_GT_CTRL_COMP_EN
|
||||||
| A9MPCORE_GT_CTRL_TMR_EN;
|
| A9MPCORE_GT_CTRL_TMR_EN;
|
||||||
|
|
||||||
rtems_counter_initialize_converter((uint32_t) periphclk);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
CPU_Counter_ticks _CPU_Counter_read(void)
|
CPU_Counter_ticks _CPU_Counter_read(void)
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
#ifndef LIBBSP_ARM_SHARED_ARM_A9MPCORE_CLOCK_H
|
#ifndef LIBBSP_ARM_SHARED_ARM_A9MPCORE_CLOCK_H
|
||||||
#define LIBBSP_ARM_SHARED_ARM_A9MPCORE_CLOCK_H
|
#define LIBBSP_ARM_SHARED_ARM_A9MPCORE_CLOCK_H
|
||||||
|
|
||||||
#include <bsp.h>
|
#include <rtems/counter.h>
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C" {
|
extern "C" {
|
||||||
@@ -22,6 +22,15 @@ extern "C" {
|
|||||||
*/
|
*/
|
||||||
uint32_t a9mpcore_clock_periphclk(void);
|
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
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif /* __cplusplus */
|
#endif /* __cplusplus */
|
||||||
|
|||||||
@@ -14,9 +14,11 @@
|
|||||||
|
|
||||||
#include <bsp.h>
|
#include <bsp.h>
|
||||||
#include <bsp/bootcard.h>
|
#include <bsp/bootcard.h>
|
||||||
|
#include <bsp/arm-a9mpcore-clock.h>
|
||||||
#include <bsp/irq-generic.h>
|
#include <bsp/irq-generic.h>
|
||||||
|
|
||||||
void bsp_start(void)
|
void bsp_start(void)
|
||||||
{
|
{
|
||||||
|
a9mpcore_clock_initialize_early();
|
||||||
bsp_interrupt_initialize();
|
bsp_interrupt_initialize();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user