aboutsummaryrefslogtreecommitdiffstats
path: root/board/atmel/at91sam9261ek
diff options
context:
space:
mode:
authorHaavard Skinnemoen <haavard.skinnemoen@atmel.com>2008-09-01 16:21:22 +0200
committerAnatolij Gustschin <agust@denx.de>2008-10-27 09:53:58 +0100
commit6b59e03e0237a40a2305ea385defdfd92000978b (patch)
tree70f3078e9568171678634959995355a198907806 /board/atmel/at91sam9261ek
parent6f93d2b8fca504200a5758f7c6dd2d6852900765 (diff)
downloadu-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.c29
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)