msm: gsi: driver upgrade for gsi version 1.2 and 1.3

Add support to handle different HW versions on the driver.
Update register/sequences per HPG.

Change-Id: Ibb6b1ce3a035260edbba61c2a443bbda09b17cee
CRs-Fixed: 1019773
Acked-by: Ady Abraham <adya@qti.qualcomm.com>
Signed-off-by: Skylar Chang <chiaweic@codeaurora.org>
Signed-off-by: Gidon Studinski <gidons@codeaurora.org>
Signed-off-by: Amir Levy <alevy@codeaurora.org>
diff --git a/include/linux/msm_gsi.h b/include/linux/msm_gsi.h
index c95a529..fb2607d 100644
--- a/include/linux/msm_gsi.h
+++ b/include/linux/msm_gsi.h
@@ -13,6 +13,14 @@
 #define MSM_GSI_H
 #include <linux/types.h>
 
+enum gsi_ver {
+	GSI_VER_ERR = 0,
+	GSI_VER_1_0 = 1,
+	GSI_VER_1_2 = 2,
+	GSI_VER_1_3 = 3,
+	GSI_VER_MAX,
+};
+
 enum gsi_status {
 	GSI_STATUS_SUCCESS = 0,
 	GSI_STATUS_ERROR = 1,
@@ -65,6 +73,7 @@
 /**
  * gsi_per_props - Peripheral related properties
  *
+ * @gsi:        GSI core version
  * @ee:         EE where this driver and peripheral driver runs
  * @intr:       control interrupt type
  * @intvec:     write data for MSI write
@@ -87,6 +96,7 @@
  *
  */
 struct gsi_per_props {
+	enum gsi_ver ver;
 	unsigned int ee;
 	enum gsi_intr_type intr;
 	uint32_t intvec;