From 57cac1fa547fa590fe4b7992619b9f26417014c3 Mon Sep 17 00:00:00 2001 From: Wolfgang Denk Date: Sun, 29 Jan 2006 19:12:41 +0100 Subject: Cleanup U-Boot boot messages on ARM. To match the U-Boot user interface on ARM platforms to the U-Boot standard (as on PPC platforms), some messages with debug character are removed from the default U-Boot build. Enable DEBUG for lib_arm/board.c to enable debug messages. New CONFIG_DISPLAY_CPUINFO and CONFIG_DISPLAY_BOARDINFO options. Patch by Stefan Roese, 24 Jan 2006 --- CHANGELOG | 9 +++++++++ lib_arm/board.c | 57 ++++++++++++++++++++++++++++++++++++++++++++++++--------- 2 files changed, 57 insertions(+), 9 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index bdd08fc..12ae5de 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -2,6 +2,15 @@ Changes since U-Boot 1.1.4: ====================================================================== +* Cleanup U-Boot boot messages on ARM. + + To match the U-Boot user interface on ARM platforms to the U-Boot + standard (as on PPC platforms), some messages with debug character + are removed from the default U-Boot build. + Enable DEBUG for lib_arm/board.c to enable debug messages. + New CONFIG_DISPLAY_CPUINFO and CONFIG_DISPLAY_BOARDINFO options. + Patch by Stefan Roese, 24 Jan 2006 + * Fix various compiler warnings on ppc4xx builds (ELDK 4.0) Patch by Stefan Roese, 18 Jan 2006 diff --git a/lib_arm/board.c b/lib_arm/board.c index fa3c92e..3048cbe 100644 --- a/lib_arm/board.c +++ b/lib_arm/board.c @@ -1,5 +1,5 @@ /* - * (C) Copyright 2002 + * (C) Copyright 2002-2006 * Wolfgang Denk, DENX Software Engineering, wd@denx.de. * * (C) Copyright 2002 @@ -25,6 +25,19 @@ * MA 02111-1307 USA */ +/* + * To match the U-Boot user interface on ARM platforms to the U-Boot + * standard (as on PPC platforms), some messages with debug character + * are removed from the default U-Boot build. + * + * Define DEBUG here if you want additional info as shown below + * printed upon startup: + * + * U-Boot code: 00F00000 -> 00F3C774 BSS: -> 00FC3274 + * IRQ Stack: 00ebff7c + * FIQ Stack: 00ebef7c + */ + #include #include #include @@ -120,14 +133,14 @@ static int init_baudrate (void) static int display_banner (void) { printf ("\n\n%s\n\n", version_string); - printf ("U-Boot code: %08lX -> %08lX BSS: -> %08lX\n", - _armboot_start, _bss_start, _bss_end); + debug ("U-Boot code: %08lX -> %08lX BSS: -> %08lX\n", + _armboot_start, _bss_start, _bss_end); #ifdef CONFIG_MODEM_SUPPORT - puts ("Modem Support enabled\n"); + debug ("Modem Support enabled\n"); #endif #ifdef CONFIG_USE_IRQ - printf ("IRQ Stack: %08lx\n", IRQ_STACK_START); - printf ("FIQ Stack: %08lx\n", FIQ_STACK_START); + debug ("IRQ Stack: %08lx\n", IRQ_STACK_START); + debug ("FIQ Stack: %08lx\n", FIQ_STACK_START); #endif return (0); @@ -145,12 +158,22 @@ static int display_dram_config (void) DECLARE_GLOBAL_DATA_PTR; int i; +#ifdef DEBUG puts ("RAM Configuration:\n"); for(i=0; ibd->bi_dram[i].start); print_size (gd->bd->bi_dram[i].size, "\n"); } +#else + ulong size = 0; + + for (i=0; ibd->bi_dram[i].size; + } + puts("DRAM: "); + print_size(size, "\n"); +#endif return (0); } @@ -187,6 +210,8 @@ static void display_flash_config (ulong size) */ typedef int (init_fnc_t) (void); +int print_cpuinfo (void); /* test-only */ + init_fnc_t *init_sequence[] = { cpu_init, /* basic cpu dependent setup */ board_init, /* basic board dependent setup */ @@ -196,11 +221,14 @@ init_fnc_t *init_sequence[] = { serial_init, /* serial communications setup */ console_init_f, /* stage 1 init of console */ display_banner, /* say that we are here */ +#if defined(CONFIG_DISPLAY_CPUINFO) + print_cpuinfo, /* display cpu info (and speed) */ +#endif +#if defined(CONFIG_DISPLAY_BOARDINFO) + checkboard, /* display board info */ +#endif dram_init, /* configure available RAM banks */ display_dram_config, -#if defined(CONFIG_VCMA9) || defined (CONFIG_CMC_PU2) - checkboard, -#endif NULL, }; @@ -301,6 +329,17 @@ void start_armboot (void) if (s) s = (*e) ? e + 1 : e; } + +#ifdef CONFIG_HAS_ETH1 + i = getenv_r ("eth1addr", tmp, sizeof (tmp)); + s = (i > 0) ? tmp : NULL; + + for (reg = 0; reg < 6; ++reg) { + gd->bd->bi_enet1addr[reg] = s ? simple_strtoul (s, &e, 16) : 0; + if (s) + s = (*e) ? e + 1 : e; + } +#endif } devices_init (); /* get the devices list going. */ -- cgit v1.1