// SPDX-License-Identifier: GPL-2.0+ /* * (C) Copyright 2018 * DENX Software Engineering, Anatolij Gustschin * * cls - clear screen command */ #include #include #include #include #include #define CSI "\x1b[" static int do_video_clear(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) { __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) lcd_clear(); #else return CMD_RET_FAILURE; #endif return CMD_RET_SUCCESS; } U_BOOT_CMD(cls, 1, 1, do_video_clear, "clear screen", "");