display5: Support for the emergency PAD pressing
To enter the special mode, one needs to short cut two pads with e.g. screw
driver.
After power up the SPL will execute u-boot in which proper actions will be
taken.
It is worth noting that we do not alter envs (even the BOOT_FROM variable)
and unconditionally go to recovery.
Signed-off-by: Lukasz Majewski <lukma@denx.de>
diff --git a/include/configs/display5.h b/include/configs/display5.h
index f5656a2..c4cd2ff 100644
--- a/include/configs/display5.h
+++ b/include/configs/display5.h
@@ -100,11 +100,13 @@
#define CONFIG_BAUDRATE 115200
#ifndef CONFIG_BOOTCOMMAND
-#define CONFIG_BOOTCOMMAND "if test ${BOOT_FROM} = FACTORY; then " \
+#define CONFIG_BOOTCOMMAND "if run check_em_pad; then " \
+ "run recovery;" \
+ "else if test ${BOOT_FROM} = FACTORY; then " \
"run factory_nfs;" \
"else " \
"run boot_mmc;" \
- "fi"
+ "fi;fi"
#endif
#define PARTS_DEFAULT \
@@ -246,6 +248,8 @@
#define CONFIG_EXTRA_ENV_SETTINGS \
PARTS_DEFAULT \
+ "gpio_recovery=93\0" \
+ "check_em_pad=gpio input ${gpio_recovery};test $? -eq 0;\0" \
"display=tianma-tm070-800x480\0" \
"board=display5\0" \
"mmcdev=0\0" \