summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGELOG4
-rw-r--r--board/trab/vfd.c7
-rw-r--r--common/cmd_vfd.c26
-rw-r--r--include/configs/trab.h1
4 files changed, 27 insertions, 11 deletions
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 @@ 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 ac0224c..3ef1395 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 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