From 98f62c27fe481dc2d444d70265268d2369d8a998 Mon Sep 17 00:00:00 2001 From: Tuomas Tynkkynen Date: Mon, 8 Jun 2015 22:29:23 +0300 Subject: [PATCH] vexpress: Use config_distro_bootcmd Also had to hack cli_readline.c, as one codepath in cli_readline_into_buffer doesn't respect the timeout. --- common/cli_readline.c | 12 +++++++++++- configs/vexpress_ca9x4_defconfig | 2 -- include/configs/vexpress_common.h | 2 +- 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/common/cli_readline.c b/common/cli_readline.c index c1476e4..5063a0a 100644 --- a/common/cli_readline.c +++ b/common/cli_readline.c @@ -517,6 +517,7 @@ int cli_readline_into_buffer(const char *const prompt, char *buffer, int plen = 0; /* prompt length */ int col; /* output column cnt */ char c; + int first = 1; /* print prompt */ if (prompt) { @@ -528,7 +529,16 @@ int cli_readline_into_buffer(const char *const prompt, char *buffer, for (;;) { if (bootretry_tstc_timeout()) return -2; /* timed out */ - WATCHDOG_RESET(); /* Trigger watchdog, if needed */ + if (first && timeout) { + uint64_t etime = endtick(timeout); + + while (!tstc()) { /* while no incoming data */ + if (get_ticks() >= etime) + return -2; /* timed out */ + WATCHDOG_RESET(); + } + first = 0; + } #ifdef CONFIG_SHOW_ACTIVITY while (!tstc()) { diff --git a/configs/vexpress_ca9x4_defconfig b/configs/vexpress_ca9x4_defconfig index 2947fc1..9a5123d 100644 --- a/configs/vexpress_ca9x4_defconfig +++ b/configs/vexpress_ca9x4_defconfig @@ -5,11 +5,9 @@ CONFIG_TARGET_VEXPRESS_CA9X4=y # CONFIG_CMD_IMLS is not set # CONFIG_CMD_XIMG is not set # CONFIG_CMD_EDITENV is not set -# CONFIG_CMD_ENV_EXISTS is not set # CONFIG_CMD_LOADB is not set # CONFIG_CMD_LOADS is not set # CONFIG_CMD_FPGA is not set -# CONFIG_CMD_ECHO is not set # CONFIG_CMD_ITEST is not set # CONFIG_CMD_SETEXPR is not set # CONFIG_CMD_NFS is not set diff --git a/include/configs/vexpress_common.h b/include/configs/vexpress_common.h index 98f6ae9..062532a 100644 --- a/include/configs/vexpress_common.h +++ b/include/configs/vexpress_common.h @@ -185,7 +185,6 @@ CONFIG_SYS_INIT_RAM_SIZE - \ GENERATED_GBL_DATA_SIZE) #define CONFIG_SYS_INIT_SP_ADDR CONFIG_SYS_GBL_DATA_OFFSET -#define CONFIG_CMD_ECHO #include @@ -225,6 +224,7 @@ #define CONFIG_EXTRA_ENV_SETTINGS \ CONFIG_PLATFORM_ENV_SETTINGS \ BOOTENV \ + "fdtfile=vexpress-v2p-ca9.dtb\0" \ "console=ttyAMA0,38400n8\0" \ "dram=1024M\0" \ "root=/dev/sda1 rw\0" \ -- 2.6.0