X-Git-Url: https://git.kernelconcepts.de/?p=karo-tx-uboot.git;a=blobdiff_plain;f=common%2Fcmd_display.c;h=bc1b1ebb8f46248622ababd874127d6bcceb14fa;hp=982e09dab62362dd3d5809e00410052ef780a983;hb=1cd4b6253eab13c5cea7fae5e217bbd28fef15a0;hpb=f82642e33899766892499b163e60560fbbf87773 diff --git a/common/cmd_display.c b/common/cmd_display.c index 982e09dab6..bc1b1ebb8f 100644 --- a/common/cmd_display.c +++ b/common/cmd_display.c @@ -2,61 +2,37 @@ * (C) Copyright 2005 * Wolfgang Denk, DENX Software Engineering, wd@denx.de. * - * See file CREDITS for list of people who contributed to this - * project. - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License as - * published by the Free Software Foundation; either version 2 of - * the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA + * SPDX-License-Identifier: GPL-2.0+ */ #include #include +#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*)(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++); } } @@ -71,8 +47,8 @@ int do_display (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) U_BOOT_CMD( display, CONFIG_SYS_MAXARGS, 1, do_display, - "display- display string on dot matrix display\n", + "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" );