diff options
Diffstat (limited to 'common/cmd_display.c')
| -rw-r--r-- | common/cmd_display.c | 26 | 
1 files changed, 9 insertions, 17 deletions
| diff --git a/common/cmd_display.c b/common/cmd_display.c index 6c11aa6e3..d5d5d8c31 100644 --- a/common/cmd_display.c +++ b/common/cmd_display.c @@ -23,40 +23,32 @@  #include <common.h>  #include <command.h> +#include <led-display.h>  #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 * const argv[])  {  	int i; -	int pos;  	/* Clear display */ -	*((volatile char*)(CONFIG_SYS_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 *) (CONFIG_SYS_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 *) (CONFIG_SYS_DISP_CHR_RAM + pos++)) = c; +		while ((*p)) {  #ifdef DEBUG_DISP -			putc(c); +			putc(*p);  #endif +			display_putc(*p++);  		}  	} |