summaryrefslogtreecommitdiff
path: root/common
diff options
context:
space:
mode:
Diffstat (limited to 'common')
-rw-r--r--common/board_f.c4
-rw-r--r--common/board_r.c19
-rw-r--r--common/stdio.c18
3 files changed, 29 insertions, 12 deletions
diff --git a/common/board_f.c b/common/board_f.c
index 4ece2b6..ea33ead 100644
--- a/common/board_f.c
+++ b/common/board_f.c
@@ -831,6 +831,8 @@ static init_fnc_t init_sequence_f[] = {
#ifdef CONFIG_OF_CONTROL
fdtdec_check_fdt,
#endif
+ initf_malloc,
+ initf_dm,
#if defined(CONFIG_BOARD_EARLY_INIT_F)
board_early_init_f,
#endif
@@ -866,8 +868,6 @@ static init_fnc_t init_sequence_f[] = {
sdram_adjust_866,
init_timebase,
#endif
- initf_malloc,
- initf_dm,
init_baud_rate, /* initialze baudrate settings */
serial_init, /* serial communications setup */
console_init_f, /* stage 1 init of console */
diff --git a/common/board_r.c b/common/board_r.c
index 551429c..231c6d6 100644
--- a/common/board_r.c
+++ b/common/board_r.c
@@ -715,6 +715,15 @@ init_fnc_t init_sequence_r[] = {
/* TODO: could x86/PPC have this also perhaps? */
#ifdef CONFIG_ARM
initr_caches,
+#endif
+ initr_reloc_global_data,
+ initr_barrier,
+ initr_malloc,
+ bootstage_relocate,
+#ifdef CONFIG_DM
+ initr_dm,
+#endif
+#ifdef CONFIG_ARM
board_init, /* Setup chipselects */
#endif
/*
@@ -726,7 +735,7 @@ init_fnc_t init_sequence_r[] = {
#ifdef CONFIG_CLOCKS
set_cpu_clk_info, /* Setup clock information */
#endif
- initr_reloc_global_data,
+ stdio_init_tables,
initr_serial,
initr_announce,
INIT_FUNC_WATCHDOG_RESET
@@ -763,12 +772,6 @@ init_fnc_t init_sequence_r[] = {
#ifdef CONFIG_WINBOND_83C553
initr_w83c553f,
#endif
- initr_barrier,
- initr_malloc,
- bootstage_relocate,
-#ifdef CONFIG_DM
- initr_dm,
-#endif
#ifdef CONFIG_ARCH_EARLY_INIT_R
arch_early_init_r,
#endif
@@ -818,7 +821,7 @@ init_fnc_t init_sequence_r[] = {
*/
initr_pci,
#endif
- stdio_init,
+ stdio_add_devices,
initr_jumptable,
#ifdef CONFIG_API
initr_api,
diff --git a/common/stdio.c b/common/stdio.c
index 692ca7f..c878103 100644
--- a/common/stdio.c
+++ b/common/stdio.c
@@ -215,7 +215,7 @@ int stdio_deregister(const char *devname)
}
#endif /* CONFIG_SYS_STDIO_DEREGISTER */
-int stdio_init (void)
+int stdio_init_tables(void)
{
#if defined(CONFIG_NEEDS_MANUAL_RELOC)
/* already relocated for current ARM implementation */
@@ -232,6 +232,11 @@ int stdio_init (void)
/* Initialize the list */
INIT_LIST_HEAD(&(devs.list));
+ return 0;
+}
+
+int stdio_add_devices(void)
+{
#ifdef CONFIG_SYS_I2C
i2c_init_all();
#else
@@ -265,5 +270,14 @@ int stdio_init (void)
#ifdef CONFIG_CBMEM_CONSOLE
cbmemc_init();
#endif
- return (0);
+
+ return 0;
+}
+
+int stdio_init(void)
+{
+ stdio_init_tables();
+ stdio_add_devices();
+
+ return 0;
}