summaryrefslogtreecommitdiff
path: root/lib_arm
diff options
context:
space:
mode:
Diffstat (limited to 'lib_arm')
-rw-r--r--lib_arm/board.c15
1 files changed, 13 insertions, 2 deletions
diff --git a/lib_arm/board.c b/lib_arm/board.c
index f169920..5192e64 100644
--- a/lib_arm/board.c
+++ b/lib_arm/board.c
@@ -27,7 +27,9 @@
#include <common.h>
#include <command.h>
+#include <malloc.h>
#include <devices.h>
+#include <syscall.h>
#include <version.h>
#include <net.h>
@@ -101,8 +103,7 @@ static int init_baudrate (void)
uchar tmp[64]; /* long enough for environment variables */
int i = getenv_r ("baudrate", tmp, sizeof (tmp));
-
- gd->baudrate = (i > 0)
+ gd->bd->bi_baudrate = gd->baudrate = (i > 0)
? (int) simple_strtoul (tmp, NULL, 10)
: CONFIG_BAUDRATE;
@@ -186,6 +187,7 @@ init_fnc_t *init_sequence[] = {
env_init, /* initialize environment */
init_baudrate, /* initialze baudrate settings */
serial_init, /* serial communications setup */
+ console_init_f, /* stage 1 init of console */
display_banner, /* say that we are here */
dram_init, /* configure available RAM banks */
display_dram_config,
@@ -283,6 +285,15 @@ void start_armboot (void)
}
}
+ devices_init (); /* get the devices list going. */
+
+ /* Syscalls are not implemented for ARM. But allocating
+ * this allows the console_init routines to work without #ifdefs
+ */
+ syscall_tbl = (void **) malloc (NR_SYSCALLS * sizeof (void *));
+
+ console_init_r (); /* fully init console as a device */
+
#if defined(CONFIG_MISC_INIT_R)
/* miscellaneous platform dependent initialisations */
misc_init_r ();