tizen: add recovery boot mode
[profile/mobile/platform/kernel/u-boot-tm1.git] / property / cmd_cboot.c
old mode 100755 (executable)
new mode 100644 (file)
index 968bbfe..663ad2d
@@ -230,6 +230,7 @@ boot_mode_enum_type  get_mode_from_gpio_extend(void){
 
 #ifdef CONFIG_TIZEN
 extern int tizen_reboot_check(void);
+extern int tizen_reboot_recovery_check(void);
 #endif
 
 int do_cboot(cmd_tbl_t *cmdtp, int flag, int argc, char *const argv[])
@@ -290,6 +291,13 @@ int do_cboot(cmd_tbl_t *cmdtp, int flag, int argc, char *const argv[])
                if (tizen_reboot_check()) {
                        bootmode = CMD_THOR_MODE;
                        DBG("do_cboot:boot mode is %d\n",bootmode);
+               } else if (tizen_reboot_recovery_check()) {
+#ifdef CONFIG_RAMDISK_BOOT
+                       bootmode = CMD_RECOVERY_MODE;
+#else
+                       bootmode = CMD_NORMAL_MODE;
+#endif
+                       DBG("do_cboot:boot mode is %d\n",bootmode);
                }
 
        }
@@ -319,6 +327,9 @@ int do_cboot(cmd_tbl_t *cmdtp, int flag, int argc, char *const argv[])
 
     cmd_mode_regist(boot_mode_array);
     if((bootmode > CMD_POWER_DOWN_DEVICE) && (0 != boot_mode_array[bootmode])){
+       /* goto main_loop() if any input is hit from console */
+       if (tstc())
+               return 0;
         DBG("do_cboot: enter boot mode\n");
         boot_mode_array[bootmode]();
     }else{