summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2014-09-03 17:37:00 -0600
committerSimon Glass <sjg@chromium.org>2014-09-10 12:59:58 -0600
commit294b91a5817147d4b7f47be2ac69bac2a1f26491 (patch)
treeb2f9ee0d3f224b59a160c986f33d9418820ad698
parent3ea0953d36023d7e50fb00b2e258d8fb2828aeac (diff)
downloadu-boot-imx-294b91a5817147d4b7f47be2ac69bac2a1f26491.zip
u-boot-imx-294b91a5817147d4b7f47be2ac69bac2a1f26491.tar.gz
u-boot-imx-294b91a5817147d4b7f47be2ac69bac2a1f26491.tar.bz2
Set up stdio earlier when using driver model
Since driver model registers itself with the stdio subsystem, and we want to avoid delayed registration and other complexity associated with the current serial console, move the stdio subsystem init earlier when driver model is used for serial. This simplifies the implementation. Should there be any problems with this approach they can be dealt with as boards are converted over to use driver model for serial. Signed-off-by: Simon Glass <sjg@chromium.org>
-rw-r--r--common/board_r.c17
1 files changed, 11 insertions, 6 deletions
diff --git a/common/board_r.c b/common/board_r.c
index f9647e1..64beae5 100644
--- a/common/board_r.c
+++ b/common/board_r.c
@@ -727,6 +727,15 @@ init_fnc_t init_sequence_r[] = {
set_cpu_clk_info, /* Setup clock information */
#endif
initr_reloc_global_data,
+ initr_barrier,
+ initr_malloc,
+ bootstage_relocate,
+#ifdef CONFIG_DM_SERIAL
+ stdio_init,
+#endif
+#ifdef CONFIG_DM
+ initr_dm,
+#endif
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,9 @@ init_fnc_t init_sequence_r[] = {
*/
initr_pci,
#endif
+#ifndef CONFIG_DM_SERIAL
stdio_init,
+#endif
initr_jumptable,
#ifdef CONFIG_API
initr_api,