diff options
| -rw-r--r-- | CHANGELOG | 4 | ||||
| -rw-r--r-- | board/trab/vfd.c | 7 | ||||
| -rw-r--r-- | common/cmd_vfd.c | 26 | ||||
| -rw-r--r-- | include/configs/trab.h | 1 | 
4 files changed, 27 insertions, 11 deletions
| @@ -2,7 +2,9 @@  Changes since U-Boot 0.3.1:  ====================================================================== -* Add support for arbitrary bitmaps for TRAB's  VFD command +* Add support for arbitrary bitmaps for TRAB's  VFD command; +  allow to pass boot bitmap addresses in environment variables; +  allow for zero boot delay  * Patch by Christian Geißinger, 19 May 2002:    On TRAB: wait until the dummy byte has been completely sent diff --git a/board/trab/vfd.c b/board/trab/vfd.c index d0dcedcec..e00294f0f 100644 --- a/board/trab/vfd.c +++ b/board/trab/vfd.c @@ -346,9 +346,10 @@ void transfer_pic(int display, unsigned char *adr, int height, int width)  				}  			}  		} -		display++; -		if (display > 3) -			display = 0; +		if (display > 0) +			display--; +		else +			display = 3;  	}  } diff --git a/common/cmd_vfd.c b/common/cmd_vfd.c index ac0224c08..3ef1395b2 100644 --- a/common/cmd_vfd.c +++ b/common/cmd_vfd.c @@ -61,7 +61,7 @@ int do_vfd (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])  	/* display bitmap at given address */  	bitmap = simple_strtoul(argv[1], NULL, 16); -	transfer_pic(1, (uchar *)bitmap, VFD_LOGO_HEIGHT, VFD_LOGO_WIDTH); +	transfer_pic(3, (uchar *)bitmap, VFD_LOGO_HEIGHT, VFD_LOGO_WIDTH);  	return 0;  }  #endif	/* CFG_CMD_VFD */ @@ -69,19 +69,31 @@ int do_vfd (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])  #ifdef CONFIG_VFD  int trab_vfd (ulong bitmap)  { +	uchar *addr; +	char *s; +  	switch (bitmap) {  	case VFD_TEST_LOGO_BMPNR: -		transfer_pic(1, &vfd_test_logo_bitmap[0], -			VFD_LOGO_HEIGHT, VFD_LOGO_WIDTH); -		return 0; +		if ((s = getenv ("bitmap0")) != NULL) { +			addr = (uchar *)simple_strtoul (s, NULL, 16); +		} else { +			addr = &vfd_test_logo_bitmap[0]; +		} +		break;  	case VFD_REMOTE_LOGO_BMPNR: -		transfer_pic(1, &vfd_remote_logo_bitmap[0], +		transfer_pic(3, &vfd_remote_logo_bitmap[0],  			VFD_LOGO_HEIGHT, VFD_LOGO_WIDTH); -		return 0; +		if ((s = getenv ("bitmap1")) != NULL) { +			addr = (uchar *)simple_strtoul (s, NULL, 16); +		} else { +			addr = &vfd_remote_logo_bitmap[0]; +		} +		break;  	default:  		printf("Unknown bitmap %ld\n", bitmap);  		return 1;  	} -	/* NOTREACHED */ +	transfer_pic(3, addr, VFD_LOGO_HEIGHT, VFD_LOGO_WIDTH); +	return 0;  }  #endif	/* CONFIG_VFD */ diff --git a/include/configs/trab.h b/include/configs/trab.h index 4ac9cc4a7..2466189a8 100644 --- a/include/configs/trab.h +++ b/include/configs/trab.h @@ -118,6 +118,7 @@  #include <cmd_confdefs.h>  #define CONFIG_BOOTDELAY	5 +#define CONFIG_ZERO_BOOTDELAY_CHECK	/* allow to break in always */  #define CONFIG_PREBOOT		"echo;echo *** booting ***;echo"  #define CONFIG_BOOTARGS    	"console=ttyS0"  #define CONFIG_NETMASK          255.255.0.0 |