From de47a34d4de1d007a8951efd072283516d580ffa Mon Sep 17 00:00:00 2001 From: Matthias Fuchs Date: Wed, 29 Apr 2009 09:51:00 +0200 Subject: 4xx: Remove binary cpld bitstream from DP405 board This patch removes the cpld binary bitstream that is used by esd's cpld command on DP405 boards. Because u-boot with an external cpld bitstream may not take more space in flash than before the u-boot binary is shrinked a little bit. Some unused featues have been removed therefore. Signed-off-by: Matthias Fuchs Signed-off-by: Stefan Roese --- board/esd/dp405/dp405.c | 8 -------- 1 file changed, 8 deletions(-) (limited to 'board/esd/dp405/dp405.c') diff --git a/board/esd/dp405/dp405.c b/board/esd/dp405/dp405.c index c32c7c7..352b877 100644 --- a/board/esd/dp405/dp405.c +++ b/board/esd/dp405/dp405.c @@ -29,14 +29,6 @@ DECLARE_GLOBAL_DATA_PTR; -/* fpga configuration data - not compressed, generated by bin2c */ -const unsigned char fpgadata[] = -{ -#include "fpgadata.c" -}; -int filesize = sizeof(fpgadata); - - int board_early_init_f (void) { /* -- cgit v1.1 From 70be6c2d40076f14062b892152649f9a62832fc9 Mon Sep 17 00:00:00 2001 From: Matthias Fuchs Date: Wed, 29 Apr 2009 09:51:01 +0200 Subject: 4xx: Add support for DP405 hardware variants Signed-off-by: Matthias Fuchs Signed-off-by: Stefan Roese --- board/esd/dp405/dp405.c | 32 ++++++++++++++++++++++++++------ 1 file changed, 26 insertions(+), 6 deletions(-) (limited to 'board/esd/dp405/dp405.c') diff --git a/board/esd/dp405/dp405.c b/board/esd/dp405/dp405.c index 352b877..8f4b78d 100644 --- a/board/esd/dp405/dp405.c +++ b/board/esd/dp405/dp405.c @@ -89,20 +89,40 @@ int checkboard (void) int i = getenv_r ("serial#", str, sizeof(str)); unsigned char trans[16] = {0x0,0x8,0x4,0xc,0x2,0xa,0x6,0xe, 0x1,0x9,0x5,0xd,0x3,0xb,0x7,0xf}; - unsigned char id1, id2; + unsigned char id1, id2, rev; puts ("Board: "); - if (i == -1) { + if (i == -1) puts ("### No HW ID - assuming DP405"); - } else { + else puts(str); - } id1 = trans[(~(in_be32((void *)GPIO0_IR) >> 5)) & 0x0000000f]; id2 = trans[(~(in_be32((void *)GPIO0_IR) >> 9)) & 0x0000000f]; - printf(" (ID=0x%1X%1X, PLD=0x%02X)\n", - id2, id1, in_8((void *)0xf0001000)); + + rev = in_8((void *)0xf0001000); + if (rev & 0x10) /* old DP405 compatibility */ + rev = in_8((void *)0xf0000800); + + switch (rev & 0xc0) { + case 0x00: + puts(" (HW=DP405"); + break; + case 0x80: + puts(" (HW=DP405/CO"); + break; + case 0xc0: + puts(" (HW=DN405"); + break; + } + printf(", ID=0x%1X%1X, PLD=0x%02X", id2, id1, rev & 0x0f); + + if ((rev & 0xc0) == 0xc0) { + printf(", C5V=%s", + in_be32((void *)GPIO0_IR) & 0x40000000 ? "off" : "on"); + } + puts(")\n"); return 0; } -- cgit v1.1