forked from mirrors/nixpkgs
60ec9a557c
Someone submitted conflicting (and non-complete) distro bootconfig support for the Versatile board, so the patch needs changing, yet again. But at least it's getting smaller.
83 lines
2.6 KiB
Diff
83 lines
2.6 KiB
Diff
From 98f62c27fe481dc2d444d70265268d2369d8a998 Mon Sep 17 00:00:00 2001
|
|
From: Tuomas Tynkkynen <tuomas.tynkkynen@iki.fi>
|
|
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 <config_distro_defaults.h>
|
|
|
|
@@ -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
|
|
|