X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=common%2Fcmd_display.c;h=d5d5d8c31d73854b2aa054582f482804abc550d9;hb=178239de194a0e84d07b8e48fb74cb156f654d75;hp=d19f412819d2aba58a364122b8c714b6940bcba5;hpb=78549bbf44bd2c8d1a0730fb068836071751afaa;p=u-boot diff --git a/common/cmd_display.c b/common/cmd_display.c index d19f412819..d5d5d8c31d 100644 --- a/common/cmd_display.c +++ b/common/cmd_display.c @@ -23,42 +23,32 @@ #include #include - -#if defined(CONFIG_CMD_DISPLAY) +#include #undef DEBUG_DISP -#define DISP_SIZE 8 -#define CWORD_CLEAR 0x80 -#define CLEAR_DELAY (110 * 2) - -int do_display (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) +int do_display (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) { int i; - int pos; /* Clear display */ - *((volatile char*)(CFG_DISP_CWORD)) = CWORD_CLEAR; - udelay(1000 * CLEAR_DELAY); + display_set(DISPLAY_CLEAR | DISPLAY_HOME); if (argc < 2) return (0); - for (pos = 0, i = 1; i < argc && pos < DISP_SIZE; i++) { - char *p = argv[i], c; + for (i = 1; i < argc; i++) { + char *p = argv[i]; - if (i > 1) { - *((volatile uchar *) (CFG_DISP_CHR_RAM + pos++)) = ' '; -#ifdef DEBUG_DISP - putc(' '); -#endif + if (i > 1) { /* Insert a space between strings */ + display_putc(' '); } - while ((c = *p++) != '\0' && pos < DISP_SIZE) { - *((volatile uchar *) (CFG_DISP_CHR_RAM + pos++)) = c; + while ((*p)) { #ifdef DEBUG_DISP - putc(c); + putc(*p); #endif + display_putc(*p++); } } @@ -72,11 +62,9 @@ int do_display (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) /***************************************************/ U_BOOT_CMD( - display, CFG_MAXARGS, 1, do_display, - "display- display string on dot matrix display\n", + display, CONFIG_SYS_MAXARGS, 1, do_display, + "display string on dot matrix display", "[]\n" " - with argument: display on dot matrix display\n" - " - without arguments: clear dot matrix display\n" + " - without arguments: clear dot matrix display" ); - -#endif