hc
2023-12-11 6778948f9de86c3cfaf36725a7c87dcff9ba247f
kernel/drivers/rtc/rtc-rk808.c
....@@ -28,6 +28,7 @@
2828 #define BIT_RTC_CTRL_REG_RTC_READSEL_M BIT(7)
2929 #define BIT_RTC_INTERRUPTS_REG_IT_ALARM_M BIT(3)
3030 #define RTC_STATUS_MASK 0xFE
31
+#define RTC_ALARM_STATUS BIT(6)
3132
3233 #define SECONDS_REG_MSK 0x7F
3334 #define MINUTES_REG_MAK 0x7F
....@@ -248,6 +249,12 @@
248249 ret = regmap_update_bits(rk808->regmap, rk808_rtc->creg->int_reg,
249250 BIT_RTC_INTERRUPTS_REG_IT_ALARM_M, 0);
250251
252
+ /*
253
+ * The rtc alarm status(BIT(6)) must be cleared after alarm 1s or
254
+ * after the alarm is disabled.
255
+ */
256
+ ret = regmap_write(rk808->regmap, rk808_rtc->creg->status_reg,
257
+ RTC_ALARM_STATUS);
251258 return ret;
252259 }
253260