target: init: Fix battery detection for PMI632
Add PMI slave offset to BATTERY_STATUS register address to
allow proper reading of battery present status for PMI632.
Change-Id: Id457e96c7e22eb0d64799607014e149b0b59b755
Signed-off-by: Umang Agrawal <uagrawal@codeaurora.org>
diff --git a/target/init.c b/target/init.c
index b842eaf..e8189cc 100644
--- a/target/init.c
+++ b/target/init.c
@@ -435,7 +435,6 @@
}
break;
case PMIC_IS_PM660:
- case PMIC_IS_PMI632:
value = REG_READ(BAT_IF_INT_RT_STS);
/* If BAT_TERMINAL_MISSING_RT_STS BIT(5) or BAT_THERM_OR_ID_MISSING_RT_STS BIT(4)
are set, battery is not present. */
@@ -444,6 +443,15 @@
else
return true;
break;
+ case PMIC_IS_PMI632:
+ value = REG_READ(PMIC_SLAVE_ID|BAT_IF_INT_RT_STS);
+ /* If BAT_TERMINAL_MISSING_RT_STS BIT(5) or BAT_THERM_OR_ID_MISSING_RT_STS BIT(4)
+ are set, battery is not present. */
+ if (value & (BIT(5) | BIT(4)))
+ return false;
+ else
+ return true;
+ break;
default:
dprintf(CRITICAL, "ERROR: Couldn't get the pmic type\n");
break;