diff options
Diffstat (limited to 'cmd/cls.c')
| -rw-r--r-- | cmd/cls.c | 10 | 
1 files changed, 8 insertions, 2 deletions
| diff --git a/cmd/cls.c b/cmd/cls.c index eab4e6993bb..bdeb49786d4 100644 --- a/cmd/cls.c +++ b/cmd/cls.c @@ -11,17 +11,23 @@  #include <lcd.h>  #include <video.h> +#define CSI "\x1b[" +  static int do_video_clear(struct cmd_tbl *cmdtp, int flag, int argc,  			  char *const argv[])  { -#if defined(CONFIG_DM_VIDEO) -	struct udevice *dev; +	__maybe_unused struct udevice *dev; +	/*  Send clear screen and home */ +	printf(CSI "2J" CSI "1;1H"); +#if defined(CONFIG_DM_VIDEO) +#if !defined(CONFIG_VIDEO_ANSI)  	if (uclass_first_device_err(UCLASS_VIDEO, &dev))  		return CMD_RET_FAILURE;  	if (video_clear(dev))  		return CMD_RET_FAILURE; +#endif  #elif defined(CONFIG_CFB_CONSOLE)  	video_clear();  #elif defined(CONFIG_LCD) | 
