Add support for arbitrary bitmaps for TRAB's VFD command; allow to pass boot bitmap addresses in environment variables; allow for zero boot delay
diff --git a/CHANGELOG b/CHANGELOG index 6341f28..fec7362 100644 --- a/CHANGELOG +++ b/CHANGELOG
@@ -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 d0dcedc..e00294f 100644 --- a/board/trab/vfd.c +++ b/board/trab/vfd.c
@@ -346,9 +346,10 @@ } } } - 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 ac0224c..3ef1395 100644 --- a/common/cmd_vfd.c +++ b/common/cmd_vfd.c
@@ -61,7 +61,7 @@ /* 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 @@ #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 4ac9cc4..2466189 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