On Fri, 11 Feb 2022 at 10:11, Heinrich Schuchardt <[email protected]> wrote: > > Currently the cls command does not support the serial console > > The screen can be cleared in the video uclass, the colored frame buffer > console, and the serial console by sending the same escape sequence. > This reduces the cls command to a single printf() statement on most > boards. > > Signed-off-by: Heinrich Schuchardt <[email protected]> > --- > v2: > support cls with CONFIG_DM_VIDEO=y and CONFIG_VIDEO_ANSI=n > --- > cmd/cls.c | 8 ++++++-- > 1 file changed, 6 insertions(+), 2 deletions(-)
Reviewed-by: Simon Glass <[email protected]> (would be better with if() instead of #if) > > diff --git a/cmd/cls.c b/cmd/cls.c > index eab4e6993b..b411fc1eb1 100644 > --- a/cmd/cls.c > +++ b/cmd/cls.c > @@ -11,12 +11,16 @@ > #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) && !defined(CONFIG_VIDEO_ANSI) > if (uclass_first_device_err(UCLASS_VIDEO, &dev)) > return CMD_RET_FAILURE; > > -- > 2.34.1 >

