summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--board/lge/sniper/sniper.c18
-rw-r--r--include/configs/sniper.h3
2 files changed, 21 insertions, 0 deletions
diff --git a/board/lge/sniper/sniper.c b/board/lge/sniper/sniper.c
index d5318c4f32..44d422da1b 100644
--- a/board/lge/sniper/sniper.c
+++ b/board/lge/sniper/sniper.c
@@ -9,6 +9,7 @@
#include <config.h>
#include <common.h>
#include <dm.h>
+#include <linux/ctype.h>
#include <asm/arch/mmc_host_def.h>
#include <asm/arch/sys_proto.h>
#include <asm/arch/mem.h>
@@ -67,6 +68,23 @@ int board_init(void)
return 0;
}
+int misc_init_r(void)
+{
+ char reboot_mode[2] = { 0 };
+
+ /* Reboot mode */
+
+ reboot_mode[0] = omap_reboot_mode();
+ if (reboot_mode[0] > 0 && isascii(reboot_mode[0])) {
+ if (!getenv("reboot-mode"))
+ setenv("reboot-mode", (char *)reboot_mode);
+
+ omap_reboot_mode_clear();
+ }
+
+ return 0;
+}
+
void set_muxconf_regs(void)
{
MUX_SNIPER();
diff --git a/include/configs/sniper.h b/include/configs/sniper.h
index bf788baaee..2ac9291c44 100644
--- a/include/configs/sniper.h
+++ b/include/configs/sniper.h
@@ -35,6 +35,7 @@
*/
#define CONFIG_SYS_GENERIC_BOARD
+#define CONFIG_MISC_INIT_R
/*
* Clocks
@@ -251,6 +252,8 @@
#define CONFIG_BOOTCOMMAND \
"setenv boot_mmc_part ${kernel_mmc_part}; " \
+ "if test reboot-${reboot-mode} = reboot-r; then " \
+ "echo recovery; setenv boot_mmc_part ${recovery_mmc_part}; fi; " \
"part start mmc ${boot_mmc_dev} ${boot_mmc_part} boot_mmc_start; " \
"part size mmc ${boot_mmc_dev} ${boot_mmc_part} boot_mmc_size; " \
"mmc dev ${boot_mmc_dev}; " \