xref: /rk3399_rockchip-uboot/cmd/display.c (revision 2e192b245ed36a63bab0ef576999a95e23f60ecd)
1*2e192b24SSimon Glass /*
2*2e192b24SSimon Glass  * (C) Copyright 2005
3*2e192b24SSimon Glass  * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
4*2e192b24SSimon Glass  *
5*2e192b24SSimon Glass  * SPDX-License-Identifier:	GPL-2.0+
6*2e192b24SSimon Glass  */
7*2e192b24SSimon Glass 
8*2e192b24SSimon Glass #include <common.h>
9*2e192b24SSimon Glass #include <command.h>
10*2e192b24SSimon Glass #include <led-display.h>
11*2e192b24SSimon Glass 
12*2e192b24SSimon Glass #undef DEBUG_DISP
13*2e192b24SSimon Glass 
do_display(cmd_tbl_t * cmdtp,int flag,int argc,char * const argv[])14*2e192b24SSimon Glass int do_display (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
15*2e192b24SSimon Glass {
16*2e192b24SSimon Glass 	int i;
17*2e192b24SSimon Glass 
18*2e192b24SSimon Glass 	/* Clear display */
19*2e192b24SSimon Glass 	display_set(DISPLAY_CLEAR | DISPLAY_HOME);
20*2e192b24SSimon Glass 
21*2e192b24SSimon Glass 	if (argc < 2)
22*2e192b24SSimon Glass 		return (0);
23*2e192b24SSimon Glass 
24*2e192b24SSimon Glass 	for (i = 1; i < argc; i++) {
25*2e192b24SSimon Glass 		char *p = argv[i];
26*2e192b24SSimon Glass 
27*2e192b24SSimon Glass 		if (i > 1) { /* Insert a space between strings */
28*2e192b24SSimon Glass 			display_putc(' ');
29*2e192b24SSimon Glass 		}
30*2e192b24SSimon Glass 
31*2e192b24SSimon Glass 		while ((*p)) {
32*2e192b24SSimon Glass #ifdef DEBUG_DISP
33*2e192b24SSimon Glass 			putc(*p);
34*2e192b24SSimon Glass #endif
35*2e192b24SSimon Glass 			display_putc(*p++);
36*2e192b24SSimon Glass 		}
37*2e192b24SSimon Glass 	}
38*2e192b24SSimon Glass 
39*2e192b24SSimon Glass #ifdef DEBUG_DISP
40*2e192b24SSimon Glass 	putc('\n');
41*2e192b24SSimon Glass #endif
42*2e192b24SSimon Glass 
43*2e192b24SSimon Glass 	return (0);
44*2e192b24SSimon Glass }
45*2e192b24SSimon Glass 
46*2e192b24SSimon Glass /***************************************************/
47*2e192b24SSimon Glass 
48*2e192b24SSimon Glass U_BOOT_CMD(
49*2e192b24SSimon Glass 	display,	CONFIG_SYS_MAXARGS,	1,	do_display,
50*2e192b24SSimon Glass 	"display string on dot matrix display",
51*2e192b24SSimon Glass 	"[<string>]\n"
52*2e192b24SSimon Glass 	"    - with <string> argument: display <string> on dot matrix display\n"
53*2e192b24SSimon Glass 	"    - without arguments: clear dot matrix display"
54*2e192b24SSimon Glass );
55