video: Drop CONFIG_LCD_MENU

This relies on the old LCD implementation which is to be removed. Drop it.

Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
Simon Glass 2022-10-16 15:06:52 -06:00 committed by Anatolij Gustschin
parent 832bcbb083
commit 817f93422b
7 changed files with 0 additions and 368 deletions

View File

@ -262,10 +262,6 @@ int misc_init_r(void)
#ifdef CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG
set_board_info();
#endif
#ifdef CONFIG_LCD_MENU
keys_init();
check_boot_mode();
#endif
#ifdef CONFIG_CMD_BMP
if (panel_info.logo_on)
draw_logo();

View File

@ -114,345 +114,6 @@ void set_board_info(void)
}
#endif /* CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG */
#ifdef CONFIG_LCD_MENU
static int power_key_pressed(u32 reg)
{
struct udevice *dev;
int ret;
u32 status;
u32 mask;
if (IS_ENABLED(CONFIG_TARGET_TRATS))
ret = pmic_get("max8997-pmic", &dev);
else if (IS_ENABLED(CONFIG_TARGET_TRATS2))
ret = pmic_get("max77686-pmic", &dev);
else if (IS_ENABLED(CONFIG_TARGET_S5PC210_UNIVERSAL))
ret = pmic_get("max8998-pmic", &dev);
else
return 0;
if (ret)
return ret;
if (reg == KEY_PWR_STATUS_REG)
mask = KEY_PWR_STATUS_MASK;
else
mask = KEY_PWR_INTERRUPT_MASK;
status = pmic_reg_read(dev, reg);
if (status < 0)
return status;
return !!(status & mask);
}
static int key_pressed(int key)
{
int value;
switch (key) {
case KEY_POWER:
value = power_key_pressed(KEY_PWR_INTERRUPT_REG);
break;
case KEY_VOLUMEUP:
value = !gpio_get_value(KEY_VOL_UP_GPIO);
break;
case KEY_VOLUMEDOWN:
value = !gpio_get_value(KEY_VOL_DOWN_GPIO);
break;
default:
value = 0;
break;
}
return value;
}
#ifdef CONFIG_LCD
static int check_keys(void)
{
int keys = 0;
if (key_pressed(KEY_POWER))
keys += KEY_POWER;
if (key_pressed(KEY_VOLUMEUP))
keys += KEY_VOLUMEUP;
if (key_pressed(KEY_VOLUMEDOWN))
keys += KEY_VOLUMEDOWN;
return keys;
}
/*
* 0 BOOT_MODE_INFO
* 1 BOOT_MODE_THOR
* 2 BOOT_MODE_UMS
* 3 BOOT_MODE_DFU
* 4 BOOT_MODE_EXIT
*/
static char *
mode_name[BOOT_MODE_EXIT + 1][2] = {
{"DEVICE", ""},
{"THOR", "thor"},
{"UMS", "ums"},
{"DFU", "dfu"},
{"GPT", "gpt"},
{"ENV", "env"},
{"EXIT", ""},
};
static char *
mode_info[BOOT_MODE_EXIT + 1] = {
"info",
"downloader",
"mass storage",
"firmware update",
"restore",
"default",
"and run normal boot"
};
static char *
mode_cmd[BOOT_MODE_EXIT + 1] = {
"",
"thor 0 mmc 0",
"ums 0 mmc 0",
"dfu 0 mmc 0",
"gpt write mmc 0 $partitions",
"env default -a; saveenv",
"",
};
static void display_board_info(void)
{
#ifdef CONFIG_MMC
struct mmc *mmc = find_mmc_device(0);
#endif
vidinfo_t *vid = &panel_info;
lcd_position_cursor(4, 4);
lcd_printf("%s\n\t", U_BOOT_VERSION);
lcd_puts("\n\t\tBoard Info:\n");
#ifdef CONFIG_SYS_BOARD
lcd_printf("\tBoard name: %s\n", CONFIG_SYS_BOARD);
#endif
#ifdef CONFIG_REVISION_TAG
lcd_printf("\tBoard rev: %u\n", get_board_rev());
#endif
lcd_printf("\tDRAM banks: %u\n", CONFIG_NR_DRAM_BANKS);
lcd_printf("\tDRAM size: %u MB\n", gd->ram_size / SZ_1M);
#ifdef CONFIG_MMC
if (mmc) {
if (!mmc->capacity)
mmc_init(mmc);
lcd_printf("\teMMC size: %llu MB\n", mmc->capacity / SZ_1M);
}
#endif
if (vid)
lcd_printf("\tDisplay resolution: %u x % u\n",
vid->vl_col, vid->vl_row);
lcd_printf("\tDisplay BPP: %u\n", 1 << vid->vl_bpix);
}
#endif
static int mode_leave_menu(int mode)
{
#ifdef CONFIG_LCD
char *exit_option;
char *exit_reset = "reset";
char *exit_back = "back";
struct cmd_tbl *cmd;
int cmd_result;
int leave;
lcd_clear();
switch (mode) {
case BOOT_MODE_EXIT:
return 1;
case BOOT_MODE_INFO:
display_board_info();
exit_option = exit_back;
leave = 0;
break;
default:
cmd = find_cmd(mode_name[mode][1]);
if (cmd) {
printf("Enter: %s %s\n", mode_name[mode][0],
mode_info[mode]);
lcd_printf("\n\n\t%s %s\n", mode_name[mode][0],
mode_info[mode]);
lcd_puts("\n\tDo not turn off device before finish!\n");
cmd_result = run_command(mode_cmd[mode], 0);
if (cmd_result == CMD_RET_SUCCESS) {
printf("Command finished\n");
lcd_clear();
lcd_printf("\n\n\t%s finished\n",
mode_name[mode][0]);
exit_option = exit_reset;
leave = 1;
} else {
printf("Command error\n");
lcd_clear();
lcd_printf("\n\n\t%s command error\n",
mode_name[mode][0]);
exit_option = exit_back;
leave = 0;
}
} else {
lcd_puts("\n\n\tThis mode is not supported.\n");
exit_option = exit_back;
leave = 0;
}
}
lcd_printf("\n\n\tPress POWER KEY to %s\n", exit_option);
/* Clear PWR button Rising edge interrupt status flag */
power_key_pressed(KEY_PWR_INTERRUPT_REG);
/* Wait for PWR key */
while (!key_pressed(KEY_POWER))
mdelay(1);
lcd_clear();
return leave;
#else
return 0;
#endif
}
#ifdef CONFIG_LCD
static void display_download_menu(int mode)
{
char *selection[BOOT_MODE_EXIT + 1];
int i;
for (i = 0; i <= BOOT_MODE_EXIT; i++)
selection[i] = "[ ]";
selection[mode] = "[=>]";
lcd_clear();
lcd_printf("\n\n\t\tDownload Mode Menu\n\n");
for (i = 0; i <= BOOT_MODE_EXIT; i++)
lcd_printf("\t%s %s - %s\n\n", selection[i],
mode_name[i][0], mode_info[i]);
}
#endif
static void download_menu(void)
{
#ifdef CONFIG_LCD
int mode = 0;
int last_mode = 0;
int run;
int key = 0;
int timeout = 15; /* sec */
int i;
display_download_menu(mode);
lcd_puts("\n");
/* Start count if no key is pressed */
while (check_keys())
continue;
while (timeout--) {
lcd_printf("\r\tNormal boot will start in: %2.d seconds.",
timeout);
/* about 1000 ms in for loop */
for (i = 0; i < 10; i++) {
mdelay(100);
key = check_keys();
if (key)
break;
}
if (key)
break;
}
if (!key) {
lcd_clear();
return;
}
while (1) {
run = 0;
if (mode != last_mode)
display_download_menu(mode);
last_mode = mode;
mdelay(200);
key = check_keys();
switch (key) {
case KEY_POWER:
run = 1;
break;
case KEY_VOLUMEUP:
if (mode > 0)
mode--;
break;
case KEY_VOLUMEDOWN:
if (mode < BOOT_MODE_EXIT)
mode++;
break;
default:
break;
}
if (run) {
if (mode_leave_menu(mode))
run_command("reset", 0);
display_download_menu(mode);
}
}
lcd_clear();
#endif
}
void check_boot_mode(void)
{
int pwr_key;
pwr_key = power_key_pressed(KEY_PWR_STATUS_REG);
if (!pwr_key)
return;
/* Clear PWR button Rising edge interrupt status flag */
power_key_pressed(KEY_PWR_INTERRUPT_REG);
if (key_pressed(KEY_VOLUMEUP))
download_menu();
else if (key_pressed(KEY_VOLUMEDOWN))
mode_leave_menu(BOOT_MODE_THOR);
}
void keys_init(void)
{
/* Set direction to input */
gpio_request(KEY_VOL_UP_GPIO, "volume-up");
gpio_request(KEY_VOL_DOWN_GPIO, "volume-down");
gpio_direction_input(KEY_VOL_UP_GPIO);
gpio_direction_input(KEY_VOL_DOWN_GPIO);
}
#endif /* CONFIG_LCD_MENU */
#ifdef CONFIG_CMD_BMP
void draw_logo(void)
{

View File

@ -98,9 +98,6 @@ int universal_spi_read(void);
/* Common misc for Samsung */
#define CONFIG_MISC_COMMON
/* Download menu - Samsung common */
#define CONFIG_LCD_MENU
/* Download menu - definitions for check keys */
#ifndef __ASSEMBLY__

View File

@ -128,9 +128,6 @@
/* Common misc for Samsung */
#define CONFIG_MISC_COMMON
/* Download menu - Samsung common */
#define CONFIG_LCD_MENU
/* Download menu - definitions for check keys */
#ifndef __ASSEMBLY__

View File

@ -118,9 +118,6 @@
/* Common misc for Samsung */
#define CONFIG_MISC_COMMON
/* Download menu - Samsung common */
#define CONFIG_LCD_MENU
/* Download menu - definitions for check keys */
#ifndef __ASSEMBLY__

View File

@ -9,21 +9,6 @@ u32 get_board_rev(void);
void set_board_info(void);
#endif
#ifdef CONFIG_LCD_MENU
enum {
BOOT_MODE_INFO,
BOOT_MODE_THOR,
BOOT_MODE_UMS,
BOOT_MODE_DFU,
BOOT_MODE_GPT,
BOOT_MODE_ENV,
BOOT_MODE_EXIT,
};
void keys_init(void);
void check_boot_mode(void);
#endif /* CONFIG_LCD_MENU */
#ifdef CONFIG_CMD_BMP
void draw_logo(void);
#endif

View File

@ -261,7 +261,6 @@ CONFIG_KSNET_SERDES_SGMII2_BASE
CONFIG_KSNET_SERDES_SGMII_BASE
CONFIG_L1_INIT_RAM
CONFIG_L2_CACHE
CONFIG_LCD_MENU
CONFIG_LD9040
CONFIG_LEGACY_BOOTCMD_ENV
CONFIG_LOADS_ECHO