dev: pmic: Add PM660 POFF read support
Add support to read Power OFF reason status register from
PM660 PON Base for SDM429w target.
Change-Id: I90c3cff28ef838facae5d32eaa0400a36cff6f26
Signed-off-by: Umang Agrawal <uagrawal@codeaurora.org>
diff --git a/dev/pmic/pm8x41/include/pm8x41.h b/dev/pmic/pm8x41/include/pm8x41.h
index 3f0a83d..b908b14 100644
--- a/dev/pmic/pm8x41/include/pm8x41.h
+++ b/dev/pmic/pm8x41/include/pm8x41.h
@@ -85,6 +85,7 @@
/*Target power off reasons*/
#define KPDPWR_AND_RESIN 32
#define STAGE3 128
+#define PM660_STAGE3 32
struct pm8x41_gpio {
int direction;
@@ -234,6 +235,8 @@
uint8_t pm660_get_pon_reason();
uint8_t pm8950_get_pon_reason();
uint8_t pmi632_get_pon_reason();
+uint8_t pm660_get_pon_poff_reason1();
+uint8_t pm660_get_pon_poff_reason2();
uint8_t pm8x41_get_pon_poff_reason1();
uint8_t pm8x41_get_pon_poff_reason2();
uint32_t pm8x41_get_pwrkey_is_pressed();
diff --git a/dev/pmic/pm8x41/include/pm8x41_hw.h b/dev/pmic/pm8x41/include/pm8x41_hw.h
index d719243..14f693b 100644
--- a/dev/pmic/pm8x41/include/pm8x41_hw.h
+++ b/dev/pmic/pm8x41/include/pm8x41_hw.h
@@ -71,6 +71,8 @@
#define PON_PON_REASON1 0x808
#define PM660_PON_REASON1 0x8C0
#define PM660_PON_WARMBOOT_STATUS1 0x8C2
+#define PM660_PON_POFF_REASON1 0x8C5
+#define PM660_PON_POFF_REASON2 0x8C7
#define PON_WARMBOOT_STATUS1 0x80A
#define PON_WARMBOOT_STATUS2 0x80B
#define PON_POFF_REASON1 0x80C
diff --git a/dev/pmic/pm8x41/pm8x41.c b/dev/pmic/pm8x41/pm8x41.c
index 6575f95..fb6e180 100644
--- a/dev/pmic/pm8x41/pm8x41.c
+++ b/dev/pmic/pm8x41/pm8x41.c
@@ -671,6 +671,16 @@
return pon_reason;
}
+uint8_t pm660_get_pon_poff_reason1()
+{
+ return REG_READ(PM660_PON_POFF_REASON1);
+}
+
+uint8_t pm660_get_pon_poff_reason2()
+{
+ return REG_READ(PM660_PON_POFF_REASON2);
+}
+
uint8_t pm8x41_get_pon_poff_reason1()
{
return REG_READ(PON_POFF_REASON1);