unsigned char raw_header[8192];
const int SP09_MAX_PHASE_BUFF_SIZE = sizeof(SP09_PHASE_CHECK_T);
unsigned int g_charger_mode = 0;
+unsigned int g_recovery_mode = 0;
char serial_number_to_transfer[SP09_MAX_SN_LEN];
extern int charger_connected(void);
/* Tizen default cmdline: mem */
ptr += sprintf(ptr, CMDLINE_DEFAULT_TIZEN);
+#ifdef CONFIG_RAMDISK_BOOT
+ if (g_recovery_mode)
+ ptr += sprintf(ptr, " bootmode=recovery");
+
+ ptr += sprintf(ptr, " root=/dev/ram0 rw initrd=0x%x,%dM",
+ RAMDISK_ADR, RAMDISK_SIZE_MB);
+#else
val = tizen_get_part_num(PARTS_ROOTFS);
ptr += sprintf(ptr, " root=/dev/mmcblk0p%d ro rootfstype=ext4 rootwait", val);
+ ptr += sprintf(ptr, " initrd=0x%x,0x%x", RAMDISK_ADR, 0);
+#endif
ptr += sprintf(ptr, " lcd_id=ID%06x", load_lcd_id_to_kernel());
ptr += sprintf(ptr, " lcd_base=%x", CONFIG_FB_RAM_BASE);
- /* check ramdisk_size */
- ptr += sprintf(ptr, " initrd=0x%x,0x%x", RAMDISK_ADR, 0);
-
ptr += sprintf(ptr, " mtp_offset=%s", load_mtp_offset_to_kernel());
ptr += sprintf(ptr, " elvss_offset=0x%x", load_elvss_offset_to_kernel());
ptr += sprintf(ptr, " hbm_offset=%s", load_hbm_offset_to_kernel());
break;
case PM_STATE_NORMAL:
default:
- ptr += sprintf(ptr, " bootmode=normal");
+ if (!g_recovery_mode) {
+#ifdef CONFIG_RAMDISK_BOOT
+ ptr += sprintf(ptr, " bootmode=ramdisk");
+#else
+ ptr += sprintf(ptr, " bootmode=normal");
+#endif
+ }
}
thor_save_env("normal");
return 0;
}
+void set_recovery_mode(unsigned int recovery_mode)
+{
+ g_recovery_mode = recovery_mode;
+}
+
void lcd_display_logo(int backlight_set, ulong bmp_img, size_t size)
{
#define mdelay(t) ({unsigned long msec=(t); while (msec--) { udelay(1000);}}) //LiWei add