]>
Commit | Line | Data |
---|---|---|
4e92e60d AG |
1 | // SPDX-License-Identifier: GPL-2.0+ |
2 | /* | |
3 | * (C) Copyright 2018 | |
4 | * DENX Software Engineering, Anatolij Gustschin <[email protected]> | |
5 | * | |
6 | * cls - clear screen command | |
7 | */ | |
8 | #include <common.h> | |
9 | #include <command.h> | |
10 | #include <dm.h> | |
11 | #include <lcd.h> | |
12 | #include <video.h> | |
13 | ||
bfaa51dd HS |
14 | #define CSI "\x1b[" |
15 | ||
09140113 | 16 | static int do_video_clear(struct cmd_tbl *cmdtp, int flag, int argc, |
4e92e60d AG |
17 | char *const argv[]) |
18 | { | |
bfaa51dd | 19 | __maybe_unused struct udevice *dev; |
4e92e60d | 20 | |
bfaa51dd HS |
21 | /* Send clear screen and home */ |
22 | printf(CSI "2J" CSI "1;1H"); | |
23 | #if defined(CONFIG_DM_VIDEO) | |
24 | #if !defined(CONFIG_VIDEO_ANSI) | |
4e92e60d AG |
25 | if (uclass_first_device_err(UCLASS_VIDEO, &dev)) |
26 | return CMD_RET_FAILURE; | |
27 | ||
28 | if (video_clear(dev)) | |
29 | return CMD_RET_FAILURE; | |
bfaa51dd | 30 | #endif |
4e92e60d AG |
31 | #elif defined(CONFIG_LCD) |
32 | lcd_clear(); | |
33 | #else | |
34 | return CMD_RET_FAILURE; | |
35 | #endif | |
36 | return CMD_RET_SUCCESS; | |
37 | } | |
38 | ||
39 | U_BOOT_CMD(cls, 1, 1, do_video_clear, "clear screen", ""); |