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
 
 
        /* 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 */
 #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 */
 
 #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