lk: Add eMMC boot support
diff --git a/target/msm7630_surf/init.c b/target/msm7630_surf/init.c
index 35332ca..8879282 100644
--- a/target/msm7630_surf/init.c
+++ b/target/msm7630_surf/init.c
@@ -90,6 +90,9 @@
 
 void keypad_init(void);
 
+static int emmc_boot = -1;  /* set to uninitialized */
+int target_is_emmc_boot(void);
+
 void target_init(void)
 {
 	unsigned offset;
@@ -101,6 +104,9 @@
 	keys_init();
 	keypad_init();
 
+	if (target_is_emmc_boot())
+		return;
+
 	ptable_init(&flash_ptable);
 	smem_ptable_init();
 
@@ -157,3 +163,25 @@
     }
     return LINUX_MACHTYPE_SURF;
 }
+
+int target_is_emmc_boot(void)
+{
+    struct smem_board_info board_info;
+    unsigned int board_info_struct_len = sizeof(board_info);
+    unsigned smem_status;
+
+    if (emmc_boot != -1) return emmc_boot;
+
+    emmc_boot = 0;
+
+    smem_status = smem_read_alloc_entry(SMEM_BOARD_INFO_LOCATION,
+					&board_info, board_info_struct_len );
+    if(!smem_status)
+    {
+        /* Success retrieving build info */
+        if ('S' == *((char *)board_info.build_id + 13))
+            emmc_boot = 1;
+    }
+
+    return emmc_boot;
+}