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;