summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2016-06-20 08:03:18 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2016-06-20 08:11:16 +0200
commita4fa007be94a44ac363a6f177fb6b2f451b3e849 (patch)
tree273d53a7aba677c076aec586a070ff058163eefd
parentscore: Refine system initialization order (diff)
downloadrtems-a4fa007be94a44ac363a6f177fb6b2f451b3e849.tar.bz2
bsp/leon3: Use sysinit for amba_initialize()
-rw-r--r--c/src/lib/libbsp/sparc/leon3/amba/amba.c9
-rw-r--r--c/src/lib/libbsp/sparc/leon3/include/amba.h2
-rw-r--r--c/src/lib/libbsp/sparc/leon3/startup/bspstart.c5
3 files changed, 8 insertions, 8 deletions
diff --git a/c/src/lib/libbsp/sparc/leon3/amba/amba.c b/c/src/lib/libbsp/sparc/leon3/amba/amba.c
index 988aedafba..f1598b8189 100644
--- a/c/src/lib/libbsp/sparc/leon3/amba/amba.c
+++ b/c/src/lib/libbsp/sparc/leon3/amba/amba.c
@@ -15,6 +15,7 @@
#include <bsp/fatal.h>
#include <leon.h>
#include <ambapp.h>
+#include <rtems/sysinit.h>
unsigned int leon3_timer_prescaler __attribute__((weak)) = 0;
int leon3_timer_core_index __attribute__((weak)) = 0;
@@ -85,7 +86,7 @@ struct ambapp_dev *LEON3_Timer_Adev;
* amba_ahb_masters, amba_ahb_slaves and amba.
*/
-void amba_initialize(void)
+static void amba_initialize(void)
{
int icsel;
struct ambapp_dev *adev;
@@ -157,3 +158,9 @@ void amba_initialize(void)
ambapp_grlib_root_register(&grlib_bus_config);
#endif
}
+
+RTEMS_SYSINIT_ITEM(
+ amba_initialize,
+ RTEMS_SYSINIT_BSP_START,
+ RTEMS_SYSINIT_ORDER_FIRST
+);
diff --git a/c/src/lib/libbsp/sparc/leon3/include/amba.h b/c/src/lib/libbsp/sparc/leon3/include/amba.h
index 2bbc33308c..059b28ca07 100644
--- a/c/src/lib/libbsp/sparc/leon3/include/amba.h
+++ b/c/src/lib/libbsp/sparc/leon3/include/amba.h
@@ -41,8 +41,6 @@ extern "C" {
/* The AMBA Plug&Play info of the bus that the LEON3 sits on */
extern struct ambapp_bus ambapp_plb;
-void amba_initialize(void);
-
#ifdef __cplusplus
}
#endif
diff --git a/c/src/lib/libbsp/sparc/leon3/startup/bspstart.c b/c/src/lib/libbsp/sparc/leon3/startup/bspstart.c
index ca4f38f6a0..a49afd2266 100644
--- a/c/src/lib/libbsp/sparc/leon3/startup/bspstart.c
+++ b/c/src/lib/libbsp/sparc/leon3/startup/bspstart.c
@@ -66,11 +66,6 @@ void bsp_start( void )
*/
LEON3_Cpu_Index = _LEON3_Get_current_processor();
- /* Scan AMBA Plug&Play and parse it into a RAM description (ambapp_plb),
- * find GPTIMER for bus frequency, find IRQ Controller and initialize
- * interrupt support
- */
- amba_initialize();
leon3_cpu_counter_initialize();
/* find debug UART for printk() */