diff options
author | Wolfgang Denk <wd@denx.de> | 2011-10-12 22:42:28 +0200 |
---|---|---|
committer | Wolfgang Denk <wd@denx.de> | 2011-10-12 22:42:28 +0200 |
commit | 37eefe80bb3f1cc25dc8b10f2b7d0b8077e60e09 (patch) | |
tree | a05c0cc1131832e6f7449d7e06e784348aae3b1f /arch/microblaze/lib | |
parent | 2d4afd493b35e1a3b84cbf0a3098977c9f9b57ca (diff) | |
parent | 2267e2d132b6c5edb3312a85da1a2523437a4532 (diff) | |
download | u-boot-imx-37eefe80bb3f1cc25dc8b10f2b7d0b8077e60e09.zip u-boot-imx-37eefe80bb3f1cc25dc8b10f2b7d0b8077e60e09.tar.gz u-boot-imx-37eefe80bb3f1cc25dc8b10f2b7d0b8077e60e09.tar.bz2 |
Merge branch 'master' of git://git.denx.de/u-boot-microblaze
* 'master' of git://git.denx.de/u-boot-microblaze:
microblaze: Copy bootfile from variables
microblaze: Fix unaligned.h for endians
microblaze: Initialize jumptable and console
microblaze: Support flashes on lower addresses
microblaze: Call common console_init_f initialization function
Diffstat (limited to 'arch/microblaze/lib')
-rw-r--r-- | arch/microblaze/lib/board.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/arch/microblaze/lib/board.c b/arch/microblaze/lib/board.c index d97543b..ca5882d 100644 --- a/arch/microblaze/lib/board.c +++ b/arch/microblaze/lib/board.c @@ -31,6 +31,7 @@ #include <watchdog.h> #include <stdio_dev.h> #include <net.h> +#include <asm/processor.h> DECLARE_GLOBAL_DATA_PTR; @@ -68,6 +69,7 @@ typedef int (init_fnc_t) (void); init_fnc_t *init_sequence[] = { env_init, serial_init, + console_init_f, #ifdef CONFIG_SYS_GPIO_0 gpio_init, #endif @@ -83,6 +85,8 @@ init_fnc_t *init_sequence[] = { NULL, }; +unsigned long monitor_flash_len; + void board_init (void) { bd_t *bd; @@ -104,6 +108,8 @@ void board_init (void) bd->bi_memsize = CONFIG_SYS_SDRAM_SIZE; gd->flags |= GD_FLG_RELOC; /* tell others: relocation done */ + monitor_flash_len = __end - __text_start; + /* * The Malloc area is immediately below the monitor copy in DRAM * aka CONFIG_SYS_MONITOR_BASE - Note there is no need for reloc_off @@ -160,6 +166,12 @@ void board_init (void) /* Initialize stdio devices */ stdio_init (); + /* Initialize the jump table for applications */ + jumptable_init(); + + /* Initialize the console (after the relocation and devices init) */ + console_init_r(); + if ((s = getenv ("loadaddr")) != NULL) { load_addr = simple_strtoul (s, NULL, 16); } @@ -174,6 +186,10 @@ void board_init (void) uchar enetaddr[6]; eth_getenv_enetaddr("ethaddr", enetaddr); printf("MAC: %pM\n", enetaddr); + + s = getenv("bootfile"); + if (s != NULL) + copy_filename(BootFile, s, sizeof(BootFile)); #endif /* main_loop */ |