hc
2023-11-06 e3e12f52b214121840b44c91de5b3e5af5d3eb84
kernel/drivers/rtc/rtc-rk808.c
....@@ -36,6 +36,7 @@
3636 #define BIT_RTC_CTRL_REG_RTC_READSEL_M BIT(7)
3737 #define BIT_RTC_INTERRUPTS_REG_IT_ALARM_M BIT(3)
3838 #define RTC_STATUS_MASK 0xFE
39
+#define RTC_ALARM_STATUS BIT(6)
3940
4041 #define SECONDS_REG_MSK 0x7F
4142 #define MINUTES_REG_MAK 0x7F
....@@ -258,6 +259,12 @@
258259 ret = regmap_update_bits(rk808->regmap, rk808_rtc->creg->int_reg,
259260 BIT_RTC_INTERRUPTS_REG_IT_ALARM_M, 0);
260261
262
+ /*
263
+ * The rtc alarm status(BIT(6)) must be cleared after alarm 1s or
264
+ * after the alarm is disabled.
265
+ */
266
+ ret = regmap_write(rk808->regmap, rk808_rtc->creg->status_reg,
267
+ RTC_ALARM_STATUS);
261268 return ret;
262269 }
263270