.. | .. |
---|
28 | 28 | #define BIT_RTC_CTRL_REG_RTC_READSEL_M BIT(7) |
---|
29 | 29 | #define BIT_RTC_INTERRUPTS_REG_IT_ALARM_M BIT(3) |
---|
30 | 30 | #define RTC_STATUS_MASK 0xFE |
---|
| 31 | +#define RTC_ALARM_STATUS BIT(6) |
---|
31 | 32 | |
---|
32 | 33 | #define SECONDS_REG_MSK 0x7F |
---|
33 | 34 | #define MINUTES_REG_MAK 0x7F |
---|
.. | .. |
---|
248 | 249 | ret = regmap_update_bits(rk808->regmap, rk808_rtc->creg->int_reg, |
---|
249 | 250 | BIT_RTC_INTERRUPTS_REG_IT_ALARM_M, 0); |
---|
250 | 251 | |
---|
| 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); |
---|
251 | 258 | return ret; |
---|
252 | 259 | } |
---|
253 | 260 | |
---|