diff options
author | Haavard Skinnemoen <haavard.skinnemoen@atmel.com> | 2008-09-01 16:21:22 +0200 |
---|---|---|
committer | Anatolij Gustschin <agust@denx.de> | 2008-10-27 09:53:58 +0100 |
commit | 6b59e03e0237a40a2305ea385defdfd92000978b (patch) | |
tree | 70f3078e9568171678634959995355a198907806 /board/atmel/at91sam9261ek | |
parent | 6f93d2b8fca504200a5758f7c6dd2d6852900765 (diff) | |
download | u-boot-midas-6b59e03e0237a40a2305ea385defdfd92000978b.tar.gz u-boot-midas-6b59e03e0237a40a2305ea385defdfd92000978b.tar.bz2 u-boot-midas-6b59e03e0237a40a2305ea385defdfd92000978b.zip |
lcd: Let the board code show board-specific info
The information displayed when CONFIG_LCD_INFO is set is inherently
board-specific, so it should be done by the board code. The current code
dealing with this only handles two cases, and is already a horrible mess
of #ifdeffery.
Yes, this duplicates some code, but it also allows boards to print more
board-specific information; this used to be very difficult.
Signed-off-by: Haavard Skinnemoen <haavard.skinnemoen@atmel.com>
Signed-off-by: Anatolij Gustschin <agust@denx.de>
Diffstat (limited to 'board/atmel/at91sam9261ek')
-rw-r--r-- | board/atmel/at91sam9261ek/at91sam9261ek.c | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/board/atmel/at91sam9261ek/at91sam9261ek.c b/board/atmel/at91sam9261ek/at91sam9261ek.c index 76f56d6ae7..70f1db93f6 100644 --- a/board/atmel/at91sam9261ek/at91sam9261ek.c +++ b/board/atmel/at91sam9261ek/at91sam9261ek.c @@ -209,6 +209,35 @@ static void at91sam9261ek_lcd_hw_init(void) gd->fb_base = AT91SAM9261_SRAM_BASE; } + +#ifdef CONFIG_LCD_INFO +#include <nand.h> +#include <version.h> + +void lcd_show_board_info(void) +{ + ulong dram_size, nand_size; + int i; + char temp[32]; + + lcd_printf ("%s\n", U_BOOT_VERSION); + lcd_printf ("(C) 2008 ATMEL Corp\n"); + lcd_printf ("at91support@atmel.com\n"); + lcd_printf ("%s CPU at %s MHz\n", + AT91_CPU_NAME, + strmhz(temp, AT91_MAIN_CLOCK)); + + dram_size = 0; + for (i = 0; i < CONFIG_NR_DRAM_BANKS; i++) + dram_size += gd->bd->bi_dram[i].size; + nand_size = 0; + for (i = 0; i < CONFIG_SYS_MAX_NAND_DEVICE; i++) + nand_size += nand_info[i].size; + lcd_printf (" %ld MB SDRAM, %ld MB NAND\n", + dram_size >> 20, + nand_size >> 20 ); +} +#endif /* CONFIG_LCD_INFO */ #endif int board_init(void) |