pm8921: Add support to disable rtc alarm

This patch adds an API to disable rtc alarm.

CRs-Fixed: 366311
Change-Id: Ibfb9df83cf806ee21de3dc7e8e0b67109ac932aa
diff --git a/dev/pmic/pm8921/include/dev/pm8921.h b/dev/pmic/pm8921/include/dev/pm8921.h
index 0426d42..715e474 100644
--- a/dev/pmic/pm8921/include/dev/pm8921.h
+++ b/dev/pmic/pm8921/include/dev/pm8921.h
@@ -155,4 +155,5 @@
 	unsigned int flash_ensel);
 int pm8921_low_voltage_switch_enable(uint8_t lvs_id);
 int pm8921_mpp_set_digital_output(uint8_t mpp_id);
+int pm8921_rtc_alarm_disable(void);
 #endif
diff --git a/dev/pmic/pm8921/pm8921.c b/dev/pmic/pm8921/pm8921.c
index b52bea1..1acc021 100644
--- a/dev/pmic/pm8921/pm8921.c
+++ b/dev/pmic/pm8921/pm8921.c
@@ -518,3 +518,24 @@
 
 	return ret;
 }
+
+int pm8921_rtc_alarm_disable(void)
+{
+	int rc;
+	uint8_t reg;
+
+	rc = dev->read(&reg, 1, PM8921_RTC_CTRL);
+	if (rc) {
+		dprintf(CRITICAL,"Failed to read RTC_CTRL reg = %d\n",rc);
+		return rc;
+	}
+	reg = (reg & ~PM8921_RTC_ALARM_ENABLE);
+
+	rc = dev->write(&reg, 1, PM8921_RTC_CTRL);
+	if (rc) {
+		dprintf(CRITICAL,"Failed to write RTC_CTRL reg = %d\n",rc);
+		return rc;
+	}
+
+	return rc;
+}
diff --git a/dev/pmic/pm8921/pm8921_hw.h b/dev/pmic/pm8921/pm8921_hw.h
index 02b01c6..bf43543 100644
--- a/dev/pmic/pm8921/pm8921_hw.h
+++ b/dev/pmic/pm8921/pm8921_hw.h
@@ -116,6 +116,9 @@
 #define PM8921_LVS_CTRL_REG(id)   (PM8921_LVS_REG_BASE + (2 * (id-1)))
 #define PM8921_LVS_TEST_REG(id)   (PM8921_LVS_CTRL_REG(id) + 1)
 
+#define PM8921_RTC_CTRL                  0x11D
+#define PM8921_RTC_ALARM_ENABLE          (1 << 1)
+
 #define PM8921_LVS_100_CTRL_SW_EN             (1 << 7)
 #define PM8921_LVS_100_CTRL_SLEEP_B_IGNORE    (1 << 4)
 #define PM8921_LVS_100_TEST_VOUT_OK           (1 << 6)