msm8660: Add support to detect 8660 charm target

Read socinfo to detect if target is a charm target. Use this
information along with hardware platform information to use the
right machine id for Linux kernel.

Change-Id: Ibf536f8f0a6e44e99336d6d054f9fda588a58608
diff --git a/platform/msm_shared/smem.h b/platform/msm_shared/smem.h
index 98697e4..2b404f7 100644
--- a/platform/msm_shared/smem.h
+++ b/platform/msm_shared/smem.h
@@ -82,14 +82,39 @@
     unsigned buffer_align; //Need for 8 bytes alignment while reading from shared memory.
 };
 
+struct smem_board_info_v5
+{
+    struct smem_board_info_v3 board_info_v3;
+    unsigned platform_version;
+    unsigned fused_chip;
+};
+
+/* chip information */
+enum {
+    UNKNOWN = 0,
+    MDM9200 = 57,
+    MDM9600 = 58,
+};
+
+enum platform
+{
+    HW_PLATFORM_UNKNOWN = 0,
+    HW_PLATFORM_SURF    = 1,
+    HW_PLATFORM_FFA     = 2,
+    HW_PLATFORM_FLUID   = 3,
+    HW_PLATFORM_SVLTE   = 4,
+    HW_PLATFORM_32BITS  = 0x7FFFFFFF
+};
+
+
 typedef enum {
 	SMEM_SPINLOCK_ARRAY = 7,
 
 	SMEM_AARM_PARTITION_TABLE = 9,
 
-        SMEM_APPS_BOOT_MODE = 106,
+	SMEM_APPS_BOOT_MODE = 106,
 
-        SMEM_BOARD_INFO_LOCATION = 137,
+	SMEM_BOARD_INFO_LOCATION = 137,
 
 	SMEM_USABLE_RAM_PARTITION_TABLE = 402,