soc: qcom: pil: Add support for qdsp v62.1.4 reset sequence

Update modem pil reset sequence to support qdspv62-1-4 for sdxgrizzly
and sdxhedgehog.

Change-Id: I1f4f71d1ca24f8b740bc4d3e7cb4d9d85e16b856
Signed-off-by: Puja Gupta <pujag@codeaurora.org>
diff --git a/Documentation/devicetree/bindings/pil/pil-q6v5-mss.txt b/Documentation/devicetree/bindings/pil/pil-q6v5-mss.txt
index ae1a2ad..f842ed6 100644
--- a/Documentation/devicetree/bindings/pil/pil-q6v5-mss.txt
+++ b/Documentation/devicetree/bindings/pil/pil-q6v5-mss.txt
@@ -79,6 +79,7 @@
 				    current issue.
 - qcom,qdsp6v61-1-1: Boolean- Present if the qdsp version is v61 1.1
 - qcom,qdsp6v62-1-2: Boolean- Present if the qdsp version is v62 1.2
+- qcom,qdsp6v62-1-4: Boolean- Present if the qdsp version is v62 1.4
 - qcom,qdsp6v62-1-5: Boolean- Present if the qdsp version is v62 1.5
 - qcom,qdsp6v65-1-0: Boolean- Present if the qdsp version is v65 1.0
 - qcom,mx-spike-wa: Boolean- Present if we need to assert QDSP6 I/O clamp, memory
diff --git a/drivers/soc/qcom/pil-q6v5.c b/drivers/soc/qcom/pil-q6v5.c
index ee528f8..12de1e1 100644
--- a/drivers/soc/qcom/pil-q6v5.c
+++ b/drivers/soc/qcom/pil-q6v5.c
@@ -435,7 +435,7 @@
 	mb();
 	udelay(1);
 
-	if (drv->qdsp6v62_1_2 || drv->qdsp6v62_1_5) {
+	if (drv->qdsp6v62_1_2 || drv->qdsp6v62_1_5 || drv->qdsp6v62_1_4) {
 		for (i = BHS_CHECK_MAX_LOOPS; i > 0; i--) {
 			if (readl_relaxed(drv->reg_base + QDSP6V62SS_BHS_STATUS)
 			    & QDSP6v55_BHS_EN_REST_ACK)
@@ -536,7 +536,7 @@
 			udelay(1);
 		}
 	} else if (drv->qdsp6v61_1_1 || drv->qdsp6v62_1_2 ||
-						drv->qdsp6v62_1_5) {
+			drv->qdsp6v62_1_4 || drv->qdsp6v62_1_5) {
 		/* Deassert QDSP6 compiler memory clamp */
 		val = readl_relaxed(drv->reg_base + QDSP6SS_PWR_CTL);
 		val &= ~QDSP6v55_CLAMP_QMC_MEM;
@@ -550,7 +550,7 @@
 		val = readl_relaxed(drv->reg_base +
 				QDSP6V6SS_MEM_PWR_CTL);
 
-		if (drv->qdsp6v62_1_5)
+		if (drv->qdsp6v62_1_4 || drv->qdsp6v62_1_5)
 			i = 29;
 		else
 			i = 28;
@@ -721,6 +721,9 @@
 	drv->qdsp6v62_1_2 = of_property_read_bool(pdev->dev.of_node,
 						"qcom,qdsp6v62-1-2");
 
+	drv->qdsp6v62_1_4 = of_property_read_bool(pdev->dev.of_node,
+						"qcom,qdsp6v62-1-4");
+
 	drv->qdsp6v62_1_5 = of_property_read_bool(pdev->dev.of_node,
 						"qcom,qdsp6v62-1-5");
 
diff --git a/drivers/soc/qcom/pil-q6v5.h b/drivers/soc/qcom/pil-q6v5.h
index 7f7bb97..49aee97 100644
--- a/drivers/soc/qcom/pil-q6v5.h
+++ b/drivers/soc/qcom/pil-q6v5.h
@@ -63,6 +63,7 @@
 	bool qdsp6v56_1_10;
 	bool qdsp6v61_1_1;
 	bool qdsp6v62_1_2;
+	bool qdsp6v62_1_4;
 	bool qdsp6v62_1_5;
 	bool qdsp6v65_1_0;
 	bool non_elf_image;