From dc7c9a1a52403093b9e4aef14ac4c5c014386e57 Mon Sep 17 00:00:00 2001 From: wdenk Date: Wed, 26 Mar 2003 06:55:25 +0000 Subject: * Patch by Rick Bronson, 16 Mar 2003: Add support for Atmel AT91RM9200DK w/NAND * Patches by Robert Schwebel, 19 Mar 2003: - use arm-linux-gcc as default compiler for ARM - fix i2c fixup code - fix missing baudrate setting - added $loadaddr / CFG_LOAD_ADDR support to loadb - moved "ignoring trailing characters" _before_ u-boot wants to print out diagnostics messages; removes bogus characters at the end of transmission * Patch by John Zhan, 18 Mar 2003: Add support for SinoVee Microsystems SC8xx boards * Patch by Rolf Offermanns, 21 Mar 2003: ported the dnp1110 related changes from the current armboot cvs to current u-boot cvs. smc91111 does not work. problem marked in smc91111.c, grep for "FIXME". * Patch by Brian Auld, 25 Mar 2003: Add support for STM flash chips on ebony board * Add PCI support for MPC8250 Boards (PM825 module) * Patch by Stefan Roese, 25 Mar 2003: --- common/cmd_boot.c | 46 ++++++++++++++++++++++------------------------ 1 file changed, 22 insertions(+), 24 deletions(-) (limited to 'common/cmd_boot.c') diff --git a/common/cmd_boot.c b/common/cmd_boot.c index 2604e41bfa..1c9a41d8e4 100644 --- a/common/cmd_boot.c +++ b/common/cmd_boot.c @@ -153,10 +153,9 @@ int do_bdinfo ( cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) print_num ("boot_params", (ulong)bd->bi_boot_params); for (i=0; ibi_dram[i].start); - printf ("DRAM:%02d.size = %08lX\n", - i, bd->bi_dram[i].size); + print_num("DRAM bank", i); + print_num("-> start", bd->bi_dram[i].start); + print_num("-> size", bd->bi_dram[i].size); } printf ("ethaddr ="); @@ -200,7 +199,7 @@ int do_go (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) addr = simple_strtoul(argv[1], NULL, 16); - printf ("## Starting application at 0x%08lx ...\n", addr); + printf ("## Starting application at 0x%08lX ...\n", addr); /* * pass address parameter as argv[0] (aka command name), @@ -209,7 +208,7 @@ int do_go (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) rc = ((ulong (*)(int, char *[]))addr) (--argc, &argv[1]); if (rc != 0) rcode = 1; - printf ("## Application terminated, rc = 0x%lx\n", rc); + printf ("## Application terminated, rc = 0x%lX\n", rc); return rcode; } @@ -285,7 +284,7 @@ int do_load_serial (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) printf ("## S-Record download aborted\n"); rcode = 1; } else { - printf ("## Start Addr = 0x%08lx\n", addr); + printf ("## Start Addr = 0x%08lX\n", addr); load_addr = addr; } @@ -345,9 +344,9 @@ load_serial (ulong offset) memcpy ((char *)(store_addr), binbuf, binlen); } if ((store_addr) < start_addr) - start_addr = store_addr; + start_addr = store_addr; if ((store_addr + binlen - 1) > end_addr) - end_addr = store_addr + binlen - 1; + end_addr = store_addr + binlen - 1; break; case SREC_END2: case SREC_END3: @@ -606,9 +605,17 @@ int do_load_serial_bin (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) ulong offset = 0; ulong addr; - int i; int load_baudrate, current_baudrate; int rcode = 0; + char *s; + + /* pre-set offset from CFG_LOAD_ADDR */ + offset = CFG_LOAD_ADDR; + + /* pre-set offset from $loadaddr */ + if ((s = getenv("loadaddr")) != NULL) { + offset = simple_strtoul(s, NULL, 16); + } load_baudrate = current_baudrate = gd->baudrate; @@ -635,28 +642,19 @@ int do_load_serial_bin (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) break; } } - printf ("## Ready for binary (kermit) download ...\n"); + printf ("## Ready for binary (kermit) download " + "to 0x%08lX at %d bps...\n", + offset, + current_baudrate); addr = load_serial_bin (offset); - /* - * Gather any trailing characters (for instance, the ^D which - * is sent by 'cu' after sending a file), and give the - * box some time (100 * 1 ms) - */ - for (i=0; i<100; ++i) { - if (serial_tstc()) { - (void) serial_getc(); - } - udelay(1000); - } - if (addr == ~0) { load_addr = 0; printf ("## Binary (kermit) download aborted\n"); rcode = 1; } else { - printf ("## Start Addr = 0x%08lx\n", addr); + printf ("## Start Addr = 0x%08lX\n", addr); load_addr = addr; } -- cgit v1.2.1