Add support for arbitrary bitmaps for TRAB's VFD command;
authorwdenk <wdenk>
Wed, 21 May 2003 20:26:20 +0000 (20:26 +0000)
committerwdenk <wdenk>
Wed, 21 May 2003 20:26:20 +0000 (20:26 +0000)
allow to pass boot bitmap addresses in environment variables;
allow for zero boot delay

CHANGELOG
board/trab/vfd.c
common/cmd_vfd.c
include/configs/trab.h

index 6341f28ec5ffa81603f80f8cd00da4ad30850514..fec7362cc25672b592a4bfbc1edaf47225b08341 100644 (file)
--- 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
index d0dcedcec842c2d655e31454025d918388ff4e5c..e00294f0feeeeaa021d95079e2ec08eb67db5279 100644 (file)
@@ -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;
        }
 }
 
index ac0224c087e2fae0dc4e34558013e3e9bf20b19e..3ef1395b2a349a87d3440bf86d06aacd6ace4f7b 100644 (file)
@@ -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 */
index 4ac9cc4a7c3e05fc8edc8bf82fad51f61650dd88..2466189a8a4993a0ecbcc399afd06b8aba561181 100644 (file)
 #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