summaryrefslogtreecommitdiffstats
path: root/common
diff options
context:
space:
mode:
authorwdenk <wdenk>2003-05-21 20:26:20 +0000
committerwdenk <wdenk>2003-05-21 20:26:20 +0000
commitc8c3a8be2dd09e51d7dc33f431e3a638ac5688f2 (patch)
tree4c88c168e175f41678574f3d72131d9222f722ff /common
parent82226bf4d2fe87076d7f5d7e2677fdd5d0e35fc2 (diff)
downloadu-boot-c8c3a8be2dd09e51d7dc33f431e3a638ac5688f2.tar.gz
u-boot-c8c3a8be2dd09e51d7dc33f431e3a638ac5688f2.tar.xz
u-boot-c8c3a8be2dd09e51d7dc33f431e3a638ac5688f2.zip
Add support for arbitrary bitmaps for TRAB's VFD command;LABEL_2003_05_22_2230
allow to pass boot bitmap addresses in environment variables; allow for zero boot delay
Diffstat (limited to 'common')
-rw-r--r--common/cmd_vfd.c26
1 files changed, 19 insertions, 7 deletions
diff --git a/common/cmd_vfd.c b/common/cmd_vfd.c
index ac0224c087..3ef1395b2a 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 */