board-8960: Add HSUSB PHY Init Sequeunce for SGLTE Platform

Due to availability of Switch on SGLTE Platform to route Modem
or 8960 HSUSB signals on same port, few compliance test like device
mode eye diagram test and EL_27 are failing. Hence it is required to
have different HSUSB PHY setting than 8960. Add HSUSB PHY setting
recommended for SGLTE Platform which is fixing above mentioned
compliance failure.

CRs-Fixed: 385128
CRs-Fixed: 385133
Change-Id: I8b2a56db337af1c3a3ef87a71097c136a19f30da
Signed-off-by: Mayank Rana <mrana@codeaurora.org>
(cherry picked from commit a61da7a6df9c0d477625e3736a4b2c9b18215f8f)

Signed-off-by: Sudhir Sharma <sudsha@codeaurora.org>
diff --git a/arch/arm/mach-msm/board-8960.c b/arch/arm/mach-msm/board-8960.c
index 1c9637e..003f5c0 100644
--- a/arch/arm/mach-msm/board-8960.c
+++ b/arch/arm/mach-msm/board-8960.c
@@ -1447,6 +1447,14 @@
 	0x23, 0x83,/* set source impedance sdjusment */
 	-1};
 
+static int sglte_phy_init_seq[] = {
+	0x44, 0x80, /* set VBUS valid threshold
+			and disconnect valid threshold */
+	0x3A, 0x81, /* update DC voltage level */
+	0x24, 0x82, /* set preemphasis and rise/fall time */
+	0x13, 0x83, /* set source impedance adjusment */
+	-1};
+
 #ifdef CONFIG_MSM_BUS_SCALING
 /* Bandwidth requests (zero) if no vote placed */
 static struct msm_bus_vectors usb_init_vectors[] = {
@@ -3094,7 +3102,14 @@
 	msm8960_device_otg.dev.platform_data = &msm_otg_pdata;
 	if (machine_is_msm8960_mtp() || machine_is_msm8960_fluid() ||
 		machine_is_msm8960_cdp()) {
-		msm_otg_pdata.phy_init_seq = wr_phy_init_seq;
+		/* Due to availability of USB Switch in SGLTE Platform
+		 * it requires different HSUSB PHY settings compare to
+		 * 8960 MTP/CDP platform.
+		 */
+		if (socinfo_get_platform_subtype() == PLATFORM_SUBTYPE_SGLTE)
+			msm_otg_pdata.phy_init_seq = sglte_phy_init_seq;
+		else
+			msm_otg_pdata.phy_init_seq = wr_phy_init_seq;
 	} else if (machine_is_msm8960_liquid()) {
 			msm_otg_pdata.phy_init_seq =
 				liquid_v1_phy_init_seq;