qcacmn: Fix for AR9887/AR9888 chips bringup

With the converged code swfit has issues in bringup.
Below changes are done to make it work.
1 Target type checks for AR9887/AR9888 corrected.
2 Added new reg write to wake the chip after enabling
  interrupts

Change-Id: Ib17d03cb4f0699d8d2270340b2c8a4002f0b31d0
CRs-Fixed: 1035003
diff --git a/hif/src/ce/ce_diag.c b/hif/src/ce/ce_diag.c
index c1ee743..2fe339c 100644
--- a/hif/src/ce/ce_diag.c
+++ b/hif/src/ce/ce_diag.c
@@ -185,7 +185,7 @@
 	if ((target_type == TARGET_TYPE_IPQ4019) ||
 	    (target_type == TARGET_TYPE_AR900B)  ||
 	    (target_type == TARGET_TYPE_QCA9984) ||
-	    (target_type == TARGET_TYPE_IPQ4019) ||
+	    (target_type == TARGET_TYPE_AR9888) ||
 	    (target_type == TARGET_TYPE_QCA9888))
 		boundary_addr = FW_SRAM_ADDRESS;
 	else
diff --git a/hif/src/pcie/if_pci.c b/hif/src/pcie/if_pci.c
index 0307894..97b6956 100644
--- a/hif/src/pcie/if_pci.c
+++ b/hif/src/pcie/if_pci.c
@@ -1856,7 +1856,7 @@
 	if ((target_type == TARGET_TYPE_AR900B)
 			|| (target_type == TARGET_TYPE_QCA9984)
 			|| (target_type == TARGET_TYPE_QCA9888)
-			|| (target_type == TARGET_TYPE_QCA9888)) {
+			|| (target_type == TARGET_TYPE_AR9888)) {
 		hif_set_hia_extnd(scn);
 	}
 
@@ -2327,6 +2327,7 @@
 {
 	int ret = 0;
 	struct hif_softc *scn = HIF_GET_SOFTC(sc);
+	uint32_t target_type = scn->target_info.target_type;
 
 	HIF_TRACE("%s: E", __func__);
 
@@ -2350,6 +2351,15 @@
 			       PCIE_INTR_ENABLE_ADDRESS));
 	hif_write32_mb(sc->mem + PCIE_LOCAL_BASE_ADDRESS +
 		      PCIE_SOC_WAKE_ADDRESS, PCIE_SOC_WAKE_RESET);
+
+	if ((target_type == TARGET_TYPE_IPQ4019) ||
+			(target_type == TARGET_TYPE_AR900B)  ||
+			(target_type == TARGET_TYPE_QCA9984) ||
+			(target_type == TARGET_TYPE_AR9888) ||
+			(target_type == TARGET_TYPE_QCA9888)) {
+		hif_write32_mb(scn->mem + PCIE_LOCAL_BASE_ADDRESS +
+				PCIE_SOC_WAKE_ADDRESS, PCIE_SOC_WAKE_V_MASK);
+	}
 end:
 	QDF_TRACE(QDF_MODULE_ID_HIF, QDF_TRACE_LEVEL_ERROR,
 			  "%s: X, ret = %d", __func__, ret);