msm8660: Add support to detect platform subtype

board_info v5 does not always detect fused chip correctly.
As a result board_info v6 has new entries to detect platform
subtype and thats what we want to use eventually.

Adding support for board_info v6 structure, while maintining
support for board_info v5 for the time being.

Change-Id: I46447edd561f1d9e306741f0113c3e2ef17ae3e1
Signed-off-by: Ajay Dudani <adudani@codeaurora.org>
diff --git a/platform/msm_shared/smem.h b/platform/msm_shared/smem.h
index 541ffbc..71da345 100644
--- a/platform/msm_shared/smem.h
+++ b/platform/msm_shared/smem.h
@@ -99,6 +99,15 @@
     unsigned fused_chip;
 };
 
+struct smem_board_info_v6
+{
+    struct smem_board_info_v3 board_info_v3;
+    unsigned platform_version;
+    unsigned fused_chip;
+    unsigned platform_subtype;
+    unsigned buffer_align; //Need for 8 bytes alignment while reading from shared memory.
+};
+
 /* chip information */
 enum {
     UNKNOWN = 0,
@@ -120,6 +129,15 @@
     HW_PLATFORM_32BITS  = 0x7FFFFFFF
 };
 
+enum platform_subtype
+{
+    HW_PLATFORM_SUBTYPE_UNKNOWN = 0,
+    HW_PLATFORM_SUBTYPE_CSFB    = 1,
+    HW_PLATFORM_SUBTYPE_SVLTE1  = 2,
+    HW_PLATFORM_SUBTYPE_SVLTE2A = 3,
+    HW_PLATFORM_SUBTYPE_32BITS  = 0x7FFFFFFF
+};
+
 
 typedef enum {
 	SMEM_SPINLOCK_ARRAY = 7,